Index: btkb/output/eeprom.dat
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/btkb/output/eeprom.dat	(revision 4936)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/btkb/output/eeprom.dat	(working copy)
@@ -6862,7 +6862,7 @@
 01
 aa
 55
-ee
+eb
 01
 04
 45
@@ -6909,12 +6909,9 @@
 00
 00
 2a
-0e
+0b
 42
 54
-34
-2e
-32
 20
 4b
 65
@@ -7965,7 +7962,7 @@
 aa
 aa
 55
-eb
+51
 33
-60
-8d
+ab
+b8
Index: btkb/output/sched.rom
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/btkb/output/sched.rom	(revision 4914)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/btkb/output/sched.rom	(working copy)
@@ -120,7 +120,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT4.2 Keyboard
+'BT Keyboard
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
Index: btkb/sched/kb.dat
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/btkb/sched/kb.dat	(revision 4914)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/btkb/sched/kb.dat	(working copy)
@@ -120,7 +120,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT4.2 Keyboard
+'BT Keyboard
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
Index: c51/kb_process.c
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/kb_process.c	(revision 4936)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/kb_process.c	(working copy)
@@ -559,9 +559,11 @@
 				g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
 				if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
 				{
+					LED_device_poweron();
 					g_variable.button_24G_rec_flag = 1;
 					g_variable.current_device_num =0;
-					g_variable.powerOn_timer = 0;
+					System_clear_timer_status();
+
 
 				}
 				return 1;
@@ -642,6 +644,44 @@
 			temp = HID_KEY_NULL;
 		}
 	}
+	switch (key_value)
+		{ 			
+			case HID_KEY_COPY:
+				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
+				{
+					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_C);				
+				}
+				else
+				{
+					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_C);
+				}
+				temp = HID_KEY_NULL;
+				break;	
+			case HID_KEY_PASTE:
+				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
+				{
+					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_V);
+				}
+				else
+				{
+					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_V);
+				}
+				temp = HID_KEY_NULL;
+				break;	
+			case HID_KEY_CUT:
+				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
+				{
+					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_X);
+				}
+				else
+				{
+					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_X);
+				}
+				temp = HID_KEY_NULL;
+				break;
+			default :
+				break;	
+		}
 	if(fn_flag == 1)			// Fn lock
 	{
 		if((key_value == HID_KEY_Q) || (key_value == HID_KEY_W) || (key_value == HID_KEY_E)|| (key_value == HID_KEY_R))
@@ -690,7 +730,7 @@
 					}
 				}
 				temp = HID_KEY_NULL;
-			}		
+			}					
 	}
 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
 	{
@@ -735,19 +775,11 @@
 			case HID_KEY_F5:
 				if(g_variable.system_mode == OSMODE_WINDOWS)
 				{
-					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_Z);
-					if(state & 1)
-					{						
-						g_variable.one_key_press_wait_release_timer = 10;
-					}	
+					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_Z);	
 				}
 				else
 				{
-					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_Z);
-					if(state & 1)
-					{						
-						g_variable.one_key_press_wait_release_timer = 10;
-					}					
+					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_Z);				
 				}
 				temp = HID_KEY_NULL;
 				break;
@@ -771,40 +803,7 @@
 				break;
 			case HID_KEY_F12:
 				temp = HID_MULTIKEY_VOL_UP;
-				break;
-			case HID_KEY_COPY:
-				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
-				{
-					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_C);				
-				}
-				else
-				{
-					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_C);
-				}
-				temp = HID_KEY_NULL;
-				break;	
-			case HID_KEY_PASTE:
-				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
-				{
-					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_V);
-				}
-				else
-				{
-					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_V);
-				}
-				temp = HID_KEY_NULL;
-				break;	
-			case HID_KEY_CUT:
-				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
-				{
-					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_X);
-				}
-				else
-				{
-					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_X);
-				}
-				temp = HID_KEY_NULL;
-				break;					
+				break;			
 			default :
 				break;
 		}
Index: c51/output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/FW.COD
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/FW.COD	(revision 4936)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               08/02/2022  14:05:19  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               08/03/2022  17:30:28  PAGE 1
 
 
 
@@ -1172,7 +1172,7 @@
 000CD1 904E7D            MOV     DPTR,#len
 000CD4 E0                MOVX    A,@DPTR
 000CD5 FD                MOV     R5,A
-000CD6 123590            LCALL   _IPC_TxBleData
+000CD6 123598            LCALL   _IPC_TxBleData
   142: 
   143: 	}
 000CD9         ?C0033?KB_PROCESS:
@@ -1266,7 +1266,7 @@
 000D3C 904E7D            MOV     DPTR,#len
 000D3F E0                MOVX    A,@DPTR
 000D40 FD                MOV     R5,A
-000D41 123580            LCALL   _IPC_Tx24GData
+000D41 123588            LCALL   _IPC_Tx24GData
   171: 	}
   172: }
 000D44         ?C0031?KB_PROCESS:
@@ -1756,12 +1756,12 @@
 000F33 A3                INC     DPTR
 000F34 F0                MOVX    @DPTR,A
   290: 	if (!IPC_IsTxBuffEmpty())
-000F35 1235B6            LCALL   IPC_IsTxBuffEmpty
+000F35 1235BE            LCALL   IPC_IsTxBuffEmpty
 000F38 5025              JNC     ?C0055?KB_PROCESS
 000F3A         ?C0054?KB_PROCESS:
   291: 		return;
   292: 	pEvt = KS_GetCurrentEvt();
-000F3A 12289F            LCALL   KS_GetCurrentEvt
+000F3A 1228A7            LCALL   KS_GetCurrentEvt
 000F3D 904EE0            MOV     DPTR,#pEvt
 000F40 EB                MOV     A,R3
 000F41 F0                MOVX    @DPTR,A
@@ -1860,17 +1860,17 @@
   840: {
   841: 
   842: 	kb_cb_init();
-000F9C 122FFF            LCALL   kb_cb_init
+000F9C 123007            LCALL   kb_cb_init
 000F9F         ?C0163?SYS:
   843: 	while(1) {
   844: 		IPC_DealSingleStep();
-000F9F 123350            LCALL   IPC_DealSingleStep
+000F9F 123358            LCALL   IPC_DealSingleStep
   845: 		kb_need_keyscan();
 000FA2 B17F              ACALL   kb_need_keyscan
   846: 		YC_update_eeprom_data();
 000FA4 121C6D            LCALL   YC_update_eeprom_data
   847: 		LED_handle();
-000FA7 1210FD            LCALL   LED_handle
+000FA7 121148            LCALL   LED_handle
   848: #ifdef PC_SLEEP_STATUS_GET		
   849: 		if(m_pc_sleep_flag)
 000FAA 904D7D            MOV     DPTR,#m_pc_sleep_flag
@@ -1892,7 +1892,7 @@
   855: 		case FIX_ENTER_HIBERNATE:
 000FBD         ?C0167?SYS:
   856: 			KS_Unistall();
-000FBD 122CCD            LCALL   KS_Unistall
+000FBD 122CD5            LCALL   KS_Unistall
   857: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
   858: 			LED_all_shutdown();
 000FC0 1217F6            LCALL   LED_all_shutdown
@@ -1923,7 +1923,7 @@
   865: 			) 
   866: 			{
   867: 				IPC_AbandonLpm();
-000FDF 1235AA            LCALL   IPC_AbandonLpm
+000FDF 1235B2            LCALL   IPC_AbandonLpm
   868: 				break;
 000FE2 80BB              SJMP    ?C0163?SYS
   869: 			}
@@ -1931,7 +1931,7 @@
   870: 			else
   871: 			{
   872: 				KS_Unistall();
-000FE4 122CCD            LCALL   KS_Unistall
+000FE4 122CD5            LCALL   KS_Unistall
   873: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
 000FE7 F1EE              ACALL   IPC_WaitLpm
   874: 				break;
@@ -2209,153 +2209,222 @@
 ----- FUNCTION _GPIO_Setout (END) -------
 
 
+----- FUNCTION LED_device_poweron (BEGIN) -----
+ FILE: 'led.c'
+   15: void LED_device_poweron()
+   16: {
+   17: 
+   18: 
+   19: 		if(g_variable.current_device_num == 1)
+0010FD 904CC3            MOV     DPTR,#g_variable+04H
+001100 E0                MOVX    A,@DPTR
+001101 B40112            CJNE    A,#01H,?C0002?LED
+   20: 		{
+   21: 			GPIO_Setout(BT_LED_GPIO,LED_ON);
+001104 D201              SETB    ?_GPIO_Setout?BIT
+001106 7F1F              MOV     R7,#01FH
+001108 11EB              ACALL   _GPIO_Setout
+   22: 			GPIO_Setout(BT2_LED_GPIO,LED_OFF);
+00110A C201              CLR     ?_GPIO_Setout?BIT
+00110C 7F1E              MOV     R7,#01EH
+00110E 11EB              ACALL   _GPIO_Setout
+   23: 			GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
+001110 C201              CLR     ?_GPIO_Setout?BIT
+001112 7F14              MOV     R7,#014H
+001114 80D5              SJMP    _GPIO_Setout
+   24: 		}	
+001116         ?C0002?LED:
+   25: 		else if(g_variable.current_device_num == 2)
+001116 904CC3            MOV     DPTR,#g_variable+04H
+001119 E0                MOVX    A,@DPTR
+00111A B40212            CJNE    A,#02H,?C0004?LED
+   26: 		{
+   27: 			GPIO_Setout(BT_LED_GPIO,LED_OFF);
+00111D C201              CLR     ?_GPIO_Setout?BIT
+00111F 7F1F              MOV     R7,#01FH
+001121 11EB              ACALL   _GPIO_Setout
+   28: 			GPIO_Setout(BT2_LED_GPIO,LED_ON);
+001123 D201              SETB    ?_GPIO_Setout?BIT
+001125 7F1E              MOV     R7,#01EH
+001127 11EB              ACALL   _GPIO_Setout
+   29: 			GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
+001129 C201              CLR     ?_GPIO_Setout?BIT
+00112B 7F14              MOV     R7,#014H
+00112D 80BC              SJMP    _GPIO_Setout
+   30: 		}
+00112F         ?C0004?LED:
+   31: 		else if(g_variable.current_device_num == 0)
+00112F 904CC3            MOV     DPTR,#g_variable+04H
+001132 E0                MOVX    A,@DPTR
+001133 7012              JNZ     ?C0007?LED
+   32: 		{
+   33: 			GPIO_Setout(BT_LED_GPIO,LED_OFF);
+001135 C201              CLR     ?_GPIO_Setout?BIT
+001137 7F1F              MOV     R7,#01FH
+001139 11EB              ACALL   _GPIO_Setout
+   34: 			GPIO_Setout(BT2_LED_GPIO,LED_OFF);
+00113B C201              CLR     ?_GPIO_Setout?BIT
+00113D 7F1E              MOV     R7,#01EH
+00113F 11EB              ACALL   _GPIO_Setout
+   35: 			GPIO_Setout(LOWPOWER_LED_GPIO,LED_ON);
+001141 D201              SETB    ?_GPIO_Setout?BIT
+001143 7F14              MOV     R7,#014H
+001145 11EB              ACALL   _GPIO_Setout
+   36: 		}
+   37: 	
+   38: }
+001147         ?C0007?LED:
+001147 22                RET     
+----- FUNCTION LED_device_poweron (END) -------
+
+
 ----- FUNCTION LED_handle (BEGIN) -----
  FILE: 'led.c'
    54: void LED_handle()
    55: {
    56: 	if (power_on_flag != 2)
    57: 		return;
-0010FD 904DEB            MOV     DPTR,#power_on_flag
-001100 E0                MOVX    A,@DPTR
-001101 6402              XRL     A,#02H
-001103 6002              JZ      $ + 4H
-001105 21A4              AJMP    ?C0015?LED
-001107         ?C0014?LED:
+001148 904DEB            MOV     DPTR,#power_on_flag
+00114B E0                MOVX    A,@DPTR
+00114C 6402              XRL     A,#02H
+00114E 6002              JZ      $ + 4H
+001150 21EF              AJMP    ?C0015?LED
+001152         ?C0014?LED:
    58: 
    59: 	if(!g_variable.pairing_timeout && !g_variable.pairing_g24_timeout)
-001107 904CE9            MOV     DPTR,#g_variable+02AH
-00110A E0                MOVX    A,@DPTR
-00110B 6002              JZ      $ + 4H
-00110D 219E              AJMP    ?C0016?LED
-00110F 904CEE            MOV     DPTR,#g_variable+02FH
-001112 E0                MOVX    A,@DPTR
-001113 6002              JZ      $ + 4H
-001115 219E              AJMP    ?C0016?LED
+001152 904CE9            MOV     DPTR,#g_variable+02AH
+001155 E0                MOVX    A,@DPTR
+001156 6002              JZ      $ + 4H
+001158 21E9              AJMP    ?C0016?LED
+00115A 904CEE            MOV     DPTR,#g_variable+02FH
+00115D E0                MOVX    A,@DPTR
+00115E 6002              JZ      $ + 4H
+001160 21E9              AJMP    ?C0016?LED
    60: 	{
    61: 		//low battery LED process
    62: 		if (g_variable.battery_status == BAT_STATUS_SHUT_DOWN)
-001117 904CD5            MOV     DPTR,#g_variable+016H
-00111A E0                MOVX    A,@DPTR
-00111B B40204            CJNE    A,#02H,?C0017?LED
+001162 904CD5            MOV     DPTR,#g_variable+016H
+001165 E0                MOVX    A,@DPTR
+001166 B40204            CJNE    A,#02H,?C0017?LED
    63: 		{
    64: 			System_long_sleep();
-00111E F185              ACALL   System_long_sleep
+001169 F185              ACALL   System_long_sleep
    65: 		}
-001120 802E              SJMP    ?C0018?LED
-001122         ?C0017?LED:
+00116B 802E              SJMP    ?C0018?LED
+00116D         ?C0017?LED:
    66: 		else if (g_variable.battery_status == BAT_STATUS_LOW)
-001122 904CD5            MOV     DPTR,#g_variable+016H
-001125 E0                MOVX    A,@DPTR
-001126 B40114            CJNE    A,#01H,?C0019?LED
+00116D 904CD5            MOV     DPTR,#g_variable+016H
+001170 E0                MOVX    A,@DPTR
+001171 B40114            CJNE    A,#01H,?C0019?LED
    67: 		{
    68: 			if (g_variable.battery_low_led_flash_flag == 0)
-001129 904CF7            MOV     DPTR,#g_variable+038H
-00112C E0                MOVX    A,@DPTR
-00112D 7021              JNZ     ?C0018?LED
+001174 904CF7            MOV     DPTR,#g_variable+038H
+001177 E0                MOVX    A,@DPTR
+001178 7021              JNZ     ?C0018?LED
    69: 			{
    70: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-00112F 904CE2            MOV     DPTR,#g_variable+023H
-001132 740A              MOV     A,#0AH
-001134 F0                MOVX    @DPTR,A
+00117A 904CE2            MOV     DPTR,#g_variable+023H
+00117D 740A              MOV     A,#0AH
+00117F F0                MOVX    @DPTR,A
    71: 				g_variable.battery_low_led_flash_flag = 1;
-001135 904CF7            MOV     DPTR,#g_variable+038H
-001138 7401              MOV     A,#01H
-00113A F0                MOVX    @DPTR,A
+001180 904CF7            MOV     DPTR,#g_variable+038H
+001183 7401              MOV     A,#01H
+001185 F0                MOVX    @DPTR,A
    72: 			}
    73: 		}
-00113B 8013              SJMP    ?C0018?LED
-00113D         ?C0019?LED:
+001186 8013              SJMP    ?C0018?LED
+001188         ?C0019?LED:
    74: 		else
    75: 		{
    76: 			if (g_variable.battery_low_led_flash_flag == 1)
-00113D 904CF7            MOV     DPTR,#g_variable+038H
-001140 E0                MOVX    A,@DPTR
-001141 B4010C            CJNE    A,#01H,?C0018?LED
+001188 904CF7            MOV     DPTR,#g_variable+038H
+00118B E0                MOVX    A,@DPTR
+00118C B4010C            CJNE    A,#01H,?C0018?LED
    77: 			{
    78: 				g_variable.battery_low_led_flash_flag = 0;
-001144 E4                CLR     A
-001145 F0                MOVX    @DPTR,A
+00118F E4                CLR     A
+001190 F0                MOVX    @DPTR,A
    79: 				g_variable.battery_low_led_flash_interval = 0;
-001146 904CE2            MOV     DPTR,#g_variable+023H
-001149 F0                MOVX    @DPTR,A
+001191 904CE2            MOV     DPTR,#g_variable+023H
+001194 F0                MOVX    @DPTR,A
    80: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-00114A C201              CLR     ?_GPIO_Setout?BIT
-00114C 7F14              MOV     R7,#014H
-00114E 11EB              ACALL   _GPIO_Setout
+001195 C201              CLR     ?_GPIO_Setout?BIT
+001197 7F14              MOV     R7,#014H
+001199 11EB              ACALL   _GPIO_Setout
    81: 			}
    82: 		}
-001150         ?C0018?LED:
+00119B         ?C0018?LED:
    83: 
    84: 		//capslock  numlock  scrolllock LED process
    85: 		if (YC_check_is_connected()&& !g_variable.powerOn_timer)
-001150 1111              ACALL   YC_check_is_connected
-001152 EF                MOV     A,R7
-001153 604F              JZ      ?C0015?LED
-001155 904CE5            MOV     DPTR,#g_variable+026H
-001158 E0                MOVX    A,@DPTR
-001159 7049              JNZ     ?C0015?LED
+00119B 1111              ACALL   YC_check_is_connected
+00119D EF                MOV     A,R7
+00119E 604F              JZ      ?C0015?LED
+0011A0 904CE5            MOV     DPTR,#g_variable+026H
+0011A3 E0                MOVX    A,@DPTR
+0011A4 7049              JNZ     ?C0015?LED
    86: 		{
    87: 			if (g_variable.sleepTimer < KB_NUM_CAPS_LED_ON_TIMER)
-00115B C3                CLR     C
-00115C 904CE4            MOV     DPTR,#g_variable+025H
-00115F E0                MOVX    A,@DPTR
-001160 940A              SUBB    A,#0AH
-001162 904CE3            MOV     DPTR,#g_variable+024H
-001165 E0                MOVX    A,@DPTR
-001166 9400              SUBB    A,#00H
-001168 5028              JNC     ?C0024?LED
+0011A6 C3                CLR     C
+0011A7 904CE4            MOV     DPTR,#g_variable+025H
+0011AA E0                MOVX    A,@DPTR
+0011AB 940A              SUBB    A,#0AH
+0011AD 904CE3            MOV     DPTR,#g_variable+024H
+0011B0 E0                MOVX    A,@DPTR
+0011B1 9400              SUBB    A,#00H
+0011B3 5028              JNC     ?C0024?LED
    88: 			{
    89: 				if(m_caps_num_lock & KB_PC_KEYSEL_NUMLOCK)
-00116A 904CB7            MOV     DPTR,#m_caps_num_lock
-00116D E0                MOVX    A,@DPTR
-00116E 30E008            JNB     ACC.0,?C0025?LED
+0011B5 904CB7            MOV     DPTR,#m_caps_num_lock
+0011B8 E0                MOVX    A,@DPTR
+0011B9 30E008            JNB     ACC.0,?C0025?LED
    90: 				{
    91: 					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
-001171 D201              SETB    ?_GPIO_Setout?BIT
-001173 7FFF              MOV     R7,#0FFH
-001175 11EB              ACALL   _GPIO_Setout
+0011BC D201              SETB    ?_GPIO_Setout?BIT
+0011BE 7FFF              MOV     R7,#0FFH
+0011C0 11EB              ACALL   _GPIO_Setout
    92: 				}
-001177 8006              SJMP    ?C0026?LED
-001179         ?C0025?LED:
+0011C2 8006              SJMP    ?C0026?LED
+0011C4         ?C0025?LED:
    93: 				else
    94: 				{
    95: 					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-001179 C201              CLR     ?_GPIO_Setout?BIT
-00117B 7FFF              MOV     R7,#0FFH
-00117D 11EB              ACALL   _GPIO_Setout
+0011C4 C201              CLR     ?_GPIO_Setout?BIT
+0011C6 7FFF              MOV     R7,#0FFH
+0011C8 11EB              ACALL   _GPIO_Setout
    96: 				}
-00117F         ?C0026?LED:
+0011CA         ?C0026?LED:
    97: 				
    98: 				if(m_caps_num_lock & KB_PC_KEYSEL_CAPSLOCK)
-00117F 904CB7            MOV     DPTR,#m_caps_num_lock
-001182 E0                MOVX    A,@DPTR
-001183 30E106            JNB     ACC.1,?C0027?LED
+0011CA 904CB7            MOV     DPTR,#m_caps_num_lock
+0011CD E0                MOVX    A,@DPTR
+0011CE 30E106            JNB     ACC.1,?C0027?LED
    99: 				{
   100: 					GPIO_Setout(CAPS_LED_GPIO, LED_ON);
-001186 D201              SETB    ?_GPIO_Setout?BIT
-001188 7F1D              MOV     R7,#01DH
-00118A 01EB              AJMP    _GPIO_Setout
+0011D1 D201              SETB    ?_GPIO_Setout?BIT
+0011D3 7F1D              MOV     R7,#01DH
+0011D5 01EB              AJMP    _GPIO_Setout
   101: 				}
-00118C         ?C0027?LED:
+0011D7         ?C0027?LED:
   102: 				else 
   103: 				{
   104: 					GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-00118C C201              CLR     ?_GPIO_Setout?BIT
-00118E 7F1D              MOV     R7,#01DH
-001190 01EB              AJMP    _GPIO_Setout
+0011D7 C201              CLR     ?_GPIO_Setout?BIT
+0011D9 7F1D              MOV     R7,#01DH
+0011DB 01EB              AJMP    _GPIO_Setout
   105: 				}
   106: 			}
-001192         ?C0024?LED:
+0011DD         ?C0024?LED:
   107: 			else
   108: 			{
   109: 				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-001192 C201              CLR     ?_GPIO_Setout?BIT
-001194 7FFF              MOV     R7,#0FFH
-001196 11EB              ACALL   _GPIO_Setout
+0011DD C201              CLR     ?_GPIO_Setout?BIT
+0011DF 7FFF              MOV     R7,#0FFH
+0011E1 11EB              ACALL   _GPIO_Setout
   110: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-001198 C201              CLR     ?_GPIO_Setout?BIT
-00119A 7F1D              MOV     R7,#01DH
-00119C 01EB              AJMP    _GPIO_Setout
+0011E3 C201              CLR     ?_GPIO_Setout?BIT
+0011E5 7F1D              MOV     R7,#01DH
+0011E7 01EB              AJMP    _GPIO_Setout
   111: 			}
   112: 		}
   113: 		else
@@ -2363,89 +2432,20 @@
   115: 
   116: 		}
   117: 	}
-00119E         ?C0016?LED:
+0011E9         ?C0016?LED:
   118: 	else
   119: 	{
   120: 			//GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
   121: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-00119E C201              CLR     ?_GPIO_Setout?BIT
-0011A0 7F1D              MOV     R7,#01DH
-0011A2 11EB              ACALL   _GPIO_Setout
+0011E9 C201              CLR     ?_GPIO_Setout?BIT
+0011EB 7F1D              MOV     R7,#01DH
+0011ED 11EB              ACALL   _GPIO_Setout
   122: 	}
   123: 
   124: }
-0011A4         ?C0015?LED:
-0011A4 22                RET     
------ FUNCTION LED_handle (END) -------
-
-
------ FUNCTION LED_device_poweron (BEGIN) -----
- FILE: 'led.c'
-   15: void LED_device_poweron()
-   16: {
-   17: 
-   18: 
-   19: 		if(g_variable.current_device_num == 1)
-0011A5 904CC3            MOV     DPTR,#g_variable+04H
-0011A8 E0                MOVX    A,@DPTR
-0011A9 B40112            CJNE    A,#01H,?C0002?LED
-   20: 		{
-   21: 			GPIO_Setout(BT_LED_GPIO,LED_ON);
-0011AC D201              SETB    ?_GPIO_Setout?BIT
-0011AE 7F1F              MOV     R7,#01FH
-0011B0 11EB              ACALL   _GPIO_Setout
-   22: 			GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-0011B2 C201              CLR     ?_GPIO_Setout?BIT
-0011B4 7F1E              MOV     R7,#01EH
-0011B6 11EB              ACALL   _GPIO_Setout
-   23: 			GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
-0011B8 C201              CLR     ?_GPIO_Setout?BIT
-0011BA 7F14              MOV     R7,#014H
-0011BC 01EB              AJMP    _GPIO_Setout
-   24: 		}	
-0011BE         ?C0002?LED:
-   25: 		else if(g_variable.current_device_num == 2)
-0011BE 904CC3            MOV     DPTR,#g_variable+04H
-0011C1 E0                MOVX    A,@DPTR
-0011C2 B40212            CJNE    A,#02H,?C0004?LED
-   26: 		{
-   27: 			GPIO_Setout(BT_LED_GPIO,LED_OFF);
-0011C5 C201              CLR     ?_GPIO_Setout?BIT
-0011C7 7F1F              MOV     R7,#01FH
-0011C9 11EB              ACALL   _GPIO_Setout
-   28: 			GPIO_Setout(BT2_LED_GPIO,LED_ON);
-0011CB D201              SETB    ?_GPIO_Setout?BIT
-0011CD 7F1E              MOV     R7,#01EH
-0011CF 11EB              ACALL   _GPIO_Setout
-   29: 			GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
-0011D1 C201              CLR     ?_GPIO_Setout?BIT
-0011D3 7F14              MOV     R7,#014H
-0011D5 01EB              AJMP    _GPIO_Setout
-   30: 		}
-0011D7         ?C0004?LED:
-   31: 		else if(g_variable.current_device_num == 0)
-0011D7 904CC3            MOV     DPTR,#g_variable+04H
-0011DA E0                MOVX    A,@DPTR
-0011DB 7012              JNZ     ?C0007?LED
-   32: 		{
-   33: 			GPIO_Setout(BT_LED_GPIO,LED_OFF);
-0011DD C201              CLR     ?_GPIO_Setout?BIT
-0011DF 7F1F              MOV     R7,#01FH
-0011E1 11EB              ACALL   _GPIO_Setout
-   34: 			GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-0011E3 C201              CLR     ?_GPIO_Setout?BIT
-0011E5 7F1E              MOV     R7,#01EH
-0011E7 11EB              ACALL   _GPIO_Setout
-   35: 			GPIO_Setout(LOWPOWER_LED_GPIO,LED_ON);
-0011E9 D201              SETB    ?_GPIO_Setout?BIT
-0011EB 7F14              MOV     R7,#014H
-0011ED 11EB              ACALL   _GPIO_Setout
-   36: 		}
-   37: 	
-   38: }
-0011EF         ?C0007?LED:
+0011EF         ?C0015?LED:
 0011EF 22                RET     
------ FUNCTION LED_device_poweron (END) -------
+----- FUNCTION LED_handle (END) -------
 
 
 ----- FUNCTION _YC_key_action_handle (BEGIN) -----
@@ -2621,7 +2621,7 @@
 0012C2 79EE              MOV     R1,#LOW bd_key_record_list
 0012C4 7D5D              MOV     R5,#05DH
 0012C6 7C00              MOV     R4,#00H
-0012C8 123619            LCALL   _xmemclear_ff
+0012C8 123621            LCALL   _xmemclear_ff
    55: 		g_variable.last_device_num = 0xff;
 0012CB 904CC0            MOV     DPTR,#g_variable+01H
 0012CE 74FF              MOV     A,#0FFH
@@ -2898,7 +2898,7 @@
 001416 E0                MOVX    A,@DPTR
 001417 FD                MOV     R5,A
 001418 7B64              MOV     R3,#064H
-00141A 1232A6            LCALL   _bufsize
+00141A 1232AE            LCALL   _bufsize
 00141D 904EBC            MOV     DPTR,#len
 001420 E0                MOVX    A,@DPTR
 001421 FE                MOV     R6,A
@@ -3012,7 +3012,7 @@
   138: 		System_Hardware_init();
 0014B6 F1F0              ACALL   System_Hardware_init
   139: 		System_Software_init();
-0014B8 122FAE            LCALL   System_Software_init
+0014B8 122FB6            LCALL   System_Software_init
   140: 		IIC_Read(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
 0014BB 7B01              MOV     R3,#01H
 0014BD 7A4C              MOV     R2,#HIGH g_variable+01H
@@ -3038,7 +3038,7 @@
 0014DB 904CC3            MOV     DPTR,#g_variable+04H
 0014DE F0                MOVX    @DPTR,A
   144: 		LED_device_poweron();
-0014DF 31A5              ACALL   LED_device_poweron
+0014DF 11FD              ACALL   LED_device_poweron
   145: 		Delay1ms(10);
 0014E1 7F0A              MOV     R7,#0AH
 0014E3 120FF9            LCALL   _Delay1ms
@@ -3133,7 +3133,7 @@
   165: 	case IPC_EVT_WAKEUP:
 001564         ?C0021?SYS:
   166: 		System_IIC_clk_setup();
-001564 122F9B            LCALL   System_IIC_clk_setup
+001564 122FA3            LCALL   System_IIC_clk_setup
   167: 		KS_Initialize();
 001567 1218F8            LCALL   KS_Initialize
   168: 		g_variable.g24_long_sleep_flag = 0;
@@ -3171,7 +3171,7 @@
 00158F 7B01              MOV     R3,#01H
 001591 7D1F              MOV     R5,#01FH
 001593 7C00              MOV     R4,#00H
-001595 123619            LCALL   _xmemclear_ff
+001595 123621            LCALL   _xmemclear_ff
   177: 			Delay1ms(200);
 001598 7FC8              MOV     R7,#0C8H
 00159A 120FF9            LCALL   _Delay1ms
@@ -3284,7 +3284,7 @@
   210: 					YC_update_eeprom_data();
 001625 121C6D            LCALL   YC_update_eeprom_data
   211: 					System_Hardware_reset();
-001628 022FE4            LJMP    System_Hardware_reset
+001628 022FEC            LJMP    System_Hardware_reset
   212: 				}
   213: 		}
 00162B         ?C0028?SYS:
@@ -3443,7 +3443,7 @@
 0016D0 E0                MOVX    A,@DPTR
 0016D1 7003              JNZ     ?C0040?SYS
   266: 			LED_device_poweroff();
-0016D3 122E7D            LCALL   LED_device_poweroff
+0016D3 122E85            LCALL   LED_device_poweroff
 0016D6         ?C0040?SYS:
   267: 		g_variable.pairing_timeout = 0;
 0016D6 E4                CLR     A
@@ -3728,7 +3728,7 @@
 0017D9 7B01              MOV     R3,#01H
 0017DB 7A80              MOV     R2,#080H
 0017DD 7974              MOV     R1,#074H
-0017DF 122E0A            LCALL   _gpioGetBit
+0017DF 122E12            LCALL   _gpioGetBit
 0017E2 9209              MOV     st,C
 0017E4 904F0C            MOV     DPTR,#gpio_num
 0017E7 E0                MOVX    A,@DPTR
@@ -3746,7 +3746,7 @@
    61: {
    62: 	System_IIC_clk_setup();
    63: 	KS_Initialize();
-0017F0 122F9B            LCALL   System_IIC_clk_setup
+0017F0 122FA3            LCALL   System_IIC_clk_setup
    64: 	LED_all_shutdown();
 0017F3 1218F8            LCALL   KS_Initialize
 ;----                  JMP     LED_all_shutdown
@@ -4515,7 +4515,7 @@
 001B58 7B01              MOV     R3,#01H
 001B5A 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
 001B5C 7986              MOV     R1,#LOW IIC_TempBuff+03H
-001B5E 1235D5            LCALL   _dmemcpy
+001B5E 1235DD            LCALL   _dmemcpy
 001B61 900B83            MOV     DPTR,#IIC_TempBuff
 001B64 74A0              MOV     A,#0A0H
 001B66 F0                MOVX    @DPTR,A
@@ -5468,7 +5468,7 @@
 001F7E 7405              MOV     A,#05H
 001F80 F0                MOVX    @DPTR,A
   129: 			YC_adc_check();
-001F81 1230E5            LCALL   YC_adc_check
+001F81 1230ED            LCALL   YC_adc_check
   130: 		}
   131: 	}
   132: #endif	
@@ -5636,8 +5636,8 @@
 
 ----- FUNCTION _kb_multikey_setup (BEGIN) -----
  FILE: 'kb_process.c'
-  818: void kb_multikey_setup(tKSEVENT *pEvt)
-  819: {
+  817: void kb_multikey_setup(tKSEVENT *pEvt)
+  818: {
 002022 904ED4            MOV     DPTR,#pEvt
 002025 EB                MOV     A,R3
 002026 F0                MOVX    @DPTR,A
@@ -5647,12 +5647,12 @@
 00202A A3                INC     DPTR
 00202B E9                MOV     A,R1
 00202C F0                MOVX    @DPTR,A
-  820: 	byte i = 0;
-  821: 	
+  819: 	byte i = 0;
+  820: 	
 00202D E4                CLR     A
 00202E A3                INC     DPTR
 00202F F0                MOVX    @DPTR,A
-  822: 	for (i = 0;i < 6;i++)
+  821: 	for (i = 0;i < 6;i++)
 002030 F0                MOVX    @DPTR,A
 002031         ?C0199?KB_PROCESS:
 002031 904ED7            MOV     DPTR,#i
@@ -5662,8 +5662,8 @@
 002037 9406              SUBB    A,#06H
 002039 4002              JC      $ + 4H
 00203B 6120              AJMP    ?C0258?KB_PROCESS
-  823: 	{		
-  824: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+  822: 	{		
+  823: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
 00203D 904ED4            MOV     DPTR,#pEvt
 002040 E0                MOVX    A,@DPTR
 002041 FB                MOV     R3,A
@@ -5695,34 +5695,34 @@
 002064 6002              JZ      $ + 4H
 002066 6118              AJMP    ?C0201?KB_PROCESS
 002068         ?C0203?KB_PROCESS:
-  825: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  826: 		{
-  827: 			
-  828: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+  824: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  825: 		{
+  826: 			
+  827: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
 002068 1203B6            LCALL   ?C?CLDPTR
 00206B FB                MOV     R3,A
 00206C B4F108            CJNE    A,#0F1H,?C0204?KB_PROCESS
-  829: 			{
-  830: 				kb_set_multikey(0x0183); 
+  828: 			{
+  829: 				kb_set_multikey(0x0183); 
 00206F 7F83              MOV     R7,#083H
 002071 7E01              MOV     R6,#01H
 002073 1107              ACALL   _kb_set_multikey
-  831: 			}
+  830: 			}
 002075 41ED              AJMP    ?C0205?KB_PROCESS
 002077         ?C0204?KB_PROCESS:
-  832: 			else
-  833: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+  831: 			else
+  832: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
 002077 EB                MOV     A,R3
 002078 B4F208            CJNE    A,#0F2H,?C0206?KB_PROCESS
-  834: 			{ 
-  835: 				kb_set_multikey(0x00cd);
+  833: 			{ 
+  834: 				kb_set_multikey(0x00cd);
 00207B 7FCD              MOV     R7,#0CDH
 00207D 7E00              MOV     R6,#00H
 00207F 1107              ACALL   _kb_set_multikey
-  836: 			}
+  835: 			}
 002081 41ED              AJMP    ?C0205?KB_PROCESS
 002083         ?C0206?KB_PROCESS:
-  837: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+  836: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
 002083 904ED4            MOV     DPTR,#pEvt
 002086 E0                MOVX    A,@DPTR
 002087 FB                MOV     R3,A
@@ -5747,25 +5747,25 @@
 00209C 1203B6            LCALL   ?C?CLDPTR
 00209F FB                MOV     R3,A
 0020A0 B4F306            CJNE    A,#0F3H,?C0208?KB_PROCESS
-  838: 			{
-  839: 				kb_set_multikey(0x00b7);
+  837: 			{
+  838: 				kb_set_multikey(0x00b7);
 0020A3 7FB7              MOV     R7,#0B7H
 0020A5 1107              ACALL   _kb_set_multikey
-  840: 			}	
+  839: 			}	
 0020A7 41ED              AJMP    ?C0205?KB_PROCESS
 0020A9         ?C0208?KB_PROCESS:
-  841: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+  840: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
 0020A9 EB                MOV     A,R3
 0020AA B4F408            CJNE    A,#0F4H,?C0210?KB_PROCESS
-  842: 			{
-  843: 				kb_set_multikey(0x00b6);
+  841: 			{
+  842: 				kb_set_multikey(0x00b6);
 0020AD 7FB6              MOV     R7,#0B6H
 0020AF 7E00              MOV     R6,#00H
 0020B1 1107              ACALL   _kb_set_multikey
-  844: 			}
+  843: 			}
 0020B3 41ED              AJMP    ?C0205?KB_PROCESS
 0020B5         ?C0210?KB_PROCESS:
-  845: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+  844: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
 0020B5 904ED4            MOV     DPTR,#pEvt
 0020B8 E0                MOVX    A,@DPTR
 0020B9 FB                MOV     R3,A
@@ -5790,25 +5790,25 @@
 0020CE 1203B6            LCALL   ?C?CLDPTR
 0020D1 FB                MOV     R3,A
 0020D2 B4F506            CJNE    A,#0F5H,?C0212?KB_PROCESS
-  846: 			{
-  847: 				kb_set_multikey(0x00b5);
+  845: 			{
+  846: 				kb_set_multikey(0x00b5);
 0020D5 7FB5              MOV     R7,#0B5H
 0020D7 1107              ACALL   _kb_set_multikey
-  848: 			}
+  847: 			}
 0020D9 41ED              AJMP    ?C0205?KB_PROCESS
 0020DB         ?C0212?KB_PROCESS:
-  849: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+  848: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
 0020DB EB                MOV     A,R3
 0020DC B4F608            CJNE    A,#0F6H,?C0214?KB_PROCESS
-  850: 			{
-  851: 				kb_set_multikey(0x00ea);
+  849: 			{
+  850: 				kb_set_multikey(0x00ea);
 0020DF 7FEA              MOV     R7,#0EAH
 0020E1 7E00              MOV     R6,#00H
 0020E3 1107              ACALL   _kb_set_multikey
-  852: 			}
+  851: 			}
 0020E5 41ED              AJMP    ?C0205?KB_PROCESS
 0020E7         ?C0214?KB_PROCESS:
-  853: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+  852: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
 0020E7 904ED4            MOV     DPTR,#pEvt
 0020EA E0                MOVX    A,@DPTR
 0020EB FB                MOV     R3,A
@@ -5833,25 +5833,25 @@
 002100 1203B6            LCALL   ?C?CLDPTR
 002103 FB                MOV     R3,A
 002104 B4F706            CJNE    A,#0F7H,?C0216?KB_PROCESS
-  854: 			{
-  855: 				kb_set_multikey(0x00e9);
+  853: 			{
+  854: 				kb_set_multikey(0x00e9);
 002107 7FE9              MOV     R7,#0E9H
 002109 1107              ACALL   _kb_set_multikey
-  856: 			}
+  855: 			}
 00210B 41ED              AJMP    ?C0205?KB_PROCESS
 00210D         ?C0216?KB_PROCESS:
-  857: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+  856: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
 00210D EB                MOV     A,R3
 00210E B4F808            CJNE    A,#0F8H,?C0218?KB_PROCESS
-  858: 			{
-  859: 				kb_set_multikey(0x00e2);
+  857: 			{
+  858: 				kb_set_multikey(0x00e2);
 002111 7FE2              MOV     R7,#0E2H
 002113 7E00              MOV     R6,#00H
 002115 1107              ACALL   _kb_set_multikey
-  860: 			}
+  859: 			}
 002117 41ED              AJMP    ?C0205?KB_PROCESS
 002119         ?C0218?KB_PROCESS:
-  861: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+  860: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
 002119 904ED4            MOV     DPTR,#pEvt
 00211C E0                MOVX    A,@DPTR
 00211D FB                MOV     R3,A
@@ -5876,26 +5876,26 @@
 002132 1203B6            LCALL   ?C?CLDPTR
 002135 FB                MOV     R3,A
 002136 B4F907            CJNE    A,#0F9H,?C0220?KB_PROCESS
-  862: 			{
-  863: 				kb_set_multikey(0x0194);
+  861: 			{
+  862: 				kb_set_multikey(0x0194);
 002139 7F94              MOV     R7,#094H
 00213B 0E                INC     R6
 00213C 1107              ACALL   _kb_set_multikey
-  864: 			}	
+  863: 			}	
 00213E 41ED              AJMP    ?C0205?KB_PROCESS
 002140         ?C0220?KB_PROCESS:
-  865: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+  864: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
 002140 EB                MOV     A,R3
 002141 B4FA08            CJNE    A,#0FAH,?C0222?KB_PROCESS
-  866: 			{
-  867: 				kb_set_multikey(0x018a);//mail
+  865: 			{
+  866: 				kb_set_multikey(0x018a);//mail
 002144 7F8A              MOV     R7,#08AH
 002146 7E01              MOV     R6,#01H
 002148 1107              ACALL   _kb_set_multikey
-  868: 			}
+  867: 			}
 00214A 41ED              AJMP    ?C0205?KB_PROCESS
 00214C         ?C0222?KB_PROCESS:
-  869: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+  868: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
 00214C 904ED4            MOV     DPTR,#pEvt
 00214F E0                MOVX    A,@DPTR
 002150 FB                MOV     R3,A
@@ -5920,26 +5920,26 @@
 002165 1203B6            LCALL   ?C?CLDPTR
 002168 FB                MOV     R3,A
 002169 B4FB07            CJNE    A,#0FBH,?C0224?KB_PROCESS
-  870: 			{
-  871: 				kb_set_multikey(0x0192);
+  869: 			{
+  870: 				kb_set_multikey(0x0192);
 00216C 7F92              MOV     R7,#092H
 00216E 0E                INC     R6
 00216F 1107              ACALL   _kb_set_multikey
-  872: 			}
+  871: 			}
 002171 41ED              AJMP    ?C0205?KB_PROCESS
 002173         ?C0224?KB_PROCESS:
-  873: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+  872: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
 002173 EB                MOV     A,R3
 002174 B4D008            CJNE    A,#0D0H,?C0226?KB_PROCESS
-  874: 			{
-  875: 				kb_set_multikey(0x022a);//www Favorites
+  873: 			{
+  874: 				kb_set_multikey(0x022a);//www Favorites
 002177 7F2A              MOV     R7,#02AH
 002179 7E02              MOV     R6,#02H
 00217B 1107              ACALL   _kb_set_multikey
-  876: 			}
+  875: 			}
 00217D 41ED              AJMP    ?C0205?KB_PROCESS
 00217F         ?C0226?KB_PROCESS:
-  877: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+  876: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
 00217F 904ED4            MOV     DPTR,#pEvt
 002182 E0                MOVX    A,@DPTR
 002183 FB                MOV     R3,A
@@ -5964,26 +5964,26 @@
 002198 1203B6            LCALL   ?C?CLDPTR
 00219B FB                MOV     R3,A
 00219C B4D108            CJNE    A,#0D1H,?C0228?KB_PROCESS
-  878: 			{
-  879: 				kb_set_multikey(0x0225);
+  877: 			{
+  878: 				kb_set_multikey(0x0225);
 00219F 7F25              MOV     R7,#025H
 0021A1 7E02              MOV     R6,#02H
 0021A3 1107              ACALL   _kb_set_multikey
-  880: 			}
+  879: 			}
 0021A5 41ED              AJMP    ?C0205?KB_PROCESS
 0021A7         ?C0228?KB_PROCESS:
-  881: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+  880: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
 0021A7 EB                MOV     A,R3
 0021A8 B4D308            CJNE    A,#0D3H,?C0230?KB_PROCESS
-  882: 			{
-  883: 				kb_set_multikey(0x0226);
+  881: 			{
+  882: 				kb_set_multikey(0x0226);
 0021AB 7F26              MOV     R7,#026H
 0021AD 7E02              MOV     R6,#02H
 0021AF 1107              ACALL   _kb_set_multikey
-  884: 			}
+  883: 			}
 0021B1 41ED              AJMP    ?C0205?KB_PROCESS
 0021B3         ?C0230?KB_PROCESS:
-  885: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+  884: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
 0021B3 904ED4            MOV     DPTR,#pEvt
 0021B6 E0                MOVX    A,@DPTR
 0021B7 FB                MOV     R3,A
@@ -6008,26 +6008,26 @@
 0021CC 1203B6            LCALL   ?C?CLDPTR
 0021CF FB                MOV     R3,A
 0021D0 B4D208            CJNE    A,#0D2H,?C0232?KB_PROCESS
-  886: 			{
-  887: 				kb_set_multikey(0x0224);
+  885: 			{
+  886: 				kb_set_multikey(0x0224);
 0021D3 7F24              MOV     R7,#024H
 0021D5 7E02              MOV     R6,#02H
 0021D7 1107              ACALL   _kb_set_multikey
-  888: 			}
+  887: 			}
 0021D9 41ED              AJMP    ?C0205?KB_PROCESS
 0021DB         ?C0232?KB_PROCESS:
-  889: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+  888: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
 0021DB EB                MOV     A,R3
 0021DC B4D408            CJNE    A,#0D4H,?C0234?KB_PROCESS
-  890: 			{
-  891: 				kb_set_multikey(0x0227);
+  889: 			{
+  890: 				kb_set_multikey(0x0227);
 0021DF 7F27              MOV     R7,#027H
 0021E1 7E02              MOV     R6,#02H
 0021E3 1107              ACALL   _kb_set_multikey
-  892: 			}	
+  891: 			}	
 0021E5 41ED              AJMP    ?C0205?KB_PROCESS
 0021E7         ?C0234?KB_PROCESS:
-  893: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+  892: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
 0021E7 904ED4            MOV     DPTR,#pEvt
 0021EA E0                MOVX    A,@DPTR
 0021EB FB                MOV     R3,A
@@ -6052,26 +6052,26 @@
 002200 1203B6            LCALL   ?C?CLDPTR
 002203 FB                MOV     R3,A
 002204 B4D508            CJNE    A,#0D5H,?C0236?KB_PROCESS
-  894: 			{
-  895: 				kb_set_multikey(0x0221);
+  893: 			{
+  894: 				kb_set_multikey(0x0221);
 002207 7F21              MOV     R7,#021H
 002209 7E02              MOV     R6,#02H
 00220B 1107              ACALL   _kb_set_multikey
-  896: 			}
+  895: 			}
 00220D 41ED              AJMP    ?C0205?KB_PROCESS
 00220F         ?C0236?KB_PROCESS:
-  897: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+  896: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
 00220F EB                MOV     A,R3
 002210 B4D608            CJNE    A,#0D6H,?C0238?KB_PROCESS
-  898: 			{
-  899: 				kb_set_multikey(0x0223);
+  897: 			{
+  898: 				kb_set_multikey(0x0223);
 002213 7F23              MOV     R7,#023H
 002215 7E02              MOV     R6,#02H
 002217 1107              ACALL   _kb_set_multikey
-  900: 			}
+  899: 			}
 002219 41ED              AJMP    ?C0205?KB_PROCESS
 00221B         ?C0238?KB_PROCESS:
-  901: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+  900: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
 00221B 904ED4            MOV     DPTR,#pEvt
 00221E E0                MOVX    A,@DPTR
 00221F FB                MOV     R3,A
@@ -6096,25 +6096,25 @@
 002234 1203B6            LCALL   ?C?CLDPTR
 002237 FB                MOV     R3,A
 002238 B4D706            CJNE    A,#0D7H,?C0240?KB_PROCESS
-  902: 			{
-  903: 				kb_set_multikey(0x0070);
+  901: 			{
+  902: 				kb_set_multikey(0x0070);
 00223B 7F70              MOV     R7,#070H
 00223D 1107              ACALL   _kb_set_multikey
-  904: 			}
+  903: 			}
 00223F 41ED              AJMP    ?C0205?KB_PROCESS
 002241         ?C0240?KB_PROCESS:
-  905: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+  904: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
 002241 EB                MOV     A,R3
 002242 B4D808            CJNE    A,#0D8H,?C0242?KB_PROCESS
-  906: 			{
-  907: 				kb_set_multikey(0x006f);
+  905: 			{
+  906: 				kb_set_multikey(0x006f);
 002245 7F6F              MOV     R7,#06FH
 002247 7E00              MOV     R6,#00H
 002249 1107              ACALL   _kb_set_multikey
-  908: 			}	
+  907: 			}	
 00224B 41ED              AJMP    ?C0205?KB_PROCESS
 00224D         ?C0242?KB_PROCESS:
-  909: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
+  908: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
 00224D 904ED4            MOV     DPTR,#pEvt
 002250 E0                MOVX    A,@DPTR
 002251 FB                MOV     R3,A
@@ -6139,25 +6139,25 @@
 002266 1203B6            LCALL   ?C?CLDPTR
 002269 FB                MOV     R3,A
 00226A B4D906            CJNE    A,#0D9H,?C0244?KB_PROCESS
-  910: 		      	{
-  911: 		        	kb_set_multikey(0x00b8);
+  909: 		      	{
+  910: 		        	kb_set_multikey(0x00b8);
 00226D 7FB8              MOV     R7,#0B8H
 00226F 1107              ACALL   _kb_set_multikey
-  912: 		      	}
+  911: 		      	}
 002271 807A              SJMP    ?C0205?KB_PROCESS
 002273         ?C0244?KB_PROCESS:
-  913: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
+  912: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
 002273 EB                MOV     A,R3
 002274 B4DA08            CJNE    A,#0DAH,?C0246?KB_PROCESS
-  914: 		      	{
-  915: 		        	kb_set_multikey(0x0030);
+  913: 		      	{
+  914: 		        	kb_set_multikey(0x0030);
 002277 7F30              MOV     R7,#030H
 002279 7E00              MOV     R6,#00H
 00227B 1107              ACALL   _kb_set_multikey
-  916: 		      	}	
+  915: 		      	}	
 00227D 806E              SJMP    ?C0205?KB_PROCESS
 00227F         ?C0246?KB_PROCESS:
-  917: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
+  916: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
 00227F 904ED4            MOV     DPTR,#pEvt
 002282 E0                MOVX    A,@DPTR
 002283 FB                MOV     R3,A
@@ -6182,26 +6182,26 @@
 002298 1203B6            LCALL   ?C?CLDPTR
 00229B FB                MOV     R3,A
 00229C B4DB08            CJNE    A,#0DBH,?C0248?KB_PROCESS
-  918: 		      	{
-  919: 		        	kb_set_multikey(0x0306);
+  917: 		      	{
+  918: 		        	kb_set_multikey(0x0306);
 00229F 7F06              MOV     R7,#06H
 0022A1 7E03              MOV     R6,#03H
 0022A3 1107              ACALL   _kb_set_multikey
-  920: 		      	}
+  919: 		      	}
 0022A5 8046              SJMP    ?C0205?KB_PROCESS
 0022A7         ?C0248?KB_PROCESS:
-  921: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
+  920: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
 0022A7 EB                MOV     A,R3
 0022A8 B4DC08            CJNE    A,#0DCH,?C0250?KB_PROCESS
-  922: 		      	{
-  923: 		        	kb_set_multikey(0x0307);
+  921: 		      	{
+  922: 		        	kb_set_multikey(0x0307);
 0022AB 7F07              MOV     R7,#07H
 0022AD 7E03              MOV     R6,#03H
 0022AF 1107              ACALL   _kb_set_multikey
-  924: 		      	}
+  923: 		      	}
 0022B1 803A              SJMP    ?C0205?KB_PROCESS
 0022B3         ?C0250?KB_PROCESS:
-  925: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
+  924: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
 0022B3 904ED4            MOV     DPTR,#pEvt
 0022B6 E0                MOVX    A,@DPTR
 0022B7 FB                MOV     R3,A
@@ -6226,39 +6226,39 @@
 0022CC 1203B6            LCALL   ?C?CLDPTR
 0022CF FE                MOV     R6,A
 0022D0 B4DD06            CJNE    A,#0DDH,?C0252?KB_PROCESS
-  926: 		      	{
-  927: 		        	kb_set_systemkey(0x01);
+  925: 		      	{
+  926: 		        	kb_set_systemkey(0x01);
 0022D3 7F01              MOV     R7,#01H
 0022D5 7121              ACALL   _kb_set_systemkey
-  928: 		      	}
+  927: 		      	}
 0022D7 8014              SJMP    ?C0205?KB_PROCESS
 0022D9         ?C0252?KB_PROCESS:
-  929: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
+  928: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
 0022D9 EE                MOV     A,R6
 0022DA B4DE06            CJNE    A,#0DEH,?C0254?KB_PROCESS
-  930: 		      	{
-  931: 		        	kb_set_systemkey(0x02);
+  929: 		      	{
+  930: 		        	kb_set_systemkey(0x02);
 0022DD 7F02              MOV     R7,#02H
 0022DF 7121              ACALL   _kb_set_systemkey
-  932: 		      	}
+  931: 		      	}
 0022E1 800A              SJMP    ?C0205?KB_PROCESS
 0022E3         ?C0254?KB_PROCESS:
-  933: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
+  932: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
 0022E3 1203B6            LCALL   ?C?CLDPTR
 0022E6 B4DF04            CJNE    A,#0DFH,?C0205?KB_PROCESS
-  934: 		      	{
-  935: 		        	kb_set_systemkey(0x04);
+  933: 		      	{
+  934: 		        	kb_set_systemkey(0x04);
 0022E9 7F04              MOV     R7,#04H
 0022EB 7121              ACALL   _kb_set_systemkey
-  936: 		      	}
+  935: 		      	}
 0022ED         ?C0205?KB_PROCESS:
-  937: 			
-  938: 			if(mult_key_status == KEY_WAIT_RELEASE)
+  936: 			
+  937: 			if(mult_key_status == KEY_WAIT_RELEASE)
 0022ED 904E4B            MOV     DPTR,#mult_key_status
 0022F0 E0                MOVX    A,@DPTR
 0022F1 B40224            CJNE    A,#02H,?C0201?KB_PROCESS
-  939: 			{
-  940: 				mult_key_value = pEvt->ksPool[i];
+  938: 			{
+  939: 				mult_key_value = pEvt->ksPool[i];
 0022F4 904ED4            MOV     DPTR,#pEvt
 0022F7 E0                MOVX    A,@DPTR
 0022F8 FB                MOV     R3,A
@@ -6283,19 +6283,19 @@
 00230D 1203B6            LCALL   ?C?CLDPTR
 002310 904DED            MOV     DPTR,#mult_key_value
 002313 F0                MOVX    @DPTR,A
-  941: 				pEvt->ksPool[i] = 0;
+  940: 				pEvt->ksPool[i] = 0;
 002314 E4                CLR     A
 002315 1203FC            LCALL   ?C?CSTPTR
-  942: 			}
-  943: 		}
-  944: 	}
+  941: 			}
+  942: 		}
+  943: 	}
 002318         ?C0201?KB_PROCESS:
 002318 904ED7            MOV     DPTR,#i
 00231B E0                MOVX    A,@DPTR
 00231C 04                INC     A
 00231D F0                MOVX    @DPTR,A
 00231E 0131              AJMP    ?C0199?KB_PROCESS
-  945: }
+  944: }
 002320         ?C0258?KB_PROCESS:
 002320 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
@@ -6372,7 +6372,7 @@
 002358 1C                DEC     R4
 002359 EF                MOV     A,R7
 00235A 7002              JNZ     $ + 4H
-00235C 8181              AJMP    ?C0123?KB_PROCESS
+00235C 818D              AJMP    ?C0123?KB_PROCESS
   514: 		{
   515: 			temp = pEvt->ksPool[i];
 00235E 904EE3            MOV     DPTR,#pEvt
@@ -6520,123 +6520,134 @@
 0023F5 F9                MOV     R1,A
 0023F6 900001            MOV     DPTR,#01H
 0023F9 1203CF            LCALL   ?C?CLDOPTR
-0023FC FE                MOV     R6,A
-0023FD 64EF              XRL     A,#0EFH
-0023FF 702D              JNZ     ?C0124?KB_PROCESS
+0023FC 64EF              XRL     A,#0EFH
+0023FE 702E              JNZ     ?C0124?KB_PROCESS
   556: 			{
   557: 				g_variable.delay_enter_lpm_timer = 10;
-002401 904CEA            MOV     DPTR,#g_variable+02BH
-002404 740A              MOV     A,#0AH
-002406 F0                MOVX    @DPTR,A
+002400 904CEA            MOV     DPTR,#g_variable+02BH
+002403 740A              MOV     A,#0AH
+002405 F0                MOVX    @DPTR,A
   558: 				g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
-002407 904CCE            MOV     DPTR,#g_variable+0FH
-00240A E0                MOVX    A,@DPTR
-00240B 54F7              ANL     A,#0F7H
-00240D F0                MOVX    @DPTR,A
+002406 904CCE            MOV     DPTR,#g_variable+0FH
+002409 E0                MOVX    A,@DPTR
+00240A 54F7              ANL     A,#0F7H
+00240C F0                MOVX    @DPTR,A
   559: 				g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-00240E 4410              ORL     A,#010H
-002410 F0                MOVX    @DPTR,A
+00240D 4410              ORL     A,#010H
+00240F F0                MOVX    @DPTR,A
   560: 				if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
-002411 904CC3            MOV     DPTR,#g_variable+04H
-002414 E0                MOVX    A,@DPTR
-002415 FF                MOV     R7,A
-002416 6013              JZ      ?C0125?KB_PROCESS
-002418 64FE              XRL     A,#0FEH
-00241A 600F              JZ      ?C0125?KB_PROCESS
+002410 904CC3            MOV     DPTR,#g_variable+04H
+002413 E0                MOVX    A,@DPTR
+002414 FF                MOV     R7,A
+002415 6014              JZ      ?C0125?KB_PROCESS
+002417 64FE              XRL     A,#0FEH
+002419 6010              JZ      ?C0125?KB_PROCESS
   561: 				{
-  562: 					g_variable.button_24G_rec_flag = 1;
-00241C 904CCD            MOV     DPTR,#g_variable+0EH
-00241F 7401              MOV     A,#01H
-002421 F0                MOVX    @DPTR,A
-  563: 					g_variable.current_device_num =0;
-002422 E4                CLR     A
-002423 904CC3            MOV     DPTR,#g_variable+04H
-002426 F0                MOVX    @DPTR,A
-  564: 					g_variable.powerOn_timer = 0;
-002427 904CE5            MOV     DPTR,#g_variable+026H
-00242A F0                MOVX    @DPTR,A
-  565: 
-  566: 				}
+  562: 					LED_device_poweron();
+00241B 1210FD            LCALL   LED_device_poweron
+  563: 					g_variable.button_24G_rec_flag = 1;
+00241E 904CCD            MOV     DPTR,#g_variable+0EH
+002421 7401              MOV     A,#01H
+002423 F0                MOVX    @DPTR,A
+  564: 					g_variable.current_device_num =0;
+002424 E4                CLR     A
+002425 904CC3            MOV     DPTR,#g_variable+04H
+002428 F0                MOVX    @DPTR,A
+  565: 					System_clear_timer_status();
+002429 9190              ACALL   System_clear_timer_status
+  566: 
+  567: 
+  568: 				}
 00242B         ?C0125?KB_PROCESS:
-  567: 				return 1;
+  569: 				return 1;
 00242B 7F01              MOV     R7,#01H
 00242D 22                RET     
-  568: 			}
+  570: 			}
 00242E         ?C0124?KB_PROCESS:
-  569: 		
-  570: 			else if (pEvt->ksPool[0] == HID_KEY_BLE_1 ||pEvt->ksPool[0] ==  HID_KEY_BLE_2)                 //ble 1 /2  pai
+  571: 		
+  572: 			else if (pEvt->ksPool[0] == HID_KEY_BLE_1 ||pEvt->ksPool[0] ==  HID_KEY_BLE_2)                 //ble 1 /2  pai
 >> ring button
-00242E EE                MOV     A,R6
-00242F 64E9              XRL     A,#0E9H
-002431 600A              JZ      ?C0128?KB_PROCESS
-002433 900001            MOV     DPTR,#01H
-002436 1203CF            LCALL   ?C?CLDOPTR
-002439 64EA              XRL     A,#0EAH
-00243B 703A              JNZ     ?C0126?KB_PROCESS
-00243D         ?C0128?KB_PROCESS:
-  571: 			{
-  572: 				g_variable.delay_enter_lpm_timer = 10;
-00243D 904CEA            MOV     DPTR,#g_variable+02BH
-002440 740A              MOV     A,#0AH
-002442 F0                MOVX    @DPTR,A
-  573: 				g_variable.button_flag |= KEY_FLAG_FN_DEVICE_BUTTON;
-002443 904CCE            MOV     DPTR,#g_variable+0FH
-002446 E0                MOVX    A,@DPTR
-002447 4408              ORL     A,#08H
-002449 F0                MOVX    @DPTR,A
-  574: 				g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-00244A 54EF              ANL     A,#0EFH
-00244C F0                MOVX    @DPTR,A
-  575: 				if((g_variable.current_device_num != (pEvt->ksPool[0]-(HID_KEY_BLE_1 - 1))) ||(g_variable.g24_currentState ==
+00242E 904EE3            MOV     DPTR,#pEvt
+002431 E0                MOVX    A,@DPTR
+002432 FB                MOV     R3,A
+002433 A3                INC     DPTR
+002434 E0                MOVX    A,@DPTR
+002435 FA                MOV     R2,A
+002436 A3                INC     DPTR
+002437 E0                MOVX    A,@DPTR
+002438 F9                MOV     R1,A
+002439 900001            MOV     DPTR,#01H
+00243C 1203CF            LCALL   ?C?CLDOPTR
+00243F FF                MOV     R7,A
+002440 64E9              XRL     A,#0E9H
+002442 6005              JZ      ?C0128?KB_PROCESS
+002444 EF                MOV     A,R7
+002445 64EA              XRL     A,#0EAH
+002447 703A              JNZ     ?C0126?KB_PROCESS
+002449         ?C0128?KB_PROCESS:
+  573: 			{
+  574: 				g_variable.delay_enter_lpm_timer = 10;
+002449 904CEA            MOV     DPTR,#g_variable+02BH
+00244C 740A              MOV     A,#0AH
+00244E F0                MOVX    @DPTR,A
+  575: 				g_variable.button_flag |= KEY_FLAG_FN_DEVICE_BUTTON;
+00244F 904CCE            MOV     DPTR,#g_variable+0FH
+002452 E0                MOVX    A,@DPTR
+002453 4408              ORL     A,#08H
+002455 F0                MOVX    @DPTR,A
+  576: 				g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+002456 54EF              ANL     A,#0EFH
+002458 F0                MOVX    @DPTR,A
+  577: 				if((g_variable.current_device_num != (pEvt->ksPool[0]-(HID_KEY_BLE_1 - 1))) ||(g_variable.g24_currentState ==
 >>  CHANGE_TO_24G_CONNECTED))
-00244D 900001            MOV     DPTR,#01H
-002450 1203CF            LCALL   ?C?CLDOPTR
-002453 2418              ADD     A,#018H
-002455 FF                MOV     R7,A
-002456 904CC3            MOV     DPTR,#g_variable+04H
-002459 E0                MOVX    A,@DPTR
-00245A B50707            CJNE    A,AR7,?C0130?KB_PROCESS
-00245D 904CC5            MOV     DPTR,#g_variable+06H
-002460 E0                MOVX    A,@DPTR
-002461 B40310            CJNE    A,#03H,?C0129?KB_PROCESS
-002464         ?C0130?KB_PROCESS:
-  576: 				{
-  577: 					g_variable.current_device_num = pEvt->ksPool[0]-(HID_KEY_BLE_1 - 1);
-002464 904CC3            MOV     DPTR,#g_variable+04H
-002467 EF                MOV     A,R7
-002468 F0                MOVX    @DPTR,A
-  578: 					LED_device_poweron();
-002469 1211A5            LCALL   LED_device_poweron
-  579: 					g_variable.button_reconnect_flag = 1;		// long press = 3s enter discovery
-00246C 904CCC            MOV     DPTR,#g_variable+0DH
-00246F 7401              MOV     A,#01H
-002471 F0                MOVX    @DPTR,A
-  580: 					System_clear_timer_status();
-002472 9184              ACALL   System_clear_timer_status
-  581: 					
-  582: 				}
-002474         ?C0129?KB_PROCESS:
-  583: 				return 1;
-002474 7F01              MOV     R7,#01H
-002476 22                RET     
-  584: 			}
-002477         ?C0126?KB_PROCESS:
-  585: 
-  586: //		}
-  587: 		g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON) ;
-002477 904CCE            MOV     DPTR,#g_variable+0FH
-00247A E0                MOVX    A,@DPTR
-00247B 54E7              ANL     A,#0E7H
+002459 900001            MOV     DPTR,#01H
+00245C 1203CF            LCALL   ?C?CLDOPTR
+00245F 2418              ADD     A,#018H
+002461 FF                MOV     R7,A
+002462 904CC3            MOV     DPTR,#g_variable+04H
+002465 E0                MOVX    A,@DPTR
+002466 B50707            CJNE    A,AR7,?C0130?KB_PROCESS
+002469 904CC5            MOV     DPTR,#g_variable+06H
+00246C E0                MOVX    A,@DPTR
+00246D B40310            CJNE    A,#03H,?C0129?KB_PROCESS
+002470         ?C0130?KB_PROCESS:
+  578: 				{
+  579: 					g_variable.current_device_num = pEvt->ksPool[0]-(HID_KEY_BLE_1 - 1);
+002470 904CC3            MOV     DPTR,#g_variable+04H
+002473 EF                MOV     A,R7
+002474 F0                MOVX    @DPTR,A
+  580: 					LED_device_poweron();
+002475 1210FD            LCALL   LED_device_poweron
+  581: 					g_variable.button_reconnect_flag = 1;		// long press = 3s enter discovery
+002478 904CCC            MOV     DPTR,#g_variable+0DH
+00247B 7401              MOV     A,#01H
 00247D F0                MOVX    @DPTR,A
-  588: 		g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
-00247E 54DF              ANL     A,#0DFH
-002480 F0                MOVX    @DPTR,A
-  589: 	}
-002481         ?C0123?KB_PROCESS:
-  590: 	return 0;
-002481 7F00              MOV     R7,#00H
-  591: }
-002483 22                RET     
+  582: 					System_clear_timer_status();
+00247E 9190              ACALL   System_clear_timer_status
+  583: 					
+  584: 				}
+002480         ?C0129?KB_PROCESS:
+  585: 				return 1;
+002480 7F01              MOV     R7,#01H
+002482 22                RET     
+  586: 			}
+002483         ?C0126?KB_PROCESS:
+  587: 
+  588: //		}
+  589: 		g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON) ;
+002483 904CCE            MOV     DPTR,#g_variable+0FH
+002486 E0                MOVX    A,@DPTR
+002487 54E7              ANL     A,#0E7H
+002489 F0                MOVX    @DPTR,A
+  590: 		g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
+00248A 54DF              ANL     A,#0DFH
+00248C F0                MOVX    @DPTR,A
+  591: 	}
+00248D         ?C0123?KB_PROCESS:
+  592: 	return 0;
+00248D 7F00              MOV     R7,#00H
+  593: }
+00248F 22                RET     
 ----- FUNCTION _kb_device_select (END) -------
 
 
@@ -6646,713 +6657,699 @@
    54: {
    55: 	g_variable.powerOn_timer = 0;
    56: 	g_variable.sleepTimer = 0;
-002484 E4                CLR     A
-002485 904CE5            MOV     DPTR,#g_variable+026H
-002488 F0                MOVX    @DPTR,A
+002490 E4                CLR     A
+002491 904CE5            MOV     DPTR,#g_variable+026H
+002494 F0                MOVX    @DPTR,A
    57: 	g_variable.pairing_timeout = 0;
-002489 904CE3            MOV     DPTR,#g_variable+024H
-00248C F0                MOVX    @DPTR,A
-00248D A3                INC     DPTR
-00248E F0                MOVX    @DPTR,A
+002495 904CE3            MOV     DPTR,#g_variable+024H
+002498 F0                MOVX    @DPTR,A
+002499 A3                INC     DPTR
+00249A F0                MOVX    @DPTR,A
    58: 	g_variable.pairing_g24_timeout = 0;
-00248F 904CE9            MOV     DPTR,#g_variable+02AH
-002492 F0                MOVX    @DPTR,A
+00249B 904CE9            MOV     DPTR,#g_variable+02AH
+00249E F0                MOVX    @DPTR,A
    59: }
-002493 904CEE            MOV     DPTR,#g_variable+02FH
-002496 F0                MOVX    @DPTR,A
+00249F 904CEE            MOV     DPTR,#g_variable+02FH
+0024A2 F0                MOVX    @DPTR,A
    60: static void System_Hardware_init()
-002497 22                RET     
+0024A3 22                RET     
 ----- FUNCTION System_clear_timer_status (END) -------
 
 
 ----- FUNCTION _kb_combination_key_press (BEGIN) -----
  FILE: 'kb_process.c'
-  596: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
-  597: {
+  598: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
+  599: {
 ;---- Variable 'press_state' assigned to Register 'R7' ----
 ;---- Variable 'standrad_key' assigned to Register 'R3' ----
 ;---- Variable 'special_key' assigned to Register 'R5' ----
-  598: 	g_variable.key_combination_ctrl = special_key;	
-  599: 	g_variable.key_combination_keyvalue = standrad_key;
-002498 904CF5            MOV     DPTR,#g_variable+036H
-00249B ED                MOV     A,R5
-00249C F0                MOVX    @DPTR,A
-  600: 
-00249D A3                INC     DPTR
-00249E EB                MOV     A,R3
-00249F F0                MOVX    @DPTR,A
-  601: 	if(press_state & 1)
-0024A0 EF                MOV     A,R7
-0024A1 30E012            JNB     ACC.0,?C0131?KB_PROCESS
-  602: 	{
-  603: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
-0024A4 904CF4            MOV     DPTR,#g_variable+035H
-0024A7 E0                MOVX    A,@DPTR
-0024A8 B40304            CJNE    A,#03H,?C0132?KB_PROCESS
-  604: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
-0024AB 7402              MOV     A,#02H
-0024AD F0                MOVX    @DPTR,A
-0024AE 22                RET     
-0024AF         ?C0132?KB_PROCESS:
-  605: 		else	
-  606: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-0024AF 904CF4            MOV     DPTR,#g_variable+035H
-0024B2 7401              MOV     A,#01H
-0024B4 F0                MOVX    @DPTR,A
-  607: 	}
-0024B5 22                RET     
-0024B6         ?C0131?KB_PROCESS:
-  608: 	else
-  609: 	{
-  610: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-0024B6 904CF4            MOV     DPTR,#g_variable+035H
-0024B9 7404              MOV     A,#04H
-0024BB F0                MOVX    @DPTR,A
-  611: 	}
-  612: 
-  613: }
-0024BC 22                RET     
+  600: 	g_variable.key_combination_ctrl = special_key;	
+  601: 	g_variable.key_combination_keyvalue = standrad_key;
+0024A4 904CF5            MOV     DPTR,#g_variable+036H
+0024A7 ED                MOV     A,R5
+0024A8 F0                MOVX    @DPTR,A
+  602: 
+0024A9 A3                INC     DPTR
+0024AA EB                MOV     A,R3
+0024AB F0                MOVX    @DPTR,A
+  603: 	if(press_state & 1)
+0024AC EF                MOV     A,R7
+0024AD 30E012            JNB     ACC.0,?C0131?KB_PROCESS
+  604: 	{
+  605: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
+0024B0 904CF4            MOV     DPTR,#g_variable+035H
+0024B3 E0                MOVX    A,@DPTR
+0024B4 B40304            CJNE    A,#03H,?C0132?KB_PROCESS
+  606: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+0024B7 7402              MOV     A,#02H
+0024B9 F0                MOVX    @DPTR,A
+0024BA 22                RET     
+0024BB         ?C0132?KB_PROCESS:
+  607: 		else	
+  608: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
+0024BB 904CF4            MOV     DPTR,#g_variable+035H
+0024BE 7401              MOV     A,#01H
+0024C0 F0                MOVX    @DPTR,A
+  609: 	}
+0024C1 22                RET     
+0024C2         ?C0131?KB_PROCESS:
+  610: 	else
+  611: 	{
+  612: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
+0024C2 904CF4            MOV     DPTR,#g_variable+035H
+0024C5 7404              MOV     A,#04H
+0024C7 F0                MOVX    @DPTR,A
+  613: 	}
+  614: 
+  615: }
+0024C8 22                RET     
 ----- FUNCTION _kb_combination_key_press (END) -------
 
 
 ----- FUNCTION _key_fn_function (BEGIN) -----
  FILE: 'kb_process.c'
-  616: byte key_fn_function(byte state ,byte key_value)
-  617: {
-0024BD 904EE7            MOV     DPTR,#key_value
-0024C0 ED                MOV     A,R5
-0024C1 F0                MOVX    @DPTR,A
-0024C2 904EE6            MOV     DPTR,#state
-0024C5 EF                MOV     A,R7
-0024C6 F0                MOVX    @DPTR,A
-  618: 	byte temp = 0;
-  619: 
-0024C7 E4                CLR     A
-0024C8 904EE8            MOV     DPTR,#temp
-0024CB F0                MOVX    @DPTR,A
-  620: 	if(state & 1)
-0024CC EF                MOV     A,R7
-0024CD 30E005            JNB     ACC.0,?C0136?KB_PROCESS
-  621: 		g_variable.one_key_press_wait_release_timer = 0;
-0024D0 E4                CLR     A
-0024D1 904CF8            MOV     DPTR,#g_variable+039H
-0024D4 F0                MOVX    @DPTR,A
-0024D5         ?C0136?KB_PROCESS:
-  622: 
-  623: 	temp = key_value;
-0024D5 904EE7            MOV     DPTR,#key_value
-0024D8 E0                MOVX    A,@DPTR
-0024D9 FF                MOV     R7,A
-0024DA A3                INC     DPTR
-0024DB F0                MOVX    @DPTR,A
-  624: 	/*
-  625: 	if(g_variable.system_mode != OSMODE_WINDOWS)
-  626: 	{
-  627: 		if(key_value == HID_KEY_RIGHT_ALT)
-  628: 			temp = HID_KEY_RIGHT_GUI;
-  629: 		else if(key_value == HID_KEY_RIGHT_CTL)
-  630: 			temp = HID_KEY_RIGHT_ALT;	
-  631: 		else if(key_value == HID_KEY_LEFT_GUI)
-  632: 			temp = HID_KEY_LEFT_ALT;
-  633: 		else if(key_value == HID_KEY_LEFT_ALT)
-  634: 			temp = HID_KEY_LEFT_GUI;	
-  635: 	}
-  636: 	*/
-  637: 	if(g_variable.system_mode == OSMODE_WINDOWS)
-0024DC 904CC1            MOV     DPTR,#g_variable+02H
-0024DF E0                MOVX    A,@DPTR
-0024E0 7014              JNZ     ?C0137?KB_PROCESS
-  638: 	{
-  639: 		if(key_value == HID_MULTIKEY_OS_LOCK)
-0024E2 EF                MOV     A,R7
-0024E3 B4DA10            CJNE    A,#0DAH,?C0137?KB_PROCESS
-  640: 		{
-  641: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_L);
-0024E6 904EE6            MOV     DPTR,#state
-0024E9 E0                MOVX    A,@DPTR
-0024EA FF                MOV     R7,A
-0024EB 7B0F              MOV     R3,#0FH
-0024ED 7D08              MOV     R5,#08H
-0024EF 9198              ACALL   _kb_combination_key_press
-  642: 			temp = HID_KEY_NULL;
-0024F1 E4                CLR     A
-0024F2 904EE8            MOV     DPTR,#temp
-0024F5 F0                MOVX    @DPTR,A
-  643: 		}
-  644: 	}
-0024F6         ?C0137?KB_PROCESS:
-  645: 	if(fn_flag == 1)			// Fn lock
-0024F6 904DE2            MOV     DPTR,#fn_flag
-0024F9 E0                MOVX    A,@DPTR
-0024FA 6401              XRL     A,#01H
-0024FC 6002              JZ      $ + 4H
-0024FE A1BC              AJMP    ?C0139?KB_PROCESS
-  646: 	{
-  647: 		if((key_value == HID_KEY_Q) || (key_value == HID_KEY_W) || (key_value == HID_KEY_E)|| (key_value == HID_KEY_R))
->> 
-002500 904EE7            MOV     DPTR,#key_value
-002503 E0                MOVX    A,@DPTR
-002504 FF                MOV     R7,A
-002505 6414              XRL     A,#014H
-002507 600F              JZ      ?C0141?KB_PROCESS
-002509 EF                MOV     A,R7
-00250A 641A              XRL     A,#01AH
-00250C 600A              JZ      ?C0141?KB_PROCESS
-00250E EF                MOV     A,R7
-00250F 6408              XRL     A,#08H
-002511 6005              JZ      ?C0141?KB_PROCESS
-002513 EF                MOV     A,R7
-002514 6415              XRL     A,#015H
-002516 7044              JNZ     ?C0140?KB_PROCESS
-002518         ?C0141?KB_PROCESS:
-  648: 			{
-  649: 				if(key_value == HID_KEY_R)
-002518 EF                MOV     A,R7
-002519 B41508            CJNE    A,#015H,?C0142?KB_PROCESS
-  650: 				{
-  651: 					g_variable.system_mode = OSMODE_IOS;
-00251C 904CC1            MOV     DPTR,#g_variable+02H
-00251F 7403              MOV     A,#03H
-002521 F0                MOVX    @DPTR,A
-  652: 				}
-002522 8021              SJMP    ?C0143?KB_PROCESS
-002524         ?C0142?KB_PROCESS:
-  653: 				else if(key_value == HID_KEY_W)
-002524 EF                MOV     A,R7
-002525 B41A07            CJNE    A,#01AH,?C0144?KB_PROCESS
-  654: 				{
-  655: 					g_variable.system_mode = OSMODE_WINDOWS;
-002528 E4                CLR     A
-002529 904CC1            MOV     DPTR,#g_variable+02H
-00252C F0                MOVX    @DPTR,A
-  656: 	
+  618: byte key_fn_function(byte state ,byte key_value)
+  619: {
+0024C9 904EE7            MOV     DPTR,#key_value
+0024CC ED                MOV     A,R5
+0024CD F0                MOVX    @DPTR,A
+0024CE 904EE6            MOV     DPTR,#state
+0024D1 EF                MOV     A,R7
+0024D2 F0                MOVX    @DPTR,A
+  620: 	byte temp = 0;
+  621: 
+0024D3 E4                CLR     A
+0024D4 904EE8            MOV     DPTR,#temp
+0024D7 F0                MOVX    @DPTR,A
+  622: 	if(state & 1)
+0024D8 EF                MOV     A,R7
+0024D9 30E005            JNB     ACC.0,?C0136?KB_PROCESS
+  623: 		g_variable.one_key_press_wait_release_timer = 0;
+0024DC E4                CLR     A
+0024DD 904CF8            MOV     DPTR,#g_variable+039H
+0024E0 F0                MOVX    @DPTR,A
+0024E1         ?C0136?KB_PROCESS:
+  624: 
+  625: 	temp = key_value;
+0024E1 904EE7            MOV     DPTR,#key_value
+0024E4 E0                MOVX    A,@DPTR
+0024E5 FF                MOV     R7,A
+0024E6 A3                INC     DPTR
+0024E7 F0                MOVX    @DPTR,A
+  626: 	/*
+  627: 	if(g_variable.system_mode != OSMODE_WINDOWS)
+  628: 	{
+  629: 		if(key_value == HID_KEY_RIGHT_ALT)
+  630: 			temp = HID_KEY_RIGHT_GUI;
+  631: 		else if(key_value == HID_KEY_RIGHT_CTL)
+  632: 			temp = HID_KEY_RIGHT_ALT;	
+  633: 		else if(key_value == HID_KEY_LEFT_GUI)
+  634: 			temp = HID_KEY_LEFT_ALT;
+  635: 		else if(key_value == HID_KEY_LEFT_ALT)
+  636: 			temp = HID_KEY_LEFT_GUI;	
+  637: 	}
+  638: 	*/
+  639: 	if(g_variable.system_mode == OSMODE_WINDOWS)
+0024E8 904CC1            MOV     DPTR,#g_variable+02H
+0024EB E0                MOVX    A,@DPTR
+0024EC 7014              JNZ     ?C0137?KB_PROCESS
+  640: 	{
+  641: 		if(key_value == HID_MULTIKEY_OS_LOCK)
+0024EE EF                MOV     A,R7
+0024EF B4DA10            CJNE    A,#0DAH,?C0137?KB_PROCESS
+  642: 		{
+  643: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_L);
+0024F2 904EE6            MOV     DPTR,#state
+0024F5 E0                MOVX    A,@DPTR
+0024F6 FF                MOV     R7,A
+0024F7 7B0F              MOV     R3,#0FH
+0024F9 7D08              MOV     R5,#08H
+0024FB 91A4              ACALL   _kb_combination_key_press
+  644: 			temp = HID_KEY_NULL;
+0024FD E4                CLR     A
+0024FE 904EE8            MOV     DPTR,#temp
+002501 F0                MOVX    @DPTR,A
+  645: 		}
+  646: 	}
+002502         ?C0137?KB_PROCESS:
+  647: 	switch (key_value)
+002502 904EE7            MOV     DPTR,#key_value
+002505 E0                MOVX    A,@DPTR
+002506 2485              ADD     A,#085H
+002508 6061              JZ      ?C0148?KB_PROCESS
+00250A 24FE              ADD     A,#0FEH
+00250C 6031              JZ      ?C0144?KB_PROCESS
+00250E 04                INC     A
+00250F 6002              JZ      $ + 4H
+002511 A195              AJMP    ?C0139?KB_PROCESS
+  648: 		{ 			
+  649: 			case HID_KEY_COPY:
+002513         ?C0140?KB_PROCESS:
+  650: 				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
+002513 904CC1            MOV     DPTR,#g_variable+02H
+002516 E0                MOVX    A,@DPTR
+002517 FF                MOV     R7,A
+002518 6403              XRL     A,#03H
+00251A 6004              JZ      ?C0142?KB_PROCESS
+00251C EF                MOV     A,R7
+00251D B4020D            CJNE    A,#02H,?C0141?KB_PROCESS
+002520         ?C0142?KB_PROCESS:
+  651: 				{
+  652: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_C);				
+002520 904EE6            MOV     DPTR,#state
+002523 E0                MOVX    A,@DPTR
+002524 FF                MOV     R7,A
+002525 7B06              MOV     R3,#06H
+002527 7D08              MOV     R5,#08H
+002529 91A4              ACALL   _kb_combination_key_press
+  653: 				}
+00252B 800B              SJMP    ?C0143?KB_PROCESS
+00252D         ?C0141?KB_PROCESS:
+  654: 				else
+  655: 				{
+  656: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_C);
+00252D 904EE6            MOV     DPTR,#state
+002530 E0                MOVX    A,@DPTR
+002531 FF                MOV     R7,A
+002532 7B06              MOV     R3,#06H
+002534 7D01              MOV     R5,#01H
+002536 91A4              ACALL   _kb_combination_key_press
   657: 				}
-00252D 8016              SJMP    ?C0143?KB_PROCESS
-00252F         ?C0144?KB_PROCESS:
-  658: 				else if(key_value == HID_KEY_E)
-00252F EF                MOV     A,R7
-002530 B40808            CJNE    A,#08H,?C0146?KB_PROCESS
-  659: 				{
-  660: 					g_variable.system_mode = OSMODE_ANDROID;
-002533 904CC1            MOV     DPTR,#g_variable+02H
-002536 7401              MOV     A,#01H
-002538 F0                MOVX    @DPTR,A
-  661: 	
-  662: 				}
-002539 800A              SJMP    ?C0143?KB_PROCESS
-00253B         ?C0146?KB_PROCESS:
-  663: 				else if(key_value == HID_KEY_Q)
-00253B EF                MOV     A,R7
-00253C B41406            CJNE    A,#014H,?C0143?KB_PROCESS
-  664: 				{
-  665: 					g_variable.system_mode = OSMODE_MAC;
+002538         ?C0143?KB_PROCESS:
+  658: 				temp = HID_KEY_NULL;
+002538 E4                CLR     A
+002539 904EE8            MOV     DPTR,#temp
+00253C F0                MOVX    @DPTR,A
+  659: 				break;	
+00253D 8056              SJMP    ?C0139?KB_PROCESS
+  660: 			case HID_KEY_PASTE:
+00253F         ?C0144?KB_PROCESS:
+  661: 				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
 00253F 904CC1            MOV     DPTR,#g_variable+02H
-002542 7402              MOV     A,#02H
-002544 F0                MOVX    @DPTR,A
-  666: 	
-  667: 				}
-002545         ?C0143?KB_PROCESS:
-  668: 				temp = HID_KEY_NULL;
-002545 E4                CLR     A
-002546 904EE8            MOV     DPTR,#temp
-002549 F0                MOVX    @DPTR,A
-  669: 				IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-00254A 7B01              MOV     R3,#01H
-00254C 7A4C              MOV     R2,#HIGH g_variable+02H
-00254E 79C1              MOV     R1,#LOW g_variable+02H
-002550 7D01              MOV     R5,#01H
-002552 FC                MOV     R4,A
-002553 7FC0              MOV     R7,#0C0H
-002555 7E7F              MOV     R6,#07FH
-002557 121BBF            LCALL   _IIC_WriteBlock
-  670: 			}	
-00255A 8060              SJMP    ?C0139?KB_PROCESS
-00255C         ?C0140?KB_PROCESS:
-  671: 		else if(key_value == HID_KEY_ESC)
-00255C 904EE7            MOV     DPTR,#key_value
-00255F E0                MOVX    A,@DPTR
-002560 6429              XRL     A,#029H
-002562 7058              JNZ     ?C0139?KB_PROCESS
-  672: 			{
-  673: 				if(state & 1)
-002564 904EE6            MOV     DPTR,#state
-002567 E0                MOVX    A,@DPTR
-002568 30E04C            JNB     ACC.0,?C0151?KB_PROCESS
-  674: 				{						
-  675: 					if(fn_lock_flag)
-00256B 904DE7            MOV     DPTR,#fn_lock_flag
+002542 E0                MOVX    A,@DPTR
+002543 FF                MOV     R7,A
+002544 6403              XRL     A,#03H
+002546 6004              JZ      ?C0146?KB_PROCESS
+002548 EF                MOV     A,R7
+002549 B4020D            CJNE    A,#02H,?C0145?KB_PROCESS
+00254C         ?C0146?KB_PROCESS:
+  662: 				{
+  663: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_V);
+00254C 904EE6            MOV     DPTR,#state
+00254F E0                MOVX    A,@DPTR
+002550 FF                MOV     R7,A
+002551 7B19              MOV     R3,#019H
+002553 7D08              MOV     R5,#08H
+002555 91A4              ACALL   _kb_combination_key_press
+  664: 				}
+002557 800B              SJMP    ?C0147?KB_PROCESS
+002559         ?C0145?KB_PROCESS:
+  665: 				else
+  666: 				{
+  667: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_V);
+002559 904EE6            MOV     DPTR,#state
+00255C E0                MOVX    A,@DPTR
+00255D FF                MOV     R7,A
+00255E 7B19              MOV     R3,#019H
+002560 7D01              MOV     R5,#01H
+002562 91A4              ACALL   _kb_combination_key_press
+  668: 				}
+002564         ?C0147?KB_PROCESS:
+  669: 				temp = HID_KEY_NULL;
+002564 E4                CLR     A
+002565 904EE8            MOV     DPTR,#temp
+002568 F0                MOVX    @DPTR,A
+  670: 				break;	
+002569 802A              SJMP    ?C0139?KB_PROCESS
+  671: 			case HID_KEY_CUT:
+00256B         ?C0148?KB_PROCESS:
+  672: 				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
+00256B 904CC1            MOV     DPTR,#g_variable+02H
 00256E E0                MOVX    A,@DPTR
-00256F 6004              JZ      ?C0152?KB_PROCESS
-  676: 					{
-  677: 						fn_lock_flag = 0;
-002571 E4                CLR     A
-002572 F0                MOVX    @DPTR,A
-  678: 					}
-002573 8006              SJMP    ?C0153?KB_PROCESS
-002575         ?C0152?KB_PROCESS:
-  679: 					else
-  680: 						fn_lock_flag = 1;
-002575 904DE7            MOV     DPTR,#fn_lock_flag
-002578 7401              MOV     A,#01H
-00257A F0                MOVX    @DPTR,A
-00257B         ?C0153?KB_PROCESS:
-  681: 						
-  682: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-00257B 904CC3            MOV     DPTR,#g_variable+04H
-00257E E0                MOVX    A,@DPTR
-00257F FF                MOV     R7,A
-002580 6003              JZ      ?C0155?KB_PROCESS
-002582 B4FE08            CJNE    A,#0FEH,?C0154?KB_PROCESS
-002585         ?C0155?KB_PROCESS:
-  683: 					{
-  684: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-002585 904CBF            MOV     DPTR,#g_variable
-002588 7402              MOV     A,#02H
-00258A F0                MOVX    @DPTR,A
-  685: 					}
-00258B 802A              SJMP    ?C0151?KB_PROCESS
-00258D         ?C0154?KB_PROCESS:
-  686: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-00258D EF                MOV     A,R7
-00258E D3                SETB    C
-00258F 9403              SUBB    A,#03H
-002591 5024              JNC     ?C0151?KB_PROCESS
-002593 EF                MOV     A,R7
-002594 C3                CLR     C
-002595 9401              SUBB    A,#01H
-002597 401E              JC      ?C0151?KB_PROCESS
-  687: 					{
-  688: 						bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
-002599 904DE7            MOV     DPTR,#fn_lock_flag
-00259C E0                MOVX    A,@DPTR
-00259D FF                MOV     R7,A
-00259E 904CC3            MOV     DPTR,#g_variable+04H
-0025A1 E0                MOVX    A,@DPTR
-0025A2 75F01F            MOV     B,#01FH
-0025A5 A4                MUL     AB
-0025A6 24ED              ADD     A,#LOW bd_key_record_list-01H
-0025A8 F582              MOV     DPL,A
-0025AA E4                CLR     A
-0025AB 344D              ADDC    A,#HIGH bd_key_record_list-01H
-0025AD F583              MOV     DPH,A
-0025AF EF                MOV     A,R7
-0025B0 F0                MOVX    @DPTR,A
-  689: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-0025B1 904CBF            MOV     DPTR,#g_variable
-0025B4 7403              MOV     A,#03H
-0025B6 F0                MOVX    @DPTR,A
-  690: 					}
-  691: 				}
-0025B7         ?C0151?KB_PROCESS:
-  692: 				temp = HID_KEY_NULL;
-0025B7 E4                CLR     A
-0025B8 904EE8            MOV     DPTR,#temp
-0025BB F0                MOVX    @DPTR,A
-  693: 			}		
-  694: 	}
-0025BC         ?C0139?KB_PROCESS:
-  695: 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
-0025BC 904E55            MOV     DPTR,#fast_connect_flag
-0025BF E0                MOVX    A,@DPTR
-0025C0 6002              JZ      $ + 4H
-0025C2 E18B              AJMP    ?C0158?KB_PROCESS
-0025C4 904DE2            MOV     DPTR,#fn_flag
-0025C7 E0                MOVX    A,@DPTR
-0025C8 7006              JNZ     ?C0160?KB_PROCESS
-0025CA 904DE7            MOV     DPTR,#fn_lock_flag
-0025CD E0                MOVX    A,@DPTR
-0025CE 6014              JZ      ?C0159?KB_PROCESS
-0025D0         ?C0160?KB_PROCESS:
-0025D0 904DE2            MOV     DPTR,#fn_flag
-0025D3 E0                MOVX    A,@DPTR
-0025D4 6401              XRL     A,#01H
-0025D6 6002              JZ      $ + 4H
-0025D8 E18B              AJMP    ?C0158?KB_PROCESS
-0025DA 904DE7            MOV     DPTR,#fn_lock_flag
-0025DD E0                MOVX    A,@DPTR
-0025DE 6401              XRL     A,#01H
-0025E0 6002              JZ      $ + 4H
-0025E2 E18B              AJMP    ?C0158?KB_PROCESS
-0025E4         ?C0159?KB_PROCESS:
-  696: 	{
-  697: 		switch (key_value)
-0025E4 904EE7            MOV     DPTR,#key_value
-0025E7 E0                MOVX    A,@DPTR
-0025E8 1205B3            LCALL   ?C?CCASE
-0025EB 261C              DW      ?C0162?KB_PROCESS
-0025ED 3A                DB      03AH
-0025EE 2624              DW      ?C0163?KB_PROCESS
-0025F0 3B                DB      03BH
-0025F1 262C              DW      ?C0164?KB_PROCESS
-0025F3 3C                DB      03CH
-0025F4 2634              DW      ?C0165?KB_PROCESS
-0025F6 3D                DB      03DH
-0025F7 2692              DW      ?C0173?KB_PROCESS
-0025F9 3E                DB      03EH
-0025FA 26D1              DW      ?C0178?KB_PROCESS
-0025FC 3F                DB      03FH
-0025FD 26D9              DW      ?C0179?KB_PROCESS
-0025FF 40                DB      040H
-002600 26E1              DW      ?C0180?KB_PROCESS
-002602 41                DB      041H
-002603 26E9              DW      ?C0181?KB_PROCESS
-002605 42                DB      042H
-002606 26F1              DW      ?C0182?KB_PROCESS
-002608 43                DB      043H
-002609 26F9              DW      ?C0183?KB_PROCESS
-00260B 44                DB      044H
-00260C 2701              DW      ?C0184?KB_PROCESS
-00260E 45                DB      045H
-00260F 2761              DW      ?C0193?KB_PROCESS
-002611 7B                DB      07BH
-002612 2709              DW      ?C0185?KB_PROCESS
-002614 7C                DB      07CH
-002615 2735              DW      ?C0189?KB_PROCESS
-002617 7D                DB      07DH
-002618 0000              DW      00H
-00261A 278B              DW      ?C0158?KB_PROCESS
-  698: 		{ 	
-  699: 			case HID_KEY_F1:
-00261C         ?C0162?KB_PROCESS:
-  700: 				temp = HID_MULTIKEY_LIGHT_DOWN;	
-00261C 904EE8            MOV     DPTR,#temp
-00261F 74D7              MOV     A,#0D7H
-002621 F0                MOVX    @DPTR,A
-  701: 				break;
-002622 E18B              AJMP    ?C0158?KB_PROCESS
-  702: 			case HID_KEY_F2:
-002624         ?C0163?KB_PROCESS:
-  703: 				temp = HID_MULTIKEY_LIGHT_UP;
-002624 904EE8            MOV     DPTR,#temp
-002627 74D8              MOV     A,#0D8H
+00256F FF                MOV     R7,A
+002570 6403              XRL     A,#03H
+002572 6004              JZ      ?C0150?KB_PROCESS
+002574 EF                MOV     A,R7
+002575 B4020D            CJNE    A,#02H,?C0149?KB_PROCESS
+002578         ?C0150?KB_PROCESS:
+  673: 				{
+  674: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_X);
+002578 904EE6            MOV     DPTR,#state
+00257B E0                MOVX    A,@DPTR
+00257C FF                MOV     R7,A
+00257D 7B1B              MOV     R3,#01BH
+00257F 7D08              MOV     R5,#08H
+002581 91A4              ACALL   _kb_combination_key_press
+  675: 				}
+002583 800B              SJMP    ?C0151?KB_PROCESS
+002585         ?C0149?KB_PROCESS:
+  676: 				else
+  677: 				{
+  678: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_X);
+002585 904EE6            MOV     DPTR,#state
+002588 E0                MOVX    A,@DPTR
+002589 FF                MOV     R7,A
+00258A 7B1B              MOV     R3,#01BH
+00258C 7D01              MOV     R5,#01H
+00258E 91A4              ACALL   _kb_combination_key_press
+  679: 				}
+002590         ?C0151?KB_PROCESS:
+  680: 				temp = HID_KEY_NULL;
+002590 E4                CLR     A
+002591 904EE8            MOV     DPTR,#temp
+002594 F0                MOVX    @DPTR,A
+  681: 				break;
+  682: 			default :
+  683: 				break;	
+  684: 		}
+002595         ?C0139?KB_PROCESS:
+  685: 	if(fn_flag == 1)			// Fn lock
+002595 904DE2            MOV     DPTR,#fn_flag
+002598 E0                MOVX    A,@DPTR
+002599 6401              XRL     A,#01H
+00259B 6002              JZ      $ + 4H
+00259D C15B              AJMP    ?C0153?KB_PROCESS
+  686: 	{
+  687: 		if((key_value == HID_KEY_Q) || (key_value == HID_KEY_W) || (key_value == HID_KEY_E)|| (key_value == HID_KEY_R))
+>> 
+00259F 904EE7            MOV     DPTR,#key_value
+0025A2 E0                MOVX    A,@DPTR
+0025A3 FF                MOV     R7,A
+0025A4 6414              XRL     A,#014H
+0025A6 600F              JZ      ?C0155?KB_PROCESS
+0025A8 EF                MOV     A,R7
+0025A9 641A              XRL     A,#01AH
+0025AB 600A              JZ      ?C0155?KB_PROCESS
+0025AD EF                MOV     A,R7
+0025AE 6408              XRL     A,#08H
+0025B0 6005              JZ      ?C0155?KB_PROCESS
+0025B2 EF                MOV     A,R7
+0025B3 6415              XRL     A,#015H
+0025B5 7044              JNZ     ?C0154?KB_PROCESS
+0025B7         ?C0155?KB_PROCESS:
+  688: 			{
+  689: 				if(key_value == HID_KEY_R)
+0025B7 EF                MOV     A,R7
+0025B8 B41508            CJNE    A,#015H,?C0156?KB_PROCESS
+  690: 				{
+  691: 					g_variable.system_mode = OSMODE_IOS;
+0025BB 904CC1            MOV     DPTR,#g_variable+02H
+0025BE 7403              MOV     A,#03H
+0025C0 F0                MOVX    @DPTR,A
+  692: 				}
+0025C1 8021              SJMP    ?C0157?KB_PROCESS
+0025C3         ?C0156?KB_PROCESS:
+  693: 				else if(key_value == HID_KEY_W)
+0025C3 EF                MOV     A,R7
+0025C4 B41A07            CJNE    A,#01AH,?C0158?KB_PROCESS
+  694: 				{
+  695: 					g_variable.system_mode = OSMODE_WINDOWS;
+0025C7 E4                CLR     A
+0025C8 904CC1            MOV     DPTR,#g_variable+02H
+0025CB F0                MOVX    @DPTR,A
+  696: 	
+  697: 				}
+0025CC 8016              SJMP    ?C0157?KB_PROCESS
+0025CE         ?C0158?KB_PROCESS:
+  698: 				else if(key_value == HID_KEY_E)
+0025CE EF                MOV     A,R7
+0025CF B40808            CJNE    A,#08H,?C0160?KB_PROCESS
+  699: 				{
+  700: 					g_variable.system_mode = OSMODE_ANDROID;
+0025D2 904CC1            MOV     DPTR,#g_variable+02H
+0025D5 7401              MOV     A,#01H
+0025D7 F0                MOVX    @DPTR,A
+  701: 	
+  702: 				}
+0025D8 800A              SJMP    ?C0157?KB_PROCESS
+0025DA         ?C0160?KB_PROCESS:
+  703: 				else if(key_value == HID_KEY_Q)
+0025DA EF                MOV     A,R7
+0025DB B41406            CJNE    A,#014H,?C0157?KB_PROCESS
+  704: 				{
+  705: 					g_variable.system_mode = OSMODE_MAC;
+0025DE 904CC1            MOV     DPTR,#g_variable+02H
+0025E1 7402              MOV     A,#02H
+0025E3 F0                MOVX    @DPTR,A
+  706: 	
+  707: 				}
+0025E4         ?C0157?KB_PROCESS:
+  708: 				temp = HID_KEY_NULL;
+0025E4 E4                CLR     A
+0025E5 904EE8            MOV     DPTR,#temp
+0025E8 F0                MOVX    @DPTR,A
+  709: 				IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
+0025E9 7B01              MOV     R3,#01H
+0025EB 7A4C              MOV     R2,#HIGH g_variable+02H
+0025ED 79C1              MOV     R1,#LOW g_variable+02H
+0025EF 7D01              MOV     R5,#01H
+0025F1 FC                MOV     R4,A
+0025F2 7FC0              MOV     R7,#0C0H
+0025F4 7E7F              MOV     R6,#07FH
+0025F6 121BBF            LCALL   _IIC_WriteBlock
+  710: 			}	
+0025F9 8060              SJMP    ?C0153?KB_PROCESS
+0025FB         ?C0154?KB_PROCESS:
+  711: 		else if(key_value == HID_KEY_ESC)
+0025FB 904EE7            MOV     DPTR,#key_value
+0025FE E0                MOVX    A,@DPTR
+0025FF 6429              XRL     A,#029H
+002601 7058              JNZ     ?C0153?KB_PROCESS
+  712: 			{
+  713: 				if(state & 1)
+002603 904EE6            MOV     DPTR,#state
+002606 E0                MOVX    A,@DPTR
+002607 30E04C            JNB     ACC.0,?C0165?KB_PROCESS
+  714: 				{						
+  715: 					if(fn_lock_flag)
+00260A 904DE7            MOV     DPTR,#fn_lock_flag
+00260D E0                MOVX    A,@DPTR
+00260E 6004              JZ      ?C0166?KB_PROCESS
+  716: 					{
+  717: 						fn_lock_flag = 0;
+002610 E4                CLR     A
+002611 F0                MOVX    @DPTR,A
+  718: 					}
+002612 8006              SJMP    ?C0167?KB_PROCESS
+002614         ?C0166?KB_PROCESS:
+  719: 					else
+  720: 						fn_lock_flag = 1;
+002614 904DE7            MOV     DPTR,#fn_lock_flag
+002617 7401              MOV     A,#01H
+002619 F0                MOVX    @DPTR,A
+00261A         ?C0167?KB_PROCESS:
+  721: 						
+  722: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+00261A 904CC3            MOV     DPTR,#g_variable+04H
+00261D E0                MOVX    A,@DPTR
+00261E FF                MOV     R7,A
+00261F 6003              JZ      ?C0169?KB_PROCESS
+002621 B4FE08            CJNE    A,#0FEH,?C0168?KB_PROCESS
+002624         ?C0169?KB_PROCESS:
+  723: 					{
+  724: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+002624 904CBF            MOV     DPTR,#g_variable
+002627 7402              MOV     A,#02H
 002629 F0                MOVX    @DPTR,A
-  704: 				break;
-00262A E18B              AJMP    ?C0158?KB_PROCESS
-  705: 			case HID_KEY_F3:
-00262C         ?C0164?KB_PROCESS:
-  706: 				temp = HID_MULTIKEY_AC_HOME;
-00262C 904EE8            MOV     DPTR,#temp
-00262F 74D6              MOV     A,#0D6H
-002631 F0                MOVX    @DPTR,A
-  707: 				break;
-002632 E18B              AJMP    ?C0158?KB_PROCESS
-  708: 			case HID_KEY_F4:
-002634         ?C0165?KB_PROCESS:
-  709: 				if(g_variable.system_mode == OSMODE_WINDOWS)
-002634 904CC1            MOV     DPTR,#g_variable+02H
-002637 E0                MOVX    A,@DPTR
-002638 FE                MOV     R6,A
-002639 701A              JNZ     ?C0166?KB_PROCESS
-  710: 				{
-  711: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
-00263B 904EE6            MOV     DPTR,#state
-00263E E0                MOVX    A,@DPTR
-00263F FF                MOV     R7,A
-002640 7B2B              MOV     R3,#02BH
-002642 7D04              MOV     R5,#04H
-002644 9198              ACALL   _kb_combination_key_press
-  712: 					if(state & 1)
-002646 904EE6            MOV     DPTR,#state
-002649 E0                MOVX    A,@DPTR
-00264A 30E03E            JNB     ACC.0,?C0168?KB_PROCESS
-  713: 					{						
-  714: 						g_variable.one_key_press_wait_release_timer = 10;
-00264D 904CF8            MOV     DPTR,#g_variable+039H
-002650 740A              MOV     A,#0AH
-002652 F0                MOVX    @DPTR,A
-  715: 					}
-  716: 				}
-002653 8036              SJMP    ?C0168?KB_PROCESS
-002655         ?C0166?KB_PROCESS:
-  717: 				else if(g_variable.system_mode == OSMODE_ANDROID)
-002655 EE                MOV     A,R6
-002656 B4011A            CJNE    A,#01H,?C0169?KB_PROCESS
-  718: 				{
-  719: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
-002659 904EE6            MOV     DPTR,#state
-00265C E0                MOVX    A,@DPTR
-00265D FF                MOV     R7,A
-00265E 7B2B              MOV     R3,#02BH
-002660 7D04              MOV     R5,#04H
-002662 9198              ACALL   _kb_combination_key_press
-  720: 					if(state & 1)
-002664 904EE6            MOV     DPTR,#state
-002667 E0                MOVX    A,@DPTR
-002668 30E020            JNB     ACC.0,?C0168?KB_PROCESS
-  721: 					{						
-  722: 						g_variable.one_key_press_wait_release_timer = 10;
-00266B 904CF8            MOV     DPTR,#g_variable+039H
-00266E 740A              MOV     A,#0AH
-002670 F0                MOVX    @DPTR,A
-  723: 					}
-  724: 				}
-002671 8018              SJMP    ?C0168?KB_PROCESS
-002673         ?C0169?KB_PROCESS:
-  725: 				else 
-  726: 				{
-  727: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_TAB);
-002673 904EE6            MOV     DPTR,#state
-002676 E0                MOVX    A,@DPTR
-002677 FF                MOV     R7,A
-002678 7B2B              MOV     R3,#02BH
-00267A 7D08              MOV     R5,#08H
-00267C 9198              ACALL   _kb_combination_key_press
-  728: 					if(state & 1)
-00267E 904EE6            MOV     DPTR,#state
-002681 E0                MOVX    A,@DPTR
-002682 30E006            JNB     ACC.0,?C0168?KB_PROCESS
-  729: 					{						
-  730: 						g_variable.one_key_press_wait_release_timer = 10;
-002685 904CF8            MOV     DPTR,#g_variable+039H
-002688 740A              MOV     A,#0AH
-00268A F0                MOVX    @DPTR,A
-  731: 					}
-  732: 				}
-00268B         ?C0168?KB_PROCESS:
-  733: 				temp = HID_KEY_NULL;
-00268B E4                CLR     A
-00268C 904EE8            MOV     DPTR,#temp
-00268F F0                MOVX    @DPTR,A
-  734: 				break;
-002690 E18B              AJMP    ?C0158?KB_PROCESS
-  735: 			case HID_KEY_F5:
-002692         ?C0173?KB_PROCESS:
-  736: 				if(g_variable.system_mode == OSMODE_WINDOWS)
-002692 904CC1            MOV     DPTR,#g_variable+02H
-002695 E0                MOVX    A,@DPTR
-002696 701A              JNZ     ?C0174?KB_PROCESS
-  737: 				{
-  738: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_Z);
-002698 904EE6            MOV     DPTR,#state
-00269B E0                MOVX    A,@DPTR
-00269C FF                MOV     R7,A
-00269D 7B1D              MOV     R3,#01DH
-00269F 7D01              MOV     R5,#01H
-0026A1 9198              ACALL   _kb_combination_key_press
-  739: 					if(state & 1)
-0026A3 904EE6            MOV     DPTR,#state
-0026A6 E0                MOVX    A,@DPTR
-0026A7 30E020            JNB     ACC.0,?C0176?KB_PROCESS
-  740: 					{						
-  741: 						g_variable.one_key_press_wait_release_timer = 10;
-0026AA 904CF8            MOV     DPTR,#g_variable+039H
-0026AD 740A              MOV     A,#0AH
-0026AF F0                MOVX    @DPTR,A
-  742: 					}	
-  743: 				}
-0026B0 8018              SJMP    ?C0176?KB_PROCESS
-0026B2         ?C0174?KB_PROCESS:
-  744: 				else
-  745: 				{
-  746: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_Z);
-0026B2 904EE6            MOV     DPTR,#state
-0026B5 E0                MOVX    A,@DPTR
-0026B6 FF                MOV     R7,A
-0026B7 7B1D              MOV     R3,#01DH
-0026B9 7D08              MOV     R5,#08H
-0026BB 9198              ACALL   _kb_combination_key_press
-  747: 					if(state & 1)
-0026BD 904EE6            MOV     DPTR,#state
-0026C0 E0                MOVX    A,@DPTR
-0026C1 30E006            JNB     ACC.0,?C0176?KB_PROCESS
-  748: 					{						
-  749: 						g_variable.one_key_press_wait_release_timer = 10;
-0026C4 904CF8            MOV     DPTR,#g_variable+039H
-0026C7 740A              MOV     A,#0AH
-0026C9 F0                MOVX    @DPTR,A
-  750: 					}					
-  751: 				}
-0026CA         ?C0176?KB_PROCESS:
-  752: 				temp = HID_KEY_NULL;
-0026CA E4                CLR     A
-0026CB 904EE8            MOV     DPTR,#temp
-0026CE F0                MOVX    @DPTR,A
-  753: 				break;
-0026CF E18B              AJMP    ?C0158?KB_PROCESS
-  754: 			case HID_KEY_F6:
-0026D1         ?C0178?KB_PROCESS:
-  755: 				temp = HID_MULTIKEY_AC_SEARCH;
-0026D1 904EE8            MOV     DPTR,#temp
-0026D4 74D5              MOV     A,#0D5H
-0026D6 F0                MOVX    @DPTR,A
-  756: 				break;
-0026D7 E18B              AJMP    ?C0158?KB_PROCESS
-  757: 			case HID_KEY_F7:
-0026D9         ?C0179?KB_PROCESS:
-  758: 				temp = HID_MULTIKEY_PRE_TRACK;
-0026D9 904EE8            MOV     DPTR,#temp
-0026DC 74F4              MOV     A,#0F4H
-0026DE F0                MOVX    @DPTR,A
-  759: 				break;	
-0026DF E18B              AJMP    ?C0158?KB_PROCESS
-  760: 			case HID_KEY_F8:
-0026E1         ?C0180?KB_PROCESS:
-  761: 				temp = HID_MULTIKEY_PALY;
-0026E1 904EE8            MOV     DPTR,#temp
-0026E4 74F2              MOV     A,#0F2H
-0026E6 F0                MOVX    @DPTR,A
-  762: 				break;
-0026E7 E18B              AJMP    ?C0158?KB_PROCESS
-  763: 			case HID_KEY_F9:
-0026E9         ?C0181?KB_PROCESS:
-  764: 				temp = HID_MULTIKEY_NEXT_TRACK;
-0026E9 904EE8            MOV     DPTR,#temp
-0026EC 74F5              MOV     A,#0F5H
-0026EE F0                MOVX    @DPTR,A
-  765: 				break;
-0026EF E18B              AJMP    ?C0158?KB_PROCESS
-  766: 			case HID_KEY_F10:
-0026F1         ?C0182?KB_PROCESS:
-  767: 				temp = HID_MULTIKEY_MUTE;
-0026F1 904EE8            MOV     DPTR,#temp
-0026F4 74F8              MOV     A,#0F8H
-0026F6 F0                MOVX    @DPTR,A
-  768: 				break;
-0026F7 E18B              AJMP    ?C0158?KB_PROCESS
-  769: 			case HID_KEY_F11:
-0026F9         ?C0183?KB_PROCESS:
-  770: 				temp = HID_MULTIKEY_VOL_DOWN;
-0026F9 904EE8            MOV     DPTR,#temp
-0026FC 74F6              MOV     A,#0F6H
-0026FE F0                MOVX    @DPTR,A
-  771: 				break;
-0026FF E18B              AJMP    ?C0158?KB_PROCESS
-  772: 			case HID_KEY_F12:
-002701         ?C0184?KB_PROCESS:
-  773: 				temp = HID_MULTIKEY_VOL_UP;
-002701 904EE8            MOV     DPTR,#temp
-002704 74F7              MOV     A,#0F7H
-002706 F0                MOVX    @DPTR,A
+  725: 					}
+00262A 802A              SJMP    ?C0165?KB_PROCESS
+00262C         ?C0168?KB_PROCESS:
+  726: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+00262C EF                MOV     A,R7
+00262D D3                SETB    C
+00262E 9403              SUBB    A,#03H
+002630 5024              JNC     ?C0165?KB_PROCESS
+002632 EF                MOV     A,R7
+002633 C3                CLR     C
+002634 9401              SUBB    A,#01H
+002636 401E              JC      ?C0165?KB_PROCESS
+  727: 					{
+  728: 						bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
+002638 904DE7            MOV     DPTR,#fn_lock_flag
+00263B E0                MOVX    A,@DPTR
+00263C FF                MOV     R7,A
+00263D 904CC3            MOV     DPTR,#g_variable+04H
+002640 E0                MOVX    A,@DPTR
+002641 75F01F            MOV     B,#01FH
+002644 A4                MUL     AB
+002645 24ED              ADD     A,#LOW bd_key_record_list-01H
+002647 F582              MOV     DPL,A
+002649 E4                CLR     A
+00264A 344D              ADDC    A,#HIGH bd_key_record_list-01H
+00264C F583              MOV     DPH,A
+00264E EF                MOV     A,R7
+00264F F0                MOVX    @DPTR,A
+  729: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+002650 904CBF            MOV     DPTR,#g_variable
+002653 7403              MOV     A,#03H
+002655 F0                MOVX    @DPTR,A
+  730: 					}
+  731: 				}
+002656         ?C0165?KB_PROCESS:
+  732: 				temp = HID_KEY_NULL;
+002656 E4                CLR     A
+002657 904EE8            MOV     DPTR,#temp
+00265A F0                MOVX    @DPTR,A
+  733: 			}					
+  734: 	}
+00265B         ?C0153?KB_PROCESS:
+  735: 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
+00265B 904E55            MOV     DPTR,#fast_connect_flag
+00265E E0                MOVX    A,@DPTR
+00265F 6002              JZ      $ + 4H
+002661 E193              AJMP    ?C0172?KB_PROCESS
+002663 904DE2            MOV     DPTR,#fn_flag
+002666 E0                MOVX    A,@DPTR
+002667 7006              JNZ     ?C0174?KB_PROCESS
+002669 904DE7            MOV     DPTR,#fn_lock_flag
+00266C E0                MOVX    A,@DPTR
+00266D 6014              JZ      ?C0173?KB_PROCESS
+00266F         ?C0174?KB_PROCESS:
+00266F 904DE2            MOV     DPTR,#fn_flag
+002672 E0                MOVX    A,@DPTR
+002673 6401              XRL     A,#01H
+002675 6002              JZ      $ + 4H
+002677 E193              AJMP    ?C0172?KB_PROCESS
+002679 904DE7            MOV     DPTR,#fn_lock_flag
+00267C E0                MOVX    A,@DPTR
+00267D 6401              XRL     A,#01H
+00267F 6002              JZ      $ + 4H
+002681 E193              AJMP    ?C0172?KB_PROCESS
+002683         ?C0173?KB_PROCESS:
+  736: 	{
+  737: 		switch (key_value)
+002683 904EE7            MOV     DPTR,#key_value
+002686 E0                MOVX    A,@DPTR
+002687 24C6              ADD     A,#0C6H
+002689 B40C00            CJNE    A,#0CH,?C0261?KB_PROCESS
+00268C         ?C0261?KB_PROCESS:
+00268C 4002              JC      $ + 4H
+00268E E193              AJMP    ?C0172?KB_PROCESS
+002690 90269E            MOV     DPTR,#0269EH
+002693 75F003            MOV     B,#03H
+002696 A4                MUL     AB
+002697 C583              XCH     A,DPH
+002699 25F0              ADD     A,B
+00269B C583              XCH     A,DPH
+00269D 73                JMP     @A+DPTR
+00269E         ?C0262?KB_PROCESS:
+00269E 0226C2            LJMP    ?C0176?KB_PROCESS
+0026A1 0226CA            LJMP    ?C0177?KB_PROCESS
+0026A4 0226D2            LJMP    ?C0178?KB_PROCESS
+0026A7 0226DA            LJMP    ?C0179?KB_PROCESS
+0026AA 022738            LJMP    ?C0187?KB_PROCESS
+0026AD 02275D            LJMP    ?C0190?KB_PROCESS
+0026B0 022765            LJMP    ?C0191?KB_PROCESS
+0026B3 02276D            LJMP    ?C0192?KB_PROCESS
+0026B6 022775            LJMP    ?C0193?KB_PROCESS
+0026B9 02277D            LJMP    ?C0194?KB_PROCESS
+0026BC 022785            LJMP    ?C0195?KB_PROCESS
+0026BF 02278D            LJMP    ?C0196?KB_PROCESS
+  738: 		{ 	
+  739: 			case HID_KEY_F1:
+0026C2         ?C0176?KB_PROCESS:
+  740: 				temp = HID_MULTIKEY_LIGHT_DOWN;	
+0026C2 904EE8            MOV     DPTR,#temp
+0026C5 74D7              MOV     A,#0D7H
+0026C7 F0                MOVX    @DPTR,A
+  741: 				break;
+0026C8 E193              AJMP    ?C0172?KB_PROCESS
+  742: 			case HID_KEY_F2:
+0026CA         ?C0177?KB_PROCESS:
+  743: 				temp = HID_MULTIKEY_LIGHT_UP;
+0026CA 904EE8            MOV     DPTR,#temp
+0026CD 74D8              MOV     A,#0D8H
+0026CF F0                MOVX    @DPTR,A
+  744: 				break;
+0026D0 E193              AJMP    ?C0172?KB_PROCESS
+  745: 			case HID_KEY_F3:
+0026D2         ?C0178?KB_PROCESS:
+  746: 				temp = HID_MULTIKEY_AC_HOME;
+0026D2 904EE8            MOV     DPTR,#temp
+0026D5 74D6              MOV     A,#0D6H
+0026D7 F0                MOVX    @DPTR,A
+  747: 				break;
+0026D8 E193              AJMP    ?C0172?KB_PROCESS
+  748: 			case HID_KEY_F4:
+0026DA         ?C0179?KB_PROCESS:
+  749: 				if(g_variable.system_mode == OSMODE_WINDOWS)
+0026DA 904CC1            MOV     DPTR,#g_variable+02H
+0026DD E0                MOVX    A,@DPTR
+0026DE FE                MOV     R6,A
+0026DF 701A              JNZ     ?C0180?KB_PROCESS
+  750: 				{
+  751: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
+0026E1 904EE6            MOV     DPTR,#state
+0026E4 E0                MOVX    A,@DPTR
+0026E5 FF                MOV     R7,A
+0026E6 7B2B              MOV     R3,#02BH
+0026E8 7D04              MOV     R5,#04H
+0026EA 91A4              ACALL   _kb_combination_key_press
+  752: 					if(state & 1)
+0026EC 904EE6            MOV     DPTR,#state
+0026EF E0                MOVX    A,@DPTR
+0026F0 30E03E            JNB     ACC.0,?C0182?KB_PROCESS
+  753: 					{						
+  754: 						g_variable.one_key_press_wait_release_timer = 10;
+0026F3 904CF8            MOV     DPTR,#g_variable+039H
+0026F6 740A              MOV     A,#0AH
+0026F8 F0                MOVX    @DPTR,A
+  755: 					}
+  756: 				}
+0026F9 8036              SJMP    ?C0182?KB_PROCESS
+0026FB         ?C0180?KB_PROCESS:
+  757: 				else if(g_variable.system_mode == OSMODE_ANDROID)
+0026FB EE                MOV     A,R6
+0026FC B4011A            CJNE    A,#01H,?C0183?KB_PROCESS
+  758: 				{
+  759: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
+0026FF 904EE6            MOV     DPTR,#state
+002702 E0                MOVX    A,@DPTR
+002703 FF                MOV     R7,A
+002704 7B2B              MOV     R3,#02BH
+002706 7D04              MOV     R5,#04H
+002708 91A4              ACALL   _kb_combination_key_press
+  760: 					if(state & 1)
+00270A 904EE6            MOV     DPTR,#state
+00270D E0                MOVX    A,@DPTR
+00270E 30E020            JNB     ACC.0,?C0182?KB_PROCESS
+  761: 					{						
+  762: 						g_variable.one_key_press_wait_release_timer = 10;
+002711 904CF8            MOV     DPTR,#g_variable+039H
+002714 740A              MOV     A,#0AH
+002716 F0                MOVX    @DPTR,A
+  763: 					}
+  764: 				}
+002717 8018              SJMP    ?C0182?KB_PROCESS
+002719         ?C0183?KB_PROCESS:
+  765: 				else 
+  766: 				{
+  767: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_TAB);
+002719 904EE6            MOV     DPTR,#state
+00271C E0                MOVX    A,@DPTR
+00271D FF                MOV     R7,A
+00271E 7B2B              MOV     R3,#02BH
+002720 7D08              MOV     R5,#08H
+002722 91A4              ACALL   _kb_combination_key_press
+  768: 					if(state & 1)
+002724 904EE6            MOV     DPTR,#state
+002727 E0                MOVX    A,@DPTR
+002728 30E006            JNB     ACC.0,?C0182?KB_PROCESS
+  769: 					{						
+  770: 						g_variable.one_key_press_wait_release_timer = 10;
+00272B 904CF8            MOV     DPTR,#g_variable+039H
+00272E 740A              MOV     A,#0AH
+002730 F0                MOVX    @DPTR,A
+  771: 					}
+  772: 				}
+002731         ?C0182?KB_PROCESS:
+  773: 				temp = HID_KEY_NULL;
+002731 E4                CLR     A
+002732 904EE8            MOV     DPTR,#temp
+002735 F0                MOVX    @DPTR,A
   774: 				break;
-002707 E18B              AJMP    ?C0158?KB_PROCESS
-  775: 			case HID_KEY_COPY:
-002709         ?C0185?KB_PROCESS:
-  776: 				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
-002709 904CC1            MOV     DPTR,#g_variable+02H
-00270C E0                MOVX    A,@DPTR
-00270D FF                MOV     R7,A
-00270E 6403              XRL     A,#03H
-002710 6004              JZ      ?C0187?KB_PROCESS
-002712 EF                MOV     A,R7
-002713 B4020D            CJNE    A,#02H,?C0186?KB_PROCESS
-002716         ?C0187?KB_PROCESS:
+002736 805B              SJMP    ?C0172?KB_PROCESS
+  775: 			case HID_KEY_F5:
+002738         ?C0187?KB_PROCESS:
+  776: 				if(g_variable.system_mode == OSMODE_WINDOWS)
+002738 904CC1            MOV     DPTR,#g_variable+02H
+00273B E0                MOVX    A,@DPTR
+00273C 700D              JNZ     ?C0188?KB_PROCESS
   777: 				{
-  778: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_C);				
-002716 904EE6            MOV     DPTR,#state
-002719 E0                MOVX    A,@DPTR
-00271A FF                MOV     R7,A
-00271B 7B06              MOV     R3,#06H
-00271D 7D08              MOV     R5,#08H
-00271F 9198              ACALL   _kb_combination_key_press
+  778: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_Z);	
+00273E 904EE6            MOV     DPTR,#state
+002741 E0                MOVX    A,@DPTR
+002742 FF                MOV     R7,A
+002743 7B1D              MOV     R3,#01DH
+002745 7D01              MOV     R5,#01H
+002747 91A4              ACALL   _kb_combination_key_press
   779: 				}
-002721 800B              SJMP    ?C0188?KB_PROCESS
-002723         ?C0186?KB_PROCESS:
+002749 800B              SJMP    ?C0189?KB_PROCESS
+00274B         ?C0188?KB_PROCESS:
   780: 				else
   781: 				{
-  782: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_C);
-002723 904EE6            MOV     DPTR,#state
-002726 E0                MOVX    A,@DPTR
-002727 FF                MOV     R7,A
-002728 7B06              MOV     R3,#06H
-00272A 7D01              MOV     R5,#01H
-00272C 9198              ACALL   _kb_combination_key_press
+  782: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_Z);				
+00274B 904EE6            MOV     DPTR,#state
+00274E E0                MOVX    A,@DPTR
+00274F FF                MOV     R7,A
+002750 7B1D              MOV     R3,#01DH
+002752 7D08              MOV     R5,#08H
+002754 91A4              ACALL   _kb_combination_key_press
   783: 				}
-00272E         ?C0188?KB_PROCESS:
+002756         ?C0189?KB_PROCESS:
   784: 				temp = HID_KEY_NULL;
-00272E E4                CLR     A
-00272F 904EE8            MOV     DPTR,#temp
-002732 F0                MOVX    @DPTR,A
-  785: 				break;	
-002733 8056              SJMP    ?C0158?KB_PROCESS
-  786: 			case HID_KEY_PASTE:
-002735         ?C0189?KB_PROCESS:
-  787: 				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
-002735 904CC1            MOV     DPTR,#g_variable+02H
-002738 E0                MOVX    A,@DPTR
-002739 FF                MOV     R7,A
-00273A 6403              XRL     A,#03H
-00273C 6004              JZ      ?C0191?KB_PROCESS
-00273E EF                MOV     A,R7
-00273F B4020D            CJNE    A,#02H,?C0190?KB_PROCESS
-002742         ?C0191?KB_PROCESS:
-  788: 				{
-  789: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_V);
-002742 904EE6            MOV     DPTR,#state
-002745 E0                MOVX    A,@DPTR
-002746 FF                MOV     R7,A
-002747 7B19              MOV     R3,#019H
-002749 7D08              MOV     R5,#08H
-00274B 9198              ACALL   _kb_combination_key_press
-  790: 				}
-00274D 800B              SJMP    ?C0192?KB_PROCESS
-00274F         ?C0190?KB_PROCESS:
-  791: 				else
-  792: 				{
-  793: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_V);
-00274F 904EE6            MOV     DPTR,#state
-002752 E0                MOVX    A,@DPTR
-002753 FF                MOV     R7,A
-002754 7B19              MOV     R3,#019H
-002756 7D01              MOV     R5,#01H
-002758 9198              ACALL   _kb_combination_key_press
-  794: 				}
-00275A         ?C0192?KB_PROCESS:
-  795: 				temp = HID_KEY_NULL;
-00275A E4                CLR     A
-00275B 904EE8            MOV     DPTR,#temp
-00275E F0                MOVX    @DPTR,A
-  796: 				break;	
-00275F 802A              SJMP    ?C0158?KB_PROCESS
-  797: 			case HID_KEY_CUT:
-002761         ?C0193?KB_PROCESS:
-  798: 				if((g_variable.system_mode == OSMODE_IOS)||(g_variable.system_mode == OSMODE_MAC))
-002761 904CC1            MOV     DPTR,#g_variable+02H
-002764 E0                MOVX    A,@DPTR
-002765 FF                MOV     R7,A
-002766 6403              XRL     A,#03H
-002768 6004              JZ      ?C0195?KB_PROCESS
-00276A EF                MOV     A,R7
-00276B B4020D            CJNE    A,#02H,?C0194?KB_PROCESS
-00276E         ?C0195?KB_PROCESS:
-  799: 				{
-  800: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_X);
-00276E 904EE6            MOV     DPTR,#state
-002771 E0                MOVX    A,@DPTR
-002772 FF                MOV     R7,A
-002773 7B1B              MOV     R3,#01BH
-002775 7D08              MOV     R5,#08H
-002777 9198              ACALL   _kb_combination_key_press
-  801: 				}
-002779 800B              SJMP    ?C0196?KB_PROCESS
-00277B         ?C0194?KB_PROCESS:
-  802: 				else
-  803: 				{
-  804: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_X);
-00277B 904EE6            MOV     DPTR,#state
-00277E E0                MOVX    A,@DPTR
-00277F FF                MOV     R7,A
-002780 7B1B              MOV     R3,#01BH
-002782 7D01              MOV     R5,#01H
-002784 9198              ACALL   _kb_combination_key_press
-  805: 				}
-002786         ?C0196?KB_PROCESS:
-  806: 				temp = HID_KEY_NULL;
-002786 E4                CLR     A
-002787 904EE8            MOV     DPTR,#temp
+002756 E4                CLR     A
+002757 904EE8            MOV     DPTR,#temp
+00275A F0                MOVX    @DPTR,A
+  785: 				break;
+00275B 8036              SJMP    ?C0172?KB_PROCESS
+  786: 			case HID_KEY_F6:
+00275D         ?C0190?KB_PROCESS:
+  787: 				temp = HID_MULTIKEY_AC_SEARCH;
+00275D 904EE8            MOV     DPTR,#temp
+002760 74D5              MOV     A,#0D5H
+002762 F0                MOVX    @DPTR,A
+  788: 				break;
+002763 802E              SJMP    ?C0172?KB_PROCESS
+  789: 			case HID_KEY_F7:
+002765         ?C0191?KB_PROCESS:
+  790: 				temp = HID_MULTIKEY_PRE_TRACK;
+002765 904EE8            MOV     DPTR,#temp
+002768 74F4              MOV     A,#0F4H
+00276A F0                MOVX    @DPTR,A
+  791: 				break;	
+00276B 8026              SJMP    ?C0172?KB_PROCESS
+  792: 			case HID_KEY_F8:
+00276D         ?C0192?KB_PROCESS:
+  793: 				temp = HID_MULTIKEY_PALY;
+00276D 904EE8            MOV     DPTR,#temp
+002770 74F2              MOV     A,#0F2H
+002772 F0                MOVX    @DPTR,A
+  794: 				break;
+002773 801E              SJMP    ?C0172?KB_PROCESS
+  795: 			case HID_KEY_F9:
+002775         ?C0193?KB_PROCESS:
+  796: 				temp = HID_MULTIKEY_NEXT_TRACK;
+002775 904EE8            MOV     DPTR,#temp
+002778 74F5              MOV     A,#0F5H
+00277A F0                MOVX    @DPTR,A
+  797: 				break;
+00277B 8016              SJMP    ?C0172?KB_PROCESS
+  798: 			case HID_KEY_F10:
+00277D         ?C0194?KB_PROCESS:
+  799: 				temp = HID_MULTIKEY_MUTE;
+00277D 904EE8            MOV     DPTR,#temp
+002780 74F8              MOV     A,#0F8H
+002782 F0                MOVX    @DPTR,A
+  800: 				break;
+002783 800E              SJMP    ?C0172?KB_PROCESS
+  801: 			case HID_KEY_F11:
+002785         ?C0195?KB_PROCESS:
+  802: 				temp = HID_MULTIKEY_VOL_DOWN;
+002785 904EE8            MOV     DPTR,#temp
+002788 74F6              MOV     A,#0F6H
 00278A F0                MOVX    @DPTR,A
-  807: 				break;					
-  808: 			default :
-  809: 				break;
-  810: 		}
-  811: 	}
-00278B         ?C0158?KB_PROCESS:
-  812: 
-  813: 	return temp;
-00278B 904EE8            MOV     DPTR,#temp
-00278E E0                MOVX    A,@DPTR
-00278F FF                MOV     R7,A
-  814: }
-002790 22                RET     
+  803: 				break;
+00278B 8006              SJMP    ?C0172?KB_PROCESS
+  804: 			case HID_KEY_F12:
+00278D         ?C0196?KB_PROCESS:
+  805: 				temp = HID_MULTIKEY_VOL_UP;
+00278D 904EE8            MOV     DPTR,#temp
+002790 74F7              MOV     A,#0F7H
+002792 F0                MOVX    @DPTR,A
+  806: 				break;			
+  807: 			default :
+  808: 				break;
+  809: 		}
+  810: 	}
+002793         ?C0172?KB_PROCESS:
+  811: 
+  812: 	return temp;
+002793 904EE8            MOV     DPTR,#temp
+002796 E0                MOVX    A,@DPTR
+002797 FF                MOV     R7,A
+  813: }
+002798 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
@@ -7364,23 +7361,23 @@
    26: 	unsigned char c;
    27: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-002791 E4                CLR     A
-002792 FE                MOV     R6,A
-002793         ?C0001?KEYSCAN:
-002793 EF                MOV     A,R7
-002794 6006              JZ      ?C0002?KEYSCAN
+002799 E4                CLR     A
+00279A FE                MOV     R6,A
+00279B         ?C0001?KEYSCAN:
+00279B EF                MOV     A,R7
+00279C 6006              JZ      ?C0002?KEYSCAN
    28:     	v &= v - 1;
-002796 14                DEC     A
-002797 5F                ANL     A,R7
-002798 FF                MOV     R7,A
+00279E 14                DEC     A
+00279F 5F                ANL     A,R7
+0027A0 FF                MOV     R7,A
    29:     }
-002799 0E                INC     R6
-00279A 80F7              SJMP    ?C0001?KEYSCAN
-00279C         ?C0002?KEYSCAN:
+0027A1 0E                INC     R6
+0027A2 80F7              SJMP    ?C0001?KEYSCAN
+0027A4         ?C0002?KEYSCAN:
    30:     return c;
-00279C AF06              MOV     R7,AR6
+0027A4 AF06              MOV     R7,AR6
    31: }
-00279E 22                RET     
+0027A6 22                RET     
 ----- FUNCTION _bit_count (END) -------
 
 
@@ -7392,41 +7389,41 @@
    37: 	byte i = 0;
    38: 
 ;---- Variable 'i' assigned to Register 'R6' ----
-00279F E4                CLR     A
-0027A0 FE                MOV     R6,A
+0027A7 E4                CLR     A
+0027A8 FE                MOV     R6,A
    39: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-0027A1 EF                MOV     A,R7
-0027A2 C3                CLR     C
-0027A3 94E0              SUBB    A,#0E0H
-0027A5 4020              JC      ?C0005?KEYSCAN
-0027A7 EF                MOV     A,R7
-0027A8 D3                SETB    C
-0027A9 94E7              SUBB    A,#0E7H
-0027AB 501A              JNC     ?C0005?KEYSCAN
+0027A9 EF                MOV     A,R7
+0027AA C3                CLR     C
+0027AB 94E0              SUBB    A,#0E0H
+0027AD 4020              JC      ?C0005?KEYSCAN
+0027AF EF                MOV     A,R7
+0027B0 D3                SETB    C
+0027B1 94E7              SUBB    A,#0E7H
+0027B3 501A              JNC     ?C0005?KEYSCAN
    40: 	{
    41: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
-0027AD 904EA4            MOV     DPTR,#ksEvtPool
-0027B0 E0                MOVX    A,@DPTR
-0027B1 FE                MOV     R6,A
-0027B2 EF                MOV     A,R7
-0027B3 5407              ANL     A,#07H
-0027B5 FF                MOV     R7,A
-0027B6 7401              MOV     A,#01H
-0027B8 A807              MOV     R0,AR7
-0027BA 08                INC     R0
-0027BB 8002              SJMP    ?C0093?KEYSCAN
-0027BD         ?C0092?KEYSCAN:
-0027BD C3                CLR     C
-0027BE 33                RLC     A
-0027BF         ?C0093?KEYSCAN:
-0027BF D8FC              DJNZ    R0,?C0092?KEYSCAN
-0027C1 4E                ORL     A,R6
-0027C2 904EA4            MOV     DPTR,#ksEvtPool
-0027C5 F0                MOVX    @DPTR,A
-0027C6 22                RET     
+0027B5 904EA4            MOV     DPTR,#ksEvtPool
+0027B8 E0                MOVX    A,@DPTR
+0027B9 FE                MOV     R6,A
+0027BA EF                MOV     A,R7
+0027BB 5407              ANL     A,#07H
+0027BD FF                MOV     R7,A
+0027BE 7401              MOV     A,#01H
+0027C0 A807              MOV     R0,AR7
+0027C2 08                INC     R0
+0027C3 8002              SJMP    ?C0093?KEYSCAN
+0027C5         ?C0092?KEYSCAN:
+0027C5 C3                CLR     C
+0027C6 33                RLC     A
+0027C7         ?C0093?KEYSCAN:
+0027C7 D8FC              DJNZ    R0,?C0092?KEYSCAN
+0027C9 4E                ORL     A,R6
+0027CA 904EA4            MOV     DPTR,#ksEvtPool
+0027CD F0                MOVX    @DPTR,A
+0027CE 22                RET     
    42: 		return;
    43: 	}
-0027C7         ?C0005?KEYSCAN:
+0027CF         ?C0005?KEYSCAN:
    44: /*
    45: 
    46: 	if (key == HID_KEY_RIGHT_GUI)
@@ -7473,52 +7470,52 @@
    87: 	//special key
    88: 
    89: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-0027C7 E4                CLR     A
-0027C8 FE                MOV     R6,A
-0027C9         ?C0007?KEYSCAN:
+0027CF E4                CLR     A
+0027D0 FE                MOV     R6,A
+0027D1         ?C0007?KEYSCAN:
    90: 	{
    91: 		if (ksEvtPool.ksPool[i] == key)
-0027C9 74A5              MOV     A,#LOW ksEvtPool+01H
-0027CB 2E                ADD     A,R6
-0027CC F582              MOV     DPL,A
-0027CE E4                CLR     A
-0027CF 344E              ADDC    A,#HIGH ksEvtPool+01H
-0027D1 F583              MOV     DPH,A
-0027D3 E0                MOVX    A,@DPTR
-0027D4 FD                MOV     R5,A
-0027D5 6F                XRL     A,R7
-0027D6 601C              JZ      ?C0006?KEYSCAN
+0027D1 74A5              MOV     A,#LOW ksEvtPool+01H
+0027D3 2E                ADD     A,R6
+0027D4 F582              MOV     DPL,A
+0027D6 E4                CLR     A
+0027D7 344E              ADDC    A,#HIGH ksEvtPool+01H
+0027D9 F583              MOV     DPH,A
+0027DB E0                MOVX    A,@DPTR
+0027DC FD                MOV     R5,A
+0027DD 6F                XRL     A,R7
+0027DE 601C              JZ      ?C0006?KEYSCAN
    92: 			break;
-0027D8         ?C0010?KEYSCAN:
+0027E0         ?C0010?KEYSCAN:
    93: 		if (ksEvtPool.ksPool[i] == 0) 
-0027D8 ED                MOV     A,R5
-0027D9 7014              JNZ     ?C0009?KEYSCAN
+0027E0 ED                MOV     A,R5
+0027E1 7014              JNZ     ?C0009?KEYSCAN
    94: 		{
    95: 			if(mult_key_value != key)
-0027DB 904DED            MOV     DPTR,#mult_key_value
-0027DE E0                MOVX    A,@DPTR
-0027DF 6F                XRL     A,R7
-0027E0 6012              JZ      ?C0006?KEYSCAN
+0027E3 904DED            MOV     DPTR,#mult_key_value
+0027E6 E0                MOVX    A,@DPTR
+0027E7 6F                XRL     A,R7
+0027E8 6012              JZ      ?C0006?KEYSCAN
    96: 				ksEvtPool.ksPool[i] = key;
-0027E2 74A5              MOV     A,#LOW ksEvtPool+01H
-0027E4 2E                ADD     A,R6
-0027E5 F582              MOV     DPL,A
-0027E7 E4                CLR     A
-0027E8 344E              ADDC    A,#HIGH ksEvtPool+01H
-0027EA F583              MOV     DPH,A
-0027EC EF                MOV     A,R7
-0027ED F0                MOVX    @DPTR,A
+0027EA 74A5              MOV     A,#LOW ksEvtPool+01H
+0027EC 2E                ADD     A,R6
+0027ED F582              MOV     DPL,A
+0027EF E4                CLR     A
+0027F0 344E              ADDC    A,#HIGH ksEvtPool+01H
+0027F2 F583              MOV     DPH,A
+0027F4 EF                MOV     A,R7
+0027F5 F0                MOVX    @DPTR,A
    97: 			break;
-0027EE 22                RET     
+0027F6 22                RET     
    98: 		}
    99: 	}
-0027EF         ?C0009?KEYSCAN:
-0027EF 0E                INC     R6
-0027F0 EE                MOV     A,R6
-0027F1 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
+0027F7         ?C0009?KEYSCAN:
+0027F7 0E                INC     R6
+0027F8 EE                MOV     A,R6
+0027F9 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
   100: }
-0027F4         ?C0006?KEYSCAN:
-0027F4 22                RET     
+0027FC         ?C0006?KEYSCAN:
+0027FC 22                RET     
 ----- FUNCTION _keyIn (END) -------
 
 
@@ -7530,75 +7527,75 @@
   104: 	byte i = 0 ;
   105: 	byte found = 0;
 ;---- Variable 'i' assigned to Register 'R6' ----
-0027F5 E4                CLR     A
-0027F6 FE                MOV     R6,A
+0027FD E4                CLR     A
+0027FE FE                MOV     R6,A
   106: 
 ;---- Variable 'found' assigned to Register 'R5' ----
-0027F7 FD                MOV     R5,A
+0027FF FD                MOV     R5,A
   107: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
-0027F8 EF                MOV     A,R7
-0027F9 54F0              ANL     A,#0F0H
-0027FB 64F0              XRL     A,#0F0H
-0027FD 6007              JZ      ?C0014?KEYSCAN
-0027FF EF                MOV     A,R7
-002800 54D0              ANL     A,#0D0H
-002802 FC                MOV     R4,A
-002803 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
-002806         ?C0014?KEYSCAN:
+002800 EF                MOV     A,R7
+002801 54F0              ANL     A,#0F0H
+002803 64F0              XRL     A,#0F0H
+002805 6007              JZ      ?C0014?KEYSCAN
+002807 EF                MOV     A,R7
+002808 54D0              ANL     A,#0D0H
+00280A FC                MOV     R4,A
+00280B BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
+00280E         ?C0014?KEYSCAN:
   108: 	{
   109: 		if(mult_key_status == KEY_WAIT_RELEASE)
-002806 904E4B            MOV     DPTR,#mult_key_status
-002809 E0                MOVX    A,@DPTR
-00280A B4020B            CJNE    A,#02H,?C0016?KEYSCAN
+00280E 904E4B            MOV     DPTR,#mult_key_status
+002811 E0                MOVX    A,@DPTR
+002812 B4020B            CJNE    A,#02H,?C0016?KEYSCAN
   110: 		{
   111: 			mult_key_status = KEY_RELEASE;
-00280D 7403              MOV     A,#03H
-00280F F0                MOVX    @DPTR,A
+002815 7403              MOV     A,#03H
+002817 F0                MOVX    @DPTR,A
   112: 		}
   113: 	}
-002810 8006              SJMP    ?C0016?KEYSCAN
-002812         ?C0013?KEYSCAN:
+002818 8006              SJMP    ?C0016?KEYSCAN
+00281A         ?C0013?KEYSCAN:
   114: 	else
   115: 		standard_key_release_flag = 1;
-002812 904DDF            MOV     DPTR,#standard_key_release_flag
-002815 7401              MOV     A,#01H
-002817 F0                MOVX    @DPTR,A
-002818         ?C0016?KEYSCAN:
+00281A 904DDF            MOV     DPTR,#standard_key_release_flag
+00281D 7401              MOV     A,#01H
+00281F F0                MOVX    @DPTR,A
+002820         ?C0016?KEYSCAN:
   116: 
   117: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-002818 EF                MOV     A,R7
-002819 C3                CLR     C
-00281A 94E0              SUBB    A,#0E0H
-00281C 4021              JC      ?C0017?KEYSCAN
-00281E EF                MOV     A,R7
-00281F D3                SETB    C
-002820 94E7              SUBB    A,#0E7H
-002822 501B              JNC     ?C0017?KEYSCAN
+002820 EF                MOV     A,R7
+002821 C3                CLR     C
+002822 94E0              SUBB    A,#0E0H
+002824 4021              JC      ?C0017?KEYSCAN
+002826 EF                MOV     A,R7
+002827 D3                SETB    C
+002828 94E7              SUBB    A,#0E7H
+00282A 501B              JNC     ?C0017?KEYSCAN
   118: 	{
   119: 		ksEvtPool.standardSel  &= ~(0x01 << (key & 0x07));
-002824 904EA4            MOV     DPTR,#ksEvtPool
-002827 E0                MOVX    A,@DPTR
-002828 FE                MOV     R6,A
-002829 EF                MOV     A,R7
-00282A 5407              ANL     A,#07H
-00282C FF                MOV     R7,A
-00282D 7401              MOV     A,#01H
-00282F A807              MOV     R0,AR7
-002831 08                INC     R0
-002832 8002              SJMP    ?C0095?KEYSCAN
-002834         ?C0094?KEYSCAN:
-002834 C3                CLR     C
-002835 33                RLC     A
-002836         ?C0095?KEYSCAN:
-002836 D8FC              DJNZ    R0,?C0094?KEYSCAN
-002838 F4                CPL     A
-002839 5E                ANL     A,R6
-00283A 904EA4            MOV     DPTR,#ksEvtPool
-00283D F0                MOVX    @DPTR,A
-00283E 22                RET     
+00282C 904EA4            MOV     DPTR,#ksEvtPool
+00282F E0                MOVX    A,@DPTR
+002830 FE                MOV     R6,A
+002831 EF                MOV     A,R7
+002832 5407              ANL     A,#07H
+002834 FF                MOV     R7,A
+002835 7401              MOV     A,#01H
+002837 A807              MOV     R0,AR7
+002839 08                INC     R0
+00283A 8002              SJMP    ?C0095?KEYSCAN
+00283C         ?C0094?KEYSCAN:
+00283C C3                CLR     C
+00283D 33                RLC     A
+00283E         ?C0095?KEYSCAN:
+00283E D8FC              DJNZ    R0,?C0094?KEYSCAN
+002840 F4                CPL     A
+002841 5E                ANL     A,R6
+002842 904EA4            MOV     DPTR,#ksEvtPool
+002845 F0                MOVX    @DPTR,A
+002846 22                RET     
   120: 		return;
   121: 	}
-00283F         ?C0017?KEYSCAN:
+002847         ?C0017?KEYSCAN:
   122: 	
   123: 
   124: /*
@@ -7644,94 +7641,94 @@
   164: 	}
   165: */	
   166: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-00283F E4                CLR     A
-002840 FE                MOV     R6,A
-002841         ?C0019?KEYSCAN:
+002847 E4                CLR     A
+002848 FE                MOV     R6,A
+002849         ?C0019?KEYSCAN:
   167: 	{
   168: 		if (found == 0) 
-002841 ED                MOV     A,R5
-002842 7021              JNZ     ?C0022?KEYSCAN
+002849 ED                MOV     A,R5
+00284A 7021              JNZ     ?C0022?KEYSCAN
   169: 		{
   170: 			if (ksEvtPool.ksPool[i] == key) {
-002844 74A5              MOV     A,#LOW ksEvtPool+01H
-002846 2E                ADD     A,R6
-002847 F582              MOV     DPL,A
-002849 E4                CLR     A
-00284A 344E              ADDC    A,#HIGH ksEvtPool+01H
-00284C F583              MOV     DPH,A
-00284E E0                MOVX    A,@DPTR
-00284F 6F                XRL     A,R7
-002850 7047              JNZ     ?C0021?KEYSCAN
+00284C 74A5              MOV     A,#LOW ksEvtPool+01H
+00284E 2E                ADD     A,R6
+00284F F582              MOV     DPL,A
+002851 E4                CLR     A
+002852 344E              ADDC    A,#HIGH ksEvtPool+01H
+002854 F583              MOV     DPH,A
+002856 E0                MOVX    A,@DPTR
+002857 6F                XRL     A,R7
+002858 7047              JNZ     ?C0021?KEYSCAN
   171: 				if (i == KS_BUFF_POLL_LEN-1) {
-002852 EE                MOV     A,R6
-002853 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
+00285A EE                MOV     A,R6
+00285B B4050B            CJNE    A,#05H,?C0024?KEYSCAN
   172: 					ksEvtPool.ksPool[i] = 0;
-002856 24A5              ADD     A,#LOW ksEvtPool+01H
-002858 F582              MOV     DPL,A
-00285A E4                CLR     A
-00285B 344E              ADDC    A,#HIGH ksEvtPool+01H
-00285D F583              MOV     DPH,A
-00285F E4                CLR     A
-002860 F0                MOVX    @DPTR,A
+00285E 24A5              ADD     A,#LOW ksEvtPool+01H
+002860 F582              MOV     DPL,A
+002862 E4                CLR     A
+002863 344E              ADDC    A,#HIGH ksEvtPool+01H
+002865 F583              MOV     DPH,A
+002867 E4                CLR     A
+002868 F0                MOVX    @DPTR,A
   173: 				}
-002861         ?C0024?KEYSCAN:
+002869         ?C0024?KEYSCAN:
   174: 				found = 1;
-002861 7D01              MOV     R5,#01H
+002869 7D01              MOV     R5,#01H
   175: 			}
   176: 		}
-002863 8034              SJMP    ?C0021?KEYSCAN
-002865         ?C0022?KEYSCAN:
+00286B 8034              SJMP    ?C0021?KEYSCAN
+00286D         ?C0022?KEYSCAN:
   177: 		else 
   178: 		{
   179: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
-002865 74A5              MOV     A,#LOW ksEvtPool+01H
-002867 2E                ADD     A,R6
-002868 F582              MOV     DPL,A
-00286A E4                CLR     A
-00286B 344E              ADDC    A,#HIGH ksEvtPool+01H
-00286D F583              MOV     DPH,A
-00286F E0                MOVX    A,@DPTR
-002870 FC                MOV     R4,A
-002871 74A4              MOV     A,#LOW ksEvtPool
-002873 2E                ADD     A,R6
-002874 F582              MOV     DPL,A
-002876 E4                CLR     A
-002877 344E              ADDC    A,#HIGH ksEvtPool
-002879 F583              MOV     DPH,A
-00287B EC                MOV     A,R4
-00287C F0                MOVX    @DPTR,A
+00286D 74A5              MOV     A,#LOW ksEvtPool+01H
+00286F 2E                ADD     A,R6
+002870 F582              MOV     DPL,A
+002872 E4                CLR     A
+002873 344E              ADDC    A,#HIGH ksEvtPool+01H
+002875 F583              MOV     DPH,A
+002877 E0                MOVX    A,@DPTR
+002878 FC                MOV     R4,A
+002879 74A4              MOV     A,#LOW ksEvtPool
+00287B 2E                ADD     A,R6
+00287C F582              MOV     DPL,A
+00287E E4                CLR     A
+00287F 344E              ADDC    A,#HIGH ksEvtPool
+002881 F583              MOV     DPH,A
+002883 EC                MOV     A,R4
+002884 F0                MOVX    @DPTR,A
   180: 			if (ksEvtPool.ksPool[i] == 0)
-00287D 74A5              MOV     A,#LOW ksEvtPool+01H
-00287F 2E                ADD     A,R6
-002880 F582              MOV     DPL,A
-002882 E4                CLR     A
-002883 344E              ADDC    A,#HIGH ksEvtPool+01H
-002885 F583              MOV     DPH,A
-002887 E0                MOVX    A,@DPTR
-002888 6014              JZ      ?C0018?KEYSCAN
+002885 74A5              MOV     A,#LOW ksEvtPool+01H
+002887 2E                ADD     A,R6
+002888 F582              MOV     DPL,A
+00288A E4                CLR     A
+00288B 344E              ADDC    A,#HIGH ksEvtPool+01H
+00288D F583              MOV     DPH,A
+00288F E0                MOVX    A,@DPTR
+002890 6014              JZ      ?C0018?KEYSCAN
   181: 				break;
-00288A         ?C0026?KEYSCAN:
+002892         ?C0026?KEYSCAN:
   182: 			if (i == KS_BUFF_POLL_LEN-1) {
-00288A EE                MOV     A,R6
-00288B B4050B            CJNE    A,#05H,?C0021?KEYSCAN
+002892 EE                MOV     A,R6
+002893 B4050B            CJNE    A,#05H,?C0021?KEYSCAN
   183: 				ksEvtPool.ksPool[i] = 0;
-00288E 24A5              ADD     A,#LOW ksEvtPool+01H
-002890 F582              MOV     DPL,A
-002892 E4                CLR     A
-002893 344E              ADDC    A,#HIGH ksEvtPool+01H
-002895 F583              MOV     DPH,A
-002897 E4                CLR     A
-002898 F0                MOVX    @DPTR,A
+002896 24A5              ADD     A,#LOW ksEvtPool+01H
+002898 F582              MOV     DPL,A
+00289A E4                CLR     A
+00289B 344E              ADDC    A,#HIGH ksEvtPool+01H
+00289D F583              MOV     DPH,A
+00289F E4                CLR     A
+0028A0 F0                MOVX    @DPTR,A
   184: 			}
   185: 		}
   186: 	}
-002899         ?C0021?KEYSCAN:
-002899 0E                INC     R6
-00289A EE                MOV     A,R6
-00289B B406A3            CJNE    A,#06H,?C0019?KEYSCAN
+0028A1         ?C0021?KEYSCAN:
+0028A1 0E                INC     R6
+0028A2 EE                MOV     A,R6
+0028A3 B406A3            CJNE    A,#06H,?C0019?KEYSCAN
   187: }
-00289E         ?C0018?KEYSCAN:
-00289E 22                RET     
+0028A6         ?C0018?KEYSCAN:
+0028A6 22                RET     
 ----- FUNCTION _keyOut (END) -------
 
 
@@ -7741,506 +7738,506 @@
   293: {
   294: 	//
   295: 	byte i = 0;
-00289F E4                CLR     A
-0028A0 904E88            MOV     DPTR,#i
-0028A3 F0                MOVX    @DPTR,A
-  296: 	byte j = 0;
-0028A4 A3                INC     DPTR
-0028A5 F0                MOVX    @DPTR,A
-  297: 	byte k = 0;
-0028A6 A3                INC     DPTR
-0028A7 F0                MOVX    @DPTR,A
-  298: 	byte temp = 0;
-0028A8 A3                INC     DPTR
-0028A9 F0                MOVX    @DPTR,A
-  299: 	byte flag = 0;
-0028AA A3                INC     DPTR
+0028A7 E4                CLR     A
+0028A8 904E88            MOV     DPTR,#i
 0028AB F0                MOVX    @DPTR,A
-  300: 	byte offset = 0;
+  296: 	byte j = 0;
 0028AC A3                INC     DPTR
 0028AD F0                MOVX    @DPTR,A
-  301: 	byte state = 0;
+  297: 	byte k = 0;
 0028AE A3                INC     DPTR
 0028AF F0                MOVX    @DPTR,A
-  302: 	byte keyCounttemp = 0;
+  298: 	byte temp = 0;
 0028B0 A3                INC     DPTR
 0028B1 F0                MOVX    @DPTR,A
-  303: 	byte key_value_temp = 0;
+  299: 	byte flag = 0;
 0028B2 A3                INC     DPTR
 0028B3 F0                MOVX    @DPTR,A
-  304: 	byte ghost = 0;
+  300: 	byte offset = 0;
 0028B4 A3                INC     DPTR
 0028B5 F0                MOVX    @DPTR,A
-  305: 	byte rawCount = 0;
+  301: 	byte state = 0;
 0028B6 A3                INC     DPTR
 0028B7 F0                MOVX    @DPTR,A
+  302: 	byte keyCounttemp = 0;
+0028B8 A3                INC     DPTR
+0028B9 F0                MOVX    @DPTR,A
+  303: 	byte key_value_temp = 0;
+0028BA A3                INC     DPTR
+0028BB F0                MOVX    @DPTR,A
+  304: 	byte ghost = 0;
+0028BC A3                INC     DPTR
+0028BD F0                MOVX    @DPTR,A
+  305: 	byte rawCount = 0;
+0028BE A3                INC     DPTR
+0028BF F0                MOVX    @DPTR,A
   306: 	
   307: 	KS_ScanMatrix();
-0028B8 716F              ACALL   KS_ScanMatrix
+0028C0 7177              ACALL   KS_ScanMatrix
   308: 
   309: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
-0028BA 7A4D              MOV     R2,#HIGH ksSelMapCheck
-0028BC 79A8              MOV     R1,#LOW ksSelMapCheck
-0028BE 904EAE            MOV     DPTR,#?_compare_str?BYTE+03H
-0028C1 7401              MOV     A,#01H
-0028C3 F0                MOVX    @DPTR,A
-0028C4 A3                INC     DPTR
-0028C5 744D              MOV     A,#HIGH ksSelMapCheck
-0028C7 F0                MOVX    @DPTR,A
-0028C8 A3                INC     DPTR
-0028C9 74A8              MOV     A,#LOW ksSelMapCheck
+0028C2 7A4D              MOV     R2,#HIGH ksSelMapCheck
+0028C4 79A8              MOV     R1,#LOW ksSelMapCheck
+0028C6 904EAE            MOV     DPTR,#?_compare_str?BYTE+03H
+0028C9 7401              MOV     A,#01H
 0028CB F0                MOVX    @DPTR,A
 0028CC A3                INC     DPTR
-0028CD 7414              MOV     A,#014H
+0028CD 744D              MOV     A,#HIGH ksSelMapCheck
 0028CF F0                MOVX    @DPTR,A
-0028D0 7B01              MOV     R3,#01H
-0028D2 7A4D              MOV     R2,#HIGH ksSelMapCurr
-0028D4 79BC              MOV     R1,#LOW ksSelMapCurr
-0028D6 7125              ACALL   _compare_str
-0028D8 EF                MOV     A,R7
-0028D9 601C              JZ      ?C0059?KEYSCAN
-0028DB 7B01              MOV     R3,#01H
-0028DD 7A4D              MOV     R2,#HIGH ksSelMapCurr
-0028DF 79BC              MOV     R1,#LOW ksSelMapCurr
-0028E1 7D14              MOV     R5,#014H
-0028E3 51F5              ACALL   _array_is_empty
-0028E5 EF                MOV     A,R7
-0028E6 700F              JNZ     ?C0059?KEYSCAN
+0028D0 A3                INC     DPTR
+0028D1 74A8              MOV     A,#LOW ksSelMapCheck
+0028D3 F0                MOVX    @DPTR,A
+0028D4 A3                INC     DPTR
+0028D5 7414              MOV     A,#014H
+0028D7 F0                MOVX    @DPTR,A
+0028D8 7B01              MOV     R3,#01H
+0028DA 7A4D              MOV     R2,#HIGH ksSelMapCurr
+0028DC 79BC              MOV     R1,#LOW ksSelMapCurr
+0028DE 712D              ACALL   _compare_str
+0028E0 EF                MOV     A,R7
+0028E1 601C              JZ      ?C0059?KEYSCAN
+0028E3 7B01              MOV     R3,#01H
+0028E5 7A4D              MOV     R2,#HIGH ksSelMapCurr
+0028E7 79BC              MOV     R1,#LOW ksSelMapCurr
+0028E9 7D14              MOV     R5,#014H
+0028EB 51FD              ACALL   _array_is_empty
+0028ED EF                MOV     A,R7
+0028EE 700F              JNZ     ?C0059?KEYSCAN
   310: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
   311: 	{
   312: 		g_variable.button_flag |= 0x02;
-0028E8 904CCE            MOV     DPTR,#g_variable+0FH
-0028EB E0                MOVX    A,@DPTR
-0028EC 4402              ORL     A,#02H
-0028EE F0                MOVX    @DPTR,A
+0028F0 904CCE            MOV     DPTR,#g_variable+0FH
+0028F3 E0                MOVX    A,@DPTR
+0028F4 4402              ORL     A,#02H
+0028F6 F0                MOVX    @DPTR,A
   313: 		g_variable.battery_motion_check_interval = BATTERY_MOTION_CHECK_INTERVAL;
-0028EF 904D06            MOV     DPTR,#g_variable+047H
-0028F2 7414              MOV     A,#014H
-0028F4 F0                MOVX    @DPTR,A
+0028F7 904D06            MOV     DPTR,#g_variable+047H
+0028FA 7414              MOV     A,#014H
+0028FC F0                MOVX    @DPTR,A
   314: 	}
-0028F5 800C              SJMP    ?C0060?KEYSCAN
-0028F7         ?C0059?KEYSCAN:
+0028FD 800C              SJMP    ?C0060?KEYSCAN
+0028FF         ?C0059?KEYSCAN:
   315: 	else
   316: 	{	
   317: 		g_variable.button_flag &= 0xFD;
-0028F7 904CCE            MOV     DPTR,#g_variable+0FH
-0028FA E0                MOVX    A,@DPTR
-0028FB 54FD              ANL     A,#0FDH
-0028FD F0                MOVX    @DPTR,A
+0028FF 904CCE            MOV     DPTR,#g_variable+0FH
+002902 E0                MOVX    A,@DPTR
+002903 54FD              ANL     A,#0FDH
+002905 F0                MOVX    @DPTR,A
   318: 		g_variable.button_timer[1] = 0;
-0028FE E4                CLR     A
-0028FF 904CD0            MOV     DPTR,#g_variable+011H
-002902 F0                MOVX    @DPTR,A
+002906 E4                CLR     A
+002907 904CD0            MOV     DPTR,#g_variable+011H
+00290A F0                MOVX    @DPTR,A
   319: 	}
-002903         ?C0060?KEYSCAN:
+00290B         ?C0060?KEYSCAN:
   320: 
   321: 	for (i=0; col[i]!=0; i++) 
-002903 E4                CLR     A
-002904 904E88            MOV     DPTR,#i
-002907 F0                MOVX    @DPTR,A
-002908         ?C0061?KEYSCAN:
-002908 904E88            MOV     DPTR,#i
-00290B E0                MOVX    A,@DPTR
-00290C FF                MOV     R7,A
-00290D 900681            MOV     DPTR,#col
-002910 93                MOVC    A,@A+DPTR
-002911 7002              JNZ     $ + 4H
-002913 21D7              AJMP    ?C0062?KEYSCAN
+00290B E4                CLR     A
+00290C 904E88            MOV     DPTR,#i
+00290F F0                MOVX    @DPTR,A
+002910         ?C0061?KEYSCAN:
+002910 904E88            MOV     DPTR,#i
+002913 E0                MOVX    A,@DPTR
+002914 FF                MOV     R7,A
+002915 900681            MOV     DPTR,#col
+002918 93                MOVC    A,@A+DPTR
+002919 7002              JNZ     $ + 4H
+00291B 21DF              AJMP    ?C0062?KEYSCAN
   322: 	{
   323: 		temp = ksSelMapCurr[i];
-002915 74BC              MOV     A,#LOW ksSelMapCurr
-002917 2F                ADD     A,R7
-002918 F582              MOV     DPL,A
-00291A E4                CLR     A
-00291B 344D              ADDC    A,#HIGH ksSelMapCurr
-00291D F583              MOV     DPH,A
-00291F E0                MOVX    A,@DPTR
-002920 904E8B            MOV     DPTR,#temp
-002923 F0                MOVX    @DPTR,A
+00291D 74BC              MOV     A,#LOW ksSelMapCurr
+00291F 2F                ADD     A,R7
+002920 F582              MOV     DPL,A
+002922 E4                CLR     A
+002923 344D              ADDC    A,#HIGH ksSelMapCurr
+002925 F583              MOV     DPH,A
+002927 E0                MOVX    A,@DPTR
+002928 904E8B            MOV     DPTR,#temp
+00292B F0                MOVX    @DPTR,A
   324: 		rawCount = bit_count(temp);
-002924 E0                MOVX    A,@DPTR
-002925 FF                MOV     R7,A
-002926 122791            LCALL   _bit_count
-002929 904E92            MOV     DPTR,#rawCount
-00292C EF                MOV     A,R7
-00292D F0                MOVX    @DPTR,A
+00292C E0                MOVX    A,@DPTR
+00292D FF                MOV     R7,A
+00292E 122799            LCALL   _bit_count
+002931 904E92            MOV     DPTR,#rawCount
+002934 EF                MOV     A,R7
+002935 F0                MOVX    @DPTR,A
   325: 		if(rawCount >= 2)		// col[i] has more than two key press
-00292E C3                CLR     C
-00292F 9402              SUBB    A,#02H
-002931 5002              JNC     $ + 4H
-002933 21BF              AJMP    ?C0064?KEYSCAN
+002936 C3                CLR     C
+002937 9402              SUBB    A,#02H
+002939 5002              JNC     $ + 4H
+00293B 21C7              AJMP    ?C0064?KEYSCAN
   326: 		{
   327: 			for(j=0 ; j<8 ;j++)
-002935 E4                CLR     A
-002936 904E89            MOV     DPTR,#j
-002939 F0                MOVX    @DPTR,A
-00293A         ?C0065?KEYSCAN:
-00293A 904E89            MOV     DPTR,#j
-00293D E0                MOVX    A,@DPTR
-00293E FF                MOV     R7,A
-00293F C3                CLR     C
-002940 9408              SUBB    A,#08H
-002942 507B              JNC     ?C0064?KEYSCAN
+00293D E4                CLR     A
+00293E 904E89            MOV     DPTR,#j
+002941 F0                MOVX    @DPTR,A
+002942         ?C0065?KEYSCAN:
+002942 904E89            MOV     DPTR,#j
+002945 E0                MOVX    A,@DPTR
+002946 FF                MOV     R7,A
+002947 C3                CLR     C
+002948 9408              SUBB    A,#08H
+00294A 507B              JNC     ?C0064?KEYSCAN
   328: 			{
   329: 				if(temp & (1<<j))	// Ci_Rj press
-002944 7401              MOV     A,#01H
-002946 7E00              MOV     R6,#00H
-002948 A807              MOV     R0,AR7
-00294A 08                INC     R0
-00294B 8005              SJMP    ?C0103?KEYSCAN
-00294D         ?C0102?KEYSCAN:
-00294D C3                CLR     C
-00294E 33                RLC     A
-00294F CE                XCH     A,R6
-002950 33                RLC     A
-002951 CE                XCH     A,R6
-002952         ?C0103?KEYSCAN:
-002952 D8F9              DJNZ    R0,?C0102?KEYSCAN
-002954 FF                MOV     R7,A
-002955 904E8B            MOV     DPTR,#temp
-002958 E0                MOVX    A,@DPTR
-002959 FD                MOV     R5,A
-00295A E4                CLR     A
-00295B EF                MOV     A,R7
-00295C 5D                ANL     A,R5
-00295D 6058              JZ      ?C0067?KEYSCAN
+00294C 7401              MOV     A,#01H
+00294E 7E00              MOV     R6,#00H
+002950 A807              MOV     R0,AR7
+002952 08                INC     R0
+002953 8005              SJMP    ?C0103?KEYSCAN
+002955         ?C0102?KEYSCAN:
+002955 C3                CLR     C
+002956 33                RLC     A
+002957 CE                XCH     A,R6
+002958 33                RLC     A
+002959 CE                XCH     A,R6
+00295A         ?C0103?KEYSCAN:
+00295A D8F9              DJNZ    R0,?C0102?KEYSCAN
+00295C FF                MOV     R7,A
+00295D 904E8B            MOV     DPTR,#temp
+002960 E0                MOVX    A,@DPTR
+002961 FD                MOV     R5,A
+002962 E4                CLR     A
+002963 EF                MOV     A,R7
+002964 5D                ANL     A,R5
+002965 6058              JZ      ?C0067?KEYSCAN
   330: 				{
   331: 					for(k=0 ; col[k]!=0; k++)
-00295F E4                CLR     A
-002960 904E8A            MOV     DPTR,#k
-002963 F0                MOVX    @DPTR,A
-002964         ?C0069?KEYSCAN:
-002964 904E8A            MOV     DPTR,#k
-002967 E0                MOVX    A,@DPTR
-002968 FF                MOV     R7,A
-002969 900681            MOV     DPTR,#col
-00296C 93                MOVC    A,@A+DPTR
-00296D 6048              JZ      ?C0067?KEYSCAN
+002967 E4                CLR     A
+002968 904E8A            MOV     DPTR,#k
+00296B F0                MOVX    @DPTR,A
+00296C         ?C0069?KEYSCAN:
+00296C 904E8A            MOV     DPTR,#k
+00296F E0                MOVX    A,@DPTR
+002970 FF                MOV     R7,A
+002971 900681            MOV     DPTR,#col
+002974 93                MOVC    A,@A+DPTR
+002975 6048              JZ      ?C0067?KEYSCAN
   332: 					{
   333: 						if(k!= i)
-00296F 904E88            MOV     DPTR,#i
-002972 E0                MOVX    A,@DPTR
-002973 FE                MOV     R6,A
-002974 EF                MOV     A,R7
-002975 6E                XRL     A,R6
-002976 6037              JZ      ?C0071?KEYSCAN
+002977 904E88            MOV     DPTR,#i
+00297A E0                MOVX    A,@DPTR
+00297B FE                MOV     R6,A
+00297C EF                MOV     A,R7
+00297D 6E                XRL     A,R6
+00297E 6037              JZ      ?C0071?KEYSCAN
   334: 						{
   335: 							if(ksSelMapCurr[k] & (1<<j))	// R line has another key press
-002978 904E8A            MOV     DPTR,#k
-00297B E0                MOVX    A,@DPTR
-00297C 24BC              ADD     A,#LOW ksSelMapCurr
-00297E F582              MOV     DPL,A
-002980 E4                CLR     A
-002981 344D              ADDC    A,#HIGH ksSelMapCurr
-002983 F583              MOV     DPH,A
-002985 E0                MOVX    A,@DPTR
-002986 FD                MOV     R5,A
-002987 7C00              MOV     R4,#00H
-002989 904E89            MOV     DPTR,#j
-00298C E0                MOVX    A,@DPTR
-00298D FF                MOV     R7,A
-00298E 7401              MOV     A,#01H
-002990 7E00              MOV     R6,#00H
-002992 A807              MOV     R0,AR7
-002994 08                INC     R0
-002995 8005              SJMP    ?C0105?KEYSCAN
-002997         ?C0104?KEYSCAN:
-002997 C3                CLR     C
-002998 33                RLC     A
-002999 CE                XCH     A,R6
-00299A 33                RLC     A
-00299B CE                XCH     A,R6
-00299C         ?C0105?KEYSCAN:
-00299C D8F9              DJNZ    R0,?C0104?KEYSCAN
-00299E FF                MOV     R7,A
-00299F EE                MOV     A,R6
-0029A0 5C                ANL     A,R4
-0029A1 FE                MOV     R6,A
-0029A2 EF                MOV     A,R7
-0029A3 5D                ANL     A,R5
-0029A4 4E                ORL     A,R6
-0029A5 6008              JZ      ?C0071?KEYSCAN
+002980 904E8A            MOV     DPTR,#k
+002983 E0                MOVX    A,@DPTR
+002984 24BC              ADD     A,#LOW ksSelMapCurr
+002986 F582              MOV     DPL,A
+002988 E4                CLR     A
+002989 344D              ADDC    A,#HIGH ksSelMapCurr
+00298B F583              MOV     DPH,A
+00298D E0                MOVX    A,@DPTR
+00298E FD                MOV     R5,A
+00298F 7C00              MOV     R4,#00H
+002991 904E89            MOV     DPTR,#j
+002994 E0                MOVX    A,@DPTR
+002995 FF                MOV     R7,A
+002996 7401              MOV     A,#01H
+002998 7E00              MOV     R6,#00H
+00299A A807              MOV     R0,AR7
+00299C 08                INC     R0
+00299D 8005              SJMP    ?C0105?KEYSCAN
+00299F         ?C0104?KEYSCAN:
+00299F C3                CLR     C
+0029A0 33                RLC     A
+0029A1 CE                XCH     A,R6
+0029A2 33                RLC     A
+0029A3 CE                XCH     A,R6
+0029A4         ?C0105?KEYSCAN:
+0029A4 D8F9              DJNZ    R0,?C0104?KEYSCAN
+0029A6 FF                MOV     R7,A
+0029A7 EE                MOV     A,R6
+0029A8 5C                ANL     A,R4
+0029A9 FE                MOV     R6,A
+0029AA EF                MOV     A,R7
+0029AB 5D                ANL     A,R5
+0029AC 4E                ORL     A,R6
+0029AD 6008              JZ      ?C0071?KEYSCAN
   336: 							{
   337: 								ghost = 1;
-0029A7 904E91            MOV     DPTR,#ghost
-0029AA 7401              MOV     A,#01H
-0029AC F0                MOVX    @DPTR,A
+0029AF 904E91            MOV     DPTR,#ghost
+0029B2 7401              MOV     A,#01H
+0029B4 F0                MOVX    @DPTR,A
   338: 								break;
-0029AD 8008              SJMP    ?C0067?KEYSCAN
+0029B5 8008              SJMP    ?C0067?KEYSCAN
   339: 							}	
   340: 						}
   341: 					}
-0029AF         ?C0071?KEYSCAN:
-0029AF 904E8A            MOV     DPTR,#k
-0029B2 E0                MOVX    A,@DPTR
-0029B3 04                INC     A
-0029B4 F0                MOVX    @DPTR,A
-0029B5 80AD              SJMP    ?C0069?KEYSCAN
-  342: 				}
-  343: 			}
-0029B7         ?C0067?KEYSCAN:
-0029B7 904E89            MOV     DPTR,#j
+0029B7         ?C0071?KEYSCAN:
+0029B7 904E8A            MOV     DPTR,#k
 0029BA E0                MOVX    A,@DPTR
 0029BB 04                INC     A
 0029BC F0                MOVX    @DPTR,A
-0029BD 213A              AJMP    ?C0065?KEYSCAN
+0029BD 80AD              SJMP    ?C0069?KEYSCAN
+  342: 				}
+  343: 			}
+0029BF         ?C0067?KEYSCAN:
+0029BF 904E89            MOV     DPTR,#j
+0029C2 E0                MOVX    A,@DPTR
+0029C3 04                INC     A
+0029C4 F0                MOVX    @DPTR,A
+0029C5 2142              AJMP    ?C0065?KEYSCAN
   344: 		}
-0029BF         ?C0064?KEYSCAN:
+0029C7         ?C0064?KEYSCAN:
   345: 		
   346: 		if (temp!=0)
-0029BF 904E8B            MOV     DPTR,#temp
-0029C2 E0                MOVX    A,@DPTR
-0029C3 FF                MOV     R7,A
-0029C4 6009              JZ      ?C0063?KEYSCAN
+0029C7 904E8B            MOV     DPTR,#temp
+0029CA E0                MOVX    A,@DPTR
+0029CB FF                MOV     R7,A
+0029CC 6009              JZ      ?C0063?KEYSCAN
   347: 		{
   348: 			keyCounttemp += bit_count(temp);
-0029C6 122791            LCALL   _bit_count
-0029C9 904E8F            MOV     DPTR,#keyCounttemp
-0029CC E0                MOVX    A,@DPTR
-0029CD 2F                ADD     A,R7
-0029CE F0                MOVX    @DPTR,A
+0029CE 122799            LCALL   _bit_count
+0029D1 904E8F            MOV     DPTR,#keyCounttemp
+0029D4 E0                MOVX    A,@DPTR
+0029D5 2F                ADD     A,R7
+0029D6 F0                MOVX    @DPTR,A
   349: 		}
   350: 	}
-0029CF         ?C0063?KEYSCAN:
-0029CF 904E88            MOV     DPTR,#i
-0029D2 E0                MOVX    A,@DPTR
-0029D3 04                INC     A
-0029D4 F0                MOVX    @DPTR,A
-0029D5 2108              AJMP    ?C0061?KEYSCAN
-0029D7         ?C0062?KEYSCAN:
-  351: 	keyCount = keyCounttemp;
-0029D7 904E8F            MOV     DPTR,#keyCounttemp
+0029D7         ?C0063?KEYSCAN:
+0029D7 904E88            MOV     DPTR,#i
 0029DA E0                MOVX    A,@DPTR
-0029DB 904DE4            MOV     DPTR,#keyCount
-0029DE F0                MOVX    @DPTR,A
+0029DB 04                INC     A
+0029DC F0                MOVX    @DPTR,A
+0029DD 2110              AJMP    ?C0061?KEYSCAN
+0029DF         ?C0062?KEYSCAN:
+  351: 	keyCount = keyCounttemp;
+0029DF 904E8F            MOV     DPTR,#keyCounttemp
+0029E2 E0                MOVX    A,@DPTR
+0029E3 904DE4            MOV     DPTR,#keyCount
+0029E6 F0                MOVX    @DPTR,A
   352: 	
   353: 	for (i=0; col[i]!=0; i++)
-0029DF E4                CLR     A
-0029E0 904E88            MOV     DPTR,#i
-0029E3 F0                MOVX    @DPTR,A
-0029E4         ?C0075?KEYSCAN:
-0029E4 904E88            MOV     DPTR,#i
-0029E7 E0                MOVX    A,@DPTR
-0029E8 FF                MOV     R7,A
-0029E9 900681            MOV     DPTR,#col
-0029EC 93                MOVC    A,@A+DPTR
-0029ED 7002              JNZ     $ + 4H
-0029EF 41C9              AJMP    ?C0076?KEYSCAN
+0029E7 E4                CLR     A
+0029E8 904E88            MOV     DPTR,#i
+0029EB F0                MOVX    @DPTR,A
+0029EC         ?C0075?KEYSCAN:
+0029EC 904E88            MOV     DPTR,#i
+0029EF E0                MOVX    A,@DPTR
+0029F0 FF                MOV     R7,A
+0029F1 900681            MOV     DPTR,#col
+0029F4 93                MOVC    A,@A+DPTR
+0029F5 7002              JNZ     $ + 4H
+0029F7 41D1              AJMP    ?C0076?KEYSCAN
   354: 	{
   355: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
-0029F1 7493              MOV     A,#LOW ksSelMapOld
-0029F3 2F                ADD     A,R7
-0029F4 F582              MOV     DPL,A
-0029F6 E4                CLR     A
-0029F7 344D              ADDC    A,#HIGH ksSelMapOld
-0029F9 F583              MOV     DPH,A
-0029FB E0                MOVX    A,@DPTR
-0029FC FE                MOV     R6,A
-0029FD 74BC              MOV     A,#LOW ksSelMapCurr
-0029FF 2F                ADD     A,R7
-002A00 F582              MOV     DPL,A
-002A02 E4                CLR     A
-002A03 344D              ADDC    A,#HIGH ksSelMapCurr
-002A05 F583              MOV     DPH,A
-002A07 E0                MOVX    A,@DPTR
-002A08 6E                XRL     A,R6
-002A09 904E8B            MOV     DPTR,#temp
-002A0C F0                MOVX    @DPTR,A
+0029F9 7493              MOV     A,#LOW ksSelMapOld
+0029FB 2F                ADD     A,R7
+0029FC F582              MOV     DPL,A
+0029FE E4                CLR     A
+0029FF 344D              ADDC    A,#HIGH ksSelMapOld
+002A01 F583              MOV     DPH,A
+002A03 E0                MOVX    A,@DPTR
+002A04 FE                MOV     R6,A
+002A05 74BC              MOV     A,#LOW ksSelMapCurr
+002A07 2F                ADD     A,R7
+002A08 F582              MOV     DPL,A
+002A0A E4                CLR     A
+002A0B 344D              ADDC    A,#HIGH ksSelMapCurr
+002A0D F583              MOV     DPH,A
+002A0F E0                MOVX    A,@DPTR
+002A10 6E                XRL     A,R6
+002A11 904E8B            MOV     DPTR,#temp
+002A14 F0                MOVX    @DPTR,A
   356: 		state = ksSelMapCurr[i];
-002A0D 904E88            MOV     DPTR,#i
-002A10 E0                MOVX    A,@DPTR
-002A11 FF                MOV     R7,A
-002A12 24BC              ADD     A,#LOW ksSelMapCurr
-002A14 F582              MOV     DPL,A
-002A16 E4                CLR     A
-002A17 344D              ADDC    A,#HIGH ksSelMapCurr
-002A19 F583              MOV     DPH,A
-002A1B E0                MOVX    A,@DPTR
-002A1C 904E8E            MOV     DPTR,#state
-002A1F F0                MOVX    @DPTR,A
-  357: 		if (temp == 0) 
-002A20 904E8B            MOV     DPTR,#temp
+002A15 904E88            MOV     DPTR,#i
+002A18 E0                MOVX    A,@DPTR
+002A19 FF                MOV     R7,A
+002A1A 24BC              ADD     A,#LOW ksSelMapCurr
+002A1C F582              MOV     DPL,A
+002A1E E4                CLR     A
+002A1F 344D              ADDC    A,#HIGH ksSelMapCurr
+002A21 F583              MOV     DPH,A
 002A23 E0                MOVX    A,@DPTR
-002A24 7004              JNZ     ?C0078?KEYSCAN
+002A24 904E8E            MOV     DPTR,#state
+002A27 F0                MOVX    @DPTR,A
+  357: 		if (temp == 0) 
+002A28 904E8B            MOV     DPTR,#temp
+002A2B E0                MOVX    A,@DPTR
+002A2C 7004              JNZ     ?C0078?KEYSCAN
   358: 		{
   359: 			continue;
-002A26 41C1              AJMP    ?C0077?KEYSCAN
+002A2E 41C9              AJMP    ?C0077?KEYSCAN
   360: 		}
-002A28 41C1              AJMP    ?C0077?KEYSCAN
-002A2A         ?C0078?KEYSCAN:
+002A30 41C9              AJMP    ?C0077?KEYSCAN
+002A32         ?C0078?KEYSCAN:
   361: 		else 
   362: 		{
   363: 
   364: 			if (ghost) 
-002A2A 904E91            MOV     DPTR,#ghost
-002A2D E0                MOVX    A,@DPTR
-002A2E 6007              JZ      ?C0080?KEYSCAN
+002A32 904E91            MOV     DPTR,#ghost
+002A35 E0                MOVX    A,@DPTR
+002A36 6007              JZ      ?C0080?KEYSCAN
   365: 				return NULL;
-002A30 7B00              MOV     R3,#00H
-002A32 7A00              MOV     R2,#00H
-002A34 7900              MOV     R1,#00H
-002A36 22                RET     
-002A37         ?C0080?KEYSCAN:
+002A38 7B00              MOV     R3,#00H
+002A3A 7A00              MOV     R2,#00H
+002A3C 7900              MOV     R1,#00H
+002A3E 22                RET     
+002A3F         ?C0080?KEYSCAN:
   366: 			ksSelMapOld[i] = ksSelMapCurr[i];
-002A37 74BC              MOV     A,#LOW ksSelMapCurr
-002A39 2F                ADD     A,R7
-002A3A F582              MOV     DPL,A
-002A3C E4                CLR     A
-002A3D 344D              ADDC    A,#HIGH ksSelMapCurr
-002A3F F583              MOV     DPH,A
-002A41 E0                MOVX    A,@DPTR
-002A42 FE                MOV     R6,A
-002A43 7493              MOV     A,#LOW ksSelMapOld
-002A45 2F                ADD     A,R7
-002A46 F582              MOV     DPL,A
-002A48 E4                CLR     A
-002A49 344D              ADDC    A,#HIGH ksSelMapOld
-002A4B F583              MOV     DPH,A
-002A4D EE                MOV     A,R6
-002A4E F0                MOVX    @DPTR,A
+002A3F 74BC              MOV     A,#LOW ksSelMapCurr
+002A41 2F                ADD     A,R7
+002A42 F582              MOV     DPL,A
+002A44 E4                CLR     A
+002A45 344D              ADDC    A,#HIGH ksSelMapCurr
+002A47 F583              MOV     DPH,A
+002A49 E0                MOVX    A,@DPTR
+002A4A FE                MOV     R6,A
+002A4B 7493              MOV     A,#LOW ksSelMapOld
+002A4D 2F                ADD     A,R7
+002A4E F582              MOV     DPL,A
+002A50 E4                CLR     A
+002A51 344D              ADDC    A,#HIGH ksSelMapOld
+002A53 F583              MOV     DPH,A
+002A55 EE                MOV     A,R6
+002A56 F0                MOVX    @DPTR,A
   367: 			for (j = 0 ; j<8 ; j++) 
-002A4F E4                CLR     A
-002A50 904E89            MOV     DPTR,#j
-002A53 F0                MOVX    @DPTR,A
-002A54         ?C0082?KEYSCAN:
-002A54 904E89            MOV     DPTR,#j
-002A57 E0                MOVX    A,@DPTR
-002A58 FF                MOV     R7,A
-002A59 C3                CLR     C
-002A5A 9408              SUBB    A,#08H
-002A5C 505D              JNC     ?C0083?KEYSCAN
+002A57 E4                CLR     A
+002A58 904E89            MOV     DPTR,#j
+002A5B F0                MOVX    @DPTR,A
+002A5C         ?C0082?KEYSCAN:
+002A5C 904E89            MOV     DPTR,#j
+002A5F E0                MOVX    A,@DPTR
+002A60 FF                MOV     R7,A
+002A61 C3                CLR     C
+002A62 9408              SUBB    A,#08H
+002A64 505D              JNC     ?C0083?KEYSCAN
   368: 			{
   369: 				if (temp&1)
-002A5E 904E8B            MOV     DPTR,#temp
-002A61 E0                MOVX    A,@DPTR
-002A62 30E03E            JNB     ACC.0,?C0085?KEYSCAN
+002A66 904E8B            MOV     DPTR,#temp
+002A69 E0                MOVX    A,@DPTR
+002A6A 30E03E            JNB     ACC.0,?C0085?KEYSCAN
   370: 				{
   371: 					offset = i<<3 |j;
-002A65 904E88            MOV     DPTR,#i
-002A68 E0                MOVX    A,@DPTR
-002A69 FE                MOV     R6,A
-002A6A 33                RLC     A
-002A6B 33                RLC     A
-002A6C 33                RLC     A
-002A6D 54F8              ANL     A,#0F8H
-002A6F FE                MOV     R6,A
-002A70 EF                MOV     A,R7
-002A71 4E                ORL     A,R6
-002A72 904E8D            MOV     DPTR,#offset
-002A75 F0                MOVX    @DPTR,A
+002A6D 904E88            MOV     DPTR,#i
+002A70 E0                MOVX    A,@DPTR
+002A71 FE                MOV     R6,A
+002A72 33                RLC     A
+002A73 33                RLC     A
+002A74 33                RLC     A
+002A75 54F8              ANL     A,#0F8H
+002A77 FE                MOV     R6,A
+002A78 EF                MOV     A,R7
+002A79 4E                ORL     A,R6
+002A7A 904E8D            MOV     DPTR,#offset
+002A7D F0                MOVX    @DPTR,A
   372: 					key_value_temp = key_fn_function(state,ksMap[offset]);
-002A76 A3                INC     DPTR
-002A77 E0                MOVX    A,@DPTR
-002A78 FF                MOV     R7,A
-002A79 904E8D            MOV     DPTR,#offset
-002A7C E0                MOVX    A,@DPTR
-002A7D 900696            MOV     DPTR,#ksMap
-002A80 93                MOVC    A,@A+DPTR
-002A81 FD                MOV     R5,A
-002A82 1224BD            LCALL   _key_fn_function
-002A85 904E90            MOV     DPTR,#key_value_temp
-002A88 EF                MOV     A,R7
-002A89 F0                MOVX    @DPTR,A
+002A7E A3                INC     DPTR
+002A7F E0                MOVX    A,@DPTR
+002A80 FF                MOV     R7,A
+002A81 904E8D            MOV     DPTR,#offset
+002A84 E0                MOVX    A,@DPTR
+002A85 900696            MOV     DPTR,#ksMap
+002A88 93                MOVC    A,@A+DPTR
+002A89 FD                MOV     R5,A
+002A8A 1224C9            LCALL   _key_fn_function
+002A8D 904E90            MOV     DPTR,#key_value_temp
+002A90 EF                MOV     A,R7
+002A91 F0                MOVX    @DPTR,A
   373: 					if (state & 1)
-002A8A 904E8E            MOV     DPTR,#state
-002A8D E0                MOVX    A,@DPTR
-002A8E 30E00A            JNB     ACC.0,?C0086?KEYSCAN
+002A92 904E8E            MOV     DPTR,#state
+002A95 E0                MOVX    A,@DPTR
+002A96 30E00A            JNB     ACC.0,?C0086?KEYSCAN
   374: 					{
   375: 						keyIn(key_value_temp);
-002A91 904E90            MOV     DPTR,#key_value_temp
-002A94 E0                MOVX    A,@DPTR
-002A95 FF                MOV     R7,A
-002A96 12279F            LCALL   _keyIn
+002A99 904E90            MOV     DPTR,#key_value_temp
+002A9C E0                MOVX    A,@DPTR
+002A9D FF                MOV     R7,A
+002A9E 1227A7            LCALL   _keyIn
   376: 					}
-002A99 8008              SJMP    ?C0085?KEYSCAN
-002A9B         ?C0086?KEYSCAN:
+002AA1 8008              SJMP    ?C0085?KEYSCAN
+002AA3         ?C0086?KEYSCAN:
   377: 					else
   378: 					{
   379: 						keyOut(key_value_temp);
-002A9B 904E90            MOV     DPTR,#key_value_temp
-002A9E E0                MOVX    A,@DPTR
-002A9F FF                MOV     R7,A
-002AA0 1227F5            LCALL   _keyOut
+002AA3 904E90            MOV     DPTR,#key_value_temp
+002AA6 E0                MOVX    A,@DPTR
+002AA7 FF                MOV     R7,A
+002AA8 1227FD            LCALL   _keyOut
   380: 					}
   381: 				}
-002AA3         ?C0085?KEYSCAN:
+002AAB         ?C0085?KEYSCAN:
   382: 				temp = temp >>1;
-002AA3 904E8B            MOV     DPTR,#temp
-002AA6 E0                MOVX    A,@DPTR
-002AA7 FF                MOV     R7,A
-002AA8 C3                CLR     C
-002AA9 13                RRC     A
-002AAA F0                MOVX    @DPTR,A
-  383: 				state = state>>1;
-002AAB 904E8E            MOV     DPTR,#state
+002AAB 904E8B            MOV     DPTR,#temp
 002AAE E0                MOVX    A,@DPTR
 002AAF FF                MOV     R7,A
 002AB0 C3                CLR     C
 002AB1 13                RRC     A
 002AB2 F0                MOVX    @DPTR,A
-  384: 			}
-002AB3 904E89            MOV     DPTR,#j
+  383: 				state = state>>1;
+002AB3 904E8E            MOV     DPTR,#state
 002AB6 E0                MOVX    A,@DPTR
-002AB7 04                INC     A
-002AB8 F0                MOVX    @DPTR,A
-002AB9 8099              SJMP    ?C0082?KEYSCAN
-002ABB         ?C0083?KEYSCAN:
-  385: 			flag = 1;
-002ABB 904E8C            MOV     DPTR,#flag
-002ABE 7401              MOV     A,#01H
+002AB7 FF                MOV     R7,A
+002AB8 C3                CLR     C
+002AB9 13                RRC     A
+002ABA F0                MOVX    @DPTR,A
+  384: 			}
+002ABB 904E89            MOV     DPTR,#j
+002ABE E0                MOVX    A,@DPTR
+002ABF 04                INC     A
 002AC0 F0                MOVX    @DPTR,A
+002AC1 8099              SJMP    ?C0082?KEYSCAN
+002AC3         ?C0083?KEYSCAN:
+  385: 			flag = 1;
+002AC3 904E8C            MOV     DPTR,#flag
+002AC6 7401              MOV     A,#01H
+002AC8 F0                MOVX    @DPTR,A
   386: 		}
   387: 	}
-002AC1         ?C0077?KEYSCAN:
-002AC1 904E88            MOV     DPTR,#i
-002AC4 E0                MOVX    A,@DPTR
-002AC5 04                INC     A
-002AC6 F0                MOVX    @DPTR,A
-002AC7 21E4              AJMP    ?C0075?KEYSCAN
-002AC9         ?C0076?KEYSCAN:
+002AC9         ?C0077?KEYSCAN:
+002AC9 904E88            MOV     DPTR,#i
+002ACC E0                MOVX    A,@DPTR
+002ACD 04                INC     A
+002ACE F0                MOVX    @DPTR,A
+002ACF 21EC              AJMP    ?C0075?KEYSCAN
+002AD1         ?C0076?KEYSCAN:
   388: 	
   389: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
-002AC9 904E4B            MOV     DPTR,#mult_key_status
-002ACC E0                MOVX    A,@DPTR
-002ACD B4030A            CJNE    A,#03H,?C0088?KEYSCAN
-002AD0 904DDF            MOV     DPTR,#standard_key_release_flag
-002AD3 E0                MOVX    A,@DPTR
-002AD4 B40103            CJNE    A,#01H,?C0088?KEYSCAN
+002AD1 904E4B            MOV     DPTR,#mult_key_status
+002AD4 E0                MOVX    A,@DPTR
+002AD5 B4030A            CJNE    A,#03H,?C0088?KEYSCAN
+002AD8 904DDF            MOV     DPTR,#standard_key_release_flag
+002ADB E0                MOVX    A,@DPTR
+002ADC B40103            CJNE    A,#01H,?C0088?KEYSCAN
   390: 	{
   391: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
-002AD7 7402              MOV     A,#02H
-002AD9 F0                MOVX    @DPTR,A
+002ADF 7402              MOV     A,#02H
+002AE1 F0                MOVX    @DPTR,A
   392: 	}
-002ADA         ?C0088?KEYSCAN:
+002AE2         ?C0088?KEYSCAN:
   393: 
   394: 	
   395: 	if (flag || standard_key_release_flag == 2) 
-002ADA 904E8C            MOV     DPTR,#flag
-002ADD E0                MOVX    A,@DPTR
-002ADE 7007              JNZ     ?C0090?KEYSCAN
-002AE0 904DDF            MOV     DPTR,#standard_key_release_flag
-002AE3 E0                MOVX    A,@DPTR
-002AE4 B40207            CJNE    A,#02H,?C0089?KEYSCAN
-002AE7         ?C0090?KEYSCAN:
+002AE2 904E8C            MOV     DPTR,#flag
+002AE5 E0                MOVX    A,@DPTR
+002AE6 7007              JNZ     ?C0090?KEYSCAN
+002AE8 904DDF            MOV     DPTR,#standard_key_release_flag
+002AEB E0                MOVX    A,@DPTR
+002AEC B40207            CJNE    A,#02H,?C0089?KEYSCAN
+002AEF         ?C0090?KEYSCAN:
   396: 	{
   397: 		return &ksEvtPool;
-002AE7 7B01              MOV     R3,#01H
-002AE9 7A4E              MOV     R2,#HIGH ksEvtPool
-002AEB 79A4              MOV     R1,#LOW ksEvtPool
-002AED 22                RET     
+002AEF 7B01              MOV     R3,#01H
+002AF1 7A4E              MOV     R2,#HIGH ksEvtPool
+002AF3 79A4              MOV     R1,#LOW ksEvtPool
+002AF5 22                RET     
   398: 	}
-002AEE         ?C0089?KEYSCAN:
+002AF6         ?C0089?KEYSCAN:
   399: 	else
   400: 	{
   401: 		return NULL;
-002AEE 7B00              MOV     R3,#00H
-002AF0 7A00              MOV     R2,#00H
-002AF2 7900              MOV     R1,#00H
+002AF6 7B00              MOV     R3,#00H
+002AF8 7A00              MOV     R2,#00H
+002AFA 7900              MOV     R1,#00H
   402: 	}
   403: 	
   404: 
   405: }
-002AF4 22                RET     
+002AFC 22                RET     
 ----- FUNCTION KS_GetCurrentEvt (END) -------
 
 
@@ -8248,112 +8245,112 @@
  FILE: 'keyscan.c'
   280: byte array_is_empty(byte * str1,byte len)
   281: {
-002AF5 904EEC            MOV     DPTR,#str1
-002AF8 EB                MOV     A,R3
-002AF9 F0                MOVX    @DPTR,A
-002AFA A3                INC     DPTR
-002AFB EA                MOV     A,R2
-002AFC F0                MOVX    @DPTR,A
-002AFD A3                INC     DPTR
-002AFE E9                MOV     A,R1
-002AFF F0                MOVX    @DPTR,A
+002AFD 904EEC            MOV     DPTR,#str1
+002B00 EB                MOV     A,R3
+002B01 F0                MOVX    @DPTR,A
+002B02 A3                INC     DPTR
+002B03 EA                MOV     A,R2
+002B04 F0                MOVX    @DPTR,A
+002B05 A3                INC     DPTR
+002B06 E9                MOV     A,R1
+002B07 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R5' ----
   282: 	byte i;
   283: 	for (i=0;i < len;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-002B00 E4                CLR     A
-002B01 FF                MOV     R7,A
-002B02         ?C0054?KEYSCAN:
-002B02 EF                MOV     A,R7
-002B03 C3                CLR     C
-002B04 9D                SUBB    A,R5
-002B05 501B              JNC     ?C0055?KEYSCAN
+002B08 E4                CLR     A
+002B09 FF                MOV     R7,A
+002B0A         ?C0054?KEYSCAN:
+002B0A EF                MOV     A,R7
+002B0B C3                CLR     C
+002B0C 9D                SUBB    A,R5
+002B0D 501B              JNC     ?C0055?KEYSCAN
   284: 	{
   285: 		if (str1[i] != 0)
-002B07 904EEC            MOV     DPTR,#str1
-002B0A E0                MOVX    A,@DPTR
-002B0B FB                MOV     R3,A
-002B0C A3                INC     DPTR
-002B0D E0                MOVX    A,@DPTR
-002B0E FA                MOV     R2,A
-002B0F A3                INC     DPTR
-002B10 E0                MOVX    A,@DPTR
-002B11 F9                MOV     R1,A
-002B12 8F82              MOV     DPL,R7
-002B14 758300            MOV     DPH,#00H
-002B17 1203CF            LCALL   ?C?CLDOPTR
-002B1A 6003              JZ      ?C0056?KEYSCAN
+002B0F 904EEC            MOV     DPTR,#str1
+002B12 E0                MOVX    A,@DPTR
+002B13 FB                MOV     R3,A
+002B14 A3                INC     DPTR
+002B15 E0                MOVX    A,@DPTR
+002B16 FA                MOV     R2,A
+002B17 A3                INC     DPTR
+002B18 E0                MOVX    A,@DPTR
+002B19 F9                MOV     R1,A
+002B1A 8F82              MOV     DPL,R7
+002B1C 758300            MOV     DPH,#00H
+002B1F 1203CF            LCALL   ?C?CLDOPTR
+002B22 6003              JZ      ?C0056?KEYSCAN
   286: 			return 0x00;
-002B1C 7F00              MOV     R7,#00H
-002B1E 22                RET     
+002B24 7F00              MOV     R7,#00H
+002B26 22                RET     
   287: 	}
-002B1F         ?C0056?KEYSCAN:
-002B1F 0F                INC     R7
-002B20 80E0              SJMP    ?C0054?KEYSCAN
-002B22         ?C0055?KEYSCAN:
+002B27         ?C0056?KEYSCAN:
+002B27 0F                INC     R7
+002B28 80E0              SJMP    ?C0054?KEYSCAN
+002B2A         ?C0055?KEYSCAN:
   288: 	return 0x01;
-002B22 7F01              MOV     R7,#01H
+002B2A 7F01              MOV     R7,#01H
   289: }
-002B24 22                RET     
+002B2C 22                RET     
 ----- FUNCTION _array_is_empty (END) -------
 
 
 ----- FUNCTION _compare_str (BEGIN) -----
-002B25 904EAB            MOV     DPTR,#str1
-002B28 EB                MOV     A,R3
-002B29 F0                MOVX    @DPTR,A
-002B2A A3                INC     DPTR
-002B2B EA                MOV     A,R2
-002B2C F0                MOVX    @DPTR,A
-002B2D A3                INC     DPTR
-002B2E E9                MOV     A,R1
-002B2F F0                MOVX    @DPTR,A
+002B2D 904EAB            MOV     DPTR,#str1
+002B30 EB                MOV     A,R3
+002B31 F0                MOVX    @DPTR,A
+002B32 A3                INC     DPTR
+002B33 EA                MOV     A,R2
+002B34 F0                MOVX    @DPTR,A
+002B35 A3                INC     DPTR
+002B36 E9                MOV     A,R1
+002B37 F0                MOVX    @DPTR,A
 ;---- Variable 'i' assigned to Register 'R7' ----
-002B30 E4                CLR     A
-002B31 FF                MOV     R7,A
-002B32         ?C0021?UTILITIES:
-002B32 904EB1            MOV     DPTR,#len
-002B35 E0                MOVX    A,@DPTR
-002B36 FE                MOV     R6,A
-002B37 EF                MOV     A,R7
-002B38 C3                CLR     C
-002B39 9E                SUBB    A,R6
-002B3A 5030              JNC     ?C0022?UTILITIES
-002B3C 904EAE            MOV     DPTR,#str2
-002B3F E0                MOVX    A,@DPTR
-002B40 FB                MOV     R3,A
-002B41 A3                INC     DPTR
-002B42 E0                MOVX    A,@DPTR
-002B43 FA                MOV     R2,A
-002B44 A3                INC     DPTR
-002B45 E0                MOVX    A,@DPTR
-002B46 F9                MOV     R1,A
-002B47 8F82              MOV     DPL,R7
-002B49 758300            MOV     DPH,#00H
-002B4C 1203CF            LCALL   ?C?CLDOPTR
-002B4F FE                MOV     R6,A
-002B50 904EAB            MOV     DPTR,#str1
-002B53 E0                MOVX    A,@DPTR
-002B54 FB                MOV     R3,A
-002B55 A3                INC     DPTR
-002B56 E0                MOVX    A,@DPTR
-002B57 FA                MOV     R2,A
-002B58 A3                INC     DPTR
-002B59 E0                MOVX    A,@DPTR
-002B5A F9                MOV     R1,A
-002B5B 8F82              MOV     DPL,R7
-002B5D 758300            MOV     DPH,#00H
-002B60 1203CF            LCALL   ?C?CLDOPTR
-002B63 6E                XRL     A,R6
-002B64 6003              JZ      ?C0023?UTILITIES
-002B66 7F00              MOV     R7,#00H
-002B68 22                RET     
-002B69         ?C0023?UTILITIES:
-002B69 0F                INC     R7
-002B6A 80C6              SJMP    ?C0021?UTILITIES
-002B6C         ?C0022?UTILITIES:
-002B6C 7F01              MOV     R7,#01H
-002B6E 22                RET     
+002B38 E4                CLR     A
+002B39 FF                MOV     R7,A
+002B3A         ?C0021?UTILITIES:
+002B3A 904EB1            MOV     DPTR,#len
+002B3D E0                MOVX    A,@DPTR
+002B3E FE                MOV     R6,A
+002B3F EF                MOV     A,R7
+002B40 C3                CLR     C
+002B41 9E                SUBB    A,R6
+002B42 5030              JNC     ?C0022?UTILITIES
+002B44 904EAE            MOV     DPTR,#str2
+002B47 E0                MOVX    A,@DPTR
+002B48 FB                MOV     R3,A
+002B49 A3                INC     DPTR
+002B4A E0                MOVX    A,@DPTR
+002B4B FA                MOV     R2,A
+002B4C A3                INC     DPTR
+002B4D E0                MOVX    A,@DPTR
+002B4E F9                MOV     R1,A
+002B4F 8F82              MOV     DPL,R7
+002B51 758300            MOV     DPH,#00H
+002B54 1203CF            LCALL   ?C?CLDOPTR
+002B57 FE                MOV     R6,A
+002B58 904EAB            MOV     DPTR,#str1
+002B5B E0                MOVX    A,@DPTR
+002B5C FB                MOV     R3,A
+002B5D A3                INC     DPTR
+002B5E E0                MOVX    A,@DPTR
+002B5F FA                MOV     R2,A
+002B60 A3                INC     DPTR
+002B61 E0                MOVX    A,@DPTR
+002B62 F9                MOV     R1,A
+002B63 8F82              MOV     DPL,R7
+002B65 758300            MOV     DPH,#00H
+002B68 1203CF            LCALL   ?C?CLDOPTR
+002B6B 6E                XRL     A,R6
+002B6C 6003              JZ      ?C0023?UTILITIES
+002B6E 7F00              MOV     R7,#00H
+002B70 22                RET     
+002B71         ?C0023?UTILITIES:
+002B71 0F                INC     R7
+002B72 80C6              SJMP    ?C0021?UTILITIES
+002B74         ?C0022?UTILITIES:
+002B74 7F01              MOV     R7,#01H
+002B76 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
@@ -8364,292 +8361,292 @@
   255: 	byte i = 0;
   256: 	byte j = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-002B6F E4                CLR     A
-002B70 FF                MOV     R7,A
+002B77 E4                CLR     A
+002B78 FF                MOV     R7,A
   257: 	byte tgroup = 0;
-002B71 904EE9            MOV     DPTR,#j
-002B74 F0                MOVX    @DPTR,A
+002B79 904EE9            MOV     DPTR,#j
+002B7C F0                MOVX    @DPTR,A
   258: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-002B75 FE                MOV     R6,A
+002B7D FE                MOV     R6,A
   259: 	byte temp = 0;
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-002B76 FD                MOV     R5,A
+002B7E FD                MOV     R5,A
   260: 	byte check = 0;
-002B77 A3                INC     DPTR
-002B78 F0                MOVX    @DPTR,A
+002B7F A3                INC     DPTR
+002B80 F0                MOVX    @DPTR,A
   261: 	for (i=0; col[i]!=0; i++) {
-002B79 A3                INC     DPTR
-002B7A F0                MOVX    @DPTR,A
+002B81 A3                INC     DPTR
+002B82 F0                MOVX    @DPTR,A
   262: 		tgroup = col[i]  >> 3;
-002B7B         ?C0043?KEYSCAN:
-002B7B EF                MOV     A,R7
-002B7C 900681            MOV     DPTR,#col
-002B7F 93                MOVC    A,@A+DPTR
-002B80 607C              JZ      ?C0044?KEYSCAN
+002B83         ?C0043?KEYSCAN:
+002B83 EF                MOV     A,R7
+002B84 900681            MOV     DPTR,#col
+002B87 93                MOVC    A,@A+DPTR
+002B88 607C              JZ      ?C0044?KEYSCAN
   263: 		tgpionum = 1 << (col[i] & 7);
-002B82 EF                MOV     A,R7
-002B83 93                MOVC    A,@A+DPTR
-002B84 FD                MOV     R5,A
-002B85 13                RRC     A
-002B86 13                RRC     A
-002B87 13                RRC     A
-002B88 541F              ANL     A,#01FH
-002B8A FE                MOV     R6,A
+002B8A EF                MOV     A,R7
+002B8B 93                MOVC    A,@A+DPTR
+002B8C FD                MOV     R5,A
+002B8D 13                RRC     A
+002B8E 13                RRC     A
+002B8F 13                RRC     A
+002B90 541F              ANL     A,#01FH
+002B92 FE                MOV     R6,A
   264: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
-002B8B ED                MOV     A,R5
-002B8C 5407              ANL     A,#07H
-002B8E FD                MOV     R5,A
-002B8F 7401              MOV     A,#01H
-002B91 A805              MOV     R0,AR5
-002B93 08                INC     R0
-002B94 8002              SJMP    ?C0099?KEYSCAN
-002B96         ?C0098?KEYSCAN:
-002B96 C3                CLR     C
-002B97 33                RLC     A
-002B98         ?C0099?KEYSCAN:
-002B98 D8FC              DJNZ    R0,?C0098?KEYSCAN
-002B9A FD                MOV     R5,A
+002B93 ED                MOV     A,R5
+002B94 5407              ANL     A,#07H
+002B96 FD                MOV     R5,A
+002B97 7401              MOV     A,#01H
+002B99 A805              MOV     R0,AR5
+002B9B 08                INC     R0
+002B9C 8002              SJMP    ?C0099?KEYSCAN
+002B9E         ?C0098?KEYSCAN:
+002B9E C3                CLR     C
+002B9F 33                RLC     A
+002BA0         ?C0099?KEYSCAN:
+002BA0 D8FC              DJNZ    R0,?C0098?KEYSCAN
+002BA2 FD                MOV     R5,A
   265: 	}
-002B9B EE                MOV     A,R6
-002B9C 2478              ADD     A,#078H
-002B9E FB                MOV     R3,A
-002B9F E4                CLR     A
-002BA0 3480              ADDC    A,#080H
-002BA2 8B82              MOV     DPL,R3
-002BA4 F583              MOV     DPH,A
-002BA6 E0                MOVX    A,@DPTR
-002BA7 FC                MOV     R4,A
-002BA8 ED                MOV     A,R5
-002BA9 F4                CPL     A
-002BAA FB                MOV     R3,A
-002BAB EC                MOV     A,R4
-002BAC 5B                ANL     A,R3
-002BAD F0                MOVX    @DPTR,A
-002BAE EE                MOV     A,R6
-002BAF 2470              ADD     A,#070H
-002BB1 F582              MOV     DPL,A
-002BB3 E4                CLR     A
-002BB4 3480              ADDC    A,#080H
-002BB6 F583              MOV     DPH,A
-002BB8 E0                MOVX    A,@DPTR
-002BB9 4D                ORL     A,R5
-002BBA F0                MOVX    @DPTR,A
-002BBB EE                MOV     A,R6
-002BBC 2474              ADD     A,#074H
-002BBE F582              MOV     DPL,A
-002BC0 E4                CLR     A
-002BC1 3480              ADDC    A,#080H
-002BC3 F583              MOV     DPH,A
-002BC5 E0                MOVX    A,@DPTR
-002BC6 5B                ANL     A,R3
-002BC7 F0                MOVX    @DPTR,A
-002BC8 90811C            MOV     DPTR,#0811CH
-002BCB E0                MOVX    A,@DPTR
-002BCC F4                CPL     A
-002BCD FC                MOV     R4,A
-002BCE 74BC              MOV     A,#LOW ksSelMapCurr
-002BD0 2F                ADD     A,R7
-002BD1 F582              MOV     DPL,A
-002BD3 E4                CLR     A
-002BD4 344D              ADDC    A,#HIGH ksSelMapCurr
-002BD6 F583              MOV     DPH,A
-002BD8 EC                MOV     A,R4
-002BD9 F0                MOVX    @DPTR,A
-002BDA EE                MOV     A,R6
-002BDB 2478              ADD     A,#078H
-002BDD FB                MOV     R3,A
-002BDE E4                CLR     A
-002BDF 3480              ADDC    A,#080H
-002BE1 8B82              MOV     DPL,R3
-002BE3 F583              MOV     DPH,A
-002BE5 E0                MOVX    A,@DPTR
-002BE6 4D                ORL     A,R5
-002BE7 F0                MOVX    @DPTR,A
-002BE8 EE                MOV     A,R6
-002BE9 2470              ADD     A,#070H
-002BEB FB                MOV     R3,A
-002BEC E4                CLR     A
-002BED 3480              ADDC    A,#080H
-002BEF 8B82              MOV     DPL,R3
-002BF1 F583              MOV     DPH,A
-002BF3 E0                MOVX    A,@DPTR
-002BF4 FC                MOV     R4,A
-002BF5 ED                MOV     A,R5
-002BF6 F4                CPL     A
-002BF7 FB                MOV     R3,A
-002BF8 EC                MOV     A,R4
-002BF9 5B                ANL     A,R3
-002BFA F0                MOVX    @DPTR,A
+002BA3 EE                MOV     A,R6
+002BA4 2478              ADD     A,#078H
+002BA6 FB                MOV     R3,A
+002BA7 E4                CLR     A
+002BA8 3480              ADDC    A,#080H
+002BAA 8B82              MOV     DPL,R3
+002BAC F583              MOV     DPH,A
+002BAE E0                MOVX    A,@DPTR
+002BAF FC                MOV     R4,A
+002BB0 ED                MOV     A,R5
+002BB1 F4                CPL     A
+002BB2 FB                MOV     R3,A
+002BB3 EC                MOV     A,R4
+002BB4 5B                ANL     A,R3
+002BB5 F0                MOVX    @DPTR,A
+002BB6 EE                MOV     A,R6
+002BB7 2470              ADD     A,#070H
+002BB9 F582              MOV     DPL,A
+002BBB E4                CLR     A
+002BBC 3480              ADDC    A,#080H
+002BBE F583              MOV     DPH,A
+002BC0 E0                MOVX    A,@DPTR
+002BC1 4D                ORL     A,R5
+002BC2 F0                MOVX    @DPTR,A
+002BC3 EE                MOV     A,R6
+002BC4 2474              ADD     A,#074H
+002BC6 F582              MOV     DPL,A
+002BC8 E4                CLR     A
+002BC9 3480              ADDC    A,#080H
+002BCB F583              MOV     DPH,A
+002BCD E0                MOVX    A,@DPTR
+002BCE 5B                ANL     A,R3
+002BCF F0                MOVX    @DPTR,A
+002BD0 90811C            MOV     DPTR,#0811CH
+002BD3 E0                MOVX    A,@DPTR
+002BD4 F4                CPL     A
+002BD5 FC                MOV     R4,A
+002BD6 74BC              MOV     A,#LOW ksSelMapCurr
+002BD8 2F                ADD     A,R7
+002BD9 F582              MOV     DPL,A
+002BDB E4                CLR     A
+002BDC 344D              ADDC    A,#HIGH ksSelMapCurr
+002BDE F583              MOV     DPH,A
+002BE0 EC                MOV     A,R4
+002BE1 F0                MOVX    @DPTR,A
+002BE2 EE                MOV     A,R6
+002BE3 2478              ADD     A,#078H
+002BE5 FB                MOV     R3,A
+002BE6 E4                CLR     A
+002BE7 3480              ADDC    A,#080H
+002BE9 8B82              MOV     DPL,R3
+002BEB F583              MOV     DPH,A
+002BED E0                MOVX    A,@DPTR
+002BEE 4D                ORL     A,R5
+002BEF F0                MOVX    @DPTR,A
+002BF0 EE                MOV     A,R6
+002BF1 2470              ADD     A,#070H
+002BF3 FB                MOV     R3,A
+002BF4 E4                CLR     A
+002BF5 3480              ADDC    A,#080H
+002BF7 8B82              MOV     DPL,R3
+002BF9 F583              MOV     DPH,A
+002BFB E0                MOVX    A,@DPTR
+002BFC FC                MOV     R4,A
+002BFD ED                MOV     A,R5
+002BFE F4                CPL     A
+002BFF FB                MOV     R3,A
+002C00 EC                MOV     A,R4
+002C01 5B                ANL     A,R3
+002C02 F0                MOVX    @DPTR,A
   266: 
-002BFB 0F                INC     R7
-002BFC 617B              AJMP    ?C0043?KEYSCAN
-002BFE         ?C0044?KEYSCAN:
+002C03 0F                INC     R7
+002C04 6183              AJMP    ?C0043?KEYSCAN
+002C06         ?C0044?KEYSCAN:
   267: 	for (i=0; col[i]!=0; i++) {
-002BFE E4                CLR     A
-002BFF FF                MOV     R7,A
-002C00         ?C0046?KEYSCAN:
-002C00 EF                MOV     A,R7
-002C01 900681            MOV     DPTR,#col
-002C04 93                MOVC    A,@A+DPTR
-002C05 607C              JZ      ?C0047?KEYSCAN
+002C06 E4                CLR     A
+002C07 FF                MOV     R7,A
+002C08         ?C0046?KEYSCAN:
+002C08 EF                MOV     A,R7
+002C09 900681            MOV     DPTR,#col
+002C0C 93                MOVC    A,@A+DPTR
+002C0D 607C              JZ      ?C0047?KEYSCAN
   268: 		tgroup = col[i]  >> 3;
-002C07 EF                MOV     A,R7
-002C08 93                MOVC    A,@A+DPTR
-002C09 FD                MOV     R5,A
-002C0A 13                RRC     A
-002C0B 13                RRC     A
-002C0C 13                RRC     A
-002C0D 541F              ANL     A,#01FH
-002C0F FE                MOV     R6,A
+002C0F EF                MOV     A,R7
+002C10 93                MOVC    A,@A+DPTR
+002C11 FD                MOV     R5,A
+002C12 13                RRC     A
+002C13 13                RRC     A
+002C14 13                RRC     A
+002C15 541F              ANL     A,#01FH
+002C17 FE                MOV     R6,A
   269: 		tgpionum = 1 << (col[i] & 7);
-002C10 ED                MOV     A,R5
-002C11 5407              ANL     A,#07H
-002C13 FD                MOV     R5,A
-002C14 7401              MOV     A,#01H
-002C16 A805              MOV     R0,AR5
-002C18 08                INC     R0
-002C19 8002              SJMP    ?C0101?KEYSCAN
-002C1B         ?C0100?KEYSCAN:
-002C1B C3                CLR     C
-002C1C 33                RLC     A
-002C1D         ?C0101?KEYSCAN:
-002C1D D8FC              DJNZ    R0,?C0100?KEYSCAN
-002C1F FD                MOV     R5,A
+002C18 ED                MOV     A,R5
+002C19 5407              ANL     A,#07H
+002C1B FD                MOV     R5,A
+002C1C 7401              MOV     A,#01H
+002C1E A805              MOV     R0,AR5
+002C20 08                INC     R0
+002C21 8002              SJMP    ?C0101?KEYSCAN
+002C23         ?C0100?KEYSCAN:
+002C23 C3                CLR     C
+002C24 33                RLC     A
+002C25         ?C0101?KEYSCAN:
+002C25 D8FC              DJNZ    R0,?C0100?KEYSCAN
+002C27 FD                MOV     R5,A
   270: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
-002C20 EE                MOV     A,R6
-002C21 2478              ADD     A,#078H
-002C23 FB                MOV     R3,A
-002C24 E4                CLR     A
-002C25 3480              ADDC    A,#080H
-002C27 8B82              MOV     DPL,R3
-002C29 F583              MOV     DPH,A
-002C2B E0                MOVX    A,@DPTR
-002C2C FC                MOV     R4,A
-002C2D ED                MOV     A,R5
-002C2E F4                CPL     A
-002C2F FB                MOV     R3,A
-002C30 EC                MOV     A,R4
-002C31 5B                ANL     A,R3
-002C32 F0                MOVX    @DPTR,A
-002C33 EE                MOV     A,R6
-002C34 2470              ADD     A,#070H
-002C36 F582              MOV     DPL,A
-002C38 E4                CLR     A
-002C39 3480              ADDC    A,#080H
-002C3B F583              MOV     DPH,A
-002C3D E0                MOVX    A,@DPTR
-002C3E 4D                ORL     A,R5
-002C3F F0                MOVX    @DPTR,A
-002C40 EE                MOV     A,R6
-002C41 2474              ADD     A,#074H
-002C43 F582              MOV     DPL,A
-002C45 E4                CLR     A
-002C46 3480              ADDC    A,#080H
-002C48 F583              MOV     DPH,A
-002C4A E0                MOVX    A,@DPTR
-002C4B 5B                ANL     A,R3
-002C4C F0                MOVX    @DPTR,A
-002C4D 90811C            MOV     DPTR,#0811CH
-002C50 E0                MOVX    A,@DPTR
-002C51 F4                CPL     A
-002C52 FC                MOV     R4,A
-002C53 74A8              MOV     A,#LOW ksSelMapCheck
-002C55 2F                ADD     A,R7
-002C56 F582              MOV     DPL,A
-002C58 E4                CLR     A
-002C59 344D              ADDC    A,#HIGH ksSelMapCheck
-002C5B F583              MOV     DPH,A
-002C5D EC                MOV     A,R4
-002C5E F0                MOVX    @DPTR,A
-002C5F EE                MOV     A,R6
-002C60 2478              ADD     A,#078H
-002C62 FB                MOV     R3,A
-002C63 E4                CLR     A
-002C64 3480              ADDC    A,#080H
-002C66 8B82              MOV     DPL,R3
-002C68 F583              MOV     DPH,A
-002C6A E0                MOVX    A,@DPTR
-002C6B 4D                ORL     A,R5
-002C6C F0                MOVX    @DPTR,A
-002C6D EE                MOV     A,R6
-002C6E 2470              ADD     A,#070H
-002C70 FB                MOV     R3,A
-002C71 E4                CLR     A
-002C72 3480              ADDC    A,#080H
-002C74 8B82              MOV     DPL,R3
-002C76 F583              MOV     DPH,A
-002C78 E0                MOVX    A,@DPTR
-002C79 FC                MOV     R4,A
-002C7A ED                MOV     A,R5
-002C7B F4                CPL     A
-002C7C FB                MOV     R3,A
-002C7D EC                MOV     A,R4
-002C7E 5B                ANL     A,R3
-002C7F F0                MOVX    @DPTR,A
+002C28 EE                MOV     A,R6
+002C29 2478              ADD     A,#078H
+002C2B FB                MOV     R3,A
+002C2C E4                CLR     A
+002C2D 3480              ADDC    A,#080H
+002C2F 8B82              MOV     DPL,R3
+002C31 F583              MOV     DPH,A
+002C33 E0                MOVX    A,@DPTR
+002C34 FC                MOV     R4,A
+002C35 ED                MOV     A,R5
+002C36 F4                CPL     A
+002C37 FB                MOV     R3,A
+002C38 EC                MOV     A,R4
+002C39 5B                ANL     A,R3
+002C3A F0                MOVX    @DPTR,A
+002C3B EE                MOV     A,R6
+002C3C 2470              ADD     A,#070H
+002C3E F582              MOV     DPL,A
+002C40 E4                CLR     A
+002C41 3480              ADDC    A,#080H
+002C43 F583              MOV     DPH,A
+002C45 E0                MOVX    A,@DPTR
+002C46 4D                ORL     A,R5
+002C47 F0                MOVX    @DPTR,A
+002C48 EE                MOV     A,R6
+002C49 2474              ADD     A,#074H
+002C4B F582              MOV     DPL,A
+002C4D E4                CLR     A
+002C4E 3480              ADDC    A,#080H
+002C50 F583              MOV     DPH,A
+002C52 E0                MOVX    A,@DPTR
+002C53 5B                ANL     A,R3
+002C54 F0                MOVX    @DPTR,A
+002C55 90811C            MOV     DPTR,#0811CH
+002C58 E0                MOVX    A,@DPTR
+002C59 F4                CPL     A
+002C5A FC                MOV     R4,A
+002C5B 74A8              MOV     A,#LOW ksSelMapCheck
+002C5D 2F                ADD     A,R7
+002C5E F582              MOV     DPL,A
+002C60 E4                CLR     A
+002C61 344D              ADDC    A,#HIGH ksSelMapCheck
+002C63 F583              MOV     DPH,A
+002C65 EC                MOV     A,R4
+002C66 F0                MOVX    @DPTR,A
+002C67 EE                MOV     A,R6
+002C68 2478              ADD     A,#078H
+002C6A FB                MOV     R3,A
+002C6B E4                CLR     A
+002C6C 3480              ADDC    A,#080H
+002C6E 8B82              MOV     DPL,R3
+002C70 F583              MOV     DPH,A
+002C72 E0                MOVX    A,@DPTR
+002C73 4D                ORL     A,R5
+002C74 F0                MOVX    @DPTR,A
+002C75 EE                MOV     A,R6
+002C76 2470              ADD     A,#070H
+002C78 FB                MOV     R3,A
+002C79 E4                CLR     A
+002C7A 3480              ADDC    A,#080H
+002C7C 8B82              MOV     DPL,R3
+002C7E F583              MOV     DPH,A
+002C80 E0                MOVX    A,@DPTR
+002C81 FC                MOV     R4,A
+002C82 ED                MOV     A,R5
+002C83 F4                CPL     A
+002C84 FB                MOV     R3,A
+002C85 EC                MOV     A,R4
+002C86 5B                ANL     A,R3
+002C87 F0                MOVX    @DPTR,A
   271: 	}
-002C80 0F                INC     R7
-002C81 8100              AJMP    ?C0046?KEYSCAN
-002C83         ?C0047?KEYSCAN:
+002C88 0F                INC     R7
+002C89 8108              AJMP    ?C0046?KEYSCAN
+002C8B         ?C0047?KEYSCAN:
   272: 
   273: 	for (i=0; col[i]!=0; i++) {
-002C83 E4                CLR     A
-002C84 FF                MOV     R7,A
-002C85         ?C0049?KEYSCAN:
-002C85 EF                MOV     A,R7
-002C86 900681            MOV     DPTR,#col
-002C89 93                MOVC    A,@A+DPTR
-002C8A 6040              JZ      ?C0053?KEYSCAN
+002C8B E4                CLR     A
+002C8C FF                MOV     R7,A
+002C8D         ?C0049?KEYSCAN:
+002C8D EF                MOV     A,R7
+002C8E 900681            MOV     DPTR,#col
+002C91 93                MOVC    A,@A+DPTR
+002C92 6040              JZ      ?C0053?KEYSCAN
   274: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
-002C8C 74BC              MOV     A,#LOW ksSelMapCurr
-002C8E 2F                ADD     A,R7
-002C8F F582              MOV     DPL,A
-002C91 E4                CLR     A
-002C92 344D              ADDC    A,#HIGH ksSelMapCurr
-002C94 F583              MOV     DPH,A
-002C96 E0                MOVX    A,@DPTR
-002C97 FE                MOV     R6,A
-002C98 74A8              MOV     A,#LOW ksSelMapCheck
-002C9A 2F                ADD     A,R7
-002C9B F582              MOV     DPL,A
-002C9D E4                CLR     A
-002C9E 344D              ADDC    A,#HIGH ksSelMapCheck
-002CA0 F583              MOV     DPH,A
-002CA2 E0                MOVX    A,@DPTR
-002CA3 6E                XRL     A,R6
-002CA4 6023              JZ      ?C0051?KEYSCAN
+002C94 74BC              MOV     A,#LOW ksSelMapCurr
+002C96 2F                ADD     A,R7
+002C97 F582              MOV     DPL,A
+002C99 E4                CLR     A
+002C9A 344D              ADDC    A,#HIGH ksSelMapCurr
+002C9C F583              MOV     DPH,A
+002C9E E0                MOVX    A,@DPTR
+002C9F FE                MOV     R6,A
+002CA0 74A8              MOV     A,#LOW ksSelMapCheck
+002CA2 2F                ADD     A,R7
+002CA3 F582              MOV     DPL,A
+002CA5 E4                CLR     A
+002CA6 344D              ADDC    A,#HIGH ksSelMapCheck
+002CA8 F583              MOV     DPH,A
+002CAA E0                MOVX    A,@DPTR
+002CAB 6E                XRL     A,R6
+002CAC 6023              JZ      ?C0051?KEYSCAN
   275: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
-002CA6 74BC              MOV     A,#LOW ksSelMapCurr
-002CA8 2F                ADD     A,R7
-002CA9 F582              MOV     DPL,A
-002CAB E4                CLR     A
-002CAC 344D              ADDC    A,#HIGH ksSelMapCurr
-002CAE F583              MOV     DPH,A
-002CB0 C083              PUSH    DPH
-002CB2 C082              PUSH    DPL
-002CB4 E0                MOVX    A,@DPTR
-002CB5 FE                MOV     R6,A
-002CB6 74A8              MOV     A,#LOW ksSelMapCheck
-002CB8 2F                ADD     A,R7
-002CB9 F582              MOV     DPL,A
-002CBB E4                CLR     A
-002CBC 344D              ADDC    A,#HIGH ksSelMapCheck
-002CBE F583              MOV     DPH,A
-002CC0 E0                MOVX    A,@DPTR
-002CC1 FD                MOV     R5,A
-002CC2 EE                MOV     A,R6
-002CC3 5D                ANL     A,R5
-002CC4 D082              POP     DPL
-002CC6 D083              POP     DPH
-002CC8 F0                MOVX    @DPTR,A
+002CAE 74BC              MOV     A,#LOW ksSelMapCurr
+002CB0 2F                ADD     A,R7
+002CB1 F582              MOV     DPL,A
+002CB3 E4                CLR     A
+002CB4 344D              ADDC    A,#HIGH ksSelMapCurr
+002CB6 F583              MOV     DPH,A
+002CB8 C083              PUSH    DPH
+002CBA C082              PUSH    DPL
+002CBC E0                MOVX    A,@DPTR
+002CBD FE                MOV     R6,A
+002CBE 74A8              MOV     A,#LOW ksSelMapCheck
+002CC0 2F                ADD     A,R7
+002CC1 F582              MOV     DPL,A
+002CC3 E4                CLR     A
+002CC4 344D              ADDC    A,#HIGH ksSelMapCheck
+002CC6 F583              MOV     DPH,A
+002CC8 E0                MOVX    A,@DPTR
+002CC9 FD                MOV     R5,A
+002CCA EE                MOV     A,R6
+002CCB 5D                ANL     A,R5
+002CCC D082              POP     DPL
+002CCE D083              POP     DPH
+002CD0 F0                MOVX    @DPTR,A
   276: 		}
   277: 	}
-002CC9         ?C0051?KEYSCAN:
-002CC9 0F                INC     R7
-002CCA 80B9              SJMP    ?C0049?KEYSCAN
+002CD1         ?C0051?KEYSCAN:
+002CD1 0F                INC     R7
+002CD2 80B9              SJMP    ?C0049?KEYSCAN
   278: }
-002CCC         ?C0053?KEYSCAN:
-002CCC 22                RET     
+002CD4         ?C0053?KEYSCAN:
+002CD4 22                RET     
 ----- FUNCTION KS_ScanMatrix (END) -------
 
 
@@ -8660,375 +8657,375 @@
   217: 	byte i = 0;
   218: 	byte temp = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-002CCD E4                CLR     A
-002CCE FF                MOV     R7,A
+002CD5 E4                CLR     A
+002CD6 FF                MOV     R7,A
   219: 	byte tgroup = 0;
-002CCF 904F07            MOV     DPTR,#temp
-002CD2 F0                MOVX    @DPTR,A
+002CD7 904F07            MOV     DPTR,#temp
+002CDA F0                MOVX    @DPTR,A
   220: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-002CD3 FE                MOV     R6,A
+002CDB FE                MOV     R6,A
   221: 	for (i=0; col[i]!=0; i++) {
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-002CD4 FD                MOV     R5,A
+002CDC FD                MOV     R5,A
   222: 		tgroup = col[i]  >> 3;
-002CD5         ?C0037?KEYSCAN:
-002CD5 EF                MOV     A,R7
-002CD6 900681            MOV     DPTR,#col
-002CD9 93                MOVC    A,@A+DPTR
-002CDA 6049              JZ      ?C0038?KEYSCAN
+002CDD         ?C0037?KEYSCAN:
+002CDD EF                MOV     A,R7
+002CDE 900681            MOV     DPTR,#col
+002CE1 93                MOVC    A,@A+DPTR
+002CE2 6049              JZ      ?C0038?KEYSCAN
   223: 		tgpionum = 1 << (col[i] & 7);
-002CDC EF                MOV     A,R7
-002CDD 93                MOVC    A,@A+DPTR
-002CDE FD                MOV     R5,A
-002CDF 13                RRC     A
-002CE0 13                RRC     A
-002CE1 13                RRC     A
-002CE2 541F              ANL     A,#01FH
-002CE4 FE                MOV     R6,A
+002CE4 EF                MOV     A,R7
+002CE5 93                MOVC    A,@A+DPTR
+002CE6 FD                MOV     R5,A
+002CE7 13                RRC     A
+002CE8 13                RRC     A
+002CE9 13                RRC     A
+002CEA 541F              ANL     A,#01FH
+002CEC FE                MOV     R6,A
   224: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
-002CE5 ED                MOV     A,R5
-002CE6 5407              ANL     A,#07H
-002CE8 FD                MOV     R5,A
-002CE9 7401              MOV     A,#01H
-002CEB A805              MOV     R0,AR5
-002CED 08                INC     R0
-002CEE 8002              SJMP    ?C0097?KEYSCAN
-002CF0         ?C0096?KEYSCAN:
-002CF0 C3                CLR     C
-002CF1 33                RLC     A
-002CF2         ?C0097?KEYSCAN:
-002CF2 D8FC              DJNZ    R0,?C0096?KEYSCAN
-002CF4 FD                MOV     R5,A
+002CED ED                MOV     A,R5
+002CEE 5407              ANL     A,#07H
+002CF0 FD                MOV     R5,A
+002CF1 7401              MOV     A,#01H
+002CF3 A805              MOV     R0,AR5
+002CF5 08                INC     R0
+002CF6 8002              SJMP    ?C0097?KEYSCAN
+002CF8         ?C0096?KEYSCAN:
+002CF8 C3                CLR     C
+002CF9 33                RLC     A
+002CFA         ?C0097?KEYSCAN:
+002CFA D8FC              DJNZ    R0,?C0096?KEYSCAN
+002CFC FD                MOV     R5,A
   225: 		REG_GPIO_OE(tgroup) |= tgpionum;
-002CF5 EE                MOV     A,R6
-002CF6 2478              ADD     A,#078H
-002CF8 FB                MOV     R3,A
-002CF9 E4                CLR     A
-002CFA 3480              ADDC    A,#080H
-002CFC 8B82              MOV     DPL,R3
-002CFE F583              MOV     DPH,A
-002D00 E0                MOVX    A,@DPTR
-002D01 FC                MOV     R4,A
-002D02 ED                MOV     A,R5
-002D03 F4                CPL     A
-002D04 FB                MOV     R3,A
-002D05 EC                MOV     A,R4
-002D06 5B                ANL     A,R3
-002D07 F0                MOVX    @DPTR,A
+002CFD EE                MOV     A,R6
+002CFE 2478              ADD     A,#078H
+002D00 FB                MOV     R3,A
+002D01 E4                CLR     A
+002D02 3480              ADDC    A,#080H
+002D04 8B82              MOV     DPL,R3
+002D06 F583              MOV     DPH,A
+002D08 E0                MOVX    A,@DPTR
+002D09 FC                MOV     R4,A
+002D0A ED                MOV     A,R5
+002D0B F4                CPL     A
+002D0C FB                MOV     R3,A
+002D0D EC                MOV     A,R4
+002D0E 5B                ANL     A,R3
+002D0F F0                MOVX    @DPTR,A
   226: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
-002D08 EE                MOV     A,R6
-002D09 2470              ADD     A,#070H
-002D0B F582              MOV     DPL,A
-002D0D E4                CLR     A
-002D0E 3480              ADDC    A,#080H
-002D10 F583              MOV     DPH,A
-002D12 E0                MOVX    A,@DPTR
-002D13 4D                ORL     A,R5
-002D14 F0                MOVX    @DPTR,A
+002D10 EE                MOV     A,R6
+002D11 2470              ADD     A,#070H
+002D13 F582              MOV     DPL,A
+002D15 E4                CLR     A
+002D16 3480              ADDC    A,#080H
+002D18 F583              MOV     DPH,A
+002D1A E0                MOVX    A,@DPTR
+002D1B 4D                ORL     A,R5
+002D1C F0                MOVX    @DPTR,A
   227: 	}
-002D15 EE                MOV     A,R6
-002D16 2474              ADD     A,#074H
-002D18 F582              MOV     DPL,A
-002D1A E4                CLR     A
-002D1B 3480              ADDC    A,#080H
-002D1D F583              MOV     DPH,A
-002D1F E0                MOVX    A,@DPTR
-002D20 5B                ANL     A,R3
-002D21 F0                MOVX    @DPTR,A
+002D1D EE                MOV     A,R6
+002D1E 2474              ADD     A,#074H
+002D20 F582              MOV     DPL,A
+002D22 E4                CLR     A
+002D23 3480              ADDC    A,#080H
+002D25 F583              MOV     DPH,A
+002D27 E0                MOVX    A,@DPTR
+002D28 5B                ANL     A,R3
+002D29 F0                MOVX    @DPTR,A
   228: 	
-002D22 0F                INC     R7
-002D23 80B0              SJMP    ?C0037?KEYSCAN
-002D25         ?C0038?KEYSCAN:
+002D2A 0F                INC     R7
+002D2B 80B0              SJMP    ?C0037?KEYSCAN
+002D2D         ?C0038?KEYSCAN:
   229: 	GPIO_fillpd();
-002D25 D149              ACALL   GPIO_fillpd
+002D2D D151              ACALL   GPIO_fillpd
   230: 	
   231: 	temp = REG_GPIO_IN(0);
-002D27 90811C            MOV     DPTR,#0811CH
-002D2A E0                MOVX    A,@DPTR
-002D2B 904F07            MOV     DPTR,#temp
-002D2E F0                MOVX    @DPTR,A
+002D2F 90811C            MOV     DPTR,#0811CH
+002D32 E0                MOVX    A,@DPTR
+002D33 904F07            MOV     DPTR,#temp
+002D36 F0                MOVX    @DPTR,A
   232: 
   233: 	if(long_press_flag)
-002D2F 904DDC            MOV     DPTR,#long_press_flag
-002D32 E0                MOVX    A,@DPTR
-002D33 6020              JZ      ?C0040?KEYSCAN
+002D37 904DDC            MOV     DPTR,#long_press_flag
+002D3A E0                MOVX    A,@DPTR
+002D3B 6020              JZ      ?C0040?KEYSCAN
   234: 	{
   235: 		GPIO_SetWakeupByCurrentState(0);
-002D35 E4                CLR     A
-002D36 FF                MOV     R7,A
-002D37 B165              ACALL   _GPIO_SetWakeupByCurrentState
+002D3D E4                CLR     A
+002D3E FF                MOV     R7,A
+002D3F B16D              ACALL   _GPIO_SetWakeupByCurrentState
   236: 		GPIO_SetWakeupByCurrentState(1);
-002D39 7F01              MOV     R7,#01H
-002D3B B165              ACALL   _GPIO_SetWakeupByCurrentState
+002D41 7F01              MOV     R7,#01H
+002D43 B16D              ACALL   _GPIO_SetWakeupByCurrentState
   237: 		GPIO_SetWakeupByCurrentState(2);
-002D3D 7F02              MOV     R7,#02H
-002D3F B165              ACALL   _GPIO_SetWakeupByCurrentState
+002D45 7F02              MOV     R7,#02H
+002D47 B16D              ACALL   _GPIO_SetWakeupByCurrentState
   238: 		GPIO_SetWakeupByCurrentState(3);
-002D41 7F03              MOV     R7,#03H
-002D43 B165              ACALL   _GPIO_SetWakeupByCurrentState
+002D49 7F03              MOV     R7,#03H
+002D4B B16D              ACALL   _GPIO_SetWakeupByCurrentState
   239: 		GPIO_SetWakeupByCurrentState(4);
-002D45 7F04              MOV     R7,#04H
-002D47 B165              ACALL   _GPIO_SetWakeupByCurrentState
+002D4D 7F04              MOV     R7,#04H
+002D4F B16D              ACALL   _GPIO_SetWakeupByCurrentState
   240: 		GPIO_SetWakeupByCurrentState(5);
-002D49 7F05              MOV     R7,#05H
-002D4B B165              ACALL   _GPIO_SetWakeupByCurrentState
+002D51 7F05              MOV     R7,#05H
+002D53 B16D              ACALL   _GPIO_SetWakeupByCurrentState
   241: 		GPIO_SetWakeupByCurrentState(6);
-002D4D 7F06              MOV     R7,#06H
-002D4F B165              ACALL   _GPIO_SetWakeupByCurrentState
+002D55 7F06              MOV     R7,#06H
+002D57 B16D              ACALL   _GPIO_SetWakeupByCurrentState
   242: 		GPIO_SetWakeupByCurrentState(7);
-002D51 7F07              MOV     R7,#07H
-002D53 8010              SJMP    _GPIO_SetWakeupByCurrentState
+002D59 7F07              MOV     R7,#07H
+002D5B 8010              SJMP    _GPIO_SetWakeupByCurrentState
   243: 	}
-002D55         ?C0040?KEYSCAN:
+002D5D         ?C0040?KEYSCAN:
   244: 	else
   245: 	{
   246: 		YC_GPIOWakeupL[0] = temp;
-002D55 904F07            MOV     DPTR,#temp
-002D58 E0                MOVX    A,@DPTR
-002D59 FF                MOV     R7,A
-002D5A 9000A3            MOV     DPTR,#YC_GPIOWakeupL
-002D5D F0                MOVX    @DPTR,A
+002D5D 904F07            MOV     DPTR,#temp
+002D60 E0                MOVX    A,@DPTR
+002D61 FF                MOV     R7,A
+002D62 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+002D65 F0                MOVX    @DPTR,A
   247: 		YC_GPIOWakeupH[0] = ~temp;
-002D5E EF                MOV     A,R7
-002D5F F4                CPL     A
-002D60 9000A7            MOV     DPTR,#YC_GPIOWakeupH
-002D63 F0                MOVX    @DPTR,A
+002D66 EF                MOV     A,R7
+002D67 F4                CPL     A
+002D68 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+002D6B F0                MOVX    @DPTR,A
   248: 	}
   249: 
   250: }
-002D64 22                RET     
+002D6C 22                RET     
 ----- FUNCTION KS_Unistall (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (BEGIN) -----
-002D65 904F0B            MOV     DPTR,#gpio_num
-002D68 EF                MOV     A,R7
-002D69 F0                MOVX    @DPTR,A
-002D6A D104              ACALL   _GPIO_GetInputStatus
-002D6C 9208              MOV     st,C
-002D6E 904F0B            MOV     DPTR,#gpio_num
-002D71 E0                MOVX    A,@DPTR
-002D72 FF                MOV     R7,A
-002D73 A208              MOV     C,st
-002D75 B3                CPL     C
-002D76 9207              MOV     ?_GPIO_SetWakeup?BIT,C
+002D6D 904F0B            MOV     DPTR,#gpio_num
+002D70 EF                MOV     A,R7
+002D71 F0                MOVX    @DPTR,A
+002D72 D10C              ACALL   _GPIO_GetInputStatus
+002D74 9208              MOV     st,C
+002D76 904F0B            MOV     DPTR,#gpio_num
+002D79 E0                MOVX    A,@DPTR
+002D7A FF                MOV     R7,A
+002D7B A208              MOV     C,st
+002D7D B3                CPL     C
+002D7E 9207              MOV     ?_GPIO_SetWakeup?BIT,C
 ;----                  JMP     _GPIO_SetWakeup
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-002D78 EF                MOV     A,R7
-002D79 F4                CPL     A
-002D7A 7002              JNZ     $ + 4H
-002D7C C103              AJMP    ?C0019?GPIO
-002D7E         ?C0018?GPIO:
-002D7E EF                MOV     A,R7
-002D7F 5407              ANL     A,#07H
-002D81 FE                MOV     R6,A
+002D80 EF                MOV     A,R7
+002D81 F4                CPL     A
+002D82 7002              JNZ     $ + 4H
+002D84 C10B              AJMP    ?C0019?GPIO
+002D86         ?C0018?GPIO:
+002D86 EF                MOV     A,R7
+002D87 5407              ANL     A,#07H
+002D89 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-002D82 EF                MOV     A,R7
-002D83 13                RRC     A
-002D84 13                RRC     A
-002D85 13                RRC     A
-002D86 5403              ANL     A,#03H
-002D88 FF                MOV     R7,A
+002D8A EF                MOV     A,R7
+002D8B 13                RRC     A
+002D8C 13                RRC     A
+002D8D 13                RRC     A
+002D8E 5403              ANL     A,#03H
+002D90 FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-002D89 300743            JNB     st,?C0020?GPIO
-002D8C 24A3              ADD     A,#LOW YC_GPIOWakeupL
-002D8E F582              MOV     DPL,A
-002D90 E4                CLR     A
-002D91 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-002D93 F583              MOV     DPH,A
-002D95 C083              PUSH    DPH
-002D97 C082              PUSH    DPL
-002D99 E0                MOVX    A,@DPTR
-002D9A FD                MOV     R5,A
-002D9B 7401              MOV     A,#01H
-002D9D A806              MOV     R0,AR6
-002D9F 08                INC     R0
-002DA0 8002              SJMP    ?C0037?GPIO
-002DA2         ?C0036?GPIO:
-002DA2 C3                CLR     C
-002DA3 33                RLC     A
-002DA4         ?C0037?GPIO:
-002DA4 D8FC              DJNZ    R0,?C0036?GPIO
-002DA6 F4                CPL     A
-002DA7 5D                ANL     A,R5
-002DA8 D082              POP     DPL
-002DAA D083              POP     DPH
-002DAC F0                MOVX    @DPTR,A
-002DAD 74A7              MOV     A,#LOW YC_GPIOWakeupH
-002DAF 2F                ADD     A,R7
-002DB0 F582              MOV     DPL,A
-002DB2 E4                CLR     A
-002DB3 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-002DB5 F583              MOV     DPH,A
-002DB7 C083              PUSH    DPH
-002DB9 C082              PUSH    DPL
-002DBB E0                MOVX    A,@DPTR
-002DBC FF                MOV     R7,A
-002DBD 7401              MOV     A,#01H
-002DBF A806              MOV     R0,AR6
-002DC1 08                INC     R0
-002DC2 8002              SJMP    ?C0039?GPIO
-002DC4         ?C0038?GPIO:
-002DC4 C3                CLR     C
-002DC5 33                RLC     A
-002DC6         ?C0039?GPIO:
-002DC6 D8FC              DJNZ    R0,?C0038?GPIO
-002DC8 4F                ORL     A,R7
-002DC9 D082              POP     DPL
-002DCB D083              POP     DPH
-002DCD F0                MOVX    @DPTR,A
-002DCE 22                RET     
-002DCF         ?C0020?GPIO:
-002DCF 74A3              MOV     A,#LOW YC_GPIOWakeupL
-002DD1 2F                ADD     A,R7
-002DD2 F582              MOV     DPL,A
-002DD4 E4                CLR     A
-002DD5 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-002DD7 F583              MOV     DPH,A
-002DD9 C083              PUSH    DPH
-002DDB C082              PUSH    DPL
-002DDD E0                MOVX    A,@DPTR
-002DDE FD                MOV     R5,A
-002DDF 7401              MOV     A,#01H
-002DE1 A806              MOV     R0,AR6
-002DE3 08                INC     R0
-002DE4 8002              SJMP    ?C0041?GPIO
-002DE6         ?C0040?GPIO:
-002DE6 C3                CLR     C
-002DE7 33                RLC     A
-002DE8         ?C0041?GPIO:
-002DE8 D8FC              DJNZ    R0,?C0040?GPIO
-002DEA FC                MOV     R4,A
-002DEB 4D                ORL     A,R5
-002DEC D082              POP     DPL
-002DEE D083              POP     DPH
-002DF0 F0                MOVX    @DPTR,A
-002DF1 74A7              MOV     A,#LOW YC_GPIOWakeupH
-002DF3 2F                ADD     A,R7
-002DF4 F582              MOV     DPL,A
-002DF6 E4                CLR     A
-002DF7 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-002DF9 F583              MOV     DPH,A
-002DFB E0                MOVX    A,@DPTR
-002DFC FF                MOV     R7,A
-002DFD EC                MOV     A,R4
-002DFE F4                CPL     A
-002DFF FE                MOV     R6,A
-002E00 EF                MOV     A,R7
-002E01 5E                ANL     A,R6
-002E02 F0                MOVX    @DPTR,A
-002E03         ?C0019?GPIO:
-002E03 22                RET     
+002D91 300743            JNB     st,?C0020?GPIO
+002D94 24A3              ADD     A,#LOW YC_GPIOWakeupL
+002D96 F582              MOV     DPL,A
+002D98 E4                CLR     A
+002D99 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+002D9B F583              MOV     DPH,A
+002D9D C083              PUSH    DPH
+002D9F C082              PUSH    DPL
+002DA1 E0                MOVX    A,@DPTR
+002DA2 FD                MOV     R5,A
+002DA3 7401              MOV     A,#01H
+002DA5 A806              MOV     R0,AR6
+002DA7 08                INC     R0
+002DA8 8002              SJMP    ?C0037?GPIO
+002DAA         ?C0036?GPIO:
+002DAA C3                CLR     C
+002DAB 33                RLC     A
+002DAC         ?C0037?GPIO:
+002DAC D8FC              DJNZ    R0,?C0036?GPIO
+002DAE F4                CPL     A
+002DAF 5D                ANL     A,R5
+002DB0 D082              POP     DPL
+002DB2 D083              POP     DPH
+002DB4 F0                MOVX    @DPTR,A
+002DB5 74A7              MOV     A,#LOW YC_GPIOWakeupH
+002DB7 2F                ADD     A,R7
+002DB8 F582              MOV     DPL,A
+002DBA E4                CLR     A
+002DBB 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+002DBD F583              MOV     DPH,A
+002DBF C083              PUSH    DPH
+002DC1 C082              PUSH    DPL
+002DC3 E0                MOVX    A,@DPTR
+002DC4 FF                MOV     R7,A
+002DC5 7401              MOV     A,#01H
+002DC7 A806              MOV     R0,AR6
+002DC9 08                INC     R0
+002DCA 8002              SJMP    ?C0039?GPIO
+002DCC         ?C0038?GPIO:
+002DCC C3                CLR     C
+002DCD 33                RLC     A
+002DCE         ?C0039?GPIO:
+002DCE D8FC              DJNZ    R0,?C0038?GPIO
+002DD0 4F                ORL     A,R7
+002DD1 D082              POP     DPL
+002DD3 D083              POP     DPH
+002DD5 F0                MOVX    @DPTR,A
+002DD6 22                RET     
+002DD7         ?C0020?GPIO:
+002DD7 74A3              MOV     A,#LOW YC_GPIOWakeupL
+002DD9 2F                ADD     A,R7
+002DDA F582              MOV     DPL,A
+002DDC E4                CLR     A
+002DDD 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+002DDF F583              MOV     DPH,A
+002DE1 C083              PUSH    DPH
+002DE3 C082              PUSH    DPL
+002DE5 E0                MOVX    A,@DPTR
+002DE6 FD                MOV     R5,A
+002DE7 7401              MOV     A,#01H
+002DE9 A806              MOV     R0,AR6
+002DEB 08                INC     R0
+002DEC 8002              SJMP    ?C0041?GPIO
+002DEE         ?C0040?GPIO:
+002DEE C3                CLR     C
+002DEF 33                RLC     A
+002DF0         ?C0041?GPIO:
+002DF0 D8FC              DJNZ    R0,?C0040?GPIO
+002DF2 FC                MOV     R4,A
+002DF3 4D                ORL     A,R5
+002DF4 D082              POP     DPL
+002DF6 D083              POP     DPH
+002DF8 F0                MOVX    @DPTR,A
+002DF9 74A7              MOV     A,#LOW YC_GPIOWakeupH
+002DFB 2F                ADD     A,R7
+002DFC F582              MOV     DPL,A
+002DFE E4                CLR     A
+002DFF 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+002E01 F583              MOV     DPH,A
+002E03 E0                MOVX    A,@DPTR
+002E04 FF                MOV     R7,A
+002E05 EC                MOV     A,R4
+002E06 F4                CPL     A
+002E07 FE                MOV     R6,A
+002E08 EF                MOV     A,R7
+002E09 5E                ANL     A,R6
+002E0A F0                MOVX    @DPTR,A
+002E0B         ?C0019?GPIO:
+002E0B 22                RET     
 ----- FUNCTION _GPIO_SetWakeup (END) -------
 
 
 ----- FUNCTION _GPIO_GetInputStatus (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-002E04 7B01              MOV     R3,#01H
-002E06 7A81              MOV     R2,#081H
-002E08 791C              MOV     R1,#01CH
+002E0C 7B01              MOV     R3,#01H
+002E0E 7A81              MOV     R2,#081H
+002E10 791C              MOV     R1,#01CH
 ;----                  JMP     _gpioGetBit
 ----- FUNCTION _GPIO_GetInputStatus (END) -------
 
 
 ----- FUNCTION _gpioGetBit (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R5' ----
-002E0A AD07              MOV     R5,AR7
+002E12 AD07              MOV     R5,AR7
 ;---- Variable 'reg_base' assigned to Register 'R1/R2/R3' ----
-002E0C E4                CLR     A
-002E0D 904F0A            MOV     DPTR,#queue
-002E10 F0                MOVX    @DPTR,A
+002E14 E4                CLR     A
+002E15 904F0A            MOV     DPTR,#queue
+002E18 F0                MOVX    @DPTR,A
 ;---- Variable 'group' assigned to Register 'R6' ----
-002E11 FE                MOV     R6,A
-002E12 EF                MOV     A,R7
-002E13 5407              ANL     A,#07H
-002E15 F0                MOVX    @DPTR,A
-002E16 EF                MOV     A,R7
-002E17 13                RRC     A
-002E18 13                RRC     A
-002E19 13                RRC     A
-002E1A 5403              ANL     A,#03H
-002E1C FE                MOV     R6,A
-002E1D F582              MOV     DPL,A
-002E1F 758300            MOV     DPH,#00H
-002E22 1203CF            LCALL   ?C?CLDOPTR
-002E25 FD                MOV     R5,A
-002E26 33                RLC     A
-002E27 95E0              SUBB    A,ACC
-002E29 FC                MOV     R4,A
-002E2A 904F0A            MOV     DPTR,#queue
-002E2D E0                MOVX    A,@DPTR
-002E2E FF                MOV     R7,A
-002E2F 7401              MOV     A,#01H
-002E31 7E00              MOV     R6,#00H
-002E33 A807              MOV     R0,AR7
-002E35 08                INC     R0
-002E36 8005              SJMP    ?C0035?GPIO
-002E38         ?C0034?GPIO:
-002E38 C3                CLR     C
-002E39 33                RLC     A
-002E3A CE                XCH     A,R6
-002E3B 33                RLC     A
-002E3C CE                XCH     A,R6
-002E3D         ?C0035?GPIO:
-002E3D D8F9              DJNZ    R0,?C0034?GPIO
-002E3F FF                MOV     R7,A
-002E40 EE                MOV     A,R6
-002E41 5C                ANL     A,R4
-002E42 FE                MOV     R6,A
-002E43 EF                MOV     A,R7
-002E44 5D                ANL     A,R5
-002E45 4E                ORL     A,R6
-002E46 24FF              ADD     A,#0FFH
-002E48 22                RET     
+002E19 FE                MOV     R6,A
+002E1A EF                MOV     A,R7
+002E1B 5407              ANL     A,#07H
+002E1D F0                MOVX    @DPTR,A
+002E1E EF                MOV     A,R7
+002E1F 13                RRC     A
+002E20 13                RRC     A
+002E21 13                RRC     A
+002E22 5403              ANL     A,#03H
+002E24 FE                MOV     R6,A
+002E25 F582              MOV     DPL,A
+002E27 758300            MOV     DPH,#00H
+002E2A 1203CF            LCALL   ?C?CLDOPTR
+002E2D FD                MOV     R5,A
+002E2E 33                RLC     A
+002E2F 95E0              SUBB    A,ACC
+002E31 FC                MOV     R4,A
+002E32 904F0A            MOV     DPTR,#queue
+002E35 E0                MOVX    A,@DPTR
+002E36 FF                MOV     R7,A
+002E37 7401              MOV     A,#01H
+002E39 7E00              MOV     R6,#00H
+002E3B A807              MOV     R0,AR7
+002E3D 08                INC     R0
+002E3E 8005              SJMP    ?C0035?GPIO
+002E40         ?C0034?GPIO:
+002E40 C3                CLR     C
+002E41 33                RLC     A
+002E42 CE                XCH     A,R6
+002E43 33                RLC     A
+002E44 CE                XCH     A,R6
+002E45         ?C0035?GPIO:
+002E45 D8F9              DJNZ    R0,?C0034?GPIO
+002E47 FF                MOV     R7,A
+002E48 EE                MOV     A,R6
+002E49 5C                ANL     A,R4
+002E4A FE                MOV     R6,A
+002E4B EF                MOV     A,R7
+002E4C 5D                ANL     A,R5
+002E4D 4E                ORL     A,R6
+002E4E 24FF              ADD     A,#0FFH
+002E50 22                RET     
 ----- FUNCTION _gpioGetBit (END) -------
 
 
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-002E49 E4                CLR     A
-002E4A FF                MOV     R7,A
-002E4B         ?C0026?GPIO:
-002E4B EF                MOV     A,R7
-002E4C FD                MOV     R5,A
-002E4D 7C00              MOV     R4,#00H
-002E4F 2478              ADD     A,#078H
-002E51 FB                MOV     R3,A
-002E52 EC                MOV     A,R4
-002E53 3480              ADDC    A,#080H
-002E55 8B82              MOV     DPL,R3
-002E57 F583              MOV     DPH,A
-002E59 E0                MOVX    A,@DPTR
-002E5A FE                MOV     R6,A
-002E5B ED                MOV     A,R5
-002E5C 2470              ADD     A,#070H
-002E5E FD                MOV     R5,A
-002E5F EC                MOV     A,R4
-002E60 3480              ADDC    A,#080H
-002E62 8D82              MOV     DPL,R5
-002E64 F583              MOV     DPH,A
-002E66 E0                MOVX    A,@DPTR
-002E67 4E                ORL     A,R6
-002E68 F4                CPL     A
-002E69 FE                MOV     R6,A
-002E6A EF                MOV     A,R7
-002E6B 247C              ADD     A,#07CH
-002E6D FD                MOV     R5,A
-002E6E EC                MOV     A,R4
-002E6F 3480              ADDC    A,#080H
-002E71 8D82              MOV     DPL,R5
-002E73 F583              MOV     DPH,A
-002E75 EE                MOV     A,R6
-002E76 F0                MOVX    @DPTR,A
-002E77 0F                INC     R7
-002E78 EF                MOV     A,R7
-002E79 B404CF            CJNE    A,#04H,?C0026?GPIO
-002E7C 22                RET     
+002E51 E4                CLR     A
+002E52 FF                MOV     R7,A
+002E53         ?C0026?GPIO:
+002E53 EF                MOV     A,R7
+002E54 FD                MOV     R5,A
+002E55 7C00              MOV     R4,#00H
+002E57 2478              ADD     A,#078H
+002E59 FB                MOV     R3,A
+002E5A EC                MOV     A,R4
+002E5B 3480              ADDC    A,#080H
+002E5D 8B82              MOV     DPL,R3
+002E5F F583              MOV     DPH,A
+002E61 E0                MOVX    A,@DPTR
+002E62 FE                MOV     R6,A
+002E63 ED                MOV     A,R5
+002E64 2470              ADD     A,#070H
+002E66 FD                MOV     R5,A
+002E67 EC                MOV     A,R4
+002E68 3480              ADDC    A,#080H
+002E6A 8D82              MOV     DPL,R5
+002E6C F583              MOV     DPH,A
+002E6E E0                MOVX    A,@DPTR
+002E6F 4E                ORL     A,R6
+002E70 F4                CPL     A
+002E71 FE                MOV     R6,A
+002E72 EF                MOV     A,R7
+002E73 247C              ADD     A,#07CH
+002E75 FD                MOV     R5,A
+002E76 EC                MOV     A,R4
+002E77 3480              ADDC    A,#080H
+002E79 8D82              MOV     DPL,R5
+002E7B F583              MOV     DPH,A
+002E7D EE                MOV     A,R6
+002E7E F0                MOVX    @DPTR,A
+002E7F 0F                INC     R7
+002E80 EF                MOV     A,R7
+002E81 B404CF            CJNE    A,#04H,?C0026?GPIO
+002E84 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
@@ -9038,36 +9035,36 @@
    41: {
    42: 
    43: 	if(g_variable.current_device_num == 1)
-002E7D 904CC3            MOV     DPTR,#g_variable+04H
-002E80 E0                MOVX    A,@DPTR
-002E81 B40107            CJNE    A,#01H,?C0008?LED
+002E85 904CC3            MOV     DPTR,#g_variable+04H
+002E88 E0                MOVX    A,@DPTR
+002E89 B40107            CJNE    A,#01H,?C0008?LED
    44: 		GPIO_Setout(BT_LED_GPIO,LED_OFF);
-002E84 C201              CLR     ?_GPIO_Setout?BIT
-002E86 7F1F              MOV     R7,#01FH
-002E88 0210EB            LJMP    _GPIO_Setout
-002E8B         ?C0008?LED:
+002E8C C201              CLR     ?_GPIO_Setout?BIT
+002E8E 7F1F              MOV     R7,#01FH
+002E90 0210EB            LJMP    _GPIO_Setout
+002E93         ?C0008?LED:
    45: 	else if(g_variable.current_device_num == 2)
-002E8B 904CC3            MOV     DPTR,#g_variable+04H
-002E8E E0                MOVX    A,@DPTR
-002E8F B40207            CJNE    A,#02H,?C0010?LED
+002E93 904CC3            MOV     DPTR,#g_variable+04H
+002E96 E0                MOVX    A,@DPTR
+002E97 B40207            CJNE    A,#02H,?C0010?LED
    46: 		GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-002E92 C201              CLR     ?_GPIO_Setout?BIT
-002E94 7F1E              MOV     R7,#01EH
-002E96 0210EB            LJMP    _GPIO_Setout
-002E99         ?C0010?LED:
+002E9A C201              CLR     ?_GPIO_Setout?BIT
+002E9C 7F1E              MOV     R7,#01EH
+002E9E 0210EB            LJMP    _GPIO_Setout
+002EA1         ?C0010?LED:
    47: 	else if(g_variable.current_device_num == 0)
-002E99 904CC3            MOV     DPTR,#g_variable+04H
-002E9C E0                MOVX    A,@DPTR
-002E9D 7007              JNZ     ?C0013?LED
+002EA1 904CC3            MOV     DPTR,#g_variable+04H
+002EA4 E0                MOVX    A,@DPTR
+002EA5 7007              JNZ     ?C0013?LED
    48: 	GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
-002E9F C201              CLR     ?_GPIO_Setout?BIT
-002EA1 7F14              MOV     R7,#014H
-002EA3 1210EB            LCALL   _GPIO_Setout
+002EA7 C201              CLR     ?_GPIO_Setout?BIT
+002EA9 7F14              MOV     R7,#014H
+002EAB 1210EB            LCALL   _GPIO_Setout
    49: 
    50: 
    51: }
-002EA6         ?C0013?LED:
-002EA6 22                RET     
+002EAE         ?C0013?LED:
+002EAE 22                RET     
 ----- FUNCTION LED_device_poweroff (END) -------
 
 
@@ -9077,249 +9074,249 @@
   718: {
   719: 
   720: 	if (g_variable.delay_enter_lpm_timer) 
-002EA7 904CEA            MOV     DPTR,#g_variable+02BH
-002EAA E0                MOVX    A,@DPTR
-002EAB 6002              JZ      ?C0135?SYS
+002EAF 904CEA            MOV     DPTR,#g_variable+02BH
+002EB2 E0                MOVX    A,@DPTR
+002EB3 6002              JZ      ?C0135?SYS
   721: 	{
   722: 		g_variable.delay_enter_lpm_timer --;
-002EAD 14                DEC     A
-002EAE F0                MOVX    @DPTR,A
+002EB5 14                DEC     A
+002EB6 F0                MOVX    @DPTR,A
   723: 	}
-002EAF         ?C0135?SYS:
+002EB7         ?C0135?SYS:
   724: 
   725: 	if(g_variable.recon_delay)
-002EAF 904CEF            MOV     DPTR,#g_variable+030H
-002EB2 E0                MOVX    A,@DPTR
-002EB3 6002              JZ      ?C0136?SYS
+002EB7 904CEF            MOV     DPTR,#g_variable+030H
+002EBA E0                MOVX    A,@DPTR
+002EBB 6002              JZ      ?C0136?SYS
   726: 		g_variable.recon_delay--;
-002EB5 14                DEC     A
-002EB6 F0                MOVX    @DPTR,A
-002EB7         ?C0136?SYS:
+002EBD 14                DEC     A
+002EBE F0                MOVX    @DPTR,A
+002EBF         ?C0136?SYS:
   727: 
   728: 	if(g_variable.one_key_press_wait_release_timer)
-002EB7 904CF8            MOV     DPTR,#g_variable+039H
-002EBA E0                MOVX    A,@DPTR
-002EBB 600B              JZ      ?C0137?SYS
+002EBF 904CF8            MOV     DPTR,#g_variable+039H
+002EC2 E0                MOVX    A,@DPTR
+002EC3 600B              JZ      ?C0137?SYS
   729: 	{
   730: 		g_variable.one_key_press_wait_release_timer--;
-002EBD 14                DEC     A
-002EBE F0                MOVX    @DPTR,A
+002EC5 14                DEC     A
+002EC6 F0                MOVX    @DPTR,A
   731: 		if(!g_variable.one_key_press_wait_release_timer)
-002EBF E0                MOVX    A,@DPTR
-002EC0 7006              JNZ     ?C0137?SYS
+002EC7 E0                MOVX    A,@DPTR
+002EC8 7006              JNZ     ?C0137?SYS
   732: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
-002EC2 904CF4            MOV     DPTR,#g_variable+035H
-002EC5 7406              MOV     A,#06H
-002EC7 F0                MOVX    @DPTR,A
+002ECA 904CF4            MOV     DPTR,#g_variable+035H
+002ECD 7406              MOV     A,#06H
+002ECF F0                MOVX    @DPTR,A
   733: 	}
-002EC8         ?C0137?SYS:
+002ED0         ?C0137?SYS:
   734: 	
   735: 	if (g_variable.powerOn_timer != 0)
-002EC8 904CE5            MOV     DPTR,#g_variable+026H
-002ECB E0                MOVX    A,@DPTR
-002ECC 601F              JZ      ?C0139?SYS
+002ED0 904CE5            MOV     DPTR,#g_variable+026H
+002ED3 E0                MOVX    A,@DPTR
+002ED4 601F              JZ      ?C0139?SYS
   736: 	{	
   737: 		if(g_variable.pairing_g24_timeout)
-002ECE 904CEE            MOV     DPTR,#g_variable+02FH
-002ED1 E0                MOVX    A,@DPTR
-002ED2 6006              JZ      ?C0140?SYS
+002ED6 904CEE            MOV     DPTR,#g_variable+02FH
+002ED9 E0                MOVX    A,@DPTR
+002EDA 6006              JZ      ?C0140?SYS
   738: 		{
   739: 			g_variable.powerOn_timer = 0;
-002ED4 E4                CLR     A
-002ED5 904CE5            MOV     DPTR,#g_variable+026H
-002ED8 F0                MOVX    @DPTR,A
-002ED9 22                RET     
+002EDC E4                CLR     A
+002EDD 904CE5            MOV     DPTR,#g_variable+026H
+002EE0 F0                MOVX    @DPTR,A
+002EE1 22                RET     
   740: 			return;
   741: 		}
-002EDA         ?C0140?SYS:
+002EE2         ?C0140?SYS:
   742: 			
   743: 		g_variable.powerOn_timer--;
-002EDA 904CE5            MOV     DPTR,#g_variable+026H
-002EDD E0                MOVX    A,@DPTR
-002EDE 14                DEC     A
-002EDF F0                MOVX    @DPTR,A
+002EE2 904CE5            MOV     DPTR,#g_variable+026H
+002EE5 E0                MOVX    A,@DPTR
+002EE6 14                DEC     A
+002EE7 F0                MOVX    @DPTR,A
   744: 		LED_device_poweron();
-002EE0 1211A5            LCALL   LED_device_poweron
+002EE8 1210FD            LCALL   LED_device_poweron
   745: 		if (!g_variable.powerOn_timer)
-002EE3 904CE5            MOV     DPTR,#g_variable+026H
-002EE6 E0                MOVX    A,@DPTR
-002EE7 7045              JNZ     ?C0143?SYS
+002EEB 904CE5            MOV     DPTR,#g_variable+026H
+002EEE E0                MOVX    A,@DPTR
+002EEF 7045              JNZ     ?C0143?SYS
   746: 		{
   747: 			LED_device_poweroff();
-002EE9 D17D              ACALL   LED_device_poweroff
+002EF1 D185              ACALL   LED_device_poweroff
   748: 		}
   749: 	}
-002EEB 8041              SJMP    ?C0143?SYS
-002EED         ?C0139?SYS:
+002EF3 8041              SJMP    ?C0143?SYS
+002EF5         ?C0139?SYS:
   750: 	else	if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
-002EED 904CE9            MOV     DPTR,#g_variable+02AH
-002EF0 E0                MOVX    A,@DPTR
-002EF1 703B              JNZ     ?C0143?SYS
-002EF3 904CEE            MOV     DPTR,#g_variable+02FH
-002EF6 E0                MOVX    A,@DPTR
-002EF7 7035              JNZ     ?C0143?SYS
+002EF5 904CE9            MOV     DPTR,#g_variable+02AH
+002EF8 E0                MOVX    A,@DPTR
+002EF9 703B              JNZ     ?C0143?SYS
+002EFB 904CEE            MOV     DPTR,#g_variable+02FH
+002EFE E0                MOVX    A,@DPTR
+002EFF 7035              JNZ     ?C0143?SYS
   751: 	{
   752: 		if(g_variable.battery_low_led_flash_interval)
-002EF9 904CE2            MOV     DPTR,#g_variable+023H
-002EFC E0                MOVX    A,@DPTR
-002EFD 602F              JZ      ?C0143?SYS
+002F01 904CE2            MOV     DPTR,#g_variable+023H
+002F04 E0                MOVX    A,@DPTR
+002F05 602F              JZ      ?C0143?SYS
   753: 		{
   754: 			g_variable.battery_low_led_flash_interval--;
-002EFF 14                DEC     A
-002F00 F0                MOVX    @DPTR,A
+002F07 14                DEC     A
+002F08 F0                MOVX    @DPTR,A
   755: 			if(g_variable.battery_low_led_flash_interval < 4)
-002F01 E0                MOVX    A,@DPTR
-002F02 FF                MOV     R7,A
-002F03 C3                CLR     C
-002F04 9404              SUBB    A,#04H
-002F06 5016              JNC     ?C0146?SYS
+002F09 E0                MOVX    A,@DPTR
+002F0A FF                MOV     R7,A
+002F0B C3                CLR     C
+002F0C 9404              SUBB    A,#04H
+002F0E 5016              JNC     ?C0146?SYS
   756: 			{
   757: 				if(g_variable.battery_low_led_flash_interval & 0x02)
-002F08 EF                MOV     A,R7
-002F09 30E109            JNB     ACC.1,?C0147?SYS
+002F10 EF                MOV     A,R7
+002F11 30E109            JNB     ACC.1,?C0147?SYS
   758: 				{
   759: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-002F0C D201              SETB    ?_GPIO_Setout?BIT
-002F0E 7F14              MOV     R7,#014H
-002F10 1210EB            LCALL   _GPIO_Setout
+002F14 D201              SETB    ?_GPIO_Setout?BIT
+002F16 7F14              MOV     R7,#014H
+002F18 1210EB            LCALL   _GPIO_Setout
   760: 				}
-002F13 8010              SJMP    ?C0149?SYS
-002F15         ?C0147?SYS:
+002F1B 8010              SJMP    ?C0149?SYS
+002F1D         ?C0147?SYS:
   761: 				else
   762: 				{
   763: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
-002F15 C201              CLR     ?_GPIO_Setout?BIT
-002F17 7F14              MOV     R7,#014H
-002F19 1210EB            LCALL   _GPIO_Setout
+002F1D C201              CLR     ?_GPIO_Setout?BIT
+002F1F 7F14              MOV     R7,#014H
+002F21 1210EB            LCALL   _GPIO_Setout
   764: 				}	
   765: 			}
-002F1C 8007              SJMP    ?C0149?SYS
-002F1E         ?C0146?SYS:
+002F24 8007              SJMP    ?C0149?SYS
+002F26         ?C0146?SYS:
   766: 			else
   767: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-002F1E C201              CLR     ?_GPIO_Setout?BIT
-002F20 7F14              MOV     R7,#014H
-002F22 1210EB            LCALL   _GPIO_Setout
-002F25         ?C0149?SYS:
+002F26 C201              CLR     ?_GPIO_Setout?BIT
+002F28 7F14              MOV     R7,#014H
+002F2A 1210EB            LCALL   _GPIO_Setout
+002F2D         ?C0149?SYS:
   768: 			if(!g_variable.battery_low_led_flash_interval)
-002F25 904CE2            MOV     DPTR,#g_variable+023H
-002F28 E0                MOVX    A,@DPTR
-002F29 7003              JNZ     ?C0143?SYS
+002F2D 904CE2            MOV     DPTR,#g_variable+023H
+002F30 E0                MOVX    A,@DPTR
+002F31 7003              JNZ     ?C0143?SYS
   769: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-002F2B 740A              MOV     A,#0AH
-002F2D F0                MOVX    @DPTR,A
+002F33 740A              MOV     A,#0AH
+002F35 F0                MOVX    @DPTR,A
   770: 		}
   771: 	}
-002F2E         ?C0143?SYS:
+002F36         ?C0143?SYS:
   772: 	
   773: // The dongle must receive data within 200ms, otherwise it will be forced to lift
   774: 	if(!long_press_flag)
-002F2E 904DDC            MOV     DPTR,#long_press_flag
-002F31 E0                MOVX    A,@DPTR
-002F32 7036              JNZ     ?C0151?SYS
+002F36 904DDC            MOV     DPTR,#long_press_flag
+002F39 E0                MOVX    A,@DPTR
+002F3A 7036              JNZ     ?C0151?SYS
   775: 	{
   776: 		if (repeat_send_24g == 1)
-002F34 904DDD            MOV     DPTR,#repeat_send_24g
-002F37 E0                MOVX    A,@DPTR
-002F38 6401              XRL     A,#01H
-002F3A 702E              JNZ     ?C0151?SYS
+002F3C 904DDD            MOV     DPTR,#repeat_send_24g
+002F3F E0                MOVX    A,@DPTR
+002F40 6401              XRL     A,#01H
+002F42 702E              JNZ     ?C0151?SYS
   777: 		{
   778: 			g_variable.sleepTimer = 0;	
-002F3C 904CE3            MOV     DPTR,#g_variable+024H
-002F3F F0                MOVX    @DPTR,A
-002F40 A3                INC     DPTR
-002F41 F0                MOVX    @DPTR,A
+002F44 904CE3            MOV     DPTR,#g_variable+024H
+002F47 F0                MOVX    @DPTR,A
+002F48 A3                INC     DPTR
+002F49 F0                MOVX    @DPTR,A
   779: 			repeat_send_24g = 0;
-002F42 904DDD            MOV     DPTR,#repeat_send_24g
-002F45 F0                MOVX    @DPTR,A
+002F4A 904DDD            MOV     DPTR,#repeat_send_24g
+002F4D F0                MOVX    @DPTR,A
   780: 
   781: 			 if (multikey[0] != 0)
-002F46 904E4C            MOV     DPTR,#multikey
-002F49 E0                MOVX    A,@DPTR
-002F4A 600D              JZ      ?C0153?SYS
+002F4E 904E4C            MOV     DPTR,#multikey
+002F51 E0                MOVX    A,@DPTR
+002F52 600D              JZ      ?C0153?SYS
   782: 			{
   783: 				IPC_TxHidData(multikey, 3);
-002F4C 7B01              MOV     R3,#01H
-002F4E 7A4E              MOV     R2,#HIGH multikey
-002F50 794C              MOV     R1,#LOW multikey
-002F52 7D03              MOV     R5,#03H
-002F54 120C61            LCALL   _IPC_TxHidData
+002F54 7B01              MOV     R3,#01H
+002F56 7A4E              MOV     R2,#HIGH multikey
+002F58 794C              MOV     R1,#LOW multikey
+002F5A 7D03              MOV     R5,#03H
+002F5C 120C61            LCALL   _IPC_TxHidData
   784: 			}
-002F57 8011              SJMP    ?C0151?SYS
-002F59         ?C0153?SYS:
+002F5F 8011              SJMP    ?C0151?SYS
+002F61         ?C0153?SYS:
   785: 			else if (hidBuff[0] != 0)
-002F59 904800            MOV     DPTR,#hidBuff
-002F5C E0                MOVX    A,@DPTR
-002F5D 600B              JZ      ?C0151?SYS
+002F61 904800            MOV     DPTR,#hidBuff
+002F64 E0                MOVX    A,@DPTR
+002F65 600B              JZ      ?C0151?SYS
   786: 			{
   787: 
   788: 				IPC_TxHidData(hidBuff,9);
-002F5F 7B01              MOV     R3,#01H
-002F61 7A48              MOV     R2,#HIGH hidBuff
-002F63 7900              MOV     R1,#LOW hidBuff
-002F65 7D09              MOV     R5,#09H
-002F67 120C61            LCALL   _IPC_TxHidData
+002F67 7B01              MOV     R3,#01H
+002F69 7A48              MOV     R2,#HIGH hidBuff
+002F6B 7900              MOV     R1,#LOW hidBuff
+002F6D 7D09              MOV     R5,#09H
+002F6F 120C61            LCALL   _IPC_TxHidData
   789: 			}
   790: 		}
   791: 	}
-002F6A         ?C0151?SYS:
+002F72         ?C0151?SYS:
   792: 
   793: 
   794: // ble delay send secutiry request
   795: 	if(ble_send_secutiry_request_timer)
-002F6A 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
-002F6D E0                MOVX    A,@DPTR
-002F6E 6011              JZ      ?C0156?SYS
+002F72 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
+002F75 E0                MOVX    A,@DPTR
+002F76 6011              JZ      ?C0156?SYS
   796: 	{
   797: 		ble_send_secutiry_request_timer--;
-002F70 E0                MOVX    A,@DPTR
-002F71 14                DEC     A
-002F72 F0                MOVX    @DPTR,A
+002F78 E0                MOVX    A,@DPTR
+002F79 14                DEC     A
+002F7A F0                MOVX    @DPTR,A
   798: 		if(!ble_send_secutiry_request_timer)
-002F73 E0                MOVX    A,@DPTR
-002F74 700B              JNZ     ?C0156?SYS
+002F7B E0                MOVX    A,@DPTR
+002F7C 700B              JNZ     ?C0156?SYS
   799: 		{
   800: 			if(!m_le_send_security_request_flag)
-002F76 904D3D            MOV     DPTR,#m_le_send_security_request_flag
-002F79 E0                MOVX    A,@DPTR
-002F7A 7005              JNZ     ?C0156?SYS
+002F7E 904D3D            MOV     DPTR,#m_le_send_security_request_flag
+002F81 E0                MOVX    A,@DPTR
+002F82 7005              JNZ     ?C0156?SYS
   801: 			{
   802: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
-002F7C 7F1B              MOV     R7,#01BH
-002F7E 1213C3            LCALL   _IPC_TxControlCmd
+002F84 7F1B              MOV     R7,#01BH
+002F86 1213C3            LCALL   _IPC_TxControlCmd
   803: 			}
   804: 		}
   805: 	}
-002F81         ?C0156?SYS:
+002F89         ?C0156?SYS:
   806: 
   807: 	if (delayChgInvTimer != 0){
-002F81 904DE6            MOV     DPTR,#delayChgInvTimer
-002F84 E0                MOVX    A,@DPTR
-002F85 6013              JZ      ?C0141?SYS
+002F89 904DE6            MOV     DPTR,#delayChgInvTimer
+002F8C E0                MOVX    A,@DPTR
+002F8D 6013              JZ      ?C0141?SYS
   808: 		delayChgInvTimer--;
-002F87 E0                MOVX    A,@DPTR
-002F88 14                DEC     A
-002F89 F0                MOVX    @DPTR,A
+002F8F E0                MOVX    A,@DPTR
+002F90 14                DEC     A
+002F91 F0                MOVX    @DPTR,A
   809: 		if (delayChgInvTimer == 0)
-002F8A E0                MOVX    A,@DPTR
-002F8B 700D              JNZ     ?C0141?SYS
+002F92 E0                MOVX    A,@DPTR
+002F93 700D              JNZ     ?C0141?SYS
   810: 		{
   811: 
   812: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-002F8D 904CC7            MOV     DPTR,#g_variable+08H
-002F90 E0                MOVX    A,@DPTR
-002F91 B40406            CJNE    A,#04H,?C0141?SYS
+002F95 904CC7            MOV     DPTR,#g_variable+08H
+002F98 E0                MOVX    A,@DPTR
+002F99 B40406            CJNE    A,#04H,?C0141?SYS
   813: 			{
   814: 				kscurrmult = 0x0c;
-002F94 904213            MOV     DPTR,#kscurrmult
-002F97 740C              MOV     A,#0CH
-002F99 F0                MOVX    @DPTR,A
+002F9C 904213            MOV     DPTR,#kscurrmult
+002F9F 740C              MOV     A,#0CH
+002FA1 F0                MOVX    @DPTR,A
   815: 			}
   816: 		}
   817: 	}
   818: }
-002F9A         ?C0141?SYS:
-002F9A 22                RET     
+002FA2         ?C0141?SYS:
+002FA2 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
@@ -9329,28 +9326,28 @@
    44: {
    45: 	REG_IICD_SCL_LOW  =  0x0d;
    46:    	REG_IICD_SCL_HIGH  =  0x0e;
-002F9B 908091            MOV     DPTR,#08091H
-002F9E 740D              MOV     A,#0DH
-002FA0 F0                MOVX    @DPTR,A
+002FA3 908091            MOV     DPTR,#08091H
+002FA6 740D              MOV     A,#0DH
+002FA8 F0                MOVX    @DPTR,A
    47:    	REG_IICD_START_SETUP  = 0x0e;
-002FA1 A3                INC     DPTR
-002FA2 04                INC     A
-002FA3 F0                MOVX    @DPTR,A
+002FA9 A3                INC     DPTR
+002FAA 04                INC     A
+002FAB F0                MOVX    @DPTR,A
    48:    	REG_IICD_START_HOLD  = 0x0e;
-002FA4 A3                INC     DPTR
-002FA5 F0                MOVX    @DPTR,A
+002FAC A3                INC     DPTR
+002FAD F0                MOVX    @DPTR,A
    49:   	REG_IICD_STOP_SETUP  = 0x0e;
-002FA6 A3                INC     DPTR
-002FA7 F0                MOVX    @DPTR,A
+002FAE A3                INC     DPTR
+002FAF F0                MOVX    @DPTR,A
    50:    	REG_IICD_DATA_SETUP  = 0x0d;
-002FA8 A3                INC     DPTR
-002FA9 F0                MOVX    @DPTR,A
+002FB0 A3                INC     DPTR
+002FB1 F0                MOVX    @DPTR,A
    51: }
-002FAA A3                INC     DPTR
-002FAB 14                DEC     A
-002FAC F0                MOVX    @DPTR,A
+002FB2 A3                INC     DPTR
+002FB3 14                DEC     A
+002FB4 F0                MOVX    @DPTR,A
    52: 
-002FAD 22                RET     
+002FB5 22                RET     
 ----- FUNCTION System_IIC_clk_setup (END) -------
 
 
@@ -9360,42 +9357,42 @@
    69: {
    70: 	System_clear_mem();
    71: 	YC_adc_init();
-002FAE 120BC8            LCALL   System_clear_mem
+002FB6 120BC8            LCALL   System_clear_mem
    72: 	g_variable.release_data =1;
-002FB1 123012            LCALL   YC_adc_init
+002FB9 12301A            LCALL   YC_adc_init
    73: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-002FB4 904CEB            MOV     DPTR,#g_variable+02CH
-002FB7 7401              MOV     A,#01H
-002FB9 F0                MOVX    @DPTR,A
+002FBC 904CEB            MOV     DPTR,#g_variable+02CH
+002FBF 7401              MOV     A,#01H
+002FC1 F0                MOVX    @DPTR,A
    74: //	g_variable.powerOn_first_flag = 1;
-002FBA 904CE5            MOV     DPTR,#g_variable+026H
-002FBD 740A              MOV     A,#0AH
-002FBF F0                MOVX    @DPTR,A
+002FC2 904CE5            MOV     DPTR,#g_variable+026H
+002FC5 740A              MOV     A,#0AH
+002FC7 F0                MOVX    @DPTR,A
    75: 	g_variable.recon_count = 0;
-002FC0 E4                CLR     A
-002FC1 904CF0            MOV     DPTR,#g_variable+031H
-002FC4 F0                MOVX    @DPTR,A
+002FC8 E4                CLR     A
+002FC9 904CF0            MOV     DPTR,#g_variable+031H
+002FCC F0                MOVX    @DPTR,A
    76: 	g_variable.test_buff = 0xff;
-002FC5 904D05            MOV     DPTR,#g_variable+046H
-002FC8 74FF              MOV     A,#0FFH
-002FCA F0                MOVX    @DPTR,A
-   77: 	le_lap_temp[0] = m_le_lap[3];
-002FCB 9044FC            MOV     DPTR,#m_le_lap+03H
-002FCE E0                MOVX    A,@DPTR
-002FCF 904DD0            MOV     DPTR,#le_lap_temp
+002FCD 904D05            MOV     DPTR,#g_variable+046H
+002FD0 74FF              MOV     A,#0FFH
 002FD2 F0                MOVX    @DPTR,A
-   78: 	le_lap_temp[1] = m_le_lap[4];
-002FD3 9044FD            MOV     DPTR,#m_le_lap+04H
+   77: 	le_lap_temp[0] = m_le_lap[3];
+002FD3 9044FC            MOV     DPTR,#m_le_lap+03H
 002FD6 E0                MOVX    A,@DPTR
-002FD7 904DD1            MOV     DPTR,#le_lap_temp+01H
+002FD7 904DD0            MOV     DPTR,#le_lap_temp
 002FDA F0                MOVX    @DPTR,A
-   79: 	le_lap_temp[2] = m_le_lap[5];
-002FDB 9044FE            MOV     DPTR,#m_le_lap+05H
+   78: 	le_lap_temp[1] = m_le_lap[4];
+002FDB 9044FD            MOV     DPTR,#m_le_lap+04H
 002FDE E0                MOVX    A,@DPTR
-002FDF 904DD2            MOV     DPTR,#le_lap_temp+02H
+002FDF 904DD1            MOV     DPTR,#le_lap_temp+01H
 002FE2 F0                MOVX    @DPTR,A
+   79: 	le_lap_temp[2] = m_le_lap[5];
+002FE3 9044FE            MOV     DPTR,#m_le_lap+05H
+002FE6 E0                MOVX    A,@DPTR
+002FE7 904DD2            MOV     DPTR,#le_lap_temp+02H
+002FEA F0                MOVX    @DPTR,A
    80: }
-002FE3 22                RET     
+002FEB 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -9405,13 +9402,13 @@
    83: {
    84: 	m_reset_reg = 1;
    85: 	while(1);
-002FE4 908010            MOV     DPTR,#m_reset_reg
-002FE7 7401              MOV     A,#01H
-002FE9 F0                MOVX    @DPTR,A
-002FEA         ?C0006?SYS:
+002FEC 908010            MOV     DPTR,#m_reset_reg
+002FEF 7401              MOV     A,#01H
+002FF1 F0                MOVX    @DPTR,A
+002FF2         ?C0006?SYS:
    86: }
-002FEA 80FE              SJMP    ?C0006?SYS
-002FEC 22                RET     
+002FF2 80FE              SJMP    ?C0006?SYS
+002FF4 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -9421,7 +9418,7 @@
   113: {
   114: 	System_Hardware_reset();
   115: }
-002FED 80F5              SJMP    System_Hardware_reset
+002FF5 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -9429,21 +9426,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
-002FEF 904EFD            MOV     DPTR,#len
-002FF2 ED                MOV     A,R5
-002FF3 F0                MOVX    @DPTR,A
+002FF7 904EFD            MOV     DPTR,#len
+002FFA ED                MOV     A,R5
+002FFB F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
   124: 	byte temp = p[1];
-002FF4 900001            MOV     DPTR,#01H
-002FF7 1203CF            LCALL   ?C?CLDOPTR
-002FFA 904EFE            MOV     DPTR,#temp
-002FFD F0                MOVX    @DPTR,A
+002FFC 900001            MOV     DPTR,#01H
+002FFF 1203CF            LCALL   ?C?CLDOPTR
+003002 904EFE            MOV     DPTR,#temp
+003005 F0                MOVX    @DPTR,A
   125: 
   126: 	if (len<2) {
   127: 		return;
   128: 	}
   129: }
-002FFE 22                RET     
+003006 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
@@ -9453,21 +9450,21 @@
   833: {
   834: 	IPC_Initialize(&cb);
   835: }
-002FFF 7B01              MOV     R3,#01H
-003001 7A4E              MOV     R2,#HIGH cb
-003003 7956              MOV     R1,#LOW cb
+003007 7B01              MOV     R3,#01H
+003009 7A4E              MOV     R2,#HIGH cb
+00300B 7956              MOV     R1,#LOW cb
 ;----                  JMP     _IPC_Initialize
 ----- FUNCTION kb_cb_init (END) -------
 
 
 ----- FUNCTION _IPC_Initialize (BEGIN) -----
 ;---- Variable 'cb' assigned to Register 'R1/R2/R3' ----
-003005 7868              MOV     R0,#LOW ipcCb
-003007 7C4E              MOV     R4,#HIGH ipcCb
-003009 7D01              MOV     R5,#01H
-00300B 7E00              MOV     R6,#00H
-00300D 7F12              MOV     R7,#012H
-00300F 020390            LJMP    ?C?COPY
+00300D 7868              MOV     R0,#LOW ipcCb
+00300F 7C4E              MOV     R4,#HIGH ipcCb
+003011 7D01              MOV     R5,#01H
+003013 7E00              MOV     R6,#00H
+003015 7F12              MOV     R7,#012H
+003017 020390            LJMP    ?C?COPY
 ----- FUNCTION _IPC_Initialize (END) -------
 
 
@@ -9479,17 +9476,17 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-003012 904CD3            MOV     DPTR,#g_variable+014H
-003015 7405              MOV     A,#05H
-003017 F0                MOVX    @DPTR,A
+00301A 904CD3            MOV     DPTR,#g_variable+014H
+00301D 7405              MOV     A,#05H
+00301F F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-003018 E4                CLR     A
-003019 A3                INC     DPTR
-00301A F0                MOVX    @DPTR,A
+003020 E4                CLR     A
+003021 A3                INC     DPTR
+003022 F0                MOVX    @DPTR,A
    10: 	g_variable.battery_motion_check_interval = BATTERY_MOTION_CHECK_INTERVAL;
-00301B 904D06            MOV     DPTR,#g_variable+047H
-00301E 7414              MOV     A,#014H
-003020 F0                MOVX    @DPTR,A
+003023 904D06            MOV     DPTR,#g_variable+047H
+003026 7414              MOV     A,#014H
+003028 F0                MOVX    @DPTR,A
    11: 	
    12: #ifdef ADC_TYPE_HVIN 	
    13: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -9503,133 +9500,133 @@
    21: #ifdef ADC_TYPE_VINLPM
    22: 		for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-003021 E4                CLR     A
-003022 FF                MOV     R7,A
-003023         ?C0001?ADC:
+003029 E4                CLR     A
+00302A FF                MOV     R7,A
+00302B         ?C0001?ADC:
    23: 		{
    24: 			g_variable.battery_value[i] = INIT_BATTERY_VALUE_VINLPM;
-003023 EF                MOV     A,R7
-003024 25E0              ADD     A,ACC
-003026 24D6              ADD     A,#LOW g_variable+017H
-003028 F582              MOV     DPL,A
-00302A E4                CLR     A
-00302B 344C              ADDC    A,#HIGH g_variable+017H
-00302D F583              MOV     DPH,A
-00302F 7451              MOV     A,#051H
-003031 F0                MOVX    @DPTR,A
-003032 A3                INC     DPTR
-003033 F0                MOVX    @DPTR,A
+00302B EF                MOV     A,R7
+00302C 25E0              ADD     A,ACC
+00302E 24D6              ADD     A,#LOW g_variable+017H
+003030 F582              MOV     DPL,A
+003032 E4                CLR     A
+003033 344C              ADDC    A,#HIGH g_variable+017H
+003035 F583              MOV     DPH,A
+003037 7451              MOV     A,#051H
+003039 F0                MOVX    @DPTR,A
+00303A A3                INC     DPTR
+00303B F0                MOVX    @DPTR,A
    25: 		}
-003034 0F                INC     R7
-003035 EF                MOV     A,R7
-003036 B404EA            CJNE    A,#04H,?C0001?ADC
-003039         ?C0002?ADC:
+00303C 0F                INC     R7
+00303D EF                MOV     A,R7
+00303E B404EA            CJNE    A,#04H,?C0001?ADC
+003041         ?C0002?ADC:
    26: 		g_variable.battery_level_full = m_adc3vValue;
-003039 904C93            MOV     DPTR,#m_adc3vValue
-00303C E0                MOVX    A,@DPTR
-00303D FF                MOV     R7,A
-00303E A3                INC     DPTR
-00303F E0                MOVX    A,@DPTR
-003040 904CFA            MOV     DPTR,#g_variable+03BH
-003043 CF                XCH     A,R7
-003044 F0                MOVX    @DPTR,A
-003045 A3                INC     DPTR
-003046 EF                MOV     A,R7
-003047 F0                MOVX    @DPTR,A
-   27: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V1+m_adc0vBase;
-003048 904C91            MOV     DPTR,#m_adc0vBase
-00304B E0                MOVX    A,@DPTR
-00304C FE                MOV     R6,A
+003041 904C93            MOV     DPTR,#m_adc3vValue
+003044 E0                MOVX    A,@DPTR
+003045 FF                MOV     R7,A
+003046 A3                INC     DPTR
+003047 E0                MOVX    A,@DPTR
+003048 904CFA            MOV     DPTR,#g_variable+03BH
+00304B CF                XCH     A,R7
+00304C F0                MOVX    @DPTR,A
 00304D A3                INC     DPTR
-00304E E0                MOVX    A,@DPTR
-00304F FF                MOV     R7,A
-003050 C3                CLR     C
-003051 904C94            MOV     DPTR,#m_adc3vValue+01H
-003054 E0                MOVX    A,@DPTR
-003055 9F                SUBB    A,R7
-003056 FD                MOV     R5,A
-003057 904C93            MOV     DPTR,#m_adc3vValue
-00305A E0                MOVX    A,@DPTR
-00305B 9E                SUBB    A,R6
-00305C FC                MOV     R4,A
-00305D E4                CLR     A
-00305E 120206            LCALL   ?C?FCASTI
-003061 7B8F              MOV     R3,#08FH
-003063 7AC2              MOV     R2,#0C2H
-003065 7935              MOV     R1,#035H
-003067 783F              MOV     R0,#03FH
-003069 1200FB            LCALL   ?C?FPMUL
-00306C C004              PUSH    AR4
-00306E C005              PUSH    AR5
-003070 C006              PUSH    AR6
-003072 C007              PUSH    AR7
-003074 904C91            MOV     DPTR,#m_adc0vBase
-003077 E0                MOVX    A,@DPTR
-003078 FC                MOV     R4,A
-003079 A3                INC     DPTR
-00307A E0                MOVX    A,@DPTR
-00307B FD                MOV     R5,A
-00307C E4                CLR     A
-00307D 120206            LCALL   ?C?FCASTI
-003080 D003              POP     AR3
-003082 D002              POP     AR2
-003084 D001              POP     AR1
-003086 D000              POP     AR0
-003088 12000A            LCALL   ?C?FPADD
-00308B 12023F            LCALL   ?C?CASTF
-00308E 904CDE            MOV     DPTR,#g_variable+01FH
-003091 EE                MOV     A,R6
-003092 F0                MOVX    @DPTR,A
-003093 A3                INC     DPTR
-003094 EF                MOV     A,R7
-003095 F0                MOVX    @DPTR,A
-   28: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V9+m_adc0vBase;
-003096 904C91            MOV     DPTR,#m_adc0vBase
-003099 E0                MOVX    A,@DPTR
-00309A FE                MOV     R6,A
+00304E EF                MOV     A,R7
+00304F F0                MOVX    @DPTR,A
+   27: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V1+m_adc0vBase;
+003050 904C91            MOV     DPTR,#m_adc0vBase
+003053 E0                MOVX    A,@DPTR
+003054 FE                MOV     R6,A
+003055 A3                INC     DPTR
+003056 E0                MOVX    A,@DPTR
+003057 FF                MOV     R7,A
+003058 C3                CLR     C
+003059 904C94            MOV     DPTR,#m_adc3vValue+01H
+00305C E0                MOVX    A,@DPTR
+00305D 9F                SUBB    A,R7
+00305E FD                MOV     R5,A
+00305F 904C93            MOV     DPTR,#m_adc3vValue
+003062 E0                MOVX    A,@DPTR
+003063 9E                SUBB    A,R6
+003064 FC                MOV     R4,A
+003065 E4                CLR     A
+003066 120206            LCALL   ?C?FCASTI
+003069 7B8F              MOV     R3,#08FH
+00306B 7AC2              MOV     R2,#0C2H
+00306D 7935              MOV     R1,#035H
+00306F 783F              MOV     R0,#03FH
+003071 1200FB            LCALL   ?C?FPMUL
+003074 C004              PUSH    AR4
+003076 C005              PUSH    AR5
+003078 C006              PUSH    AR6
+00307A C007              PUSH    AR7
+00307C 904C91            MOV     DPTR,#m_adc0vBase
+00307F E0                MOVX    A,@DPTR
+003080 FC                MOV     R4,A
+003081 A3                INC     DPTR
+003082 E0                MOVX    A,@DPTR
+003083 FD                MOV     R5,A
+003084 E4                CLR     A
+003085 120206            LCALL   ?C?FCASTI
+003088 D003              POP     AR3
+00308A D002              POP     AR2
+00308C D001              POP     AR1
+00308E D000              POP     AR0
+003090 12000A            LCALL   ?C?FPADD
+003093 12023F            LCALL   ?C?CASTF
+003096 904CDE            MOV     DPTR,#g_variable+01FH
+003099 EE                MOV     A,R6
+00309A F0                MOVX    @DPTR,A
 00309B A3                INC     DPTR
-00309C E0                MOVX    A,@DPTR
-00309D FF                MOV     R7,A
-00309E C3                CLR     C
-00309F 904C94            MOV     DPTR,#m_adc3vValue+01H
-0030A2 E0                MOVX    A,@DPTR
-0030A3 9F                SUBB    A,R7
-0030A4 FD                MOV     R5,A
-0030A5 904C93            MOV     DPTR,#m_adc3vValue
-0030A8 E0                MOVX    A,@DPTR
-0030A9 9E                SUBB    A,R6
-0030AA FC                MOV     R4,A
-0030AB E4                CLR     A
-0030AC 120206            LCALL   ?C?FCASTI
-0030AF 7BC3              MOV     R3,#0C3H
-0030B1 7AF5              MOV     R2,#0F5H
-0030B3 7928              MOV     R1,#028H
-0030B5 783F              MOV     R0,#03FH
-0030B7 1200FB            LCALL   ?C?FPMUL
-0030BA C004              PUSH    AR4
-0030BC C005              PUSH    AR5
-0030BE C006              PUSH    AR6
-0030C0 C007              PUSH    AR7
-0030C2 904C91            MOV     DPTR,#m_adc0vBase
-0030C5 E0                MOVX    A,@DPTR
-0030C6 FC                MOV     R4,A
-0030C7 A3                INC     DPTR
-0030C8 E0                MOVX    A,@DPTR
-0030C9 FD                MOV     R5,A
-0030CA E4                CLR     A
-0030CB 120206            LCALL   ?C?FCASTI
-0030CE D003              POP     AR3
-0030D0 D002              POP     AR2
-0030D2 D001              POP     AR1
-0030D4 D000              POP     AR0
-0030D6 12000A            LCALL   ?C?FPADD
-0030D9 12023F            LCALL   ?C?CASTF
-0030DC 904CE0            MOV     DPTR,#g_variable+021H
-0030DF EE                MOV     A,R6
-0030E0 F0                MOVX    @DPTR,A
-0030E1 A3                INC     DPTR
-0030E2 EF                MOV     A,R7
-0030E3 F0                MOVX    @DPTR,A
+00309C EF                MOV     A,R7
+00309D F0                MOVX    @DPTR,A
+   28: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V9+m_adc0vBase;
+00309E 904C91            MOV     DPTR,#m_adc0vBase
+0030A1 E0                MOVX    A,@DPTR
+0030A2 FE                MOV     R6,A
+0030A3 A3                INC     DPTR
+0030A4 E0                MOVX    A,@DPTR
+0030A5 FF                MOV     R7,A
+0030A6 C3                CLR     C
+0030A7 904C94            MOV     DPTR,#m_adc3vValue+01H
+0030AA E0                MOVX    A,@DPTR
+0030AB 9F                SUBB    A,R7
+0030AC FD                MOV     R5,A
+0030AD 904C93            MOV     DPTR,#m_adc3vValue
+0030B0 E0                MOVX    A,@DPTR
+0030B1 9E                SUBB    A,R6
+0030B2 FC                MOV     R4,A
+0030B3 E4                CLR     A
+0030B4 120206            LCALL   ?C?FCASTI
+0030B7 7BC3              MOV     R3,#0C3H
+0030B9 7AF5              MOV     R2,#0F5H
+0030BB 7928              MOV     R1,#028H
+0030BD 783F              MOV     R0,#03FH
+0030BF 1200FB            LCALL   ?C?FPMUL
+0030C2 C004              PUSH    AR4
+0030C4 C005              PUSH    AR5
+0030C6 C006              PUSH    AR6
+0030C8 C007              PUSH    AR7
+0030CA 904C91            MOV     DPTR,#m_adc0vBase
+0030CD E0                MOVX    A,@DPTR
+0030CE FC                MOV     R4,A
+0030CF A3                INC     DPTR
+0030D0 E0                MOVX    A,@DPTR
+0030D1 FD                MOV     R5,A
+0030D2 E4                CLR     A
+0030D3 120206            LCALL   ?C?FCASTI
+0030D6 D003              POP     AR3
+0030D8 D002              POP     AR2
+0030DA D001              POP     AR1
+0030DC D000              POP     AR0
+0030DE 12000A            LCALL   ?C?FPADD
+0030E1 12023F            LCALL   ?C?CASTF
+0030E4 904CE0            MOV     DPTR,#g_variable+021H
+0030E7 EE                MOV     A,R6
+0030E8 F0                MOVX    @DPTR,A
+0030E9 A3                INC     DPTR
+0030EA EF                MOV     A,R7
+0030EB F0                MOVX    @DPTR,A
    29: #endif
    30: #ifdef ADC_TYPE_GPIO
    31: 	m_adc_channel = ADC_CHANNEL;
@@ -9643,7 +9640,7 @@
    39: #endif	
    40: #endif
    41: }
-0030E4 22                RET     
+0030EC 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -9654,383 +9651,383 @@
    45: #ifdef  ADC_ENABLE
    46: 	byte i;
    47: 	ulong batValue = 0;
-0030E5 904ECB            MOV     DPTR,#batValue
-0030E8 120582            LCALL   ?C?LSTKXDATA
-0030EB 00                DB      00H
-0030EC 00                DB      00H
-0030ED 00                DB      00H
-0030EE 00                DB      00H
+0030ED 904ECB            MOV     DPTR,#batValue
+0030F0 120582            LCALL   ?C?LSTKXDATA
+0030F3 00                DB      00H
+0030F4 00                DB      00H
+0030F5 00                DB      00H
+0030F6 00                DB      00H
    48: 
    49: 	if(!m_adcCurrentValue)
-0030EF 904C95            MOV     DPTR,#m_adcCurrentValue
-0030F2 E0                MOVX    A,@DPTR
-0030F3 7002              JNZ     ?C0028?ADC
-0030F5 A3                INC     DPTR
-0030F6 E0                MOVX    A,@DPTR
-0030F7         ?C0028?ADC:
-0030F7 7002              JNZ     $ + 4H
-0030F9 41A2              AJMP    ?C0006?ADC
-0030FB         ?C0005?ADC:
+0030F7 904C95            MOV     DPTR,#m_adcCurrentValue
+0030FA E0                MOVX    A,@DPTR
+0030FB 7002              JNZ     ?C0028?ADC
+0030FD A3                INC     DPTR
+0030FE E0                MOVX    A,@DPTR
+0030FF         ?C0028?ADC:
+0030FF 7002              JNZ     $ + 4H
+003101 41AA              AJMP    ?C0006?ADC
+003103         ?C0005?ADC:
    50: 		return;
    51: 
    52: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
-0030FB 904C95            MOV     DPTR,#m_adcCurrentValue
-0030FE E0                MOVX    A,@DPTR
-0030FF FE                MOV     R6,A
-003100 A3                INC     DPTR
-003101 E0                MOVX    A,@DPTR
-003102 FF                MOV     R7,A
-003103 904CD4            MOV     DPTR,#g_variable+015H
+003103 904C95            MOV     DPTR,#m_adcCurrentValue
 003106 E0                MOVX    A,@DPTR
-003107 FD                MOV     R5,A
-003108 04                INC     A
-003109 F0                MOVX    @DPTR,A
-00310A ED                MOV     A,R5
-00310B 25E0              ADD     A,ACC
-00310D 24D6              ADD     A,#LOW g_variable+017H
-00310F F582              MOV     DPL,A
-003111 E4                CLR     A
-003112 344C              ADDC    A,#HIGH g_variable+017H
-003114 F583              MOV     DPH,A
-003116 EE                MOV     A,R6
-003117 F0                MOVX    @DPTR,A
-003118 A3                INC     DPTR
-003119 EF                MOV     A,R7
-00311A F0                MOVX    @DPTR,A
+003107 FE                MOV     R6,A
+003108 A3                INC     DPTR
+003109 E0                MOVX    A,@DPTR
+00310A FF                MOV     R7,A
+00310B 904CD4            MOV     DPTR,#g_variable+015H
+00310E E0                MOVX    A,@DPTR
+00310F FD                MOV     R5,A
+003110 04                INC     A
+003111 F0                MOVX    @DPTR,A
+003112 ED                MOV     A,R5
+003113 25E0              ADD     A,ACC
+003115 24D6              ADD     A,#LOW g_variable+017H
+003117 F582              MOV     DPL,A
+003119 E4                CLR     A
+00311A 344C              ADDC    A,#HIGH g_variable+017H
+00311C F583              MOV     DPH,A
+00311E EE                MOV     A,R6
+00311F F0                MOVX    @DPTR,A
+003120 A3                INC     DPTR
+003121 EF                MOV     A,R7
+003122 F0                MOVX    @DPTR,A
    53: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
-00311B 904CD4            MOV     DPTR,#g_variable+015H
-00311E E0                MOVX    A,@DPTR
-00311F C3                CLR     C
-003120 9404              SUBB    A,#04H
-003122 4002              JC      ?C0007?ADC
+003123 904CD4            MOV     DPTR,#g_variable+015H
+003126 E0                MOVX    A,@DPTR
+003127 C3                CLR     C
+003128 9404              SUBB    A,#04H
+00312A 4002              JC      ?C0007?ADC
    54: 		g_variable.battery_value_index = 0;
-003124 E4                CLR     A
-003125 F0                MOVX    @DPTR,A
-003126         ?C0007?ADC:
+00312C E4                CLR     A
+00312D F0                MOVX    @DPTR,A
+00312E         ?C0007?ADC:
    55: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-003126 E4                CLR     A
-003127 904ECA            MOV     DPTR,#i
-00312A F0                MOVX    @DPTR,A
-00312B         ?C0008?ADC:
+00312E E4                CLR     A
+00312F 904ECA            MOV     DPTR,#i
+003132 F0                MOVX    @DPTR,A
+003133         ?C0008?ADC:
    56: 	{
    57: 		batValue += g_variable.battery_value[i];
-00312B 904ECB            MOV     DPTR,#batValue
-00312E E0                MOVX    A,@DPTR
-00312F F8                MOV     R0,A
-003130 A3                INC     DPTR
-003131 E0                MOVX    A,@DPTR
-003132 F9                MOV     R1,A
-003133 A3                INC     DPTR
-003134 E0                MOVX    A,@DPTR
-003135 FA                MOV     R2,A
-003136 A3                INC     DPTR
-003137 E0                MOVX    A,@DPTR
-003138 FB                MOV     R3,A
-003139 904ECA            MOV     DPTR,#i
+003133 904ECB            MOV     DPTR,#batValue
+003136 E0                MOVX    A,@DPTR
+003137 F8                MOV     R0,A
+003138 A3                INC     DPTR
+003139 E0                MOVX    A,@DPTR
+00313A F9                MOV     R1,A
+00313B A3                INC     DPTR
 00313C E0                MOVX    A,@DPTR
-00313D 25E0              ADD     A,ACC
-00313F 24D6              ADD     A,#LOW g_variable+017H
-003141 F582              MOV     DPL,A
-003143 E4                CLR     A
-003144 344C              ADDC    A,#HIGH g_variable+017H
-003146 F583              MOV     DPH,A
-003148 E0                MOVX    A,@DPTR
-003149 FE                MOV     R6,A
-00314A A3                INC     DPTR
-00314B E0                MOVX    A,@DPTR
-00314C FF                MOV     R7,A
-00314D E4                CLR     A
-00314E FC                MOV     R4,A
-00314F FD                MOV     R5,A
-003150 EB                MOV     A,R3
-003151 2F                ADD     A,R7
-003152 FF                MOV     R7,A
-003153 EA                MOV     A,R2
-003154 3E                ADDC    A,R6
-003155 FE                MOV     R6,A
-003156 ED                MOV     A,R5
-003157 39                ADDC    A,R1
-003158 FD                MOV     R5,A
-003159 EC                MOV     A,R4
-00315A 38                ADDC    A,R0
-00315B FC                MOV     R4,A
-00315C 904ECB            MOV     DPTR,#batValue
-00315F 120576            LCALL   ?C?LSTXDATA
+00313D FA                MOV     R2,A
+00313E A3                INC     DPTR
+00313F E0                MOVX    A,@DPTR
+003140 FB                MOV     R3,A
+003141 904ECA            MOV     DPTR,#i
+003144 E0                MOVX    A,@DPTR
+003145 25E0              ADD     A,ACC
+003147 24D6              ADD     A,#LOW g_variable+017H
+003149 F582              MOV     DPL,A
+00314B E4                CLR     A
+00314C 344C              ADDC    A,#HIGH g_variable+017H
+00314E F583              MOV     DPH,A
+003150 E0                MOVX    A,@DPTR
+003151 FE                MOV     R6,A
+003152 A3                INC     DPTR
+003153 E0                MOVX    A,@DPTR
+003154 FF                MOV     R7,A
+003155 E4                CLR     A
+003156 FC                MOV     R4,A
+003157 FD                MOV     R5,A
+003158 EB                MOV     A,R3
+003159 2F                ADD     A,R7
+00315A FF                MOV     R7,A
+00315B EA                MOV     A,R2
+00315C 3E                ADDC    A,R6
+00315D FE                MOV     R6,A
+00315E ED                MOV     A,R5
+00315F 39                ADDC    A,R1
+003160 FD                MOV     R5,A
+003161 EC                MOV     A,R4
+003162 38                ADDC    A,R0
+003163 FC                MOV     R4,A
+003164 904ECB            MOV     DPTR,#batValue
+003167 120576            LCALL   ?C?LSTXDATA
    58: 	}
-003162 904ECA            MOV     DPTR,#i
-003165 E0                MOVX    A,@DPTR
-003166 04                INC     A
-003167 F0                MOVX    @DPTR,A
-003168 E0                MOVX    A,@DPTR
-003169 B404BF            CJNE    A,#04H,?C0008?ADC
-00316C         ?C0009?ADC:
+00316A 904ECA            MOV     DPTR,#i
+00316D E0                MOVX    A,@DPTR
+00316E 04                INC     A
+00316F F0                MOVX    @DPTR,A
+003170 E0                MOVX    A,@DPTR
+003171 B404BF            CJNE    A,#04H,?C0008?ADC
+003174         ?C0009?ADC:
    59: 	batValue = batValue/BAT_ARRAY_LEN;
-00316C 904ECB            MOV     DPTR,#batValue
-00316F E0                MOVX    A,@DPTR
-003170 FC                MOV     R4,A
-003171 A3                INC     DPTR
-003172 E0                MOVX    A,@DPTR
-003173 FD                MOV     R5,A
-003174 A3                INC     DPTR
-003175 E0                MOVX    A,@DPTR
-003176 FE                MOV     R6,A
-003177 A3                INC     DPTR
-003178 E0                MOVX    A,@DPTR
-003179 FF                MOV     R7,A
-00317A E4                CLR     A
-00317B 7B04              MOV     R3,#04H
-00317D FA                MOV     R2,A
-00317E F9                MOV     R1,A
-00317F F8                MOV     R0,A
-003180 1204C5            LCALL   ?C?ULDIV
-003183 904ECB            MOV     DPTR,#batValue
-003186 120576            LCALL   ?C?LSTXDATA
+003174 904ECB            MOV     DPTR,#batValue
+003177 E0                MOVX    A,@DPTR
+003178 FC                MOV     R4,A
+003179 A3                INC     DPTR
+00317A E0                MOVX    A,@DPTR
+00317B FD                MOV     R5,A
+00317C A3                INC     DPTR
+00317D E0                MOVX    A,@DPTR
+00317E FE                MOV     R6,A
+00317F A3                INC     DPTR
+003180 E0                MOVX    A,@DPTR
+003181 FF                MOV     R7,A
+003182 E4                CLR     A
+003183 7B04              MOV     R3,#04H
+003185 FA                MOV     R2,A
+003186 F9                MOV     R1,A
+003187 F8                MOV     R0,A
+003188 1204C5            LCALL   ?C?ULDIV
+00318B 904ECB            MOV     DPTR,#batValue
+00318E 120576            LCALL   ?C?LSTXDATA
    60: 
    61: 	if(batValue <= g_variable.battery_level_shutdown)
-003189 904CE0            MOV     DPTR,#g_variable+021H
-00318C E0                MOVX    A,@DPTR
-00318D FE                MOV     R6,A
-00318E A3                INC     DPTR
-00318F E0                MOVX    A,@DPTR
-003190 FF                MOV     R7,A
-003191 E4                CLR     A
-003192 FC                MOV     R4,A
-003193 FD                MOV     R5,A
-003194 904ECB            MOV     DPTR,#batValue
+003191 904CE0            MOV     DPTR,#g_variable+021H
+003194 E0                MOVX    A,@DPTR
+003195 FE                MOV     R6,A
+003196 A3                INC     DPTR
 003197 E0                MOVX    A,@DPTR
-003198 F8                MOV     R0,A
-003199 A3                INC     DPTR
-00319A E0                MOVX    A,@DPTR
-00319B F9                MOV     R1,A
-00319C A3                INC     DPTR
-00319D E0                MOVX    A,@DPTR
-00319E FA                MOV     R2,A
-00319F A3                INC     DPTR
-0031A0 E0                MOVX    A,@DPTR
-0031A1 FB                MOV     R3,A
-0031A2 D3                SETB    C
-0031A3 120565            LCALL   ?C?ULCMP
-0031A6 5007              JNC     ?C0011?ADC
+003198 FF                MOV     R7,A
+003199 E4                CLR     A
+00319A FC                MOV     R4,A
+00319B FD                MOV     R5,A
+00319C 904ECB            MOV     DPTR,#batValue
+00319F E0                MOVX    A,@DPTR
+0031A0 F8                MOV     R0,A
+0031A1 A3                INC     DPTR
+0031A2 E0                MOVX    A,@DPTR
+0031A3 F9                MOV     R1,A
+0031A4 A3                INC     DPTR
+0031A5 E0                MOVX    A,@DPTR
+0031A6 FA                MOV     R2,A
+0031A7 A3                INC     DPTR
+0031A8 E0                MOVX    A,@DPTR
+0031A9 FB                MOV     R3,A
+0031AA D3                SETB    C
+0031AB 120565            LCALL   ?C?ULCMP
+0031AE 5007              JNC     ?C0011?ADC
    62: 		g_variable.battery_level_percentage = 0;
-0031A8 E4                CLR     A
-0031A9 904CF9            MOV     DPTR,#g_variable+03AH
-0031AC F0                MOVX    @DPTR,A
-0031AD 4131              AJMP    ?C0012?ADC
-0031AF         ?C0011?ADC:
+0031B0 E4                CLR     A
+0031B1 904CF9            MOV     DPTR,#g_variable+03AH
+0031B4 F0                MOVX    @DPTR,A
+0031B5 4139              AJMP    ?C0012?ADC
+0031B7         ?C0011?ADC:
    63: 	else	if(batValue >= g_variable.battery_level_full)
-0031AF 904CFA            MOV     DPTR,#g_variable+03BH
-0031B2 E0                MOVX    A,@DPTR
-0031B3 FE                MOV     R6,A
-0031B4 A3                INC     DPTR
-0031B5 E0                MOVX    A,@DPTR
-0031B6 FF                MOV     R7,A
-0031B7 E4                CLR     A
-0031B8 FC                MOV     R4,A
-0031B9 FD                MOV     R5,A
-0031BA 904ECB            MOV     DPTR,#batValue
+0031B7 904CFA            MOV     DPTR,#g_variable+03BH
+0031BA E0                MOVX    A,@DPTR
+0031BB FE                MOV     R6,A
+0031BC A3                INC     DPTR
 0031BD E0                MOVX    A,@DPTR
-0031BE F8                MOV     R0,A
-0031BF A3                INC     DPTR
-0031C0 E0                MOVX    A,@DPTR
-0031C1 F9                MOV     R1,A
-0031C2 A3                INC     DPTR
-0031C3 E0                MOVX    A,@DPTR
-0031C4 FA                MOV     R2,A
-0031C5 A3                INC     DPTR
-0031C6 E0                MOVX    A,@DPTR
-0031C7 FB                MOV     R3,A
-0031C8 C3                CLR     C
-0031C9 120565            LCALL   ?C?ULCMP
-0031CC 4008              JC      ?C0013?ADC
+0031BE FF                MOV     R7,A
+0031BF E4                CLR     A
+0031C0 FC                MOV     R4,A
+0031C1 FD                MOV     R5,A
+0031C2 904ECB            MOV     DPTR,#batValue
+0031C5 E0                MOVX    A,@DPTR
+0031C6 F8                MOV     R0,A
+0031C7 A3                INC     DPTR
+0031C8 E0                MOVX    A,@DPTR
+0031C9 F9                MOV     R1,A
+0031CA A3                INC     DPTR
+0031CB E0                MOVX    A,@DPTR
+0031CC FA                MOV     R2,A
+0031CD A3                INC     DPTR
+0031CE E0                MOVX    A,@DPTR
+0031CF FB                MOV     R3,A
+0031D0 C3                CLR     C
+0031D1 120565            LCALL   ?C?ULCMP
+0031D4 4008              JC      ?C0013?ADC
    64: 		g_variable.battery_level_percentage = 100;
-0031CE 904CF9            MOV     DPTR,#g_variable+03AH
-0031D1 7464              MOV     A,#064H
-0031D3 F0                MOVX    @DPTR,A
-0031D4 805B              SJMP    ?C0012?ADC
-0031D6         ?C0013?ADC:
+0031D6 904CF9            MOV     DPTR,#g_variable+03AH
+0031D9 7464              MOV     A,#064H
+0031DB F0                MOVX    @DPTR,A
+0031DC 805B              SJMP    ?C0012?ADC
+0031DE         ?C0013?ADC:
    65: 	else	
    66: 		g_variable.battery_level_percentage = (byte)(((batValue - g_variable.battery_level_shutdown)*100)/(g_variable.b
 >> attery_level_full -g_variable.battery_level_shutdown) );
-0031D6 904CE0            MOV     DPTR,#g_variable+021H
-0031D9 E0                MOVX    A,@DPTR
-0031DA FE                MOV     R6,A
-0031DB A3                INC     DPTR
-0031DC E0                MOVX    A,@DPTR
-0031DD FF                MOV     R7,A
-0031DE FB                MOV     R3,A
-0031DF AA06              MOV     R2,AR6
-0031E1 E4                CLR     A
-0031E2 904ECB            MOV     DPTR,#batValue
-0031E5 E0                MOVX    A,@DPTR
-0031E6 FC                MOV     R4,A
-0031E7 A3                INC     DPTR
-0031E8 E0                MOVX    A,@DPTR
-0031E9 FD                MOV     R5,A
-0031EA A3                INC     DPTR
-0031EB E0                MOVX    A,@DPTR
-0031EC FE                MOV     R6,A
-0031ED A3                INC     DPTR
-0031EE E0                MOVX    A,@DPTR
-0031EF C3                CLR     C
-0031F0 9B                SUBB    A,R3
-0031F1 FF                MOV     R7,A
-0031F2 EE                MOV     A,R6
-0031F3 9A                SUBB    A,R2
+0031DE 904CE0            MOV     DPTR,#g_variable+021H
+0031E1 E0                MOVX    A,@DPTR
+0031E2 FE                MOV     R6,A
+0031E3 A3                INC     DPTR
+0031E4 E0                MOVX    A,@DPTR
+0031E5 FF                MOV     R7,A
+0031E6 FB                MOV     R3,A
+0031E7 AA06              MOV     R2,AR6
+0031E9 E4                CLR     A
+0031EA 904ECB            MOV     DPTR,#batValue
+0031ED E0                MOVX    A,@DPTR
+0031EE FC                MOV     R4,A
+0031EF A3                INC     DPTR
+0031F0 E0                MOVX    A,@DPTR
+0031F1 FD                MOV     R5,A
+0031F2 A3                INC     DPTR
+0031F3 E0                MOVX    A,@DPTR
 0031F4 FE                MOV     R6,A
-0031F5 ED                MOV     A,R5
-0031F6 9400              SUBB    A,#00H
-0031F8 FD                MOV     R5,A
-0031F9 EC                MOV     A,R4
-0031FA 9400              SUBB    A,#00H
-0031FC FC                MOV     R4,A
-0031FD E4                CLR     A
-0031FE 7B64              MOV     R3,#064H
-003200 FA                MOV     R2,A
-003201 F9                MOV     R1,A
-003202 F8                MOV     R0,A
-003203 12043A            LCALL   ?C?LMUL
-003206 C006              PUSH    AR6
-003208 C007              PUSH    AR7
-00320A 904CE0            MOV     DPTR,#g_variable+021H
-00320D E0                MOVX    A,@DPTR
-00320E FE                MOV     R6,A
-00320F A3                INC     DPTR
-003210 E0                MOVX    A,@DPTR
-003211 FF                MOV     R7,A
-003212 C3                CLR     C
-003213 904CFB            MOV     DPTR,#g_variable+03CH
-003216 E0                MOVX    A,@DPTR
-003217 9F                SUBB    A,R7
-003218 FF                MOV     R7,A
-003219 904CFA            MOV     DPTR,#g_variable+03BH
-00321C E0                MOVX    A,@DPTR
-00321D 9E                SUBB    A,R6
-00321E FE                MOV     R6,A
-00321F AB07              MOV     R3,AR7
-003221 FA                MOV     R2,A
-003222 E4                CLR     A
-003223 F9                MOV     R1,A
-003224 F8                MOV     R0,A
-003225 D007              POP     AR7
-003227 D006              POP     AR6
-003229 1204C5            LCALL   ?C?ULDIV
-00322C 904CF9            MOV     DPTR,#g_variable+03AH
-00322F EF                MOV     A,R7
-003230 F0                MOVX    @DPTR,A
-003231         ?C0012?ADC:
+0031F5 A3                INC     DPTR
+0031F6 E0                MOVX    A,@DPTR
+0031F7 C3                CLR     C
+0031F8 9B                SUBB    A,R3
+0031F9 FF                MOV     R7,A
+0031FA EE                MOV     A,R6
+0031FB 9A                SUBB    A,R2
+0031FC FE                MOV     R6,A
+0031FD ED                MOV     A,R5
+0031FE 9400              SUBB    A,#00H
+003200 FD                MOV     R5,A
+003201 EC                MOV     A,R4
+003202 9400              SUBB    A,#00H
+003204 FC                MOV     R4,A
+003205 E4                CLR     A
+003206 7B64              MOV     R3,#064H
+003208 FA                MOV     R2,A
+003209 F9                MOV     R1,A
+00320A F8                MOV     R0,A
+00320B 12043A            LCALL   ?C?LMUL
+00320E C006              PUSH    AR6
+003210 C007              PUSH    AR7
+003212 904CE0            MOV     DPTR,#g_variable+021H
+003215 E0                MOVX    A,@DPTR
+003216 FE                MOV     R6,A
+003217 A3                INC     DPTR
+003218 E0                MOVX    A,@DPTR
+003219 FF                MOV     R7,A
+00321A C3                CLR     C
+00321B 904CFB            MOV     DPTR,#g_variable+03CH
+00321E E0                MOVX    A,@DPTR
+00321F 9F                SUBB    A,R7
+003220 FF                MOV     R7,A
+003221 904CFA            MOV     DPTR,#g_variable+03BH
+003224 E0                MOVX    A,@DPTR
+003225 9E                SUBB    A,R6
+003226 FE                MOV     R6,A
+003227 AB07              MOV     R3,AR7
+003229 FA                MOV     R2,A
+00322A E4                CLR     A
+00322B F9                MOV     R1,A
+00322C F8                MOV     R0,A
+00322D D007              POP     AR7
+00322F D006              POP     AR6
+003231 1204C5            LCALL   ?C?ULDIV
+003234 904CF9            MOV     DPTR,#g_variable+03AH
+003237 EF                MOV     A,R7
+003238 F0                MOVX    @DPTR,A
+003239         ?C0012?ADC:
    67: 	
    68: 	if(g_variable.battery_value[0] < g_variable.battery_level_shutdown)
-003231 904CE0            MOV     DPTR,#g_variable+021H
-003234 E0                MOVX    A,@DPTR
-003235 FE                MOV     R6,A
-003236 A3                INC     DPTR
-003237 E0                MOVX    A,@DPTR
-003238 FF                MOV     R7,A
-003239 C3                CLR     C
-00323A 904CD7            MOV     DPTR,#g_variable+018H
-00323D E0                MOVX    A,@DPTR
-00323E 9F                SUBB    A,R7
-00323F 904CD6            MOV     DPTR,#g_variable+017H
-003242 E0                MOVX    A,@DPTR
-003243 9E                SUBB    A,R6
-003244 5007              JNC     ?C0015?ADC
+003239 904CE0            MOV     DPTR,#g_variable+021H
+00323C E0                MOVX    A,@DPTR
+00323D FE                MOV     R6,A
+00323E A3                INC     DPTR
+00323F E0                MOVX    A,@DPTR
+003240 FF                MOV     R7,A
+003241 C3                CLR     C
+003242 904CD7            MOV     DPTR,#g_variable+018H
+003245 E0                MOVX    A,@DPTR
+003246 9F                SUBB    A,R7
+003247 904CD6            MOV     DPTR,#g_variable+017H
+00324A E0                MOVX    A,@DPTR
+00324B 9E                SUBB    A,R6
+00324C 5007              JNC     ?C0015?ADC
    69: 	{
    70: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
-003246 904CD5            MOV     DPTR,#g_variable+016H
-003249 7402              MOV     A,#02H
-00324B F0                MOVX    @DPTR,A
+00324E 904CD5            MOV     DPTR,#g_variable+016H
+003251 7402              MOV     A,#02H
+003253 F0                MOVX    @DPTR,A
    71: 	}
-00324C 22                RET     
-00324D         ?C0015?ADC:
+003254 22                RET     
+003255         ?C0015?ADC:
    72: 	else
    73: 	{
    74: 		if (batValue < g_variable.battery_level_low)
-00324D 904CDE            MOV     DPTR,#g_variable+01FH
-003250 E0                MOVX    A,@DPTR
-003251 FE                MOV     R6,A
-003252 A3                INC     DPTR
-003253 E0                MOVX    A,@DPTR
-003254 FF                MOV     R7,A
-003255 E4                CLR     A
-003256 FC                MOV     R4,A
-003257 FD                MOV     R5,A
-003258 904ECB            MOV     DPTR,#batValue
+003255 904CDE            MOV     DPTR,#g_variable+01FH
+003258 E0                MOVX    A,@DPTR
+003259 FE                MOV     R6,A
+00325A A3                INC     DPTR
 00325B E0                MOVX    A,@DPTR
-00325C F8                MOV     R0,A
-00325D A3                INC     DPTR
-00325E E0                MOVX    A,@DPTR
-00325F F9                MOV     R1,A
-003260 A3                INC     DPTR
-003261 E0                MOVX    A,@DPTR
-003262 FA                MOV     R2,A
-003263 A3                INC     DPTR
-003264 E0                MOVX    A,@DPTR
-003265 FB                MOV     R3,A
-003266 C3                CLR     C
-003267 120565            LCALL   ?C?ULCMP
-00326A 501C              JNC     ?C0017?ADC
+00325C FF                MOV     R7,A
+00325D E4                CLR     A
+00325E FC                MOV     R4,A
+00325F FD                MOV     R5,A
+003260 904ECB            MOV     DPTR,#batValue
+003263 E0                MOVX    A,@DPTR
+003264 F8                MOV     R0,A
+003265 A3                INC     DPTR
+003266 E0                MOVX    A,@DPTR
+003267 F9                MOV     R1,A
+003268 A3                INC     DPTR
+003269 E0                MOVX    A,@DPTR
+00326A FA                MOV     R2,A
+00326B A3                INC     DPTR
+00326C E0                MOVX    A,@DPTR
+00326D FB                MOV     R3,A
+00326E C3                CLR     C
+00326F 120565            LCALL   ?C?ULCMP
+003272 501C              JNC     ?C0017?ADC
    75: 		{
    76: 			g_variable.battery_status = BAT_STATUS_LOW;
-00326C 904CD5            MOV     DPTR,#g_variable+016H
-00326F 7401              MOV     A,#01H
-003271 F0                MOVX    @DPTR,A
+003274 904CD5            MOV     DPTR,#g_variable+016H
+003277 7401              MOV     A,#01H
+003279 F0                MOVX    @DPTR,A
    77: 			if(!g_variable.g24_long_sleep_flag)
-003272 904CFC            MOV     DPTR,#g_variable+03DH
-003275 E0                MOVX    A,@DPTR
-003276 702A              JNZ     ?C0006?ADC
+00327A 904CFC            MOV     DPTR,#g_variable+03DH
+00327D E0                MOVX    A,@DPTR
+00327E 702A              JNZ     ?C0006?ADC
    78: 			{
    79: 			m_24g_enter_hibernate[0]	= 0x00;
-003278 904D40            MOV     DPTR,#m_24g_enter_hibernate
-00327B F0                MOVX    @DPTR,A
+003280 904D40            MOV     DPTR,#m_24g_enter_hibernate
+003283 F0                MOVX    @DPTR,A
    80: 			m_24g_enter_hibernate[1]	= 0x48;
-00327C A3                INC     DPTR
-00327D 7448              MOV     A,#048H
-00327F F0                MOVX    @DPTR,A
+003284 A3                INC     DPTR
+003285 7448              MOV     A,#048H
+003287 F0                MOVX    @DPTR,A
    81: 			m_24g_enter_hibernate[2]	= 0x12;		// 100ms
-003280 A3                INC     DPTR
-003281 7412              MOV     A,#012H
-003283 F0                MOVX    @DPTR,A
+003288 A3                INC     DPTR
+003289 7412              MOV     A,#012H
+00328B F0                MOVX    @DPTR,A
    82: 			m_24g_enter_hibernate[3]	= 0x00;
-003284 E4                CLR     A
-003285 A3                INC     DPTR
-003286 F0                MOVX    @DPTR,A
+00328C E4                CLR     A
+00328D A3                INC     DPTR
+00328E F0                MOVX    @DPTR,A
    83: 			}
    84: 		}
-003287 22                RET     
-003288         ?C0017?ADC:
+00328F 22                RET     
+003290         ?C0017?ADC:
    85: 		else
    86: 		{
    87: 			g_variable.battery_status = BAT_STATUS_NONE;
-003288 E4                CLR     A
-003289 904CD5            MOV     DPTR,#g_variable+016H
-00328C F0                MOVX    @DPTR,A
+003290 E4                CLR     A
+003291 904CD5            MOV     DPTR,#g_variable+016H
+003294 F0                MOVX    @DPTR,A
    88: 			if(!g_variable.g24_long_sleep_flag)
-00328D 904CFC            MOV     DPTR,#g_variable+03DH
-003290 E0                MOVX    A,@DPTR
-003291 700F              JNZ     ?C0006?ADC
+003295 904CFC            MOV     DPTR,#g_variable+03DH
+003298 E0                MOVX    A,@DPTR
+003299 700F              JNZ     ?C0006?ADC
    89: 			{
    90: 			m_24g_enter_hibernate[0]	= 0x00;
-003293 904D40            MOV     DPTR,#m_24g_enter_hibernate
-003296 F0                MOVX    @DPTR,A
+00329B 904D40            MOV     DPTR,#m_24g_enter_hibernate
+00329E F0                MOVX    @DPTR,A
    91: 			m_24g_enter_hibernate[1]	= 0x48;
-003297 A3                INC     DPTR
-003298 7448              MOV     A,#048H
-00329A F0                MOVX    @DPTR,A
+00329F A3                INC     DPTR
+0032A0 7448              MOV     A,#048H
+0032A2 F0                MOVX    @DPTR,A
    92: 			m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
-00329B A3                INC     DPTR
-00329C 745D              MOV     A,#05DH
-00329E F0                MOVX    @DPTR,A
+0032A3 A3                INC     DPTR
+0032A4 745D              MOV     A,#05DH
+0032A6 F0                MOVX    @DPTR,A
    93: 			m_24g_enter_hibernate[3]	= 0x00;
-00329F E4                CLR     A
-0032A0 A3                INC     DPTR
-0032A1 F0                MOVX    @DPTR,A
+0032A7 E4                CLR     A
+0032A8 A3                INC     DPTR
+0032A9 F0                MOVX    @DPTR,A
    94: 			}
    95: 		}
    96: 	}
    97: #endif	
    98: }
-0032A2         ?C0006?ADC:
-0032A2 22                RET     
+0032AA         ?C0006?ADC:
+0032AA 22                RET     
 ----- FUNCTION YC_adc_check (END) -------
 
 
@@ -10040,748 +10037,748 @@
     6: {
     7: 	YC_System_Main();
     8: }
-0032A3 020F9C            LJMP    YC_System_Main
+0032AB 020F9C            LJMP    YC_System_Main
 ----- FUNCTION main (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-0032A6 904ED8            MOV     DPTR,#rptr
-0032A9 EE                MOV     A,R6
-0032AA F0                MOVX    @DPTR,A
-0032AB A3                INC     DPTR
-0032AC EF                MOV     A,R7
-0032AD F0                MOVX    @DPTR,A
-0032AE 904EDA            MOV     DPTR,#wptr
-0032B1 EC                MOV     A,R4
+0032AE 904ED8            MOV     DPTR,#rptr
+0032B1 EE                MOV     A,R6
 0032B2 F0                MOVX    @DPTR,A
 0032B3 A3                INC     DPTR
-0032B4 ED                MOV     A,R5
+0032B4 EF                MOV     A,R7
 0032B5 F0                MOVX    @DPTR,A
-;---- Variable 'buflen' assigned to Register 'R3' ----
 0032B6 904EDA            MOV     DPTR,#wptr
-0032B9 E0                MOVX    A,@DPTR
-0032BA FE                MOV     R6,A
+0032B9 EC                MOV     A,R4
+0032BA F0                MOVX    @DPTR,A
 0032BB A3                INC     DPTR
-0032BC E0                MOVX    A,@DPTR
-0032BD FF                MOV     R7,A
-0032BE D3                SETB    C
-0032BF 904ED9            MOV     DPTR,#rptr+01H
-0032C2 E0                MOVX    A,@DPTR
-0032C3 9F                SUBB    A,R7
-0032C4 904ED8            MOV     DPTR,#rptr
-0032C7 E0                MOVX    A,@DPTR
-0032C8 9E                SUBB    A,R6
-0032C9 4016              JC      ?C0001?IPC
-0032CB 904EDA            MOV     DPTR,#wptr
-0032CE E0                MOVX    A,@DPTR
-0032CF FE                MOV     R6,A
-0032D0 A3                INC     DPTR
-0032D1 E0                MOVX    A,@DPTR
-0032D2 FF                MOV     R7,A
-0032D3 904ED9            MOV     DPTR,#rptr+01H
+0032BC ED                MOV     A,R5
+0032BD F0                MOVX    @DPTR,A
+;---- Variable 'buflen' assigned to Register 'R3' ----
+0032BE 904EDA            MOV     DPTR,#wptr
+0032C1 E0                MOVX    A,@DPTR
+0032C2 FE                MOV     R6,A
+0032C3 A3                INC     DPTR
+0032C4 E0                MOVX    A,@DPTR
+0032C5 FF                MOV     R7,A
+0032C6 D3                SETB    C
+0032C7 904ED9            MOV     DPTR,#rptr+01H
+0032CA E0                MOVX    A,@DPTR
+0032CB 9F                SUBB    A,R7
+0032CC 904ED8            MOV     DPTR,#rptr
+0032CF E0                MOVX    A,@DPTR
+0032D0 9E                SUBB    A,R6
+0032D1 4016              JC      ?C0001?IPC
+0032D3 904EDA            MOV     DPTR,#wptr
 0032D6 E0                MOVX    A,@DPTR
-0032D7 9F                SUBB    A,R7
-0032D8 FF                MOV     R7,A
-0032D9 904ED8            MOV     DPTR,#rptr
-0032DC E0                MOVX    A,@DPTR
-0032DD 9E                SUBB    A,R6
-0032DE FE                MOV     R6,A
-0032DF 801E              SJMP    ?C0002?IPC
-0032E1         ?C0001?IPC:
+0032D7 FE                MOV     R6,A
+0032D8 A3                INC     DPTR
+0032D9 E0                MOVX    A,@DPTR
+0032DA FF                MOV     R7,A
+0032DB 904ED9            MOV     DPTR,#rptr+01H
+0032DE E0                MOVX    A,@DPTR
+0032DF 9F                SUBB    A,R7
+0032E0 FF                MOV     R7,A
 0032E1 904ED8            MOV     DPTR,#rptr
 0032E4 E0                MOVX    A,@DPTR
-0032E5 FE                MOV     R6,A
-0032E6 A3                INC     DPTR
-0032E7 E0                MOVX    A,@DPTR
-0032E8 FF                MOV     R7,A
-0032E9 C3                CLR     C
-0032EA 904EDB            MOV     DPTR,#wptr+01H
-0032ED E0                MOVX    A,@DPTR
-0032EE 9F                SUBB    A,R7
-0032EF FF                MOV     R7,A
-0032F0 904EDA            MOV     DPTR,#wptr
-0032F3 E0                MOVX    A,@DPTR
-0032F4 9E                SUBB    A,R6
-0032F5 FE                MOV     R6,A
-0032F6 AD03              MOV     R5,AR3
-0032F8 C3                CLR     C
-0032F9 EB                MOV     A,R3
-0032FA 9F                SUBB    A,R7
-0032FB FF                MOV     R7,A
-0032FC E4                CLR     A
-0032FD 9E                SUBB    A,R6
-0032FE FE                MOV     R6,A
-0032FF         ?C0002?IPC:
-0032FF 22                RET     
+0032E5 9E                SUBB    A,R6
+0032E6 FE                MOV     R6,A
+0032E7 801E              SJMP    ?C0002?IPC
+0032E9         ?C0001?IPC:
+0032E9 904ED8            MOV     DPTR,#rptr
+0032EC E0                MOVX    A,@DPTR
+0032ED FE                MOV     R6,A
+0032EE A3                INC     DPTR
+0032EF E0                MOVX    A,@DPTR
+0032F0 FF                MOV     R7,A
+0032F1 C3                CLR     C
+0032F2 904EDB            MOV     DPTR,#wptr+01H
+0032F5 E0                MOVX    A,@DPTR
+0032F6 9F                SUBB    A,R7
+0032F7 FF                MOV     R7,A
+0032F8 904EDA            MOV     DPTR,#wptr
+0032FB E0                MOVX    A,@DPTR
+0032FC 9E                SUBB    A,R6
+0032FD FE                MOV     R6,A
+0032FE AD03              MOV     R5,AR3
+003300 C3                CLR     C
+003301 EB                MOV     A,R3
+003302 9F                SUBB    A,R7
+003303 FF                MOV     R7,A
+003304 E4                CLR     A
+003305 9E                SUBB    A,R6
+003306 FE                MOV     R6,A
+003307         ?C0002?IPC:
+003307 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-003300 904EFF            MOV     DPTR,#dest
-003303 EE                MOV     A,R6
-003304 F0                MOVX    @DPTR,A
-003305 A3                INC     DPTR
-003306 EF                MOV     A,R7
-003307 F0                MOVX    @DPTR,A
+003308 904EFF            MOV     DPTR,#dest
+00330B EE                MOV     A,R6
+00330C F0                MOVX    @DPTR,A
+00330D A3                INC     DPTR
+00330E EF                MOV     A,R7
+00330F F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-003308 A905              MOV     R1,AR5
-00330A 904B9E            MOV     DPTR,#ipcRxReadPtr
-00330D E0                MOVX    A,@DPTR
-00330E FE                MOV     R6,A
-00330F A3                INC     DPTR
-003310 E0                MOVX    A,@DPTR
-003311 FF                MOV     R7,A
+003310 A905              MOV     R1,AR5
+003312 904B9E            MOV     DPTR,#ipcRxReadPtr
+003315 E0                MOVX    A,@DPTR
+003316 FE                MOV     R6,A
+003317 A3                INC     DPTR
+003318 E0                MOVX    A,@DPTR
+003319 FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-003312         ?C0004?IPC:
-003312 AD01              MOV     R5,AR1
-003314 19                DEC     R1
-003315 ED                MOV     A,R5
-003316 602F              JZ      ?C0005?IPC
-003318 0F                INC     R7
-003319 EF                MOV     A,R7
-00331A AC06              MOV     R4,AR6
-00331C 7001              JNZ     ?C0046?IPC
-00331E 0E                INC     R6
-00331F         ?C0046?IPC:
-00331F 14                DEC     A
-003320 F582              MOV     DPL,A
-003322 8C83              MOV     DPH,R4
-003324 E0                MOVX    A,@DPTR
-003325 FD                MOV     R5,A
-003326 904EFF            MOV     DPTR,#dest
-003329 E4                CLR     A
-00332A 75F001            MOV     B,#01H
-00332D 120424            LCALL   ?C?ILDIX
-003330 85F082            MOV     DPL,B
-003333 F583              MOV     DPH,A
-003335 ED                MOV     A,R5
-003336 F0                MOVX    @DPTR,A
-003337 AD07              MOV     R5,AR7
-003339 AC06              MOV     R4,AR6
-00333B BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-00333E BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-003341 7E4B              MOV     R6,#04BH
-003343 7F36              MOV     R7,#036H
-003345 80CB              SJMP    ?C0004?IPC
-003347         ?C0005?IPC:
-003347 904B9E            MOV     DPTR,#ipcRxReadPtr
-00334A EE                MOV     A,R6
-00334B F0                MOVX    @DPTR,A
-00334C A3                INC     DPTR
-00334D EF                MOV     A,R7
-00334E F0                MOVX    @DPTR,A
-00334F 22                RET     
+00331A         ?C0004?IPC:
+00331A AD01              MOV     R5,AR1
+00331C 19                DEC     R1
+00331D ED                MOV     A,R5
+00331E 602F              JZ      ?C0005?IPC
+003320 0F                INC     R7
+003321 EF                MOV     A,R7
+003322 AC06              MOV     R4,AR6
+003324 7001              JNZ     ?C0046?IPC
+003326 0E                INC     R6
+003327         ?C0046?IPC:
+003327 14                DEC     A
+003328 F582              MOV     DPL,A
+00332A 8C83              MOV     DPH,R4
+00332C E0                MOVX    A,@DPTR
+00332D FD                MOV     R5,A
+00332E 904EFF            MOV     DPTR,#dest
+003331 E4                CLR     A
+003332 75F001            MOV     B,#01H
+003335 120424            LCALL   ?C?ILDIX
+003338 85F082            MOV     DPL,B
+00333B F583              MOV     DPH,A
+00333D ED                MOV     A,R5
+00333E F0                MOVX    @DPTR,A
+00333F AD07              MOV     R5,AR7
+003341 AC06              MOV     R4,AR6
+003343 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+003346 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+003349 7E4B              MOV     R6,#04BH
+00334B 7F36              MOV     R7,#036H
+00334D 80CB              SJMP    ?C0004?IPC
+00334F         ?C0005?IPC:
+00334F 904B9E            MOV     DPTR,#ipcRxReadPtr
+003352 EE                MOV     A,R6
+003353 F0                MOVX    @DPTR,A
+003354 A3                INC     DPTR
+003355 EF                MOV     A,R7
+003356 F0                MOVX    @DPTR,A
+003357 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION IPC_DealSingleStep (BEGIN) -----
-003350 7A0C              MOV     R2,#HIGH ipcReadBuff
-003352 794B              MOV     R1,#LOW ipcReadBuff
-003354 904EEF            MOV     DPTR,#pbuff
-003357 7401              MOV     A,#01H
-003359 F0                MOVX    @DPTR,A
-00335A A3                INC     DPTR
-00335B 740C              MOV     A,#HIGH ipcReadBuff
-00335D F0                MOVX    @DPTR,A
-00335E A3                INC     DPTR
-00335F 744B              MOV     A,#LOW ipcReadBuff
+003358 7A0C              MOV     R2,#HIGH ipcReadBuff
+00335A 794B              MOV     R1,#LOW ipcReadBuff
+00335C 904EEF            MOV     DPTR,#pbuff
+00335F 7401              MOV     A,#01H
 003361 F0                MOVX    @DPTR,A
-003362 904BA0            MOV     DPTR,#ipcRxWritePtr
-003365 E0                MOVX    A,@DPTR
-003366 FE                MOV     R6,A
-003367 A3                INC     DPTR
-003368 E0                MOVX    A,@DPTR
-003369 FF                MOV     R7,A
-00336A 904B9E            MOV     DPTR,#ipcRxReadPtr
+003362 A3                INC     DPTR
+003363 740C              MOV     A,#HIGH ipcReadBuff
+003365 F0                MOVX    @DPTR,A
+003366 A3                INC     DPTR
+003367 744B              MOV     A,#LOW ipcReadBuff
+003369 F0                MOVX    @DPTR,A
+00336A 904BA0            MOV     DPTR,#ipcRxWritePtr
 00336D E0                MOVX    A,@DPTR
-00336E 6E                XRL     A,R6
-00336F 7003              JNZ     ?C0048?IPC
-003371 A3                INC     DPTR
-003372 E0                MOVX    A,@DPTR
-003373 6F                XRL     A,R7
-003374         ?C0048?IPC:
-003374 7002              JNZ     $ + 4H
-003376 81FF              AJMP    ?C0039?IPC
-003378         ?C0027?IPC:
-003378 7E0C              MOV     R6,#HIGH ipcReadBuff
-00337A 7F4B              MOV     R7,#LOW ipcReadBuff
-00337C 7D03              MOV     R5,#03H
-00337E 7100              ACALL   _ipcRx
-003380 904EEF            MOV     DPTR,#pbuff
-003383 E0                MOVX    A,@DPTR
-003384 FB                MOV     R3,A
-003385 A3                INC     DPTR
-003386 E0                MOVX    A,@DPTR
-003387 FA                MOV     R2,A
-003388 A3                INC     DPTR
-003389 E0                MOVX    A,@DPTR
-00338A F9                MOV     R1,A
-00338B 1203B6            LCALL   ?C?CLDPTR
-00338E B4022B            CJNE    A,#02H,?C0029?IPC
-003391 904EF0            MOV     DPTR,#pbuff+01H
-003394 E4                CLR     A
-003395 75F002            MOV     B,#02H
-003398 12040E            LCALL   ?C?IILDX
-00339B 904EEF            MOV     DPTR,#pbuff
-00339E E0                MOVX    A,@DPTR
-00339F FB                MOV     R3,A
-0033A0 A3                INC     DPTR
-0033A1 E0                MOVX    A,@DPTR
-0033A2 FA                MOV     R2,A
-0033A3 A3                INC     DPTR
-0033A4 E0                MOVX    A,@DPTR
-0033A5 F9                MOV     R1,A
-0033A6 1203B6            LCALL   ?C?CLDPTR
-0033A9 FF                MOV     R7,A
-0033AA 904E68            MOV     DPTR,#ipcCb
-0033AD E0                MOVX    A,@DPTR
-0033AE A3                INC     DPTR
-0033AF E0                MOVX    A,@DPTR
-0033B0 FA                MOV     R2,A
-0033B1 A3                INC     DPTR
-0033B2 E0                MOVX    A,@DPTR
-0033B3 F582              MOV     DPL,A
-0033B5 8A83              MOV     DPH,R2
-0033B7 1205DD            LCALL   ?C?ICALL2
-0033BA 81FF              AJMP    ?C0039?IPC
-0033BC         ?C0029?IPC:
-0033BC 904EEF            MOV     DPTR,#pbuff
-0033BF E0                MOVX    A,@DPTR
-0033C0 FB                MOV     R3,A
-0033C1 A3                INC     DPTR
-0033C2 E0                MOVX    A,@DPTR
-0033C3 FA                MOV     R2,A
-0033C4 A3                INC     DPTR
-0033C5 E0                MOVX    A,@DPTR
-0033C6 F9                MOV     R1,A
-0033C7 1203B6            LCALL   ?C?CLDPTR
-0033CA 6404              XRL     A,#04H
-0033CC 7059              JNZ     ?C0031?IPC
-0033CE 904EF0            MOV     DPTR,#pbuff+01H
-0033D1 75F001            MOV     B,#01H
-0033D4 12040E            LCALL   ?C?IILDX
-0033D7 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-0033D9 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-0033DB 904EEF            MOV     DPTR,#pbuff
-0033DE E0                MOVX    A,@DPTR
-0033DF FB                MOV     R3,A
-0033E0 A3                INC     DPTR
-0033E1 E0                MOVX    A,@DPTR
-0033E2 FA                MOV     R2,A
-0033E3 A3                INC     DPTR
-0033E4 E0                MOVX    A,@DPTR
-0033E5 F9                MOV     R1,A
-0033E6 1203B6            LCALL   ?C?CLDPTR
-0033E9 14                DEC     A
-0033EA FD                MOV     R5,A
-0033EB 7100              ACALL   _ipcRx
-0033ED 904EEF            MOV     DPTR,#pbuff
-0033F0 E0                MOVX    A,@DPTR
-0033F1 FB                MOV     R3,A
-0033F2 A3                INC     DPTR
-0033F3 E0                MOVX    A,@DPTR
-0033F4 FA                MOV     R2,A
-0033F5 A3                INC     DPTR
-0033F6 E0                MOVX    A,@DPTR
-0033F7 2401              ADD     A,#01H
-0033F9 F9                MOV     R1,A
-0033FA E4                CLR     A
-0033FB 3A                ADDC    A,R2
+00336E FE                MOV     R6,A
+00336F A3                INC     DPTR
+003370 E0                MOVX    A,@DPTR
+003371 FF                MOV     R7,A
+003372 904B9E            MOV     DPTR,#ipcRxReadPtr
+003375 E0                MOVX    A,@DPTR
+003376 6E                XRL     A,R6
+003377 7003              JNZ     ?C0048?IPC
+003379 A3                INC     DPTR
+00337A E0                MOVX    A,@DPTR
+00337B 6F                XRL     A,R7
+00337C         ?C0048?IPC:
+00337C 7002              JNZ     $ + 4H
+00337E A107              AJMP    ?C0039?IPC
+003380         ?C0027?IPC:
+003380 7E0C              MOV     R6,#HIGH ipcReadBuff
+003382 7F4B              MOV     R7,#LOW ipcReadBuff
+003384 7D03              MOV     R5,#03H
+003386 7108              ACALL   _ipcRx
+003388 904EEF            MOV     DPTR,#pbuff
+00338B E0                MOVX    A,@DPTR
+00338C FB                MOV     R3,A
+00338D A3                INC     DPTR
+00338E E0                MOVX    A,@DPTR
+00338F FA                MOV     R2,A
+003390 A3                INC     DPTR
+003391 E0                MOVX    A,@DPTR
+003392 F9                MOV     R1,A
+003393 1203B6            LCALL   ?C?CLDPTR
+003396 B4022B            CJNE    A,#02H,?C0029?IPC
+003399 904EF0            MOV     DPTR,#pbuff+01H
+00339C E4                CLR     A
+00339D 75F002            MOV     B,#02H
+0033A0 12040E            LCALL   ?C?IILDX
+0033A3 904EEF            MOV     DPTR,#pbuff
+0033A6 E0                MOVX    A,@DPTR
+0033A7 FB                MOV     R3,A
+0033A8 A3                INC     DPTR
+0033A9 E0                MOVX    A,@DPTR
+0033AA FA                MOV     R2,A
+0033AB A3                INC     DPTR
+0033AC E0                MOVX    A,@DPTR
+0033AD F9                MOV     R1,A
+0033AE 1203B6            LCALL   ?C?CLDPTR
+0033B1 FF                MOV     R7,A
+0033B2 904E68            MOV     DPTR,#ipcCb
+0033B5 E0                MOVX    A,@DPTR
+0033B6 A3                INC     DPTR
+0033B7 E0                MOVX    A,@DPTR
+0033B8 FA                MOV     R2,A
+0033B9 A3                INC     DPTR
+0033BA E0                MOVX    A,@DPTR
+0033BB F582              MOV     DPL,A
+0033BD 8A83              MOV     DPH,R2
+0033BF 1205DD            LCALL   ?C?ICALL2
+0033C2 A107              AJMP    ?C0039?IPC
+0033C4         ?C0029?IPC:
+0033C4 904EEF            MOV     DPTR,#pbuff
+0033C7 E0                MOVX    A,@DPTR
+0033C8 FB                MOV     R3,A
+0033C9 A3                INC     DPTR
+0033CA E0                MOVX    A,@DPTR
+0033CB FA                MOV     R2,A
+0033CC A3                INC     DPTR
+0033CD E0                MOVX    A,@DPTR
+0033CE F9                MOV     R1,A
+0033CF 1203B6            LCALL   ?C?CLDPTR
+0033D2 6404              XRL     A,#04H
+0033D4 7059              JNZ     ?C0031?IPC
+0033D6 904EF0            MOV     DPTR,#pbuff+01H
+0033D9 75F001            MOV     B,#01H
+0033DC 12040E            LCALL   ?C?IILDX
+0033DF 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+0033E1 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+0033E3 904EEF            MOV     DPTR,#pbuff
+0033E6 E0                MOVX    A,@DPTR
+0033E7 FB                MOV     R3,A
+0033E8 A3                INC     DPTR
+0033E9 E0                MOVX    A,@DPTR
+0033EA FA                MOV     R2,A
+0033EB A3                INC     DPTR
+0033EC E0                MOVX    A,@DPTR
+0033ED F9                MOV     R1,A
+0033EE 1203B6            LCALL   ?C?CLDPTR
+0033F1 14                DEC     A
+0033F2 FD                MOV     R5,A
+0033F3 7108              ACALL   _ipcRx
+0033F5 904EEF            MOV     DPTR,#pbuff
+0033F8 E0                MOVX    A,@DPTR
+0033F9 FB                MOV     R3,A
+0033FA A3                INC     DPTR
+0033FB E0                MOVX    A,@DPTR
 0033FC FA                MOV     R2,A
-0033FD C002              PUSH    AR2
-0033FF C001              PUSH    AR1
-003401 904EEF            MOV     DPTR,#pbuff
-003404 E0                MOVX    A,@DPTR
-003405 A3                INC     DPTR
-003406 E0                MOVX    A,@DPTR
-003407 FA                MOV     R2,A
-003408 A3                INC     DPTR
-003409 E0                MOVX    A,@DPTR
-00340A F9                MOV     R1,A
-00340B 1203B6            LCALL   ?C?CLDPTR
-00340E FD                MOV     R5,A
-00340F 7C00              MOV     R4,#00H
-003411 904E6B            MOV     DPTR,#ipcCb+03H
-003414 E0                MOVX    A,@DPTR
-003415 A3                INC     DPTR
-003416 E0                MOVX    A,@DPTR
-003417 FA                MOV     R2,A
-003418 A3                INC     DPTR
-003419 E0                MOVX    A,@DPTR
-00341A F582              MOV     DPL,A
-00341C 8A83              MOV     DPH,R2
-00341E D001              POP     AR1
-003420 D002              POP     AR2
-003422 1205DD            LCALL   ?C?ICALL2
-003425 81FF              AJMP    ?C0039?IPC
-003427         ?C0031?IPC:
-003427 904EEF            MOV     DPTR,#pbuff
-00342A E0                MOVX    A,@DPTR
-00342B FB                MOV     R3,A
-00342C A3                INC     DPTR
-00342D E0                MOVX    A,@DPTR
-00342E FA                MOV     R2,A
-00342F A3                INC     DPTR
-003430 E0                MOVX    A,@DPTR
-003431 F9                MOV     R1,A
-003432 1203B6            LCALL   ?C?CLDPTR
-003435 6405              XRL     A,#05H
-003437 7059              JNZ     ?C0033?IPC
-003439 904EF0            MOV     DPTR,#pbuff+01H
-00343C 75F001            MOV     B,#01H
-00343F 12040E            LCALL   ?C?IILDX
-003442 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-003444 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-003446 904EEF            MOV     DPTR,#pbuff
-003449 E0                MOVX    A,@DPTR
-00344A FB                MOV     R3,A
-00344B A3                INC     DPTR
-00344C E0                MOVX    A,@DPTR
-00344D FA                MOV     R2,A
-00344E A3                INC     DPTR
-00344F E0                MOVX    A,@DPTR
-003450 F9                MOV     R1,A
-003451 1203B6            LCALL   ?C?CLDPTR
-003454 14                DEC     A
-003455 FD                MOV     R5,A
-003456 7100              ACALL   _ipcRx
-003458 904EEF            MOV     DPTR,#pbuff
-00345B E0                MOVX    A,@DPTR
-00345C FB                MOV     R3,A
-00345D A3                INC     DPTR
-00345E E0                MOVX    A,@DPTR
-00345F FA                MOV     R2,A
-003460 A3                INC     DPTR
-003461 E0                MOVX    A,@DPTR
-003462 2401              ADD     A,#01H
-003464 F9                MOV     R1,A
-003465 E4                CLR     A
-003466 3A                ADDC    A,R2
+0033FD A3                INC     DPTR
+0033FE E0                MOVX    A,@DPTR
+0033FF 2401              ADD     A,#01H
+003401 F9                MOV     R1,A
+003402 E4                CLR     A
+003403 3A                ADDC    A,R2
+003404 FA                MOV     R2,A
+003405 C002              PUSH    AR2
+003407 C001              PUSH    AR1
+003409 904EEF            MOV     DPTR,#pbuff
+00340C E0                MOVX    A,@DPTR
+00340D A3                INC     DPTR
+00340E E0                MOVX    A,@DPTR
+00340F FA                MOV     R2,A
+003410 A3                INC     DPTR
+003411 E0                MOVX    A,@DPTR
+003412 F9                MOV     R1,A
+003413 1203B6            LCALL   ?C?CLDPTR
+003416 FD                MOV     R5,A
+003417 7C00              MOV     R4,#00H
+003419 904E6B            MOV     DPTR,#ipcCb+03H
+00341C E0                MOVX    A,@DPTR
+00341D A3                INC     DPTR
+00341E E0                MOVX    A,@DPTR
+00341F FA                MOV     R2,A
+003420 A3                INC     DPTR
+003421 E0                MOVX    A,@DPTR
+003422 F582              MOV     DPL,A
+003424 8A83              MOV     DPH,R2
+003426 D001              POP     AR1
+003428 D002              POP     AR2
+00342A 1205DD            LCALL   ?C?ICALL2
+00342D A107              AJMP    ?C0039?IPC
+00342F         ?C0031?IPC:
+00342F 904EEF            MOV     DPTR,#pbuff
+003432 E0                MOVX    A,@DPTR
+003433 FB                MOV     R3,A
+003434 A3                INC     DPTR
+003435 E0                MOVX    A,@DPTR
+003436 FA                MOV     R2,A
+003437 A3                INC     DPTR
+003438 E0                MOVX    A,@DPTR
+003439 F9                MOV     R1,A
+00343A 1203B6            LCALL   ?C?CLDPTR
+00343D 6405              XRL     A,#05H
+00343F 7059              JNZ     ?C0033?IPC
+003441 904EF0            MOV     DPTR,#pbuff+01H
+003444 75F001            MOV     B,#01H
+003447 12040E            LCALL   ?C?IILDX
+00344A 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+00344C 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+00344E 904EEF            MOV     DPTR,#pbuff
+003451 E0                MOVX    A,@DPTR
+003452 FB                MOV     R3,A
+003453 A3                INC     DPTR
+003454 E0                MOVX    A,@DPTR
+003455 FA                MOV     R2,A
+003456 A3                INC     DPTR
+003457 E0                MOVX    A,@DPTR
+003458 F9                MOV     R1,A
+003459 1203B6            LCALL   ?C?CLDPTR
+00345C 14                DEC     A
+00345D FD                MOV     R5,A
+00345E 7108              ACALL   _ipcRx
+003460 904EEF            MOV     DPTR,#pbuff
+003463 E0                MOVX    A,@DPTR
+003464 FB                MOV     R3,A
+003465 A3                INC     DPTR
+003466 E0                MOVX    A,@DPTR
 003467 FA                MOV     R2,A
-003468 C002              PUSH    AR2
-00346A C001              PUSH    AR1
-00346C 904EEF            MOV     DPTR,#pbuff
-00346F E0                MOVX    A,@DPTR
-003470 A3                INC     DPTR
-003471 E0                MOVX    A,@DPTR
-003472 FA                MOV     R2,A
-003473 A3                INC     DPTR
-003474 E0                MOVX    A,@DPTR
-003475 F9                MOV     R1,A
-003476 1203B6            LCALL   ?C?CLDPTR
-003479 FD                MOV     R5,A
-00347A 7C00              MOV     R4,#00H
-00347C 904E74            MOV     DPTR,#ipcCb+0CH
-00347F E0                MOVX    A,@DPTR
-003480 A3                INC     DPTR
-003481 E0                MOVX    A,@DPTR
-003482 FA                MOV     R2,A
-003483 A3                INC     DPTR
-003484 E0                MOVX    A,@DPTR
-003485 F582              MOV     DPL,A
-003487 8A83              MOV     DPH,R2
-003489 D001              POP     AR1
-00348B D002              POP     AR2
-00348D 1205DD            LCALL   ?C?ICALL2
-003490 806D              SJMP    ?C0039?IPC
-003492         ?C0033?IPC:
-003492 904EEF            MOV     DPTR,#pbuff
-003495 E0                MOVX    A,@DPTR
-003496 FB                MOV     R3,A
-003497 A3                INC     DPTR
-003498 E0                MOVX    A,@DPTR
-003499 FA                MOV     R2,A
-00349A A3                INC     DPTR
-00349B E0                MOVX    A,@DPTR
-00349C F9                MOV     R1,A
-00349D 1203B6            LCALL   ?C?CLDPTR
-0034A0 6403              XRL     A,#03H
-0034A2 7059              JNZ     ?C0037?IPC
-0034A4 904EF0            MOV     DPTR,#pbuff+01H
-0034A7 75F001            MOV     B,#01H
-0034AA 12040E            LCALL   ?C?IILDX
-0034AD 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-0034AF 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-0034B1 904EEF            MOV     DPTR,#pbuff
-0034B4 E0                MOVX    A,@DPTR
-0034B5 FB                MOV     R3,A
-0034B6 A3                INC     DPTR
-0034B7 E0                MOVX    A,@DPTR
-0034B8 FA                MOV     R2,A
-0034B9 A3                INC     DPTR
-0034BA E0                MOVX    A,@DPTR
-0034BB F9                MOV     R1,A
-0034BC 1203B6            LCALL   ?C?CLDPTR
-0034BF 14                DEC     A
-0034C0 FD                MOV     R5,A
-0034C1 7100              ACALL   _ipcRx
-0034C3 904EEF            MOV     DPTR,#pbuff
-0034C6 E0                MOVX    A,@DPTR
-0034C7 FB                MOV     R3,A
-0034C8 A3                INC     DPTR
-0034C9 E0                MOVX    A,@DPTR
-0034CA FA                MOV     R2,A
-0034CB A3                INC     DPTR
-0034CC E0                MOVX    A,@DPTR
-0034CD 2401              ADD     A,#01H
-0034CF F9                MOV     R1,A
-0034D0 E4                CLR     A
-0034D1 3A                ADDC    A,R2
+003468 A3                INC     DPTR
+003469 E0                MOVX    A,@DPTR
+00346A 2401              ADD     A,#01H
+00346C F9                MOV     R1,A
+00346D E4                CLR     A
+00346E 3A                ADDC    A,R2
+00346F FA                MOV     R2,A
+003470 C002              PUSH    AR2
+003472 C001              PUSH    AR1
+003474 904EEF            MOV     DPTR,#pbuff
+003477 E0                MOVX    A,@DPTR
+003478 A3                INC     DPTR
+003479 E0                MOVX    A,@DPTR
+00347A FA                MOV     R2,A
+00347B A3                INC     DPTR
+00347C E0                MOVX    A,@DPTR
+00347D F9                MOV     R1,A
+00347E 1203B6            LCALL   ?C?CLDPTR
+003481 FD                MOV     R5,A
+003482 7C00              MOV     R4,#00H
+003484 904E74            MOV     DPTR,#ipcCb+0CH
+003487 E0                MOVX    A,@DPTR
+003488 A3                INC     DPTR
+003489 E0                MOVX    A,@DPTR
+00348A FA                MOV     R2,A
+00348B A3                INC     DPTR
+00348C E0                MOVX    A,@DPTR
+00348D F582              MOV     DPL,A
+00348F 8A83              MOV     DPH,R2
+003491 D001              POP     AR1
+003493 D002              POP     AR2
+003495 1205DD            LCALL   ?C?ICALL2
+003498 806D              SJMP    ?C0039?IPC
+00349A         ?C0033?IPC:
+00349A 904EEF            MOV     DPTR,#pbuff
+00349D E0                MOVX    A,@DPTR
+00349E FB                MOV     R3,A
+00349F A3                INC     DPTR
+0034A0 E0                MOVX    A,@DPTR
+0034A1 FA                MOV     R2,A
+0034A2 A3                INC     DPTR
+0034A3 E0                MOVX    A,@DPTR
+0034A4 F9                MOV     R1,A
+0034A5 1203B6            LCALL   ?C?CLDPTR
+0034A8 6403              XRL     A,#03H
+0034AA 7059              JNZ     ?C0037?IPC
+0034AC 904EF0            MOV     DPTR,#pbuff+01H
+0034AF 75F001            MOV     B,#01H
+0034B2 12040E            LCALL   ?C?IILDX
+0034B5 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+0034B7 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+0034B9 904EEF            MOV     DPTR,#pbuff
+0034BC E0                MOVX    A,@DPTR
+0034BD FB                MOV     R3,A
+0034BE A3                INC     DPTR
+0034BF E0                MOVX    A,@DPTR
+0034C0 FA                MOV     R2,A
+0034C1 A3                INC     DPTR
+0034C2 E0                MOVX    A,@DPTR
+0034C3 F9                MOV     R1,A
+0034C4 1203B6            LCALL   ?C?CLDPTR
+0034C7 14                DEC     A
+0034C8 FD                MOV     R5,A
+0034C9 7108              ACALL   _ipcRx
+0034CB 904EEF            MOV     DPTR,#pbuff
+0034CE E0                MOVX    A,@DPTR
+0034CF FB                MOV     R3,A
+0034D0 A3                INC     DPTR
+0034D1 E0                MOVX    A,@DPTR
 0034D2 FA                MOV     R2,A
-0034D3 C002              PUSH    AR2
-0034D5 C001              PUSH    AR1
-0034D7 904EEF            MOV     DPTR,#pbuff
-0034DA E0                MOVX    A,@DPTR
-0034DB A3                INC     DPTR
-0034DC E0                MOVX    A,@DPTR
-0034DD FA                MOV     R2,A
-0034DE A3                INC     DPTR
-0034DF E0                MOVX    A,@DPTR
-0034E0 F9                MOV     R1,A
-0034E1 1203B6            LCALL   ?C?CLDPTR
-0034E4 FD                MOV     R5,A
-0034E5 7C00              MOV     R4,#00H
-0034E7 904E77            MOV     DPTR,#ipcCb+0FH
-0034EA E0                MOVX    A,@DPTR
-0034EB A3                INC     DPTR
-0034EC E0                MOVX    A,@DPTR
-0034ED FA                MOV     R2,A
-0034EE A3                INC     DPTR
-0034EF E0                MOVX    A,@DPTR
-0034F0 F582              MOV     DPL,A
-0034F2 8A83              MOV     DPH,R2
-0034F4 D001              POP     AR1
-0034F6 D002              POP     AR2
-0034F8 1205DD            LCALL   ?C?ICALL2
-0034FB 8002              SJMP    ?C0039?IPC
-0034FD         ?C0037?IPC:
-0034FD 80FE              SJMP    ?C0037?IPC
-0034FF         IPC_TIMER:
-0034FF         ?C0039?IPC:
-0034FF 904BA5            MOV     DPTR,#bttimer
-003502 E0                MOVX    A,@DPTR
-003503 FE                MOV     R6,A
-003504 A3                INC     DPTR
-003505 E0                MOVX    A,@DPTR
-003506 FF                MOV     R7,A
-003507 904C5E            MOV     DPTR,#c51timer
+0034D3 A3                INC     DPTR
+0034D4 E0                MOVX    A,@DPTR
+0034D5 2401              ADD     A,#01H
+0034D7 F9                MOV     R1,A
+0034D8 E4                CLR     A
+0034D9 3A                ADDC    A,R2
+0034DA FA                MOV     R2,A
+0034DB C002              PUSH    AR2
+0034DD C001              PUSH    AR1
+0034DF 904EEF            MOV     DPTR,#pbuff
+0034E2 E0                MOVX    A,@DPTR
+0034E3 A3                INC     DPTR
+0034E4 E0                MOVX    A,@DPTR
+0034E5 FA                MOV     R2,A
+0034E6 A3                INC     DPTR
+0034E7 E0                MOVX    A,@DPTR
+0034E8 F9                MOV     R1,A
+0034E9 1203B6            LCALL   ?C?CLDPTR
+0034EC FD                MOV     R5,A
+0034ED 7C00              MOV     R4,#00H
+0034EF 904E77            MOV     DPTR,#ipcCb+0FH
+0034F2 E0                MOVX    A,@DPTR
+0034F3 A3                INC     DPTR
+0034F4 E0                MOVX    A,@DPTR
+0034F5 FA                MOV     R2,A
+0034F6 A3                INC     DPTR
+0034F7 E0                MOVX    A,@DPTR
+0034F8 F582              MOV     DPL,A
+0034FA 8A83              MOV     DPH,R2
+0034FC D001              POP     AR1
+0034FE D002              POP     AR2
+003500 1205DD            LCALL   ?C?ICALL2
+003503 8002              SJMP    ?C0039?IPC
+003505         ?C0037?IPC:
+003505 80FE              SJMP    ?C0037?IPC
+003507         IPC_TIMER:
+003507         ?C0039?IPC:
+003507 904BA5            MOV     DPTR,#bttimer
 00350A E0                MOVX    A,@DPTR
-00350B 6E                XRL     A,R6
-00350C 7003              JNZ     ?C0049?IPC
-00350E A3                INC     DPTR
-00350F E0                MOVX    A,@DPTR
-003510 6F                XRL     A,R7
-003511         ?C0049?IPC:
-003511 6022              JZ      ?C0043?IPC
-003513 904E6E            MOV     DPTR,#ipcCb+06H
-003516 E0                MOVX    A,@DPTR
-003517 FB                MOV     R3,A
-003518 A3                INC     DPTR
-003519 E0                MOVX    A,@DPTR
-00351A FA                MOV     R2,A
-00351B A3                INC     DPTR
-00351C E0                MOVX    A,@DPTR
-00351D F9                MOV     R1,A
-00351E 4A                ORL     A,R2
-00351F 6037              JZ      ?C0042?IPC
-003521         ?C0041?IPC:
-003521 1205D9            LCALL   ?C?ICALL
-003524 904BA5            MOV     DPTR,#bttimer
-003527 E0                MOVX    A,@DPTR
-003528 FF                MOV     R7,A
-003529 A3                INC     DPTR
-00352A E0                MOVX    A,@DPTR
-00352B 904C5E            MOV     DPTR,#c51timer
-00352E CF                XCH     A,R7
-00352F F0                MOVX    @DPTR,A
-003530 A3                INC     DPTR
-003531 EF                MOV     A,R7
-003532 F0                MOVX    @DPTR,A
-003533 80CA              SJMP    ?C0039?IPC
-003535         ?C0043?IPC:
-003535 904C8D            MOV     DPTR,#btstimer
-003538 E0                MOVX    A,@DPTR
-003539 FF                MOV     R7,A
-00353A A3                INC     DPTR
-00353B E0                MOVX    A,@DPTR
-00353C 6F                XRL     A,R7
-00353D 6019              JZ      ?C0042?IPC
-00353F 904E71            MOV     DPTR,#ipcCb+09H
-003542 E0                MOVX    A,@DPTR
-003543 FB                MOV     R3,A
-003544 A3                INC     DPTR
-003545 E0                MOVX    A,@DPTR
-003546 FA                MOV     R2,A
-003547 A3                INC     DPTR
-003548 E0                MOVX    A,@DPTR
-003549 F9                MOV     R1,A
-00354A 4A                ORL     A,R2
-00354B 600B              JZ      ?C0042?IPC
-00354D         ?C0045?IPC:
-00354D 1205D9            LCALL   ?C?ICALL
-003550 904C8D            MOV     DPTR,#btstimer
-003553 E0                MOVX    A,@DPTR
-003554 A3                INC     DPTR
-003555 F0                MOVX    @DPTR,A
-003556 80DD              SJMP    ?C0043?IPC
-003558         ?C0042?IPC:
-003558 22                RET     
+00350B FE                MOV     R6,A
+00350C A3                INC     DPTR
+00350D E0                MOVX    A,@DPTR
+00350E FF                MOV     R7,A
+00350F 904C5E            MOV     DPTR,#c51timer
+003512 E0                MOVX    A,@DPTR
+003513 6E                XRL     A,R6
+003514 7003              JNZ     ?C0049?IPC
+003516 A3                INC     DPTR
+003517 E0                MOVX    A,@DPTR
+003518 6F                XRL     A,R7
+003519         ?C0049?IPC:
+003519 6022              JZ      ?C0043?IPC
+00351B 904E6E            MOV     DPTR,#ipcCb+06H
+00351E E0                MOVX    A,@DPTR
+00351F FB                MOV     R3,A
+003520 A3                INC     DPTR
+003521 E0                MOVX    A,@DPTR
+003522 FA                MOV     R2,A
+003523 A3                INC     DPTR
+003524 E0                MOVX    A,@DPTR
+003525 F9                MOV     R1,A
+003526 4A                ORL     A,R2
+003527 6037              JZ      ?C0042?IPC
+003529         ?C0041?IPC:
+003529 1205D9            LCALL   ?C?ICALL
+00352C 904BA5            MOV     DPTR,#bttimer
+00352F E0                MOVX    A,@DPTR
+003530 FF                MOV     R7,A
+003531 A3                INC     DPTR
+003532 E0                MOVX    A,@DPTR
+003533 904C5E            MOV     DPTR,#c51timer
+003536 CF                XCH     A,R7
+003537 F0                MOVX    @DPTR,A
+003538 A3                INC     DPTR
+003539 EF                MOV     A,R7
+00353A F0                MOVX    @DPTR,A
+00353B 80CA              SJMP    ?C0039?IPC
+00353D         ?C0043?IPC:
+00353D 904C8D            MOV     DPTR,#btstimer
+003540 E0                MOVX    A,@DPTR
+003541 FF                MOV     R7,A
+003542 A3                INC     DPTR
+003543 E0                MOVX    A,@DPTR
+003544 6F                XRL     A,R7
+003545 6019              JZ      ?C0042?IPC
+003547 904E71            MOV     DPTR,#ipcCb+09H
+00354A E0                MOVX    A,@DPTR
+00354B FB                MOV     R3,A
+00354C A3                INC     DPTR
+00354D E0                MOVX    A,@DPTR
+00354E FA                MOV     R2,A
+00354F A3                INC     DPTR
+003550 E0                MOVX    A,@DPTR
+003551 F9                MOV     R1,A
+003552 4A                ORL     A,R2
+003553 600B              JZ      ?C0042?IPC
+003555         ?C0045?IPC:
+003555 1205D9            LCALL   ?C?ICALL
+003558 904C8D            MOV     DPTR,#btstimer
+00355B E0                MOVX    A,@DPTR
+00355C A3                INC     DPTR
+00355D F0                MOVX    @DPTR,A
+00355E 80DD              SJMP    ?C0043?IPC
+003560         ?C0042?IPC:
+003560 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
 ----- FUNCTION _IPC_TxData (BEGIN) -----
-003559 904F09            MOV     DPTR,#len
-00355C ED                MOV     A,R5
-00355D F0                MOVX    @DPTR,A
+003561 904F09            MOV     DPTR,#len
+003564 ED                MOV     A,R5
+003565 F0                MOVX    @DPTR,A
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-00355E E0                MOVX    A,@DPTR
-00355F FD                MOV     R5,A
-003560 900BE8            MOV     DPTR,#ipcSendBuff+01H
-003563 F0                MOVX    @DPTR,A
-003564 7E0B              MOV     R6,#HIGH ipcSendBuff+02H
-003566 7FE9              MOV     R7,#LOW ipcSendBuff+02H
-003568 904EC4            MOV     DPTR,#?_xmemcpy?BYTE+05H
-00356B ED                MOV     A,R5
-00356C F0                MOVX    @DPTR,A
-00356D 12087D            LCALL   _xmemcpy
-003570 7B01              MOV     R3,#01H
-003572 7A0B              MOV     R2,#HIGH ipcSendBuff
-003574 79E7              MOV     R1,#LOW ipcSendBuff
-003576 904F09            MOV     DPTR,#len
-003579 E0                MOVX    A,@DPTR
-00357A 2402              ADD     A,#02H
-00357C FD                MOV     R5,A
-00357D 0213EB            LJMP    _ipcTx
+003566 E0                MOVX    A,@DPTR
+003567 FD                MOV     R5,A
+003568 900BE8            MOV     DPTR,#ipcSendBuff+01H
+00356B F0                MOVX    @DPTR,A
+00356C 7E0B              MOV     R6,#HIGH ipcSendBuff+02H
+00356E 7FE9              MOV     R7,#LOW ipcSendBuff+02H
+003570 904EC4            MOV     DPTR,#?_xmemcpy?BYTE+05H
+003573 ED                MOV     A,R5
+003574 F0                MOVX    @DPTR,A
+003575 12087D            LCALL   _xmemcpy
+003578 7B01              MOV     R3,#01H
+00357A 7A0B              MOV     R2,#HIGH ipcSendBuff
+00357C 79E7              MOV     R1,#LOW ipcSendBuff
+00357E 904F09            MOV     DPTR,#len
+003581 E0                MOVX    A,@DPTR
+003582 2402              ADD     A,#02H
+003584 FD                MOV     R5,A
+003585 0213EB            LJMP    _ipcTx
 ----- FUNCTION _IPC_TxData (END) -------
 
 
 ----- FUNCTION _IPC_Tx24GData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003580 900BE7            MOV     DPTR,#ipcSendBuff
-003583 7406              MOV     A,#06H
-003585 F0                MOVX    @DPTR,A
-003586 80D1              SJMP    _IPC_TxData
+003588 900BE7            MOV     DPTR,#ipcSendBuff
+00358B 7406              MOV     A,#06H
+00358D F0                MOVX    @DPTR,A
+00358E 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' ----
-003588 900BE7            MOV     DPTR,#ipcSendBuff
-00358B 7404              MOV     A,#04H
-00358D F0                MOVX    @DPTR,A
-00358E 80C9              SJMP    _IPC_TxData
+003590 900BE7            MOV     DPTR,#ipcSendBuff
+003593 7404              MOV     A,#04H
+003595 F0                MOVX    @DPTR,A
+003596 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' ----
-003590 900BE7            MOV     DPTR,#ipcSendBuff
-003593 7405              MOV     A,#05H
-003595 F0                MOVX    @DPTR,A
-003596 80C1              SJMP    _IPC_TxData
+003598 900BE7            MOV     DPTR,#ipcSendBuff
+00359B 7405              MOV     A,#05H
+00359D F0                MOVX    @DPTR,A
+00359E 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' ----
-003598 900BE7            MOV     DPTR,#ipcSendBuff
-00359B 7403              MOV     A,#03H
-00359D F0                MOVX    @DPTR,A
-00359E ED                MOV     A,R5
-00359F 6002              JZ      ?C0017?IPC
-0035A1         ?C0016?IPC:
-0035A1 B159              ACALL   _IPC_TxData
-0035A3         ?C0017?IPC:
-0035A3 22                RET     
+0035A0 900BE7            MOV     DPTR,#ipcSendBuff
+0035A3 7403              MOV     A,#03H
+0035A5 F0                MOVX    @DPTR,A
+0035A6 ED                MOV     A,R5
+0035A7 6002              JZ      ?C0017?IPC
+0035A9         ?C0016?IPC:
+0035A9 B161              ACALL   _IPC_TxData
+0035AB         ?C0017?IPC:
+0035AB 22                RET     
 ----- FUNCTION _IPC_TxBREDRHidData (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-0035A4 900446            MOV     DPTR,#bbDisReason
-0035A7 E0                MOVX    A,@DPTR
-0035A8 FF                MOV     R7,A
-0035A9 22                RET     
+0035AC 900446            MOV     DPTR,#bbDisReason
+0035AF E0                MOVX    A,@DPTR
+0035B0 FF                MOV     R7,A
+0035B1 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-0035AA 900B7F            MOV     DPTR,#lpm_flag
-0035AD 7401              MOV     A,#01H
-0035AF F0                MOVX    @DPTR,A
-0035B0 E4                CLR     A
-0035B1 900B7E            MOV     DPTR,#current_task
-0035B4 F0                MOVX    @DPTR,A
-0035B5 22                RET     
+0035B2 900B7F            MOV     DPTR,#lpm_flag
+0035B5 7401              MOV     A,#01H
+0035B7 F0                MOVX    @DPTR,A
+0035B8 E4                CLR     A
+0035B9 900B7E            MOV     DPTR,#current_task
+0035BC F0                MOVX    @DPTR,A
+0035BD 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
 ----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-0035B6 904B9C            MOV     DPTR,#ipcTxWritePtr
-0035B9 E0                MOVX    A,@DPTR
-0035BA FE                MOV     R6,A
-0035BB A3                INC     DPTR
-0035BC E0                MOVX    A,@DPTR
-0035BD FF                MOV     R7,A
-0035BE 904B9A            MOV     DPTR,#ipcTxReadPtr
+0035BE 904B9C            MOV     DPTR,#ipcTxWritePtr
 0035C1 E0                MOVX    A,@DPTR
-0035C2 B50607            CJNE    A,AR6,?C0025?IPC
-0035C5 A3                INC     DPTR
-0035C6 E0                MOVX    A,@DPTR
-0035C7 B50702            CJNE    A,AR7,?C0025?IPC
-0035CA D3                SETB    C
-0035CB 22                RET     
-0035CC         ?C0025?IPC:
-0035CC C3                CLR     C
-0035CD 22                RET     
+0035C2 FE                MOV     R6,A
+0035C3 A3                INC     DPTR
+0035C4 E0                MOVX    A,@DPTR
+0035C5 FF                MOV     R7,A
+0035C6 904B9A            MOV     DPTR,#ipcTxReadPtr
+0035C9 E0                MOVX    A,@DPTR
+0035CA B50607            CJNE    A,AR6,?C0025?IPC
+0035CD A3                INC     DPTR
+0035CE E0                MOVX    A,@DPTR
+0035CF B50702            CJNE    A,AR7,?C0025?IPC
+0035D2 D3                SETB    C
+0035D3 22                RET     
+0035D4         ?C0025?IPC:
+0035D4 C3                CLR     C
+0035D5 22                RET     
 ----- FUNCTION IPC_IsTxBuffEmpty (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-0035CE 908280            MOV     DPTR,#08280H
-0035D1 7401              MOV     A,#01H
-0035D3 F0                MOVX    @DPTR,A
-0035D4 22                RET     
+0035D6 908280            MOV     DPTR,#08280H
+0035D9 7401              MOV     A,#01H
+0035DB F0                MOVX    @DPTR,A
+0035DC 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _dmemcpy (BEGIN) -----
-0035D5 904E9C            MOV     DPTR,#dest
-0035D8 EB                MOV     A,R3
-0035D9 F0                MOVX    @DPTR,A
-0035DA A3                INC     DPTR
-0035DB EA                MOV     A,R2
-0035DC F0                MOVX    @DPTR,A
-0035DD A3                INC     DPTR
-0035DE E9                MOV     A,R1
-0035DF F0                MOVX    @DPTR,A
-0035E0         ?C0005?UTILITIES:
-0035E0 904EA2            MOV     DPTR,#len
-0035E3 74FF              MOV     A,#0FFH
-0035E5 F5F0              MOV     B,A
-0035E7 120424            LCALL   ?C?ILDIX
-0035EA 45F0              ORL     A,B
-0035EC 602A              JZ      ?C0007?UTILITIES
-0035EE 904E9F            MOV     DPTR,#src
-0035F1 E0                MOVX    A,@DPTR
-0035F2 FB                MOV     R3,A
-0035F3 A3                INC     DPTR
-0035F4 E4                CLR     A
-0035F5 75F001            MOV     B,#01H
-0035F8 120424            LCALL   ?C?ILDIX
-0035FB A9F0              MOV     R1,B
-0035FD FA                MOV     R2,A
-0035FE 1203B6            LCALL   ?C?CLDPTR
-003601 FF                MOV     R7,A
-003602 904E9C            MOV     DPTR,#dest
-003605 E0                MOVX    A,@DPTR
-003606 FB                MOV     R3,A
-003607 A3                INC     DPTR
-003608 E4                CLR     A
-003609 75F001            MOV     B,#01H
-00360C 120424            LCALL   ?C?ILDIX
-00360F A9F0              MOV     R1,B
-003611 FA                MOV     R2,A
-003612 EF                MOV     A,R7
-003613 1203FC            LCALL   ?C?CSTPTR
-003616 80C8              SJMP    ?C0005?UTILITIES
-003618         ?C0007?UTILITIES:
-003618 22                RET     
+0035DD 904E9C            MOV     DPTR,#dest
+0035E0 EB                MOV     A,R3
+0035E1 F0                MOVX    @DPTR,A
+0035E2 A3                INC     DPTR
+0035E3 EA                MOV     A,R2
+0035E4 F0                MOVX    @DPTR,A
+0035E5 A3                INC     DPTR
+0035E6 E9                MOV     A,R1
+0035E7 F0                MOVX    @DPTR,A
+0035E8         ?C0005?UTILITIES:
+0035E8 904EA2            MOV     DPTR,#len
+0035EB 74FF              MOV     A,#0FFH
+0035ED F5F0              MOV     B,A
+0035EF 120424            LCALL   ?C?ILDIX
+0035F2 45F0              ORL     A,B
+0035F4 602A              JZ      ?C0007?UTILITIES
+0035F6 904E9F            MOV     DPTR,#src
+0035F9 E0                MOVX    A,@DPTR
+0035FA FB                MOV     R3,A
+0035FB A3                INC     DPTR
+0035FC E4                CLR     A
+0035FD 75F001            MOV     B,#01H
+003600 120424            LCALL   ?C?ILDIX
+003603 A9F0              MOV     R1,B
+003605 FA                MOV     R2,A
+003606 1203B6            LCALL   ?C?CLDPTR
+003609 FF                MOV     R7,A
+00360A 904E9C            MOV     DPTR,#dest
+00360D E0                MOVX    A,@DPTR
+00360E FB                MOV     R3,A
+00360F A3                INC     DPTR
+003610 E4                CLR     A
+003611 75F001            MOV     B,#01H
+003614 120424            LCALL   ?C?ILDIX
+003617 A9F0              MOV     R1,B
+003619 FA                MOV     R2,A
+00361A EF                MOV     A,R7
+00361B 1203FC            LCALL   ?C?CSTPTR
+00361E 80C8              SJMP    ?C0005?UTILITIES
+003620         ?C0007?UTILITIES:
+003620 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
 ----- FUNCTION _xmemclear_ff (BEGIN) -----
-003619 904EF5            MOV     DPTR,#dest
-00361C EB                MOV     A,R3
-00361D F0                MOVX    @DPTR,A
-00361E A3                INC     DPTR
-00361F EA                MOV     A,R2
-003620 F0                MOVX    @DPTR,A
-003621 A3                INC     DPTR
-003622 E9                MOV     A,R1
-003623 F0                MOVX    @DPTR,A
+003621 904EF5            MOV     DPTR,#dest
+003624 EB                MOV     A,R3
+003625 F0                MOVX    @DPTR,A
+003626 A3                INC     DPTR
+003627 EA                MOV     A,R2
+003628 F0                MOVX    @DPTR,A
+003629 A3                INC     DPTR
+00362A E9                MOV     A,R1
+00362B F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
-003624         ?C0011?UTILITIES:
-003624 ED                MOV     A,R5
-003625 1D                DEC     R5
-003626 AE04              MOV     R6,AR4
-003628 7001              JNZ     ?C0027?UTILITIES
-00362A 1C                DEC     R4
-00362B         ?C0027?UTILITIES:
-00362B 4E                ORL     A,R6
-00362C 6017              JZ      ?C0013?UTILITIES
-00362E 904EF5            MOV     DPTR,#dest
-003631 E0                MOVX    A,@DPTR
-003632 FB                MOV     R3,A
-003633 A3                INC     DPTR
-003634 E4                CLR     A
-003635 75F001            MOV     B,#01H
-003638 120424            LCALL   ?C?ILDIX
-00363B A9F0              MOV     R1,B
-00363D FA                MOV     R2,A
-00363E 74FF              MOV     A,#0FFH
-003640 1203FC            LCALL   ?C?CSTPTR
-003643 80DF              SJMP    ?C0011?UTILITIES
-003645         ?C0013?UTILITIES:
-003645 22                RET     
+00362C         ?C0011?UTILITIES:
+00362C ED                MOV     A,R5
+00362D 1D                DEC     R5
+00362E AE04              MOV     R6,AR4
+003630 7001              JNZ     ?C0027?UTILITIES
+003632 1C                DEC     R4
+003633         ?C0027?UTILITIES:
+003633 4E                ORL     A,R6
+003634 6017              JZ      ?C0013?UTILITIES
+003636 904EF5            MOV     DPTR,#dest
+003639 E0                MOVX    A,@DPTR
+00363A FB                MOV     R3,A
+00363B A3                INC     DPTR
+00363C E4                CLR     A
+00363D 75F001            MOV     B,#01H
+003640 120424            LCALL   ?C?ILDIX
+003643 A9F0              MOV     R1,B
+003645 FA                MOV     R2,A
+003646 74FF              MOV     A,#0FFH
+003648 1203FC            LCALL   ?C?CSTPTR
+00364B 80DF              SJMP    ?C0011?UTILITIES
+00364D         ?C0013?UTILITIES:
+00364D 22                RET     
 ----- FUNCTION _xmemclear_ff (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-003646 EF                MOV     A,R7
-003647 F4                CPL     A
-003648 603A              JZ      ?C0023?GPIO
-00364A         ?C0022?GPIO:
-00364A EF                MOV     A,R7
-00364B 5407              ANL     A,#07H
-00364D FE                MOV     R6,A
-;---- Variable 'queue' assigned to Register 'R6' ----
 00364E EF                MOV     A,R7
-00364F 13                RRC     A
-003650 13                RRC     A
-003651 13                RRC     A
-003652 5403              ANL     A,#03H
-003654 FF                MOV     R7,A
+00364F F4                CPL     A
+003650 603A              JZ      ?C0023?GPIO
+003652         ?C0022?GPIO:
+003652 EF                MOV     A,R7
+003653 5407              ANL     A,#07H
+003655 FE                MOV     R6,A
+;---- Variable 'queue' assigned to Register 'R6' ----
+003656 EF                MOV     A,R7
+003657 13                RRC     A
+003658 13                RRC     A
+003659 13                RRC     A
+00365A 5403              ANL     A,#03H
+00365C FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-003655 24A3              ADD     A,#LOW YC_GPIOWakeupL
-003657 F582              MOV     DPL,A
-003659 E4                CLR     A
-00365A 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-00365C F583              MOV     DPH,A
-00365E C083              PUSH    DPH
-003660 C082              PUSH    DPL
-003662 E0                MOVX    A,@DPTR
-003663 FD                MOV     R5,A
-003664 7401              MOV     A,#01H
-003666 A806              MOV     R0,AR6
-003668 08                INC     R0
-003669 8002              SJMP    ?C0043?GPIO
-00366B         ?C0042?GPIO:
-00366B C3                CLR     C
-00366C 33                RLC     A
-00366D         ?C0043?GPIO:
-00366D D8FC              DJNZ    R0,?C0042?GPIO
-00366F F4                CPL     A
-003670 FC                MOV     R4,A
-003671 5D                ANL     A,R5
-003672 D082              POP     DPL
-003674 D083              POP     DPH
-003676 F0                MOVX    @DPTR,A
-003677 74A7              MOV     A,#LOW YC_GPIOWakeupH
-003679 2F                ADD     A,R7
-00367A F582              MOV     DPL,A
-00367C E4                CLR     A
-00367D 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-00367F F583              MOV     DPH,A
-003681 E0                MOVX    A,@DPTR
-003682 5C                ANL     A,R4
-003683 F0                MOVX    @DPTR,A
-003684         ?C0023?GPIO:
-003684 22                RET     
+00365D 24A3              ADD     A,#LOW YC_GPIOWakeupL
+00365F F582              MOV     DPL,A
+003661 E4                CLR     A
+003662 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+003664 F583              MOV     DPH,A
+003666 C083              PUSH    DPH
+003668 C082              PUSH    DPL
+00366A E0                MOVX    A,@DPTR
+00366B FD                MOV     R5,A
+00366C 7401              MOV     A,#01H
+00366E A806              MOV     R0,AR6
+003670 08                INC     R0
+003671 8002              SJMP    ?C0043?GPIO
+003673         ?C0042?GPIO:
+003673 C3                CLR     C
+003674 33                RLC     A
+003675         ?C0043?GPIO:
+003675 D8FC              DJNZ    R0,?C0042?GPIO
+003677 F4                CPL     A
+003678 FC                MOV     R4,A
+003679 5D                ANL     A,R5
+00367A D082              POP     DPL
+00367C D083              POP     DPH
+00367E F0                MOVX    @DPTR,A
+00367F 74A7              MOV     A,#LOW YC_GPIOWakeupH
+003681 2F                ADD     A,R7
+003682 F582              MOV     DPL,A
+003684 E4                CLR     A
+003685 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+003687 F583              MOV     DPH,A
+003689 E0                MOVX    A,@DPTR
+00368A 5C                ANL     A,R4
+00368B F0                MOVX    @DPTR,A
+00368C         ?C0023?GPIO:
+00368C 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/FW.HTM	(revision 4936)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/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>08/02/2022  14:05:19</b><p>
+Creation time: <b>08/03/2022  17:30:28</b><p>
 
 <hr>
 
@@ -64,20 +64,20 @@
 <li><a href="#S189">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S100"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:002FE4H - C:002FECH)</h2>
+<h2><a name="S100"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:002FECH - C:002FF4H)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S106">?PR?_KB_CB_EVENT?SYS</a></li>
 <li><a href="#S103">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
 </ul>
 
-<h2><a name="S103"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:002FEDH - C:002FEEH)</h2>
+<h2><a name="S103"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:002FF5H - C:002FF6H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S100">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
 </ul>
 
-<h2><a name="S104"></a>?PR?_KB_CB_HID?SYS (C:002FEFH - C:002FFEH)</h2>
+<h2><a name="S104"></a>?PR?_KB_CB_HID?SYS (C:002FF7H - C:003006H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S214">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -131,7 +131,7 @@
 <li><a href="#S110">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S114"></a>?PR?KB_CB_TIMER100MS?SYS (C:002EA7H - C:002F9AH)</h2>
+<h2><a name="S114"></a>?PR?KB_CB_TIMER100MS?SYS (C:002EAFH - C:002FA2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -163,28 +163,28 @@
 <li><a href="#S124">?PR?MAIN?RAM</a></li>
 </ul>
 
-<h2><a name="S124"></a>?PR?MAIN?RAM (C:0032A3H - C:0032A5H)</h2>
+<h2><a name="S124"></a>?PR?MAIN?RAM (C:0032ABH - C:0032ADH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=18 Bytes (<a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S135"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:003598H - C:0035A3H)</h2>
+<h2><a name="S135"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:0035A0H - C:0035ABH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S133">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S133">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S137"></a>?PR?_IPC_TXSPPDATA?IPC (C:003588H - C:00358FH)</h2>
+<h2><a name="S137"></a>?PR?_IPC_TXSPPDATA?IPC (C:003590H - C:003597H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S133">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S133">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S140"></a>?PR?_IPC_INITIALIZE?IPC (C:003005H - C:003011H)</h2>
+<h2><a name="S140"></a>?PR?_IPC_INITIALIZE?IPC (C:00300DH - C:003019H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S214">?C?LIB_CODE</a></li>
@@ -429,7 +429,7 @@
 <li><a href="#S62">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S67"></a>?PR?_KB_DEVICE_SELECT?KB_PROCESS (C:00233CH - C:002483H)</h2>
+<h2><a name="S67"></a>?PR?_KB_DEVICE_SELECT?KB_PROCESS (C:00233CH - C:00248FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S92">?PR?LED_DEVICE_POWERON?LED</a>) Top=6 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -443,18 +443,17 @@
 <li><a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S69"></a>?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS (C:002498H - C:0024BCH)</h2>
+<h2><a name="S69"></a>?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS (C:0024A4H - C:0024C8H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S70">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S70">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S70"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:0024BDH - C:002790H)</h2>
+<h2><a name="S70"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:0024C9H - C:002798H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S210">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S214">?C?LIB_CODE</a></li>
 <li><a href="#S210">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 <li><a href="#S69">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a></li>
 </ul>
@@ -478,21 +477,21 @@
 <li><a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S74"></a>?PR?_BIT_COUNT?KEYSCAN (C:002791H - C:00279EH)</h2>
+<h2><a name="S74"></a>?PR?_BIT_COUNT?KEYSCAN (C:002799H - C:0027A6H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S75"></a>?PR?_KEYIN?KEYSCAN (C:00279FH - C:0027F4H)</h2>
+<h2><a name="S75"></a>?PR?_KEYIN?KEYSCAN (C:0027A7H - C:0027FCH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S76"></a>?PR?_KEYOUT?KEYSCAN (C:0027F5H - C:00289EH)</h2>
+<h2><a name="S76"></a>?PR?_KEYOUT?KEYSCAN (C:0027FDH - C:0028A6H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -524,7 +523,7 @@
 <li><a href="#S98">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S82"></a>?PR?KS_UNISTALL?KEYSCAN (C:002CCDH - C:002D64H)</h2>
+<h2><a name="S82"></a>?PR?KS_UNISTALL?KEYSCAN (C:002CD5H - C:002D6CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S196">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>) Top=2 Bytes (<a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -537,14 +536,14 @@
 <li><a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S84"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:002B6FH - C:002CCCH)</h2>
+<h2><a name="S84"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:002B77H - C:002CD4H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S86"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:002AF5H - C:002B24H)</h2>
+<h2><a name="S86"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:002AFDH - C:002B2CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S214">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -556,7 +555,7 @@
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S88"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:00289FH - C:002AF4H)</h2>
+<h2><a name="S88"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:0028A7H - C:002AFCH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S70">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a>) Top=4 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -588,7 +587,7 @@
 <li><a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S92"></a>?PR?LED_DEVICE_POWERON?LED (C:0011A5H - C:0011EFH)</h2>
+<h2><a name="S92"></a>?PR?LED_DEVICE_POWERON?LED (C:0010FDH - C:001147H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S181">?PR?_GPIO_SETOUT?GPIO</a>) Top=8 Bytes (<a href="#S67">?PR?_KB_DEVICE_SELECT?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -602,7 +601,7 @@
 <li><a href="#S114">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S93"></a>?PR?LED_DEVICE_POWEROFF?LED (C:002E7DH - C:002EA6H)</h2>
+<h2><a name="S93"></a>?PR?LED_DEVICE_POWEROFF?LED (C:002E85H - C:002EAEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S181">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S106">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -615,7 +614,7 @@
 <li><a href="#S114">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S94"></a>?PR?LED_HANDLE?LED (C:0010FDH - C:0011A4H)</h2>
+<h2><a name="S94"></a>?PR?LED_HANDLE?LED (C:001148H - C:0011EFH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S181">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -641,7 +640,7 @@
 <li><a href="#S99">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S96"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:002F9BH - C:002FADH)</h2>
+<h2><a name="S96"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:002FA3H - C:002FB5H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S98">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -649,7 +648,7 @@
 <li><a href="#S98">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S97"></a>?PR?SYSTEM_CLEAR_TIMER_STATUS?SYS (C:002484H - C:002497H)</h2>
+<h2><a name="S97"></a>?PR?SYSTEM_CLEAR_TIMER_STATUS?SYS (C:002490H - C:0024A3H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S67">?PR?_KB_DEVICE_SELECT?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -669,7 +668,7 @@
 <li><a href="#S106">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S99"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:002FAEH - C:002FE3H)</h2>
+<h2><a name="S99"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:002FB6H - C:002FEBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S119">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S106">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -773,14 +772,14 @@
 <li><a href="#S113">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S115"></a>?PR?KB_CB_INIT?SYS (C:002FFFH - C:003004H)</h2>
+<h2><a name="S115"></a>?PR?KB_CB_INIT?SYS (C:003007H - C:00300CH)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S119"></a>?PR?YC_ADC_INIT?ADC (C:003012H - C:0030E4H)</h2>
+<h2><a name="S119"></a>?PR?YC_ADC_INIT?ADC (C:00301AH - C:0030ECH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S214">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S99">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -792,7 +791,7 @@
 <li><a href="#S99">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S120"></a>?PR?YC_ADC_CHECK?ADC (C:0030E5H - C:0032A2H)</h2>
+<h2><a name="S120"></a>?PR?YC_ADC_CHECK?ADC (C:0030EDH - C:0032AAH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S214">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S123">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -828,14 +827,14 @@
 <li><a href="#S122">?PR?YC_ADC_MOTION_CHECK_TIMER500MS?ADC</a></li>
 </ul>
 
-<h2><a name="S125"></a>?PR?_BUFSIZE?IPC (C:0032A6H - C:0032FFH)</h2>
+<h2><a name="S125"></a>?PR?_BUFSIZE?IPC (C:0032AEH - C:003307H)</h2>
 <p><br><b>Maximum Stack:</b> Top=10 Bytes (<a href="#S129">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S129">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S127"></a>?PR?_IPCRX?IPC (C:003300H - C:00334FH)</h2>
+<h2><a name="S127"></a>?PR?_IPCRX?IPC (C:003308H - C:003357H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S214">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S144">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -882,7 +881,7 @@
 <li><a href="#S110">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S133"></a>?PR?_IPC_TXDATA?IPC (C:003559H - C:00357FH)</h2>
+<h2><a name="S133"></a>?PR?_IPC_TXDATA?IPC (C:003561H - C:003587H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S164">?PR?_XMEMCPY?UTILITIES</a>) Top=8 Bytes (<a href="#S138">?PR?_IPC_TXBLEDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -898,7 +897,7 @@
 <li><a href="#S137">?PR?_IPC_TXSPPDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S136"></a>?PR?_IPC_TX24GDATA?IPC (C:003580H - C:003587H)</h2>
+<h2><a name="S136"></a>?PR?_IPC_TX24GDATA?IPC (C:003588H - C:00358FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S133">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -910,7 +909,7 @@
 <li><a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S138"></a>?PR?_IPC_TXBLEDATA?IPC (C:003590H - C:003597H)</h2>
+<h2><a name="S138"></a>?PR?_IPC_TXBLEDATA?IPC (C:003598H - C:00359FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S133">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -929,21 +928,21 @@
 <li><a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S142"></a>?PR?IPC_ABANDONLPM?IPC (C:0035AAH - C:0035B5H)</h2>
+<h2><a name="S142"></a>?PR?IPC_ABANDONLPM?IPC (C:0035B2H - C:0035BDH)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S143"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:0035B6H - C:0035CDH)</h2>
+<h2><a name="S143"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:0035BEH - C:0035D5H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S62">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S144"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:003350H - C:003558H)</h2>
+<h2><a name="S144"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:003358H - C:003560H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S127">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S116">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -972,7 +971,7 @@
 <li><a href="#S4">?PR?_YC_STORE_RECORD_LIST?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S166"></a>?PR?_DMEMCPY?UTILITIES (C:0035D5H - C:003618H)</h2>
+<h2><a name="S166"></a>?PR?_DMEMCPY?UTILITIES (C:0035DDH - C:003620H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S214">?C?LIB_CODE</a>) Top=16 Bytes (<a href="#S208">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1000,7 +999,7 @@
 <li><a href="#S109">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S170"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:003619H - C:003645H)</h2>
+<h2><a name="S170"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:003621H - C:00364DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S214">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1026,7 +1025,7 @@
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S173"></a>?PR?_COMPARE_STR?UTILITIES (C:002B25H - C:002B6EH)</h2>
+<h2><a name="S173"></a>?PR?_COMPARE_STR?UTILITIES (C:002B2DH - C:002B76H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S214">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1053,7 +1052,7 @@
 <li><a href="#S183">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
-<h2><a name="S178"></a>?PR?_GPIOGETBIT?GPIO (C:002E0AH - C:002E48H)</h2>
+<h2><a name="S178"></a>?PR?_GPIOGETBIT?GPIO (C:002E12H - C:002E50H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S214">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S199">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1065,7 +1064,7 @@
 <li><a href="#S199">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
-<h2><a name="S180"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:002E04H - C:002E09H)</h2>
+<h2><a name="S180"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:002E0CH - C:002E11H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S196">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1160,7 +1159,7 @@
 <li><a href="#S91">?PR?LED_ALL_SHUTDOWN?LED</a></li>
 </ul>
 
-<h2><a name="S196"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:002D65H - C:002D77H)</h2>
+<h2><a name="S196"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:002D6DH - C:002D7FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S180">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1185,7 +1184,7 @@
 <li><a href="#S108">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S202"></a>?PR?GPIO_FILLPD?GPIO (C:002E49H - C:002E7CH)</h2>
+<h2><a name="S202"></a>?PR?GPIO_FILLPD?GPIO (C:002E51H - C:002E84H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1266,7 +1265,6 @@
 <li><a href="#S67">?PR?_KB_DEVICE_SELECT?KB_PROCESS</a></li>
 <li><a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 <li><a href="#S72">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
-<li><a href="#S70">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 <li><a href="#S168">?PR?_XMEMCLEAR?UTILITIES</a></li>
 <li><a href="#S170">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
 <li><a href="#S164">?PR?_XMEMCPY?UTILITIES</a></li>
Index: c51/output/FW.MAP
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/FW.MAP	(revision 4936)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               08/02/2022  14:05:19  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               08/03/2022  17:30:28  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   000385H   XDATA
-C:000000H   C:000000H   C:00FFFFH   0035CFH   CODE
+C:000000H   C:000000H   C:00FFFFH   0035D7H   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
@@ -141,8 +141,8 @@
 001011H   001025H   000015H   BYTE   UNIT     CODE           ?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH
 001026H   0010EAH   0000C5H   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
 0010EBH   0010FCH   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
-0010FDH   0011A4H   0000A8H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
-0011A5H   0011EFH   00004BH   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
+0010FDH   001147H   00004BH   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
+001148H   0011EFH   0000A8H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
 0011F0H   0013C2H   0001D3H   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
 0013C3H   0013EAH   000028H   BYTE   UNIT     CODE           ?PR?_IPC_TXCONTROLCMD?IPC
 0013EBH   00147FH   000095H   BYTE   UNIT     CODE           ?PR?_IPCTX?IPC
@@ -181,50 +181,50 @@
 002007H   002021H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
 002022H   002320H   0002FFH   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
 002321H   00233BH   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_SYSTEMKEY?KB_PROCESS
-00233CH   002483H   000148H   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
-002484H   002497H   000014H   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_TIMER_STATUS?SYS
-002498H   0024BCH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-0024BDH   002790H   0002D4H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-002791H   00279EH   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
-00279FH   0027F4H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
-0027F5H   00289EH   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
-00289FH   002AF4H   000256H   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
-002AF5H   002B24H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
-002B25H   002B6EH   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
-002B6FH   002CCCH   00015EH   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
-002CCDH   002D64H   000098H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
-002D65H   002D77H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
-002D78H   002E03H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
-002E04H   002E09H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
-002E0AH   002E48H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
-002E49H   002E7CH   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
-002E7DH   002EA6H   00002AH   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
-002EA7H   002F9AH   0000F4H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-002F9BH   002FADH   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
-002FAEH   002FE3H   000036H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-002FE4H   002FECH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-002FEDH   002FEEH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-002FEFH   002FFEH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-002FFFH   003004H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
-003005H   003011H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
-003012H   0030E4H   0000D3H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-0030E5H   0032A2H   0001BEH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-0032A3H   0032A5H   000003H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
-0032A6H   0032FFH   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-003300H   00334FH   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-003350H   003558H   000209H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-003559H   00357FH   000027H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
-003580H   003587H   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
-003588H   00358FH   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
-003590H   003597H   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
-003598H   0035A3H   00000CH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
-0035A4H   0035A9H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-0035AAH   0035B5H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-0035B6H   0035CDH   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-0035CEH   0035D4H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-0035D5H   003618H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-003619H   003645H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
-003646H   003684H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+00233CH   00248FH   000154H   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
+002490H   0024A3H   000014H   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_TIMER_STATUS?SYS
+0024A4H   0024C8H   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
+0024C9H   002798H   0002D0H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+002799H   0027A6H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+0027A7H   0027FCH   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
+0027FDH   0028A6H   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
+0028A7H   002AFCH   000256H   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
+002AFDH   002B2CH   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+002B2DH   002B76H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+002B77H   002CD4H   00015EH   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+002CD5H   002D6CH   000098H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
+002D6DH   002D7FH   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+002D80H   002E0BH   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
+002E0CH   002E11H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+002E12H   002E50H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+002E51H   002E84H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+002E85H   002EAEH   00002AH   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
+002EAFH   002FA2H   0000F4H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+002FA3H   002FB5H   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
+002FB6H   002FEBH   000036H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+002FECH   002FF4H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+002FF5H   002FF6H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+002FF7H   003006H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+003007H   00300CH   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+00300DH   003019H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+00301AH   0030ECH   0000D3H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+0030EDH   0032AAH   0001BEH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+0032ABH   0032ADH   000003H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+0032AEH   003307H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+003308H   003357H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+003358H   003560H   000209H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+003561H   003587H   000027H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
+003588H   00358FH   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
+003590H   003597H   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
+003598H   00359FH   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
+0035A0H   0035ABH   00000CH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
+0035ACH   0035B1H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+0035B2H   0035BDH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+0035BEH   0035D5H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+0035D6H   0035DCH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+0035DDH   003620H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+003621H   00364DH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+00364EH   00368CH   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?29
@@ -405,42 +405,42 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       01000626H   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      01002AF5H   CODE     ---       _array_is_empty
-      01002B25H   CODE     ---       _compare_str
+      01002AFDH   CODE     ---       _array_is_empty
+      01002B2DH   CODE     ---       _compare_str
       01000FF9H   CODE     ---       _Delay1ms
-      010035D5H   CODE     ---       _dmemcpy
-      01003646H   CODE     ---       _GPIO_ClearWakeup
+      010035DDH   CODE     ---       _dmemcpy
+      0100364EH   CODE     ---       _GPIO_ClearWakeup
       010017D4H   CODE     ---       _GPIO_FlipOutBit
-      01002E04H   CODE     ---       _GPIO_GetInputStatus
+      01002E0CH   CODE     ---       _GPIO_GetInputStatus
       0100184BH   CODE     ---       _GPIO_SetInput
       0100183AH   CODE     ---       _GPIO_Setoe
       010010EBH   CODE     ---       _GPIO_Setout
       0100180DH   CODE     ---       _GPIO_SetOutput
       01001869H   CODE     ---       _GPIO_SetPd
       01001829H   CODE     ---       _GPIO_SetPu
-      01002D78H   CODE     ---       _GPIO_SetWakeup
-      01002D65H   CODE     ---       _GPIO_SetWakeupByCurrentState
+      01002D80H   CODE     ---       _GPIO_SetWakeup
+      01002D6DH   CODE     ---       _GPIO_SetWakeupByCurrentState
       01001A6CH   CODE     ---       _IIC_Read
       01001B24H   CODE     ---       _IIC_write
       01001BBFH   CODE     ---       _IIC_WriteBlock
-      01003005H   CODE     ---       _IPC_Initialize
-      01003580H   CODE     ---       _IPC_Tx24GData
-      01003590H   CODE     ---       _IPC_TxBleData
-      01003598H   CODE     ---       _IPC_TxBREDRHidData
+      0100300DH   CODE     ---       _IPC_Initialize
+      01003588H   CODE     ---       _IPC_Tx24GData
+      01003598H   CODE     ---       _IPC_TxBleData
+      010035A0H   CODE     ---       _IPC_TxBREDRHidData
       010013C3H   CODE     ---       _IPC_TxControlCmd
-      01003559H   CODE     ---       _IPC_TxData
+      01003561H   CODE     ---       _IPC_TxData
       01000C61H   CODE     ---       _IPC_TxHidData
-      01003588H   CODE     ---       _IPC_TxSppData
-      01002498H   CODE     ---       _kb_combination_key_press
+      01003590H   CODE     ---       _IPC_TxSppData
+      010024A4H   CODE     ---       _kb_combination_key_press
       0100233CH   CODE     ---       _kb_device_select
       010008C0H   CODE     ---       _kb_motion_keyscan
       01002022H   CODE     ---       _kb_multikey_setup
       01000D45H   CODE     ---       _kb_send_combination_key
       01002007H   CODE     ---       _kb_set_multikey
       01002321H   CODE     ---       _kb_set_systemkey
-      010024BDH   CODE     ---       _key_fn_function
+      010024C9H   CODE     ---       _key_fn_function
       01000B9CH   CODE     ---       _xmemclear
-      01003619H   CODE     ---       _xmemclear_ff
+      01003621H   CODE     ---       _xmemclear_ff
       0100087DH   CODE     ---       _xmemcpy
       010011F0H   CODE     ---       _YC_key_action_handle
       01000737H   CODE     ---       _YC_load_record_list
@@ -464,13 +464,13 @@
       02004DD8H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD5H   XDATA    BYTE      get_24g_led_send
-      01002E49H   CODE     ---       GPIO_fillpd
+      01002E51H   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DE1H   XDATA    BYTE      iOS_rec_pinCode
-      010035AAH   CODE     ---       IPC_AbandonLpm
-      01003350H   CODE     ---       IPC_DealSingleStep
-      010035A4H   CODE     ---       IPC_GetBBDIsconnectReason
-      010035B6H   CODE     ---       IPC_IsTxBuffEmpty
+      010035B2H   CODE     ---       IPC_AbandonLpm
+      01003358H   CODE     ---       IPC_DealSingleStep
+      010035ACH   CODE     ---       IPC_GetBBDIsconnectReason
+      010035BEH   CODE     ---       IPC_IsTxBuffEmpty
       01000FEEH   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
@@ -481,10 +481,10 @@
       01000D7FH   CODE     ---       kb_need_keyscan
       02004DE8H   XDATA    BYTE      key_value_temp
       02004DE4H   XDATA    BYTE      keyCount
-      0100289FH   CODE     ---       KS_GetCurrentEvt
+      010028A7H   CODE     ---       KS_GetCurrentEvt
       010018F8H   CODE     ---       KS_Initialize
-      01002B6FH   CODE     ---       KS_ScanMatrix
-      01002CCDH   CODE     ---       KS_Unistall
+      01002B77H   CODE     ---       KS_ScanMatrix
+      01002CD5H   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
       02004EA4H   XDATA    ---       ksEvtPool
       01000696H   CONST    ---       ksMap
@@ -497,9 +497,9 @@
       02004DDBH   XDATA    BYTE      le_send_battery_level_delay_count
       02004DDAH   XDATA    BYTE      le_send_battery_level_flag
       010017F6H   CODE     ---       LED_all_shutdown
-      01002E7DH   CODE     ---       LED_device_poweroff
-      010011A5H   CODE     ---       LED_device_poweron
-      010010FDH   CODE     ---       LED_handle
+      01002E85H   CODE     ---       LED_device_poweroff
+      010010FDH   CODE     ---       LED_device_poweron
+      01001148H   CODE     ---       LED_handle
       01001026H   CODE     ---       LED_timer500ms
       02004DDCH   XDATA    BYTE      long_press_flag
       02000B7FH   XDATA    BYTE      lpm_flag
@@ -532,7 +532,7 @@
       02008010H   XDATA    BYTE      m_reset_reg
       020047F4H   XDATA    WORD      m_ui_state_map
       02000B81H   XDATA    BYTE      m_wakup_from_power_flag
-      010032A3H   CODE     ---       main
+      010032ABH   CODE     ---       main
       02004E4BH   XDATA    BYTE      mult_key_status
       02004DEDH   XDATA    BYTE      mult_key_value
       02004E4CH   XDATA    ---       multikey
@@ -543,15 +543,15 @@
       02004DDDH   XDATA    BYTE      repeat_send_24g
       02004DDFH   XDATA    BYTE      standard_key_release_flag
       02004DD9H   XDATA    BYTE      switch_role_timer
-      01002484H   CODE     ---       System_clear_timer_status
+      01002490H   CODE     ---       System_clear_timer_status
       01000EFDH   CODE     ---       System_G24_long_lpm
       02004DE9H   XDATA    BYTE      system_key_press
       01001785H   CODE     ---       System_long_sleep
-      01002FEDH   CODE     ---       System_Reset_Connect
-      01002FAEH   CODE     ---       System_Software_init
-      010030E5H   CODE     ---       YC_adc_check
+      01002FF5H   CODE     ---       System_Reset_Connect
+      01002FB6H   CODE     ---       System_Software_init
+      010030EDH   CODE     ---       YC_adc_check
       01001F73H   CODE     ---       YC_adc_check_timer500ms
-      01003012H   CODE     ---       YC_adc_init
+      0100301AH   CODE     ---       YC_adc_init
       01001F52H   CODE     ---       YC_adc_motion_check_timer500ms
       010017C3H   CODE     ---       YC_cancel_reconnect
       01001011H   CODE     ---       YC_check_is_connected
@@ -563,7 +563,7 @@
       01001FC4H   CODE     ---       YC_get_ble_ramdon_lap
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      010035CEH   CODE     ---       YC_Ice_break
+      010035D6H   CODE     ---       YC_Ice_break
       01001F09H   CODE     ---       YC_pairing_timerout_500ms
       010019B8H   CODE     ---       YC_start_reconnect
       01000F9CH   CODE     ---       YC_System_Main
@@ -875,8 +875,8 @@
 
       ---         MODULE    ---      ---       KB_PROCESS
       01002022H   PUBLIC    CODE     ---       _kb_multikey_setup
-      010024BDH   PUBLIC    CODE     ---       _key_fn_function
-      01002498H   PUBLIC    CODE     ---       _kb_combination_key_press
+      010024C9H   PUBLIC    CODE     ---       _key_fn_function
+      010024A4H   PUBLIC    CODE     ---       _kb_combination_key_press
       0100233CH   PUBLIC    CODE     ---       _kb_device_select
       010008C0H   PUBLIC    CODE     ---       _kb_motion_keyscan
       01000D7FH   PUBLIC    CODE     ---       kb_need_keyscan
@@ -1309,452 +1309,450 @@
       010023EBH   LINE      ---      ---       #547
       010023EBH   LINE      ---      ---       #549
       010023EBH   LINE      ---      ---       #555
-      01002401H   LINE      ---      ---       #556
-      01002401H   LINE      ---      ---       #557
-      01002407H   LINE      ---      ---       #558
-      0100240EH   LINE      ---      ---       #559
-      01002411H   LINE      ---      ---       #560
-      0100241CH   LINE      ---      ---       #561
-      0100241CH   LINE      ---      ---       #562
-      01002422H   LINE      ---      ---       #563
-      01002427H   LINE      ---      ---       #564
-      0100242BH   LINE      ---      ---       #566
-      0100242BH   LINE      ---      ---       #567
-      0100242EH   LINE      ---      ---       #568
+      01002400H   LINE      ---      ---       #556
+      01002400H   LINE      ---      ---       #557
+      01002406H   LINE      ---      ---       #558
+      0100240DH   LINE      ---      ---       #559
+      01002410H   LINE      ---      ---       #560
+      0100241BH   LINE      ---      ---       #561
+      0100241BH   LINE      ---      ---       #562
+      0100241EH   LINE      ---      ---       #563
+      01002424H   LINE      ---      ---       #564
+      01002429H   LINE      ---      ---       #565
+      0100242BH   LINE      ---      ---       #568
+      0100242BH   LINE      ---      ---       #569
       0100242EH   LINE      ---      ---       #570
-      0100243DH   LINE      ---      ---       #571
-      0100243DH   LINE      ---      ---       #572
-      01002443H   LINE      ---      ---       #573
-      0100244AH   LINE      ---      ---       #574
-      0100244DH   LINE      ---      ---       #575
-      01002464H   LINE      ---      ---       #576
-      01002464H   LINE      ---      ---       #577
-      01002469H   LINE      ---      ---       #578
-      0100246CH   LINE      ---      ---       #579
-      01002472H   LINE      ---      ---       #580
-      01002474H   LINE      ---      ---       #582
-      01002474H   LINE      ---      ---       #583
-      01002477H   LINE      ---      ---       #584
-      01002477H   LINE      ---      ---       #587
-      0100247EH   LINE      ---      ---       #588
-      01002481H   LINE      ---      ---       #589
-      01002481H   LINE      ---      ---       #590
-      01002483H   LINE      ---      ---       #591
+      0100242EH   LINE      ---      ---       #572
+      01002449H   LINE      ---      ---       #573
+      01002449H   LINE      ---      ---       #574
+      0100244FH   LINE      ---      ---       #575
+      01002456H   LINE      ---      ---       #576
+      01002459H   LINE      ---      ---       #577
+      01002470H   LINE      ---      ---       #578
+      01002470H   LINE      ---      ---       #579
+      01002475H   LINE      ---      ---       #580
+      01002478H   LINE      ---      ---       #581
+      0100247EH   LINE      ---      ---       #582
+      01002480H   LINE      ---      ---       #584
+      01002480H   LINE      ---      ---       #585
+      01002483H   LINE      ---      ---       #586
+      01002483H   LINE      ---      ---       #589
+      0100248AH   LINE      ---      ---       #590
+      0100248DH   LINE      ---      ---       #591
+      0100248DH   LINE      ---      ---       #592
+      0100248FH   LINE      ---      ---       #593
       00000005H   SYMBOL    DATA     VOID      temp
       00000004H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002498H   BLOCK     CODE     ---       LVL=0
-      01002498H   LINE      ---      ---       #596
-      01002498H   LINE      ---      ---       #597
-      01002498H   LINE      ---      ---       #598
-      0100249DH   LINE      ---      ---       #599
-      010024A0H   LINE      ---      ---       #601
-      010024A4H   LINE      ---      ---       #602
-      010024A4H   LINE      ---      ---       #603
-      010024ABH   LINE      ---      ---       #604
-      010024AFH   LINE      ---      ---       #606
-      010024B5H   LINE      ---      ---       #607
-      010024B6H   LINE      ---      ---       #609
-      010024B6H   LINE      ---      ---       #610
-      010024BCH   LINE      ---      ---       #611
-      010024BCH   LINE      ---      ---       #613
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010024BDH   BLOCK     CODE     ---       LVL=0
-      010024BDH   LINE      ---      ---       #616
-      010024C7H   LINE      ---      ---       #617
-      010024C7H   BLOCK     CODE     NEAR LAB  LVL=1
-      010024C7H   LINE      ---      ---       #618
-      010024CCH   LINE      ---      ---       #620
-      010024D0H   LINE      ---      ---       #621
-      010024D5H   LINE      ---      ---       #623
-      010024DCH   LINE      ---      ---       #637
-      010024E2H   LINE      ---      ---       #638
-      010024E2H   LINE      ---      ---       #639
-      010024E6H   LINE      ---      ---       #640
-      010024E6H   LINE      ---      ---       #641
-      010024F1H   LINE      ---      ---       #642
-      010024F6H   LINE      ---      ---       #643
-      010024F6H   LINE      ---      ---       #644
-      010024F6H   LINE      ---      ---       #645
-      01002500H   LINE      ---      ---       #646
-      01002500H   LINE      ---      ---       #647
-      01002518H   LINE      ---      ---       #648
-      01002518H   LINE      ---      ---       #649
-      0100251CH   LINE      ---      ---       #650
-      0100251CH   LINE      ---      ---       #651
-      01002522H   LINE      ---      ---       #652
-      01002524H   LINE      ---      ---       #653
-      01002528H   LINE      ---      ---       #654
-      01002528H   LINE      ---      ---       #655
-      0100252DH   LINE      ---      ---       #657
-      0100252FH   LINE      ---      ---       #658
-      01002533H   LINE      ---      ---       #659
-      01002533H   LINE      ---      ---       #660
-      01002539H   LINE      ---      ---       #662
-      0100253BH   LINE      ---      ---       #663
-      0100253FH   LINE      ---      ---       #664
-      0100253FH   LINE      ---      ---       #665
-      01002545H   LINE      ---      ---       #667
-      01002545H   LINE      ---      ---       #668
-      0100254AH   LINE      ---      ---       #669
-      0100255AH   LINE      ---      ---       #670
-      0100255CH   LINE      ---      ---       #671
-      01002564H   LINE      ---      ---       #672
-      01002564H   LINE      ---      ---       #673
-      0100256BH   LINE      ---      ---       #674
-      0100256BH   LINE      ---      ---       #675
-      01002571H   LINE      ---      ---       #676
-      01002571H   LINE      ---      ---       #677
-      01002573H   LINE      ---      ---       #678
-      01002575H   LINE      ---      ---       #680
-      0100257BH   LINE      ---      ---       #682
-      01002585H   LINE      ---      ---       #683
-      01002585H   LINE      ---      ---       #684
-      0100258BH   LINE      ---      ---       #685
-      0100258DH   LINE      ---      ---       #686
-      01002599H   LINE      ---      ---       #687
-      01002599H   LINE      ---      ---       #688
-      010025B1H   LINE      ---      ---       #689
-      010025B7H   LINE      ---      ---       #690
-      010025B7H   LINE      ---      ---       #691
-      010025B7H   LINE      ---      ---       #692
-      010025BCH   LINE      ---      ---       #693
-      010025BCH   LINE      ---      ---       #694
-      010025BCH   LINE      ---      ---       #695
-      010025E4H   LINE      ---      ---       #696
-      010025E4H   LINE      ---      ---       #697
-      0100261CH   LINE      ---      ---       #698
-      0100261CH   LINE      ---      ---       #699
-      0100261CH   LINE      ---      ---       #700
-      01002622H   LINE      ---      ---       #701
-      01002624H   LINE      ---      ---       #702
-      01002624H   LINE      ---      ---       #703
-      0100262AH   LINE      ---      ---       #704
-      0100262CH   LINE      ---      ---       #705
-      0100262CH   LINE      ---      ---       #706
-      01002632H   LINE      ---      ---       #707
-      01002634H   LINE      ---      ---       #708
-      01002634H   LINE      ---      ---       #709
-      0100263BH   LINE      ---      ---       #710
-      0100263BH   LINE      ---      ---       #711
-      01002646H   LINE      ---      ---       #712
-      0100264DH   LINE      ---      ---       #713
-      0100264DH   LINE      ---      ---       #714
-      01002653H   LINE      ---      ---       #715
-      01002653H   LINE      ---      ---       #716
-      01002655H   LINE      ---      ---       #717
-      01002659H   LINE      ---      ---       #718
-      01002659H   LINE      ---      ---       #719
-      01002664H   LINE      ---      ---       #720
-      0100266BH   LINE      ---      ---       #721
-      0100266BH   LINE      ---      ---       #722
-      01002671H   LINE      ---      ---       #723
-      01002671H   LINE      ---      ---       #724
-      01002673H   LINE      ---      ---       #726
-      01002673H   LINE      ---      ---       #727
-      0100267EH   LINE      ---      ---       #728
-      01002685H   LINE      ---      ---       #729
-      01002685H   LINE      ---      ---       #730
-      0100268BH   LINE      ---      ---       #731
-      0100268BH   LINE      ---      ---       #732
-      0100268BH   LINE      ---      ---       #733
-      01002690H   LINE      ---      ---       #734
-      01002692H   LINE      ---      ---       #735
-      01002692H   LINE      ---      ---       #736
-      01002698H   LINE      ---      ---       #737
-      01002698H   LINE      ---      ---       #738
-      010026A3H   LINE      ---      ---       #739
-      010026AAH   LINE      ---      ---       #740
-      010026AAH   LINE      ---      ---       #741
-      010026B0H   LINE      ---      ---       #742
-      010026B0H   LINE      ---      ---       #743
-      010026B2H   LINE      ---      ---       #745
-      010026B2H   LINE      ---      ---       #746
-      010026BDH   LINE      ---      ---       #747
-      010026C4H   LINE      ---      ---       #748
-      010026C4H   LINE      ---      ---       #749
-      010026CAH   LINE      ---      ---       #750
-      010026CAH   LINE      ---      ---       #751
-      010026CAH   LINE      ---      ---       #752
-      010026CFH   LINE      ---      ---       #753
-      010026D1H   LINE      ---      ---       #754
-      010026D1H   LINE      ---      ---       #755
-      010026D7H   LINE      ---      ---       #756
-      010026D9H   LINE      ---      ---       #757
-      010026D9H   LINE      ---      ---       #758
-      010026DFH   LINE      ---      ---       #759
-      010026E1H   LINE      ---      ---       #760
-      010026E1H   LINE      ---      ---       #761
-      010026E7H   LINE      ---      ---       #762
-      010026E9H   LINE      ---      ---       #763
-      010026E9H   LINE      ---      ---       #764
-      010026EFH   LINE      ---      ---       #765
-      010026F1H   LINE      ---      ---       #766
-      010026F1H   LINE      ---      ---       #767
-      010026F7H   LINE      ---      ---       #768
-      010026F9H   LINE      ---      ---       #769
-      010026F9H   LINE      ---      ---       #770
-      010026FFH   LINE      ---      ---       #771
-      01002701H   LINE      ---      ---       #772
-      01002701H   LINE      ---      ---       #773
-      01002707H   LINE      ---      ---       #774
-      01002709H   LINE      ---      ---       #775
-      01002709H   LINE      ---      ---       #776
-      01002716H   LINE      ---      ---       #777
-      01002716H   LINE      ---      ---       #778
-      01002721H   LINE      ---      ---       #779
-      01002723H   LINE      ---      ---       #781
-      01002723H   LINE      ---      ---       #782
-      0100272EH   LINE      ---      ---       #783
-      0100272EH   LINE      ---      ---       #784
-      01002733H   LINE      ---      ---       #785
-      01002735H   LINE      ---      ---       #786
-      01002735H   LINE      ---      ---       #787
-      01002742H   LINE      ---      ---       #788
-      01002742H   LINE      ---      ---       #789
-      0100274DH   LINE      ---      ---       #790
-      0100274FH   LINE      ---      ---       #792
-      0100274FH   LINE      ---      ---       #793
-      0100275AH   LINE      ---      ---       #794
-      0100275AH   LINE      ---      ---       #795
-      0100275FH   LINE      ---      ---       #796
-      01002761H   LINE      ---      ---       #797
-      01002761H   LINE      ---      ---       #798
-      0100276EH   LINE      ---      ---       #799
-      0100276EH   LINE      ---      ---       #800
-      01002779H   LINE      ---      ---       #801
-      0100277BH   LINE      ---      ---       #803
-      0100277BH   LINE      ---      ---       #804
-      01002786H   LINE      ---      ---       #805
-      01002786H   LINE      ---      ---       #806
-      0100278BH   LINE      ---      ---       #807
-      0100278BH   LINE      ---      ---       #808
-      0100278BH   LINE      ---      ---       #809
-      0100278BH   LINE      ---      ---       #810
-      0100278BH   LINE      ---      ---       #811
-      0100278BH   LINE      ---      ---       #813
-      01002790H   LINE      ---      ---       #814
+      010024A4H   BLOCK     CODE     ---       LVL=0
+      010024A4H   LINE      ---      ---       #598
+      010024A4H   LINE      ---      ---       #599
+      010024A4H   LINE      ---      ---       #600
+      010024A9H   LINE      ---      ---       #601
+      010024ACH   LINE      ---      ---       #603
+      010024B0H   LINE      ---      ---       #604
+      010024B0H   LINE      ---      ---       #605
+      010024B7H   LINE      ---      ---       #606
+      010024BBH   LINE      ---      ---       #608
+      010024C1H   LINE      ---      ---       #609
+      010024C2H   LINE      ---      ---       #611
+      010024C2H   LINE      ---      ---       #612
+      010024C8H   LINE      ---      ---       #613
+      010024C8H   LINE      ---      ---       #615
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010024C9H   BLOCK     CODE     ---       LVL=0
+      010024C9H   LINE      ---      ---       #618
+      010024D3H   LINE      ---      ---       #619
+      010024D3H   BLOCK     CODE     NEAR LAB  LVL=1
+      010024D3H   LINE      ---      ---       #620
+      010024D8H   LINE      ---      ---       #622
+      010024DCH   LINE      ---      ---       #623
+      010024E1H   LINE      ---      ---       #625
+      010024E8H   LINE      ---      ---       #639
+      010024EEH   LINE      ---      ---       #640
+      010024EEH   LINE      ---      ---       #641
+      010024F2H   LINE      ---      ---       #642
+      010024F2H   LINE      ---      ---       #643
+      010024FDH   LINE      ---      ---       #644
+      01002502H   LINE      ---      ---       #645
+      01002502H   LINE      ---      ---       #646
+      01002502H   LINE      ---      ---       #647
+      01002513H   LINE      ---      ---       #648
+      01002513H   LINE      ---      ---       #649
+      01002513H   LINE      ---      ---       #650
+      01002520H   LINE      ---      ---       #651
+      01002520H   LINE      ---      ---       #652
+      0100252BH   LINE      ---      ---       #653
+      0100252DH   LINE      ---      ---       #655
+      0100252DH   LINE      ---      ---       #656
+      01002538H   LINE      ---      ---       #657
+      01002538H   LINE      ---      ---       #658
+      0100253DH   LINE      ---      ---       #659
+      0100253FH   LINE      ---      ---       #660
+      0100253FH   LINE      ---      ---       #661
+      0100254CH   LINE      ---      ---       #662
+      0100254CH   LINE      ---      ---       #663
+      01002557H   LINE      ---      ---       #664
+      01002559H   LINE      ---      ---       #666
+      01002559H   LINE      ---      ---       #667
+      01002564H   LINE      ---      ---       #668
+      01002564H   LINE      ---      ---       #669
+      01002569H   LINE      ---      ---       #670
+      0100256BH   LINE      ---      ---       #671
+      0100256BH   LINE      ---      ---       #672
+      01002578H   LINE      ---      ---       #673
+      01002578H   LINE      ---      ---       #674
+      01002583H   LINE      ---      ---       #675
+      01002585H   LINE      ---      ---       #677
+      01002585H   LINE      ---      ---       #678
+      01002590H   LINE      ---      ---       #679
+      01002590H   LINE      ---      ---       #680
+      01002595H   LINE      ---      ---       #681
+      01002595H   LINE      ---      ---       #682
+      01002595H   LINE      ---      ---       #683
+      01002595H   LINE      ---      ---       #684
+      01002595H   LINE      ---      ---       #685
+      0100259FH   LINE      ---      ---       #686
+      0100259FH   LINE      ---      ---       #687
+      010025B7H   LINE      ---      ---       #688
+      010025B7H   LINE      ---      ---       #689
+      010025BBH   LINE      ---      ---       #690
+      010025BBH   LINE      ---      ---       #691
+      010025C1H   LINE      ---      ---       #692
+      010025C3H   LINE      ---      ---       #693
+      010025C7H   LINE      ---      ---       #694
+      010025C7H   LINE      ---      ---       #695
+      010025CCH   LINE      ---      ---       #697
+      010025CEH   LINE      ---      ---       #698
+      010025D2H   LINE      ---      ---       #699
+      010025D2H   LINE      ---      ---       #700
+      010025D8H   LINE      ---      ---       #702
+      010025DAH   LINE      ---      ---       #703
+      010025DEH   LINE      ---      ---       #704
+      010025DEH   LINE      ---      ---       #705
+      010025E4H   LINE      ---      ---       #707
+      010025E4H   LINE      ---      ---       #708
+      010025E9H   LINE      ---      ---       #709
+      010025F9H   LINE      ---      ---       #710
+      010025FBH   LINE      ---      ---       #711
+      01002603H   LINE      ---      ---       #712
+      01002603H   LINE      ---      ---       #713
+      0100260AH   LINE      ---      ---       #714
+      0100260AH   LINE      ---      ---       #715
+      01002610H   LINE      ---      ---       #716
+      01002610H   LINE      ---      ---       #717
+      01002612H   LINE      ---      ---       #718
+      01002614H   LINE      ---      ---       #720
+      0100261AH   LINE      ---      ---       #722
+      01002624H   LINE      ---      ---       #723
+      01002624H   LINE      ---      ---       #724
+      0100262AH   LINE      ---      ---       #725
+      0100262CH   LINE      ---      ---       #726
+      01002638H   LINE      ---      ---       #727
+      01002638H   LINE      ---      ---       #728
+      01002650H   LINE      ---      ---       #729
+      01002656H   LINE      ---      ---       #730
+      01002656H   LINE      ---      ---       #731
+      01002656H   LINE      ---      ---       #732
+      0100265BH   LINE      ---      ---       #733
+      0100265BH   LINE      ---      ---       #734
+      0100265BH   LINE      ---      ---       #735
+      01002683H   LINE      ---      ---       #736
+      01002683H   LINE      ---      ---       #737
+      010026C2H   LINE      ---      ---       #738
+      010026C2H   LINE      ---      ---       #739
+      010026C2H   LINE      ---      ---       #740
+      010026C8H   LINE      ---      ---       #741
+      010026CAH   LINE      ---      ---       #742
+      010026CAH   LINE      ---      ---       #743
+      010026D0H   LINE      ---      ---       #744
+      010026D2H   LINE      ---      ---       #745
+      010026D2H   LINE      ---      ---       #746
+      010026D8H   LINE      ---      ---       #747
+      010026DAH   LINE      ---      ---       #748
+      010026DAH   LINE      ---      ---       #749
+      010026E1H   LINE      ---      ---       #750
+      010026E1H   LINE      ---      ---       #751
+      010026ECH   LINE      ---      ---       #752
+      010026F3H   LINE      ---      ---       #753
+      010026F3H   LINE      ---      ---       #754
+      010026F9H   LINE      ---      ---       #755
+      010026F9H   LINE      ---      ---       #756
+      010026FBH   LINE      ---      ---       #757
+      010026FFH   LINE      ---      ---       #758
+      010026FFH   LINE      ---      ---       #759
+      0100270AH   LINE      ---      ---       #760
+      01002711H   LINE      ---      ---       #761
+      01002711H   LINE      ---      ---       #762
+      01002717H   LINE      ---      ---       #763
+      01002717H   LINE      ---      ---       #764
+      01002719H   LINE      ---      ---       #766
+      01002719H   LINE      ---      ---       #767
+      01002724H   LINE      ---      ---       #768
+      0100272BH   LINE      ---      ---       #769
+      0100272BH   LINE      ---      ---       #770
+      01002731H   LINE      ---      ---       #771
+      01002731H   LINE      ---      ---       #772
+      01002731H   LINE      ---      ---       #773
+      01002736H   LINE      ---      ---       #774
+      01002738H   LINE      ---      ---       #775
+      01002738H   LINE      ---      ---       #776
+      0100273EH   LINE      ---      ---       #777
+      0100273EH   LINE      ---      ---       #778
+      01002749H   LINE      ---      ---       #779
+      0100274BH   LINE      ---      ---       #781
+      0100274BH   LINE      ---      ---       #782
+      01002756H   LINE      ---      ---       #783
+      01002756H   LINE      ---      ---       #784
+      0100275BH   LINE      ---      ---       #785
+      0100275DH   LINE      ---      ---       #786
+      0100275DH   LINE      ---      ---       #787
+      01002763H   LINE      ---      ---       #788
+      01002765H   LINE      ---      ---       #789
+      01002765H   LINE      ---      ---       #790
+      0100276BH   LINE      ---      ---       #791
+      0100276DH   LINE      ---      ---       #792
+      0100276DH   LINE      ---      ---       #793
+      01002773H   LINE      ---      ---       #794
+      01002775H   LINE      ---      ---       #795
+      01002775H   LINE      ---      ---       #796
+      0100277BH   LINE      ---      ---       #797
+      0100277DH   LINE      ---      ---       #798
+      0100277DH   LINE      ---      ---       #799
+      01002783H   LINE      ---      ---       #800
+      01002785H   LINE      ---      ---       #801
+      01002785H   LINE      ---      ---       #802
+      0100278BH   LINE      ---      ---       #803
+      0100278DH   LINE      ---      ---       #804
+      0100278DH   LINE      ---      ---       #805
+      01002793H   LINE      ---      ---       #806
+      01002793H   LINE      ---      ---       #807
+      01002793H   LINE      ---      ---       #808
+      01002793H   LINE      ---      ---       #809
+      01002793H   LINE      ---      ---       #810
+      01002793H   LINE      ---      ---       #812
+      01002798H   LINE      ---      ---       #813
       02004EE8H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       01002022H   BLOCK     CODE     ---       LVL=0
-      01002022H   LINE      ---      ---       #818
-      0100202DH   LINE      ---      ---       #819
+      01002022H   LINE      ---      ---       #817
+      0100202DH   LINE      ---      ---       #818
       0100202DH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100202DH   LINE      ---      ---       #820
-      01002030H   LINE      ---      ---       #822
+      0100202DH   LINE      ---      ---       #819
+      01002030H   LINE      ---      ---       #821
+      0100203DH   LINE      ---      ---       #822
       0100203DH   LINE      ---      ---       #823
-      0100203DH   LINE      ---      ---       #824
-      01002068H   LINE      ---      ---       #826
-      01002068H   LINE      ---      ---       #828
+      01002068H   LINE      ---      ---       #825
+      01002068H   LINE      ---      ---       #827
+      0100206FH   LINE      ---      ---       #828
       0100206FH   LINE      ---      ---       #829
-      0100206FH   LINE      ---      ---       #830
-      01002075H   LINE      ---      ---       #831
-      01002077H   LINE      ---      ---       #833
+      01002075H   LINE      ---      ---       #830
+      01002077H   LINE      ---      ---       #832
+      0100207BH   LINE      ---      ---       #833
       0100207BH   LINE      ---      ---       #834
-      0100207BH   LINE      ---      ---       #835
-      01002081H   LINE      ---      ---       #836
-      01002083H   LINE      ---      ---       #837
+      01002081H   LINE      ---      ---       #835
+      01002083H   LINE      ---      ---       #836
+      010020A3H   LINE      ---      ---       #837
       010020A3H   LINE      ---      ---       #838
-      010020A3H   LINE      ---      ---       #839
-      010020A7H   LINE      ---      ---       #840
-      010020A9H   LINE      ---      ---       #841
+      010020A7H   LINE      ---      ---       #839
+      010020A9H   LINE      ---      ---       #840
+      010020ADH   LINE      ---      ---       #841
       010020ADH   LINE      ---      ---       #842
-      010020ADH   LINE      ---      ---       #843
-      010020B3H   LINE      ---      ---       #844
-      010020B5H   LINE      ---      ---       #845
+      010020B3H   LINE      ---      ---       #843
+      010020B5H   LINE      ---      ---       #844
+      010020D5H   LINE      ---      ---       #845
       010020D5H   LINE      ---      ---       #846
-      010020D5H   LINE      ---      ---       #847
-      010020D9H   LINE      ---      ---       #848
-      010020DBH   LINE      ---      ---       #849
+      010020D9H   LINE      ---      ---       #847
+      010020DBH   LINE      ---      ---       #848
+      010020DFH   LINE      ---      ---       #849
       010020DFH   LINE      ---      ---       #850
-      010020DFH   LINE      ---      ---       #851
-      010020E5H   LINE      ---      ---       #852
-      010020E7H   LINE      ---      ---       #853
+      010020E5H   LINE      ---      ---       #851
+      010020E7H   LINE      ---      ---       #852
+      01002107H   LINE      ---      ---       #853
       01002107H   LINE      ---      ---       #854
-      01002107H   LINE      ---      ---       #855
-      0100210BH   LINE      ---      ---       #856
-      0100210DH   LINE      ---      ---       #857
+      0100210BH   LINE      ---      ---       #855
+      0100210DH   LINE      ---      ---       #856
+      01002111H   LINE      ---      ---       #857
       01002111H   LINE      ---      ---       #858
-      01002111H   LINE      ---      ---       #859
-      01002117H   LINE      ---      ---       #860
-      01002119H   LINE      ---      ---       #861
+      01002117H   LINE      ---      ---       #859
+      01002119H   LINE      ---      ---       #860
+      01002139H   LINE      ---      ---       #861
       01002139H   LINE      ---      ---       #862
-      01002139H   LINE      ---      ---       #863
-      0100213EH   LINE      ---      ---       #864
-      01002140H   LINE      ---      ---       #865
+      0100213EH   LINE      ---      ---       #863
+      01002140H   LINE      ---      ---       #864
+      01002144H   LINE      ---      ---       #865
       01002144H   LINE      ---      ---       #866
-      01002144H   LINE      ---      ---       #867
-      0100214AH   LINE      ---      ---       #868
-      0100214CH   LINE      ---      ---       #869
+      0100214AH   LINE      ---      ---       #867
+      0100214CH   LINE      ---      ---       #868
+      0100216CH   LINE      ---      ---       #869
       0100216CH   LINE      ---      ---       #870
-      0100216CH   LINE      ---      ---       #871
-      01002171H   LINE      ---      ---       #872
-      01002173H   LINE      ---      ---       #873
+      01002171H   LINE      ---      ---       #871
+      01002173H   LINE      ---      ---       #872
+      01002177H   LINE      ---      ---       #873
       01002177H   LINE      ---      ---       #874
-      01002177H   LINE      ---      ---       #875
-      0100217DH   LINE      ---      ---       #876
-      0100217FH   LINE      ---      ---       #877
+      0100217DH   LINE      ---      ---       #875
+      0100217FH   LINE      ---      ---       #876
+      0100219FH   LINE      ---      ---       #877
       0100219FH   LINE      ---      ---       #878
-      0100219FH   LINE      ---      ---       #879
-      010021A5H   LINE      ---      ---       #880
-      010021A7H   LINE      ---      ---       #881
+      010021A5H   LINE      ---      ---       #879
+      010021A7H   LINE      ---      ---       #880
+      010021ABH   LINE      ---      ---       #881
       010021ABH   LINE      ---      ---       #882
-      010021ABH   LINE      ---      ---       #883
-      010021B1H   LINE      ---      ---       #884
-      010021B3H   LINE      ---      ---       #885
+      010021B1H   LINE      ---      ---       #883
+      010021B3H   LINE      ---      ---       #884
+      010021D3H   LINE      ---      ---       #885
       010021D3H   LINE      ---      ---       #886
-      010021D3H   LINE      ---      ---       #887
-      010021D9H   LINE      ---      ---       #888
-      010021DBH   LINE      ---      ---       #889
+      010021D9H   LINE      ---      ---       #887
+      010021DBH   LINE      ---      ---       #888
+      010021DFH   LINE      ---      ---       #889
       010021DFH   LINE      ---      ---       #890
-      010021DFH   LINE      ---      ---       #891
-      010021E5H   LINE      ---      ---       #892
-      010021E7H   LINE      ---      ---       #893
+      010021E5H   LINE      ---      ---       #891
+      010021E7H   LINE      ---      ---       #892
+      01002207H   LINE      ---      ---       #893
       01002207H   LINE      ---      ---       #894
-      01002207H   LINE      ---      ---       #895
-      0100220DH   LINE      ---      ---       #896
-      0100220FH   LINE      ---      ---       #897
+      0100220DH   LINE      ---      ---       #895
+      0100220FH   LINE      ---      ---       #896
+      01002213H   LINE      ---      ---       #897
       01002213H   LINE      ---      ---       #898
-      01002213H   LINE      ---      ---       #899
-      01002219H   LINE      ---      ---       #900
-      0100221BH   LINE      ---      ---       #901
+      01002219H   LINE      ---      ---       #899
+      0100221BH   LINE      ---      ---       #900
+      0100223BH   LINE      ---      ---       #901
       0100223BH   LINE      ---      ---       #902
-      0100223BH   LINE      ---      ---       #903
-      0100223FH   LINE      ---      ---       #904
-      01002241H   LINE      ---      ---       #905
+      0100223FH   LINE      ---      ---       #903
+      01002241H   LINE      ---      ---       #904
+      01002245H   LINE      ---      ---       #905
       01002245H   LINE      ---      ---       #906
-      01002245H   LINE      ---      ---       #907
-      0100224BH   LINE      ---      ---       #908
-      0100224DH   LINE      ---      ---       #909
+      0100224BH   LINE      ---      ---       #907
+      0100224DH   LINE      ---      ---       #908
+      0100226DH   LINE      ---      ---       #909
       0100226DH   LINE      ---      ---       #910
-      0100226DH   LINE      ---      ---       #911
-      01002271H   LINE      ---      ---       #912
-      01002273H   LINE      ---      ---       #913
+      01002271H   LINE      ---      ---       #911
+      01002273H   LINE      ---      ---       #912
+      01002277H   LINE      ---      ---       #913
       01002277H   LINE      ---      ---       #914
-      01002277H   LINE      ---      ---       #915
-      0100227DH   LINE      ---      ---       #916
-      0100227FH   LINE      ---      ---       #917
+      0100227DH   LINE      ---      ---       #915
+      0100227FH   LINE      ---      ---       #916
+      0100229FH   LINE      ---      ---       #917
       0100229FH   LINE      ---      ---       #918
-      0100229FH   LINE      ---      ---       #919
-      010022A5H   LINE      ---      ---       #920
-      010022A7H   LINE      ---      ---       #921
+      010022A5H   LINE      ---      ---       #919
+      010022A7H   LINE      ---      ---       #920
+      010022ABH   LINE      ---      ---       #921
       010022ABH   LINE      ---      ---       #922
-      010022ABH   LINE      ---      ---       #923
-      010022B1H   LINE      ---      ---       #924
-      010022B3H   LINE      ---      ---       #925
+      010022B1H   LINE      ---      ---       #923
+      010022B3H   LINE      ---      ---       #924
+      010022D3H   LINE      ---      ---       #925
       010022D3H   LINE      ---      ---       #926
-      010022D3H   LINE      ---      ---       #927
-      010022D7H   LINE      ---      ---       #928
-      010022D9H   LINE      ---      ---       #929
+      010022D7H   LINE      ---      ---       #927
+      010022D9H   LINE      ---      ---       #928
+      010022DDH   LINE      ---      ---       #929
       010022DDH   LINE      ---      ---       #930
-      010022DDH   LINE      ---      ---       #931
-      010022E1H   LINE      ---      ---       #932
-      010022E3H   LINE      ---      ---       #933
+      010022E1H   LINE      ---      ---       #931
+      010022E3H   LINE      ---      ---       #932
+      010022E9H   LINE      ---      ---       #933
       010022E9H   LINE      ---      ---       #934
-      010022E9H   LINE      ---      ---       #935
-      010022EDH   LINE      ---      ---       #936
-      010022EDH   LINE      ---      ---       #938
+      010022EDH   LINE      ---      ---       #935
+      010022EDH   LINE      ---      ---       #937
+      010022F4H   LINE      ---      ---       #938
       010022F4H   LINE      ---      ---       #939
-      010022F4H   LINE      ---      ---       #940
-      01002314H   LINE      ---      ---       #941
+      01002314H   LINE      ---      ---       #940
+      01002318H   LINE      ---      ---       #941
       01002318H   LINE      ---      ---       #942
       01002318H   LINE      ---      ---       #943
-      01002318H   LINE      ---      ---       #944
-      01002320H   LINE      ---      ---       #945
+      01002320H   LINE      ---      ---       #944
       02004ED7H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
       02004EA4H   PUBLIC    XDATA    ---       ksEvtPool
-      0100289FH   PUBLIC    CODE     ---       KS_GetCurrentEvt
-      01002AF5H   PUBLIC    CODE     ---       _array_is_empty
-      01002B6FH   PUBLIC    CODE     ---       KS_ScanMatrix
-      01002CCDH   PUBLIC    CODE     ---       KS_Unistall
+      010028A7H   PUBLIC    CODE     ---       KS_GetCurrentEvt
+      01002AFDH   PUBLIC    CODE     ---       _array_is_empty
+      01002B77H   PUBLIC    CODE     ---       KS_ScanMatrix
+      01002CD5H   PUBLIC    CODE     ---       KS_Unistall
       010018F8H   PUBLIC    CODE     ---       KS_Initialize
 
-      01002791H   BLOCK     CODE     ---       LVL=0
-      01002791H   LINE      ---      ---       #24
-      01002791H   LINE      ---      ---       #25
-      01002791H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002791H   LINE      ---      ---       #27
-      01002796H   LINE      ---      ---       #28
-      01002799H   LINE      ---      ---       #29
-      0100279CH   LINE      ---      ---       #30
-      0100279EH   LINE      ---      ---       #31
+      01002799H   BLOCK     CODE     ---       LVL=0
+      01002799H   LINE      ---      ---       #24
+      01002799H   LINE      ---      ---       #25
+      01002799H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002799H   LINE      ---      ---       #27
+      0100279EH   LINE      ---      ---       #28
+      010027A1H   LINE      ---      ---       #29
+      010027A4H   LINE      ---      ---       #30
+      010027A6H   LINE      ---      ---       #31
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100279FH   BLOCK     CODE     ---       LVL=0
-      0100279FH   LINE      ---      ---       #35
-      0100279FH   LINE      ---      ---       #36
-      0100279FH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100279FH   LINE      ---      ---       #37
-      010027A1H   LINE      ---      ---       #39
-      010027ADH   LINE      ---      ---       #40
-      010027ADH   LINE      ---      ---       #41
-      010027C7H   LINE      ---      ---       #43
-      010027C7H   LINE      ---      ---       #89
-      010027C9H   LINE      ---      ---       #90
-      010027C9H   LINE      ---      ---       #91
-      010027D8H   LINE      ---      ---       #92
-      010027D8H   LINE      ---      ---       #93
-      010027DBH   LINE      ---      ---       #94
-      010027DBH   LINE      ---      ---       #95
-      010027E2H   LINE      ---      ---       #96
-      010027EEH   LINE      ---      ---       #97
-      010027EFH   LINE      ---      ---       #98
-      010027EFH   LINE      ---      ---       #99
-      010027F4H   LINE      ---      ---       #100
+      010027A7H   BLOCK     CODE     ---       LVL=0
+      010027A7H   LINE      ---      ---       #35
+      010027A7H   LINE      ---      ---       #36
+      010027A7H   BLOCK     CODE     NEAR LAB  LVL=1
+      010027A7H   LINE      ---      ---       #37
+      010027A9H   LINE      ---      ---       #39
+      010027B5H   LINE      ---      ---       #40
+      010027B5H   LINE      ---      ---       #41
+      010027CFH   LINE      ---      ---       #43
+      010027CFH   LINE      ---      ---       #89
+      010027D1H   LINE      ---      ---       #90
+      010027D1H   LINE      ---      ---       #91
+      010027E0H   LINE      ---      ---       #92
+      010027E0H   LINE      ---      ---       #93
+      010027E3H   LINE      ---      ---       #94
+      010027E3H   LINE      ---      ---       #95
+      010027EAH   LINE      ---      ---       #96
+      010027F6H   LINE      ---      ---       #97
+      010027F7H   LINE      ---      ---       #98
+      010027F7H   LINE      ---      ---       #99
+      010027FCH   LINE      ---      ---       #100
       00000006H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010027F5H   BLOCK     CODE     ---       LVL=0
-      010027F5H   LINE      ---      ---       #102
-      010027F5H   LINE      ---      ---       #103
-      010027F5H   BLOCK     CODE     NEAR LAB  LVL=1
-      010027F5H   LINE      ---      ---       #104
-      010027F7H   LINE      ---      ---       #105
-      010027F8H   LINE      ---      ---       #107
-      01002806H   LINE      ---      ---       #108
-      01002806H   LINE      ---      ---       #109
-      0100280DH   LINE      ---      ---       #110
-      0100280DH   LINE      ---      ---       #111
-      01002810H   LINE      ---      ---       #112
-      01002810H   LINE      ---      ---       #113
-      01002812H   LINE      ---      ---       #115
-      01002818H   LINE      ---      ---       #117
-      01002824H   LINE      ---      ---       #118
-      01002824H   LINE      ---      ---       #119
-      0100283FH   LINE      ---      ---       #121
-      0100283FH   LINE      ---      ---       #166
-      01002841H   LINE      ---      ---       #167
-      01002841H   LINE      ---      ---       #168
-      01002844H   LINE      ---      ---       #169
-      01002844H   LINE      ---      ---       #170
-      01002852H   LINE      ---      ---       #171
-      01002856H   LINE      ---      ---       #172
-      01002861H   LINE      ---      ---       #173
-      01002861H   LINE      ---      ---       #174
-      01002863H   LINE      ---      ---       #175
-      01002863H   LINE      ---      ---       #176
-      01002865H   LINE      ---      ---       #178
-      01002865H   LINE      ---      ---       #179
-      0100287DH   LINE      ---      ---       #180
-      0100288AH   LINE      ---      ---       #181
-      0100288AH   LINE      ---      ---       #182
-      0100288EH   LINE      ---      ---       #183
-      01002899H   LINE      ---      ---       #184
-      01002899H   LINE      ---      ---       #185
-      01002899H   LINE      ---      ---       #186
-      0100289EH   LINE      ---      ---       #187
+      010027FDH   BLOCK     CODE     ---       LVL=0
+      010027FDH   LINE      ---      ---       #102
+      010027FDH   LINE      ---      ---       #103
+      010027FDH   BLOCK     CODE     NEAR LAB  LVL=1
+      010027FDH   LINE      ---      ---       #104
+      010027FFH   LINE      ---      ---       #105
+      01002800H   LINE      ---      ---       #107
+      0100280EH   LINE      ---      ---       #108
+      0100280EH   LINE      ---      ---       #109
+      01002815H   LINE      ---      ---       #110
+      01002815H   LINE      ---      ---       #111
+      01002818H   LINE      ---      ---       #112
+      01002818H   LINE      ---      ---       #113
+      0100281AH   LINE      ---      ---       #115
+      01002820H   LINE      ---      ---       #117
+      0100282CH   LINE      ---      ---       #118
+      0100282CH   LINE      ---      ---       #119
+      01002847H   LINE      ---      ---       #121
+      01002847H   LINE      ---      ---       #166
+      01002849H   LINE      ---      ---       #167
+      01002849H   LINE      ---      ---       #168
+      0100284CH   LINE      ---      ---       #169
+      0100284CH   LINE      ---      ---       #170
+      0100285AH   LINE      ---      ---       #171
+      0100285EH   LINE      ---      ---       #172
+      01002869H   LINE      ---      ---       #173
+      01002869H   LINE      ---      ---       #174
+      0100286BH   LINE      ---      ---       #175
+      0100286BH   LINE      ---      ---       #176
+      0100286DH   LINE      ---      ---       #178
+      0100286DH   LINE      ---      ---       #179
+      01002885H   LINE      ---      ---       #180
+      01002892H   LINE      ---      ---       #181
+      01002892H   LINE      ---      ---       #182
+      01002896H   LINE      ---      ---       #183
+      010028A1H   LINE      ---      ---       #184
+      010028A1H   LINE      ---      ---       #185
+      010028A1H   LINE      ---      ---       #186
+      010028A6H   LINE      ---      ---       #187
       00000006H   SYMBOL    DATA     VOID      i
       00000005H   SYMBOL    DATA     VOID      found
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -1795,39 +1793,39 @@
       01001901H   LINE      ---      ---       #211
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002CCDH   BLOCK     CODE     ---       LVL=0
-      01002CCDH   LINE      ---      ---       #215
-      01002CCDH   LINE      ---      ---       #216
-      01002CCDH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002CCDH   LINE      ---      ---       #217
-      01002CCFH   LINE      ---      ---       #218
-      01002CD3H   LINE      ---      ---       #219
-      01002CD4H   LINE      ---      ---       #220
-      01002CD5H   LINE      ---      ---       #221
-      01002CDCH   LINE      ---      ---       #222
-      01002CE5H   LINE      ---      ---       #223
-      01002CF5H   LINE      ---      ---       #224
-      01002D08H   LINE      ---      ---       #225
-      01002D15H   LINE      ---      ---       #226
-      01002D22H   LINE      ---      ---       #227
-      01002D25H   LINE      ---      ---       #229
-      01002D27H   LINE      ---      ---       #231
-      01002D2FH   LINE      ---      ---       #233
-      01002D35H   LINE      ---      ---       #234
-      01002D35H   LINE      ---      ---       #235
-      01002D39H   LINE      ---      ---       #236
-      01002D3DH   LINE      ---      ---       #237
-      01002D41H   LINE      ---      ---       #238
-      01002D45H   LINE      ---      ---       #239
-      01002D49H   LINE      ---      ---       #240
-      01002D4DH   LINE      ---      ---       #241
-      01002D51H   LINE      ---      ---       #242
-      01002D55H   LINE      ---      ---       #243
-      01002D55H   LINE      ---      ---       #245
-      01002D55H   LINE      ---      ---       #246
-      01002D5EH   LINE      ---      ---       #247
-      01002D64H   LINE      ---      ---       #248
-      01002D64H   LINE      ---      ---       #250
+      01002CD5H   BLOCK     CODE     ---       LVL=0
+      01002CD5H   LINE      ---      ---       #215
+      01002CD5H   LINE      ---      ---       #216
+      01002CD5H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002CD5H   LINE      ---      ---       #217
+      01002CD7H   LINE      ---      ---       #218
+      01002CDBH   LINE      ---      ---       #219
+      01002CDCH   LINE      ---      ---       #220
+      01002CDDH   LINE      ---      ---       #221
+      01002CE4H   LINE      ---      ---       #222
+      01002CEDH   LINE      ---      ---       #223
+      01002CFDH   LINE      ---      ---       #224
+      01002D10H   LINE      ---      ---       #225
+      01002D1DH   LINE      ---      ---       #226
+      01002D2AH   LINE      ---      ---       #227
+      01002D2DH   LINE      ---      ---       #229
+      01002D2FH   LINE      ---      ---       #231
+      01002D37H   LINE      ---      ---       #233
+      01002D3DH   LINE      ---      ---       #234
+      01002D3DH   LINE      ---      ---       #235
+      01002D41H   LINE      ---      ---       #236
+      01002D45H   LINE      ---      ---       #237
+      01002D49H   LINE      ---      ---       #238
+      01002D4DH   LINE      ---      ---       #239
+      01002D51H   LINE      ---      ---       #240
+      01002D55H   LINE      ---      ---       #241
+      01002D59H   LINE      ---      ---       #242
+      01002D5DH   LINE      ---      ---       #243
+      01002D5DH   LINE      ---      ---       #245
+      01002D5DH   LINE      ---      ---       #246
+      01002D66H   LINE      ---      ---       #247
+      01002D6CH   LINE      ---      ---       #248
+      01002D6CH   LINE      ---      ---       #250
       00000007H   SYMBOL    DATA     VOID      i
       02004F07H   SYMBOL    XDATA    VOID      temp
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1835,32 +1833,32 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002B6FH   BLOCK     CODE     ---       LVL=0
-      01002B6FH   LINE      ---      ---       #253
-      01002B6FH   LINE      ---      ---       #254
-      01002B6FH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002B6FH   LINE      ---      ---       #255
-      01002B71H   LINE      ---      ---       #256
-      01002B75H   LINE      ---      ---       #257
-      01002B76H   LINE      ---      ---       #258
-      01002B77H   LINE      ---      ---       #259
-      01002B79H   LINE      ---      ---       #260
-      01002B7BH   LINE      ---      ---       #261
-      01002B82H   LINE      ---      ---       #262
-      01002B8BH   LINE      ---      ---       #263
-      01002B9BH   LINE      ---      ---       #264
-      01002BFBH   LINE      ---      ---       #265
-      01002BFEH   LINE      ---      ---       #267
-      01002C07H   LINE      ---      ---       #268
-      01002C10H   LINE      ---      ---       #269
-      01002C20H   LINE      ---      ---       #270
-      01002C80H   LINE      ---      ---       #271
-      01002C83H   LINE      ---      ---       #273
-      01002C8CH   LINE      ---      ---       #274
-      01002CA6H   LINE      ---      ---       #275
-      01002CC9H   LINE      ---      ---       #276
-      01002CC9H   LINE      ---      ---       #277
-      01002CCCH   LINE      ---      ---       #278
+      01002B77H   BLOCK     CODE     ---       LVL=0
+      01002B77H   LINE      ---      ---       #253
+      01002B77H   LINE      ---      ---       #254
+      01002B77H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002B77H   LINE      ---      ---       #255
+      01002B79H   LINE      ---      ---       #256
+      01002B7DH   LINE      ---      ---       #257
+      01002B7EH   LINE      ---      ---       #258
+      01002B7FH   LINE      ---      ---       #259
+      01002B81H   LINE      ---      ---       #260
+      01002B83H   LINE      ---      ---       #261
+      01002B8AH   LINE      ---      ---       #262
+      01002B93H   LINE      ---      ---       #263
+      01002BA3H   LINE      ---      ---       #264
+      01002C03H   LINE      ---      ---       #265
+      01002C06H   LINE      ---      ---       #267
+      01002C0FH   LINE      ---      ---       #268
+      01002C18H   LINE      ---      ---       #269
+      01002C28H   LINE      ---      ---       #270
+      01002C88H   LINE      ---      ---       #271
+      01002C8BH   LINE      ---      ---       #273
+      01002C94H   LINE      ---      ---       #274
+      01002CAEH   LINE      ---      ---       #275
+      01002CD1H   LINE      ---      ---       #276
+      01002CD1H   LINE      ---      ---       #277
+      01002CD4H   LINE      ---      ---       #278
       00000007H   SYMBOL    DATA     VOID      i
       02004EE9H   SYMBOL    XDATA    VOID      j
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1870,120 +1868,120 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002AF5H   BLOCK     CODE     ---       LVL=0
-      01002AF5H   LINE      ---      ---       #280
-      01002B00H   LINE      ---      ---       #281
-      01002B00H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002B00H   LINE      ---      ---       #283
-      01002B07H   LINE      ---      ---       #284
-      01002B07H   LINE      ---      ---       #285
-      01002B1CH   LINE      ---      ---       #286
-      01002B1FH   LINE      ---      ---       #287
-      01002B22H   LINE      ---      ---       #288
-      01002B24H   LINE      ---      ---       #289
+      01002AFDH   BLOCK     CODE     ---       LVL=0
+      01002AFDH   LINE      ---      ---       #280
+      01002B08H   LINE      ---      ---       #281
+      01002B08H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002B08H   LINE      ---      ---       #283
+      01002B0FH   LINE      ---      ---       #284
+      01002B0FH   LINE      ---      ---       #285
+      01002B24H   LINE      ---      ---       #286
+      01002B27H   LINE      ---      ---       #287
+      01002B2AH   LINE      ---      ---       #288
+      01002B2CH   LINE      ---      ---       #289
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100289FH   BLOCK     CODE     ---       LVL=0
-      0100289FH   LINE      ---      ---       #292
-      0100289FH   LINE      ---      ---       #293
-      0100289FH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100289FH   LINE      ---      ---       #295
-      010028A4H   LINE      ---      ---       #296
-      010028A6H   LINE      ---      ---       #297
-      010028A8H   LINE      ---      ---       #298
-      010028AAH   LINE      ---      ---       #299
-      010028ACH   LINE      ---      ---       #300
-      010028AEH   LINE      ---      ---       #301
-      010028B0H   LINE      ---      ---       #302
-      010028B2H   LINE      ---      ---       #303
-      010028B4H   LINE      ---      ---       #304
-      010028B6H   LINE      ---      ---       #305
-      010028B8H   LINE      ---      ---       #307
-      010028BAH   LINE      ---      ---       #309
-      010028E8H   LINE      ---      ---       #311
-      010028E8H   LINE      ---      ---       #312
-      010028EFH   LINE      ---      ---       #313
-      010028F5H   LINE      ---      ---       #314
-      010028F7H   LINE      ---      ---       #316
-      010028F7H   LINE      ---      ---       #317
-      010028FEH   LINE      ---      ---       #318
-      01002903H   LINE      ---      ---       #319
-      01002903H   LINE      ---      ---       #321
-      01002915H   LINE      ---      ---       #322
-      01002915H   LINE      ---      ---       #323
-      01002924H   LINE      ---      ---       #324
-      0100292EH   LINE      ---      ---       #325
-      01002935H   LINE      ---      ---       #326
-      01002935H   LINE      ---      ---       #327
-      01002944H   LINE      ---      ---       #328
-      01002944H   LINE      ---      ---       #329
-      0100295FH   LINE      ---      ---       #330
-      0100295FH   LINE      ---      ---       #331
-      0100296FH   LINE      ---      ---       #332
-      0100296FH   LINE      ---      ---       #333
-      01002978H   LINE      ---      ---       #334
-      01002978H   LINE      ---      ---       #335
-      010029A7H   LINE      ---      ---       #336
-      010029A7H   LINE      ---      ---       #337
-      010029ADH   LINE      ---      ---       #338
-      010029AFH   LINE      ---      ---       #339
-      010029AFH   LINE      ---      ---       #340
-      010029AFH   LINE      ---      ---       #341
-      010029B7H   LINE      ---      ---       #342
-      010029B7H   LINE      ---      ---       #343
-      010029BFH   LINE      ---      ---       #344
-      010029BFH   LINE      ---      ---       #346
-      010029C6H   LINE      ---      ---       #347
-      010029C6H   LINE      ---      ---       #348
-      010029CFH   LINE      ---      ---       #349
-      010029CFH   LINE      ---      ---       #350
-      010029D7H   LINE      ---      ---       #351
-      010029DFH   LINE      ---      ---       #353
-      010029F1H   LINE      ---      ---       #354
-      010029F1H   LINE      ---      ---       #355
-      01002A0DH   LINE      ---      ---       #356
-      01002A20H   LINE      ---      ---       #357
-      01002A26H   LINE      ---      ---       #358
-      01002A26H   LINE      ---      ---       #359
-      01002A28H   LINE      ---      ---       #360
-      01002A2AH   LINE      ---      ---       #362
-      01002A2AH   LINE      ---      ---       #364
-      01002A30H   LINE      ---      ---       #365
-      01002A37H   LINE      ---      ---       #366
-      01002A4FH   LINE      ---      ---       #367
-      01002A5EH   LINE      ---      ---       #368
-      01002A5EH   LINE      ---      ---       #369
-      01002A65H   LINE      ---      ---       #370
-      01002A65H   LINE      ---      ---       #371
-      01002A76H   LINE      ---      ---       #372
-      01002A8AH   LINE      ---      ---       #373
-      01002A91H   LINE      ---      ---       #374
-      01002A91H   LINE      ---      ---       #375
-      01002A99H   LINE      ---      ---       #376
-      01002A9BH   LINE      ---      ---       #378
-      01002A9BH   LINE      ---      ---       #379
-      01002AA3H   LINE      ---      ---       #380
-      01002AA3H   LINE      ---      ---       #381
-      01002AA3H   LINE      ---      ---       #382
-      01002AABH   LINE      ---      ---       #383
-      01002AB3H   LINE      ---      ---       #384
-      01002ABBH   LINE      ---      ---       #385
-      01002AC1H   LINE      ---      ---       #386
-      01002AC1H   LINE      ---      ---       #387
-      01002AC9H   LINE      ---      ---       #389
-      01002AD7H   LINE      ---      ---       #390
-      01002AD7H   LINE      ---      ---       #391
-      01002ADAH   LINE      ---      ---       #392
-      01002ADAH   LINE      ---      ---       #395
-      01002AE7H   LINE      ---      ---       #396
-      01002AE7H   LINE      ---      ---       #397
-      01002AEEH   LINE      ---      ---       #398
-      01002AEEH   LINE      ---      ---       #400
-      01002AEEH   LINE      ---      ---       #401
-      01002AF4H   LINE      ---      ---       #402
-      01002AF4H   LINE      ---      ---       #405
+      010028A7H   BLOCK     CODE     ---       LVL=0
+      010028A7H   LINE      ---      ---       #292
+      010028A7H   LINE      ---      ---       #293
+      010028A7H   BLOCK     CODE     NEAR LAB  LVL=1
+      010028A7H   LINE      ---      ---       #295
+      010028ACH   LINE      ---      ---       #296
+      010028AEH   LINE      ---      ---       #297
+      010028B0H   LINE      ---      ---       #298
+      010028B2H   LINE      ---      ---       #299
+      010028B4H   LINE      ---      ---       #300
+      010028B6H   LINE      ---      ---       #301
+      010028B8H   LINE      ---      ---       #302
+      010028BAH   LINE      ---      ---       #303
+      010028BCH   LINE      ---      ---       #304
+      010028BEH   LINE      ---      ---       #305
+      010028C0H   LINE      ---      ---       #307
+      010028C2H   LINE      ---      ---       #309
+      010028F0H   LINE      ---      ---       #311
+      010028F0H   LINE      ---      ---       #312
+      010028F7H   LINE      ---      ---       #313
+      010028FDH   LINE      ---      ---       #314
+      010028FFH   LINE      ---      ---       #316
+      010028FFH   LINE      ---      ---       #317
+      01002906H   LINE      ---      ---       #318
+      0100290BH   LINE      ---      ---       #319
+      0100290BH   LINE      ---      ---       #321
+      0100291DH   LINE      ---      ---       #322
+      0100291DH   LINE      ---      ---       #323
+      0100292CH   LINE      ---      ---       #324
+      01002936H   LINE      ---      ---       #325
+      0100293DH   LINE      ---      ---       #326
+      0100293DH   LINE      ---      ---       #327
+      0100294CH   LINE      ---      ---       #328
+      0100294CH   LINE      ---      ---       #329
+      01002967H   LINE      ---      ---       #330
+      01002967H   LINE      ---      ---       #331
+      01002977H   LINE      ---      ---       #332
+      01002977H   LINE      ---      ---       #333
+      01002980H   LINE      ---      ---       #334
+      01002980H   LINE      ---      ---       #335
+      010029AFH   LINE      ---      ---       #336
+      010029AFH   LINE      ---      ---       #337
+      010029B5H   LINE      ---      ---       #338
+      010029B7H   LINE      ---      ---       #339
+      010029B7H   LINE      ---      ---       #340
+      010029B7H   LINE      ---      ---       #341
+      010029BFH   LINE      ---      ---       #342
+      010029BFH   LINE      ---      ---       #343
+      010029C7H   LINE      ---      ---       #344
+      010029C7H   LINE      ---      ---       #346
+      010029CEH   LINE      ---      ---       #347
+      010029CEH   LINE      ---      ---       #348
+      010029D7H   LINE      ---      ---       #349
+      010029D7H   LINE      ---      ---       #350
+      010029DFH   LINE      ---      ---       #351
+      010029E7H   LINE      ---      ---       #353
+      010029F9H   LINE      ---      ---       #354
+      010029F9H   LINE      ---      ---       #355
+      01002A15H   LINE      ---      ---       #356
+      01002A28H   LINE      ---      ---       #357
+      01002A2EH   LINE      ---      ---       #358
+      01002A2EH   LINE      ---      ---       #359
+      01002A30H   LINE      ---      ---       #360
+      01002A32H   LINE      ---      ---       #362
+      01002A32H   LINE      ---      ---       #364
+      01002A38H   LINE      ---      ---       #365
+      01002A3FH   LINE      ---      ---       #366
+      01002A57H   LINE      ---      ---       #367
+      01002A66H   LINE      ---      ---       #368
+      01002A66H   LINE      ---      ---       #369
+      01002A6DH   LINE      ---      ---       #370
+      01002A6DH   LINE      ---      ---       #371
+      01002A7EH   LINE      ---      ---       #372
+      01002A92H   LINE      ---      ---       #373
+      01002A99H   LINE      ---      ---       #374
+      01002A99H   LINE      ---      ---       #375
+      01002AA1H   LINE      ---      ---       #376
+      01002AA3H   LINE      ---      ---       #378
+      01002AA3H   LINE      ---      ---       #379
+      01002AABH   LINE      ---      ---       #380
+      01002AABH   LINE      ---      ---       #381
+      01002AABH   LINE      ---      ---       #382
+      01002AB3H   LINE      ---      ---       #383
+      01002ABBH   LINE      ---      ---       #384
+      01002AC3H   LINE      ---      ---       #385
+      01002AC9H   LINE      ---      ---       #386
+      01002AC9H   LINE      ---      ---       #387
+      01002AD1H   LINE      ---      ---       #389
+      01002ADFH   LINE      ---      ---       #390
+      01002ADFH   LINE      ---      ---       #391
+      01002AE2H   LINE      ---      ---       #392
+      01002AE2H   LINE      ---      ---       #395
+      01002AEFH   LINE      ---      ---       #396
+      01002AEFH   LINE      ---      ---       #397
+      01002AF6H   LINE      ---      ---       #398
+      01002AF6H   LINE      ---      ---       #400
+      01002AF6H   LINE      ---      ---       #401
+      01002AFCH   LINE      ---      ---       #402
+      01002AFCH   LINE      ---      ---       #405
       02004E88H   SYMBOL    XDATA    VOID      i
       02004E89H   SYMBOL    XDATA    VOID      j
       02004E8AH   SYMBOL    XDATA    VOID      k
@@ -1999,9 +1997,9 @@
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       LED
-      010010FDH   PUBLIC    CODE     ---       LED_handle
-      01002E7DH   PUBLIC    CODE     ---       LED_device_poweroff
-      010011A5H   PUBLIC    CODE     ---       LED_device_poweron
+      01001148H   PUBLIC    CODE     ---       LED_handle
+      01002E85H   PUBLIC    CODE     ---       LED_device_poweroff
+      010010FDH   PUBLIC    CODE     ---       LED_device_poweron
       010017F6H   PUBLIC    CODE     ---       LED_all_shutdown
 
       010017F6H   BLOCK     CODE     ---       LVL=0
@@ -2013,99 +2011,99 @@
       01001809H   LINE      ---      ---       #10
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010011A5H   BLOCK     CODE     ---       LVL=0
-      010011A5H   LINE      ---      ---       #15
-      010011A5H   LINE      ---      ---       #16
-      010011A5H   LINE      ---      ---       #19
-      010011ACH   LINE      ---      ---       #20
-      010011ACH   LINE      ---      ---       #21
-      010011B2H   LINE      ---      ---       #22
-      010011B8H   LINE      ---      ---       #23
-      010011BEH   LINE      ---      ---       #24
-      010011BEH   LINE      ---      ---       #25
-      010011C5H   LINE      ---      ---       #26
-      010011C5H   LINE      ---      ---       #27
-      010011CBH   LINE      ---      ---       #28
-      010011D1H   LINE      ---      ---       #29
-      010011D7H   LINE      ---      ---       #30
-      010011D7H   LINE      ---      ---       #31
-      010011DDH   LINE      ---      ---       #32
-      010011DDH   LINE      ---      ---       #33
-      010011E3H   LINE      ---      ---       #34
-      010011E9H   LINE      ---      ---       #35
-      010011EFH   LINE      ---      ---       #36
-      010011EFH   LINE      ---      ---       #38
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002E7DH   BLOCK     CODE     ---       LVL=0
-      01002E7DH   LINE      ---      ---       #40
-      01002E7DH   LINE      ---      ---       #41
-      01002E7DH   LINE      ---      ---       #43
-      01002E84H   LINE      ---      ---       #44
-      01002E8BH   LINE      ---      ---       #45
-      01002E92H   LINE      ---      ---       #46
-      01002E99H   LINE      ---      ---       #47
-      01002E9FH   LINE      ---      ---       #48
-      01002EA6H   LINE      ---      ---       #51
-      ---         BLOCKEND  ---      ---       LVL=0
-
       010010FDH   BLOCK     CODE     ---       LVL=0
-      010010FDH   LINE      ---      ---       #54
-      010010FDH   LINE      ---      ---       #55
-      010010FDH   LINE      ---      ---       #56
-      01001107H   LINE      ---      ---       #59
-      01001117H   LINE      ---      ---       #60
-      01001117H   LINE      ---      ---       #62
-      0100111EH   LINE      ---      ---       #63
-      0100111EH   LINE      ---      ---       #64
-      01001120H   LINE      ---      ---       #65
-      01001122H   LINE      ---      ---       #66
-      01001129H   LINE      ---      ---       #67
-      01001129H   LINE      ---      ---       #68
-      0100112FH   LINE      ---      ---       #69
-      0100112FH   LINE      ---      ---       #70
-      01001135H   LINE      ---      ---       #71
-      0100113BH   LINE      ---      ---       #72
-      0100113BH   LINE      ---      ---       #73
-      0100113DH   LINE      ---      ---       #75
-      0100113DH   LINE      ---      ---       #76
-      01001144H   LINE      ---      ---       #77
-      01001144H   LINE      ---      ---       #78
-      01001146H   LINE      ---      ---       #79
-      0100114AH   LINE      ---      ---       #80
-      01001150H   LINE      ---      ---       #81
-      01001150H   LINE      ---      ---       #82
-      01001150H   LINE      ---      ---       #85
-      0100115BH   LINE      ---      ---       #86
-      0100115BH   LINE      ---      ---       #87
-      0100116AH   LINE      ---      ---       #88
-      0100116AH   LINE      ---      ---       #89
-      01001171H   LINE      ---      ---       #90
-      01001171H   LINE      ---      ---       #91
-      01001177H   LINE      ---      ---       #92
-      01001179H   LINE      ---      ---       #94
-      01001179H   LINE      ---      ---       #95
-      0100117FH   LINE      ---      ---       #96
-      0100117FH   LINE      ---      ---       #98
-      01001186H   LINE      ---      ---       #99
-      01001186H   LINE      ---      ---       #100
-      0100118CH   LINE      ---      ---       #101
-      0100118CH   LINE      ---      ---       #103
-      0100118CH   LINE      ---      ---       #104
-      01001192H   LINE      ---      ---       #105
-      01001192H   LINE      ---      ---       #106
-      01001192H   LINE      ---      ---       #108
-      01001192H   LINE      ---      ---       #109
-      01001198H   LINE      ---      ---       #110
-      0100119EH   LINE      ---      ---       #111
-      0100119EH   LINE      ---      ---       #112
-      0100119EH   LINE      ---      ---       #114
-      0100119EH   LINE      ---      ---       #116
-      0100119EH   LINE      ---      ---       #117
-      0100119EH   LINE      ---      ---       #119
-      0100119EH   LINE      ---      ---       #121
-      010011A4H   LINE      ---      ---       #122
-      010011A4H   LINE      ---      ---       #124
+      010010FDH   LINE      ---      ---       #15
+      010010FDH   LINE      ---      ---       #16
+      010010FDH   LINE      ---      ---       #19
+      01001104H   LINE      ---      ---       #20
+      01001104H   LINE      ---      ---       #21
+      0100110AH   LINE      ---      ---       #22
+      01001110H   LINE      ---      ---       #23
+      01001116H   LINE      ---      ---       #24
+      01001116H   LINE      ---      ---       #25
+      0100111DH   LINE      ---      ---       #26
+      0100111DH   LINE      ---      ---       #27
+      01001123H   LINE      ---      ---       #28
+      01001129H   LINE      ---      ---       #29
+      0100112FH   LINE      ---      ---       #30
+      0100112FH   LINE      ---      ---       #31
+      01001135H   LINE      ---      ---       #32
+      01001135H   LINE      ---      ---       #33
+      0100113BH   LINE      ---      ---       #34
+      01001141H   LINE      ---      ---       #35
+      01001147H   LINE      ---      ---       #36
+      01001147H   LINE      ---      ---       #38
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002E85H   BLOCK     CODE     ---       LVL=0
+      01002E85H   LINE      ---      ---       #40
+      01002E85H   LINE      ---      ---       #41
+      01002E85H   LINE      ---      ---       #43
+      01002E8CH   LINE      ---      ---       #44
+      01002E93H   LINE      ---      ---       #45
+      01002E9AH   LINE      ---      ---       #46
+      01002EA1H   LINE      ---      ---       #47
+      01002EA7H   LINE      ---      ---       #48
+      01002EAEH   LINE      ---      ---       #51
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001148H   BLOCK     CODE     ---       LVL=0
+      01001148H   LINE      ---      ---       #54
+      01001148H   LINE      ---      ---       #55
+      01001148H   LINE      ---      ---       #56
+      01001152H   LINE      ---      ---       #59
+      01001162H   LINE      ---      ---       #60
+      01001162H   LINE      ---      ---       #62
+      01001169H   LINE      ---      ---       #63
+      01001169H   LINE      ---      ---       #64
+      0100116BH   LINE      ---      ---       #65
+      0100116DH   LINE      ---      ---       #66
+      01001174H   LINE      ---      ---       #67
+      01001174H   LINE      ---      ---       #68
+      0100117AH   LINE      ---      ---       #69
+      0100117AH   LINE      ---      ---       #70
+      01001180H   LINE      ---      ---       #71
+      01001186H   LINE      ---      ---       #72
+      01001186H   LINE      ---      ---       #73
+      01001188H   LINE      ---      ---       #75
+      01001188H   LINE      ---      ---       #76
+      0100118FH   LINE      ---      ---       #77
+      0100118FH   LINE      ---      ---       #78
+      01001191H   LINE      ---      ---       #79
+      01001195H   LINE      ---      ---       #80
+      0100119BH   LINE      ---      ---       #81
+      0100119BH   LINE      ---      ---       #82
+      0100119BH   LINE      ---      ---       #85
+      010011A6H   LINE      ---      ---       #86
+      010011A6H   LINE      ---      ---       #87
+      010011B5H   LINE      ---      ---       #88
+      010011B5H   LINE      ---      ---       #89
+      010011BCH   LINE      ---      ---       #90
+      010011BCH   LINE      ---      ---       #91
+      010011C2H   LINE      ---      ---       #92
+      010011C4H   LINE      ---      ---       #94
+      010011C4H   LINE      ---      ---       #95
+      010011CAH   LINE      ---      ---       #96
+      010011CAH   LINE      ---      ---       #98
+      010011D1H   LINE      ---      ---       #99
+      010011D1H   LINE      ---      ---       #100
+      010011D7H   LINE      ---      ---       #101
+      010011D7H   LINE      ---      ---       #103
+      010011D7H   LINE      ---      ---       #104
+      010011DDH   LINE      ---      ---       #105
+      010011DDH   LINE      ---      ---       #106
+      010011DDH   LINE      ---      ---       #108
+      010011DDH   LINE      ---      ---       #109
+      010011E3H   LINE      ---      ---       #110
+      010011E9H   LINE      ---      ---       #111
+      010011E9H   LINE      ---      ---       #112
+      010011E9H   LINE      ---      ---       #114
+      010011E9H   LINE      ---      ---       #116
+      010011E9H   LINE      ---      ---       #117
+      010011E9H   LINE      ---      ---       #119
+      010011E9H   LINE      ---      ---       #121
+      010011EFH   LINE      ---      ---       #122
+      010011EFH   LINE      ---      ---       #124
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       SYS
@@ -2115,11 +2113,11 @@
       01001F85H   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
       01000E02H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
       01001026H   PUBLIC    CODE     ---       LED_timer500ms
-      01002FEDH   PUBLIC    CODE     ---       System_Reset_Connect
+      01002FF5H   PUBLIC    CODE     ---       System_Reset_Connect
       01000EFDH   PUBLIC    CODE     ---       System_G24_long_lpm
       01001785H   PUBLIC    CODE     ---       System_long_sleep
-      01002FAEH   PUBLIC    CODE     ---       System_Software_init
-      01002484H   PUBLIC    CODE     ---       System_clear_timer_status
+      01002FB6H   PUBLIC    CODE     ---       System_Software_init
+      01002490H   PUBLIC    CODE     ---       System_clear_timer_status
 
       01000BC8H   BLOCK     CODE     ---       LVL=0
       01000BC8H   LINE      ---      ---       #11
@@ -2152,26 +2150,26 @@
       01000C60H   LINE      ---      ---       #41
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002F9BH   BLOCK     CODE     ---       LVL=0
-      01002F9BH   LINE      ---      ---       #43
-      01002F9BH   LINE      ---      ---       #44
-      01002F9BH   LINE      ---      ---       #45
-      01002FA1H   LINE      ---      ---       #46
-      01002FA4H   LINE      ---      ---       #47
-      01002FA6H   LINE      ---      ---       #48
-      01002FA8H   LINE      ---      ---       #49
-      01002FAAH   LINE      ---      ---       #50
-      01002FADH   LINE      ---      ---       #51
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002484H   BLOCK     CODE     ---       LVL=0
-      01002484H   LINE      ---      ---       #53
-      01002484H   LINE      ---      ---       #54
-      01002484H   LINE      ---      ---       #55
-      01002489H   LINE      ---      ---       #56
-      0100248FH   LINE      ---      ---       #57
-      01002493H   LINE      ---      ---       #58
-      01002497H   LINE      ---      ---       #59
+      01002FA3H   BLOCK     CODE     ---       LVL=0
+      01002FA3H   LINE      ---      ---       #43
+      01002FA3H   LINE      ---      ---       #44
+      01002FA3H   LINE      ---      ---       #45
+      01002FA9H   LINE      ---      ---       #46
+      01002FACH   LINE      ---      ---       #47
+      01002FAEH   LINE      ---      ---       #48
+      01002FB0H   LINE      ---      ---       #49
+      01002FB2H   LINE      ---      ---       #50
+      01002FB5H   LINE      ---      ---       #51
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002490H   BLOCK     CODE     ---       LVL=0
+      01002490H   LINE      ---      ---       #53
+      01002490H   LINE      ---      ---       #54
+      01002490H   LINE      ---      ---       #55
+      01002495H   LINE      ---      ---       #56
+      0100249BH   LINE      ---      ---       #57
+      0100249FH   LINE      ---      ---       #58
+      010024A3H   LINE      ---      ---       #59
       ---         BLOCKEND  ---      ---       LVL=0
 
       010017F0H   BLOCK     CODE     ---       LVL=0
@@ -2181,26 +2179,26 @@
       010017F3H   LINE      ---      ---       #63
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002FAEH   BLOCK     CODE     ---       LVL=0
-      01002FAEH   LINE      ---      ---       #68
-      01002FAEH   LINE      ---      ---       #69
-      01002FAEH   LINE      ---      ---       #70
-      01002FB1H   LINE      ---      ---       #71
-      01002FB4H   LINE      ---      ---       #72
-      01002FBAH   LINE      ---      ---       #73
-      01002FC0H   LINE      ---      ---       #75
-      01002FC5H   LINE      ---      ---       #76
-      01002FCBH   LINE      ---      ---       #77
-      01002FD3H   LINE      ---      ---       #78
-      01002FDBH   LINE      ---      ---       #79
-      01002FE3H   LINE      ---      ---       #80
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002FE4H   BLOCK     CODE     ---       LVL=0
-      01002FE4H   LINE      ---      ---       #82
-      01002FE4H   LINE      ---      ---       #83
-      01002FE4H   LINE      ---      ---       #84
-      01002FEAH   LINE      ---      ---       #85
+      01002FB6H   BLOCK     CODE     ---       LVL=0
+      01002FB6H   LINE      ---      ---       #68
+      01002FB6H   LINE      ---      ---       #69
+      01002FB6H   LINE      ---      ---       #70
+      01002FB9H   LINE      ---      ---       #71
+      01002FBCH   LINE      ---      ---       #72
+      01002FC2H   LINE      ---      ---       #73
+      01002FC8H   LINE      ---      ---       #75
+      01002FCDH   LINE      ---      ---       #76
+      01002FD3H   LINE      ---      ---       #77
+      01002FDBH   LINE      ---      ---       #78
+      01002FE3H   LINE      ---      ---       #79
+      01002FEBH   LINE      ---      ---       #80
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002FECH   BLOCK     CODE     ---       LVL=0
+      01002FECH   LINE      ---      ---       #82
+      01002FECH   LINE      ---      ---       #83
+      01002FECH   LINE      ---      ---       #84
+      01002FF2H   LINE      ---      ---       #85
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001785H   BLOCK     CODE     ---       LVL=0
@@ -2228,19 +2226,19 @@
       01000F2BH   LINE      ---      ---       #110
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002FEDH   BLOCK     CODE     ---       LVL=0
-      01002FEDH   LINE      ---      ---       #112
-      01002FEDH   LINE      ---      ---       #113
-      01002FEDH   LINE      ---      ---       #114
+      01002FF5H   BLOCK     CODE     ---       LVL=0
+      01002FF5H   LINE      ---      ---       #112
+      01002FF5H   LINE      ---      ---       #113
+      01002FF5H   LINE      ---      ---       #114
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002FEFH   BLOCK     CODE     ---       LVL=0
-      01002FEFH   LINE      ---      ---       #122
-      01002FF4H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002FF4H   LINE      ---      ---       #124
-      01002FFEH   LINE      ---      ---       #126
-      01002FFEH   LINE      ---      ---       #128
-      01002FFEH   LINE      ---      ---       #129
+      01002FF7H   BLOCK     CODE     ---       LVL=0
+      01002FF7H   LINE      ---      ---       #122
+      01002FFCH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002FFCH   LINE      ---      ---       #124
+      01003006H   LINE      ---      ---       #126
+      01003006H   LINE      ---      ---       #128
+      01003006H   LINE      ---      ---       #129
       02004EFEH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2738,98 +2736,98 @@
       01001F07H   LINE      ---      ---       #704
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002EA7H   BLOCK     CODE     ---       LVL=0
-      01002EA7H   LINE      ---      ---       #717
-      01002EA7H   LINE      ---      ---       #718
-      01002EA7H   LINE      ---      ---       #720
-      01002EADH   LINE      ---      ---       #721
-      01002EADH   LINE      ---      ---       #722
-      01002EAFH   LINE      ---      ---       #723
-      01002EAFH   LINE      ---      ---       #725
-      01002EB5H   LINE      ---      ---       #726
-      01002EB7H   LINE      ---      ---       #728
-      01002EBDH   LINE      ---      ---       #729
-      01002EBDH   LINE      ---      ---       #730
-      01002EBFH   LINE      ---      ---       #731
-      01002EC2H   LINE      ---      ---       #732
-      01002EC8H   LINE      ---      ---       #733
-      01002EC8H   LINE      ---      ---       #735
-      01002ECEH   LINE      ---      ---       #736
-      01002ECEH   LINE      ---      ---       #737
-      01002ED4H   LINE      ---      ---       #738
-      01002ED4H   LINE      ---      ---       #739
-      01002EDAH   LINE      ---      ---       #741
-      01002EDAH   LINE      ---      ---       #743
-      01002EE0H   LINE      ---      ---       #744
-      01002EE3H   LINE      ---      ---       #745
-      01002EE9H   LINE      ---      ---       #746
-      01002EE9H   LINE      ---      ---       #747
-      01002EEBH   LINE      ---      ---       #748
-      01002EEBH   LINE      ---      ---       #749
-      01002EEDH   LINE      ---      ---       #750
-      01002EF9H   LINE      ---      ---       #751
-      01002EF9H   LINE      ---      ---       #752
-      01002EFFH   LINE      ---      ---       #753
-      01002EFFH   LINE      ---      ---       #754
-      01002F01H   LINE      ---      ---       #755
-      01002F08H   LINE      ---      ---       #756
-      01002F08H   LINE      ---      ---       #757
-      01002F0CH   LINE      ---      ---       #758
-      01002F0CH   LINE      ---      ---       #759
-      01002F13H   LINE      ---      ---       #760
-      01002F15H   LINE      ---      ---       #762
-      01002F15H   LINE      ---      ---       #763
-      01002F1CH   LINE      ---      ---       #764
-      01002F1CH   LINE      ---      ---       #765
-      01002F1EH   LINE      ---      ---       #767
-      01002F25H   LINE      ---      ---       #768
-      01002F2BH   LINE      ---      ---       #769
-      01002F2EH   LINE      ---      ---       #770
-      01002F2EH   LINE      ---      ---       #771
-      01002F2EH   LINE      ---      ---       #774
-      01002F34H   LINE      ---      ---       #775
-      01002F34H   LINE      ---      ---       #776
-      01002F3CH   LINE      ---      ---       #777
-      01002F3CH   LINE      ---      ---       #778
-      01002F42H   LINE      ---      ---       #779
-      01002F46H   LINE      ---      ---       #781
-      01002F4CH   LINE      ---      ---       #782
-      01002F4CH   LINE      ---      ---       #783
-      01002F57H   LINE      ---      ---       #784
-      01002F59H   LINE      ---      ---       #785
-      01002F5FH   LINE      ---      ---       #786
-      01002F5FH   LINE      ---      ---       #788
-      01002F6AH   LINE      ---      ---       #789
-      01002F6AH   LINE      ---      ---       #790
-      01002F6AH   LINE      ---      ---       #791
-      01002F6AH   LINE      ---      ---       #795
-      01002F70H   LINE      ---      ---       #796
-      01002F70H   LINE      ---      ---       #797
-      01002F73H   LINE      ---      ---       #798
-      01002F76H   LINE      ---      ---       #799
-      01002F76H   LINE      ---      ---       #800
-      01002F7CH   LINE      ---      ---       #801
-      01002F7CH   LINE      ---      ---       #802
-      01002F81H   LINE      ---      ---       #803
-      01002F81H   LINE      ---      ---       #804
-      01002F81H   LINE      ---      ---       #805
-      01002F81H   LINE      ---      ---       #807
-      01002F87H   LINE      ---      ---       #808
-      01002F8AH   LINE      ---      ---       #809
-      01002F8DH   LINE      ---      ---       #810
-      01002F8DH   LINE      ---      ---       #812
-      01002F94H   LINE      ---      ---       #813
-      01002F94H   LINE      ---      ---       #814
-      01002F9AH   LINE      ---      ---       #815
-      01002F9AH   LINE      ---      ---       #816
-      01002F9AH   LINE      ---      ---       #817
-      01002F9AH   LINE      ---      ---       #818
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002FFFH   BLOCK     CODE     ---       LVL=0
-      01002FFFH   LINE      ---      ---       #832
-      01002FFFH   LINE      ---      ---       #833
-      01002FFFH   LINE      ---      ---       #834
+      01002EAFH   BLOCK     CODE     ---       LVL=0
+      01002EAFH   LINE      ---      ---       #717
+      01002EAFH   LINE      ---      ---       #718
+      01002EAFH   LINE      ---      ---       #720
+      01002EB5H   LINE      ---      ---       #721
+      01002EB5H   LINE      ---      ---       #722
+      01002EB7H   LINE      ---      ---       #723
+      01002EB7H   LINE      ---      ---       #725
+      01002EBDH   LINE      ---      ---       #726
+      01002EBFH   LINE      ---      ---       #728
+      01002EC5H   LINE      ---      ---       #729
+      01002EC5H   LINE      ---      ---       #730
+      01002EC7H   LINE      ---      ---       #731
+      01002ECAH   LINE      ---      ---       #732
+      01002ED0H   LINE      ---      ---       #733
+      01002ED0H   LINE      ---      ---       #735
+      01002ED6H   LINE      ---      ---       #736
+      01002ED6H   LINE      ---      ---       #737
+      01002EDCH   LINE      ---      ---       #738
+      01002EDCH   LINE      ---      ---       #739
+      01002EE2H   LINE      ---      ---       #741
+      01002EE2H   LINE      ---      ---       #743
+      01002EE8H   LINE      ---      ---       #744
+      01002EEBH   LINE      ---      ---       #745
+      01002EF1H   LINE      ---      ---       #746
+      01002EF1H   LINE      ---      ---       #747
+      01002EF3H   LINE      ---      ---       #748
+      01002EF3H   LINE      ---      ---       #749
+      01002EF5H   LINE      ---      ---       #750
+      01002F01H   LINE      ---      ---       #751
+      01002F01H   LINE      ---      ---       #752
+      01002F07H   LINE      ---      ---       #753
+      01002F07H   LINE      ---      ---       #754
+      01002F09H   LINE      ---      ---       #755
+      01002F10H   LINE      ---      ---       #756
+      01002F10H   LINE      ---      ---       #757
+      01002F14H   LINE      ---      ---       #758
+      01002F14H   LINE      ---      ---       #759
+      01002F1BH   LINE      ---      ---       #760
+      01002F1DH   LINE      ---      ---       #762
+      01002F1DH   LINE      ---      ---       #763
+      01002F24H   LINE      ---      ---       #764
+      01002F24H   LINE      ---      ---       #765
+      01002F26H   LINE      ---      ---       #767
+      01002F2DH   LINE      ---      ---       #768
+      01002F33H   LINE      ---      ---       #769
+      01002F36H   LINE      ---      ---       #770
+      01002F36H   LINE      ---      ---       #771
+      01002F36H   LINE      ---      ---       #774
+      01002F3CH   LINE      ---      ---       #775
+      01002F3CH   LINE      ---      ---       #776
+      01002F44H   LINE      ---      ---       #777
+      01002F44H   LINE      ---      ---       #778
+      01002F4AH   LINE      ---      ---       #779
+      01002F4EH   LINE      ---      ---       #781
+      01002F54H   LINE      ---      ---       #782
+      01002F54H   LINE      ---      ---       #783
+      01002F5FH   LINE      ---      ---       #784
+      01002F61H   LINE      ---      ---       #785
+      01002F67H   LINE      ---      ---       #786
+      01002F67H   LINE      ---      ---       #788
+      01002F72H   LINE      ---      ---       #789
+      01002F72H   LINE      ---      ---       #790
+      01002F72H   LINE      ---      ---       #791
+      01002F72H   LINE      ---      ---       #795
+      01002F78H   LINE      ---      ---       #796
+      01002F78H   LINE      ---      ---       #797
+      01002F7BH   LINE      ---      ---       #798
+      01002F7EH   LINE      ---      ---       #799
+      01002F7EH   LINE      ---      ---       #800
+      01002F84H   LINE      ---      ---       #801
+      01002F84H   LINE      ---      ---       #802
+      01002F89H   LINE      ---      ---       #803
+      01002F89H   LINE      ---      ---       #804
+      01002F89H   LINE      ---      ---       #805
+      01002F89H   LINE      ---      ---       #807
+      01002F8FH   LINE      ---      ---       #808
+      01002F92H   LINE      ---      ---       #809
+      01002F95H   LINE      ---      ---       #810
+      01002F95H   LINE      ---      ---       #812
+      01002F9CH   LINE      ---      ---       #813
+      01002F9CH   LINE      ---      ---       #814
+      01002FA2H   LINE      ---      ---       #815
+      01002FA2H   LINE      ---      ---       #816
+      01002FA2H   LINE      ---      ---       #817
+      01002FA2H   LINE      ---      ---       #818
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003007H   BLOCK     CODE     ---       LVL=0
+      01003007H   LINE      ---      ---       #832
+      01003007H   LINE      ---      ---       #833
+      01003007H   LINE      ---      ---       #834
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000F9CH   BLOCK     CODE     ---       LVL=0
@@ -2870,75 +2868,75 @@
       ---         MODULE    ---      ---       ADC
       01001F73H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
       01001F52H   PUBLIC    CODE     ---       YC_adc_motion_check_timer500ms
-      010030E5H   PUBLIC    CODE     ---       YC_adc_check
-      01003012H   PUBLIC    CODE     ---       YC_adc_init
+      010030EDH   PUBLIC    CODE     ---       YC_adc_check
+      0100301AH   PUBLIC    CODE     ---       YC_adc_init
 
-      01003012H   BLOCK     CODE     ---       LVL=0
-      01003012H   LINE      ---      ---       #3
-      01003012H   LINE      ---      ---       #4
-      01003012H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003012H   LINE      ---      ---       #8
-      01003018H   LINE      ---      ---       #9
-      0100301BH   LINE      ---      ---       #10
-      01003021H   LINE      ---      ---       #22
-      01003023H   LINE      ---      ---       #23
-      01003023H   LINE      ---      ---       #24
-      01003034H   LINE      ---      ---       #25
-      01003039H   LINE      ---      ---       #26
-      01003048H   LINE      ---      ---       #27
-      01003096H   LINE      ---      ---       #28
-      010030E4H   LINE      ---      ---       #41
+      0100301AH   BLOCK     CODE     ---       LVL=0
+      0100301AH   LINE      ---      ---       #3
+      0100301AH   LINE      ---      ---       #4
+      0100301AH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100301AH   LINE      ---      ---       #8
+      01003020H   LINE      ---      ---       #9
+      01003023H   LINE      ---      ---       #10
+      01003029H   LINE      ---      ---       #22
+      0100302BH   LINE      ---      ---       #23
+      0100302BH   LINE      ---      ---       #24
+      0100303CH   LINE      ---      ---       #25
+      01003041H   LINE      ---      ---       #26
+      01003050H   LINE      ---      ---       #27
+      0100309EH   LINE      ---      ---       #28
+      010030ECH   LINE      ---      ---       #41
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010030E5H   BLOCK     CODE     ---       LVL=0
-      010030E5H   LINE      ---      ---       #43
-      010030E5H   LINE      ---      ---       #44
-      010030E5H   BLOCK     CODE     NEAR LAB  LVL=1
-      010030E5H   LINE      ---      ---       #47
-      010030EFH   LINE      ---      ---       #49
-      010030FBH   LINE      ---      ---       #52
-      0100311BH   LINE      ---      ---       #53
-      01003124H   LINE      ---      ---       #54
-      01003126H   LINE      ---      ---       #55
-      0100312BH   LINE      ---      ---       #56
-      0100312BH   LINE      ---      ---       #57
-      01003162H   LINE      ---      ---       #58
-      0100316CH   LINE      ---      ---       #59
-      01003189H   LINE      ---      ---       #61
-      010031A8H   LINE      ---      ---       #62
-      010031AFH   LINE      ---      ---       #63
-      010031CEH   LINE      ---      ---       #64
-      010031D6H   LINE      ---      ---       #66
-      01003231H   LINE      ---      ---       #68
-      01003246H   LINE      ---      ---       #69
-      01003246H   LINE      ---      ---       #70
-      0100324CH   LINE      ---      ---       #71
-      0100324DH   LINE      ---      ---       #73
-      0100324DH   LINE      ---      ---       #74
-      0100326CH   LINE      ---      ---       #75
-      0100326CH   LINE      ---      ---       #76
-      01003272H   LINE      ---      ---       #77
-      01003278H   LINE      ---      ---       #78
-      01003278H   LINE      ---      ---       #79
-      0100327CH   LINE      ---      ---       #80
-      01003280H   LINE      ---      ---       #81
-      01003284H   LINE      ---      ---       #82
-      01003287H   LINE      ---      ---       #83
-      01003287H   LINE      ---      ---       #84
-      01003288H   LINE      ---      ---       #86
-      01003288H   LINE      ---      ---       #87
-      0100328DH   LINE      ---      ---       #88
-      01003293H   LINE      ---      ---       #89
-      01003293H   LINE      ---      ---       #90
-      01003297H   LINE      ---      ---       #91
-      0100329BH   LINE      ---      ---       #92
-      0100329FH   LINE      ---      ---       #93
-      010032A2H   LINE      ---      ---       #94
-      010032A2H   LINE      ---      ---       #95
-      010032A2H   LINE      ---      ---       #96
-      010032A2H   LINE      ---      ---       #98
+      010030EDH   BLOCK     CODE     ---       LVL=0
+      010030EDH   LINE      ---      ---       #43
+      010030EDH   LINE      ---      ---       #44
+      010030EDH   BLOCK     CODE     NEAR LAB  LVL=1
+      010030EDH   LINE      ---      ---       #47
+      010030F7H   LINE      ---      ---       #49
+      01003103H   LINE      ---      ---       #52
+      01003123H   LINE      ---      ---       #53
+      0100312CH   LINE      ---      ---       #54
+      0100312EH   LINE      ---      ---       #55
+      01003133H   LINE      ---      ---       #56
+      01003133H   LINE      ---      ---       #57
+      0100316AH   LINE      ---      ---       #58
+      01003174H   LINE      ---      ---       #59
+      01003191H   LINE      ---      ---       #61
+      010031B0H   LINE      ---      ---       #62
+      010031B7H   LINE      ---      ---       #63
+      010031D6H   LINE      ---      ---       #64
+      010031DEH   LINE      ---      ---       #66
+      01003239H   LINE      ---      ---       #68
+      0100324EH   LINE      ---      ---       #69
+      0100324EH   LINE      ---      ---       #70
+      01003254H   LINE      ---      ---       #71
+      01003255H   LINE      ---      ---       #73
+      01003255H   LINE      ---      ---       #74
+      01003274H   LINE      ---      ---       #75
+      01003274H   LINE      ---      ---       #76
+      0100327AH   LINE      ---      ---       #77
+      01003280H   LINE      ---      ---       #78
+      01003280H   LINE      ---      ---       #79
+      01003284H   LINE      ---      ---       #80
+      01003288H   LINE      ---      ---       #81
+      0100328CH   LINE      ---      ---       #82
+      0100328FH   LINE      ---      ---       #83
+      0100328FH   LINE      ---      ---       #84
+      01003290H   LINE      ---      ---       #86
+      01003290H   LINE      ---      ---       #87
+      01003295H   LINE      ---      ---       #88
+      0100329BH   LINE      ---      ---       #89
+      0100329BH   LINE      ---      ---       #90
+      0100329FH   LINE      ---      ---       #91
+      010032A3H   LINE      ---      ---       #92
+      010032A7H   LINE      ---      ---       #93
+      010032AAH   LINE      ---      ---       #94
+      010032AAH   LINE      ---      ---       #95
+      010032AAH   LINE      ---      ---       #96
+      010032AAH   LINE      ---      ---       #98
       02004ECAH   SYMBOL    XDATA    VOID      i
       02004ECBH   SYMBOL    XDATA    VOID      batValue
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -2977,12 +2975,12 @@
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      010032A3H   PUBLIC    CODE     ---       main
+      010032ABH   PUBLIC    CODE     ---       main
 
-      010032A3H   BLOCK     CODE     ---       LVL=0
-      010032A3H   LINE      ---      ---       #5
-      010032A3H   LINE      ---      ---       #6
-      010032A3H   LINE      ---      ---       #7
+      010032ABH   BLOCK     CODE     ---       LVL=0
+      010032ABH   LINE      ---      ---       #5
+      010032ABH   LINE      ---      ---       #6
+      010032ABH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
@@ -2996,39 +2994,39 @@
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      01003350H   PUBLIC    CODE     ---       IPC_DealSingleStep
-      010035B6H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      010035AAH   PUBLIC    CODE     ---       IPC_AbandonLpm
+      01003358H   PUBLIC    CODE     ---       IPC_DealSingleStep
+      010035BEH   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      010035B2H   PUBLIC    CODE     ---       IPC_AbandonLpm
       01000FEEH   PUBLIC    CODE     ---       IPC_WaitLpm
-      01003005H   PUBLIC    CODE     ---       _IPC_Initialize
-      010035A4H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
-      01003590H   PUBLIC    CODE     ---       _IPC_TxBleData
-      01003588H   PUBLIC    CODE     ---       _IPC_TxSppData
-      01003580H   PUBLIC    CODE     ---       _IPC_Tx24GData
-      01003598H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
-      01003559H   PUBLIC    CODE     ---       _IPC_TxData
+      0100300DH   PUBLIC    CODE     ---       _IPC_Initialize
+      010035ACH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01003598H   PUBLIC    CODE     ---       _IPC_TxBleData
+      01003590H   PUBLIC    CODE     ---       _IPC_TxSppData
+      01003588H   PUBLIC    CODE     ---       _IPC_Tx24GData
+      010035A0H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
+      01003561H   PUBLIC    CODE     ---       _IPC_TxData
       010013C3H   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      010032A6H   BLOCK     CODE     ---       LVL=0
-      010032A6H   LINE      ---      ---       #44
-      010032B6H   LINE      ---      ---       #45
-      010032B6H   LINE      ---      ---       #46
-      010032FFH   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003300H   BLOCK     CODE     ---       LVL=0
-      01003300H   LINE      ---      ---       #49
-      0100330AH   LINE      ---      ---       #50
-      0100330AH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100330AH   LINE      ---      ---       #51
-      01003312H   LINE      ---      ---       #52
-      01003318H   LINE      ---      ---       #53
-      01003337H   LINE      ---      ---       #54
-      01003341H   LINE      ---      ---       #55
-      01003345H   LINE      ---      ---       #56
-      01003345H   LINE      ---      ---       #57
-      01003347H   LINE      ---      ---       #58
-      0100334FH   LINE      ---      ---       #59
+      010032AEH   BLOCK     CODE     ---       LVL=0
+      010032AEH   LINE      ---      ---       #44
+      010032BEH   LINE      ---      ---       #45
+      010032BEH   LINE      ---      ---       #46
+      01003307H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003308H   BLOCK     CODE     ---       LVL=0
+      01003308H   LINE      ---      ---       #49
+      01003312H   LINE      ---      ---       #50
+      01003312H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003312H   LINE      ---      ---       #51
+      0100331AH   LINE      ---      ---       #52
+      01003320H   LINE      ---      ---       #53
+      0100333FH   LINE      ---      ---       #54
+      01003349H   LINE      ---      ---       #55
+      0100334DH   LINE      ---      ---       #56
+      0100334DH   LINE      ---      ---       #57
+      0100334FH   LINE      ---      ---       #58
+      01003357H   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3062,55 +3060,55 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003559H   BLOCK     CODE     ---       LVL=0
-      01003559H   LINE      ---      ---       #83
-      0100355EH   LINE      ---      ---       #84
-      0100355EH   LINE      ---      ---       #85
-      01003564H   LINE      ---      ---       #86
-      01003570H   LINE      ---      ---       #87
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003598H   BLOCK     CODE     ---       LVL=0
-      01003598H   LINE      ---      ---       #90
-      01003598H   LINE      ---      ---       #91
-      01003598H   LINE      ---      ---       #92
-      0100359EH   LINE      ---      ---       #93
-      010035A1H   LINE      ---      ---       #94
-      010035A3H   LINE      ---      ---       #95
+      01003561H   BLOCK     CODE     ---       LVL=0
+      01003561H   LINE      ---      ---       #83
+      01003566H   LINE      ---      ---       #84
+      01003566H   LINE      ---      ---       #85
+      0100356CH   LINE      ---      ---       #86
+      01003578H   LINE      ---      ---       #87
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003580H   BLOCK     CODE     ---       LVL=0
-      01003580H   LINE      ---      ---       #97
-      01003580H   LINE      ---      ---       #98
-      01003580H   LINE      ---      ---       #99
-      01003586H   LINE      ---      ---       #100
+      010035A0H   BLOCK     CODE     ---       LVL=0
+      010035A0H   LINE      ---      ---       #90
+      010035A0H   LINE      ---      ---       #91
+      010035A0H   LINE      ---      ---       #92
+      010035A6H   LINE      ---      ---       #93
+      010035A9H   LINE      ---      ---       #94
+      010035ABH   LINE      ---      ---       #95
       ---         BLOCKEND  ---      ---       LVL=0
 
       01003588H   BLOCK     CODE     ---       LVL=0
-      01003588H   LINE      ---      ---       #103
-      01003588H   LINE      ---      ---       #104
-      01003588H   LINE      ---      ---       #105
-      0100358EH   LINE      ---      ---       #106
+      01003588H   LINE      ---      ---       #97
+      01003588H   LINE      ---      ---       #98
+      01003588H   LINE      ---      ---       #99
+      0100358EH   LINE      ---      ---       #100
       ---         BLOCKEND  ---      ---       LVL=0
 
       01003590H   BLOCK     CODE     ---       LVL=0
-      01003590H   LINE      ---      ---       #109
-      01003590H   LINE      ---      ---       #110
-      01003590H   LINE      ---      ---       #111
-      01003596H   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010035A4H   BLOCK     CODE     ---       LVL=0
-      010035A4H   LINE      ---      ---       #115
-      010035A4H   LINE      ---      ---       #116
-      010035A4H   LINE      ---      ---       #117
-      010035A9H   LINE      ---      ---       #118
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003005H   BLOCK     CODE     ---       LVL=0
-      01003005H   LINE      ---      ---       #120
-      01003005H   LINE      ---      ---       #121
-      01003005H   LINE      ---      ---       #122
+      01003590H   LINE      ---      ---       #103
+      01003590H   LINE      ---      ---       #104
+      01003590H   LINE      ---      ---       #105
+      01003596H   LINE      ---      ---       #106
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003598H   BLOCK     CODE     ---       LVL=0
+      01003598H   LINE      ---      ---       #109
+      01003598H   LINE      ---      ---       #110
+      01003598H   LINE      ---      ---       #111
+      0100359EH   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010035ACH   BLOCK     CODE     ---       LVL=0
+      010035ACH   LINE      ---      ---       #115
+      010035ACH   LINE      ---      ---       #116
+      010035ACH   LINE      ---      ---       #117
+      010035B1H   LINE      ---      ---       #118
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100300DH   BLOCK     CODE     ---       LVL=0
+      0100300DH   LINE      ---      ---       #120
+      0100300DH   LINE      ---      ---       #121
+      0100300DH   LINE      ---      ---       #122
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FEEH   BLOCK     CODE     ---       LVL=0
@@ -3121,87 +3119,87 @@
       01000FF7H   LINE      ---      ---       #129
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010035AAH   BLOCK     CODE     ---       LVL=0
-      010035AAH   LINE      ---      ---       #132
-      010035AAH   LINE      ---      ---       #133
-      010035AAH   LINE      ---      ---       #134
-      010035B0H   LINE      ---      ---       #135
-      010035B5H   LINE      ---      ---       #136
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010035B6H   BLOCK     CODE     ---       LVL=0
-      010035B6H   LINE      ---      ---       #138
-      010035B6H   LINE      ---      ---       #139
-      010035B6H   LINE      ---      ---       #140
-      010035CAH   LINE      ---      ---       #141
-      010035CCH   LINE      ---      ---       #142
-      010035CDH   LINE      ---      ---       #143
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003350H   BLOCK     CODE     ---       LVL=0
-      01003350H   LINE      ---      ---       #146
-      01003350H   LINE      ---      ---       #147
-      01003350H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003350H   LINE      ---      ---       #148
-      01003362H   LINE      ---      ---       #149
-      01003378H   LINE      ---      ---       #150
-      01003378H   LINE      ---      ---       #151
-      01003380H   LINE      ---      ---       #152
-      01003391H   LINE      ---      ---       #153
-      0100339BH   LINE      ---      ---       #154
-      010033BAH   LINE      ---      ---       #155
-      010033BCH   LINE      ---      ---       #156
-      010033CEH   LINE      ---      ---       #157
-      010033D7H   LINE      ---      ---       #158
-      010033EDH   LINE      ---      ---       #159
-      01003425H   LINE      ---      ---       #160
-      01003427H   LINE      ---      ---       #161
-      01003439H   LINE      ---      ---       #162
-      01003442H   LINE      ---      ---       #163
-      01003458H   LINE      ---      ---       #164
-      01003490H   LINE      ---      ---       #165
-      01003492H   LINE      ---      ---       #166
-      010034A4H   LINE      ---      ---       #167
-      010034ADH   LINE      ---      ---       #168
-      010034C3H   LINE      ---      ---       #169
-      010034FBH   LINE      ---      ---       #170
-      010034FDH   LINE      ---      ---       #171
-      010034FDH   LINE      ---      ---       #172
-      010034FFH   LINE      ---      ---       #173
-      010034FFH   LINE      ---      ---       #174
-      010034FFH   LINE      ---      ---       #175
-      01003513H   LINE      ---      ---       #176
-      01003521H   LINE      ---      ---       #178
-      01003524H   LINE      ---      ---       #180
-      01003533H   LINE      ---      ---       #181
-      01003535H   LINE      ---      ---       #182
-      0100353FH   LINE      ---      ---       #183
-      0100354DH   LINE      ---      ---       #185
-      01003550H   LINE      ---      ---       #187
-      01003556H   LINE      ---      ---       #188
-      01003558H   LINE      ---      ---       #190
-      010034FFH   SYMBOL    ---      ---       IPC_TIMERingleStep
+      010035B2H   BLOCK     CODE     ---       LVL=0
+      010035B2H   LINE      ---      ---       #132
+      010035B2H   LINE      ---      ---       #133
+      010035B2H   LINE      ---      ---       #134
+      010035B8H   LINE      ---      ---       #135
+      010035BDH   LINE      ---      ---       #136
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010035BEH   BLOCK     CODE     ---       LVL=0
+      010035BEH   LINE      ---      ---       #138
+      010035BEH   LINE      ---      ---       #139
+      010035BEH   LINE      ---      ---       #140
+      010035D2H   LINE      ---      ---       #141
+      010035D4H   LINE      ---      ---       #142
+      010035D5H   LINE      ---      ---       #143
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003358H   BLOCK     CODE     ---       LVL=0
+      01003358H   LINE      ---      ---       #146
+      01003358H   LINE      ---      ---       #147
+      01003358H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003358H   LINE      ---      ---       #148
+      0100336AH   LINE      ---      ---       #149
+      01003380H   LINE      ---      ---       #150
+      01003380H   LINE      ---      ---       #151
+      01003388H   LINE      ---      ---       #152
+      01003399H   LINE      ---      ---       #153
+      010033A3H   LINE      ---      ---       #154
+      010033C2H   LINE      ---      ---       #155
+      010033C4H   LINE      ---      ---       #156
+      010033D6H   LINE      ---      ---       #157
+      010033DFH   LINE      ---      ---       #158
+      010033F5H   LINE      ---      ---       #159
+      0100342DH   LINE      ---      ---       #160
+      0100342FH   LINE      ---      ---       #161
+      01003441H   LINE      ---      ---       #162
+      0100344AH   LINE      ---      ---       #163
+      01003460H   LINE      ---      ---       #164
+      01003498H   LINE      ---      ---       #165
+      0100349AH   LINE      ---      ---       #166
+      010034ACH   LINE      ---      ---       #167
+      010034B5H   LINE      ---      ---       #168
+      010034CBH   LINE      ---      ---       #169
+      01003503H   LINE      ---      ---       #170
+      01003505H   LINE      ---      ---       #171
+      01003505H   LINE      ---      ---       #172
+      01003507H   LINE      ---      ---       #173
+      01003507H   LINE      ---      ---       #174
+      01003507H   LINE      ---      ---       #175
+      0100351BH   LINE      ---      ---       #176
+      01003529H   LINE      ---      ---       #178
+      0100352CH   LINE      ---      ---       #180
+      0100353BH   LINE      ---      ---       #181
+      0100353DH   LINE      ---      ---       #182
+      01003547H   LINE      ---      ---       #183
+      01003555H   LINE      ---      ---       #185
+      01003558H   LINE      ---      ---       #187
+      0100355EH   LINE      ---      ---       #188
+      01003560H   LINE      ---      ---       #190
+      01003507H   SYMBOL    ---      ---       IPC_TIMERingleStep
       02004EEFH   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       UTILITIES
       02004EABH   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      01002B25H   PUBLIC    CODE     ---       _compare_str
+      01002B2DH   PUBLIC    CODE     ---       _compare_str
       01000FF9H   PUBLIC    CODE     ---       _Delay1ms
-      01003619H   PUBLIC    CODE     ---       _xmemclear_ff
+      01003621H   PUBLIC    CODE     ---       _xmemclear_ff
       01000B9CH   PUBLIC    CODE     ---       _xmemclear
       02004E9CH   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      010035D5H   PUBLIC    CODE     ---       _dmemcpy
+      010035DDH   PUBLIC    CODE     ---       _dmemcpy
       02004EBFH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       0100087DH   PUBLIC    CODE     ---       _xmemcpy
-      010035CEH   PUBLIC    CODE     ---       YC_Ice_break
+      010035D6H   PUBLIC    CODE     ---       YC_Ice_break
 
-      010035CEH   BLOCK     CODE     ---       LVL=0
-      010035CEH   LINE      ---      ---       #3
-      010035CEH   LINE      ---      ---       #4
-      010035CEH   LINE      ---      ---       #5
-      010035D4H   LINE      ---      ---       #7
+      010035D6H   BLOCK     CODE     ---       LVL=0
+      010035D6H   LINE      ---      ---       #3
+      010035D6H   LINE      ---      ---       #4
+      010035D6H   LINE      ---      ---       #5
+      010035DCH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100087DH   BLOCK     CODE     ---       LVL=0
@@ -3212,12 +3210,12 @@
       010008BFH   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010035D5H   BLOCK     CODE     ---       LVL=0
-      010035D5H   LINE      ---      ---       #16
-      010035E0H   LINE      ---      ---       #17
-      010035E0H   LINE      ---      ---       #18
-      010035EEH   LINE      ---      ---       #19
-      01003618H   LINE      ---      ---       #21
+      010035DDH   BLOCK     CODE     ---       LVL=0
+      010035DDH   LINE      ---      ---       #16
+      010035E8H   LINE      ---      ---       #17
+      010035E8H   LINE      ---      ---       #18
+      010035F6H   LINE      ---      ---       #19
+      01003620H   LINE      ---      ---       #21
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000B9CH   BLOCK     CODE     ---       LVL=0
@@ -3228,12 +3226,12 @@
       01000BC7H   LINE      ---      ---       #28
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003619H   BLOCK     CODE     ---       LVL=0
-      01003619H   LINE      ---      ---       #30
-      01003624H   LINE      ---      ---       #31
-      01003624H   LINE      ---      ---       #32
-      0100362EH   LINE      ---      ---       #33
-      01003645H   LINE      ---      ---       #35
+      01003621H   BLOCK     CODE     ---       LVL=0
+      01003621H   LINE      ---      ---       #30
+      0100362CH   LINE      ---      ---       #31
+      0100362CH   LINE      ---      ---       #32
+      01003636H   LINE      ---      ---       #33
+      0100364DH   LINE      ---      ---       #35
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FF9H   BLOCK     CODE     ---       LVL=0
@@ -3248,16 +3246,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002B25H   BLOCK     CODE     ---       LVL=0
-      01002B25H   LINE      ---      ---       #54
-      01002B30H   LINE      ---      ---       #55
-      01002B30H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002B30H   LINE      ---      ---       #57
-      01002B3CH   LINE      ---      ---       #58
-      01002B66H   LINE      ---      ---       #59
-      01002B69H   LINE      ---      ---       #60
-      01002B6CH   LINE      ---      ---       #61
-      01002B6EH   LINE      ---      ---       #62
+      01002B2DH   BLOCK     CODE     ---       LVL=0
+      01002B2DH   LINE      ---      ---       #54
+      01002B38H   LINE      ---      ---       #55
+      01002B38H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002B38H   LINE      ---      ---       #57
+      01002B44H   LINE      ---      ---       #58
+      01002B6EH   LINE      ---      ---       #59
+      01002B71H   LINE      ---      ---       #60
+      01002B74H   LINE      ---      ---       #61
+      01002B76H   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3265,12 +3263,12 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      01002E49H   PUBLIC    CODE     ---       GPIO_fillpd
+      01002E51H   PUBLIC    CODE     ---       GPIO_fillpd
       010017D4H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
-      01002D65H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01003646H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      01002D6DH   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
+      0100364EH   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
-      01002D78H   PUBLIC    CODE     ---       _GPIO_SetWakeup
+      01002D80H   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
       0100180DH   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
@@ -3283,7 +3281,7 @@
       01001829H   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
       010010EBH   PUBLIC    CODE     ---       _GPIO_Setout
-      01002E04H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      01002E0CH   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
       0100187AH   BLOCK     CODE     ---       LVL=0
       0100187AH   LINE      ---      ---       #9
@@ -3303,25 +3301,25 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002E0AH   BLOCK     CODE     ---       LVL=0
-      01002E0AH   LINE      ---      ---       #26
-      01002E0CH   LINE      ---      ---       #27
-      01002E0CH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002E0CH   LINE      ---      ---       #28
-      01002E11H   LINE      ---      ---       #29
-      01002E12H   LINE      ---      ---       #31
-      01002E16H   LINE      ---      ---       #32
-      01002E1DH   LINE      ---      ---       #33
-      01002E48H   LINE      ---      ---       #35
+      01002E12H   BLOCK     CODE     ---       LVL=0
+      01002E12H   LINE      ---      ---       #26
+      01002E14H   LINE      ---      ---       #27
+      01002E14H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002E14H   LINE      ---      ---       #28
+      01002E19H   LINE      ---      ---       #29
+      01002E1AH   LINE      ---      ---       #31
+      01002E1EH   LINE      ---      ---       #32
+      01002E25H   LINE      ---      ---       #33
+      01002E50H   LINE      ---      ---       #35
       02004F0AH   SYMBOL    XDATA    VOID      queue
       00000006H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002E04H   BLOCK     CODE     ---       LVL=0
-      01002E04H   LINE      ---      ---       #37
-      01002E04H   LINE      ---      ---       #38
-      01002E04H   LINE      ---      ---       #39
+      01002E0CH   BLOCK     CODE     ---       LVL=0
+      01002E0CH   LINE      ---      ---       #37
+      01002E0CH   LINE      ---      ---       #38
+      01002E0CH   LINE      ---      ---       #39
       ---         BLOCKEND  ---      ---       LVL=0
 
       010010EBH   BLOCK     CODE     ---       LVL=0
@@ -3376,48 +3374,48 @@
       01001828H   LINE      ---      ---       #86
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002D78H   BLOCK     CODE     ---       LVL=0
-      01002D78H   LINE      ---      ---       #88
-      01002D78H   LINE      ---      ---       #89
-      01002D78H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002D78H   LINE      ---      ---       #92
-      01002D7EH   LINE      ---      ---       #94
-      01002D82H   LINE      ---      ---       #95
-      01002D89H   LINE      ---      ---       #96
-      01002D8CH   LINE      ---      ---       #97
-      01002DADH   LINE      ---      ---       #98
-      01002DCEH   LINE      ---      ---       #99
-      01002DCFH   LINE      ---      ---       #101
-      01002DCFH   LINE      ---      ---       #102
-      01002DF1H   LINE      ---      ---       #103
-      01002E03H   LINE      ---      ---       #104
-      01002E03H   LINE      ---      ---       #105
+      01002D80H   BLOCK     CODE     ---       LVL=0
+      01002D80H   LINE      ---      ---       #88
+      01002D80H   LINE      ---      ---       #89
+      01002D80H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002D80H   LINE      ---      ---       #92
+      01002D86H   LINE      ---      ---       #94
+      01002D8AH   LINE      ---      ---       #95
+      01002D91H   LINE      ---      ---       #96
+      01002D94H   LINE      ---      ---       #97
+      01002DB5H   LINE      ---      ---       #98
+      01002DD6H   LINE      ---      ---       #99
+      01002DD7H   LINE      ---      ---       #101
+      01002DD7H   LINE      ---      ---       #102
+      01002DF9H   LINE      ---      ---       #103
+      01002E0BH   LINE      ---      ---       #104
+      01002E0BH   LINE      ---      ---       #105
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003646H   BLOCK     CODE     ---       LVL=0
-      01003646H   LINE      ---      ---       #107
-      01003646H   LINE      ---      ---       #108
-      01003646H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003646H   LINE      ---      ---       #111
-      0100364AH   LINE      ---      ---       #113
-      0100364EH   LINE      ---      ---       #114
-      01003655H   LINE      ---      ---       #115
-      01003677H   LINE      ---      ---       #116
-      01003684H   LINE      ---      ---       #117
+      0100364EH   BLOCK     CODE     ---       LVL=0
+      0100364EH   LINE      ---      ---       #107
+      0100364EH   LINE      ---      ---       #108
+      0100364EH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100364EH   LINE      ---      ---       #111
+      01003652H   LINE      ---      ---       #113
+      01003656H   LINE      ---      ---       #114
+      0100365DH   LINE      ---      ---       #115
+      0100367FH   LINE      ---      ---       #116
+      0100368CH   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002D65H   BLOCK     CODE     ---       LVL=0
-      01002D65H   LINE      ---      ---       #119
-      01002D6AH   LINE      ---      ---       #120
-      01002D6AH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002D6AH   LINE      ---      ---       #121
-      01002D6EH   LINE      ---      ---       #122
+      01002D6DH   BLOCK     CODE     ---       LVL=0
+      01002D6DH   LINE      ---      ---       #119
+      01002D72H   LINE      ---      ---       #120
+      01002D72H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002D72H   LINE      ---      ---       #121
+      01002D76H   LINE      ---      ---       #122
       00000021H.0 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3432,13 +3430,13 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002E49H   BLOCK     CODE     ---       LVL=0
-      01002E49H   LINE      ---      ---       #131
-      01002E49H   LINE      ---      ---       #132
-      01002E49H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002E49H   LINE      ---      ---       #134
-      01002E4BH   LINE      ---      ---       #135
-      01002E7CH   LINE      ---      ---       #136
+      01002E51H   BLOCK     CODE     ---       LVL=0
+      01002E51H   LINE      ---      ---       #131
+      01002E51H   LINE      ---      ---       #132
+      01002E51H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002E51H   LINE      ---      ---       #134
+      01002E53H   LINE      ---      ---       #135
+      01002E84H   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3584,5 +3582,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       01000626H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=901 const=182 code=13775
+Program Size: data=10.2 xdata=901 const=182 code=13783
 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
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/eeprom.dat	(revision 4936)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/eeprom.dat	(working copy)
@@ -6596,7 +6596,7 @@
 29
 aa
 55
-87
+8f
 36
 02
 05
@@ -8115,7 +8115,7 @@
 26
 02
 32
-a3
+ab
 e4
 93
 a3
@@ -8255,13 +8255,13 @@
 ef
 ff
 2e
-a7
+af
 00
 00
 00
 ff
 2f
-ef
+f7
 00
 0a
 1c
@@ -9886,7 +9886,7 @@
 fd
 12
 35
-90
+98
 90
 4c
 c5
@@ -9993,7 +9993,7 @@
 fd
 12
 35
-80
+88
 22
 90
 4e
@@ -10493,12 +10493,12 @@
 f0
 12
 35
-b6
+be
 50
 25
 12
 28
-9f
+a7
 90
 4e
 e0
@@ -10595,19 +10595,19 @@
 61
 22
 12
-2f
-ff
+30
+07
 12
 33
-50
+58
 b1
 7f
 12
 1c
 6d
 12
-10
-fd
+11
+48
 90
 4d
 7d
@@ -10629,7 +10629,7 @@
 e2
 12
 2c
-cd
+d5
 12
 17
 f6
@@ -10663,12 +10663,12 @@
 05
 12
 35
-aa
+b2
 80
 bb
 12
 2c
-cd
+d5
 f1
 ee
 80
@@ -10948,6 +10948,81 @@
 7a
 22
 90
+4c
+c3
+e0
+b4
+01
+12
+d2
+01
+7f
+1f
+11
+eb
+c2
+01
+7f
+1e
+11
+eb
+c2
+01
+7f
+14
+80
+d5
+90
+4c
+c3
+e0
+b4
+02
+12
+c2
+01
+7f
+1f
+11
+eb
+d2
+01
+7f
+1e
+11
+eb
+c2
+01
+7f
+14
+80
+bc
+90
+4c
+c3
+e0
+70
+12
+c2
+01
+7f
+1f
+11
+eb
+c2
+01
+7f
+1e
+11
+eb
+d2
+01
+7f
+14
+11
+eb
+22
+90
 4d
 eb
 e0
@@ -10956,7 +11031,7 @@
 60
 02
 21
-a4
+ef
 90
 4c
 e9
@@ -10964,7 +11039,7 @@
 60
 02
 21
-9e
+e9
 90
 4c
 ee
@@ -10972,7 +11047,7 @@
 60
 02
 21
-9e
+e9
 90
 4c
 d5
@@ -11116,81 +11191,6 @@
 eb
 22
 90
-4c
-c3
-e0
-b4
-01
-12
-d2
-01
-7f
-1f
-11
-eb
-c2
-01
-7f
-1e
-11
-eb
-c2
-01
-7f
-14
-01
-eb
-90
-4c
-c3
-e0
-b4
-02
-12
-c2
-01
-7f
-1f
-11
-eb
-d2
-01
-7f
-1e
-11
-eb
-c2
-01
-7f
-14
-01
-eb
-90
-4c
-c3
-e0
-70
-12
-c2
-01
-7f
-1f
-11
-eb
-c2
-01
-7f
-1e
-11
-eb
-d2
-01
-7f
-14
-11
-eb
-22
-90
 4f
 04
 ef
@@ -11408,7 +11408,7 @@
 00
 12
 36
-19
+21
 90
 4c
 c0
@@ -11746,7 +11746,7 @@
 64
 12
 32
-a6
+ae
 90
 4e
 bc
@@ -11904,7 +11904,7 @@
 f0
 12
 2f
-ae
+b6
 7b
 01
 7a
@@ -11941,8 +11941,8 @@
 4c
 c3
 f0
-31
-a5
+11
+fd
 7f
 0a
 12
@@ -12076,7 +12076,7 @@
 b8
 12
 2f
-9b
+a3
 12
 18
 f8
@@ -12125,7 +12125,7 @@
 00
 12
 36
-19
+21
 7f
 c8
 12
@@ -12272,7 +12272,7 @@
 6d
 02
 2f
-e4
+ec
 90
 4c
 e5
@@ -12443,7 +12443,7 @@
 03
 12
 2e
-7d
+85
 e4
 90
 4c
@@ -12711,7 +12711,7 @@
 74
 12
 2e
-0a
+12
 92
 09
 90
@@ -12728,7 +12728,7 @@
 eb
 12
 2f
-9b
+a3
 12
 18
 f8
@@ -13606,7 +13606,7 @@
 86
 12
 35
-d5
+dd
 90
 0b
 83
@@ -14665,7 +14665,7 @@
 f0
 12
 30
-e5
+ed
 22
 90
 4d
@@ -15651,7 +15651,7 @@
 70
 02
 81
-81
+8d
 90
 4e
 e3
@@ -15810,11 +15810,10 @@
 12
 03
 cf
-fe
 64
 ef
 70
-2d
+2e
 90
 4c
 ea
@@ -15837,11 +15836,14 @@
 e0
 ff
 60
-13
+14
 64
 fe
 60
-0f
+10
+12
+10
+fd
 90
 4c
 cd
@@ -15853,24 +15855,34 @@
 4c
 c3
 f0
+91
 90
-4c
-e5
-f0
 7f
 01
 22
-ee
-64
-e9
-60
-0a
+90
+4e
+e3
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
 90
 00
 01
 12
 03
 cf
+ff
+64
+e9
+60
+05
+ef
 64
 ea
 70
@@ -15920,8 +15932,8 @@
 ef
 f0
 12
-11
-a5
+10
+fd
 90
 4c
 cc
@@ -15929,7 +15941,7 @@
 01
 f0
 91
-84
+90
 7f
 01
 22
@@ -16054,7 +16066,154 @@
 7d
 08
 91
-98
+a4
+e4
+90
+4e
+e8
+f0
+90
+4e
+e7
+e0
+24
+85
+60
+61
+24
+fe
+60
+31
+04
+60
+02
+a1
+95
+90
+4c
+c1
+e0
+ff
+64
+03
+60
+04
+ef
+b4
+02
+0d
+90
+4e
+e6
+e0
+ff
+7b
+06
+7d
+08
+91
+a4
+80
+0b
+90
+4e
+e6
+e0
+ff
+7b
+06
+7d
+01
+91
+a4
+e4
+90
+4e
+e8
+f0
+80
+56
+90
+4c
+c1
+e0
+ff
+64
+03
+60
+04
+ef
+b4
+02
+0d
+90
+4e
+e6
+e0
+ff
+7b
+19
+7d
+08
+91
+a4
+80
+0b
+90
+4e
+e6
+e0
+ff
+7b
+19
+7d
+01
+91
+a4
+e4
+90
+4e
+e8
+f0
+80
+2a
+90
+4c
+c1
+e0
+ff
+64
+03
+60
+04
+ef
+b4
+02
+0d
+90
+4e
+e6
+e0
+ff
+7b
+1b
+7d
+08
+91
+a4
+80
+0b
+90
+4e
+e6
+e0
+ff
+7b
+1b
+7d
+01
+91
+a4
 e4
 90
 4e
@@ -16068,8 +16227,8 @@
 01
 60
 02
-a1
-bc
+c1
+5b
 90
 4e
 e7
@@ -16265,7 +16424,7 @@
 60
 02
 e1
-8b
+93
 90
 4d
 e2
@@ -16287,7 +16446,7 @@
 60
 02
 e1
-8b
+93
 90
 4d
 e7
@@ -16297,63 +16456,70 @@
 60
 02
 e1
-8b
+93
 90
 4e
 e7
 e0
-12
-05
-b3
-26
-1c
-3a
-26
 24
-3b
-26
-2c
-3c
-26
-34
-3d
-26
-92
-3e
-26
-d1
-3f
-26
-d9
+c6
+b4
+0c
+00
 40
-26
+02
 e1
-41
+93
+90
 26
-e9
-42
+9e
+75
+f0
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
 26
-f1
-43
+c2
+02
 26
-f9
-44
+ca
+02
+26
+d2
+02
+26
+da
+02
 27
-01
-45
+38
+02
 27
-61
-7b
+5d
+02
 27
-09
-7c
+65
+02
+27
+6d
+02
+27
+75
+02
 27
-35
 7d
-00
-00
+02
 27
-8b
+85
+02
+27
+8d
 90
 4e
 e8
@@ -16361,7 +16527,7 @@
 d7
 f0
 e1
-8b
+93
 90
 4e
 e8
@@ -16369,7 +16535,7 @@
 d8
 f0
 e1
-8b
+93
 90
 4e
 e8
@@ -16377,7 +16543,7 @@
 d6
 f0
 e1
-8b
+93
 90
 4c
 c1
@@ -16395,7 +16561,7 @@
 7d
 04
 91
-98
+a4
 90
 4e
 e6
@@ -16412,285 +16578,71 @@
 80
 36
 ee
-b4
-01
-1a
-90
-4e
-e6
-e0
-ff
-7b
-2b
-7d
-04
-91
-98
-90
-4e
-e6
-e0
-30
-e0
-20
-90
-4c
-f8
-74
-0a
-f0
-80
-18
-90
-4e
-e6
-e0
-ff
-7b
-2b
-7d
-08
-91
-98
-90
-4e
-e6
-e0
-30
-e0
-06
-90
-4c
-f8
-74
-0a
-f0
-e4
-90
-4e
-e8
-f0
-e1
-8b
-90
-4c
-c1
-e0
-70
-1a
-90
-4e
-e6
-e0
-ff
-7b
-1d
-7d
-01
-91
-98
-90
-4e
-e6
-e0
-30
-e0
-20
-90
-4c
-f8
-74
-0a
-f0
-80
-18
-90
-4e
-e6
-e0
-ff
-7b
-1d
-7d
-08
-91
-98
-90
-4e
-e6
-e0
-30
-e0
-06
-90
-4c
-f8
-74
-0a
-f0
-e4
-90
-4e
-e8
-f0
-e1
-8b
-90
-4e
-e8
-74
-d5
-f0
-e1
-8b
-90
-4e
-e8
-74
-f4
-f0
-e1
-8b
-90
-4e
-e8
-74
-f2
-f0
-e1
-8b
-90
-4e
-e8
-74
-f5
-f0
-e1
-8b
-90
-4e
-e8
-74
-f8
-f0
-e1
-8b
-90
-4e
-e8
-74
-f6
-f0
-e1
-8b
-90
-4e
-e8
-74
-f7
-f0
-e1
-8b
-90
-4c
-c1
-e0
-ff
-64
-03
-60
-04
-ef
-b4
-02
-0d
+b4
+01
+1a
 90
 4e
 e6
 e0
 ff
 7b
-06
+2b
 7d
-08
+04
 91
-98
-80
-0b
+a4
 90
 4e
 e6
 e0
-ff
-7b
-06
-7d
-01
-91
-98
-e4
+30
+e0
+20
 90
-4e
-e8
+4c
+f8
+74
+0a
 f0
 80
-56
-90
-4c
-c1
-e0
-ff
-64
-03
-60
-04
-ef
-b4
-02
-0d
+18
 90
 4e
 e6
 e0
 ff
 7b
-19
+2b
 7d
 08
 91
-98
-80
-0b
+a4
 90
 4e
 e6
 e0
-ff
-7b
-19
-7d
-01
-91
-98
+30
+e0
+06
+90
+4c
+f8
+74
+0a
+f0
 e4
 90
 4e
 e8
 f0
 80
-2a
+5b
 90
 4c
 c1
 e0
-ff
-64
-03
-60
-04
-ef
-b4
-02
+70
 0d
 90
 4e
@@ -16698,11 +16650,11 @@
 e0
 ff
 7b
-1b
+1d
 7d
-08
+01
 91
-98
+a4
 80
 0b
 90
@@ -16711,16 +16663,72 @@
 e0
 ff
 7b
-1b
+1d
 7d
-01
+08
 91
-98
+a4
 e4
 90
 4e
 e8
 f0
+80
+36
+90
+4e
+e8
+74
+d5
+f0
+80
+2e
+90
+4e
+e8
+74
+f4
+f0
+80
+26
+90
+4e
+e8
+74
+f2
+f0
+80
+1e
+90
+4e
+e8
+74
+f5
+f0
+80
+16
+90
+4e
+e8
+74
+f8
+f0
+80
+0e
+90
+4e
+e8
+74
+f6
+f0
+80
+06
+90
+4e
+e8
+74
+f7
+f0
 90
 4e
 e8
@@ -17023,7 +17031,7 @@
 a3
 f0
 71
-6f
+77
 7a
 4d
 79
@@ -17053,7 +17061,7 @@
 79
 bc
 71
-25
+2d
 ef
 60
 1c
@@ -17066,7 +17074,7 @@
 7d
 14
 51
-f5
+fd
 ef
 70
 0f
@@ -17114,7 +17122,7 @@
 70
 02
 21
-d7
+df
 74
 bc
 2f
@@ -17134,7 +17142,7 @@
 ff
 12
 27
-91
+99
 90
 4e
 92
@@ -17146,7 +17154,7 @@
 50
 02
 21
-bf
+c7
 e4
 90
 4e
@@ -17284,7 +17292,7 @@
 04
 f0
 21
-3a
+42
 90
 4e
 8b
@@ -17294,7 +17302,7 @@
 09
 12
 27
-91
+99
 90
 4e
 8f
@@ -17308,7 +17316,7 @@
 04
 f0
 21
-08
+10
 90
 4e
 8f
@@ -17334,7 +17342,7 @@
 70
 02
 41
-c9
+d1
 74
 93
 2f
@@ -17389,9 +17397,9 @@
 70
 04
 41
-c1
+c9
 41
-c1
+c9
 90
 4e
 91
@@ -17482,7 +17490,7 @@
 fd
 12
 24
-bd
+c9
 90
 4e
 90
@@ -17502,7 +17510,7 @@
 ff
 12
 27
-9f
+a7
 80
 08
 90
@@ -17512,7 +17520,7 @@
 ff
 12
 27
-f5
+fd
 90
 4e
 8b
@@ -17550,7 +17558,7 @@
 04
 f0
 21
-e4
+ec
 90
 4e
 4b
@@ -17859,7 +17867,7 @@
 f0
 0f
 61
-7b
+83
 e4
 ff
 ef
@@ -17992,7 +18000,7 @@
 f0
 0f
 81
-00
+08
 e4
 ff
 ef
@@ -18156,7 +18164,7 @@
 80
 b0
 d1
-49
+51
 90
 81
 1c
@@ -18174,31 +18182,31 @@
 e4
 ff
 b1
-65
+6d
 7f
 01
 b1
-65
+6d
 7f
 02
 b1
-65
+6d
 7f
 03
 b1
-65
+6d
 7f
 04
 b1
-65
+6d
 7f
 05
 b1
-65
+6d
 7f
 06
 b1
-65
+6d
 7f
 07
 80
@@ -18225,7 +18233,7 @@
 ef
 f0
 d1
-04
+0c
 92
 08
 90
@@ -18243,7 +18251,7 @@
 70
 02
 c1
-03
+0b
 ef
 54
 07
@@ -18599,8 +18607,8 @@
 14
 f0
 12
-11
-a5
+10
+fd
 90
 4c
 e5
@@ -18608,7 +18616,7 @@
 70
 45
 d1
-7d
+85
 80
 41
 90
@@ -18809,7 +18817,7 @@
 c8
 12
 30
-12
+1a
 90
 4c
 eb
@@ -19136,7 +19144,7 @@
 70
 02
 41
-a2
+aa
 90
 4c
 95
@@ -19316,7 +19324,7 @@
 f9
 f0
 41
-31
+39
 90
 4c
 fa
@@ -19772,8 +19780,8 @@
 6f
 70
 02
-81
-ff
+a1
+07
 7e
 0c
 7f
@@ -19781,7 +19789,7 @@
 7d
 03
 71
-00
+08
 90
 4e
 ef
@@ -19840,8 +19848,8 @@
 12
 05
 dd
-81
-ff
+a1
+07
 90
 4e
 ef
@@ -19890,7 +19898,7 @@
 14
 fd
 71
-00
+08
 90
 4e
 ef
@@ -19947,8 +19955,8 @@
 12
 05
 dd
-81
-ff
+a1
+07
 90
 4e
 ef
@@ -19997,7 +20005,7 @@
 14
 fd
 71
-00
+08
 90
 4e
 ef
@@ -20104,7 +20112,7 @@
 14
 fd
 71
-00
+08
 90
 4e
 ef
@@ -20328,7 +20336,7 @@
 60
 02
 b1
-59
+61
 22
 90
 04
@@ -20555,8 +20563,8 @@
 5c
 f0
 22
-b2
-5b
+f1
+25
 aa
 55
 40
@@ -20825,7 +20833,7 @@
 01
 aa
 55
-ee
+eb
 01
 04
 45
@@ -20872,12 +20880,9 @@
 00
 00
 2a
-0e
+0b
 42
 54
-34
-2e
-32
 20
 4b
 65
@@ -21924,13 +21929,8 @@
 6c
 59
 50
-cd
-b0
-ff
-ff
-ff
-ff
-ff
+64
+8d
 ff
 ff
 ff
@@ -32764,5 +32764,5 @@
 ff
 ff
 ff
+e0
 b5
-f8
Index: c51/output/fw.hex
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/fw.hex	(revision 4936)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/fw.hex	(working copy)
@@ -92,7 +92,7 @@
 :1005B00082C822D083D082F8E493701274019370C1
 :1005C0000DA3A393F8740193F5828883E4737402F6
 :1005D000936860EFA3A3A380DF8A838982E47378A2
-:1005E0007FE4F6D8FD7581CF0206260232A3E4939C
+:1005E0007FE4F6D8FD7581CF0206260232ABE49394
 :1005F000A3F8E493A34003F68001F208DFF4802916
 :10060000E493A3F85407240CC8C333C4540F442004
 :10061000C8834004F456800146F6DFE4800B0102F3
@@ -101,7 +101,7 @@
 :1006400054C025E060A840B8E493A3FAE493A3F86B
 :10065000E493A3C8C582C8CAC583CAF0A3C8C5822B
 :10066000C8CAC583CADFE9DEE780BE524E56FF1412
-:1006700080000000FF1EEFFF2EA7000000FF2FEFFD
+:1006700080000000FF1EEFFF2EAF000000FF2FF7ED
 :10068000000A1C15161718191A0C090B0F10111B4C
 :100690000E080D0000003EE000E4DE0066471E3557
 :1006A0008B1D29042B141F3A8A1B6416391A203B10
@@ -203,14 +203,14 @@
 :100CA00021EF7002A144904CEBE06002A144904C13
 :100CB000C7E0FF6404600AEFB4031E904DD3E06008
 :100CC00018904E7EE0B406037403F07B017A4E79EF
-:100CD0007E904E7DE0FD123590904CC5E06403702F
+:100CD0007E904E7DE0FD123598904CC5E064037027
 :100CE00063904E7EE0640170237404F0A3E07014FE
 :100CF000904E81E0700EA3E0700AA3E07006904D64
 :100D0000DDF08032904DDD7401F0802A904E7EE05F
 :100D1000B402197405F0A3E0700AA3E07006904DC8
 :100D2000DDF08012904DDD7401F0800A904E7EE07F
 :100D3000B403037407F07B017A4E797E904E7DE018
-:100D4000FD12358022904EFBEFF0A3EDF07B017A8F
+:100D4000FD12358822904EFBEFF0A3EDF07B017A87
 :100D50004879007D097C00719C9048007401F0A3E3
 :100D6000E0FF904EFBE0FEEF4E904801F0904EFC0D
 :100D7000E0904803F07B017A4879007D0981619019
@@ -241,18 +241,18 @@
 :100F0000904BEF74FFF0904CFC7401F0E4904CE6D1
 :100F1000F0A3F0A3F0904CB774F0F0904DE0F09097
 :100F20004D4074FFF0A3F0A3F0A3F022904EE0E454
-:100F3000F0A3F0A3F01235B6502512289F904EE092
+:100F3000F0A3F0A3F01235BE50251228A7904EE082
 :100F4000EBF0A3EAF0A3E9F04A7007904CB604F086
 :100F5000800E904EE0E0FBA3E0FAA3E0F911C0227E
 :100F6000904D46E06035904DDDE0702F904CC5E02F
 :100F7000B403287B017A4879007D097C00719CE4E8
 :100F8000904E4BF090480004F0904D46E09048029F
-:100F9000F07B017A4879007D09916122122FFF12BE
-:100FA0003350B17F121C6D1210FD904D7DE0600238
-:100FB000D1FD900B7EE014600E24FE70E2122CCD69
+:100F9000F07B017A4879007D0991612212300712B5
+:100FA0003358B17F121C6D121148904D7DE06002E4
+:100FB000D1FD900B7EE014600E24FE70E2122CD561
 :100FC0001217F6F1EE80FE904CEAE07012904CECB5
 :100FD000E0700C904CE5E07006904CF8E060051273
-:100FE00035AA80BB122CCDF1EE80B480B222E49001
+:100FE00035B280BB122CD5F1EE80B480B222E490F1
 :100FF0000B7FF0900B7EF07F01EFD394004011E463
 :10100000FDFC0DBD00010CBC04F8BDA6F51F80E978
 :1010100022904CC7E064046007904CC5E0B4030321
@@ -269,22 +269,22 @@
 :1010C0007F1D11EB904CE8E0602014F0904CE5E0BF
 :1010D0007018904CE2E07012D2017F1411EB904C2A
 :1010E000E8E07006C2017F1411EB22EFF4600D7B83
-:1010F000017A807974A201920012187A22904DEB45
-:10110000E06402600221A4904CE9E06002219E901C
-:101110004CEEE06002219E904CD5E0B40204F185D3
-:10112000802E904CD5E0B40114904CF7E0702190E3
-:101130004CE2740AF0904CF77401F08013904CF775
-:10114000E0B4010CE4F0904CE2F0C2017F1411EB2A
-:101150001111EF604F904CE5E07049C3904CE4E012
-:10116000940A904CE3E094005028904CB7E030E0B3
-:1011700008D2017FFF11EB8006C2017FFF11EB90C7
-:101180004CB7E030E106D2017F1D01EBC2017F1DAB
-:1011900001EBC2017FFF11EBC2017F1D01EBC20118
-:1011A0007F1D11EB22904CC3E0B40112D2017F1FCE
-:1011B00011EBC2017F1E11EBC2017F1401EB904CB9
-:1011C000C3E0B40212C2017F1F11EBD2017F1E11D6
-:1011D000EBC2017F1401EB904CC3E07012C2017F9F
-:1011E0001F11EBC2017F1E11EBD2017F1411EB2204
+:1010F000017A807974A201920012187A22904CC36E
+:10110000E0B40112D2017F1F11EBC2017F1E11EB6F
+:10111000C2017F1480D5904CC3E0B40212C2017F9B
+:101120001F11EBD2017F1E11EBC2017F1480BC9016
+:101130004CC3E07012C2017F1F11EBC2017F1E1170
+:10114000EBD2017F1411EB22904DEBE064026002C0
+:1011500021EF904CE9E0600221E9904CEEE0600262
+:1011600021E9904CD5E0B40204F185802E904CD555
+:10117000E0B40114904CF7E07021904CE2740AF056
+:10118000904CF77401F08013904CF7E0B4010CE43C
+:10119000F0904CE2F0C2017F1411EB1111EF604F9F
+:1011A000904CE5E07049C3904CE4E0940A904CE325
+:1011B000E094005028904CB7E030E008D2017FFF67
+:1011C00011EB8006C2017FFF11EB904CB7E030E1DC
+:1011D00006D2017F1D01EBC2017F1D01EBC2017F21
+:1011E000FF11EBC2017F1D01EBC2017F1D11EB223C
 :1011F000904F04EFF014B40D00400261BD90120B4B
 :1012000075F003A4C58325F0C58373021232021260
 :10121000320212320213BD0212760212B60212BE5E
@@ -298,7 +298,7 @@
 :101290004CEDF0904DEC7403F022F1B9E4904DD494
 :1012A000F0904DD3F0904E55F0121FC47F0D71C3D6
 :1012B000E4904CEDF022F18EE4904CEDF0227B01B5
-:1012C0007A4D79EE7D5D7C00123619904CC074FF2A
+:1012C0007A4D79EE7D5D7C00123621904CC074FF22
 :1012D000F0A3F07FC8120FF9C2017FFF11EB7B0171
 :1012E0007A4D79EE7D5D7C007F607E7F121BBF7B37
 :1012F000017A4C79C07D017C007FBD7E7F121BBFCF
@@ -319,7 +319,7 @@
 :1013E0004EDFF07B017A4E79DD7D03904EB9EBF054
 :1013F000A3EAF0A3E9F0A3EDF0904B9CE0FFA3E09B
 :10140000904EBDCFF0A3EFF0904B9AE0FEA3E0FF2B
-:10141000904B9CE0FCA3E0FD7B641232A6904EBC96
+:10141000904B9CE0FCA3E0FD7B641232AE904EBC8E
 :10142000E0FEEFC39E40E1904EBCE0FF14F0EF60A1
 :101430003F904EB9E0FBA3E475F001120424A9F03B
 :10144000FA1203B6FF904EBDE475F0011204248534
@@ -329,10 +329,10 @@
 :10148000904F08EFF01205B3167014174015157041
 :101490002717072914B62F15643015C231163432B8
 :1014A00014B63316E23417213515BA3715703915CD
-:1014B000C23C00001784F1F0122FAE7B017A4C7908
+:1014B000C23C00001784F1F0122FB67B017A4C7900
 :1014C000C07D017C007FBD7E7F121A6C904CC0E015
-:1014D000D394034002E4F0904CC0E0904CC3F03150
-:1014E000A57F0A120FF97B017A4C79F27D027C000C
+:1014D000D394034002E4F0904CC0E0904CC3F01170
+:1014E000FD7F0A120FF97B017A4C79F27D027C00B4
 :1014F0007FBE7E7F121A6C904CF2E0B4FF19A3E01D
 :10150000B4FF14904C93E0A3E0904CF2F0904C9117
 :10151000E0A3E0904CF3F07B017A4C79C17D017C33
@@ -340,10 +340,10 @@
 :10153000E0D394034012E4F07B017A4C79C17D0141
 :10154000FC7FC07E7F121BBF904DEB7402F0904C6D
 :10155000C0E0D394034002E4F0904CC0E0904CC350
-:10156000F00219B8122F9B1218F8E4904CFCF022EC
+:10156000F00219B8122FA31218F8E4904CFCF022E4
 :10157000904CC3E0D394005002E184E09404400214
 :10158000E184E075F01FA424CFF9744D35F0FA7BA7
-:10159000017D1F7C001236197FC8120FF9C2017F2E
+:10159000017D1F7C001236217FC8120FF9C2017F26
 :1015A000FF11EB7B017A4D79EE7D5D7C007F607EE3
 :1015B0007F121BBFD2017FFF01EB904DD6E0FF02EF
 :1015C0000737904CC57403F0E4A3F0F1B9E4904CF4
@@ -352,7 +352,7 @@
 :1015F00064317037904DE7F0904E55F0904CC1F04B
 :10160000904CE5740AF0904BEBE0B40F12A3E0B4F9
 :101610000F0DA3E0B40F08A3E0640F7002E1849003
-:101620004CBF7402F0121C6D022FE4904CE5E06098
+:101620004CBF7402F0121C6D022FEC904CE5E06090
 :1016300002E18422E4904CC5F0A3F0904CE3F0A3C7
 :10164000F0904CEB04F0904CEDE06009F1B9904C57
 :10165000EDE0FF21F0904CECE0B40104E4F0E18512
@@ -363,7 +363,7 @@
 :1016A000F582E4344DF583E4F0904DE7E0FF904C93
 :1016B000C3E075F01FA424EDF582E4344DF583EF0B
 :1016C000F0904DE5E07006904DD47414F0904CE528
-:1016D000E07003122E7DE4904CE9F0904CE3F0A30F
+:1016D000E07003122E85E4904CE9F0904CE3F0A307
 :1016E000F022904CC77404F0E4A3F0F1B9E4904CFC
 :1016F000EBF0904DDB740AF0904CC3E0904CC0F0DE
 :10170000904CBF7403F022904CC3E014FD7F011293
@@ -380,8 +380,8 @@
 :1017B0002271C37F01227F0022E4904CF0F0904D13
 :1017C000E5F022904CC7E0B402077F0E71C37F01A1
 :1017D000227F0022904F0CEFF07B017A8079741207
-:1017E0002E0A9209904F0CE0FFA209B3920101EB7F
-:1017F000122F9B1218F8C2067F1D12180DC2067F09
+:1017E0002E129209904F0CE0FFA209B3920101EB77
+:1017F000122FA31218F8C2067F1D12180DC2067F01
 :101800001F110DC2067F1E110DC2067F14AC07EC1E
 :10181000F46015AF04D204113AAF04A2069201128B
 :1018200010EBAF04C202112922EFF4600C7B017AA5
@@ -436,7 +436,7 @@
 :101B3000F0A3EAF0A3E9F0904EB4ECF0A3EDF0A32B
 :101B4000E0F9A3E0FAA3E0904E9FC9F0A3EAF0A366
 :101B5000E9F0A3ECF0A3EDF07B017A0B7986123566
-:101B6000D5900B8374A0F0904EB2E0FFA3E0900BF1
+:101B6000DD900B8374A0F0904EB2E0FFA3E0900BE9
 :101B700084CFF0A3EFF0904EB5E02403FD904EB477
 :101B8000E03400FCEDFAECFFEAFEEF908098EEF016
 :101B9000A3EFF07A0B79837E0B7F837483FC740B45
@@ -502,7 +502,7 @@
 :101F50008522E4FF24BCF582E4344DF583E0701261
 :101F6000904D06E0600C14F0E07005904CD5F02226
 :101F7000F17322904CD3E0600B14F0E0700674050E
-:101F8000F01230E522904DECE06038E014F0E070A3
+:101F8000F01230ED22904DECE06038E014F0E0709B
 :101F900032904CEDE0B4052B9047F5E020E324E4CB
 :101FA000904DD4F0904CE974F0F0E4904CEEF09049
 :101FB0004E55F0904DD3F0F1C47F0D1213C3E49051
@@ -563,7 +563,7 @@
 :1023200022904E4BE0640260127404F0904DE97408
 :1023300001F0904E4C7406F0A3EFF022904EE3EBC8
 :10234000F0A3EAF0A3E9F0E4FDFC904DE2E06401C3
-:10235000600261EB7C05AF041CEF70028181904E3E
+:10235000600261EB7C05AF041CEF7002818D904E32
 :10236000E3E0FBA3E0FAA3E02401F9E43AFAEC7E0F
 :102370000029F9EE3AFA1203B6FD64137035904C59
 :10238000EA740AF0904CCEE04408F054EFF0ED24EB
@@ -573,302 +573,302 @@
 :1023C000641A6009ED64126004EDB40815904CEADB
 :1023D000740AF0904DE8EDF0904CCEE04420F07F90
 :1023E0000122904CCEE054DFF06156904EE3E0FBCA
-:1023F000A3E0FAA3E0F99000011203CFFE64EF70AE
-:102400002D904CEA740AF0904CCEE054F7F0441052
-:10241000F0904CC3E0FF601364FE600F904CCD74ED
-:1024200001F0E4904CC3F0904CE5F07F0122EE64A3
-:10243000E9600A9000011203CF64EA703A904CEA16
-:10244000740AF0904CCEE04408F054EFF090000194
-:102450001203CF2418FF904CC3E0B50707904CC57A
-:10246000E0B40310904CC3EFF01211A5904CCC7463
-:1024700001F091847F0122904CCEE054E7F054DFCC
-:10248000F07F0022E4904CE5F0904CE3F0A3F09054
-:102490004CE9F0904CEEF022904CF5EDF0A3EBF00F
-:1024A000EF30E012904CF4E0B403047402F0229098
-:1024B0004CF47401F022904CF47404F022904EE736
-:1024C000EDF0904EE6EFF0E4904EE8F0EF30E005EE
-:1024D000E4904CF8F0904EE7E0FFA3F0904CC1E0A0
-:1024E0007014EFB4DA10904EE6E0FF7B0F7D089198
-:1024F00098E4904EE8F0904DE2E064016002A1BCE7
-:10250000904EE7E0FF6414600FEF641A600AEF6416
-:10251000086005EF64157044EFB41508904CC17461
-:1025200003F08021EFB41A07E4904CC1F08016EF5D
-:10253000B40808904CC17401F0800AEFB4140690FE
-:102540004CC17402F0E4904EE8F07B017A4C79C102
-:102550007D01FC7FC07E7F121BBF8060904EE7E054
-:1025600064297058904EE6E030E04C904DE7E06012
-:1025700004E4F08006904DE77401F0904CC3E0FF56
-:102580006003B4FE08904CBF7402F0802AEFD3942D
-:10259000035024EFC39401401E904DE7E0FF904CA0
-:1025A000C3E075F01FA424EDF582E4344DF583EF0C
-:1025B000F0904CBF7403F0E4904EE8F0904E55E07C
-:1025C0006002E18B904DE2E07006904DE7E0601410
-:1025D000904DE2E064016002E18B904DE7E0640120
-:1025E0006002E18B904EE7E01205B3261C3A2624E8
-:1025F0003B262C3C26343D26923E26D13F26D94010
-:1026000026E14126E94226F14326F94427014527E0
-:10261000617B27097C27357D0000278B904EE8746D
-:10262000D7F0E18B904EE874D8F0E18B904EE874CF
-:10263000D6F0E18B904CC1E0FE701A904EE6E0FFC0
-:102640007B2B7D049198904EE6E030E03E904CF874
-:10265000740AF08036EEB4011A904EE6E0FF7B2B50
-:102660007D049198904EE6E030E020904CF8740A9A
-:10267000F08018904EE6E0FF7B2B7D089198904EFD
-:10268000E6E030E006904CF8740AF0E4904EE8F092
-:10269000E18B904CC1E0701A904EE6E0FF7B1D7D0F
-:1026A000019198904EE6E030E020904CF8740AF0EA
-:1026B0008018904EE6E0FF7B1D7D089198904EE6D5
-:1026C000E030E006904CF8740AF0E4904EE8F0E157
-:1026D0008B904EE874D5F0E18B904EE874F4F0E105
-:1026E0008B904EE874F2F0E18B904EE874F5F0E1D7
-:1026F0008B904EE874F8F0E18B904EE874F6F0E1C0
-:102700008B904EE874F7F0E18B904CC1E0FF6403CE
-:102710006004EFB4020D904EE6E0FF7B067D089169
-:1027200098800B904EE6E0FF7B067D019198E49047
-:102730004EE8F08056904CC1E0FF64036004EFB4B3
-:10274000020D904EE6E0FF7B197D089198800B907A
-:102750004EE6E0FF7B197D019198E4904EE8F08011
-:102760002A904CC1E0FF64036004EFB4020D904E68
-:10277000E6E0FF7B1B7D089198800B904EE6E0FF22
-:102780007B1B7D019198E4904EE8F0904EE8E0FFCD
-:1027900022E4FEEF6006145FFF0E80F7AF0622E42E
-:1027A000FEEFC394E04020EFD394E7501A904EA47C
-:1027B000E0FEEF5407FF7401A807088002C333D876
-:1027C000FC4E904EA4F022E4FE74A52EF582E43473
-:1027D0004EF583E0FD6F601CED7014904DEDE06FE1
-:1027E000601274A52EF582E4344EF583EFF0220ECC
-:1027F000EEB406D522E4FEFDEF54F064F06007EF7E
-:1028000054D0FCBCD00C904E4BE0B4020B7403F0DF
-:102810008006904DDF7401F0EFC394E04021EFD3C8
-:1028200094E7501B904EA4E0FEEF5407FF7401A8FC
-:1028300007088002C333D8FCF45E904EA4F022E473
-:10284000FEED702174A52EF582E4344EF583E06F21
-:102850007047EEB4050B24A5F582E4344EF583E40D
-:10286000F07D01803474A52EF582E4344EF583E0CA
-:10287000FC74A42EF582E4344EF583ECF074A52E9E
-:10288000F582E4344EF583E06014EEB4050B24A524
-:10289000F582E4344EF583E4F00EEEB406A322E4B0
-:1028A000904E88F0A3F0A3F0A3F0A3F0A3F0A3F060
-:1028B000A3F0A3F0A3F0A3F0716F7A4D79A8904E26
-:1028C000AE7401F0A3744DF0A374A8F0A37414F0D7
-:1028D0007B017A4D79BC7125EF601C7B017A4D79C3
-:1028E000BC7D1451F5EF700F904CCEE04402F09097
-:1028F0004D067414F0800C904CCEE054FDF0E49042
-:102900004CD0F0E4904E88F0904E88E0FF90068125
-:1029100093700221D774BC2FF582E4344DF583E027
-:10292000904E8BF0E0FF122791904E92EFF0C394FF
-:1029300002500221BFE4904E89F0904E89E0FFC31F
-:102940009408507B74017E00A807088005C333CE2D
-:1029500033CED8F9FF904E8BE0FDE4EF5D6058E494
-:10296000904E8AF0904E8AE0FF90068193604890E6
-:102970004E88E0FEEF6E6037904E8AE024BCF58210
-:10298000E4344DF583E0FD7C00904E89E0FF740156
-:102990007E00A807088005C333CE33CED8F9FFEEFA
-:1029A0005CFEEF5D4E6008904E917401F0800890DF
-:1029B0004E8AE004F080AD904E89E004F0213A9018
-:1029C0004E8BE0FF6009122791904E8FE02FF09020
-:1029D0004E88E004F02108904E8FE0904DE4F0E442
-:1029E000904E88F0904E88E0FF90068193700241EF
-:1029F000C974932FF582E4344DF583E0FE74BC2F47
-:102A0000F582E4344DF583E06E904E8BF0904E8865
-:102A1000E0FF24BCF582E4344DF583E0904E8EF067
-:102A2000904E8BE0700441C141C1904E91E060072F
-:102A30007B007A0079002274BC2FF582E4344DF5D6
-:102A400083E0FE74932FF582E4344DF583EEF0E4D9
-:102A5000904E89F0904E89E0FFC39408505D904EEF
-:102A60008BE030E03E904E88E0FE33333354F8FE86
-:102A7000EF4E904E8DF0A3E0FF904E8DE0900696C5
-:102A800093FD1224BD904E90EFF0904E8EE030E01A
-:102A90000A904E90E0FF12279F8008904E90E0FF32
-:102AA0001227F5904E8BE0FFC313F0904E8EE0FF9F
-:102AB000C313F0904E89E004F08099904E8C74011D
-:102AC000F0904E88E004F021E4904E4BE0B4030A0D
-:102AD000904DDFE0B401037402F0904E8CE070077B
-:102AE000904DDFE0B402077B017A4E79A4227B008F
-:102AF0007A00790022904EECEBF0A3EAF0A3E9F023
-:102B0000E4FFEFC39D501B904EECE0FBA3E0FAA363
-:102B1000E0F98F827583001203CF60037F00220FDC
-:102B200080E07F0122904EABEBF0A3EAF0A3E9F046
-:102B3000E4FF904EB1E0FEEFC39E5030904EAEE009
-:102B4000FBA3E0FAA3E0F98F827583001203CFFEA6
-:102B5000904EABE0FBA3E0FAA3E0F98F827583000F
-:102B60001203CF6E60037F00220F80C67F0122E434
-:102B7000FF904EE9F0FEFDA3F0A3F0EF90068193E5
-:102B8000607CEF93FD131313541FFEED5407FD7487
-:102B900001A805088002C333D8FCFDEE2478FBE4CD
-:102BA00034808B82F583E0FCEDF4FBEC5BF0EE24EB
-:102BB00070F582E43480F583E04DF0EE2474F58204
-:102BC000E43480F583E05BF090811CE0F4FC74BC9D
-:102BD0002FF582E4344DF583ECF0EE2478FBE434F9
-:102BE000808B82F583E04DF0EE2470FBE434808B23
-:102BF00082F583E0FCEDF4FBEC5BF00F617BE4FF1E
-:102C0000EF90068193607CEF93FD131313541FFE26
-:102C1000ED5407FD7401A805088002C333D8FCFDFC
-:102C2000EE2478FBE434808B82F583E0FCEDF4FB4A
-:102C3000EC5BF0EE2470F582E43480F583E04DF037
-:102C4000EE2474F582E43480F583E05BF090811C1F
-:102C5000E0F4FC74A82FF582E4344DF583ECF0EE3B
-:102C60002478FBE434808B82F583E04DF0EE247011
-:102C7000FBE434808B82F583E0FCEDF4FBEC5BF04D
-:102C80000F8100E4FFEF90068193604074BC2FF544
-:102C900082E4344DF583E0FE74A82FF582E4344DD0
-:102CA000F583E06E602374BC2FF582E4344DF58328
-:102CB000C083C082E0FE74A82FF582E4344DF58312
-:102CC000E0FDEE5DD082D083F00F80B922E4FF906A
-:102CD0004F07F0FEFDEF900681936049EF93FD13DF
-:102CE0001313541FFEED5407FD7401A8050880025C
-:102CF000C333D8FCFDEE2478FBE434808B82F5836B
-:102D0000E0FCEDF4FBEC5BF0EE2470F582E4348043
-:102D1000F583E04DF0EE2474F582E43480F583E031
-:102D20005BF00F80B0D14990811CE0904F07F0908C
-:102D30004DDCE06020E4FFB1657F01B1657F02B149
-:102D4000657F03B1657F04B1657F05B1657F06B11D
-:102D5000657F078010904F07E0FF9000A3F0EFF42D
-:102D60009000A7F022904F0BEFF0D1049208904F03
-:102D70000BE0FFA208B39207EFF47002C103EF5417
-:102D800007FEEF1313135403FF30074324A3F58208
-:102D9000E43400F583C083C082E0FD7401A8060816
-:102DA0008002C333D8FCF45DD082D083F074A72FA7
-:102DB000F582E43400F583C083C082E0FF7401A88B
-:102DC00006088002C333D8FC4FD082D083F022742F
-:102DD000A32FF582E43400F583C083C082E0FD7444
-:102DE00001A806088002C333D8FCFC4DD082D083F2
-:102DF000F074A72FF582E43400F583E0FFECF4FED5
-:102E0000EF5EF0227B017A81791CAD07E4904F0AD6
-:102E1000F0FEEF5407F0EF1313135403FEF5827521
-:102E200083001203CFFD3395E0FC904F0AE0FF745E
-:102E3000017E00A807088005C333CE33CED8F9FF42
-:102E4000EE5CFEEF5D4E24FF22E4FFEFFD7C0024EC
-:102E500078FBEC34808B82F583E0FEED2470FDEC92
-:102E600034808D82F583E04EF4FEEF247CFDEC345B
-:102E7000808D82F583EEF00FEFB404CF22904CC327
-:102E8000E0B40107C2017F1F0210EB904CC3E0B415
-:102E90000207C2017F1E0210EB904CC3E07007C214
-:102EA000017F141210EB22904CEAE0600214F090C3
-:102EB0004CEFE0600214F0904CF8E0600B14F0E08E
-:102EC0007006904CF47406F0904CE5E0601F904C56
-:102ED000EEE06006E4904CE5F022904CE5E014F062
-:102EE0001211A5904CE5E07045D17D8041904CE9F0
-:102EF000E0703B904CEEE07035904CE2E0602F14B7
-:102F0000F0E0FFC394045016EF30E109D2017F14C2
-:102F10001210EB8010C2017F141210EB8007C20167
-:102F20007F141210EB904CE2E07003740AF0904DA5
-:102F3000DCE07036904DDDE06401702E904CE3F0E3
-:102F4000A3F0904DDDF0904E4CE0600D7B017A4E89
-:102F5000794C7D03120C618011904800E0600B7B7E
-:102F6000017A4879007D09120C61904DD4E060111E
-:102F7000E014F0E0700B904D3DE070057F1B1213E4
-:102F8000C3904DE6E06013E014F0E0700D904CC784
-:102F9000E0B40406904213740CF022908091740DFA
-:102FA000F0A304F0A3F0A3F0A3F0A314F022120BFB
-:102FB000C8123012904CEB7401F0904CE5740AF09A
-:102FC000E4904CF0F0904D0574FFF09044FCE090DC
-:102FD0004DD0F09044FDE0904DD1F09044FEE09053
-:102FE0004DD2F0229080107401F080FE2280F59086
-:102FF0004EFDEDF09000011203CF904EFEF0227BCB
-:10300000017A4E795678687C4E7D017E007F1202EF
-:103010000390904CD37405F0E4A3F0904D06741423
-:10302000F0E4FFEF25E024D6F582E4344CF5837418
-:1030300051F0A3F00FEFB404EA904C93E0FFA3E04B
-:10304000904CFACFF0A3EFF0904C91E0FEA3E0FF9C
-:10305000C3904C94E09FFD904C93E09EFCE41202E0
-:10306000067B8F7AC27935783F1200FBC004C00519
-:10307000C006C007904C91E0FCA3E0FDE4120206FC
-:10308000D003D002D001D00012000A12023F904CAF
-:10309000DEEEF0A3EFF0904C91E0FEA3E0FFC390D2
-:1030A0004C94E09FFD904C93E09EFCE41202067B62
-:1030B000C37AF57928783F1200FBC004C005C0062A
-:1030C000C007904C91E0FCA3E0FDE4120206D0039F
-:1030D000D002D001D00012000A12023F904CE0EE64
-:1030E000F0A3EFF022904ECB12058200000000907A
-:1030F0004C95E07002A3E0700241A2904C95E0FE76
-:10310000A3E0FF904CD4E0FD04F0ED25E024D6F5DB
-:1031100082E4344CF583EEF0A3EFF0904CD4E0C39E
-:1031200094044002E4F0E4904ECAF0904ECBE0F8F4
-:10313000A3E0F9A3E0FAA3E0FB904ECAE025E02467
-:10314000D6F582E4344CF583E0FEA3E0FFE4FCFD19
-:10315000EB2FFFEA3EFEED39FDEC38FC904ECB1232
-:103160000576904ECAE004F0E0B404BF904ECBE088
-:10317000FCA3E0FDA3E0FEA3E0FFE47B04FAF9F882
-:103180001204C5904ECB120576904CE0E0FEA3E011
-:10319000FFE4FCFD904ECBE0F8A3E0F9A3E0FAA336
-:1031A000E0FBD31205655007E4904CF9F0413190F3
-:1031B0004CFAE0FEA3E0FFE4FCFD904ECBE0F8A368
-:1031C000E0F9A3E0FAA3E0FBC31205654008904CC8
-:1031D000F97464F0805B904CE0E0FEA3E0FFFBAA92
-:1031E00006E4904ECBE0FCA3E0FDA3E0FEA3E0C329
-:1031F0009BFFEE9AFEED9400FDEC9400FCE47B64F2
-:10320000FAF9F812043AC006C007904CE0E0FEA3B9
-:10321000E0FFC3904CFBE09FFF904CFAE09EFEABBA
-:1032200007FAE4F9F8D007D0061204C5904CF9EF7C
-:10323000F0904CE0E0FEA3E0FFC3904CD7E09F90FD
-:103240004CD6E09E5007904CD57402F022904CDE94
-:10325000E0FEA3E0FFE4FCFD904ECBE0F8A3E0F934
-:10326000A3E0FAA3E0FBC3120565501C904CD57493
-:1032700001F0904CFCE0702A904D40F0A37448F0AF
-:10328000A37412F0E4A3F022E4904CD5F0904CFC2F
-:10329000E0700F904D40F0A37448F0A3745DF0E42B
-:1032A000A3F022020F9C904ED8EEF0A3EFF0904EC8
-:1032B000DAECF0A3EDF0904EDAE0FEA3E0FFD3905D
-:1032C0004ED9E09F904ED8E09E4016904EDAE0FE38
-:1032D000A3E0FF904ED9E09FFF904ED8E09EFE8085
-:1032E0001E904ED8E0FEA3E0FFC3904EDBE09FFFB0
-:1032F000904EDAE09EFEAD03C3EB9FFFE49EFE22FC
-:10330000904EFFEEF0A3EFF0A905904B9EE0FEA3D8
-:10331000E0FFAD0119ED602F0FEFAC0670010E1448
-:10332000F5828C83E0FD904EFFE475F001120424D9
-:1033300085F082F583EDF0AD07AC06BC4BD4BD9AA9
-:10334000D17E4B7F3680CB904B9EEEF0A3EFF022E8
-:103350007A0C794B904EEF7401F0A3740CF0A374C7
-:103360004BF0904BA0E0FEA3E0FF904B9EE06E7010
-:1033700003A3E06F700281FF7E0C7F4B7D03710021
-:10338000904EEFE0FBA3E0FAA3E0F91203B6B4021B
-:103390002B904EF0E475F00212040E904EEFE0FB1D
-:1033A000A3E0FAA3E0F91203B6FF904E68E0A3E0B1
-:1033B000FAA3E0F5828A831205DD81FF904EEFE0EB
-:1033C000FBA3E0FAA3E0F91203B664047059904E2F
-:1033D000F075F00112040E7E0C7F4E904EEFE0FB74
-:1033E000A3E0FAA3E0F91203B614FD7100904EEFCA
-:1033F000E0FBA3E0FAA3E02401F9E43AFAC002C03A
-:1034000001904EEFE0A3E0FAA3E0F91203B6FD7CD1
-:1034100000904E6BE0A3E0FAA3E0F5828A83D0012E
-:10342000D0021205DD81FF904EEFE0FBA3E0FAA38E
-:10343000E0F91203B664057059904EF075F0011270
-:10344000040E7E0C7F4E904EEFE0FBA3E0FAA3E06B
-:10345000F91203B614FD7100904EEFE0FBA3E0FA01
-:10346000A3E02401F9E43AFAC002C001904EEFE073
-:10347000A3E0FAA3E0F91203B6FD7C00904E74E0DD
-:10348000A3E0FAA3E0F5828A83D001D0021205DD21
-:10349000806D904EEFE0FBA3E0FAA3E0F91203B6D3
-:1034A00064037059904EF075F00112040E7E0C7F8B
-:1034B0004E904EEFE0FBA3E0FAA3E0F91203B6143E
-:1034C000FD7100904EEFE0FBA3E0FAA3E02401F9C8
-:1034D000E43AFAC002C001904EEFE0A3E0FAA3E0A4
-:1034E000F91203B6FD7C00904E77E0A3E0FAA3E06A
-:1034F000F5828A83D001D0021205DD800280FE9021
-:103500004BA5E0FEA3E0FF904C5EE06E7003A3E0ED
-:103510006F6022904E6EE0FBA3E0FAA3E0F94A60F0
-:10352000371205D9904BA5E0FFA3E0904C5ECFF099
-:10353000A3EFF080CA904C8DE0FFA3E06F6019907C
-:103540004E71E0FBA3E0FAA3E0F94A600B1205D943
-:10355000904C8DE0A3F080DD22904F09EDF0E0FD6E
-:10356000900BE8F07E0B7FE9904EC4EDF012087DE1
-:103570007B017A0B79E7904F09E02402FD0213EBFF
-:10358000900BE77406F080D1900BE77404F080C9CB
-:10359000900BE77405F080C1900BE77403F0ED60C9
-:1035A00002B15922900446E0FF22900B7F7401F093
-:1035B000E4900B7EF022904B9CE0FEA3E0FF904B4A
-:1035C0009AE0B50607A3E0B50702D322C322908292
-:1035D000807401F022904E9CEBF0A3EAF0A3E9F096
-:1035E000904EA274FFF5F012042445F0602A904E2C
-:1035F0009FE0FBA3E475F001120424A9F0FA120382
-:10360000B6FF904E9CE0FBA3E475F001120424A9E0
-:10361000F0FAEF1203FC80C822904EF5EBF0A3EA1B
-:10362000F0A3E9F0ED1DAE0470011C4E6017904E42
-:10363000F5E0FBA3E475F001120424A9F0FA74FF8D
-:103640001203FC80DF22EFF4603AEF5407FEEF1321
-:1036500013135403FF24A3F582E43400F583C083DD
-:10366000C082E0FD7401A806088002C333D8FCF4D0
-:10367000FC5DD082D083F074A72FF582E43400F58E
-:0536800083E05CF02274
+:1023F000A3E0FAA3E0F99000011203CF64EF702E7E
+:10240000904CEA740AF0904CCEE054F7F04410F08F
+:10241000904CC3E0FF601464FE60101210FD904CFD
+:10242000CD7401F0E4904CC3F091907F0122904E66
+:10243000E3E0FBA3E0FAA3E0F99000011203CFFF71
+:1024400064E96005EF64EA703A904CEA740AF0902F
+:102450004CCEE04408F054EFF09000011203CF247A
+:1024600018FF904CC3E0B50707904CC5E0B40310CB
+:10247000904CC3EFF01210FD904CCC7401F0919091
+:102480007F0122904CCEE054E7F054DFF07F002231
+:10249000E4904CE5F0904CE3F0A3F0904CE9F09020
+:1024A0004CEEF022904CF5EDF0A3EBF0EF30E012A3
+:1024B000904CF4E0B403047402F022904CF47401E4
+:1024C000F022904CF47404F022904EE7EDF0904E20
+:1024D000E6EFF0E4904EE8F0EF30E005E4904CF8E1
+:1024E000F0904EE7E0FFA3F0904CC1E07014EFB421
+:1024F000DA10904EE6E0FF7B0F7D0891A4E4904E49
+:10250000E8F0904EE7E02485606124FE60310460CD
+:1025100002A195904CC1E0FF64036004EFB4020D8A
+:10252000904EE6E0FF7B067D0891A4800B904EE67E
+:10253000E0FF7B067D0191A4E4904EE8F080569088
+:102540004CC1E0FF64036004EFB4020D904EE6E07E
+:10255000FF7B197D0891A4800B904EE6E0FF7B196C
+:102560007D0191A4E4904EE8F0802A904CC1E0FFF8
+:1025700064036004EFB4020D904EE6E0FF7B1B7D28
+:102580000891A4800B904EE6E0FF7B1B7D0191A497
+:10259000E4904EE8F0904DE2E064016002C15B908F
+:1025A0004EE7E0FF6414600FEF641A600AEF6408FE
+:1025B0006005EF64157044EFB41508904CC17403C6
+:1025C000F08021EFB41A07E4904CC1F08016EFB40C
+:1025D0000808904CC17401F0800AEFB41406904CC6
+:1025E000C17402F0E4904EE8F07B017A4C79C17D31
+:1025F00001FC7FC07E7F121BBF8060904EE7E064CD
+:10260000297058904EE6E030E04C904DE7E06004D1
+:10261000E4F08006904DE77401F0904CC3E0FF6059
+:1026200003B4FE08904CBF7402F0802AEFD39403E9
+:102630005024EFC39401401E904DE7E0FF904CC33F
+:10264000E075F01FA424EDF582E4344DF583EFF03E
+:10265000904CBF7403F0E4904EE8F0904E55E0606B
+:1026600002E193904DE2E07006904DE7E060149037
+:102670004DE2E064016002E193904DE7E0640160A7
+:1026800002E193904EE7E024C6B40C004002E193CF
+:1026900090269E75F003A4C58325F0C5837302269A
+:1026A000C20226CA0226D20226DA02273802275D93
+:1026B00002276502276D02277502277D0227850202
+:1026C000278D904EE874D7F0E193904EE874D8F0DF
+:1026D000E193904EE874D6F0E193904CC1E0FE7027
+:1026E0001A904EE6E0FF7B2B7D0491A4904EE6E02D
+:1026F00030E03E904CF8740AF08036EEB4011A9047
+:102700004EE6E0FF7B2B7D0491A4904EE6E030E0A6
+:1027100020904CF8740AF08018904EE6E0FF7B2B76
+:102720007D0891A4904EE6E030E006904CF8740AE3
+:10273000F0E4904EE8F0805B904CC1E0700D904E5C
+:10274000E6E0FF7B1D7D0191A4800B904EE6E0FF4B
+:102750007B1D7D0891A4E4904EE8F08036904EE811
+:1027600074D5F0802E904EE874F4F08026904EE8F8
+:1027700074F2F0801E904EE874F5F08016904EE8EA
+:1027800074F8F0800E904EE874F6F08006904EE8F3
+:1027900074F7F0904EE8E0FF22E4FEEF6006145F6D
+:1027A000FF0E80F7AF0622E4FEEFC394E04020EF77
+:1027B000D394E7501A904EA4E0FEEF5407FF740143
+:1027C000A807088002C333D8FC4E904EA4F022E440
+:1027D000FE74A52EF582E4344EF583E0FD6F601C97
+:1027E000ED7014904DEDE06F601274A52EF582E44B
+:1027F000344EF583EFF0220EEEB406D522E4FEFD52
+:10280000EF54F064F06007EF54D0FCBCD00C904E55
+:102810004BE0B4020B7403F08006904DDF7401F0BE
+:10282000EFC394E04021EFD394E7501B904EA4E017
+:10283000FEEF5407FF7401A807088002C333D8FCD9
+:10284000F45E904EA4F022E4FEED702174A52EF506
+:1028500082E4344EF583E06F7047EEB4050B24A597
+:10286000F582E4344EF583E4F07D01803474A52EC6
+:10287000F582E4344EF583E0FC74A42EF582E43452
+:102880004EF583ECF074A52EF582E4344EF583E02A
+:102890006014EEB4050B24A5F582E4344EF583E410
+:1028A000F00EEEB406A322E4904E88F0A3F0A3F05D
+:1028B000A3F0A3F0A3F0A3F0A3F0A3F0A3F0A3F080
+:1028C00071777A4D79A8904EAE7401F0A3744DF0F3
+:1028D000A374A8F0A37414F07B017A4D79BC712D18
+:1028E000EF601C7B017A4D79BC7D1451FDEF700FB8
+:1028F000904CCEE04402F0904D067414F0800C90A1
+:102900004CCEE054FDF0E4904CD0F0E4904E88F0D2
+:10291000904E88E0FF90068193700221DF74BC2FF7
+:10292000F582E4344DF583E0904E8BF0E0FF122702
+:1029300099904E92EFF0C39402500221C7E4904E5A
+:1029400089F0904E89E0FFC39408507B74017E00AB
+:10295000A807088005C333CE33CED8F9FF904E8B3D
+:10296000E0FDE4EF5D6058E4904E8AF0904E8AE01E
+:10297000FF900681936048904E88E0FEEF6E6037CE
+:10298000904E8AE024BCF582E4344DF583E0FD7C72
+:1029900000904E89E0FF74017E00A807088005C3FF
+:1029A00033CE33CED8F9FFEE5CFEEF5D4E6008907B
+:1029B0004E917401F08008904E8AE004F080AD9052
+:1029C0004E89E004F02142904E8BE0FF600912270F
+:1029D00099904E8FE02FF0904E88E004F0211090F7
+:1029E0004E8FE0904DE4F0E4904E88F0904E88E0F9
+:1029F000FF90068193700241D174932FF582E434E5
+:102A00004DF583E0FE74BC2FF582E4344DF583E090
+:102A10006E904E8BF0904E88E0FF24BCF582E4343B
+:102A20004DF583E0904E8EF0904E8BE0700441C9DE
+:102A300041C9904E91E060077B007A0079002274D2
+:102A4000BC2FF582E4344DF583E0FE74932FF582BC
+:102A5000E4344DF583EEF0E4904E89F0904E89E039
+:102A6000FFC39408505D904E8BE030E03E904E885E
+:102A7000E0FE33333354F8FEEF4E904E8DF0A3E07A
+:102A8000FF904E8DE090069693FD1224C9904E90D3
+:102A9000EFF0904E8EE030E00A904E90E0FF12276B
+:102AA000A78008904E90E0FF1227FD904E8BE0FF2C
+:102AB000C313F0904E8EE0FFC313F0904E89E004F4
+:102AC000F08099904E8C7401F0904E88E004F021D3
+:102AD000EC904E4BE0B4030A904DDFE0B401037478
+:102AE00002F0904E8CE07007904DDFE0B402077B5F
+:102AF000017A4E79A4227B007A00790022904EEC74
+:102B0000EBF0A3EAF0A3E9F0E4FFEFC39D501B90C4
+:102B10004EECE0FBA3E0FAA3E0F98F82758300128C
+:102B200003CF60037F00220F80E07F0122904EAB35
+:102B3000EBF0A3EAF0A3E9F0E4FF904EB1E0FEEF82
+:102B4000C39E5030904EAEE0FBA3E0FAA3E0F98FB5
+:102B5000827583001203CFFE904EABE0FBA3E0FA38
+:102B6000A3E0F98F827583001203CF6E60037F00AC
+:102B7000220F80C67F0122E4FF904EE9F0FEFDA304
+:102B8000F0A3F0EF90068193607CEF93FD13131395
+:102B9000541FFEED5407FD7401A805088002C333DD
+:102BA000D8FCFDEE2478FBE434808B82F583E0FCD6
+:102BB000EDF4FBEC5BF0EE2470F582E43480F583F9
+:102BC000E04DF0EE2474F582E43480F583E05BF0B0
+:102BD00090811CE0F4FC74BC2FF582E4344DF58345
+:102BE000ECF0EE2478FBE434808B82F583E04DF04A
+:102BF000EE2470FBE434808B82F583E0FCEDF4FB83
+:102C0000EC5BF00F6183E4FFEF90068193607CEF53
+:102C100093FD131313541FFEED5407FD7401A80513
+:102C2000088002C333D8FCFDEE2478FBE434808BAB
+:102C300082F583E0FCEDF4FBEC5BF0EE2470F582B2
+:102C4000E43480F583E04DF0EE2474F582E43480C2
+:102C5000F583E05BF090811CE0F4FC74A82FF58212
+:102C6000E4344DF583ECF0EE2478FBE434808B8281
+:102C7000F583E04DF0EE2470FBE434808B82F58325
+:102C8000E0FCEDF4FBEC5BF00F8108E4FFEF900655
+:102C90008193604074BC2FF582E4344DF583E0FEEF
+:102CA00074A82FF582E4344DF583E06E602374BC84
+:102CB0002FF582E4344DF583C083C082E0FE74A812
+:102CC0002FF582E4344DF583E0FDEE5DD082D083B4
+:102CD000F00F80B922E4FF904F07F0FEFDEF900661
+:102CE00081936049EF93FD131313541FFEED5407B6
+:102CF000FD7401A805088002C333D8FCFDEE2478DA
+:102D0000FBE434808B82F583E0FCEDF4FBEC5BF0BC
+:102D1000EE2470F582E43480F583E04DF0EE247407
+:102D2000F582E43480F583E05BF00F80B0D1519000
+:102D3000811CE0904F07F0904DDCE06020E4FFB193
+:102D40006D7F01B16D7F02B16D7F03B16D7F04B105
+:102D50006D7F05B16D7F06B16D7F078010904F07C5
+:102D6000E0FF9000A3F0EFF49000A7F022904F0B4B
+:102D7000EFF0D10C9208904F0BE0FFA208B392073E
+:102D8000EFF47002C10BEF5407FEEF13131354035B
+:102D9000FF30074324A3F582E43400F583C083C0E9
+:102DA00082E0FD7401A806088002C333D8FCF45DFC
+:102DB000D082D083F074A72FF582E43400F583C06D
+:102DC00083C082E0FF7401A806088002C333D8FCE8
+:102DD0004FD082D083F02274A32FF582E43400F523
+:102DE00083C083C082E0FD7401A806088002C3335B
+:102DF000D8FCFC4DD082D083F074A72FF582E43448
+:102E000000F583E0FFECF4FEEF5EF0227B017A81B7
+:102E1000791CAD07E4904F0AF0FEEF5407F0EF1372
+:102E200013135403FEF5827583001203CFFD33950F
+:102E3000E0FC904F0AE0FF74017E00A807088005BF
+:102E4000C333CE33CED8F9FFEE5CFEEF5D4E24FFE8
+:102E500022E4FFEFFD7C002478FBEC34808B82F5CC
+:102E600083E0FEED2470FDEC34808D82F583E04E2E
+:102E7000F4FEEF247CFDEC34808D82F583EEF00FC0
+:102E8000EFB404CF22904CC3E0B40107C2017F1F0E
+:102E90000210EB904CC3E0B40207C2017F1E021087
+:102EA000EB904CC3E07007C2017F141210EB22902C
+:102EB0004CEAE0600214F0904CEFE0600214F090F5
+:102EC0004CF8E0600B14F0E07006904CF47406F0DF
+:102ED000904CE5E0601F904CEEE06006E4904CE51D
+:102EE000F022904CE5E014F01210FD904CE5E070FB
+:102EF00045D1858041904CE9E0703B904CEEE0700C
+:102F000035904CE2E0602F14F0E0FFC394045016BB
+:102F1000EF30E109D2017F141210EB8010C2017F63
+:102F2000141210EB8007C2017F141210EB904CE2D8
+:102F3000E07003740AF0904DDCE07036904DDDE0F7
+:102F40006401702E904CE3F0A3F0904DDDF0904EB4
+:102F50004CE0600D7B017A4E794C7D03120C618050
+:102F600011904800E0600B7B017A4879007D0912DE
+:102F70000C61904DD4E06011E014F0E0700B904DC6
+:102F80003DE070057F1B1213C3904DE6E06013E037
+:102F900014F0E0700D904CC7E0B404069042137436
+:102FA0000CF022908091740DF0A304F0A3F0A3F034
+:102FB000A3F0A314F022120BC812301A904CEB7439
+:102FC00001F0904CE5740AF0E4904CF0F0904D055F
+:102FD00074FFF09044FCE0904DD0F09044FDE09000
+:102FE0004DD1F09044FEE0904DD2F02290801074CC
+:102FF00001F080FE2280F5904EFDEDF09000011270
+:1030000003CF904EFEF0227B017A4E795678687C91
+:103010004E7D017E007F12020390904CD37405F028
+:10302000E4A3F0904D067414F0E4FFEF25E024D6FD
+:10303000F582E4344CF5837451F0A3F00FEFB4043F
+:10304000EA904C93E0FFA3E0904CFACFF0A3EFF0AE
+:10305000904C91E0FEA3E0FFC3904C94E09FFD9064
+:103060004C93E09EFCE41202067B8F7AC27935789D
+:103070003F1200FBC004C005C006C007904C91E0A1
+:10308000FCA3E0FDE4120206D003D002D001D00080
+:1030900012000A12023F904CDEEEF0A3EFF0904CCB
+:1030A00091E0FEA3E0FFC3904C94E09FFD904C9311
+:1030B000E09EFCE41202067BC37AF57928783F1281
+:1030C00000FBC004C005C006C007904C91E0FCA303
+:1030D000E0FDE4120206D003D002D001D0001200BD
+:1030E0000A12023F904CE0EEF0A3EFF022904ECB9C
+:1030F00012058200000000904C95E07002A3E07081
+:103100000241AA904C95E0FEA3E0FF904CD4E0FD74
+:1031100004F0ED25E024D6F582E4344CF583EEF09E
+:10312000A3EFF0904CD4E0C394044002E4F0E490A8
+:103130004ECAF0904ECBE0F8A3E0F9A3E0FAA3E08A
+:10314000FB904ECAE025E024D6F582E4344CF583AA
+:10315000E0FEA3E0FFE4FCFDEB2FFFEA3EFEED39CD
+:10316000FDEC38FC904ECB120576904ECAE004F090
+:10317000E0B404BF904ECBE0FCA3E0FDA3E0FEA3CF
+:10318000E0FFE47B04FAF9F81204C5904ECB120577
+:1031900076904CE0E0FEA3E0FFE4FCFD904ECBE037
+:1031A000F8A3E0F9A3E0FAA3E0FBD312056550070A
+:1031B000E4904CF9F04139904CFAE0FEA3E0FFE4D2
+:1031C000FCFD904ECBE0F8A3E0F9A3E0FAA3E0FB0E
+:1031D000C31205654008904CF97464F0805B904C14
+:1031E000E0E0FEA3E0FFFBAA06E4904ECBE0FCA3E8
+:1031F000E0FDA3E0FEA3E0C39BFFEE9AFEED94008A
+:10320000FDEC9400FCE47B64FAF9F812043AC00681
+:10321000C007904CE0E0FEA3E0FFC3904CFBE09FB2
+:10322000FF904CFAE09EFEAB07FAE4F9F8D007D025
+:10323000061204C5904CF9EFF0904CE0E0FEA3E0DC
+:10324000FFC3904CD7E09F904CD6E09E5007904C27
+:10325000D57402F022904CDEE0FEA3E0FFE4FCFD1A
+:10326000904ECBE0F8A3E0F9A3E0FAA3E0FBC31291
+:103270000565501C904CD57401F0904CFCE0702A10
+:10328000904D40F0A37448F0A37412F0E4A3F02230
+:10329000E4904CD5F0904CFCE0700F904D40F0A3C2
+:1032A0007448F0A3745DF0E4A3F022020F9C904EEA
+:1032B000D8EEF0A3EFF0904EDAECF0A3EDF0904EE4
+:1032C000DAE0FEA3E0FFD3904ED9E09F904ED8E025
+:1032D0009E4016904EDAE0FEA3E0FF904ED9E09FAC
+:1032E000FF904ED8E09EFE801E904ED8E0FEA3E0F8
+:1032F000FFC3904EDBE09FFF904EDAE09EFEAD03F1
+:10330000C3EB9FFFE49EFE22904EFFEEF0A3EFF092
+:10331000A905904B9EE0FEA3E0FFAD0119ED602FE3
+:103320000FEFAC0670010E14F5828C83E0FD904E19
+:10333000FFE475F00112042485F082F583EDF0AD11
+:1033400007AC06BC4BD4BD9AD17E4B7F3680CB9068
+:103350004B9EEEF0A3EFF0227A0C794B904EEF7477
+:1033600001F0A3740CF0A3744BF0904BA0E0FEA30B
+:10337000E0FF904B9EE06E7003A3E06F7002A10728
+:103380007E0C7F4B7D037108904EEFE0FBA3E0FACB
+:10339000A3E0F91203B6B4022B904EF0E475F002EC
+:1033A00012040E904EEFE0FBA3E0FAA3E0F9120343
+:1033B000B6FF904E68E0A3E0FAA3E0F5828A83129C
+:1033C00005DDA107904EEFE0FBA3E0FAA3E0F912C0
+:1033D00003B664047059904EF075F00112040E7E2D
+:1033E0000C7F4E904EEFE0FBA3E0FAA3E0F912034E
+:1033F000B614FD7108904EEFE0FBA3E0FAA3E024C1
+:1034000001F9E43AFAC002C001904EEFE0A3E0FAFD
+:10341000A3E0F91203B6FD7C00904E6BE0A3E0FA46
+:10342000A3E0F5828A83D001D0021205DDA10790C6
+:103430004EEFE0FBA3E0FAA3E0F91203B6640570D7
+:1034400059904EF075F00112040E7E0C7F4E904E96
+:10345000EFE0FBA3E0FAA3E0F91203B614FD710854
+:10346000904EEFE0FBA3E0FAA3E02401F9E43AFA7E
+:10347000C002C001904EEFE0A3E0FAA3E0F912030E
+:10348000B6FD7C00904E74E0A3E0FAA3E0F5828ADA
+:1034900083D001D0021205DD806D904EEFE0FBA3DA
+:1034A000E0FAA3E0F91203B664037059904EF07588
+:1034B000F00112040E7E0C7F4E904EEFE0FBA3E075
+:1034C000FAA3E0F91203B614FD7108904EEFE0FB89
+:1034D000A3E0FAA3E02401F9E43AFAC002C00190A3
+:1034E0004EEFE0A3E0FAA3E0F91203B6FD7C0090F2
+:1034F0004E77E0A3E0FAA3E0F5828A83D001D00200
+:103500001205DD800280FE904BA5E0FEA3E0FF9057
+:103510004C5EE06E7003A3E06F6022904E6EE0FBA5
+:10352000A3E0FAA3E0F94A60371205D9904BA5E071
+:10353000FFA3E0904C5ECFF0A3EFF080CA904C8DDB
+:10354000E0FFA3E06F6019904E71E0FBA3E0FAA3E7
+:10355000E0F94A600B1205D9904C8DE0A3F080DDB4
+:1035600022904F09EDF0E0FD900BE8F07E0B7FE933
+:10357000904EC4EDF012087D7B017A0B79E7904FF5
+:1035800009E02402FD0213EB900BE77406F080D1F2
+:10359000900BE77404F080C9900BE77405F080C1CC
+:1035A000900BE77403F0ED6002B16122900446E0F5
+:1035B000FF22900B7F7401F0E4900B7EF022904B81
+:1035C0009CE0FEA3E0FF904B9AE0B50607A3E0B5B0
+:1035D0000702D322C3229082807401F022904E9C75
+:1035E000EBF0A3EAF0A3E9F0904EA274FFF5F0121D
+:1035F000042445F0602A904E9FE0FBA3E475F0019F
+:10360000120424A9F0FA1203B6FF904E9CE0FBA32B
+:10361000E475F001120424A9F0FAEF1203FC80C84B
+:1036200022904EF5EBF0A3EAF0A3E9F0ED1DAE0415
+:1036300070011C4E6017904EF5E0FBA3E475F0019D
+:10364000120424A9F0FA74FF1203FC80DF22EFF4C5
+:10365000603AEF5407FEEF1313135403FF24A3F54E
+:1036600082E43400F583C083C082E0FD7401A806C3
+:10367000088002C333D8FCF4FC5DD082D083F074A0
+:0D368000A72FF582E43400F583E05CF02212
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/fwram.rom	(revision 4936)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/fwram.rom	(working copy)
@@ -1515,7 +1515,7 @@
 26
 02
 32
-a3
+ab
 e4
 93
 a3
@@ -1655,13 +1655,13 @@
 ef
 ff
 2e
-a7
+af
 00
 00
 00
 ff
 2f
-ef
+f7
 00
 0a
 1c
@@ -3286,7 +3286,7 @@
 fd
 12
 35
-90
+98
 90
 4c
 c5
@@ -3393,7 +3393,7 @@
 fd
 12
 35
-80
+88
 22
 90
 4e
@@ -3893,12 +3893,12 @@
 f0
 12
 35
-b6
+be
 50
 25
 12
 28
-9f
+a7
 90
 4e
 e0
@@ -3995,19 +3995,19 @@
 61
 22
 12
-2f
-ff
+30
+07
 12
 33
-50
+58
 b1
 7f
 12
 1c
 6d
 12
-10
-fd
+11
+48
 90
 4d
 7d
@@ -4029,7 +4029,7 @@
 e2
 12
 2c
-cd
+d5
 12
 17
 f6
@@ -4063,12 +4063,12 @@
 05
 12
 35
-aa
+b2
 80
 bb
 12
 2c
-cd
+d5
 f1
 ee
 80
@@ -4348,6 +4348,81 @@
 7a
 22
 90
+4c
+c3
+e0
+b4
+01
+12
+d2
+01
+7f
+1f
+11
+eb
+c2
+01
+7f
+1e
+11
+eb
+c2
+01
+7f
+14
+80
+d5
+90
+4c
+c3
+e0
+b4
+02
+12
+c2
+01
+7f
+1f
+11
+eb
+d2
+01
+7f
+1e
+11
+eb
+c2
+01
+7f
+14
+80
+bc
+90
+4c
+c3
+e0
+70
+12
+c2
+01
+7f
+1f
+11
+eb
+c2
+01
+7f
+1e
+11
+eb
+d2
+01
+7f
+14
+11
+eb
+22
+90
 4d
 eb
 e0
@@ -4356,7 +4431,7 @@
 60
 02
 21
-a4
+ef
 90
 4c
 e9
@@ -4364,7 +4439,7 @@
 60
 02
 21
-9e
+e9
 90
 4c
 ee
@@ -4372,7 +4447,7 @@
 60
 02
 21
-9e
+e9
 90
 4c
 d5
@@ -4516,81 +4591,6 @@
 eb
 22
 90
-4c
-c3
-e0
-b4
-01
-12
-d2
-01
-7f
-1f
-11
-eb
-c2
-01
-7f
-1e
-11
-eb
-c2
-01
-7f
-14
-01
-eb
-90
-4c
-c3
-e0
-b4
-02
-12
-c2
-01
-7f
-1f
-11
-eb
-d2
-01
-7f
-1e
-11
-eb
-c2
-01
-7f
-14
-01
-eb
-90
-4c
-c3
-e0
-70
-12
-c2
-01
-7f
-1f
-11
-eb
-c2
-01
-7f
-1e
-11
-eb
-d2
-01
-7f
-14
-11
-eb
-22
-90
 4f
 04
 ef
@@ -4808,7 +4808,7 @@
 00
 12
 36
-19
+21
 90
 4c
 c0
@@ -5146,7 +5146,7 @@
 64
 12
 32
-a6
+ae
 90
 4e
 bc
@@ -5304,7 +5304,7 @@
 f0
 12
 2f
-ae
+b6
 7b
 01
 7a
@@ -5341,8 +5341,8 @@
 4c
 c3
 f0
-31
-a5
+11
+fd
 7f
 0a
 12
@@ -5476,7 +5476,7 @@
 b8
 12
 2f
-9b
+a3
 12
 18
 f8
@@ -5525,7 +5525,7 @@
 00
 12
 36
-19
+21
 7f
 c8
 12
@@ -5672,7 +5672,7 @@
 6d
 02
 2f
-e4
+ec
 90
 4c
 e5
@@ -5843,7 +5843,7 @@
 03
 12
 2e
-7d
+85
 e4
 90
 4c
@@ -6111,7 +6111,7 @@
 74
 12
 2e
-0a
+12
 92
 09
 90
@@ -6128,7 +6128,7 @@
 eb
 12
 2f
-9b
+a3
 12
 18
 f8
@@ -7006,7 +7006,7 @@
 86
 12
 35
-d5
+dd
 90
 0b
 83
@@ -8065,7 +8065,7 @@
 f0
 12
 30
-e5
+ed
 22
 90
 4d
@@ -9051,7 +9051,7 @@
 70
 02
 81
-81
+8d
 90
 4e
 e3
@@ -9210,11 +9210,10 @@
 12
 03
 cf
-fe
 64
 ef
 70
-2d
+2e
 90
 4c
 ea
@@ -9237,11 +9236,14 @@
 e0
 ff
 60
-13
+14
 64
 fe
 60
-0f
+10
+12
+10
+fd
 90
 4c
 cd
@@ -9253,24 +9255,34 @@
 4c
 c3
 f0
+91
 90
-4c
-e5
-f0
 7f
 01
 22
-ee
-64
-e9
-60
-0a
+90
+4e
+e3
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
 90
 00
 01
 12
 03
 cf
+ff
+64
+e9
+60
+05
+ef
 64
 ea
 70
@@ -9320,8 +9332,8 @@
 ef
 f0
 12
-11
-a5
+10
+fd
 90
 4c
 cc
@@ -9329,7 +9341,7 @@
 01
 f0
 91
-84
+90
 7f
 01
 22
@@ -9454,7 +9466,154 @@
 7d
 08
 91
-98
+a4
+e4
+90
+4e
+e8
+f0
+90
+4e
+e7
+e0
+24
+85
+60
+61
+24
+fe
+60
+31
+04
+60
+02
+a1
+95
+90
+4c
+c1
+e0
+ff
+64
+03
+60
+04
+ef
+b4
+02
+0d
+90
+4e
+e6
+e0
+ff
+7b
+06
+7d
+08
+91
+a4
+80
+0b
+90
+4e
+e6
+e0
+ff
+7b
+06
+7d
+01
+91
+a4
+e4
+90
+4e
+e8
+f0
+80
+56
+90
+4c
+c1
+e0
+ff
+64
+03
+60
+04
+ef
+b4
+02
+0d
+90
+4e
+e6
+e0
+ff
+7b
+19
+7d
+08
+91
+a4
+80
+0b
+90
+4e
+e6
+e0
+ff
+7b
+19
+7d
+01
+91
+a4
+e4
+90
+4e
+e8
+f0
+80
+2a
+90
+4c
+c1
+e0
+ff
+64
+03
+60
+04
+ef
+b4
+02
+0d
+90
+4e
+e6
+e0
+ff
+7b
+1b
+7d
+08
+91
+a4
+80
+0b
+90
+4e
+e6
+e0
+ff
+7b
+1b
+7d
+01
+91
+a4
 e4
 90
 4e
@@ -9468,8 +9627,8 @@
 01
 60
 02
-a1
-bc
+c1
+5b
 90
 4e
 e7
@@ -9665,7 +9824,7 @@
 60
 02
 e1
-8b
+93
 90
 4d
 e2
@@ -9687,7 +9846,7 @@
 60
 02
 e1
-8b
+93
 90
 4d
 e7
@@ -9697,63 +9856,70 @@
 60
 02
 e1
-8b
+93
 90
 4e
 e7
 e0
-12
-05
-b3
-26
-1c
-3a
-26
 24
-3b
-26
-2c
-3c
-26
-34
-3d
-26
-92
-3e
-26
-d1
-3f
-26
-d9
+c6
+b4
+0c
+00
 40
-26
+02
 e1
-41
+93
+90
 26
-e9
-42
+9e
+75
+f0
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
 26
-f1
-43
+c2
+02
 26
-f9
-44
+ca
+02
+26
+d2
+02
+26
+da
+02
 27
-01
-45
+38
+02
 27
-61
-7b
+5d
+02
 27
-09
-7c
+65
+02
+27
+6d
+02
+27
+75
+02
 27
-35
 7d
-00
-00
+02
 27
-8b
+85
+02
+27
+8d
 90
 4e
 e8
@@ -9761,7 +9927,7 @@
 d7
 f0
 e1
-8b
+93
 90
 4e
 e8
@@ -9769,7 +9935,7 @@
 d8
 f0
 e1
-8b
+93
 90
 4e
 e8
@@ -9777,320 +9943,106 @@
 d6
 f0
 e1
-8b
-90
-4c
-c1
-e0
-fe
-70
-1a
-90
-4e
-e6
-e0
-ff
-7b
-2b
-7d
-04
-91
-98
-90
-4e
-e6
-e0
-30
-e0
-3e
-90
-4c
-f8
-74
-0a
-f0
-80
-36
-ee
-b4
-01
-1a
-90
-4e
-e6
-e0
-ff
-7b
-2b
-7d
-04
-91
-98
-90
-4e
-e6
-e0
-30
-e0
-20
-90
-4c
-f8
-74
-0a
-f0
-80
-18
-90
-4e
-e6
-e0
-ff
-7b
-2b
-7d
-08
-91
-98
-90
-4e
-e6
-e0
-30
-e0
-06
-90
-4c
-f8
-74
-0a
-f0
-e4
-90
-4e
-e8
-f0
-e1
-8b
-90
-4c
-c1
-e0
-70
-1a
-90
-4e
-e6
-e0
-ff
-7b
-1d
-7d
-01
-91
-98
-90
-4e
-e6
-e0
-30
-e0
-20
-90
-4c
-f8
-74
-0a
-f0
-80
-18
-90
-4e
-e6
-e0
-ff
-7b
-1d
-7d
-08
-91
-98
-90
-4e
-e6
-e0
-30
-e0
-06
-90
-4c
-f8
-74
-0a
-f0
-e4
-90
-4e
-e8
-f0
-e1
-8b
-90
-4e
-e8
-74
-d5
-f0
-e1
-8b
-90
-4e
-e8
-74
-f4
-f0
-e1
-8b
-90
-4e
-e8
-74
-f2
-f0
-e1
-8b
-90
-4e
-e8
-74
-f5
-f0
-e1
-8b
-90
-4e
-e8
-74
-f8
-f0
-e1
-8b
-90
-4e
-e8
-74
-f6
-f0
-e1
-8b
-90
-4e
-e8
-74
-f7
-f0
-e1
-8b
-90
-4c
-c1
-e0
-ff
-64
-03
-60
-04
-ef
-b4
-02
-0d
+93
+90
+4c
+c1
+e0
+fe
+70
+1a
 90
 4e
 e6
 e0
 ff
 7b
-06
+2b
 7d
-08
+04
 91
-98
+a4
+90
+4e
+e6
+e0
+30
+e0
+3e
+90
+4c
+f8
+74
+0a
+f0
 80
-0b
+36
+ee
+b4
+01
+1a
 90
 4e
 e6
 e0
 ff
 7b
-06
+2b
 7d
-01
+04
 91
-98
-e4
+a4
 90
 4e
-e8
-f0
-80
-56
+e6
+e0
+30
+e0
+20
 90
 4c
-c1
-e0
-ff
-64
-03
-60
-04
-ef
-b4
-02
-0d
+f8
+74
+0a
+f0
+80
+18
 90
 4e
 e6
 e0
 ff
 7b
-19
+2b
 7d
 08
 91
-98
-80
-0b
+a4
 90
 4e
 e6
 e0
-ff
-7b
-19
-7d
-01
-91
-98
+30
+e0
+06
+90
+4c
+f8
+74
+0a
+f0
 e4
 90
 4e
 e8
 f0
 80
-2a
+5b
 90
 4c
 c1
 e0
-ff
-64
-03
-60
-04
-ef
-b4
-02
+70
 0d
 90
 4e
@@ -10098,11 +10050,11 @@
 e0
 ff
 7b
-1b
+1d
 7d
-08
+01
 91
-98
+a4
 80
 0b
 90
@@ -10111,16 +10063,72 @@
 e0
 ff
 7b
-1b
+1d
 7d
-01
+08
 91
-98
+a4
 e4
 90
 4e
 e8
 f0
+80
+36
+90
+4e
+e8
+74
+d5
+f0
+80
+2e
+90
+4e
+e8
+74
+f4
+f0
+80
+26
+90
+4e
+e8
+74
+f2
+f0
+80
+1e
+90
+4e
+e8
+74
+f5
+f0
+80
+16
+90
+4e
+e8
+74
+f8
+f0
+80
+0e
+90
+4e
+e8
+74
+f6
+f0
+80
+06
+90
+4e
+e8
+74
+f7
+f0
 90
 4e
 e8
@@ -10423,7 +10431,7 @@
 a3
 f0
 71
-6f
+77
 7a
 4d
 79
@@ -10453,7 +10461,7 @@
 79
 bc
 71
-25
+2d
 ef
 60
 1c
@@ -10466,7 +10474,7 @@
 7d
 14
 51
-f5
+fd
 ef
 70
 0f
@@ -10514,7 +10522,7 @@
 70
 02
 21
-d7
+df
 74
 bc
 2f
@@ -10534,7 +10542,7 @@
 ff
 12
 27
-91
+99
 90
 4e
 92
@@ -10546,7 +10554,7 @@
 50
 02
 21
-bf
+c7
 e4
 90
 4e
@@ -10684,7 +10692,7 @@
 04
 f0
 21
-3a
+42
 90
 4e
 8b
@@ -10694,7 +10702,7 @@
 09
 12
 27
-91
+99
 90
 4e
 8f
@@ -10708,7 +10716,7 @@
 04
 f0
 21
-08
+10
 90
 4e
 8f
@@ -10734,7 +10742,7 @@
 70
 02
 41
-c9
+d1
 74
 93
 2f
@@ -10789,9 +10797,9 @@
 70
 04
 41
-c1
+c9
 41
-c1
+c9
 90
 4e
 91
@@ -10882,7 +10890,7 @@
 fd
 12
 24
-bd
+c9
 90
 4e
 90
@@ -10902,7 +10910,7 @@
 ff
 12
 27
-9f
+a7
 80
 08
 90
@@ -10912,7 +10920,7 @@
 ff
 12
 27
-f5
+fd
 90
 4e
 8b
@@ -10950,7 +10958,7 @@
 04
 f0
 21
-e4
+ec
 90
 4e
 4b
@@ -11259,7 +11267,7 @@
 f0
 0f
 61
-7b
+83
 e4
 ff
 ef
@@ -11392,7 +11400,7 @@
 f0
 0f
 81
-00
+08
 e4
 ff
 ef
@@ -11556,7 +11564,7 @@
 80
 b0
 d1
-49
+51
 90
 81
 1c
@@ -11574,31 +11582,31 @@
 e4
 ff
 b1
-65
+6d
 7f
 01
 b1
-65
+6d
 7f
 02
 b1
-65
+6d
 7f
 03
 b1
-65
+6d
 7f
 04
 b1
-65
+6d
 7f
 05
 b1
-65
+6d
 7f
 06
 b1
-65
+6d
 7f
 07
 80
@@ -11625,7 +11633,7 @@
 ef
 f0
 d1
-04
+0c
 92
 08
 90
@@ -11643,7 +11651,7 @@
 70
 02
 c1
-03
+0b
 ef
 54
 07
@@ -11999,8 +12007,8 @@
 14
 f0
 12
-11
-a5
+10
+fd
 90
 4c
 e5
@@ -12008,7 +12016,7 @@
 70
 45
 d1
-7d
+85
 80
 41
 90
@@ -12209,7 +12217,7 @@
 c8
 12
 30
-12
+1a
 90
 4c
 eb
@@ -12536,7 +12544,7 @@
 70
 02
 41
-a2
+aa
 90
 4c
 95
@@ -12716,7 +12724,7 @@
 f9
 f0
 41
-31
+39
 90
 4c
 fa
@@ -13172,8 +13180,8 @@
 6f
 70
 02
-81
-ff
+a1
+07
 7e
 0c
 7f
@@ -13181,7 +13189,7 @@
 7d
 03
 71
-00
+08
 90
 4e
 ef
@@ -13240,8 +13248,8 @@
 12
 05
 dd
-81
-ff
+a1
+07
 90
 4e
 ef
@@ -13290,7 +13298,7 @@
 14
 fd
 71
-00
+08
 90
 4e
 ef
@@ -13347,8 +13355,8 @@
 12
 05
 dd
-81
-ff
+a1
+07
 90
 4e
 ef
@@ -13397,7 +13405,7 @@
 14
 fd
 71
-00
+08
 90
 4e
 ef
@@ -13504,7 +13512,7 @@
 14
 fd
 71
-00
+08
 90
 4e
 ef
@@ -13728,7 +13736,7 @@
 60
 02
 b1
-59
+61
 22
 90
 04
Index: c51/output/sched.rom
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/sched.rom	(revision 4914)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/output/sched.rom	(working copy)
@@ -120,7 +120,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT4.2 Keyboard
+'BT Keyboard
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
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
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/patch/kb.dat	(revision 4914)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/patch/kb.dat	(working copy)
@@ -120,7 +120,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT4.2 Keyboard
+'BT Keyboard
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
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
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/patch/sch.rom	(revision 4914)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/patch/sch.rom	(working copy)
@@ -120,7 +120,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT4.2 Keyboard
+'BT Keyboard
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
Index: c51/patch/sched.rom
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/patch/sched.rom	(revision 4914)
+++ /branch/mouse_project/LeXiang/Keyboard/KD9025_2mode/c51/patch/sched.rom	(working copy)
@@ -120,7 +120,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT4.2 Keyboard
+'BT Keyboard
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
Index: c51/patch/sys.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
