Index: c51/bluetooth.c
===================================================================
--- /YJX_KB_Project/1026_KB/CK8006/c51/bluetooth.c	(revision 210)
+++ /YJX_KB_Project/1026_KB/CK8006/c51/bluetooth.c	(working copy)
@@ -60,6 +60,7 @@
 void YC_start_reconnect()
 {
 	power_on_flag = 2;
+	g_variable.reconn_timer_count = 20;
 	YC_key_action_handle(KEY_START_24G);
 }
 
Index: c51/global_variable.h
===================================================================
--- /YJX_KB_Project/1026_KB/CK8006/c51/global_variable.h	(revision 210)
+++ /YJX_KB_Project/1026_KB/CK8006/c51/global_variable.h	(working copy)
@@ -95,6 +95,7 @@
 	 byte key_combination_keyvalue;		// 0x4cf6
 	 byte battery_low_led_flash_flag;		// 0x4cf7
 	 byte one_key_press_wait_release_timer;
+	 byte reconn_timer_count;			//0x4cf9
 	
 	 byte mouse_data_send_flag;
 	 byte sensor_key;
Index: c51/kb_process.c
===================================================================
--- /YJX_KB_Project/1026_KB/CK8006/c51/kb_process.c	(revision 210)
+++ /YJX_KB_Project/1026_KB/CK8006/c51/kb_process.c	(working copy)
@@ -231,29 +231,42 @@
 	xmemclear(hidBuff,9);
 	xmemclear(multikey,9);
 
-	////////////////////////////2.4g pairing////////////////////////////////////
-	if ((pEvt->ksPool[0]  == HID_KEY_Q&& pEvt->ksPool[1]  == HID_KEY_ESC) 
-		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_Q) 
-		)
-	{
-		m_24g_paring_addr[0] = 0x20;
-		m_24g_paring_addr[1] = 0x15;
-		m_24g_paring_addr[2] = 0x10;
-		m_24g_paring_addr[3] = 0x05;
-		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
-		{
-			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-		}
-		else
-		{
-			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-		}
-	}
-	else
+	if (pEvt->ksPool[0]  == HID_KEY_K45) 
 	{
-		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+		xmemclear(hidBuff,9);
+		hidBuff[0] = HID_REPORTID_1;
+		hidBuff[3] |= HID_KEY_LEFT_ALT;
+		hidBuff[4] |= HID_KEY_KP_1;
+		hidBuff[5] |= HID_KEY_KP_2;
+		hidBuff[6] |= HID_KEY_KP_8;
+		IPC_TxHidData(hidBuff, 9);
+		return;
 	}
 
+	////////////////////////////2.4g pairing////////////////////////////////////
+//	if ((pEvt->ksPool[0]  == HID_KEY_KP_5&& pEvt->ksPool[1]  == HID_KEY_TAB) 
+//		||(pEvt->ksPool[0]  == HID_KEY_TAB&& pEvt->ksPool[1]  == HID_KEY_KP_5) 
+//		)
+//	{
+
+//		m_24g_paring_addr[0] = 0x20;
+//		m_24g_paring_addr[1] = 0x15;
+//		m_24g_paring_addr[2] = 0x10;
+//		m_24g_paring_addr[3] = 0x05;
+//		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
+//		{
+//			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+//		}
+//		else
+//		{
+//			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+//		}
+//	}
+//	else
+//	{
+//		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+//	}
+
 	m_power_on_flag = 1;
 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
Index: c51/output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/FW.COD
===================================================================
--- /YJX_KB_Project/1026_KB/CK8006/c51/output/FW.COD	(revision 210)
+++ /YJX_KB_Project/1026_KB/CK8006/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               09/28/2020  16:54:51  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               11/23/2020  17:50:44  PAGE 1
 
 
 
@@ -227,7 +227,7 @@
 00078C 7974              MOV     R1,#074H
 00078E A201              MOV     C,bit_val
 000790 9200              MOV     ?_gpioSetBit?BIT,C
-000792 1216A1            LCALL   _gpioSetBit
+000792 1216BC            LCALL   _gpioSetBit
 000795         ?C0007?GPIO:
 000795 22                RET     
 ----- FUNCTION _GPIO_Setout (END) -------
@@ -235,96 +235,96 @@
 
 ----- FUNCTION LED_timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  160: void LED_timer500ms()
-  161: {
-  162: 	if (power_on_flag != 2)
-  163: 		return;
+  161: void LED_timer500ms()
+  162: {
+  163: 	if (power_on_flag != 2)
+  164: 		return;
 000796 904DE1            MOV     DPTR,#power_on_flag
 000799 E0                MOVX    A,@DPTR
 00079A 6402              XRL     A,#02H
 00079C 7052              JNZ     ?C0027?SYS
 00079E         ?C0026?SYS:
-  164:  	if (g_variable.pairing_g24_timeout != 0)
+  165:  	if (g_variable.pairing_g24_timeout != 0)
 00079E 904CEE            MOV     DPTR,#g_variable+02FH
 0007A1 E0                MOVX    A,@DPTR
 0007A2 6005              JZ      ?C0029?SYS
-  165: 	{
-  166: 		GPIO_FlipOutBit(G24_LED_GPIO);
+  166: 	{
+  167: 		GPIO_FlipOutBit(G24_LED_GPIO);
 0007A4 7F1E              MOV     R7,#01EH
-0007A6 122360            LCALL   _GPIO_FlipOutBit
-  167: 	}
-  168: 	else
-  169: 	{
-  170: 		
-  171: 	}
+0007A6 1217BB            LCALL   _GPIO_FlipOutBit
+  168: 	}
+  169: 	else
+  170: 	{
+  171: 		
+  172: 	}
 0007A9         ?C0029?SYS:
-  172: 
-  173: 	
-  174: 	if (YC_check_is_connected())
+  173: 
+  174: 	
+  175: 	if (YC_check_is_connected())
 0007A9 D1C2              ACALL   YC_check_is_connected
 0007AB EF                MOV     A,R7
 0007AC 6042              JZ      ?C0027?SYS
-  175: 	{
-  176: 		if(g_variable.sys_numlockled_on_timer)
+  176: 	{
+  177: 		if(g_variable.sys_numlockled_on_timer)
 0007AE 904CE6            MOV     DPTR,#g_variable+027H
 0007B1 E0                MOVX    A,@DPTR
 0007B2 6016              JZ      ?C0031?SYS
-  177: 		{
-  178: 			g_variable.sys_numlockled_on_timer--;
+  178: 		{
+  179: 			g_variable.sys_numlockled_on_timer--;
 0007B4 14                DEC     A
 0007B5 F0                MOVX    @DPTR,A
-  179: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
+  180: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
 0007B6 D201              SETB    ?_GPIO_Setout?BIT
 0007B8 7F1F              MOV     R7,#01FH
 0007BA F184              ACALL   _GPIO_Setout
-  180: 			if(!g_variable.sys_numlockled_on_timer)
+  181: 			if(!g_variable.sys_numlockled_on_timer)
 0007BC 904CE6            MOV     DPTR,#g_variable+027H
 0007BF E0                MOVX    A,@DPTR
 0007C0 700E              JNZ     ?C0033?SYS
-  181: 				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+  182: 				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
 0007C2 C201              CLR     ?_GPIO_Setout?BIT
 0007C4 7F1F              MOV     R7,#01FH
 0007C6 F184              ACALL   _GPIO_Setout
-  182: 		}
+  183: 		}
 0007C8 8006              SJMP    ?C0033?SYS
 0007CA         ?C0031?SYS:
-  183: 		else 
-  184: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+  184: 		else 
+  185: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
 0007CA C201              CLR     ?_GPIO_Setout?BIT
 0007CC 7F1F              MOV     R7,#01FH
 0007CE F184              ACALL   _GPIO_Setout
 0007D0         ?C0033?SYS:
-  185: 			
-  186: 
-  187: 		if(g_variable.sys_capslockled_on_timer)
+  186: 			
+  187: 
+  188: 		if(g_variable.sys_capslockled_on_timer)
 0007D0 904CE7            MOV     DPTR,#g_variable+028H
 0007D3 E0                MOVX    A,@DPTR
 0007D4 6014              JZ      ?C0034?SYS
-  188: 		{
-  189: 			g_variable.sys_capslockled_on_timer--;
+  189: 		{
+  190: 			g_variable.sys_capslockled_on_timer--;
 0007D6 14                DEC     A
 0007D7 F0                MOVX    @DPTR,A
-  190: 			GPIO_Setout(CAPS_LED_GPIO, LED_ON);
+  191: 			GPIO_Setout(CAPS_LED_GPIO, LED_ON);
 0007D8 D201              SETB    ?_GPIO_Setout?BIT
 0007DA 7F1D              MOV     R7,#01DH
 0007DC F184              ACALL   _GPIO_Setout
-  191: 			if(!g_variable.sys_capslockled_on_timer)
+  192: 			if(!g_variable.sys_capslockled_on_timer)
 0007DE 904CE7            MOV     DPTR,#g_variable+028H
 0007E1 E0                MOVX    A,@DPTR
 0007E2 700C              JNZ     ?C0027?SYS
-  192: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+  193: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
 0007E4 C201              CLR     ?_GPIO_Setout?BIT
 0007E6 7F1D              MOV     R7,#01DH
 0007E8 809A              SJMP    _GPIO_Setout
-  193: 		}
+  194: 		}
 0007EA         ?C0034?SYS:
-  194: 		else
-  195: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+  195: 		else
+  196: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
 0007EA C201              CLR     ?_GPIO_Setout?BIT
 0007EC 7F1D              MOV     R7,#01DH
 0007EE F184              ACALL   _GPIO_Setout
-  196: 	}	
-  197: }
+  197: 	}	
+  198: }
 0007F0         ?C0027?SYS:
 0007F0 22                RET     
 ----- FUNCTION LED_timer500ms (END) -------
@@ -332,14 +332,14 @@
 
 ----- FUNCTION System_long_sleep (BEGIN) -----
  FILE: 'sys.c'
-   64: void System_long_sleep()
-   65: { 
-   66: 	m_reconnect_continue = 0;
-   67: 	IPC_TxControlCmd(IPC_CMD_ENTER_HIBERNATE);
+   65: void System_long_sleep()
+   66: { 
+   67: 	m_reconnect_continue = 0;
+   68: 	IPC_TxControlCmd(IPC_CMD_ENTER_HIBERNATE);
 0007F1 E4                CLR     A
 0007F2 904D38            MOV     DPTR,#m_reconnect_continue
 0007F5 F0                MOVX    @DPTR,A
-   68: }
+   69: }
 0007F6 7F19              MOV     R7,#019H
 ;----                  JMP     _IPC_TxControlCmd
 ----- FUNCTION System_long_sleep (END) -------
@@ -408,7 +408,7 @@
 00084B E0                MOVX    A,@DPTR
 00084C FD                MOV     R5,A
 00084D 7B64              MOV     R3,#064H
-00084F 122133            LCALL   _bufsize
+00084F 1220BF            LCALL   _bufsize
 000852 904E49            MOV     DPTR,#len
 000855 E0                MOVX    A,@DPTR
 000856 FE                MOV     R6,A
@@ -639,7 +639,7 @@
 00097B E0                MOVX    A,@DPTR
 00097C 4A                ORL     A,R2
 00097D 7002              JNZ     $ + 4H
-00097F 6155              AJMP    ?C0051?KB_PROCESS
+00097F 613A              AJMP    ?C0051?KB_PROCESS
 000981         ?C0050?KB_PROCESS:
   227: 		return;
   228: 
@@ -659,17 +659,16 @@
 000992 7900              MOV     R1,#LOW hidBuff
 000994 7D09              MOV     R5,#09H
 000996 FC                MOV     R4,A
-000997 B1CE              ACALL   _xmemclear
+000997 B1B3              ACALL   _xmemclear
   232: 	xmemclear(multikey,9);
 000999 7B01              MOV     R3,#01H
 00099B 7A4D              MOV     R2,#HIGH multikey
 00099D 79E5              MOV     R1,#LOW multikey
 00099F 7D09              MOV     R5,#09H
 0009A1 7C00              MOV     R4,#00H
-0009A3 B1CE              ACALL   _xmemclear
+0009A3 B1B3              ACALL   _xmemclear
   233: 
-  234: 	////////////////////////////2.4g pairing////////////////////////////////////
-  235: 	if ((pEvt->ksPool[0]  == HID_KEY_Q&& pEvt->ksPool[1]  == HID_KEY_ESC) 
+  234: 	if (pEvt->ksPool[0]  == HID_KEY_K45) 
 0009A5 904E52            MOV     DPTR,#pEvt
 0009A8 E0                MOVX    A,@DPTR
 0009A9 FB                MOV     R3,A
@@ -681,876 +680,875 @@
 0009AF F9                MOV     R1,A
 0009B0 900001            MOV     DPTR,#01H
 0009B3 1203CF            LCALL   ?C?CLDOPTR
-0009B6 FF                MOV     R7,A
-0009B7 B4140A            CJNE    A,#014H,?C0054?KB_PROCESS
-0009BA 900002            MOV     DPTR,#02H
-0009BD 1203CF            LCALL   ?C?CLDOPTR
-0009C0 6429              XRL     A,#029H
-0009C2 600F              JZ      ?C0053?KB_PROCESS
-0009C4         ?C0054?KB_PROCESS:
-0009C4 EF                MOV     A,R7
-0009C5 6429              XRL     A,#029H
-0009C7 7036              JNZ     ?C0052?KB_PROCESS
-0009C9 900002            MOV     DPTR,#02H
-0009CC 1203CF            LCALL   ?C?CLDOPTR
-0009CF 6414              XRL     A,#014H
-0009D1 702C              JNZ     ?C0052?KB_PROCESS
-0009D3         ?C0053?KB_PROCESS:
-  236: 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_Q) 
-  237: 		)
-  238: 	{
-  239: 		m_24g_paring_addr[0] = 0x20;
-0009D3 904BEB            MOV     DPTR,#m_24g_paring_addr
-0009D6 7420              MOV     A,#020H
-0009D8 F0                MOVX    @DPTR,A
-  240: 		m_24g_paring_addr[1] = 0x15;
-0009D9 A3                INC     DPTR
-0009DA 7415              MOV     A,#015H
-0009DC F0                MOVX    @DPTR,A
-  241: 		m_24g_paring_addr[2] = 0x10;
-0009DD A3                INC     DPTR
-0009DE 7410              MOV     A,#010H
+0009B6 6464              XRL     A,#064H
+0009B8 7031              JNZ     ?C0052?KB_PROCESS
+  235: 	{
+  236: 		xmemclear(hidBuff,9);
+0009BA 7B01              MOV     R3,#01H
+0009BC 7A48              MOV     R2,#HIGH hidBuff
+0009BE 7900              MOV     R1,#LOW hidBuff
+0009C0 7D09              MOV     R5,#09H
+0009C2 FC                MOV     R4,A
+0009C3 B1B3              ACALL   _xmemclear
+  237: 		hidBuff[0] = HID_REPORTID_1;
+0009C5 904800            MOV     DPTR,#hidBuff
+0009C8 7401              MOV     A,#01H
+0009CA F0                MOVX    @DPTR,A
+  238: 		hidBuff[3] |= HID_KEY_LEFT_ALT;
+0009CB 904803            MOV     DPTR,#hidBuff+03H
+0009CE E0                MOVX    A,@DPTR
+0009CF 44E2              ORL     A,#0E2H
+0009D1 F0                MOVX    @DPTR,A
+  239: 		hidBuff[4] |= HID_KEY_KP_1;
+0009D2 A3                INC     DPTR
+0009D3 E0                MOVX    A,@DPTR
+0009D4 4459              ORL     A,#059H
+0009D6 F0                MOVX    @DPTR,A
+  240: 		hidBuff[5] |= HID_KEY_KP_2;
+0009D7 A3                INC     DPTR
+0009D8 E0                MOVX    A,@DPTR
+0009D9 445A              ORL     A,#05AH
+0009DB F0                MOVX    @DPTR,A
+  241: 		hidBuff[6] |= HID_KEY_KP_8;
+0009DC A3                INC     DPTR
+0009DD E0                MOVX    A,@DPTR
+0009DE 4460              ORL     A,#060H
 0009E0 F0                MOVX    @DPTR,A
-  242: 		m_24g_paring_addr[3] = 0x05;
-0009E1 A3                INC     DPTR
-0009E2 7405              MOV     A,#05H
-0009E4 F0                MOVX    @DPTR,A
-  243: 		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
-0009E5 904CC5            MOV     DPTR,#g_variable+06H
-0009E8 E0                MOVX    A,@DPTR
-0009E9 6401              XRL     A,#01H
-0009EB 6009              JZ      ?C0055?KB_PROCESS
-  244: 		{
-  245: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-0009ED 904CCE            MOV     DPTR,#g_variable+0FH
-0009F0 E0                MOVX    A,@DPTR
-0009F1 4410              ORL     A,#010H
-0009F3 F0                MOVX    @DPTR,A
-  246: 		}
-0009F4 8010              SJMP    ?C0057?KB_PROCESS
-0009F6         ?C0055?KB_PROCESS:
-  247: 		else
-  248: 		{
-  249: 			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-0009F6 904CCE            MOV     DPTR,#g_variable+0FH
-0009F9 E0                MOVX    A,@DPTR
-0009FA 54EF              ANL     A,#0EFH
-0009FC F0                MOVX    @DPTR,A
-  250: 		}
-  251: 	}
-0009FD 8007              SJMP    ?C0057?KB_PROCESS
-0009FF         ?C0052?KB_PROCESS:
-  252: 	else
-  253: 	{
-  254: 		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-0009FF 904CCE            MOV     DPTR,#g_variable+0FH
-000A02 E0                MOVX    A,@DPTR
-000A03 54EF              ANL     A,#0EFH
-000A05 F0                MOVX    @DPTR,A
-  255: 	}
-000A06         ?C0057?KB_PROCESS:
-  256: 
-  257: 	m_power_on_flag = 1;
-000A06 904CB6            MOV     DPTR,#m_power_on_flag
-000A09 7401              MOV     A,#01H
-000A0B F0                MOVX    @DPTR,A
-  258: 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
-000A0C 904CF4            MOV     DPTR,#g_variable+035H
-000A0F E0                MOVX    A,@DPTR
-000A10 FF                MOV     R7,A
-000A11 6401              XRL     A,#01H
-000A13 7002              JNZ     $ + 4H
-000A15 6155              AJMP    ?C0051?KB_PROCESS
-000A17 EF                MOV     A,R7
-000A18 6404              XRL     A,#04H
-000A1A 7002              JNZ     $ + 4H
-000A1C 6155              AJMP    ?C0051?KB_PROCESS
-000A1E EF                MOV     A,R7
-000A1F 6402              XRL     A,#02H
-000A21 7002              JNZ     $ + 4H
-000A23 6155              AJMP    ?C0051?KB_PROCESS
-  259: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
-  260: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
-  261: 	{
-  262: 		return;
-  263: 	}
-000A25         ?C0058?KB_PROCESS:
-  264: 
-  265: 	// get 24g led status
-  266: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-000A25 904CC5            MOV     DPTR,#g_variable+06H
-000A28 E0                MOVX    A,@DPTR
-000A29 6403              XRL     A,#03H
-000A2B 7045              JNZ     ?C0060?KB_PROCESS
-  267: 	{
-  268: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
-000A2D 904E56            MOV     DPTR,#i
-000A30 F0                MOVX    @DPTR,A
-000A31         ?C0061?KB_PROCESS:
-000A31 904E56            MOV     DPTR,#i
-000A34 E0                MOVX    A,@DPTR
-000A35 FF                MOV     R7,A
-000A36 C3                CLR     C
-000A37 9405              SUBB    A,#05H
-000A39 5037              JNC     ?C0060?KB_PROCESS
-  269: 		{
-  270: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
-000A3B 904E52            MOV     DPTR,#pEvt
-000A3E E0                MOVX    A,@DPTR
-000A3F FB                MOV     R3,A
-000A40 A3                INC     DPTR
-000A41 E0                MOVX    A,@DPTR
-000A42 FA                MOV     R2,A
-000A43 A3                INC     DPTR
-000A44 E0                MOVX    A,@DPTR
-000A45 2401              ADD     A,#01H
-000A47 F9                MOV     R1,A
-000A48 E4                CLR     A
-000A49 3A                ADDC    A,R2
-000A4A FA                MOV     R2,A
-000A4B 7E00              MOV     R6,#00H
-000A4D E9                MOV     A,R1
-000A4E 2F                ADD     A,R7
-000A4F F9                MOV     R1,A
-000A50 EE                MOV     A,R6
-000A51 3A                ADDC    A,R2
-000A52 FA                MOV     R2,A
-000A53 1203B6            LCALL   ?C?CLDPTR
-000A56 FF                MOV     R7,A
-000A57 6439              XRL     A,#039H
-000A59 6009              JZ      ?C0065?KB_PROCESS
-000A5B EF                MOV     A,R7
-000A5C 6453              XRL     A,#053H
-000A5E 6004              JZ      ?C0065?KB_PROCESS
-000A60 EF                MOV     A,R7
-000A61 B44706            CJNE    A,#047H,?C0063?KB_PROCESS
-000A64         ?C0065?KB_PROCESS:
-  271: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
-  272: 			{
-  273: 				get_24g_led_send = 1;
-000A64 904DD0            MOV     DPTR,#get_24g_led_send
-000A67 7401              MOV     A,#01H
-000A69 F0                MOVX    @DPTR,A
-  274: 			}
-  275: 		}
-000A6A         ?C0063?KB_PROCESS:
-000A6A 904E56            MOV     DPTR,#i
-000A6D E0                MOVX    A,@DPTR
-000A6E 04                INC     A
-000A6F F0                MOVX    @DPTR,A
-000A70 80BF              SJMP    ?C0061?KB_PROCESS
+  242: 		IPC_TxHidData(hidBuff, 9);
+0009E1 7B01              MOV     R3,#01H
+0009E3 7A48              MOV     R2,#HIGH hidBuff
+0009E5 7900              MOV     R1,#LOW hidBuff
+0009E7 7D09              MOV     R5,#09H
+0009E9 C169              AJMP    _IPC_TxHidData
+  243: 		return;
+  244: 	}
+0009EB         ?C0052?KB_PROCESS:
+  245: 
+  246: 	////////////////////////////2.4g pairing////////////////////////////////////
+  247: //	if ((pEvt->ksPool[0]  == HID_KEY_KP_5&& pEvt->ksPool[1]  == HID_KEY_TAB) 
+  248: //		||(pEvt->ksPool[0]  == HID_KEY_TAB&& pEvt->ksPool[1]  == HID_KEY_KP_5) 
+  249: //		)
+  250: //	{
+  251: 
+  252: //		m_24g_paring_addr[0] = 0x20;
+  253: //		m_24g_paring_addr[1] = 0x15;
+  254: //		m_24g_paring_addr[2] = 0x10;
+  255: //		m_24g_paring_addr[3] = 0x05;
+  256: //		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
+  257: //		{
+  258: //			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  259: //		}
+  260: //		else
+  261: //		{
+  262: //			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  263: //		}
+  264: //	}
+  265: //	else
+  266: //	{
+  267: //		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  268: //	}
+  269: 
+  270: 	m_power_on_flag = 1;
+0009EB 904CB6            MOV     DPTR,#m_power_on_flag
+0009EE 7401              MOV     A,#01H
+0009F0 F0                MOVX    @DPTR,A
+  271: 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
+0009F1 904CF4            MOV     DPTR,#g_variable+035H
+0009F4 E0                MOVX    A,@DPTR
+0009F5 FF                MOV     R7,A
+0009F6 6401              XRL     A,#01H
+0009F8 7002              JNZ     $ + 4H
+0009FA 613A              AJMP    ?C0051?KB_PROCESS
+0009FC EF                MOV     A,R7
+0009FD 6404              XRL     A,#04H
+0009FF 7002              JNZ     $ + 4H
+000A01 613A              AJMP    ?C0051?KB_PROCESS
+000A03 EF                MOV     A,R7
+000A04 6402              XRL     A,#02H
+000A06 7002              JNZ     $ + 4H
+000A08 613A              AJMP    ?C0051?KB_PROCESS
+  272: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
+  273: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
+  274: 	{
+  275: 		return;
   276: 	}
-000A72         ?C0060?KB_PROCESS:
+000A0A         ?C0053?KB_PROCESS:
   277: 
-  278: 	kb_multikey_setup(pEvt);
-000A72 904E52            MOV     DPTR,#pEvt
-000A75 E0                MOVX    A,@DPTR
-000A76 FB                MOV     R3,A
-000A77 A3                INC     DPTR
-000A78 E0                MOVX    A,@DPTR
-000A79 FA                MOV     R2,A
-000A7A A3                INC     DPTR
-000A7B E0                MOVX    A,@DPTR
-000A7C F9                MOV     R1,A
-000A7D 7156              ACALL   _kb_multikey_setup
-  279: 	
-  280: 	if (mult_key_status == KEY_PRESS) 
-000A7F 904DE4            MOV     DPTR,#mult_key_status
-000A82 E0                MOVX    A,@DPTR
-000A83 B40111            CJNE    A,#01H,?C0066?KB_PROCESS
-  281: 	{
-  282: 		mult_key_status = KEY_WAIT_RELEASE;
-000A86 7402              MOV     A,#02H
+  278: 	// get 24g led status
+  279: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+000A0A 904CC5            MOV     DPTR,#g_variable+06H
+000A0D E0                MOVX    A,@DPTR
+000A0E 6403              XRL     A,#03H
+000A10 7045              JNZ     ?C0055?KB_PROCESS
+  280: 	{
+  281: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
+000A12 904E56            MOV     DPTR,#i
+000A15 F0                MOVX    @DPTR,A
+000A16         ?C0056?KB_PROCESS:
+000A16 904E56            MOV     DPTR,#i
+000A19 E0                MOVX    A,@DPTR
+000A1A FF                MOV     R7,A
+000A1B C3                CLR     C
+000A1C 9405              SUBB    A,#05H
+000A1E 5037              JNC     ?C0055?KB_PROCESS
+  282: 		{
+  283: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
+000A20 904E52            MOV     DPTR,#pEvt
+000A23 E0                MOVX    A,@DPTR
+000A24 FB                MOV     R3,A
+000A25 A3                INC     DPTR
+000A26 E0                MOVX    A,@DPTR
+000A27 FA                MOV     R2,A
+000A28 A3                INC     DPTR
+000A29 E0                MOVX    A,@DPTR
+000A2A 2401              ADD     A,#01H
+000A2C F9                MOV     R1,A
+000A2D E4                CLR     A
+000A2E 3A                ADDC    A,R2
+000A2F FA                MOV     R2,A
+000A30 7E00              MOV     R6,#00H
+000A32 E9                MOV     A,R1
+000A33 2F                ADD     A,R7
+000A34 F9                MOV     R1,A
+000A35 EE                MOV     A,R6
+000A36 3A                ADDC    A,R2
+000A37 FA                MOV     R2,A
+000A38 1203B6            LCALL   ?C?CLDPTR
+000A3B FF                MOV     R7,A
+000A3C 6439              XRL     A,#039H
+000A3E 6009              JZ      ?C0060?KB_PROCESS
+000A40 EF                MOV     A,R7
+000A41 6453              XRL     A,#053H
+000A43 6004              JZ      ?C0060?KB_PROCESS
+000A45 EF                MOV     A,R7
+000A46 B44706            CJNE    A,#047H,?C0058?KB_PROCESS
+000A49         ?C0060?KB_PROCESS:
+  284: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
+  285: 			{
+  286: 				get_24g_led_send = 1;
+000A49 904DD0            MOV     DPTR,#get_24g_led_send
+000A4C 7401              MOV     A,#01H
+000A4E F0                MOVX    @DPTR,A
+  287: 			}
+  288: 		}
+000A4F         ?C0058?KB_PROCESS:
+000A4F 904E56            MOV     DPTR,#i
+000A52 E0                MOVX    A,@DPTR
+000A53 04                INC     A
+000A54 F0                MOVX    @DPTR,A
+000A55 80BF              SJMP    ?C0056?KB_PROCESS
+  289: 	}
+000A57         ?C0055?KB_PROCESS:
+  290: 
+  291: 	kb_multikey_setup(pEvt);
+000A57 904E52            MOV     DPTR,#pEvt
+000A5A E0                MOVX    A,@DPTR
+000A5B FB                MOV     R3,A
+000A5C A3                INC     DPTR
+000A5D E0                MOVX    A,@DPTR
+000A5E FA                MOV     R2,A
+000A5F A3                INC     DPTR
+000A60 E0                MOVX    A,@DPTR
+000A61 F9                MOV     R1,A
+000A62 713B              ACALL   _kb_multikey_setup
+  292: 	
+  293: 	if (mult_key_status == KEY_PRESS) 
+000A64 904DE4            MOV     DPTR,#mult_key_status
+000A67 E0                MOVX    A,@DPTR
+000A68 B40111            CJNE    A,#01H,?C0061?KB_PROCESS
+  294: 	{
+  295: 		mult_key_status = KEY_WAIT_RELEASE;
+000A6B 7402              MOV     A,#02H
+000A6D F0                MOVX    @DPTR,A
+  296: 		multikey[0] = HID_REPORTID_2;	
+000A6E 904DE5            MOV     DPTR,#multikey
+000A71 F0                MOVX    @DPTR,A
+  297: 		IPC_TxHidData(multikey, 3);
+000A72 7B01              MOV     R3,#01H
+000A74 7A4D              MOV     R2,#HIGH multikey
+000A76 79E5              MOV     R1,#LOW multikey
+000A78 7D03              MOV     R5,#03H
+000A7A C169              AJMP    _IPC_TxHidData
+  298: 	}
+000A7C         ?C0061?KB_PROCESS:
+  299: 	else if(mult_key_status == KEY_RELEASE)
+000A7C 904DE4            MOV     DPTR,#mult_key_status
+000A7F E0                MOVX    A,@DPTR
+000A80 B40316            CJNE    A,#03H,?C0063?KB_PROCESS
+  300: 	{
+  301: 		mult_key_status = KEY_STANDBY;
+000A83 E4                CLR     A
+000A84 F0                MOVX    @DPTR,A
+  302: 		mult_key_value = 0;
+000A85 904DE3            MOV     DPTR,#mult_key_value
 000A88 F0                MOVX    @DPTR,A
-  283: 		multikey[0] = HID_REPORTID_2;	
+  303: 		multikey[0] = HID_REPORTID_2;	
 000A89 904DE5            MOV     DPTR,#multikey
-000A8C F0                MOVX    @DPTR,A
-  284: 		IPC_TxHidData(multikey, 3);
-000A8D 7B01              MOV     R3,#01H
-000A8F 7A4D              MOV     R2,#HIGH multikey
-000A91 79E5              MOV     R1,#LOW multikey
-000A93 7D03              MOV     R5,#03H
-000A95 C1BC              AJMP    _IPC_TxHidData
-  285: 	}
-000A97         ?C0066?KB_PROCESS:
-  286: 	else if(mult_key_status == KEY_RELEASE)
-000A97 904DE4            MOV     DPTR,#mult_key_status
-000A9A E0                MOVX    A,@DPTR
-000A9B B40316            CJNE    A,#03H,?C0068?KB_PROCESS
-  287: 	{
-  288: 		mult_key_status = KEY_STANDBY;
-000A9E E4                CLR     A
-000A9F F0                MOVX    @DPTR,A
-  289: 		mult_key_value = 0;
-000AA0 904DE3            MOV     DPTR,#mult_key_value
-000AA3 F0                MOVX    @DPTR,A
-  290: 		multikey[0] = HID_REPORTID_2;	
-000AA4 904DE5            MOV     DPTR,#multikey
-000AA7 7402              MOV     A,#02H
-000AA9 F0                MOVX    @DPTR,A
-  291: 		IPC_TxHidData(multikey, 3);
-000AAA 7B01              MOV     R3,#01H
-000AAC 7A4D              MOV     R2,#HIGH multikey
-000AAE 79E5              MOV     R1,#LOW multikey
-000AB0 7D03              MOV     R5,#03H
-000AB2 C1BC              AJMP    _IPC_TxHidData
-  292: 	}
-000AB4         ?C0068?KB_PROCESS:
-  293: 	else 
-  294: 	{
-  295: 		hidBuff[0] = HID_REPORTID_1;
-000AB4 904800            MOV     DPTR,#hidBuff
-000AB7 7401              MOV     A,#01H
-000AB9 F0                MOVX    @DPTR,A
-  296: 		hidBuff[1] = pEvt->standardSel;
-000ABA 904E52            MOV     DPTR,#pEvt
-000ABD E0                MOVX    A,@DPTR
-000ABE FB                MOV     R3,A
-000ABF A3                INC     DPTR
-000AC0 E0                MOVX    A,@DPTR
-000AC1 FA                MOV     R2,A
-000AC2 A3                INC     DPTR
-000AC3 E0                MOVX    A,@DPTR
-000AC4 F9                MOV     R1,A
-000AC5 1203B6            LCALL   ?C?CLDPTR
-000AC8 904801            MOV     DPTR,#hidBuff+01H
-000ACB F0                MOVX    @DPTR,A
-  297: 		hidBuff[2] = 0;
-000ACC E4                CLR     A
+000A8C 7402              MOV     A,#02H
+000A8E F0                MOVX    @DPTR,A
+  304: 		IPC_TxHidData(multikey, 3);
+000A8F 7B01              MOV     R3,#01H
+000A91 7A4D              MOV     R2,#HIGH multikey
+000A93 79E5              MOV     R1,#LOW multikey
+000A95 7D03              MOV     R5,#03H
+000A97 C169              AJMP    _IPC_TxHidData
+  305: 	}
+000A99         ?C0063?KB_PROCESS:
+  306: 	else 
+  307: 	{
+  308: 		hidBuff[0] = HID_REPORTID_1;
+000A99 904800            MOV     DPTR,#hidBuff
+000A9C 7401              MOV     A,#01H
+000A9E F0                MOVX    @DPTR,A
+  309: 		hidBuff[1] = pEvt->standardSel;
+000A9F 904E52            MOV     DPTR,#pEvt
+000AA2 E0                MOVX    A,@DPTR
+000AA3 FB                MOV     R3,A
+000AA4 A3                INC     DPTR
+000AA5 E0                MOVX    A,@DPTR
+000AA6 FA                MOV     R2,A
+000AA7 A3                INC     DPTR
+000AA8 E0                MOVX    A,@DPTR
+000AA9 F9                MOV     R1,A
+000AAA 1203B6            LCALL   ?C?CLDPTR
+000AAD 904801            MOV     DPTR,#hidBuff+01H
+000AB0 F0                MOVX    @DPTR,A
+  310: 		hidBuff[2] = 0;
+000AB1 E4                CLR     A
+000AB2 A3                INC     DPTR
+000AB3 F0                MOVX    @DPTR,A
+  311: 
+  312: 		standard_key_release_flag = 0;
+000AB4 904DD8            MOV     DPTR,#standard_key_release_flag
+000AB7 F0                MOVX    @DPTR,A
+  313: 
+  314: 		if (pEvt->ksPool[0] == HID_KEY_FN)
+000AB8 900001            MOV     DPTR,#01H
+000ABB 1203CF            LCALL   ?C?CLDOPTR
+000ABE B4AF1E            CJNE    A,#0AFH,?C0065?KB_PROCESS
+  315: 			xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
+000AC1 7E48              MOV     R6,#HIGH hidBuff+03H
+000AC3 7F03              MOV     R7,#LOW hidBuff+03H
+000AC5 904E52            MOV     DPTR,#pEvt
+000AC8 E0                MOVX    A,@DPTR
+000AC9 FB                MOV     R3,A
+000ACA A3                INC     DPTR
+000ACB E0                MOVX    A,@DPTR
+000ACC FA                MOV     R2,A
 000ACD A3                INC     DPTR
-000ACE F0                MOVX    @DPTR,A
-  298: 
-  299: 		standard_key_release_flag = 0;
-000ACF 904DD8            MOV     DPTR,#standard_key_release_flag
-000AD2 F0                MOVX    @DPTR,A
-  300: 
-  301: 		if (pEvt->ksPool[0] == HID_KEY_FN)
-000AD3 900001            MOV     DPTR,#01H
-000AD6 1203CF            LCALL   ?C?CLDOPTR
-000AD9 B4AF1E            CJNE    A,#0AFH,?C0070?KB_PROCESS
-  302: 			xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
-000ADC 7E48              MOV     R6,#HIGH hidBuff+03H
-000ADE 7F03              MOV     R7,#LOW hidBuff+03H
-000AE0 904E52            MOV     DPTR,#pEvt
-000AE3 E0                MOVX    A,@DPTR
-000AE4 FB                MOV     R3,A
-000AE5 A3                INC     DPTR
+000ACE E0                MOVX    A,@DPTR
+000ACF 2402              ADD     A,#02H
+000AD1 F9                MOV     R1,A
+000AD2 E4                CLR     A
+000AD3 3A                ADDC    A,R2
+000AD4 FA                MOV     R2,A
+000AD5 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
+000AD8 7405              MOV     A,#05H
+000ADA F0                MOVX    @DPTR,A
+000ADB 11DA              ACALL   _xmemcpy
+000ADD 801C              SJMP    ?C0066?KB_PROCESS
+000ADF         ?C0065?KB_PROCESS:
+  316: 		else
+  317: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
+000ADF 7E48              MOV     R6,#HIGH hidBuff+03H
+000AE1 7F03              MOV     R7,#LOW hidBuff+03H
+000AE3 904E52            MOV     DPTR,#pEvt
 000AE6 E0                MOVX    A,@DPTR
-000AE7 FA                MOV     R2,A
+000AE7 FB                MOV     R3,A
 000AE8 A3                INC     DPTR
 000AE9 E0                MOVX    A,@DPTR
-000AEA 2402              ADD     A,#02H
-000AEC F9                MOV     R1,A
-000AED E4                CLR     A
-000AEE 3A                ADDC    A,R2
-000AEF FA                MOV     R2,A
-000AF0 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
-000AF3 7405              MOV     A,#05H
-000AF5 F0                MOVX    @DPTR,A
-000AF6 11DA              ACALL   _xmemcpy
-000AF8 801C              SJMP    ?C0071?KB_PROCESS
-000AFA         ?C0070?KB_PROCESS:
-  303: 		else
-  304: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
-000AFA 7E48              MOV     R6,#HIGH hidBuff+03H
-000AFC 7F03              MOV     R7,#LOW hidBuff+03H
-000AFE 904E52            MOV     DPTR,#pEvt
-000B01 E0                MOVX    A,@DPTR
-000B02 FB                MOV     R3,A
-000B03 A3                INC     DPTR
+000AEA FA                MOV     R2,A
+000AEB A3                INC     DPTR
+000AEC E0                MOVX    A,@DPTR
+000AED 2401              ADD     A,#01H
+000AEF F9                MOV     R1,A
+000AF0 E4                CLR     A
+000AF1 3A                ADDC    A,R2
+000AF2 FA                MOV     R2,A
+000AF3 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
+000AF6 7406              MOV     A,#06H
+000AF8 F0                MOVX    @DPTR,A
+000AF9 11DA              ACALL   _xmemcpy
+000AFB         ?C0066?KB_PROCESS:
+  318: 		
+  319: 		for(i = 3; i<9;i++)
+000AFB 904E56            MOV     DPTR,#i
+000AFE 7403              MOV     A,#03H
+000B00 F0                MOVX    @DPTR,A
+000B01         ?C0067?KB_PROCESS:
+000B01 904E56            MOV     DPTR,#i
 000B04 E0                MOVX    A,@DPTR
-000B05 FA                MOV     R2,A
-000B06 A3                INC     DPTR
-000B07 E0                MOVX    A,@DPTR
-000B08 2401              ADD     A,#01H
-000B0A F9                MOV     R1,A
-000B0B E4                CLR     A
-000B0C 3A                ADDC    A,R2
-000B0D FA                MOV     R2,A
-000B0E 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
-000B11 7406              MOV     A,#06H
-000B13 F0                MOVX    @DPTR,A
-000B14 11DA              ACALL   _xmemcpy
-000B16         ?C0071?KB_PROCESS:
-  305: 		
-  306: 		for(i = 3; i<9;i++)
-000B16 904E56            MOV     DPTR,#i
-000B19 7403              MOV     A,#03H
-000B1B F0                MOVX    @DPTR,A
-000B1C         ?C0072?KB_PROCESS:
-000B1C 904E56            MOV     DPTR,#i
-000B1F E0                MOVX    A,@DPTR
-000B20 FF                MOV     R7,A
-000B21 C3                CLR     C
-000B22 9409              SUBB    A,#09H
-000B24 5025              JNC     ?C0073?KB_PROCESS
-  307: 		{
-  308: 			if (hidBuff[i] == HID_KEY_FN)
-000B26 7400              MOV     A,#LOW hidBuff
-000B28 2F                ADD     A,R7
-000B29 F582              MOV     DPL,A
-000B2B E4                CLR     A
-000B2C 3448              ADDC    A,#HIGH hidBuff
-000B2E F583              MOV     DPH,A
-000B30 E0                MOVX    A,@DPTR
-000B31 B4AF0F            CJNE    A,#0AFH,?C0074?KB_PROCESS
-  309: 				hidBuff[i] = 0;
-000B34 904E56            MOV     DPTR,#i
-000B37 E0                MOVX    A,@DPTR
-000B38 2400              ADD     A,#LOW hidBuff
-000B3A F582              MOV     DPL,A
-000B3C E4                CLR     A
-000B3D 3448              ADDC    A,#HIGH hidBuff
-000B3F F583              MOV     DPH,A
-000B41 E4                CLR     A
-000B42 F0                MOVX    @DPTR,A
-  310: 		}
-000B43         ?C0074?KB_PROCESS:
-000B43 904E56            MOV     DPTR,#i
-000B46 E0                MOVX    A,@DPTR
-000B47 04                INC     A
-000B48 F0                MOVX    @DPTR,A
-000B49 80D1              SJMP    ?C0072?KB_PROCESS
-000B4B         ?C0073?KB_PROCESS:
-  311: 		
-  312: 		IPC_TxHidData(hidBuff, 9);
-000B4B 7B01              MOV     R3,#01H
-000B4D 7A48              MOV     R2,#HIGH hidBuff
-000B4F 7900              MOV     R1,#LOW hidBuff
-000B51 7D09              MOV     R5,#09H
-000B53 D1BC              ACALL   _IPC_TxHidData
-  313: 	}
-  314: 	return;
-  315: }
-000B55         ?C0051?KB_PROCESS:
-000B55 22                RET     
+000B05 FF                MOV     R7,A
+000B06 C3                CLR     C
+000B07 9409              SUBB    A,#09H
+000B09 5025              JNC     ?C0068?KB_PROCESS
+  320: 		{
+  321: 			if (hidBuff[i] == HID_KEY_FN)
+000B0B 7400              MOV     A,#LOW hidBuff
+000B0D 2F                ADD     A,R7
+000B0E F582              MOV     DPL,A
+000B10 E4                CLR     A
+000B11 3448              ADDC    A,#HIGH hidBuff
+000B13 F583              MOV     DPH,A
+000B15 E0                MOVX    A,@DPTR
+000B16 B4AF0F            CJNE    A,#0AFH,?C0069?KB_PROCESS
+  322: 				hidBuff[i] = 0;
+000B19 904E56            MOV     DPTR,#i
+000B1C E0                MOVX    A,@DPTR
+000B1D 2400              ADD     A,#LOW hidBuff
+000B1F F582              MOV     DPL,A
+000B21 E4                CLR     A
+000B22 3448              ADDC    A,#HIGH hidBuff
+000B24 F583              MOV     DPH,A
+000B26 E4                CLR     A
+000B27 F0                MOVX    @DPTR,A
+  323: 		}
+000B28         ?C0069?KB_PROCESS:
+000B28 904E56            MOV     DPTR,#i
+000B2B E0                MOVX    A,@DPTR
+000B2C 04                INC     A
+000B2D F0                MOVX    @DPTR,A
+000B2E 80D1              SJMP    ?C0067?KB_PROCESS
+000B30         ?C0068?KB_PROCESS:
+  324: 		
+  325: 		IPC_TxHidData(hidBuff, 9);
+000B30 7B01              MOV     R3,#01H
+000B32 7A48              MOV     R2,#HIGH hidBuff
+000B34 7900              MOV     R1,#LOW hidBuff
+000B36 7D09              MOV     R5,#09H
+000B38 D169              ACALL   _IPC_TxHidData
+  326: 	}
+  327: 	return;
+  328: }
+000B3A         ?C0051?KB_PROCESS:
+000B3A 22                RET     
 ----- FUNCTION _kb_motion_keyscan (END) -------
 
 
 ----- FUNCTION _kb_multikey_setup (BEGIN) -----
  FILE: 'kb_process.c'
-  397: void kb_multikey_setup(tKSEVENT *pEvt)
-  398: {
+  410: void kb_multikey_setup(tKSEVENT *pEvt)
+  411: {
+000B3B 904E65            MOV     DPTR,#pEvt
+000B3E EB                MOV     A,R3
+000B3F F0                MOVX    @DPTR,A
+000B40 A3                INC     DPTR
+000B41 EA                MOV     A,R2
+000B42 F0                MOVX    @DPTR,A
+000B43 A3                INC     DPTR
+000B44 E9                MOV     A,R1
+000B45 F0                MOVX    @DPTR,A
+  412: 	byte i = 0;
+  413: 	
+000B46 E4                CLR     A
+000B47 A3                INC     DPTR
+000B48 F0                MOVX    @DPTR,A
+  414: 	for (i = 0;i < 6;i++)
+000B49 F0                MOVX    @DPTR,A
+000B4A         ?C0092?KB_PROCESS:
+000B4A 904E68            MOV     DPTR,#i
+000B4D E0                MOVX    A,@DPTR
+000B4E FF                MOV     R7,A
+000B4F C3                CLR     C
+000B50 9406              SUBB    A,#06H
+000B52 4002              JC      $ + 4H
+000B54 A197              AJMP    ?C0137?KB_PROCESS
+  415: 	{		
+  416: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
 000B56 904E65            MOV     DPTR,#pEvt
-000B59 EB                MOV     A,R3
-000B5A F0                MOVX    @DPTR,A
+000B59 E0                MOVX    A,@DPTR
+000B5A FB                MOV     R3,A
 000B5B A3                INC     DPTR
-000B5C EA                MOV     A,R2
-000B5D F0                MOVX    @DPTR,A
+000B5C E0                MOVX    A,@DPTR
+000B5D FA                MOV     R2,A
 000B5E A3                INC     DPTR
-000B5F E9                MOV     A,R1
-000B60 F0                MOVX    @DPTR,A
-  399: 	byte i = 0;
-  400: 	
-000B61 E4                CLR     A
-000B62 A3                INC     DPTR
-000B63 F0                MOVX    @DPTR,A
-  401: 	for (i = 0;i < 6;i++)
-000B64 F0                MOVX    @DPTR,A
-000B65         ?C0097?KB_PROCESS:
-000B65 904E68            MOV     DPTR,#i
-000B68 E0                MOVX    A,@DPTR
-000B69 FF                MOV     R7,A
-000B6A C3                CLR     C
-000B6B 9406              SUBB    A,#06H
-000B6D 4002              JC      $ + 4H
-000B6F A1B2              AJMP    ?C0142?KB_PROCESS
-  402: 	{		
-  403: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
-000B71 904E65            MOV     DPTR,#pEvt
-000B74 E0                MOVX    A,@DPTR
-000B75 FB                MOV     R3,A
-000B76 A3                INC     DPTR
-000B77 E0                MOVX    A,@DPTR
-000B78 FA                MOV     R2,A
-000B79 A3                INC     DPTR
-000B7A E0                MOVX    A,@DPTR
-000B7B 2401              ADD     A,#01H
-000B7D F9                MOV     R1,A
-000B7E E4                CLR     A
-000B7F 3A                ADDC    A,R2
-000B80 FA                MOV     R2,A
-000B81 7E00              MOV     R6,#00H
-000B83 E9                MOV     A,R1
-000B84 2F                ADD     A,R7
-000B85 F9                MOV     R1,A
-000B86 EE                MOV     A,R6
-000B87 3A                ADDC    A,R2
-000B88 FA                MOV     R2,A
-000B89 1203B6            LCALL   ?C?CLDPTR
-000B8C FF                MOV     R7,A
-000B8D 54F0              ANL     A,#0F0H
-000B8F 64F0              XRL     A,#0F0H
-000B91 6009              JZ      ?C0101?KB_PROCESS
-000B93 EF                MOV     A,R7
-000B94 54D0              ANL     A,#0D0H
-000B96 64D0              XRL     A,#0D0H
-000B98 6002              JZ      $ + 4H
-000B9A A1AA              AJMP    ?C0099?KB_PROCESS
-000B9C         ?C0101?KB_PROCESS:
-  404: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  405: 		{
-  406: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
-000B9C 1203B6            LCALL   ?C?CLDPTR
-000B9F FB                MOV     R3,A
-000BA0 B4F108            CJNE    A,#0F1H,?C0102?KB_PROCESS
-  407: 			{
-  408: 				kb_set_multikey(0x0183); 
-000BA3 7F83              MOV     R7,#083H
-000BA5 7E01              MOV     R6,#01H
-000BA7 B1B3              ACALL   _kb_set_multikey
-  409: 			}
-000BA9 A17F              AJMP    ?C0103?KB_PROCESS
-000BAB         ?C0102?KB_PROCESS:
-  410: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
-000BAB EB                MOV     A,R3
-000BAC B4F208            CJNE    A,#0F2H,?C0104?KB_PROCESS
-  411: 			{ 
-  412: 				kb_set_multikey(0x00cd);
-000BAF 7FCD              MOV     R7,#0CDH
-000BB1 7E00              MOV     R6,#00H
-000BB3 B1B3              ACALL   _kb_set_multikey
-  413: 			}
-000BB5 A17F              AJMP    ?C0103?KB_PROCESS
-000BB7         ?C0104?KB_PROCESS:
-  414: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
-000BB7 904E65            MOV     DPTR,#pEvt
-000BBA E0                MOVX    A,@DPTR
-000BBB FB                MOV     R3,A
-000BBC A3                INC     DPTR
-000BBD E0                MOVX    A,@DPTR
-000BBE FA                MOV     R2,A
-000BBF A3                INC     DPTR
-000BC0 E0                MOVX    A,@DPTR
-000BC1 2401              ADD     A,#01H
-000BC3 F9                MOV     R1,A
-000BC4 E4                CLR     A
-000BC5 3A                ADDC    A,R2
-000BC6 FA                MOV     R2,A
-000BC7 A3                INC     DPTR
-000BC8 E0                MOVX    A,@DPTR
-000BC9 7E00              MOV     R6,#00H
-000BCB 29                ADD     A,R1
-000BCC F9                MOV     R1,A
-000BCD EE                MOV     A,R6
-000BCE 3A                ADDC    A,R2
-000BCF FA                MOV     R2,A
-000BD0 1203B6            LCALL   ?C?CLDPTR
-000BD3 FB                MOV     R3,A
-000BD4 B4F306            CJNE    A,#0F3H,?C0106?KB_PROCESS
-  415: 			{
-  416: 				kb_set_multikey(0x00b7);
-000BD7 7FB7              MOV     R7,#0B7H
-000BD9 B1B3              ACALL   _kb_set_multikey
-  417: 			}
-000BDB A17F              AJMP    ?C0103?KB_PROCESS
-000BDD         ?C0106?KB_PROCESS:
-  418: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
-000BDD EB                MOV     A,R3
-000BDE B4F408            CJNE    A,#0F4H,?C0108?KB_PROCESS
-  419: 			{
-  420: 				kb_set_multikey(0x00b6);
-000BE1 7FB6              MOV     R7,#0B6H
-000BE3 7E00              MOV     R6,#00H
-000BE5 B1B3              ACALL   _kb_set_multikey
-  421: 			}
-000BE7 A17F              AJMP    ?C0103?KB_PROCESS
-000BE9         ?C0108?KB_PROCESS:
-  422: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
-000BE9 904E65            MOV     DPTR,#pEvt
-000BEC E0                MOVX    A,@DPTR
-000BED FB                MOV     R3,A
-000BEE A3                INC     DPTR
-000BEF E0                MOVX    A,@DPTR
-000BF0 FA                MOV     R2,A
-000BF1 A3                INC     DPTR
-000BF2 E0                MOVX    A,@DPTR
-000BF3 2401              ADD     A,#01H
-000BF5 F9                MOV     R1,A
-000BF6 E4                CLR     A
-000BF7 3A                ADDC    A,R2
-000BF8 FA                MOV     R2,A
-000BF9 A3                INC     DPTR
-000BFA E0                MOVX    A,@DPTR
-000BFB 7E00              MOV     R6,#00H
-000BFD 29                ADD     A,R1
-000BFE F9                MOV     R1,A
-000BFF EE                MOV     A,R6
-000C00 3A                ADDC    A,R2
-000C01 FA                MOV     R2,A
-000C02 1203B6            LCALL   ?C?CLDPTR
-000C05 FB                MOV     R3,A
-000C06 B4F506            CJNE    A,#0F5H,?C0110?KB_PROCESS
-  423: 			{
-  424: 				kb_set_multikey(0x00b5);
-000C09 7FB5              MOV     R7,#0B5H
-000C0B B1B3              ACALL   _kb_set_multikey
-  425: 			}
-000C0D A17F              AJMP    ?C0103?KB_PROCESS
-000C0F         ?C0110?KB_PROCESS:
-  426: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
-000C0F EB                MOV     A,R3
-000C10 B4F608            CJNE    A,#0F6H,?C0112?KB_PROCESS
-  427: 			{
-  428: 				kb_set_multikey(0x00ea);
-000C13 7FEA              MOV     R7,#0EAH
-000C15 7E00              MOV     R6,#00H
-000C17 B1B3              ACALL   _kb_set_multikey
-  429: 			}
-000C19 A17F              AJMP    ?C0103?KB_PROCESS
-000C1B         ?C0112?KB_PROCESS:
-  430: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
-000C1B 904E65            MOV     DPTR,#pEvt
-000C1E E0                MOVX    A,@DPTR
-000C1F FB                MOV     R3,A
-000C20 A3                INC     DPTR
-000C21 E0                MOVX    A,@DPTR
-000C22 FA                MOV     R2,A
-000C23 A3                INC     DPTR
-000C24 E0                MOVX    A,@DPTR
-000C25 2401              ADD     A,#01H
-000C27 F9                MOV     R1,A
-000C28 E4                CLR     A
-000C29 3A                ADDC    A,R2
-000C2A FA                MOV     R2,A
-000C2B A3                INC     DPTR
-000C2C E0                MOVX    A,@DPTR
-000C2D 7E00              MOV     R6,#00H
-000C2F 29                ADD     A,R1
-000C30 F9                MOV     R1,A
-000C31 EE                MOV     A,R6
-000C32 3A                ADDC    A,R2
-000C33 FA                MOV     R2,A
-000C34 1203B6            LCALL   ?C?CLDPTR
-000C37 FB                MOV     R3,A
-000C38 B4F706            CJNE    A,#0F7H,?C0114?KB_PROCESS
-  431: 			{
-  432: 				kb_set_multikey(0x00e9);
-000C3B 7FE9              MOV     R7,#0E9H
-000C3D B1B3              ACALL   _kb_set_multikey
-  433: 			}
-000C3F A17F              AJMP    ?C0103?KB_PROCESS
-000C41         ?C0114?KB_PROCESS:
-  434: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
-000C41 EB                MOV     A,R3
-000C42 B4F808            CJNE    A,#0F8H,?C0116?KB_PROCESS
-  435: 			{
-  436: 				kb_set_multikey(0x00e2);
-000C45 7FE2              MOV     R7,#0E2H
-000C47 7E00              MOV     R6,#00H
-000C49 B1B3              ACALL   _kb_set_multikey
-  437: 			}
-000C4B A17F              AJMP    ?C0103?KB_PROCESS
-000C4D         ?C0116?KB_PROCESS:
-  438: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
-000C4D 904E65            MOV     DPTR,#pEvt
-000C50 E0                MOVX    A,@DPTR
-000C51 FB                MOV     R3,A
-000C52 A3                INC     DPTR
-000C53 E0                MOVX    A,@DPTR
-000C54 FA                MOV     R2,A
-000C55 A3                INC     DPTR
-000C56 E0                MOVX    A,@DPTR
-000C57 2401              ADD     A,#01H
-000C59 F9                MOV     R1,A
-000C5A E4                CLR     A
-000C5B 3A                ADDC    A,R2
-000C5C FA                MOV     R2,A
-000C5D A3                INC     DPTR
-000C5E E0                MOVX    A,@DPTR
-000C5F 7E00              MOV     R6,#00H
-000C61 29                ADD     A,R1
-000C62 F9                MOV     R1,A
-000C63 EE                MOV     A,R6
-000C64 3A                ADDC    A,R2
-000C65 FA                MOV     R2,A
-000C66 1203B6            LCALL   ?C?CLDPTR
+000B5F E0                MOVX    A,@DPTR
+000B60 2401              ADD     A,#01H
+000B62 F9                MOV     R1,A
+000B63 E4                CLR     A
+000B64 3A                ADDC    A,R2
+000B65 FA                MOV     R2,A
+000B66 7E00              MOV     R6,#00H
+000B68 E9                MOV     A,R1
+000B69 2F                ADD     A,R7
+000B6A F9                MOV     R1,A
+000B6B EE                MOV     A,R6
+000B6C 3A                ADDC    A,R2
+000B6D FA                MOV     R2,A
+000B6E 1203B6            LCALL   ?C?CLDPTR
+000B71 FF                MOV     R7,A
+000B72 54F0              ANL     A,#0F0H
+000B74 64F0              XRL     A,#0F0H
+000B76 6009              JZ      ?C0096?KB_PROCESS
+000B78 EF                MOV     A,R7
+000B79 54D0              ANL     A,#0D0H
+000B7B 64D0              XRL     A,#0D0H
+000B7D 6002              JZ      $ + 4H
+000B7F A18F              AJMP    ?C0094?KB_PROCESS
+000B81         ?C0096?KB_PROCESS:
+  417: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  418: 		{
+  419: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+000B81 1203B6            LCALL   ?C?CLDPTR
+000B84 FB                MOV     R3,A
+000B85 B4F108            CJNE    A,#0F1H,?C0097?KB_PROCESS
+  420: 			{
+  421: 				kb_set_multikey(0x0183); 
+000B88 7F83              MOV     R7,#083H
+000B8A 7E01              MOV     R6,#01H
+000B8C B198              ACALL   _kb_set_multikey
+  422: 			}
+000B8E A164              AJMP    ?C0098?KB_PROCESS
+000B90         ?C0097?KB_PROCESS:
+  423: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+000B90 EB                MOV     A,R3
+000B91 B4F208            CJNE    A,#0F2H,?C0099?KB_PROCESS
+  424: 			{ 
+  425: 				kb_set_multikey(0x00cd);
+000B94 7FCD              MOV     R7,#0CDH
+000B96 7E00              MOV     R6,#00H
+000B98 B198              ACALL   _kb_set_multikey
+  426: 			}
+000B9A A164              AJMP    ?C0098?KB_PROCESS
+000B9C         ?C0099?KB_PROCESS:
+  427: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+000B9C 904E65            MOV     DPTR,#pEvt
+000B9F E0                MOVX    A,@DPTR
+000BA0 FB                MOV     R3,A
+000BA1 A3                INC     DPTR
+000BA2 E0                MOVX    A,@DPTR
+000BA3 FA                MOV     R2,A
+000BA4 A3                INC     DPTR
+000BA5 E0                MOVX    A,@DPTR
+000BA6 2401              ADD     A,#01H
+000BA8 F9                MOV     R1,A
+000BA9 E4                CLR     A
+000BAA 3A                ADDC    A,R2
+000BAB FA                MOV     R2,A
+000BAC A3                INC     DPTR
+000BAD E0                MOVX    A,@DPTR
+000BAE 7E00              MOV     R6,#00H
+000BB0 29                ADD     A,R1
+000BB1 F9                MOV     R1,A
+000BB2 EE                MOV     A,R6
+000BB3 3A                ADDC    A,R2
+000BB4 FA                MOV     R2,A
+000BB5 1203B6            LCALL   ?C?CLDPTR
+000BB8 FB                MOV     R3,A
+000BB9 B4F306            CJNE    A,#0F3H,?C0101?KB_PROCESS
+  428: 			{
+  429: 				kb_set_multikey(0x00b7);
+000BBC 7FB7              MOV     R7,#0B7H
+000BBE B198              ACALL   _kb_set_multikey
+  430: 			}
+000BC0 A164              AJMP    ?C0098?KB_PROCESS
+000BC2         ?C0101?KB_PROCESS:
+  431: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+000BC2 EB                MOV     A,R3
+000BC3 B4F408            CJNE    A,#0F4H,?C0103?KB_PROCESS
+  432: 			{
+  433: 				kb_set_multikey(0x00b6);
+000BC6 7FB6              MOV     R7,#0B6H
+000BC8 7E00              MOV     R6,#00H
+000BCA B198              ACALL   _kb_set_multikey
+  434: 			}
+000BCC A164              AJMP    ?C0098?KB_PROCESS
+000BCE         ?C0103?KB_PROCESS:
+  435: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+000BCE 904E65            MOV     DPTR,#pEvt
+000BD1 E0                MOVX    A,@DPTR
+000BD2 FB                MOV     R3,A
+000BD3 A3                INC     DPTR
+000BD4 E0                MOVX    A,@DPTR
+000BD5 FA                MOV     R2,A
+000BD6 A3                INC     DPTR
+000BD7 E0                MOVX    A,@DPTR
+000BD8 2401              ADD     A,#01H
+000BDA F9                MOV     R1,A
+000BDB E4                CLR     A
+000BDC 3A                ADDC    A,R2
+000BDD FA                MOV     R2,A
+000BDE A3                INC     DPTR
+000BDF E0                MOVX    A,@DPTR
+000BE0 7E00              MOV     R6,#00H
+000BE2 29                ADD     A,R1
+000BE3 F9                MOV     R1,A
+000BE4 EE                MOV     A,R6
+000BE5 3A                ADDC    A,R2
+000BE6 FA                MOV     R2,A
+000BE7 1203B6            LCALL   ?C?CLDPTR
+000BEA FB                MOV     R3,A
+000BEB B4F506            CJNE    A,#0F5H,?C0105?KB_PROCESS
+  436: 			{
+  437: 				kb_set_multikey(0x00b5);
+000BEE 7FB5              MOV     R7,#0B5H
+000BF0 B198              ACALL   _kb_set_multikey
+  438: 			}
+000BF2 A164              AJMP    ?C0098?KB_PROCESS
+000BF4         ?C0105?KB_PROCESS:
+  439: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+000BF4 EB                MOV     A,R3
+000BF5 B4F608            CJNE    A,#0F6H,?C0107?KB_PROCESS
+  440: 			{
+  441: 				kb_set_multikey(0x00ea);
+000BF8 7FEA              MOV     R7,#0EAH
+000BFA 7E00              MOV     R6,#00H
+000BFC B198              ACALL   _kb_set_multikey
+  442: 			}
+000BFE A164              AJMP    ?C0098?KB_PROCESS
+000C00         ?C0107?KB_PROCESS:
+  443: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+000C00 904E65            MOV     DPTR,#pEvt
+000C03 E0                MOVX    A,@DPTR
+000C04 FB                MOV     R3,A
+000C05 A3                INC     DPTR
+000C06 E0                MOVX    A,@DPTR
+000C07 FA                MOV     R2,A
+000C08 A3                INC     DPTR
+000C09 E0                MOVX    A,@DPTR
+000C0A 2401              ADD     A,#01H
+000C0C F9                MOV     R1,A
+000C0D E4                CLR     A
+000C0E 3A                ADDC    A,R2
+000C0F FA                MOV     R2,A
+000C10 A3                INC     DPTR
+000C11 E0                MOVX    A,@DPTR
+000C12 7E00              MOV     R6,#00H
+000C14 29                ADD     A,R1
+000C15 F9                MOV     R1,A
+000C16 EE                MOV     A,R6
+000C17 3A                ADDC    A,R2
+000C18 FA                MOV     R2,A
+000C19 1203B6            LCALL   ?C?CLDPTR
+000C1C FB                MOV     R3,A
+000C1D B4F706            CJNE    A,#0F7H,?C0109?KB_PROCESS
+  444: 			{
+  445: 				kb_set_multikey(0x00e9);
+000C20 7FE9              MOV     R7,#0E9H
+000C22 B198              ACALL   _kb_set_multikey
+  446: 			}
+000C24 A164              AJMP    ?C0098?KB_PROCESS
+000C26         ?C0109?KB_PROCESS:
+  447: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+000C26 EB                MOV     A,R3
+000C27 B4F808            CJNE    A,#0F8H,?C0111?KB_PROCESS
+  448: 			{
+  449: 				kb_set_multikey(0x00e2);
+000C2A 7FE2              MOV     R7,#0E2H
+000C2C 7E00              MOV     R6,#00H
+000C2E B198              ACALL   _kb_set_multikey
+  450: 			}
+000C30 A164              AJMP    ?C0098?KB_PROCESS
+000C32         ?C0111?KB_PROCESS:
+  451: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+000C32 904E65            MOV     DPTR,#pEvt
+000C35 E0                MOVX    A,@DPTR
+000C36 FB                MOV     R3,A
+000C37 A3                INC     DPTR
+000C38 E0                MOVX    A,@DPTR
+000C39 FA                MOV     R2,A
+000C3A A3                INC     DPTR
+000C3B E0                MOVX    A,@DPTR
+000C3C 2401              ADD     A,#01H
+000C3E F9                MOV     R1,A
+000C3F E4                CLR     A
+000C40 3A                ADDC    A,R2
+000C41 FA                MOV     R2,A
+000C42 A3                INC     DPTR
+000C43 E0                MOVX    A,@DPTR
+000C44 7E00              MOV     R6,#00H
+000C46 29                ADD     A,R1
+000C47 F9                MOV     R1,A
+000C48 EE                MOV     A,R6
+000C49 3A                ADDC    A,R2
+000C4A FA                MOV     R2,A
+000C4B 1203B6            LCALL   ?C?CLDPTR
+000C4E FB                MOV     R3,A
+000C4F B4F907            CJNE    A,#0F9H,?C0113?KB_PROCESS
+  452: 			{
+  453: 				kb_set_multikey(0x0194);
+000C52 7F94              MOV     R7,#094H
+000C54 0E                INC     R6
+000C55 B198              ACALL   _kb_set_multikey
+  454: 			}
+000C57 A164              AJMP    ?C0098?KB_PROCESS
+000C59         ?C0113?KB_PROCESS:
+  455: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+000C59 EB                MOV     A,R3
+000C5A B4FA08            CJNE    A,#0FAH,?C0115?KB_PROCESS
+  456: 			{
+  457: 				kb_set_multikey(0x018a);//mail
+000C5D 7F8A              MOV     R7,#08AH
+000C5F 7E01              MOV     R6,#01H
+000C61 B198              ACALL   _kb_set_multikey
+  458: 			}
+000C63 A164              AJMP    ?C0098?KB_PROCESS
+000C65         ?C0115?KB_PROCESS:
+  459: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+000C65 904E65            MOV     DPTR,#pEvt
+000C68 E0                MOVX    A,@DPTR
 000C69 FB                MOV     R3,A
-000C6A B4F907            CJNE    A,#0F9H,?C0118?KB_PROCESS
-  439: 			{
-  440: 				kb_set_multikey(0x0194);
-000C6D 7F94              MOV     R7,#094H
-000C6F 0E                INC     R6
-000C70 B1B3              ACALL   _kb_set_multikey
-  441: 			}
-000C72 A17F              AJMP    ?C0103?KB_PROCESS
-000C74         ?C0118?KB_PROCESS:
-  442: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
-000C74 EB                MOV     A,R3
-000C75 B4FA08            CJNE    A,#0FAH,?C0120?KB_PROCESS
-  443: 			{
-  444: 				kb_set_multikey(0x018a);//mail
-000C78 7F8A              MOV     R7,#08AH
-000C7A 7E01              MOV     R6,#01H
-000C7C B1B3              ACALL   _kb_set_multikey
-  445: 			}
-000C7E A17F              AJMP    ?C0103?KB_PROCESS
-000C80         ?C0120?KB_PROCESS:
-  446: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
-000C80 904E65            MOV     DPTR,#pEvt
-000C83 E0                MOVX    A,@DPTR
-000C84 FB                MOV     R3,A
-000C85 A3                INC     DPTR
-000C86 E0                MOVX    A,@DPTR
-000C87 FA                MOV     R2,A
-000C88 A3                INC     DPTR
-000C89 E0                MOVX    A,@DPTR
-000C8A 2401              ADD     A,#01H
-000C8C F9                MOV     R1,A
-000C8D E4                CLR     A
-000C8E 3A                ADDC    A,R2
-000C8F FA                MOV     R2,A
-000C90 A3                INC     DPTR
-000C91 E0                MOVX    A,@DPTR
-000C92 7E00              MOV     R6,#00H
-000C94 29                ADD     A,R1
-000C95 F9                MOV     R1,A
-000C96 EE                MOV     A,R6
-000C97 3A                ADDC    A,R2
-000C98 FA                MOV     R2,A
-000C99 1203B6            LCALL   ?C?CLDPTR
+000C6A A3                INC     DPTR
+000C6B E0                MOVX    A,@DPTR
+000C6C FA                MOV     R2,A
+000C6D A3                INC     DPTR
+000C6E E0                MOVX    A,@DPTR
+000C6F 2401              ADD     A,#01H
+000C71 F9                MOV     R1,A
+000C72 E4                CLR     A
+000C73 3A                ADDC    A,R2
+000C74 FA                MOV     R2,A
+000C75 A3                INC     DPTR
+000C76 E0                MOVX    A,@DPTR
+000C77 7E00              MOV     R6,#00H
+000C79 29                ADD     A,R1
+000C7A F9                MOV     R1,A
+000C7B EE                MOV     A,R6
+000C7C 3A                ADDC    A,R2
+000C7D FA                MOV     R2,A
+000C7E 1203B6            LCALL   ?C?CLDPTR
+000C81 FB                MOV     R3,A
+000C82 B4FB07            CJNE    A,#0FBH,?C0117?KB_PROCESS
+  460: 			{
+  461: 				kb_set_multikey(0x0192);
+000C85 7F92              MOV     R7,#092H
+000C87 0E                INC     R6
+000C88 B198              ACALL   _kb_set_multikey
+  462: 			}
+000C8A A164              AJMP    ?C0098?KB_PROCESS
+000C8C         ?C0117?KB_PROCESS:
+  463: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+000C8C EB                MOV     A,R3
+000C8D B4D008            CJNE    A,#0D0H,?C0119?KB_PROCESS
+  464: 			{
+  465: 				kb_set_multikey(0x022a);//www Favorites
+000C90 7F2A              MOV     R7,#02AH
+000C92 7E02              MOV     R6,#02H
+000C94 B198              ACALL   _kb_set_multikey
+  466: 			}
+000C96 A164              AJMP    ?C0098?KB_PROCESS
+000C98         ?C0119?KB_PROCESS:
+  467: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+000C98 904E65            MOV     DPTR,#pEvt
+000C9B E0                MOVX    A,@DPTR
 000C9C FB                MOV     R3,A
-000C9D B4FB07            CJNE    A,#0FBH,?C0122?KB_PROCESS
-  447: 			{
-  448: 				kb_set_multikey(0x0192);
-000CA0 7F92              MOV     R7,#092H
-000CA2 0E                INC     R6
-000CA3 B1B3              ACALL   _kb_set_multikey
-  449: 			}
-000CA5 A17F              AJMP    ?C0103?KB_PROCESS
-000CA7         ?C0122?KB_PROCESS:
-  450: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
-000CA7 EB                MOV     A,R3
-000CA8 B4D008            CJNE    A,#0D0H,?C0124?KB_PROCESS
-  451: 			{
-  452: 				kb_set_multikey(0x022a);//www Favorites
-000CAB 7F2A              MOV     R7,#02AH
-000CAD 7E02              MOV     R6,#02H
-000CAF B1B3              ACALL   _kb_set_multikey
-  453: 			}
-000CB1 A17F              AJMP    ?C0103?KB_PROCESS
-000CB3         ?C0124?KB_PROCESS:
-  454: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
-000CB3 904E65            MOV     DPTR,#pEvt
-000CB6 E0                MOVX    A,@DPTR
-000CB7 FB                MOV     R3,A
-000CB8 A3                INC     DPTR
-000CB9 E0                MOVX    A,@DPTR
-000CBA FA                MOV     R2,A
-000CBB A3                INC     DPTR
-000CBC E0                MOVX    A,@DPTR
-000CBD 2401              ADD     A,#01H
-000CBF F9                MOV     R1,A
-000CC0 E4                CLR     A
-000CC1 3A                ADDC    A,R2
-000CC2 FA                MOV     R2,A
-000CC3 A3                INC     DPTR
-000CC4 E0                MOVX    A,@DPTR
-000CC5 7E00              MOV     R6,#00H
-000CC7 29                ADD     A,R1
-000CC8 F9                MOV     R1,A
-000CC9 EE                MOV     A,R6
-000CCA 3A                ADDC    A,R2
-000CCB FA                MOV     R2,A
-000CCC 1203B6            LCALL   ?C?CLDPTR
-000CCF FB                MOV     R3,A
-000CD0 B4D108            CJNE    A,#0D1H,?C0126?KB_PROCESS
-  455: 			{
-  456: 				kb_set_multikey(0x0225);
-000CD3 7F25              MOV     R7,#025H
-000CD5 7E02              MOV     R6,#02H
-000CD7 B1B3              ACALL   _kb_set_multikey
-  457: 			}
-000CD9 A17F              AJMP    ?C0103?KB_PROCESS
-000CDB         ?C0126?KB_PROCESS:
-  458: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
-000CDB EB                MOV     A,R3
-000CDC B4D308            CJNE    A,#0D3H,?C0128?KB_PROCESS
-  459: 			{
-  460: 				kb_set_multikey(0x0226);
-000CDF 7F26              MOV     R7,#026H
-000CE1 7E02              MOV     R6,#02H
-000CE3 B1B3              ACALL   _kb_set_multikey
-  461: 			}
-000CE5 A17F              AJMP    ?C0103?KB_PROCESS
-000CE7         ?C0128?KB_PROCESS:
-  462: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
-000CE7 904E65            MOV     DPTR,#pEvt
-000CEA E0                MOVX    A,@DPTR
-000CEB FB                MOV     R3,A
-000CEC A3                INC     DPTR
-000CED E0                MOVX    A,@DPTR
-000CEE FA                MOV     R2,A
-000CEF A3                INC     DPTR
-000CF0 E0                MOVX    A,@DPTR
-000CF1 2401              ADD     A,#01H
-000CF3 F9                MOV     R1,A
-000CF4 E4                CLR     A
-000CF5 3A                ADDC    A,R2
-000CF6 FA                MOV     R2,A
-000CF7 A3                INC     DPTR
-000CF8 E0                MOVX    A,@DPTR
-000CF9 7E00              MOV     R6,#00H
-000CFB 29                ADD     A,R1
-000CFC F9                MOV     R1,A
-000CFD EE                MOV     A,R6
-000CFE 3A                ADDC    A,R2
-000CFF FA                MOV     R2,A
-000D00 1203B6            LCALL   ?C?CLDPTR
-000D03 FB                MOV     R3,A
-000D04 B4D208            CJNE    A,#0D2H,?C0130?KB_PROCESS
-  463: 			{
-  464: 				kb_set_multikey(0x0224);
-000D07 7F24              MOV     R7,#024H
-000D09 7E02              MOV     R6,#02H
-000D0B B1B3              ACALL   _kb_set_multikey
-  465: 			}
-000D0D 8070              SJMP    ?C0103?KB_PROCESS
-000D0F         ?C0130?KB_PROCESS:
-  466: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
-000D0F EB                MOV     A,R3
-000D10 B4D408            CJNE    A,#0D4H,?C0132?KB_PROCESS
-  467: 			{
-  468: 				kb_set_multikey(0x0227);
-000D13 7F27              MOV     R7,#027H
-000D15 7E02              MOV     R6,#02H
-000D17 B1B3              ACALL   _kb_set_multikey
-  469: 			}
-000D19 8064              SJMP    ?C0103?KB_PROCESS
-000D1B         ?C0132?KB_PROCESS:
-  470: 			
-  471: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
-000D1B 904E65            MOV     DPTR,#pEvt
-000D1E E0                MOVX    A,@DPTR
-000D1F FB                MOV     R3,A
-000D20 A3                INC     DPTR
-000D21 E0                MOVX    A,@DPTR
-000D22 FA                MOV     R2,A
-000D23 A3                INC     DPTR
-000D24 E0                MOVX    A,@DPTR
-000D25 2401              ADD     A,#01H
-000D27 F9                MOV     R1,A
-000D28 E4                CLR     A
-000D29 3A                ADDC    A,R2
-000D2A FA                MOV     R2,A
-000D2B A3                INC     DPTR
-000D2C E0                MOVX    A,@DPTR
-000D2D 7E00              MOV     R6,#00H
-000D2F 29                ADD     A,R1
-000D30 F9                MOV     R1,A
-000D31 EE                MOV     A,R6
-000D32 3A                ADDC    A,R2
-000D33 FA                MOV     R2,A
-000D34 1203B6            LCALL   ?C?CLDPTR
-000D37 FB                MOV     R3,A
-000D38 B4D508            CJNE    A,#0D5H,?C0134?KB_PROCESS
+000C9D A3                INC     DPTR
+000C9E E0                MOVX    A,@DPTR
+000C9F FA                MOV     R2,A
+000CA0 A3                INC     DPTR
+000CA1 E0                MOVX    A,@DPTR
+000CA2 2401              ADD     A,#01H
+000CA4 F9                MOV     R1,A
+000CA5 E4                CLR     A
+000CA6 3A                ADDC    A,R2
+000CA7 FA                MOV     R2,A
+000CA8 A3                INC     DPTR
+000CA9 E0                MOVX    A,@DPTR
+000CAA 7E00              MOV     R6,#00H
+000CAC 29                ADD     A,R1
+000CAD F9                MOV     R1,A
+000CAE EE                MOV     A,R6
+000CAF 3A                ADDC    A,R2
+000CB0 FA                MOV     R2,A
+000CB1 1203B6            LCALL   ?C?CLDPTR
+000CB4 FB                MOV     R3,A
+000CB5 B4D108            CJNE    A,#0D1H,?C0121?KB_PROCESS
+  468: 			{
+  469: 				kb_set_multikey(0x0225);
+000CB8 7F25              MOV     R7,#025H
+000CBA 7E02              MOV     R6,#02H
+000CBC B198              ACALL   _kb_set_multikey
+  470: 			}
+000CBE A164              AJMP    ?C0098?KB_PROCESS
+000CC0         ?C0121?KB_PROCESS:
+  471: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+000CC0 EB                MOV     A,R3
+000CC1 B4D308            CJNE    A,#0D3H,?C0123?KB_PROCESS
   472: 			{
-  473: 				kb_set_multikey(0x0221);
-000D3B 7F21              MOV     R7,#021H
-000D3D 7E02              MOV     R6,#02H
-000D3F B1B3              ACALL   _kb_set_multikey
+  473: 				kb_set_multikey(0x0226);
+000CC4 7F26              MOV     R7,#026H
+000CC6 7E02              MOV     R6,#02H
+000CC8 B198              ACALL   _kb_set_multikey
   474: 			}
-000D41 803C              SJMP    ?C0103?KB_PROCESS
-000D43         ?C0134?KB_PROCESS:
-  475: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
-000D43 EB                MOV     A,R3
-000D44 B4D608            CJNE    A,#0D6H,?C0136?KB_PROCESS
+000CCA A164              AJMP    ?C0098?KB_PROCESS
+000CCC         ?C0123?KB_PROCESS:
+  475: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+000CCC 904E65            MOV     DPTR,#pEvt
+000CCF E0                MOVX    A,@DPTR
+000CD0 FB                MOV     R3,A
+000CD1 A3                INC     DPTR
+000CD2 E0                MOVX    A,@DPTR
+000CD3 FA                MOV     R2,A
+000CD4 A3                INC     DPTR
+000CD5 E0                MOVX    A,@DPTR
+000CD6 2401              ADD     A,#01H
+000CD8 F9                MOV     R1,A
+000CD9 E4                CLR     A
+000CDA 3A                ADDC    A,R2
+000CDB FA                MOV     R2,A
+000CDC A3                INC     DPTR
+000CDD E0                MOVX    A,@DPTR
+000CDE 7E00              MOV     R6,#00H
+000CE0 29                ADD     A,R1
+000CE1 F9                MOV     R1,A
+000CE2 EE                MOV     A,R6
+000CE3 3A                ADDC    A,R2
+000CE4 FA                MOV     R2,A
+000CE5 1203B6            LCALL   ?C?CLDPTR
+000CE8 FB                MOV     R3,A
+000CE9 B4D208            CJNE    A,#0D2H,?C0125?KB_PROCESS
   476: 			{
-  477: 				kb_set_multikey(0x0223);
-000D47 7F23              MOV     R7,#023H
-000D49 7E02              MOV     R6,#02H
-000D4B B1B3              ACALL   _kb_set_multikey
+  477: 				kb_set_multikey(0x0224);
+000CEC 7F24              MOV     R7,#024H
+000CEE 7E02              MOV     R6,#02H
+000CF0 B198              ACALL   _kb_set_multikey
   478: 			}
-000D4D 8030              SJMP    ?C0103?KB_PROCESS
-000D4F         ?C0136?KB_PROCESS:
-  479: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
-000D4F 904E65            MOV     DPTR,#pEvt
-000D52 E0                MOVX    A,@DPTR
-000D53 FB                MOV     R3,A
-000D54 A3                INC     DPTR
-000D55 E0                MOVX    A,@DPTR
-000D56 FA                MOV     R2,A
-000D57 A3                INC     DPTR
-000D58 E0                MOVX    A,@DPTR
-000D59 2401              ADD     A,#01H
-000D5B F9                MOV     R1,A
-000D5C E4                CLR     A
-000D5D 3A                ADDC    A,R2
-000D5E FA                MOV     R2,A
-000D5F A3                INC     DPTR
-000D60 E0                MOVX    A,@DPTR
-000D61 7E00              MOV     R6,#00H
-000D63 29                ADD     A,R1
-000D64 F9                MOV     R1,A
-000D65 EE                MOV     A,R6
-000D66 3A                ADDC    A,R2
-000D67 FA                MOV     R2,A
-000D68 1203B6            LCALL   ?C?CLDPTR
-000D6B FB                MOV     R3,A
-000D6C B4D706            CJNE    A,#0D7H,?C0138?KB_PROCESS
+000CF2 8070              SJMP    ?C0098?KB_PROCESS
+000CF4         ?C0125?KB_PROCESS:
+  479: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+000CF4 EB                MOV     A,R3
+000CF5 B4D408            CJNE    A,#0D4H,?C0127?KB_PROCESS
   480: 			{
-  481: 				kb_set_multikey(0x0070);
-000D6F 7F70              MOV     R7,#070H
-000D71 B1B3              ACALL   _kb_set_multikey
+  481: 				kb_set_multikey(0x0227);
+000CF8 7F27              MOV     R7,#027H
+000CFA 7E02              MOV     R6,#02H
+000CFC B198              ACALL   _kb_set_multikey
   482: 			}
-000D73 800A              SJMP    ?C0103?KB_PROCESS
-000D75         ?C0138?KB_PROCESS:
-  483: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
-000D75 EB                MOV     A,R3
-000D76 B4D806            CJNE    A,#0D8H,?C0103?KB_PROCESS
-  484: 			{
-  485: 				kb_set_multikey(0x006f);
-000D79 7F6F              MOV     R7,#06FH
-000D7B 7E00              MOV     R6,#00H
-000D7D B1B3              ACALL   _kb_set_multikey
-  486: 			}
-000D7F         ?C0103?KB_PROCESS:
-  487: 			
-  488: 			if(mult_key_status == KEY_WAIT_RELEASE)
-000D7F 904DE4            MOV     DPTR,#mult_key_status
-000D82 E0                MOVX    A,@DPTR
-000D83 B40224            CJNE    A,#02H,?C0099?KB_PROCESS
+000CFE 8064              SJMP    ?C0098?KB_PROCESS
+000D00         ?C0127?KB_PROCESS:
+  483: 			
+  484: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+000D00 904E65            MOV     DPTR,#pEvt
+000D03 E0                MOVX    A,@DPTR
+000D04 FB                MOV     R3,A
+000D05 A3                INC     DPTR
+000D06 E0                MOVX    A,@DPTR
+000D07 FA                MOV     R2,A
+000D08 A3                INC     DPTR
+000D09 E0                MOVX    A,@DPTR
+000D0A 2401              ADD     A,#01H
+000D0C F9                MOV     R1,A
+000D0D E4                CLR     A
+000D0E 3A                ADDC    A,R2
+000D0F FA                MOV     R2,A
+000D10 A3                INC     DPTR
+000D11 E0                MOVX    A,@DPTR
+000D12 7E00              MOV     R6,#00H
+000D14 29                ADD     A,R1
+000D15 F9                MOV     R1,A
+000D16 EE                MOV     A,R6
+000D17 3A                ADDC    A,R2
+000D18 FA                MOV     R2,A
+000D19 1203B6            LCALL   ?C?CLDPTR
+000D1C FB                MOV     R3,A
+000D1D B4D508            CJNE    A,#0D5H,?C0129?KB_PROCESS
+  485: 			{
+  486: 				kb_set_multikey(0x0221);
+000D20 7F21              MOV     R7,#021H
+000D22 7E02              MOV     R6,#02H
+000D24 B198              ACALL   _kb_set_multikey
+  487: 			}
+000D26 803C              SJMP    ?C0098?KB_PROCESS
+000D28         ?C0129?KB_PROCESS:
+  488: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+000D28 EB                MOV     A,R3
+000D29 B4D608            CJNE    A,#0D6H,?C0131?KB_PROCESS
   489: 			{
-  490: 				mult_key_value = pEvt->ksPool[i];
-000D86 904E65            MOV     DPTR,#pEvt
-000D89 E0                MOVX    A,@DPTR
-000D8A FB                MOV     R3,A
-000D8B A3                INC     DPTR
-000D8C E0                MOVX    A,@DPTR
-000D8D FA                MOV     R2,A
-000D8E A3                INC     DPTR
-000D8F E0                MOVX    A,@DPTR
-000D90 2401              ADD     A,#01H
-000D92 F9                MOV     R1,A
-000D93 E4                CLR     A
-000D94 3A                ADDC    A,R2
-000D95 FA                MOV     R2,A
-000D96 A3                INC     DPTR
-000D97 E0                MOVX    A,@DPTR
-000D98 7E00              MOV     R6,#00H
-000D9A 29                ADD     A,R1
-000D9B F9                MOV     R1,A
-000D9C EE                MOV     A,R6
-000D9D 3A                ADDC    A,R2
-000D9E FA                MOV     R2,A
-000D9F 1203B6            LCALL   ?C?CLDPTR
-000DA2 904DE3            MOV     DPTR,#mult_key_value
-000DA5 F0                MOVX    @DPTR,A
-  491: 				pEvt->ksPool[i] = 0;
-000DA6 E4                CLR     A
-000DA7 1203FC            LCALL   ?C?CSTPTR
-  492: 			}
-  493: 		}
-  494: 	}
-000DAA         ?C0099?KB_PROCESS:
-000DAA 904E68            MOV     DPTR,#i
-000DAD E0                MOVX    A,@DPTR
-000DAE 04                INC     A
-000DAF F0                MOVX    @DPTR,A
-000DB0 6165              AJMP    ?C0097?KB_PROCESS
-  495: }
-000DB2         ?C0142?KB_PROCESS:
-000DB2 22                RET     
+  490: 				kb_set_multikey(0x0223);
+000D2C 7F23              MOV     R7,#023H
+000D2E 7E02              MOV     R6,#02H
+000D30 B198              ACALL   _kb_set_multikey
+  491: 			}
+000D32 8030              SJMP    ?C0098?KB_PROCESS
+000D34         ?C0131?KB_PROCESS:
+  492: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+000D34 904E65            MOV     DPTR,#pEvt
+000D37 E0                MOVX    A,@DPTR
+000D38 FB                MOV     R3,A
+000D39 A3                INC     DPTR
+000D3A E0                MOVX    A,@DPTR
+000D3B FA                MOV     R2,A
+000D3C A3                INC     DPTR
+000D3D E0                MOVX    A,@DPTR
+000D3E 2401              ADD     A,#01H
+000D40 F9                MOV     R1,A
+000D41 E4                CLR     A
+000D42 3A                ADDC    A,R2
+000D43 FA                MOV     R2,A
+000D44 A3                INC     DPTR
+000D45 E0                MOVX    A,@DPTR
+000D46 7E00              MOV     R6,#00H
+000D48 29                ADD     A,R1
+000D49 F9                MOV     R1,A
+000D4A EE                MOV     A,R6
+000D4B 3A                ADDC    A,R2
+000D4C FA                MOV     R2,A
+000D4D 1203B6            LCALL   ?C?CLDPTR
+000D50 FB                MOV     R3,A
+000D51 B4D706            CJNE    A,#0D7H,?C0133?KB_PROCESS
+  493: 			{
+  494: 				kb_set_multikey(0x0070);
+000D54 7F70              MOV     R7,#070H
+000D56 B198              ACALL   _kb_set_multikey
+  495: 			}
+000D58 800A              SJMP    ?C0098?KB_PROCESS
+000D5A         ?C0133?KB_PROCESS:
+  496: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+000D5A EB                MOV     A,R3
+000D5B B4D806            CJNE    A,#0D8H,?C0098?KB_PROCESS
+  497: 			{
+  498: 				kb_set_multikey(0x006f);
+000D5E 7F6F              MOV     R7,#06FH
+000D60 7E00              MOV     R6,#00H
+000D62 B198              ACALL   _kb_set_multikey
+  499: 			}
+000D64         ?C0098?KB_PROCESS:
+  500: 			
+  501: 			if(mult_key_status == KEY_WAIT_RELEASE)
+000D64 904DE4            MOV     DPTR,#mult_key_status
+000D67 E0                MOVX    A,@DPTR
+000D68 B40224            CJNE    A,#02H,?C0094?KB_PROCESS
+  502: 			{
+  503: 				mult_key_value = pEvt->ksPool[i];
+000D6B 904E65            MOV     DPTR,#pEvt
+000D6E E0                MOVX    A,@DPTR
+000D6F FB                MOV     R3,A
+000D70 A3                INC     DPTR
+000D71 E0                MOVX    A,@DPTR
+000D72 FA                MOV     R2,A
+000D73 A3                INC     DPTR
+000D74 E0                MOVX    A,@DPTR
+000D75 2401              ADD     A,#01H
+000D77 F9                MOV     R1,A
+000D78 E4                CLR     A
+000D79 3A                ADDC    A,R2
+000D7A FA                MOV     R2,A
+000D7B A3                INC     DPTR
+000D7C E0                MOVX    A,@DPTR
+000D7D 7E00              MOV     R6,#00H
+000D7F 29                ADD     A,R1
+000D80 F9                MOV     R1,A
+000D81 EE                MOV     A,R6
+000D82 3A                ADDC    A,R2
+000D83 FA                MOV     R2,A
+000D84 1203B6            LCALL   ?C?CLDPTR
+000D87 904DE3            MOV     DPTR,#mult_key_value
+000D8A F0                MOVX    @DPTR,A
+  504: 				pEvt->ksPool[i] = 0;
+000D8B E4                CLR     A
+000D8C 1203FC            LCALL   ?C?CSTPTR
+  505: 			}
+  506: 		}
+  507: 	}
+000D8F         ?C0094?KB_PROCESS:
+000D8F 904E68            MOV     DPTR,#i
+000D92 E0                MOVX    A,@DPTR
+000D93 04                INC     A
+000D94 F0                MOVX    @DPTR,A
+000D95 614A              AJMP    ?C0092?KB_PROCESS
+  508: }
+000D97         ?C0137?KB_PROCESS:
+000D97 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
 
@@ -1559,496 +1557,547 @@
    91: void kb_set_multikey(word multikey_value)
    92: {
 ;---- Variable 'multikey_value' assigned to Register 'R4/R5' ----
-000DB3 AD07              MOV     R5,AR7
-000DB5 AC06              MOV     R4,AR6
+000D98 AD07              MOV     R5,AR7
+000D9A AC06              MOV     R4,AR6
    93: 	if(mult_key_status != KEY_WAIT_RELEASE)
    94: 	{
-000DB7 904DE4            MOV     DPTR,#mult_key_status
-000DBA E0                MOVX    A,@DPTR
-000DBB 6402              XRL     A,#02H
-000DBD 600E              JZ      ?C0025?KB_PROCESS
+000D9C 904DE4            MOV     DPTR,#mult_key_status
+000D9F E0                MOVX    A,@DPTR
+000DA0 6402              XRL     A,#02H
+000DA2 600E              JZ      ?C0025?KB_PROCESS
    95: 		mult_key_status = KEY_PRESS;
    96: 		multikey[0] = HID_REPORTID_2;
-000DBF 7401              MOV     A,#01H
-000DC1 F0                MOVX    @DPTR,A
+000DA4 7401              MOV     A,#01H
+000DA6 F0                MOVX    @DPTR,A
    97: 		multikey[1] = (multikey_value&0xff);
-000DC2 904DE5            MOV     DPTR,#multikey
-000DC5 04                INC     A
-000DC6 F0                MOVX    @DPTR,A
+000DA7 904DE5            MOV     DPTR,#multikey
+000DAA 04                INC     A
+000DAB F0                MOVX    @DPTR,A
    98: 		multikey[2] = ((multikey_value>>8)&0xff);
-000DC7 EF                MOV     A,R7
-000DC8 A3                INC     DPTR
-000DC9 F0                MOVX    @DPTR,A
+000DAC EF                MOV     A,R7
+000DAD A3                INC     DPTR
+000DAE F0                MOVX    @DPTR,A
    99: 	}
-000DCA EE                MOV     A,R6
-000DCB A3                INC     DPTR
-000DCC F0                MOVX    @DPTR,A
+000DAF EE                MOV     A,R6
+000DB0 A3                INC     DPTR
+000DB1 F0                MOVX    @DPTR,A
   100: }
   101: 
-000DCD         ?C0025?KB_PROCESS:
-000DCD 22                RET     
+000DB2         ?C0025?KB_PROCESS:
+000DB2 22                RET     
 ----- FUNCTION _kb_set_multikey (END) -------
 
 
 ----- FUNCTION _xmemclear (BEGIN) -----
-000DCE 904E7E            MOV     DPTR,#dest
-000DD1 EB                MOV     A,R3
-000DD2 F0                MOVX    @DPTR,A
-000DD3 A3                INC     DPTR
-000DD4 EA                MOV     A,R2
-000DD5 F0                MOVX    @DPTR,A
-000DD6 A3                INC     DPTR
-000DD7 E9                MOV     A,R1
-000DD8 F0                MOVX    @DPTR,A
+000DB3 904E7E            MOV     DPTR,#dest
+000DB6 EB                MOV     A,R3
+000DB7 F0                MOVX    @DPTR,A
+000DB8 A3                INC     DPTR
+000DB9 EA                MOV     A,R2
+000DBA F0                MOVX    @DPTR,A
+000DBB A3                INC     DPTR
+000DBC E9                MOV     A,R1
+000DBD F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
-000DD9         ?C0008?UTILITIES:
-000DD9 ED                MOV     A,R5
-000DDA 1D                DEC     R5
-000DDB AE04              MOV     R6,AR4
-000DDD 7001              JNZ     ?C0026?UTILITIES
-000DDF 1C                DEC     R4
-000DE0         ?C0026?UTILITIES:
-000DE0 4E                ORL     A,R6
-000DE1 6016              JZ      ?C0010?UTILITIES
-000DE3 904E7E            MOV     DPTR,#dest
-000DE6 E0                MOVX    A,@DPTR
-000DE7 FB                MOV     R3,A
-000DE8 A3                INC     DPTR
-000DE9 E4                CLR     A
-000DEA 75F001            MOV     B,#01H
-000DED 120424            LCALL   ?C?ILDIX
-000DF0 A9F0              MOV     R1,B
-000DF2 FA                MOV     R2,A
-000DF3 E4                CLR     A
-000DF4 1203FC            LCALL   ?C?CSTPTR
-000DF7 80E0              SJMP    ?C0008?UTILITIES
-000DF9         ?C0010?UTILITIES:
-000DF9 22                RET     
+000DBE         ?C0008?UTILITIES:
+000DBE ED                MOV     A,R5
+000DBF 1D                DEC     R5
+000DC0 AE04              MOV     R6,AR4
+000DC2 7001              JNZ     ?C0026?UTILITIES
+000DC4 1C                DEC     R4
+000DC5         ?C0026?UTILITIES:
+000DC5 4E                ORL     A,R6
+000DC6 6016              JZ      ?C0010?UTILITIES
+000DC8 904E7E            MOV     DPTR,#dest
+000DCB E0                MOVX    A,@DPTR
+000DCC FB                MOV     R3,A
+000DCD A3                INC     DPTR
+000DCE E4                CLR     A
+000DCF 75F001            MOV     B,#01H
+000DD2 120424            LCALL   ?C?ILDIX
+000DD5 A9F0              MOV     R1,B
+000DD7 FA                MOV     R2,A
+000DD8 E4                CLR     A
+000DD9 1203FC            LCALL   ?C?CSTPTR
+000DDC 80E0              SJMP    ?C0008?UTILITIES
+000DDE         ?C0010?UTILITIES:
+000DDE 22                RET     
 ----- FUNCTION _xmemclear (END) -------
 
 
 ----- FUNCTION System_clear_mem (BEGIN) -----
  FILE: 'sys.c'
-   11: static void System_clear_mem()
-   12: {
-   13: 	xmemclear((byte *)&g_variable,sizeof(G_VARIABLE_MAP));
-   14: 	xmemclear(ksSelMapOld,KB_KSCAN_COL_NUM);
-000DFA 7B01              MOV     R3,#01H
-000DFC 7A4C              MOV     R2,#HIGH g_variable
-000DFE 79BF              MOV     R1,#LOW g_variable
-000E00 7D43              MOV     R5,#043H
-000E02 7C00              MOV     R4,#00H
-000E04 B1CE              ACALL   _xmemclear
-   15: 	xmemclear(ksSelMapCheck,KB_KSCAN_COL_NUM);
-000E06 7B01              MOV     R3,#01H
-000E08 7A4D              MOV     R2,#HIGH ksSelMapOld
-000E0A 7993              MOV     R1,#LOW ksSelMapOld
-000E0C 7D14              MOV     R5,#014H
-000E0E 7C00              MOV     R4,#00H
-000E10 B1CE              ACALL   _xmemclear
-   16: 	xmemclear(ksSelMapCurr,KB_KSCAN_COL_NUM);
-000E12 7B01              MOV     R3,#01H
-000E14 7A4D              MOV     R2,#HIGH ksSelMapCheck
-000E16 79A8              MOV     R1,#LOW ksSelMapCheck
-000E18 7D14              MOV     R5,#014H
-000E1A 7C00              MOV     R4,#00H
-000E1C B1CE              ACALL   _xmemclear
-   17: 	xmemclear(hidBuff,9);
-000E1E 7B01              MOV     R3,#01H
-000E20 7A4D              MOV     R2,#HIGH ksSelMapCurr
-000E22 79BC              MOV     R1,#LOW ksSelMapCurr
-000E24 7D14              MOV     R5,#014H
-000E26 7C00              MOV     R4,#00H
-000E28 B1CE              ACALL   _xmemclear
-   18: 	xmemclear(multikey,9);
-000E2A 7B01              MOV     R3,#01H
-000E2C 7A48              MOV     R2,#HIGH hidBuff
-000E2E 7900              MOV     R1,#LOW hidBuff
-000E30 7D09              MOV     R5,#09H
-000E32 7C00              MOV     R4,#00H
-000E34 B1CE              ACALL   _xmemclear
-   19:  
-000E36 7B01              MOV     R3,#01H
-000E38 7A4D              MOV     R2,#HIGH multikey
-000E3A 79E5              MOV     R1,#LOW multikey
-000E3C 7D09              MOV     R5,#09H
-000E3E 7C00              MOV     R4,#00H
-000E40 B1CE              ACALL   _xmemclear
-   20: 	delayChgInvTimer = 0;
-000E42 E4                CLR     A
-000E43 904DDE            MOV     DPTR,#delayChgInvTimer
-000E46 F0                MOVX    @DPTR,A
-   21: 	action_timeout = 0;
-000E47 904DE2            MOV     DPTR,#action_timeout
-000E4A F0                MOVX    @DPTR,A
-   22: 
+   12: static void System_clear_mem()
+   13: {
+   14: 	xmemclear((byte *)&g_variable,sizeof(G_VARIABLE_MAP));
+   15: 	xmemclear(ksSelMapOld,KB_KSCAN_COL_NUM);
+000DDF 7B01              MOV     R3,#01H
+000DE1 7A4C              MOV     R2,#HIGH g_variable
+000DE3 79BF              MOV     R1,#LOW g_variable
+000DE5 7D44              MOV     R5,#044H
+000DE7 7C00              MOV     R4,#00H
+000DE9 B1B3              ACALL   _xmemclear
+   16: 	xmemclear(ksSelMapCheck,KB_KSCAN_COL_NUM);
+000DEB 7B01              MOV     R3,#01H
+000DED 7A4D              MOV     R2,#HIGH ksSelMapOld
+000DEF 7993              MOV     R1,#LOW ksSelMapOld
+000DF1 7D14              MOV     R5,#014H
+000DF3 7C00              MOV     R4,#00H
+000DF5 B1B3              ACALL   _xmemclear
+   17: 	xmemclear(ksSelMapCurr,KB_KSCAN_COL_NUM);
+000DF7 7B01              MOV     R3,#01H
+000DF9 7A4D              MOV     R2,#HIGH ksSelMapCheck
+000DFB 79A8              MOV     R1,#LOW ksSelMapCheck
+000DFD 7D14              MOV     R5,#014H
+000DFF 7C00              MOV     R4,#00H
+000E01 B1B3              ACALL   _xmemclear
+   18: 	xmemclear(hidBuff,9);
+000E03 7B01              MOV     R3,#01H
+000E05 7A4D              MOV     R2,#HIGH ksSelMapCurr
+000E07 79BC              MOV     R1,#LOW ksSelMapCurr
+000E09 7D14              MOV     R5,#014H
+000E0B 7C00              MOV     R4,#00H
+000E0D B1B3              ACALL   _xmemclear
+   19: 	xmemclear(multikey,9);
+000E0F 7B01              MOV     R3,#01H
+000E11 7A48              MOV     R2,#HIGH hidBuff
+000E13 7900              MOV     R1,#LOW hidBuff
+000E15 7D09              MOV     R5,#09H
+000E17 7C00              MOV     R4,#00H
+000E19 B1B3              ACALL   _xmemclear
+   20:  
+000E1B 7B01              MOV     R3,#01H
+000E1D 7A4D              MOV     R2,#HIGH multikey
+000E1F 79E5              MOV     R1,#LOW multikey
+000E21 7D09              MOV     R5,#09H
+000E23 7C00              MOV     R4,#00H
+000E25 B1B3              ACALL   _xmemclear
+   21: 	delayChgInvTimer = 0;
+000E27 E4                CLR     A
+000E28 904DDE            MOV     DPTR,#delayChgInvTimer
+000E2B F0                MOVX    @DPTR,A
+   22: 	action_timeout = 0;
+000E2C 904DE2            MOV     DPTR,#action_timeout
+000E2F F0                MOVX    @DPTR,A
    23: 
-   24: 	power_on_flag = 0;
-000E4B 904DE1            MOV     DPTR,#power_on_flag
-000E4E F0                MOVX    @DPTR,A
-   25: 	repeat_send_24g = 0;
-000E4F 904DD6            MOV     DPTR,#repeat_send_24g
-000E52 F0                MOVX    @DPTR,A
-   26: 	get_24g_led_send = 0;
-000E53 904DD0            MOV     DPTR,#get_24g_led_send
-000E56 F0                MOVX    @DPTR,A
-   27: 	press_long_time_flag = 0;
-000E57 904DDC            MOV     DPTR,#press_long_time_flag
-000E5A F0                MOVX    @DPTR,A
-   28: 	mult_key_status = 0;
-000E5B 904DE4            MOV     DPTR,#mult_key_status
-000E5E F0                MOVX    @DPTR,A
-   29: 	long_press_flag = 0;
-000E5F 904DD5            MOV     DPTR,#long_press_flag
-000E62 F0                MOVX    @DPTR,A
-   30: 	standard_key_release_flag = 0;
-000E63 904DD8            MOV     DPTR,#standard_key_release_flag
-000E66 F0                MOVX    @DPTR,A
-   31: 	fn_flag = 0;
-000E67 904DDB            MOV     DPTR,#fn_flag
-000E6A F0                MOVX    @DPTR,A
-   32: 	fn_flag_last = 0;
-000E6B 904DE0            MOV     DPTR,#fn_flag_last
-000E6E F0                MOVX    @DPTR,A
-   33: 	fn_tx_flag = 0;
-000E6F 904DD3            MOV     DPTR,#fn_tx_flag
-000E72 F0                MOVX    @DPTR,A
-   34: 	fn_lock_flag = 0;
-000E73 904DDF            MOV     DPTR,#fn_lock_flag
-000E76 F0                MOVX    @DPTR,A
-   35: 
-   36: 	mult_key_value = 0;
-000E77 904DE3            MOV     DPTR,#mult_key_value
-000E7A F0                MOVX    @DPTR,A
-   37: 	m_caps_num_lock_last = 0; 
-000E7B 904DD9            MOV     DPTR,#m_caps_num_lock_last
-000E7E F0                MOVX    @DPTR,A
-   38: 	m_reconnect_continue = 0;
-000E7F 904D38            MOV     DPTR,#m_reconnect_continue
-000E82 F0                MOVX    @DPTR,A
-   39: }
-000E83 22                RET     
+   24: 
+   25: 	power_on_flag = 0;
+000E30 904DE1            MOV     DPTR,#power_on_flag
+000E33 F0                MOVX    @DPTR,A
+   26: 	repeat_send_24g = 0;
+000E34 904DD6            MOV     DPTR,#repeat_send_24g
+000E37 F0                MOVX    @DPTR,A
+   27: 	get_24g_led_send = 0;
+000E38 904DD0            MOV     DPTR,#get_24g_led_send
+000E3B F0                MOVX    @DPTR,A
+   28: 	press_long_time_flag = 0;
+000E3C 904DDC            MOV     DPTR,#press_long_time_flag
+000E3F F0                MOVX    @DPTR,A
+   29: 	mult_key_status = 0;
+000E40 904DE4            MOV     DPTR,#mult_key_status
+000E43 F0                MOVX    @DPTR,A
+   30: 	long_press_flag = 0;
+000E44 904DD5            MOV     DPTR,#long_press_flag
+000E47 F0                MOVX    @DPTR,A
+   31: 	standard_key_release_flag = 0;
+000E48 904DD8            MOV     DPTR,#standard_key_release_flag
+000E4B F0                MOVX    @DPTR,A
+   32: 	fn_flag = 0;
+000E4C 904DDB            MOV     DPTR,#fn_flag
+000E4F F0                MOVX    @DPTR,A
+   33: 	fn_flag_last = 0;
+000E50 904DE0            MOV     DPTR,#fn_flag_last
+000E53 F0                MOVX    @DPTR,A
+   34: 	fn_tx_flag = 0;
+000E54 904DD3            MOV     DPTR,#fn_tx_flag
+000E57 F0                MOVX    @DPTR,A
+   35: 	fn_lock_flag = 0;
+000E58 904DDF            MOV     DPTR,#fn_lock_flag
+000E5B F0                MOVX    @DPTR,A
+   36: 
+   37: 	mult_key_value = 0;
+000E5C 904DE3            MOV     DPTR,#mult_key_value
+000E5F F0                MOVX    @DPTR,A
+   38: 	m_caps_num_lock_last = 0; 
+000E60 904DD9            MOV     DPTR,#m_caps_num_lock_last
+000E63 F0                MOVX    @DPTR,A
+   39: 	m_reconnect_continue = 0;
+000E64 904D38            MOV     DPTR,#m_reconnect_continue
+000E67 F0                MOVX    @DPTR,A
+   40: }
+000E68 22                RET     
 ----- FUNCTION System_clear_mem (END) -------
 
 
------ FUNCTION _kb_send_combination_key (BEGIN) -----
- FILE: 'kb_process.c'
-  103: void kb_send_combination_key(byte ctrl_value,byte key_value)
-  104: {
-000E84 904E87            MOV     DPTR,#ctrl_value
-000E87 EF                MOV     A,R7
-000E88 F0                MOVX    @DPTR,A
-000E89 A3                INC     DPTR
-000E8A ED                MOV     A,R5
-000E8B F0                MOVX    @DPTR,A
-  105: 	xmemclear(hidBuff,9);
-  106: 	hidBuff[0] = HID_REPORTID_1;
-000E8C 7B01              MOV     R3,#01H
-000E8E 7A48              MOV     R2,#HIGH hidBuff
-000E90 7900              MOV     R1,#LOW hidBuff
-000E92 7D09              MOV     R5,#09H
-000E94 7C00              MOV     R4,#00H
-000E96 B1CE              ACALL   _xmemclear
-  107: 	hidBuff[1] |= ctrl_value;
-000E98 904800            MOV     DPTR,#hidBuff
-000E9B 7401              MOV     A,#01H
-000E9D F0                MOVX    @DPTR,A
-  108: 	hidBuff[3] = key_value; 
-000E9E A3                INC     DPTR
-000E9F E0                MOVX    A,@DPTR
-000EA0 FF                MOV     R7,A
-000EA1 904E87            MOV     DPTR,#ctrl_value
-000EA4 E0                MOVX    A,@DPTR
-000EA5 FE                MOV     R6,A
-000EA6 EF                MOV     A,R7
-000EA7 4E                ORL     A,R6
-000EA8 904801            MOV     DPTR,#hidBuff+01H
-000EAB F0                MOVX    @DPTR,A
-  109: 	IPC_TxHidData(hidBuff, 9);
-000EAC 904E88            MOV     DPTR,#key_value
-000EAF E0                MOVX    A,@DPTR
-000EB0 904803            MOV     DPTR,#hidBuff+03H
-000EB3 F0                MOVX    @DPTR,A
-  110: }
-000EB4 7B01              MOV     R3,#01H
-000EB6 7A48              MOV     R2,#HIGH hidBuff
-000EB8 7900              MOV     R1,#LOW hidBuff
-000EBA 7D09              MOV     R5,#09H
-;----                  JMP     _IPC_TxHidData
------ FUNCTION _kb_send_combination_key (END) -------
-
-
 ----- FUNCTION _IPC_TxHidData (BEGIN) -----
  FILE: 'kb_process.c'
    59: void IPC_TxHidData(byte* dt, byte len)
    60: {
-000EBC 904E61            MOV     DPTR,#dt
-000EBF EB                MOV     A,R3
-000EC0 F0                MOVX    @DPTR,A
-000EC1 A3                INC     DPTR
-000EC2 EA                MOV     A,R2
-000EC3 F0                MOVX    @DPTR,A
-000EC4 A3                INC     DPTR
-000EC5 E9                MOV     A,R1
-000EC6 F0                MOVX    @DPTR,A
-000EC7 A3                INC     DPTR
-000EC8 ED                MOV     A,R5
-000EC9 F0                MOVX    @DPTR,A
+000E69 904E61            MOV     DPTR,#dt
+000E6C EB                MOV     A,R3
+000E6D F0                MOVX    @DPTR,A
+000E6E A3                INC     DPTR
+000E6F EA                MOV     A,R2
+000E70 F0                MOVX    @DPTR,A
+000E71 A3                INC     DPTR
+000E72 E9                MOV     A,R1
+000E73 F0                MOVX    @DPTR,A
+000E74 A3                INC     DPTR
+000E75 ED                MOV     A,R5
+000E76 F0                MOVX    @DPTR,A
    61: 	if(!YC_check_need_reconnected()) 
    62: 		return;
-000ECA F1E2              ACALL   YC_check_need_reconnected
-000ECC EF                MOV     A,R7
-000ECD 6076              JZ      ?C0014?KB_PROCESS
-000ECF         ?C0013?KB_PROCESS:
+000E77 F1F7              ACALL   YC_check_need_reconnected
+000E79 EF                MOV     A,R7
+000E7A 6076              JZ      ?C0014?KB_PROCESS
+000E7C         ?C0013?KB_PROCESS:
    63: 	if (g_variable.release_data)
-000ECF 904CEB            MOV     DPTR,#g_variable+02CH
-000ED2 E0                MOVX    A,@DPTR
-000ED3 7070              JNZ     ?C0014?KB_PROCESS
-000ED5         ?C0015?KB_PROCESS:
+000E7C 904CEB            MOV     DPTR,#g_variable+02CH
+000E7F E0                MOVX    A,@DPTR
+000E80 7070              JNZ     ?C0014?KB_PROCESS
+000E82         ?C0015?KB_PROCESS:
    64: 		return;
    65: 
    66: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-000ED5 904CC5            MOV     DPTR,#g_variable+06H
-000ED8 E0                MOVX    A,@DPTR
-000ED9 6403              XRL     A,#03H
-000EDB 7068              JNZ     ?C0014?KB_PROCESS
+000E82 904CC5            MOV     DPTR,#g_variable+06H
+000E85 E0                MOVX    A,@DPTR
+000E86 6403              XRL     A,#03H
+000E88 7068              JNZ     ?C0014?KB_PROCESS
    67: 	{
    68: 		if (dt[0] == HID_REPORTID_1)
-000EDD 904E61            MOV     DPTR,#dt
-000EE0 E0                MOVX    A,@DPTR
-000EE1 FB                MOV     R3,A
-000EE2 A3                INC     DPTR
-000EE3 E0                MOVX    A,@DPTR
-000EE4 FA                MOV     R2,A
-000EE5 A3                INC     DPTR
-000EE6 E0                MOVX    A,@DPTR
-000EE7 F9                MOV     R1,A
-000EE8 1203B6            LCALL   ?C?CLDPTR
-000EEB FF                MOV     R7,A
-000EEC 6401              XRL     A,#01H
-000EEE 702E              JNZ     ?C0017?KB_PROCESS
+000E8A 904E61            MOV     DPTR,#dt
+000E8D E0                MOVX    A,@DPTR
+000E8E FB                MOV     R3,A
+000E8F A3                INC     DPTR
+000E90 E0                MOVX    A,@DPTR
+000E91 FA                MOV     R2,A
+000E92 A3                INC     DPTR
+000E93 E0                MOVX    A,@DPTR
+000E94 F9                MOV     R1,A
+000E95 1203B6            LCALL   ?C?CLDPTR
+000E98 FF                MOV     R7,A
+000E99 6401              XRL     A,#01H
+000E9B 702E              JNZ     ?C0017?KB_PROCESS
    69: 		{
    70: 			if (dt[1] == 0 && dt[3] == 00 && dt[4] == 00 && dt[5] == 0)
-000EF0 900001            MOV     DPTR,#01H
-000EF3 1203CF            LCALL   ?C?CLDOPTR
-000EF6 701E              JNZ     ?C0018?KB_PROCESS
-000EF8 900003            MOV     DPTR,#03H
-000EFB 1203CF            LCALL   ?C?CLDOPTR
-000EFE 7016              JNZ     ?C0018?KB_PROCESS
-000F00 900004            MOV     DPTR,#04H
-000F03 1203CF            LCALL   ?C?CLDOPTR
-000F06 700E              JNZ     ?C0018?KB_PROCESS
-000F08 900005            MOV     DPTR,#05H
-000F0B 1203CF            LCALL   ?C?CLDOPTR
-000F0E 7006              JNZ     ?C0018?KB_PROCESS
+000E9D 900001            MOV     DPTR,#01H
+000EA0 1203CF            LCALL   ?C?CLDOPTR
+000EA3 701E              JNZ     ?C0018?KB_PROCESS
+000EA5 900003            MOV     DPTR,#03H
+000EA8 1203CF            LCALL   ?C?CLDOPTR
+000EAB 7016              JNZ     ?C0018?KB_PROCESS
+000EAD 900004            MOV     DPTR,#04H
+000EB0 1203CF            LCALL   ?C?CLDOPTR
+000EB3 700E              JNZ     ?C0018?KB_PROCESS
+000EB5 900005            MOV     DPTR,#05H
+000EB8 1203CF            LCALL   ?C?CLDOPTR
+000EBB 7006              JNZ     ?C0018?KB_PROCESS
    71: 				repeat_send_24g = 0;
-000F10 904DD6            MOV     DPTR,#repeat_send_24g
-000F13 F0                MOVX    @DPTR,A
-000F14 8028              SJMP    ?C0020?KB_PROCESS
-000F16         ?C0018?KB_PROCESS:
+000EBD 904DD6            MOV     DPTR,#repeat_send_24g
+000EC0 F0                MOVX    @DPTR,A
+000EC1 8028              SJMP    ?C0020?KB_PROCESS
+000EC3         ?C0018?KB_PROCESS:
    72: 			else
    73: 				repeat_send_24g = 1;			
-000F16 904DD6            MOV     DPTR,#repeat_send_24g
-000F19 7401              MOV     A,#01H
-000F1B F0                MOVX    @DPTR,A
+000EC3 904DD6            MOV     DPTR,#repeat_send_24g
+000EC6 7401              MOV     A,#01H
+000EC8 F0                MOVX    @DPTR,A
    74: 		}
-000F1C 8020              SJMP    ?C0020?KB_PROCESS
-000F1E         ?C0017?KB_PROCESS:
+000EC9 8020              SJMP    ?C0020?KB_PROCESS
+000ECB         ?C0017?KB_PROCESS:
    75: 		else if (dt[0] == HID_REPORTID_2)
-000F1E EF                MOV     A,R7
-000F1F B4021C            CJNE    A,#02H,?C0020?KB_PROCESS
+000ECB EF                MOV     A,R7
+000ECC B4021C            CJNE    A,#02H,?C0020?KB_PROCESS
    76: 		{
    77: 			if (dt[1] == 00 && dt[2] == 00)
-000F22 900001            MOV     DPTR,#01H
-000F25 1203CF            LCALL   ?C?CLDOPTR
-000F28 700E              JNZ     ?C0022?KB_PROCESS
-000F2A 900002            MOV     DPTR,#02H
-000F2D 1203CF            LCALL   ?C?CLDOPTR
-000F30 7006              JNZ     ?C0022?KB_PROCESS
+000ECF 900001            MOV     DPTR,#01H
+000ED2 1203CF            LCALL   ?C?CLDOPTR
+000ED5 700E              JNZ     ?C0022?KB_PROCESS
+000ED7 900002            MOV     DPTR,#02H
+000EDA 1203CF            LCALL   ?C?CLDOPTR
+000EDD 7006              JNZ     ?C0022?KB_PROCESS
    78: 			{
    79: 				repeat_send_24g = 0;
-000F32 904DD6            MOV     DPTR,#repeat_send_24g
-000F35 F0                MOVX    @DPTR,A
+000EDF 904DD6            MOV     DPTR,#repeat_send_24g
+000EE2 F0                MOVX    @DPTR,A
    80: 			}
-000F36 8006              SJMP    ?C0020?KB_PROCESS
-000F38         ?C0022?KB_PROCESS:
+000EE3 8006              SJMP    ?C0020?KB_PROCESS
+000EE5         ?C0022?KB_PROCESS:
    81: 			else
    82: 			{
    83: 				repeat_send_24g = 1;
-000F38 904DD6            MOV     DPTR,#repeat_send_24g
-000F3B 7401              MOV     A,#01H
-000F3D F0                MOVX    @DPTR,A
+000EE5 904DD6            MOV     DPTR,#repeat_send_24g
+000EE8 7401              MOV     A,#01H
+000EEA F0                MOVX    @DPTR,A
    84: 			}
    85: 		}
-000F3E         ?C0020?KB_PROCESS:
+000EEB         ?C0020?KB_PROCESS:
    86: 		IPC_Tx24GData(dt,len);
-000F3E 904E64            MOV     DPTR,#len
-000F41 E0                MOVX    A,@DPTR
-000F42 FD                MOV     R5,A
-000F43 F1BD              ACALL   _IPC_Tx24GData
+000EEB 904E64            MOV     DPTR,#len
+000EEE E0                MOVX    A,@DPTR
+000EEF FD                MOV     R5,A
+000EF0 F1A3              ACALL   _IPC_Tx24GData
    87: 	}
    88: }
-000F45         ?C0014?KB_PROCESS:
-000F45 22                RET     
+000EF2         ?C0014?KB_PROCESS:
+000EF2 22                RET     
 ----- FUNCTION _IPC_TxHidData (END) -------
 
 
+----- FUNCTION _kb_send_combination_key (BEGIN) -----
+ FILE: 'kb_process.c'
+  103: void kb_send_combination_key(byte ctrl_value,byte key_value)
+  104: {
+000EF3 904E87            MOV     DPTR,#ctrl_value
+000EF6 EF                MOV     A,R7
+000EF7 F0                MOVX    @DPTR,A
+000EF8 A3                INC     DPTR
+000EF9 ED                MOV     A,R5
+000EFA F0                MOVX    @DPTR,A
+  105: 	xmemclear(hidBuff,9);
+  106: 	hidBuff[0] = HID_REPORTID_1;
+000EFB 7B01              MOV     R3,#01H
+000EFD 7A48              MOV     R2,#HIGH hidBuff
+000EFF 7900              MOV     R1,#LOW hidBuff
+000F01 7D09              MOV     R5,#09H
+000F03 7C00              MOV     R4,#00H
+000F05 B1B3              ACALL   _xmemclear
+  107: 	hidBuff[1] |= ctrl_value;
+000F07 904800            MOV     DPTR,#hidBuff
+000F0A 7401              MOV     A,#01H
+000F0C F0                MOVX    @DPTR,A
+  108: 	hidBuff[3] = key_value; 
+000F0D A3                INC     DPTR
+000F0E E0                MOVX    A,@DPTR
+000F0F FF                MOV     R7,A
+000F10 904E87            MOV     DPTR,#ctrl_value
+000F13 E0                MOVX    A,@DPTR
+000F14 FE                MOV     R6,A
+000F15 EF                MOV     A,R7
+000F16 4E                ORL     A,R6
+000F17 904801            MOV     DPTR,#hidBuff+01H
+000F1A F0                MOVX    @DPTR,A
+  109: 	IPC_TxHidData(hidBuff, 9);
+000F1B 904E88            MOV     DPTR,#key_value
+000F1E E0                MOVX    A,@DPTR
+000F1F 904803            MOV     DPTR,#hidBuff+03H
+000F22 F0                MOVX    @DPTR,A
+  110: }
+000F23 7B01              MOV     R3,#01H
+000F25 7A48              MOV     R2,#HIGH hidBuff
+000F27 7900              MOV     R1,#LOW hidBuff
+000F29 7D09              MOV     R5,#09H
+000F2B C169              AJMP    _IPC_TxHidData
+----- FUNCTION _kb_send_combination_key (END) -------
+
+
 ----- FUNCTION kb_need_keyscan (BEGIN) -----
  FILE: 'kb_process.c'
   171: void kb_need_keyscan()
   172: {
   173: 		if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
   174: 		||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
-000F46 904CF4            MOV     DPTR,#g_variable+035H
-000F49 E0                MOVX    A,@DPTR
-000F4A FF                MOV     R7,A
-000F4B 6008              JZ      ?C0036?KB_PROCESS
-000F4D 6403              XRL     A,#03H
-000F4F 6004              JZ      ?C0036?KB_PROCESS
-000F51 EF                MOV     A,R7
-000F52 B40503            CJNE    A,#05H,?C0035?KB_PROCESS
-000F55         ?C0036?KB_PROCESS:
+000F2D 904CF4            MOV     DPTR,#g_variable+035H
+000F30 E0                MOVX    A,@DPTR
+000F31 FF                MOV     R7,A
+000F32 6008              JZ      ?C0036?KB_PROCESS
+000F34 6403              XRL     A,#03H
+000F36 6004              JZ      ?C0036?KB_PROCESS
+000F38 EF                MOV     A,R7
+000F39 B40502            CJNE    A,#05H,?C0035?KB_PROCESS
+000F3C         ?C0036?KB_PROCESS:
   175: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
   176: 		)
   177: 			kb_motion();
-000F55 021874            LJMP    kb_motion
-000F58         ?C0035?KB_PROCESS:
+000F3C 806D              SJMP    kb_motion
+000F3E         ?C0035?KB_PROCESS:
   178: 		else
   179: 		{
   180: 			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
-000F58 904CF4            MOV     DPTR,#g_variable+035H
-000F5B E0                MOVX    A,@DPTR
-000F5C B4010E            CJNE    A,#01H,?C0038?KB_PROCESS
+000F3E 904CF4            MOV     DPTR,#g_variable+035H
+000F41 E0                MOVX    A,@DPTR
+000F42 B4010E            CJNE    A,#01H,?C0038?KB_PROCESS
   181: 			{
   182: 				kb_send_combination_key(g_variable.key_combination_ctrl,0);
-000F5F A3                INC     DPTR
-000F60 E0                MOVX    A,@DPTR
-000F61 FF                MOV     R7,A
-000F62 E4                CLR     A
-000F63 FD                MOV     R5,A
-000F64 D184              ACALL   _kb_send_combination_key
+000F45 A3                INC     DPTR
+000F46 E0                MOVX    A,@DPTR
+000F47 FF                MOV     R7,A
+000F48 E4                CLR     A
+000F49 FD                MOV     R5,A
+000F4A D1F3              ACALL   _kb_send_combination_key
   183: 				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
-000F66 904CF4            MOV     DPTR,#g_variable+035H
-000F69 7402              MOV     A,#02H
-000F6B F0                MOVX    @DPTR,A
+000F4C 904CF4            MOV     DPTR,#g_variable+035H
+000F4F 7402              MOV     A,#02H
+000F51 F0                MOVX    @DPTR,A
   184: 			}
-000F6C 22                RET     
-000F6D         ?C0038?KB_PROCESS:
+000F52 22                RET     
+000F53         ?C0038?KB_PROCESS:
   185: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
-000F6D 904CF4            MOV     DPTR,#g_variable+035H
-000F70 E0                MOVX    A,@DPTR
-000F71 B4020B            CJNE    A,#02H,?C0040?KB_PROCESS
+000F53 904CF4            MOV     DPTR,#g_variable+035H
+000F56 E0                MOVX    A,@DPTR
+000F57 B4020B            CJNE    A,#02H,?C0040?KB_PROCESS
   186: 			{	
   187: 				g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
-000F74 7403              MOV     A,#03H
-000F76 F0                MOVX    @DPTR,A
+000F5A 7403              MOV     A,#03H
+000F5C F0                MOVX    @DPTR,A
   188: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-000F77 A3                INC     DPTR
-000F78 E0                MOVX    A,@DPTR
-000F79 FF                MOV     R7,A
-000F7A A3                INC     DPTR
-000F7B E0                MOVX    A,@DPTR
-000F7C FD                MOV     R5,A
-000F7D C184              AJMP    _kb_send_combination_key
+000F5D A3                INC     DPTR
+000F5E E0                MOVX    A,@DPTR
+000F5F FF                MOV     R7,A
+000F60 A3                INC     DPTR
+000F61 E0                MOVX    A,@DPTR
+000F62 FD                MOV     R5,A
+000F63 808E              SJMP    _kb_send_combination_key
   189: 			}
-000F7F         ?C0040?KB_PROCESS:
+000F65         ?C0040?KB_PROCESS:
   190: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
-000F7F 904CF4            MOV     DPTR,#g_variable+035H
-000F82 E0                MOVX    A,@DPTR
-000F83 B4041A            CJNE    A,#04H,?C0042?KB_PROCESS
+000F65 904CF4            MOV     DPTR,#g_variable+035H
+000F68 E0                MOVX    A,@DPTR
+000F69 B4041A            CJNE    A,#04H,?C0042?KB_PROCESS
   191: 			{
   192: 				g_variable.key_combination_keyvalue = 0;
-000F86 E4                CLR     A
-000F87 904CF6            MOV     DPTR,#g_variable+037H
-000F8A F0                MOVX    @DPTR,A
+000F6C E4                CLR     A
+000F6D 904CF6            MOV     DPTR,#g_variable+037H
+000F70 F0                MOVX    @DPTR,A
   193: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-000F8B 904CF5            MOV     DPTR,#g_variable+036H
-000F8E E0                MOVX    A,@DPTR
-000F8F FF                MOV     R7,A
-000F90 E4                CLR     A
-000F91 FD                MOV     R5,A
-000F92 D184              ACALL   _kb_send_combination_key
+000F71 904CF5            MOV     DPTR,#g_variable+036H
+000F74 E0                MOVX    A,@DPTR
+000F75 FF                MOV     R7,A
+000F76 E4                CLR     A
+000F77 FD                MOV     R5,A
+000F78 D1F3              ACALL   _kb_send_combination_key
   194: 				g_variable.key_combination_ctrl = 0;
-000F94 E4                CLR     A
-000F95 904CF5            MOV     DPTR,#g_variable+036H
-000F98 F0                MOVX    @DPTR,A
+000F7A E4                CLR     A
+000F7B 904CF5            MOV     DPTR,#g_variable+036H
+000F7E F0                MOVX    @DPTR,A
   195: 				g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
-000F99 904CF4            MOV     DPTR,#g_variable+035H
-000F9C 7405              MOV     A,#05H
-000F9E F0                MOVX    @DPTR,A
+000F7F 904CF4            MOV     DPTR,#g_variable+035H
+000F82 7405              MOV     A,#05H
+000F84 F0                MOVX    @DPTR,A
   196: 			}
-000F9F 22                RET     
-000FA0         ?C0042?KB_PROCESS:
+000F85 22                RET     
+000F86         ?C0042?KB_PROCESS:
   197: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_NULL)
-000FA0 904CF4            MOV     DPTR,#g_variable+035H
-000FA3 E0                MOVX    A,@DPTR
-000FA4 B40615            CJNE    A,#06H,?C0045?KB_PROCESS
+000F86 904CF4            MOV     DPTR,#g_variable+035H
+000F89 E0                MOVX    A,@DPTR
+000F8A B40615            CJNE    A,#06H,?C0045?KB_PROCESS
   198: 			{
   199: 				g_variable.key_combination_keyvalue = 0;
-000FA7 E4                CLR     A
-000FA8 904CF6            MOV     DPTR,#g_variable+037H
-000FAB F0                MOVX    @DPTR,A
+000F8D E4                CLR     A
+000F8E 904CF6            MOV     DPTR,#g_variable+037H
+000F91 F0                MOVX    @DPTR,A
   200: 				g_variable.key_combination_ctrl = 0;
-000FAC 904CF5            MOV     DPTR,#g_variable+036H
-000FAF F0                MOVX    @DPTR,A
+000F92 904CF5            MOV     DPTR,#g_variable+036H
+000F95 F0                MOVX    @DPTR,A
   201: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-000FB0 A3                INC     DPTR
-000FB1 E0                MOVX    A,@DPTR
-000FB2 FD                MOV     R5,A
-000FB3 E4                CLR     A
-000FB4 FF                MOV     R7,A
-000FB5 D184              ACALL   _kb_send_combination_key
+000F96 A3                INC     DPTR
+000F97 E0                MOVX    A,@DPTR
+000F98 FD                MOV     R5,A
+000F99 E4                CLR     A
+000F9A FF                MOV     R7,A
+000F9B D1F3              ACALL   _kb_send_combination_key
   202: 				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
-000FB7 E4                CLR     A
-000FB8 904CF4            MOV     DPTR,#g_variable+035H
-000FBB F0                MOVX    @DPTR,A
+000F9D E4                CLR     A
+000F9E 904CF4            MOV     DPTR,#g_variable+035H
+000FA1 F0                MOVX    @DPTR,A
   203: 			}
   204: 		}
   205: 
   206: }
-000FBC         ?C0045?KB_PROCESS:
-000FBC 22                RET     
+000FA2         ?C0045?KB_PROCESS:
+000FA2 22                RET     
 ----- FUNCTION kb_need_keyscan (END) -------
 
 
 ----- FUNCTION _IPC_Tx24GData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-000FBD 900BE7            MOV     DPTR,#ipcSendBuff
-000FC0 7406              MOV     A,#06H
-000FC2 F0                MOVX    @DPTR,A
-000FC3 01B5              AJMP    _IPC_TxData
+000FA3 900BE7            MOV     DPTR,#ipcSendBuff
+000FA6 7406              MOV     A,#06H
+000FA8 F0                MOVX    @DPTR,A
+000FA9 01B5              AJMP    _IPC_TxData
 ----- FUNCTION _IPC_Tx24GData (END) -------
 
 
------ FUNCTION System_Software_init (BEGIN) -----
- FILE: 'sys.c'
-   48: void System_Software_init()
-   49: {
-   50: 	System_clear_mem();
-   51: 	YC_adc_init();
-000FC5 B1FA              ACALL   System_clear_mem
-   52: 	g_variable.release_data =1;
-000FC7 121F72            LCALL   YC_adc_init
-   53: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-000FCA 904CEB            MOV     DPTR,#g_variable+02CH
-000FCD 7401              MOV     A,#01H
-000FCF F0                MOVX    @DPTR,A
-   54: 	g_variable.recon_count = 0;
-000FD0 904CE5            MOV     DPTR,#g_variable+026H
-000FD3 741E              MOV     A,#01EH
-000FD5 F0                MOVX    @DPTR,A
-   55: 	g_variable.test_buff = 0xff;
-000FD6 E4                CLR     A
-000FD7 904CF0            MOV     DPTR,#g_variable+031H
-000FDA F0                MOVX    @DPTR,A
-   56: }
-000FDB 904D01            MOV     DPTR,#g_variable+042H
-000FDE 74FF              MOV     A,#0FFH
-000FE0 F0                MOVX    @DPTR,A
-   57: 
-000FE1 22                RET     
------ FUNCTION System_Software_init (END) -------
+----- FUNCTION kb_motion (BEGIN) -----
+ FILE: 'kb_process.c'
+  152: static void kb_motion()
+  153: {
+  154: 	tKSEVENT *pEvt = NULL;
+  155: 	
+000FAB 904E75            MOV     DPTR,#pEvt
+000FAE E4                CLR     A
+000FAF F0                MOVX    @DPTR,A
+000FB0 A3                INC     DPTR
+000FB1 F0                MOVX    @DPTR,A
+000FB2 A3                INC     DPTR
+000FB3 F0                MOVX    @DPTR,A
+  156: 	if (!IPC_IsTxBuffEmpty())
+000FB4 F1DF              ACALL   IPC_IsTxBuffEmpty
+000FB6 5026              JNC     ?C0033?KB_PROCESS
+000FB8         ?C0032?KB_PROCESS:
+  157: 		return;
+  158: 	pEvt = KS_GetCurrentEvt();
+000FB8 12191A            LCALL   KS_GetCurrentEvt
+000FBB 904E75            MOV     DPTR,#pEvt
+000FBE EB                MOV     A,R3
+000FBF F0                MOVX    @DPTR,A
+000FC0 A3                INC     DPTR
+000FC1 EA                MOV     A,R2
+000FC2 F0                MOVX    @DPTR,A
+000FC3 A3                INC     DPTR
+000FC4 E9                MOV     A,R1
+000FC5 F0                MOVX    @DPTR,A
+  159: 
+  160: 	if (pEvt == NULL)
+000FC6 4A                ORL     A,R2
+000FC7 7008              JNZ     ?C0034?KB_PROCESS
+  161: 	{
+  162: 		m_power_on_flag = 1;
+000FC9 904CB6            MOV     DPTR,#m_power_on_flag
+000FCC 04                INC     A
+000FCD F0                MOVX    @DPTR,A
+  163: 		kb_24g_get_led_status();
+000FCE 0217D7            LJMP    kb_24g_get_led_status
+  164: 		return;
+  165: 	}
+000FD1         ?C0034?KB_PROCESS:
+  166: 	kb_motion_keyscan(pEvt);
+000FD1 904E75            MOV     DPTR,#pEvt
+000FD4 E0                MOVX    A,@DPTR
+000FD5 FB                MOV     R3,A
+000FD6 A3                INC     DPTR
+000FD7 E0                MOVX    A,@DPTR
+000FD8 FA                MOV     R2,A
+000FD9 A3                INC     DPTR
+000FDA E0                MOVX    A,@DPTR
+000FDB F9                MOV     R1,A
+000FDC 311D              ACALL   _kb_motion_keyscan
+  167: }
+000FDE         ?C0033?KB_PROCESS:
+000FDE 22                RET     
+----- FUNCTION kb_motion (END) -------
+
+
+----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
+000FDF 904B9C            MOV     DPTR,#ipcTxWritePtr
+000FE2 E0                MOVX    A,@DPTR
+000FE3 FE                MOV     R6,A
+000FE4 A3                INC     DPTR
+000FE5 E0                MOVX    A,@DPTR
+000FE6 FF                MOV     R7,A
+000FE7 904B9A            MOV     DPTR,#ipcTxReadPtr
+000FEA E0                MOVX    A,@DPTR
+000FEB B50607            CJNE    A,AR6,?C0021?IPC
+000FEE A3                INC     DPTR
+000FEF E0                MOVX    A,@DPTR
+000FF0 B50702            CJNE    A,AR7,?C0021?IPC
+000FF3 D3                SETB    C
+000FF4 22                RET     
+000FF5         ?C0021?IPC:
+000FF5 C3                CLR     C
+000FF6 22                RET     
+----- FUNCTION IPC_IsTxBuffEmpty (END) -------
 
 
 ----- FUNCTION YC_check_need_reconnected (BEGIN) -----
@@ -2058,62 +2107,62 @@
    15: 	byte return_val = 0;
    16: 
 ;---- Variable 'return_val' assigned to Register 'R7' ----
-000FE2 E4                CLR     A
-000FE3 FF                MOV     R7,A
+000FF7 E4                CLR     A
+000FF8 FF                MOV     R7,A
    17: 	if(g_variable.pairing_g24_timeout)
-000FE4 904CEE            MOV     DPTR,#g_variable+02FH
-000FE7 E0                MOVX    A,@DPTR
-000FE8 6001              JZ      ?C0003?BLUETOOTH
+000FF9 904CEE            MOV     DPTR,#g_variable+02FH
+000FFC E0                MOVX    A,@DPTR
+000FFD 6001              JZ      ?C0003?BLUETOOTH
    18: 		return return_val;
-000FEA 22                RET     
-000FEB         ?C0003?BLUETOOTH:
+000FFF 22                RET     
+001000         ?C0003?BLUETOOTH:
    19: 
    20: 	if (g_variable.g24_currentState != CHANGE_TO_24G_CONNECTED)
-000FEB 904CC5            MOV     DPTR,#g_variable+06H
-000FEE E0                MOVX    A,@DPTR
-000FEF 6403              XRL     A,#03H
-000FF1 601C              JZ      ?C0005?BLUETOOTH
+001000 904CC5            MOV     DPTR,#g_variable+06H
+001003 E0                MOVX    A,@DPTR
+001004 6403              XRL     A,#03H
+001006 601C              JZ      ?C0005?BLUETOOTH
    21: 	{
    22: 		if(g_variable.recon_delay == 0)
-000FF3 904CEF            MOV     DPTR,#g_variable+030H
-000FF6 E0                MOVX    A,@DPTR
-000FF7 701D              JNZ     ?C0008?BLUETOOTH
+001008 904CEF            MOV     DPTR,#g_variable+030H
+00100B E0                MOVX    A,@DPTR
+00100C 701D              JNZ     ?C0008?BLUETOOTH
    23: 		{
    24: 			g_variable.recon_delay = 10;
-000FF9 740A              MOV     A,#0AH
-000FFB F0                MOVX    @DPTR,A
+00100E 740A              MOV     A,#0AH
+001010 F0                MOVX    @DPTR,A
    25: 			if ((g_variable.recon_count == 0)
-000FFC A3                INC     DPTR
-000FFD E0                MOVX    A,@DPTR
-000FFE 7016              JNZ     ?C0008?BLUETOOTH
-001000 904DE1            MOV     DPTR,#power_on_flag
-001003 E0                MOVX    A,@DPTR
-001004 B4020F            CJNE    A,#02H,?C0008?BLUETOOTH
+001011 A3                INC     DPTR
+001012 E0                MOVX    A,@DPTR
+001013 7016              JNZ     ?C0008?BLUETOOTH
+001015 904DE1            MOV     DPTR,#power_on_flag
+001018 E0                MOVX    A,@DPTR
+001019 B4020F            CJNE    A,#02H,?C0008?BLUETOOTH
    26: 			&& (power_on_flag == 2))
    27: 			{				
    28: 				YC_key_action_handle(KEY_OPEN_24G);
-001007 7F09              MOV     R7,#09H
-001009 1117              ACALL   _YC_key_action_handle
+00101C 7F09              MOV     R7,#09H
+00101E 112C              ACALL   _YC_key_action_handle
    29: 				return_val = 1;
-00100B 7F01              MOV     R7,#01H
+001020 7F01              MOV     R7,#01H
    30: 			}
    31: 		}
    32: 	}
-00100D 8007              SJMP    ?C0008?BLUETOOTH
-00100F         ?C0005?BLUETOOTH:
+001022 8007              SJMP    ?C0008?BLUETOOTH
+001024         ?C0005?BLUETOOTH:
    33: 	else
    34: 	{
    35: 		g_variable.release_data = 0;
-00100F E4                CLR     A
-001010 904CEB            MOV     DPTR,#g_variable+02CH
-001013 F0                MOVX    @DPTR,A
+001024 E4                CLR     A
+001025 904CEB            MOV     DPTR,#g_variable+02CH
+001028 F0                MOVX    @DPTR,A
    36: 		return_val = 1;
-001014 7F01              MOV     R7,#01H
+001029 7F01              MOV     R7,#01H
    37: 	}
-001016         ?C0008?BLUETOOTH:
+00102B         ?C0008?BLUETOOTH:
    38: 	return return_val;
    39: }
-001016 22                RET     
+00102B 22                RET     
 ----- FUNCTION YC_check_need_reconnected (END) -------
 
 
@@ -2121,164 +2170,164 @@
  FILE: 'kb_process.c'
     3: void YC_key_action_handle(byte key_num)
     4: {
-001017 904E8F            MOV     DPTR,#key_num
-00101A EF                MOV     A,R7
-00101B F0                MOVX    @DPTR,A
+00102C 904E8F            MOV     DPTR,#key_num
+00102F EF                MOV     A,R7
+001030 F0                MOVX    @DPTR,A
     5: 	switch (key_num)
     6: 	{
-00101C 24F7              ADD     A,#0F7H
-00101E 6009              JZ      ?C0003?KB_PROCESS
-001020 14                DEC     A
-001021 6062              JZ      ?C0007?KB_PROCESS
-001023 2402              ADD     A,#02H
-001025 6002              JZ      $ + 4H
-001027 01BF              AJMP    ?C0011?KB_PROCESS
+001031 24F7              ADD     A,#0F7H
+001033 6009              JZ      ?C0003?KB_PROCESS
+001035 14                DEC     A
+001036 6062              JZ      ?C0007?KB_PROCESS
+001038 2402              ADD     A,#02H
+00103A 6002              JZ      $ + 4H
+00103C 01D4              AJMP    ?C0011?KB_PROCESS
     7: 	case KEY_START_24G:
     8: 	case KEY_OPEN_24G:
     9: 		g_variable.recon_count = 0;
-001029         ?C0003?KB_PROCESS:
+00103E         ?C0003?KB_PROCESS:
    10: 		if (YC_disconnect_all_link())
-001029 E4                CLR     A
-00102A 904CF0            MOV     DPTR,#g_variable+031H
-00102D F0                MOVX    @DPTR,A
+00103E E4                CLR     A
+00103F 904CF0            MOV     DPTR,#g_variable+031H
+001042 F0                MOVX    @DPTR,A
    11: 		{
-00102E 11C5              ACALL   YC_disconnect_all_link
-001030 EF                MOV     A,R7
-001031 6009              JZ      ?C0004?KB_PROCESS
+001043 11DA              ACALL   YC_disconnect_all_link
+001045 EF                MOV     A,R7
+001046 6009              JZ      ?C0004?KB_PROCESS
    12: 			g_variable.key_action = key_num;
    13: 		}
-001033 904E8F            MOV     DPTR,#key_num
-001036 E0                MOVX    A,@DPTR
-001037 904CED            MOV     DPTR,#g_variable+02EH
-00103A F0                MOVX    @DPTR,A
+001048 904E8F            MOV     DPTR,#key_num
+00104B E0                MOVX    A,@DPTR
+00104C 904CED            MOV     DPTR,#g_variable+02EH
+00104F F0                MOVX    @DPTR,A
    14: 		else
-00103B 22                RET     
-00103C         ?C0004?KB_PROCESS:
+001050 22                RET     
+001051         ?C0004?KB_PROCESS:
    15: 		{
    16: 			IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-00103C 7B01              MOV     R3,#01H
-00103E 7A4C              MOV     R2,#HIGH m_24g_addr
-001040 7900              MOV     R1,#LOW m_24g_addr
-001042 7D04              MOV     R5,#04H
-001044 7C00              MOV     R4,#00H
-001046 7FF2              MOV     R7,#0F2H
-001048 7E3F              MOV     R6,#03FH
-00104A 5150              ACALL   _IIC_Read
+001051 7B01              MOV     R3,#01H
+001053 7A4C              MOV     R2,#HIGH m_24g_addr
+001055 7900              MOV     R1,#LOW m_24g_addr
+001057 7D04              MOV     R5,#04H
+001059 7C00              MOV     R4,#00H
+00105B 7FF2              MOV     R7,#0F2H
+00105D 7E3F              MOV     R6,#03FH
+00105F 5164              ACALL   _IIC_Read
    17: 			Delay1ms(10);
-00104C 7F0A              MOV     R7,#0AH
-00104E 3161              ACALL   _Delay1ms
+001061 7F0A              MOV     R7,#0AH
+001063 3176              ACALL   _Delay1ms
    18: 			if (m_24g_addr[0] == 0xff && m_24g_addr[1] == 0xff && m_24g_addr[2] == 0xff && m_24g_addr[3] == 0xff)
-001050 904C00            MOV     DPTR,#m_24g_addr
-001053 E0                MOVX    A,@DPTR
-001054 B4FF1B            CJNE    A,#0FFH,?C0006?KB_PROCESS
-001057 A3                INC     DPTR
-001058 E0                MOVX    A,@DPTR
-001059 B4FF16            CJNE    A,#0FFH,?C0006?KB_PROCESS
-00105C A3                INC     DPTR
-00105D E0                MOVX    A,@DPTR
-00105E B4FF11            CJNE    A,#0FFH,?C0006?KB_PROCESS
-001061 A3                INC     DPTR
-001062 E0                MOVX    A,@DPTR
-001063 B4FF0C            CJNE    A,#0FFH,?C0006?KB_PROCESS
+001065 904C00            MOV     DPTR,#m_24g_addr
+001068 E0                MOVX    A,@DPTR
+001069 B4FF1B            CJNE    A,#0FFH,?C0006?KB_PROCESS
+00106C A3                INC     DPTR
+00106D E0                MOVX    A,@DPTR
+00106E B4FF16            CJNE    A,#0FFH,?C0006?KB_PROCESS
+001071 A3                INC     DPTR
+001072 E0                MOVX    A,@DPTR
+001073 B4FF11            CJNE    A,#0FFH,?C0006?KB_PROCESS
+001076 A3                INC     DPTR
+001077 E0                MOVX    A,@DPTR
+001078 B4FF0C            CJNE    A,#0FFH,?C0006?KB_PROCESS
    19: 			{
    20: 				m_24g_addr[0] = 0x0f;
-001066 904C00            MOV     DPTR,#m_24g_addr
-001069 740F              MOV     A,#0FH
-00106B F0                MOVX    @DPTR,A
+00107B 904C00            MOV     DPTR,#m_24g_addr
+00107E 740F              MOV     A,#0FH
+001080 F0                MOVX    @DPTR,A
    21: 				m_24g_addr[1] = 0x0f;
-00106C A3                INC     DPTR
-00106D F0                MOVX    @DPTR,A
+001081 A3                INC     DPTR
+001082 F0                MOVX    @DPTR,A
    22: 				m_24g_addr[2] = 0x0f;
-00106E A3                INC     DPTR
-00106F F0                MOVX    @DPTR,A
+001083 A3                INC     DPTR
+001084 F0                MOVX    @DPTR,A
    23: 				m_24g_addr[3] = 0x0f;
-001070 A3                INC     DPTR
-001071 F0                MOVX    @DPTR,A
+001085 A3                INC     DPTR
+001086 F0                MOVX    @DPTR,A
    24: 			}
-001072         ?C0006?KB_PROCESS:
+001087         ?C0006?KB_PROCESS:
    25: 			IPC_TxControlCmd(IPC_CMD_START_24G);
-001072 7F21              MOV     R7,#021H
-001074 1207F8            LCALL   _IPC_TxControlCmd
+001087 7F21              MOV     R7,#021H
+001089 1207F8            LCALL   _IPC_TxControlCmd
    26: 			
    27: 			g_variable.g24_currentState = CHANGE_TO_24G_CONNECTING;
-001077 904CC5            MOV     DPTR,#g_variable+06H
-00107A 7402              MOV     A,#02H
-00107C F0                MOVX    @DPTR,A
+00108C 904CC5            MOV     DPTR,#g_variable+06H
+00108F 7402              MOV     A,#02H
+001091 F0                MOVX    @DPTR,A
    28: 			g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-00107D E4                CLR     A
-00107E A3                INC     DPTR
-00107F F0                MOVX    @DPTR,A
+001092 E4                CLR     A
+001093 A3                INC     DPTR
+001094 F0                MOVX    @DPTR,A
    29: 			g_variable.key_action = KEY_NONE;
-001080 904CED            MOV     DPTR,#g_variable+02EH
-001083 F0                MOVX    @DPTR,A
+001095 904CED            MOV     DPTR,#g_variable+02EH
+001098 F0                MOVX    @DPTR,A
    30: 		}
    31: 		break;
-001084 22                RET     
+001099 22                RET     
    32: 	case KEY_PAIRING_24G:
-001085         ?C0007?KB_PROCESS:
+00109A         ?C0007?KB_PROCESS:
    33: 		g_variable.recon_count = 0;
-001085 E4                CLR     A
-001086 904CF0            MOV     DPTR,#g_variable+031H
-001089 F0                MOVX    @DPTR,A
+00109A E4                CLR     A
+00109B 904CF0            MOV     DPTR,#g_variable+031H
+00109E F0                MOVX    @DPTR,A
    34: 		if (YC_disconnect_all_link())
-00108A 11C5              ACALL   YC_disconnect_all_link
-00108C EF                MOV     A,R7
-00108D 6009              JZ      ?C0008?KB_PROCESS
+00109F 11DA              ACALL   YC_disconnect_all_link
+0010A1 EF                MOV     A,R7
+0010A2 6009              JZ      ?C0008?KB_PROCESS
    35: 		{
    36: 			g_variable.key_action = key_num;
-00108F 904E8F            MOV     DPTR,#key_num
-001092 E0                MOVX    A,@DPTR
-001093 904CED            MOV     DPTR,#g_variable+02EH
-001096 F0                MOVX    @DPTR,A
+0010A4 904E8F            MOV     DPTR,#key_num
+0010A7 E0                MOVX    A,@DPTR
+0010A8 904CED            MOV     DPTR,#g_variable+02EH
+0010AB F0                MOVX    @DPTR,A
    37: 		}
-001097 22                RET     
-001098         ?C0008?KB_PROCESS:
+0010AC 22                RET     
+0010AD         ?C0008?KB_PROCESS:
    38: 		else
    39: 		{
    40: 			if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
-001098 904CC5            MOV     DPTR,#g_variable+06H
-00109B E0                MOVX    A,@DPTR
-00109C 6401              XRL     A,#01H
-00109E 6019              JZ      ?C0010?KB_PROCESS
+0010AD 904CC5            MOV     DPTR,#g_variable+06H
+0010B0 E0                MOVX    A,@DPTR
+0010B1 6401              XRL     A,#01H
+0010B3 6019              JZ      ?C0010?KB_PROCESS
    41: 			{
    42: 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
-0010A0 7F23              MOV     R7,#023H
-0010A2 1207F8            LCALL   _IPC_TxControlCmd
+0010B5 7F23              MOV     R7,#023H
+0010B7 1207F8            LCALL   _IPC_TxControlCmd
    43: 				g_variable.g24_currentState = CHANGE_TO_24G_PAIRING;
-0010A5 904CC5            MOV     DPTR,#g_variable+06H
-0010A8 7401              MOV     A,#01H
-0010AA F0                MOVX    @DPTR,A
+0010BA 904CC5            MOV     DPTR,#g_variable+06H
+0010BD 7401              MOV     A,#01H
+0010BF F0                MOVX    @DPTR,A
    44: 				g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-0010AB E4                CLR     A
-0010AC A3                INC     DPTR
-0010AD F0                MOVX    @DPTR,A
+0010C0 E4                CLR     A
+0010C1 A3                INC     DPTR
+0010C2 F0                MOVX    @DPTR,A
    45: 				g_variable.pairing_g24_timeout = BT_PAIRING_TIME_OUT_2MIN;
-0010AE 904CEE            MOV     DPTR,#g_variable+02FH
-0010B1 74F0              MOV     A,#0F0H
-0010B3 F0                MOVX    @DPTR,A
+0010C3 904CEE            MOV     DPTR,#g_variable+02FH
+0010C6 74F0              MOV     A,#0F0H
+0010C8 F0                MOVX    @DPTR,A
    46: 				g_variable.pairing_timeout = 0;
-0010B4 E4                CLR     A
-0010B5 904CE9            MOV     DPTR,#g_variable+02AH
-0010B8 F0                MOVX    @DPTR,A
+0010C9 E4                CLR     A
+0010CA 904CE9            MOV     DPTR,#g_variable+02AH
+0010CD F0                MOVX    @DPTR,A
    47: 			}
-0010B9         ?C0010?KB_PROCESS:
+0010CE         ?C0010?KB_PROCESS:
    48: 			g_variable.key_action = KEY_NONE;
-0010B9 E4                CLR     A
-0010BA 904CED            MOV     DPTR,#g_variable+02EH
-0010BD F0                MOVX    @DPTR,A
+0010CE E4                CLR     A
+0010CF 904CED            MOV     DPTR,#g_variable+02EH
+0010D2 F0                MOVX    @DPTR,A
    49: 		}
    50: 		break;
-0010BE 22                RET     
+0010D3 22                RET     
    51: 	default:
-0010BF         ?C0011?KB_PROCESS:
+0010D4         ?C0011?KB_PROCESS:
    52: 		g_variable.key_action = KEY_NONE;
-0010BF E4                CLR     A
-0010C0 904CED            MOV     DPTR,#g_variable+02EH
-0010C3 F0                MOVX    @DPTR,A
+0010D4 E4                CLR     A
+0010D5 904CED            MOV     DPTR,#g_variable+02EH
+0010D8 F0                MOVX    @DPTR,A
    53: 		break;
    54: 	}
    55: }
-0010C4 22                RET     
+0010D9 22                RET     
 ----- FUNCTION _YC_key_action_handle (END) -------
 
 
@@ -2288,508 +2337,508 @@
    49: {
    50: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED 
    51: 		||g_variable.g24_currentState == CHANGE_TO_24G_CONNECTING)
-0010C5 904CC5            MOV     DPTR,#g_variable+06H
-0010C8 E0                MOVX    A,@DPTR
-0010C9 FF                MOV     R7,A
-0010CA 6403              XRL     A,#03H
-0010CC 6004              JZ      ?C0011?BLUETOOTH
-0010CE EF                MOV     A,R7
-0010CF B40208            CJNE    A,#02H,?C0010?BLUETOOTH
-0010D2         ?C0011?BLUETOOTH:
+0010DA 904CC5            MOV     DPTR,#g_variable+06H
+0010DD E0                MOVX    A,@DPTR
+0010DE FF                MOV     R7,A
+0010DF 6403              XRL     A,#03H
+0010E1 6004              JZ      ?C0011?BLUETOOTH
+0010E3 EF                MOV     A,R7
+0010E4 B40208            CJNE    A,#02H,?C0010?BLUETOOTH
+0010E7         ?C0011?BLUETOOTH:
    52: 	{
    53: 		IPC_TxControlCmd(IPC_CMD_STOP_24G);
-0010D2 7F22              MOV     R7,#022H
-0010D4 1207F8            LCALL   _IPC_TxControlCmd
+0010E7 7F22              MOV     R7,#022H
+0010E9 1207F8            LCALL   _IPC_TxControlCmd
    54: 		return 1;
-0010D7 7F01              MOV     R7,#01H
-0010D9 22                RET     
+0010EC 7F01              MOV     R7,#01H
+0010EE 22                RET     
    55: 	}
-0010DA         ?C0010?BLUETOOTH:
+0010EF         ?C0010?BLUETOOTH:
    56: 	return 0;
-0010DA 7F00              MOV     R7,#00H
+0010EF 7F00              MOV     R7,#00H
    57: }
-0010DC 22                RET     
+0010F1 22                RET     
 ----- FUNCTION YC_disconnect_all_link (END) -------
 
 
 ----- FUNCTION kb_button_press_timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  243: void kb_button_press_timer500ms()
-  244: {
-  245: 	
-  246: //key status 
-  247: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
-0010DD 904CCE            MOV     DPTR,#g_variable+0FH
-0010E0 E0                MOVX    A,@DPTR
-0010E1 30E13E            JNB     ACC.1,?C0048?SYS
-  248: 	{
-  249: 		if (g_variable.button_timer[1] < 250)
-0010E4 904CD0            MOV     DPTR,#g_variable+011H
-0010E7 E0                MOVX    A,@DPTR
-0010E8 C3                CLR     C
-0010E9 94FA              SUBB    A,#0FAH
-0010EB 5003              JNC     ?C0049?SYS
-  250: 			g_variable.button_timer[1]++;
-0010ED E0                MOVX    A,@DPTR
-0010EE 04                INC     A
-0010EF F0                MOVX    @DPTR,A
-0010F0         ?C0049?SYS:
-  251: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
-0010F0 904CD0            MOV     DPTR,#g_variable+011H
-0010F3 E0                MOVX    A,@DPTR
-0010F4 64B4              XRL     A,#0B4H
-0010F6 702F              JNZ     ?C0054?SYS
-  252: 		{
-  253: 			press_long_time_flag++;
-0010F8 904DDC            MOV     DPTR,#press_long_time_flag
-0010FB E0                MOVX    A,@DPTR
-0010FC 04                INC     A
-0010FD F0                MOVX    @DPTR,A
-  254: 			if(press_long_time_flag <= 2)
-0010FE E0                MOVX    A,@DPTR
-0010FF D3                SETB    C
-001100 9402              SUBB    A,#02H
-001102 5007              JNC     ?C0051?SYS
-  255: 			{
-  256: 				g_variable.button_timer[1] = 0;
-001104 E4                CLR     A
+  244: void kb_button_press_timer500ms()
+  245: {
+  246: 	
+  247: //key status 
+  248: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
+0010F2 904CCE            MOV     DPTR,#g_variable+0FH
+0010F5 E0                MOVX    A,@DPTR
+0010F6 30E13E            JNB     ACC.1,?C0048?SYS
+  249: 	{
+  250: 		if (g_variable.button_timer[1] < 250)
+0010F9 904CD0            MOV     DPTR,#g_variable+011H
+0010FC E0                MOVX    A,@DPTR
+0010FD C3                CLR     C
+0010FE 94FA              SUBB    A,#0FAH
+001100 5003              JNC     ?C0049?SYS
+  251: 			g_variable.button_timer[1]++;
+001102 E0                MOVX    A,@DPTR
+001103 04                INC     A
+001104 F0                MOVX    @DPTR,A
+001105         ?C0049?SYS:
+  252: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
 001105 904CD0            MOV     DPTR,#g_variable+011H
-001108 F0                MOVX    @DPTR,A
-  257: 			}
-001109 801C              SJMP    ?C0054?SYS
-00110B         ?C0051?SYS:
-  258: 			else if(press_long_time_flag == 3)
-00110B 904DDC            MOV     DPTR,#press_long_time_flag
-00110E E0                MOVX    A,@DPTR
-00110F B40315            CJNE    A,#03H,?C0054?SYS
-  259: 			{
-  260: 				long_press_flag = 1;
-001112 904DD5            MOV     DPTR,#long_press_flag
-001115 7401              MOV     A,#01H
-001117 F0                MOVX    @DPTR,A
-  261: 				g_variable.button_timer[1] = 0;
-001118 E4                CLR     A
-001119 904CD0            MOV     DPTR,#g_variable+011H
-00111C F0                MOVX    @DPTR,A
-  262: 				System_long_sleep();
-00111D 1207F1            LCALL   System_long_sleep
-  263: 			}
-  264: 		}
-  265: 	}
-001120 8005              SJMP    ?C0054?SYS
-001122         ?C0048?SYS:
-  266: 	else
-  267: 		press_long_time_flag = 0;
-001122 E4                CLR     A
-001123 904DDC            MOV     DPTR,#press_long_time_flag
-001126 F0                MOVX    @DPTR,A
-001127         ?C0054?SYS:
-  268: 		
-  269: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
-001127 904CCE            MOV     DPTR,#g_variable+0FH
-00112A E0                MOVX    A,@DPTR
-00112B 30E42D            JNB     ACC.4,?C0055?SYS
-  270: 	{
-  271: 		g_variable.delay_enter_lpm_timer = 10;
-00112E 904CEA            MOV     DPTR,#g_variable+02BH
-001131 740A              MOV     A,#0AH
-001133 F0                MOVX    @DPTR,A
-  272: 		if (g_variable.button_timer[2] < 250)
-001134 904CD1            MOV     DPTR,#g_variable+012H
-001137 E0                MOVX    A,@DPTR
-001138 C3                CLR     C
-001139 94FA              SUBB    A,#0FAH
-00113B 5003              JNC     ?C0056?SYS
-  273: 			g_variable.button_timer[2]++;
-00113D E0                MOVX    A,@DPTR
-00113E 04                INC     A
-00113F F0                MOVX    @DPTR,A
-001140         ?C0056?SYS:
-  274: 		if (g_variable.button_timer[2] == 6)
-001140 904CD1            MOV     DPTR,#g_variable+012H
-001143 E0                MOVX    A,@DPTR
-001144 B40619            CJNE    A,#06H,?C0061?SYS
-  275: 		{
-  276: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
-001147 904CC3            MOV     DPTR,#g_variable+04H
-00114A E0                MOVX    A,@DPTR
-00114B FF                MOV     R7,A
-00114C 6003              JZ      ?C0059?SYS
-00114E B4FE0F            CJNE    A,#0FEH,?C0061?SYS
-001151         ?C0059?SYS:
-  277: 			{
-  278: 				YC_disconnect_all_link();
-001151 11C5              ACALL   YC_disconnect_all_link
-  279: 				Delay1ms(10);
-001153 7F0A              MOV     R7,#0AH
-001155 3161              ACALL   _Delay1ms
-  280: 				YC_key_action_handle(KEY_PAIRING_24G);
-001157 7F0A              MOV     R7,#0AH
-001159 0117              AJMP    _YC_key_action_handle
-  281: 			}
-  282: 		}
-  283: 	}
-00115B         ?C0055?SYS:
-  284: 	else
-  285: 		g_variable.button_timer[2] = 0;
-00115B E4                CLR     A
-00115C 904CD1            MOV     DPTR,#g_variable+012H
-00115F F0                MOVX    @DPTR,A
-  286: 	
-  287: }
-001160         ?C0061?SYS:
-001160 22                RET     
+001108 E0                MOVX    A,@DPTR
+001109 64B4              XRL     A,#0B4H
+00110B 702F              JNZ     ?C0054?SYS
+  253: 		{
+  254: 			press_long_time_flag++;
+00110D 904DDC            MOV     DPTR,#press_long_time_flag
+001110 E0                MOVX    A,@DPTR
+001111 04                INC     A
+001112 F0                MOVX    @DPTR,A
+  255: 			if(press_long_time_flag <= 2)
+001113 E0                MOVX    A,@DPTR
+001114 D3                SETB    C
+001115 9402              SUBB    A,#02H
+001117 5007              JNC     ?C0051?SYS
+  256: 			{
+  257: 				g_variable.button_timer[1] = 0;
+001119 E4                CLR     A
+00111A 904CD0            MOV     DPTR,#g_variable+011H
+00111D F0                MOVX    @DPTR,A
+  258: 			}
+00111E 801C              SJMP    ?C0054?SYS
+001120         ?C0051?SYS:
+  259: 			else if(press_long_time_flag == 3)
+001120 904DDC            MOV     DPTR,#press_long_time_flag
+001123 E0                MOVX    A,@DPTR
+001124 B40315            CJNE    A,#03H,?C0054?SYS
+  260: 			{
+  261: 				long_press_flag = 1;
+001127 904DD5            MOV     DPTR,#long_press_flag
+00112A 7401              MOV     A,#01H
+00112C F0                MOVX    @DPTR,A
+  262: 				g_variable.button_timer[1] = 0;
+00112D E4                CLR     A
+00112E 904CD0            MOV     DPTR,#g_variable+011H
+001131 F0                MOVX    @DPTR,A
+  263: 				System_long_sleep();
+001132 1207F1            LCALL   System_long_sleep
+  264: 			}
+  265: 		}
+  266: 	}
+001135 8005              SJMP    ?C0054?SYS
+001137         ?C0048?SYS:
+  267: 	else
+  268: 		press_long_time_flag = 0;
+001137 E4                CLR     A
+001138 904DDC            MOV     DPTR,#press_long_time_flag
+00113B F0                MOVX    @DPTR,A
+00113C         ?C0054?SYS:
+  269: 		
+  270: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
+00113C 904CCE            MOV     DPTR,#g_variable+0FH
+00113F E0                MOVX    A,@DPTR
+001140 30E42D            JNB     ACC.4,?C0055?SYS
+  271: 	{
+  272: 		g_variable.delay_enter_lpm_timer = 10;
+001143 904CEA            MOV     DPTR,#g_variable+02BH
+001146 740A              MOV     A,#0AH
+001148 F0                MOVX    @DPTR,A
+  273: 		if (g_variable.button_timer[2] < 250)
+001149 904CD1            MOV     DPTR,#g_variable+012H
+00114C E0                MOVX    A,@DPTR
+00114D C3                CLR     C
+00114E 94FA              SUBB    A,#0FAH
+001150 5003              JNC     ?C0056?SYS
+  274: 			g_variable.button_timer[2]++;
+001152 E0                MOVX    A,@DPTR
+001153 04                INC     A
+001154 F0                MOVX    @DPTR,A
+001155         ?C0056?SYS:
+  275: 		if (g_variable.button_timer[2] == 6)
+001155 904CD1            MOV     DPTR,#g_variable+012H
+001158 E0                MOVX    A,@DPTR
+001159 B40619            CJNE    A,#06H,?C0061?SYS
+  276: 		{
+  277: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
+00115C 904CC3            MOV     DPTR,#g_variable+04H
+00115F E0                MOVX    A,@DPTR
+001160 FF                MOV     R7,A
+001161 6003              JZ      ?C0059?SYS
+001163 B4FE0F            CJNE    A,#0FEH,?C0061?SYS
+001166         ?C0059?SYS:
+  278: 			{
+  279: 				YC_disconnect_all_link();
+001166 11DA              ACALL   YC_disconnect_all_link
+  280: 				Delay1ms(10);
+001168 7F0A              MOV     R7,#0AH
+00116A 3176              ACALL   _Delay1ms
+  281: 				YC_key_action_handle(KEY_PAIRING_24G);
+00116C 7F0A              MOV     R7,#0AH
+00116E 012C              AJMP    _YC_key_action_handle
+  282: 			}
+  283: 		}
+  284: 	}
+001170         ?C0055?SYS:
+  285: 	else
+  286: 		g_variable.button_timer[2] = 0;
+001170 E4                CLR     A
+001171 904CD1            MOV     DPTR,#g_variable+012H
+001174 F0                MOVX    @DPTR,A
+  287: 	
+  288: }
+001175         ?C0061?SYS:
+001175 22                RET     
 ----- FUNCTION kb_button_press_timer500ms (END) -------
 
 
 ----- FUNCTION _Delay1ms (BEGIN) -----
 ;---- Variable 'Time' assigned to Register 'R7' ----
-001161         ?C0014?UTILITIES:
-001161 EF                MOV     A,R7
-001162 D3                SETB    C
-001163 9400              SUBB    A,#00H
-001165 4011              JC      ?C0020?UTILITIES
+001176         ?C0014?UTILITIES:
+001176 EF                MOV     A,R7
+001177 D3                SETB    C
+001178 9400              SUBB    A,#00H
+00117A 4011              JC      ?C0020?UTILITIES
 ;---- Variable 'j' assigned to Register 'R4/R5' ----
-001167 E4                CLR     A
-001168 FD                MOV     R5,A
-001169 FC                MOV     R4,A
-00116A         ?C0017?UTILITIES:
-00116A 0D                INC     R5
-00116B BD0001            CJNE    R5,#00H,?C0028?UTILITIES
-00116E 0C                INC     R4
-00116F         ?C0028?UTILITIES:
-00116F BC04F8            CJNE    R4,#04H,?C0017?UTILITIES
-001172 BDA6F5            CJNE    R5,#0A6H,?C0017?UTILITIES
-001175         ?C0016?UTILITIES:
-001175 1F                DEC     R7
-001176 80E9              SJMP    ?C0014?UTILITIES
-001178         ?C0020?UTILITIES:
-001178 22                RET     
+00117C E4                CLR     A
+00117D FD                MOV     R5,A
+00117E FC                MOV     R4,A
+00117F         ?C0017?UTILITIES:
+00117F 0D                INC     R5
+001180 BD0001            CJNE    R5,#00H,?C0028?UTILITIES
+001183 0C                INC     R4
+001184         ?C0028?UTILITIES:
+001184 BC04F8            CJNE    R4,#04H,?C0017?UTILITIES
+001187 BDA6F5            CJNE    R5,#0A6H,?C0017?UTILITIES
+00118A         ?C0016?UTILITIES:
+00118A 1F                DEC     R7
+00118B 80E9              SJMP    ?C0014?UTILITIES
+00118D         ?C0020?UTILITIES:
+00118D 22                RET     
 ----- FUNCTION _Delay1ms (END) -------
 
 
 ----- FUNCTION _kb_cb_event (BEGIN) -----
  FILE: 'sys.c'
-   89: static void kb_cb_event(byte evt)
-   90: {
-001179 904E93            MOV     DPTR,#evt
-00117C EF                MOV     A,R7
-00117D F0                MOVX    @DPTR,A
-   91: 	switch (evt) 
-   92: 	{
-00117E 24D0              ADD     A,#0D0H
-001180 6047              JZ      ?C0014?SYS
-001182 14                DEC     A
-001183 6046              JZ      ?C0016?SYS
-001185 14                DEC     A
-001186 7002              JNZ     $ + 4H
-001188 4122              AJMP    ?C0022?SYS
-00118A 14                DEC     A
-00118B 600A              JZ      ?C0013?SYS
-00118D 24F7              ADD     A,#0F7H
-00118F 603A              JZ      ?C0016?SYS
-001191 240D              ADD     A,#0DH
-001193 6002              JZ      $ + 4H
-001195 414F              AJMP    ?C0025?SYS
-   93: 	case IPC_EVT_HIBERNATE_WAKE:
-   94: //		System_Hardware_init();
-   95: //		System_Software_init();
-   96: //		break;	
-   97: 	case IPC_EVT_RESET:
-001197         ?C0013?SYS:
-   98: 		System_Hardware_init();
-001197 71F5              ACALL   System_Hardware_init
-   99: 		System_Software_init();
-001199 120FC5            LCALL   System_Software_init
-  100: 		IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-00119C 7B01              MOV     R3,#01H
-00119E 7A4C              MOV     R2,#HIGH m_24g_addr
-0011A0 7900              MOV     R1,#LOW m_24g_addr
-0011A2 7D04              MOV     R5,#04H
-0011A4 7C00              MOV     R4,#00H
-0011A6 7FF2              MOV     R7,#0F2H
-0011A8 7E3F              MOV     R6,#03FH
-0011AA 5150              ACALL   _IIC_Read
-  101: 		Delay1ms(10);
-0011AC 7F0A              MOV     R7,#0AH
-0011AE 3161              ACALL   _Delay1ms
-  102: 		IIC_Read(EEPROM_RECON_INFO_SYTEM_MODE,1 , (byte *)g_variable.system_mode);
-0011B0 904CC1            MOV     DPTR,#g_variable+02H
-0011B3 E0                MOVX    A,@DPTR
-0011B4 F9                MOV     R1,A
-0011B5 7A00              MOV     R2,#00H
-0011B7 7B00              MOV     R3,#00H
-0011B9 7D01              MOV     R5,#01H
-0011BB 7C00              MOV     R4,#00H
-0011BD 7FF8              MOV     R7,#0F8H
-0011BF 7E3F              MOV     R6,#03FH
-0011C1 5150              ACALL   _IIC_Read
-  103: 		Delay1ms(10);
-0011C3 7F0A              MOV     R7,#0AH
-0011C5 3161              ACALL   _Delay1ms
-  104: 		YC_start_reconnect();
-0011C7 C146              AJMP    YC_start_reconnect
-  105: 		break;
-  106: 	case IPC_EVT_WAKEUP:
-0011C9         ?C0014?SYS:
-  107: 		KS_Initialize();
-0011C9 8129              AJMP    KS_Initialize
-  108: 		break;
-  109: 
-  110: 		
-  111: // 2.4G event	
-  112: 	case IPC_EVT_24G_PAIRING_COMPLETE:
-  113: 	case IPC_EVT_24G_ATTEMPT_SUCCESS:
-0011CB         ?C0016?SYS:
-  114: 		g_variable.g24_currentState =  CHANGE_TO_24G_CONNECTED;
-0011CB 904CC5            MOV     DPTR,#g_variable+06H
-0011CE 7403              MOV     A,#03H
-0011D0 F0                MOVX    @DPTR,A
-  115: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-0011D1 E4                CLR     A
-0011D2 A3                INC     DPTR
-0011D3 F0                MOVX    @DPTR,A
-  116: 		YC_clear_reconnect_flag();
-0011D4 7100              ACALL   YC_clear_reconnect_flag
-  117: 		g_variable.pairing_g24_timeout = 0;
-0011D6 E4                CLR     A
-0011D7 904CEE            MOV     DPTR,#g_variable+02FH
-0011DA F0                MOVX    @DPTR,A
-  118: 		g_variable.release_data = 0;
-0011DB 904CEB            MOV     DPTR,#g_variable+02CH
-0011DE F0                MOVX    @DPTR,A
-  119: 		g_variable.last_device_num = 0xfe;
-0011DF 904CC0            MOV     DPTR,#g_variable+01H
-0011E2 74FE              MOV     A,#0FEH
+   90: static void kb_cb_event(byte evt)
+   91: {
+00118E 904E93            MOV     DPTR,#evt
+001191 EF                MOV     A,R7
+001192 F0                MOVX    @DPTR,A
+   92: 	switch (evt) 
+   93: 	{
+001193 24D0              ADD     A,#0D0H
+001195 6046              JZ      ?C0014?SYS
+001197 14                DEC     A
+001198 6045              JZ      ?C0016?SYS
+00119A 14                DEC     A
+00119B 7002              JNZ     $ + 4H
+00119D 4136              AJMP    ?C0022?SYS
+00119F 14                DEC     A
+0011A0 600A              JZ      ?C0013?SYS
+0011A2 24F7              ADD     A,#0F7H
+0011A4 6039              JZ      ?C0016?SYS
+0011A6 240D              ADD     A,#0DH
+0011A8 6002              JZ      $ + 4H
+0011AA 4163              AJMP    ?C0025?SYS
+   94: 	case IPC_EVT_HIBERNATE_WAKE:
+   95: //		System_Hardware_init();
+   96: //		System_Software_init();
+   97: //		break;	
+   98: 	case IPC_EVT_RESET:
+0011AC         ?C0013?SYS:
+   99: 		System_Hardware_init();
+0011AC 910A              ACALL   System_Hardware_init
+  100: 		System_Software_init();
+0011AE F13A              ACALL   System_Software_init
+  101: 		IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+0011B0 7B01              MOV     R3,#01H
+0011B2 7A4C              MOV     R2,#HIGH m_24g_addr
+0011B4 7900              MOV     R1,#LOW m_24g_addr
+0011B6 7D04              MOV     R5,#04H
+0011B8 7C00              MOV     R4,#00H
+0011BA 7FF2              MOV     R7,#0F2H
+0011BC 7E3F              MOV     R6,#03FH
+0011BE 5164              ACALL   _IIC_Read
+  102: 		Delay1ms(10);
+0011C0 7F0A              MOV     R7,#0AH
+0011C2 3176              ACALL   _Delay1ms
+  103: 		IIC_Read(EEPROM_RECON_INFO_SYTEM_MODE,1 , (byte *)g_variable.system_mode);
+0011C4 904CC1            MOV     DPTR,#g_variable+02H
+0011C7 E0                MOVX    A,@DPTR
+0011C8 F9                MOV     R1,A
+0011C9 7A00              MOV     R2,#00H
+0011CB 7B00              MOV     R3,#00H
+0011CD 7D01              MOV     R5,#01H
+0011CF 7C00              MOV     R4,#00H
+0011D1 7FF8              MOV     R7,#0F8H
+0011D3 7E3F              MOV     R6,#03FH
+0011D5 5164              ACALL   _IIC_Read
+  104: 		Delay1ms(10);
+0011D7 7F0A              MOV     R7,#0AH
+0011D9 3176              ACALL   _Delay1ms
+  105: 		YC_start_reconnect();
+0011DB C15B              AJMP    YC_start_reconnect
+  106: 		break;
+  107: 	case IPC_EVT_WAKEUP:
+0011DD         ?C0014?SYS:
+  108: 		KS_Initialize();
+0011DD 813E              AJMP    KS_Initialize
+  109: 		break;
+  110: 
+  111: 		
+  112: // 2.4G event	
+  113: 	case IPC_EVT_24G_PAIRING_COMPLETE:
+  114: 	case IPC_EVT_24G_ATTEMPT_SUCCESS:
+0011DF         ?C0016?SYS:
+  115: 		g_variable.g24_currentState =  CHANGE_TO_24G_CONNECTED;
+0011DF 904CC5            MOV     DPTR,#g_variable+06H
+0011E2 7403              MOV     A,#03H
 0011E4 F0                MOVX    @DPTR,A
-  120: 		g_variable.current_device_num = 0xfe;
-0011E5 904CC3            MOV     DPTR,#g_variable+04H
-0011E8 F0                MOVX    @DPTR,A
-  121: 
-  122: 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
-0011E9 904E93            MOV     DPTR,#evt
-0011EC E0                MOVX    A,@DPTR
-0011ED 6431              XRL     A,#031H
-0011EF 7024              JNZ     ?C0017?SYS
-  123: 		{
-  124: 			g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-0011F1 904CE5            MOV     DPTR,#g_variable+026H
-0011F4 741E              MOV     A,#01EH
-0011F6 F0                MOVX    @DPTR,A
-  125: 			if(m_24g_paring_addr[0] != 0x0f || m_24g_paring_addr[1] != 0x0f ||
-0011F7 904BEB            MOV     DPTR,#m_24g_paring_addr
-0011FA E0                MOVX    A,@DPTR
-0011FB B40F10            CJNE    A,#0FH,?C0019?SYS
-0011FE A3                INC     DPTR
-0011FF E0                MOVX    A,@DPTR
-001200 B40F0B            CJNE    A,#0FH,?C0019?SYS
-001203 A3                INC     DPTR
-001204 E0                MOVX    A,@DPTR
-001205 B40F06            CJNE    A,#0FH,?C0019?SYS
-001208 A3                INC     DPTR
-001209 E0                MOVX    A,@DPTR
-00120A 640F              XRL     A,#0FH
-00120C 6041              JZ      ?C0025?SYS
-00120E         ?C0019?SYS:
-  126: 				m_24g_paring_addr[2] != 0x0f || m_24g_paring_addr[3] != 0x0f)
-  127: 				g_variable.update_eeprom_flag = 1;
-00120E 904CBF            MOV     DPTR,#g_variable
-001211 7401              MOV     A,#01H
-001213 F0                MOVX    @DPTR,A
-  128: 		}
-001214 22                RET     
-001215         ?C0017?SYS:
-  129: 		else
-  130: 		{
-  131: 			if(!g_variable.powerOn_timer)
-001215 904CE5            MOV     DPTR,#g_variable+026H
+  116: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+0011E5 E4                CLR     A
+0011E6 A3                INC     DPTR
+0011E7 F0                MOVX    @DPTR,A
+  117: 		YC_clear_reconnect_flag();
+0011E8 7114              ACALL   YC_clear_reconnect_flag
+  118: 		g_variable.pairing_g24_timeout = 0;
+0011EA E4                CLR     A
+0011EB 904CEE            MOV     DPTR,#g_variable+02FH
+0011EE F0                MOVX    @DPTR,A
+  119: 		g_variable.release_data = 0;
+0011EF 904CEB            MOV     DPTR,#g_variable+02CH
+0011F2 F0                MOVX    @DPTR,A
+  120: 		g_variable.last_device_num = 0xfe;
+0011F3 904CC0            MOV     DPTR,#g_variable+01H
+0011F6 74FE              MOV     A,#0FEH
+0011F8 F0                MOVX    @DPTR,A
+  121: 		g_variable.current_device_num = 0xfe;
+0011F9 904CC3            MOV     DPTR,#g_variable+04H
+0011FC F0                MOVX    @DPTR,A
+  122: 
+  123: 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
+0011FD 904E93            MOV     DPTR,#evt
+001200 E0                MOVX    A,@DPTR
+001201 6431              XRL     A,#031H
+001203 7024              JNZ     ?C0017?SYS
+  124: 		{
+  125: 			g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
+001205 904CE5            MOV     DPTR,#g_variable+026H
+001208 741E              MOV     A,#01EH
+00120A F0                MOVX    @DPTR,A
+  126: 			if(m_24g_paring_addr[0] != 0x0f || m_24g_paring_addr[1] != 0x0f ||
+00120B 904BEB            MOV     DPTR,#m_24g_paring_addr
+00120E E0                MOVX    A,@DPTR
+00120F B40F10            CJNE    A,#0FH,?C0019?SYS
+001212 A3                INC     DPTR
+001213 E0                MOVX    A,@DPTR
+001214 B40F0B            CJNE    A,#0FH,?C0019?SYS
+001217 A3                INC     DPTR
 001218 E0                MOVX    A,@DPTR
-001219 7034              JNZ     ?C0025?SYS
-  132: 			GPIO_Setout(G24_LED_GPIO,LED_OFF);
-00121B C201              CLR     ?_GPIO_Setout?BIT
-00121D 7F1E              MOV     R7,#01EH
-00121F 020784            LJMP    _GPIO_Setout
-  133: 		}
-  134: 		break;
-  135: 	
-  136: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
-001222         ?C0022?SYS:
-  137: 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
-001222 E4                CLR     A
-001223 904CC5            MOV     DPTR,#g_variable+06H
-001226 F0                MOVX    @DPTR,A
-  138: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001227 A3                INC     DPTR
-001228 F0                MOVX    @DPTR,A
-  139: 		g_variable.sleepTimer = 0;
-001229 904CE3            MOV     DPTR,#g_variable+024H
-00122C F0                MOVX    @DPTR,A
-00122D A3                INC     DPTR
-00122E F0                MOVX    @DPTR,A
-  140: 		g_variable.release_data = 1;
-00122F 904CEB            MOV     DPTR,#g_variable+02CH
-001232 04                INC     A
-001233 F0                MOVX    @DPTR,A
-  141: 
-  142: 		if (g_variable.key_action != KEY_NONE)
-001234 904CED            MOV     DPTR,#g_variable+02EH
-001237 E0                MOVX    A,@DPTR
-001238 6009              JZ      ?C0023?SYS
-  143: 		{
-  144: 			YC_clear_reconnect_flag();
-00123A 7100              ACALL   YC_clear_reconnect_flag
-  145: 			YC_key_action_handle(g_variable.key_action);
-00123C 904CED            MOV     DPTR,#g_variable+02EH
-00123F E0                MOVX    A,@DPTR
-001240 FF                MOV     R7,A
-001241 0117              AJMP    _YC_key_action_handle
-  146: 			break;
-  147: 		}
-001243         ?C0023?SYS:
-  148: 
-  149: 		if (g_variable.lockLpm == 1)
-001243 904CEC            MOV     DPTR,#g_variable+02DH
-001246 E0                MOVX    A,@DPTR
-001247 B40105            CJNE    A,#01H,?C0025?SYS
-  150: 		{
-  151: 			g_variable.lockLpm =0;
-00124A E4                CLR     A
-00124B F0                MOVX    @DPTR,A
-  152: 			System_long_sleep();
-00124C 1207F1            LCALL   System_long_sleep
-  153: 			break;
-  154: 		}
-  155: 		break;
-  156: 	}
-  157: }
-00124F         ?C0025?SYS:
-00124F 22                RET     
+001219 B40F06            CJNE    A,#0FH,?C0019?SYS
+00121C A3                INC     DPTR
+00121D E0                MOVX    A,@DPTR
+00121E 640F              XRL     A,#0FH
+001220 6041              JZ      ?C0025?SYS
+001222         ?C0019?SYS:
+  127: 				m_24g_paring_addr[2] != 0x0f || m_24g_paring_addr[3] != 0x0f)
+  128: 				g_variable.update_eeprom_flag = 1;
+001222 904CBF            MOV     DPTR,#g_variable
+001225 7401              MOV     A,#01H
+001227 F0                MOVX    @DPTR,A
+  129: 		}
+001228 22                RET     
+001229         ?C0017?SYS:
+  130: 		else
+  131: 		{
+  132: 			if(!g_variable.powerOn_timer)
+001229 904CE5            MOV     DPTR,#g_variable+026H
+00122C E0                MOVX    A,@DPTR
+00122D 7034              JNZ     ?C0025?SYS
+  133: 			GPIO_Setout(G24_LED_GPIO,LED_OFF);
+00122F C201              CLR     ?_GPIO_Setout?BIT
+001231 7F1E              MOV     R7,#01EH
+001233 020784            LJMP    _GPIO_Setout
+  134: 		}
+  135: 		break;
+  136: 	
+  137: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
+001236         ?C0022?SYS:
+  138: 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
+001236 E4                CLR     A
+001237 904CC5            MOV     DPTR,#g_variable+06H
+00123A F0                MOVX    @DPTR,A
+  139: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+00123B A3                INC     DPTR
+00123C F0                MOVX    @DPTR,A
+  140: 		g_variable.sleepTimer = 0;
+00123D 904CE3            MOV     DPTR,#g_variable+024H
+001240 F0                MOVX    @DPTR,A
+001241 A3                INC     DPTR
+001242 F0                MOVX    @DPTR,A
+  141: 		g_variable.release_data = 1;
+001243 904CEB            MOV     DPTR,#g_variable+02CH
+001246 04                INC     A
+001247 F0                MOVX    @DPTR,A
+  142: 
+  143: 		if (g_variable.key_action != KEY_NONE)
+001248 904CED            MOV     DPTR,#g_variable+02EH
+00124B E0                MOVX    A,@DPTR
+00124C 6009              JZ      ?C0023?SYS
+  144: 		{
+  145: 			YC_clear_reconnect_flag();
+00124E 7114              ACALL   YC_clear_reconnect_flag
+  146: 			YC_key_action_handle(g_variable.key_action);
+001250 904CED            MOV     DPTR,#g_variable+02EH
+001253 E0                MOVX    A,@DPTR
+001254 FF                MOV     R7,A
+001255 012C              AJMP    _YC_key_action_handle
+  147: 			break;
+  148: 		}
+001257         ?C0023?SYS:
+  149: 
+  150: 		if (g_variable.lockLpm == 1)
+001257 904CEC            MOV     DPTR,#g_variable+02DH
+00125A E0                MOVX    A,@DPTR
+00125B B40105            CJNE    A,#01H,?C0025?SYS
+  151: 		{
+  152: 			g_variable.lockLpm =0;
+00125E E4                CLR     A
+00125F F0                MOVX    @DPTR,A
+  153: 			System_long_sleep();
+001260 1207F1            LCALL   System_long_sleep
+  154: 			break;
+  155: 		}
+  156: 		break;
+  157: 	}
+  158: }
+001263         ?C0025?SYS:
+001263 22                RET     
 ----- FUNCTION _kb_cb_event (END) -------
 
 
 ----- FUNCTION _IIC_Read (BEGIN) -----
-001250 904E5C            MOV     DPTR,#len
-001253 EC                MOV     A,R4
-001254 F0                MOVX    @DPTR,A
-001255 A3                INC     DPTR
-001256 ED                MOV     A,R5
-001257 F0                MOVX    @DPTR,A
-001258 A3                INC     DPTR
-001259 EB                MOV     A,R3
-00125A F0                MOVX    @DPTR,A
-00125B A3                INC     DPTR
-00125C EA                MOV     A,R2
-00125D F0                MOVX    @DPTR,A
-00125E A3                INC     DPTR
-00125F E9                MOV     A,R1
-001260 F0                MOVX    @DPTR,A
+001264 904E5C            MOV     DPTR,#len
+001267 EC                MOV     A,R4
+001268 F0                MOVX    @DPTR,A
+001269 A3                INC     DPTR
+00126A ED                MOV     A,R5
+00126B F0                MOVX    @DPTR,A
+00126C A3                INC     DPTR
+00126D EB                MOV     A,R3
+00126E F0                MOVX    @DPTR,A
+00126F A3                INC     DPTR
+001270 EA                MOV     A,R2
+001271 F0                MOVX    @DPTR,A
+001272 A3                INC     DPTR
+001273 E9                MOV     A,R1
+001274 F0                MOVX    @DPTR,A
 ;---- Variable 'addr' assigned to Register 'R6/R7' ----
 ;---- Variable 'mem_src' assigned to Register 'R6/R7' ----
-001261 908098            MOV     DPTR,#08098H
-001264 7404              MOV     A,#04H
-001266 F0                MOVX    @DPTR,A
-001267 A3                INC     DPTR
-001268 E4                CLR     A
-001269 F0                MOVX    @DPTR,A
-00126A 900CAF            MOV     DPTR,#YC_IICDTbuf
-00126D 74A0              MOV     A,#0A0H
-00126F F0                MOVX    @DPTR,A
-001270 A3                INC     DPTR
-001271 EE                MOV     A,R6
-001272 F0                MOVX    @DPTR,A
-001273 A3                INC     DPTR
-001274 EF                MOV     A,R7
-001275 F0                MOVX    @DPTR,A
-001276 900CB2            MOV     DPTR,#YC_IICDTbuf+03H
-001279 74A1              MOV     A,#0A1H
-00127B F0                MOVX    @DPTR,A
-00127C 7A0C              MOV     R2,#HIGH YC_IICDTbuf
-00127E 79AF              MOV     R1,#LOW YC_IICDTbuf
-001280 7E0C              MOV     R6,#HIGH YC_IICDTbuf
-001282 7FAF              MOV     R7,#LOW YC_IICDTbuf
-001284 74AF              MOV     A,#LOW YC_IICDTbuf
-001286 FC                MOV     R4,A
-001287 740C              MOV     A,#HIGH YC_IICDTbuf
-001289 FF                MOV     R7,A
-00128A EC                MOV     A,R4
-00128B FE                MOV     R6,A
-00128C EF                MOV     A,R7
-00128D 90809A            MOV     DPTR,#0809AH
-001290 EE                MOV     A,R6
-001291 F0                MOVX    @DPTR,A
-001292 A3                INC     DPTR
-001293 EF                MOV     A,R7
-001294 F0                MOVX    @DPTR,A
-001295 904E5C            MOV     DPTR,#len
-001298 E0                MOVX    A,@DPTR
-001299 FC                MOV     R4,A
-00129A A3                INC     DPTR
-00129B E0                MOVX    A,@DPTR
-00129C FA                MOV     R2,A
-00129D EC                MOV     A,R4
-00129E FF                MOV     R7,A
-00129F EA                MOV     A,R2
-0012A0 FE                MOV     R6,A
-0012A1 EF                MOV     A,R7
-0012A2 90809E            MOV     DPTR,#0809EH
-0012A5 EE                MOV     A,R6
-0012A6 F0                MOVX    @DPTR,A
-0012A7 A3                INC     DPTR
-0012A8 EF                MOV     A,R7
-0012A9 F0                MOVX    @DPTR,A
-0012AA 7A0B              MOV     R2,#HIGH IIC_TempBuff
-0012AC 7983              MOV     R1,#LOW IIC_TempBuff
-0012AE 7E0B              MOV     R6,#HIGH IIC_TempBuff
-0012B0 7F83              MOV     R7,#LOW IIC_TempBuff
-0012B2 7483              MOV     A,#LOW IIC_TempBuff
-0012B4 FC                MOV     R4,A
-0012B5 740B              MOV     A,#HIGH IIC_TempBuff
-0012B7 FF                MOV     R7,A
-0012B8 EC                MOV     A,R4
-0012B9 FE                MOV     R6,A
-0012BA EF                MOV     A,R7
-0012BB 90809C            MOV     DPTR,#0809CH
-0012BE EE                MOV     A,R6
-0012BF F0                MOVX    @DPTR,A
-0012C0 A3                INC     DPTR
-0012C1 EF                MOV     A,R7
-0012C2 F0                MOVX    @DPTR,A
-0012C3 908090            MOV     DPTR,#08090H
-0012C6 7402              MOV     A,#02H
-0012C8 F0                MOVX    @DPTR,A
-0012C9 90809C            MOV     DPTR,#0809CH
-0012CC A3                INC     DPTR
-0012CD E0                MOVX    A,@DPTR
-0012CE 20E707            JB      ACC.7,?C0004?IIC
-0012D1 908090            MOV     DPTR,#08090H
-0012D4 E0                MOVX    A,@DPTR
-0012D5 4401              ORL     A,#01H
-0012D7 F0                MOVX    @DPTR,A
-0012D8         ?C0004?IIC:
-0012D8 908006            MOV     DPTR,#08006H
-0012DB E0                MOVX    A,@DPTR
-0012DC 4404              ORL     A,#04H
-0012DE F0                MOVX    @DPTR,A
-0012DF F121              ACALL   IIcWaitDone
-0012E1 904E5E            MOV     DPTR,#pbuff
-0012E4 E0                MOVX    A,@DPTR
-0012E5 A3                INC     DPTR
-0012E6 E0                MOVX    A,@DPTR
-0012E7 FA                MOV     R2,A
-0012E8 A3                INC     DPTR
-0012E9 E0                MOVX    A,@DPTR
-0012EA AE02              MOV     R6,AR2
-0012EC FF                MOV     R7,A
-0012ED 7B01              MOV     R3,#01H
-0012EF 7A0B              MOV     R2,#HIGH IIC_TempBuff
-0012F1 7983              MOV     R1,#LOW IIC_TempBuff
-0012F3 904E5C            MOV     DPTR,#len
-0012F6 E0                MOVX    A,@DPTR
-0012F7 A3                INC     DPTR
+001275 908098            MOV     DPTR,#08098H
+001278 7404              MOV     A,#04H
+00127A F0                MOVX    @DPTR,A
+00127B A3                INC     DPTR
+00127C E4                CLR     A
+00127D F0                MOVX    @DPTR,A
+00127E 900CAF            MOV     DPTR,#YC_IICDTbuf
+001281 74A0              MOV     A,#0A0H
+001283 F0                MOVX    @DPTR,A
+001284 A3                INC     DPTR
+001285 EE                MOV     A,R6
+001286 F0                MOVX    @DPTR,A
+001287 A3                INC     DPTR
+001288 EF                MOV     A,R7
+001289 F0                MOVX    @DPTR,A
+00128A 900CB2            MOV     DPTR,#YC_IICDTbuf+03H
+00128D 74A1              MOV     A,#0A1H
+00128F F0                MOVX    @DPTR,A
+001290 7A0C              MOV     R2,#HIGH YC_IICDTbuf
+001292 79AF              MOV     R1,#LOW YC_IICDTbuf
+001294 7E0C              MOV     R6,#HIGH YC_IICDTbuf
+001296 7FAF              MOV     R7,#LOW YC_IICDTbuf
+001298 74AF              MOV     A,#LOW YC_IICDTbuf
+00129A FC                MOV     R4,A
+00129B 740C              MOV     A,#HIGH YC_IICDTbuf
+00129D FF                MOV     R7,A
+00129E EC                MOV     A,R4
+00129F FE                MOV     R6,A
+0012A0 EF                MOV     A,R7
+0012A1 90809A            MOV     DPTR,#0809AH
+0012A4 EE                MOV     A,R6
+0012A5 F0                MOVX    @DPTR,A
+0012A6 A3                INC     DPTR
+0012A7 EF                MOV     A,R7
+0012A8 F0                MOVX    @DPTR,A
+0012A9 904E5C            MOV     DPTR,#len
+0012AC E0                MOVX    A,@DPTR
+0012AD FC                MOV     R4,A
+0012AE A3                INC     DPTR
+0012AF E0                MOVX    A,@DPTR
+0012B0 FA                MOV     R2,A
+0012B1 EC                MOV     A,R4
+0012B2 FF                MOV     R7,A
+0012B3 EA                MOV     A,R2
+0012B4 FE                MOV     R6,A
+0012B5 EF                MOV     A,R7
+0012B6 90809E            MOV     DPTR,#0809EH
+0012B9 EE                MOV     A,R6
+0012BA F0                MOVX    @DPTR,A
+0012BB A3                INC     DPTR
+0012BC EF                MOV     A,R7
+0012BD F0                MOVX    @DPTR,A
+0012BE 7A0B              MOV     R2,#HIGH IIC_TempBuff
+0012C0 7983              MOV     R1,#LOW IIC_TempBuff
+0012C2 7E0B              MOV     R6,#HIGH IIC_TempBuff
+0012C4 7F83              MOV     R7,#LOW IIC_TempBuff
+0012C6 7483              MOV     A,#LOW IIC_TempBuff
+0012C8 FC                MOV     R4,A
+0012C9 740B              MOV     A,#HIGH IIC_TempBuff
+0012CB FF                MOV     R7,A
+0012CC EC                MOV     A,R4
+0012CD FE                MOV     R6,A
+0012CE EF                MOV     A,R7
+0012CF 90809C            MOV     DPTR,#0809CH
+0012D2 EE                MOV     A,R6
+0012D3 F0                MOVX    @DPTR,A
+0012D4 A3                INC     DPTR
+0012D5 EF                MOV     A,R7
+0012D6 F0                MOVX    @DPTR,A
+0012D7 908090            MOV     DPTR,#08090H
+0012DA 7402              MOV     A,#02H
+0012DC F0                MOVX    @DPTR,A
+0012DD 90809C            MOV     DPTR,#0809CH
+0012E0 A3                INC     DPTR
+0012E1 E0                MOVX    A,@DPTR
+0012E2 20E707            JB      ACC.7,?C0004?IIC
+0012E5 908090            MOV     DPTR,#08090H
+0012E8 E0                MOVX    A,@DPTR
+0012E9 4401              ORL     A,#01H
+0012EB F0                MOVX    @DPTR,A
+0012EC         ?C0004?IIC:
+0012EC 908006            MOV     DPTR,#08006H
+0012EF E0                MOVX    A,@DPTR
+0012F0 4404              ORL     A,#04H
+0012F2 F0                MOVX    @DPTR,A
+0012F3 F15A              ACALL   IIcWaitDone
+0012F5 904E5E            MOV     DPTR,#pbuff
 0012F8 E0                MOVX    A,@DPTR
-0012F9 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
-0012FC F0                MOVX    @DPTR,A
-0012FD 0208DA            LJMP    _xmemcpy
+0012F9 A3                INC     DPTR
+0012FA E0                MOVX    A,@DPTR
+0012FB FA                MOV     R2,A
+0012FC A3                INC     DPTR
+0012FD E0                MOVX    A,@DPTR
+0012FE AE02              MOV     R6,AR2
+001300 FF                MOV     R7,A
+001301 7B01              MOV     R3,#01H
+001303 7A0B              MOV     R2,#HIGH IIC_TempBuff
+001305 7983              MOV     R1,#LOW IIC_TempBuff
+001307 904E5C            MOV     DPTR,#len
+00130A E0                MOVX    A,@DPTR
+00130B A3                INC     DPTR
+00130C E0                MOVX    A,@DPTR
+00130D 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
+001310 F0                MOVX    @DPTR,A
+001311 0208DA            LJMP    _xmemcpy
 ----- FUNCTION _IIC_Read (END) -------
 
 
@@ -2799,213 +2848,213 @@
    43: {
    44: 	g_variable.recon_count = 0;
    45: }
-001300 E4                CLR     A
-001301 904CF0            MOV     DPTR,#g_variable+031H
-001304 F0                MOVX    @DPTR,A
+001314 E4                CLR     A
+001315 904CF0            MOV     DPTR,#g_variable+031H
+001318 F0                MOVX    @DPTR,A
    46: 
-001305 22                RET     
+001319 22                RET     
 ----- FUNCTION YC_clear_reconnect_flag (END) -------
 
 
 ----- FUNCTION YC_update_eeprom_data (BEGIN) -----
  FILE: 'bluetooth.c'
-   67: void YC_update_eeprom_data()
-   68: {
-   69: 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
-   70: 	{
-001306 904CBF            MOV     DPTR,#g_variable
-001309 E0                MOVX    A,@DPTR
-00130A 603B              JZ      ?C0015?BLUETOOTH
-   71: 		Delay1ms(200);
-   72: 		GPIO_Setout(EEPROM_WP_GPIO,0);
-00130C 7FC8              MOV     R7,#0C8H
-00130E 3161              ACALL   _Delay1ms
-   73: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-001310 C201              CLR     ?_GPIO_Setout?BIT
-001312 7FFF              MOV     R7,#0FFH
-001314 120784            LCALL   _GPIO_Setout
-   74: 		IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-001317 7B01              MOV     R3,#01H
-001319 7A4C              MOV     R2,#HIGH m_24g_addr
-00131B 7900              MOV     R1,#LOW m_24g_addr
-00131D 7D04              MOV     R5,#04H
-00131F 7C00              MOV     R4,#00H
-001321 7FF2              MOV     R7,#0F2H
-001323 7E3F              MOV     R6,#03FH
-001325 7148              ACALL   _IIC_WriteBlock
-   75: 		GPIO_Setout(EEPROM_WP_GPIO,1);
-001327 7B01              MOV     R3,#01H
-001329 7A4C              MOV     R2,#HIGH g_variable+02H
-00132B 79C1              MOV     R1,#LOW g_variable+02H
-00132D 7D01              MOV     R5,#01H
-00132F 7C00              MOV     R4,#00H
-001331 7FF8              MOV     R7,#0F8H
-001333 7E3F              MOV     R6,#03FH
-001335 7148              ACALL   _IIC_WriteBlock
-   76: 		Delay1ms(10);
-001337 D201              SETB    ?_GPIO_Setout?BIT
-001339 7FFF              MOV     R7,#0FFH
-00133B 120784            LCALL   _GPIO_Setout
-   77: 		g_variable.update_eeprom_flag = 0;
-00133E 7F0A              MOV     R7,#0AH
-001340 3161              ACALL   _Delay1ms
-   78: 	}
-001342 E4                CLR     A
-001343 904CBF            MOV     DPTR,#g_variable
-001346 F0                MOVX    @DPTR,A
-   79: }
-   80: 
-001347         ?C0015?BLUETOOTH:
-001347 22                RET     
+   68: void YC_update_eeprom_data()
+   69: {
+   70: 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
+   71: 	{
+00131A 904CBF            MOV     DPTR,#g_variable
+00131D E0                MOVX    A,@DPTR
+00131E 603B              JZ      ?C0015?BLUETOOTH
+   72: 		Delay1ms(200);
+   73: 		GPIO_Setout(EEPROM_WP_GPIO,0);
+001320 7FC8              MOV     R7,#0C8H
+001322 3176              ACALL   _Delay1ms
+   74: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+001324 C201              CLR     ?_GPIO_Setout?BIT
+001326 7FFF              MOV     R7,#0FFH
+001328 120784            LCALL   _GPIO_Setout
+   75: 		IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
+00132B 7B01              MOV     R3,#01H
+00132D 7A4C              MOV     R2,#HIGH m_24g_addr
+00132F 7900              MOV     R1,#LOW m_24g_addr
+001331 7D04              MOV     R5,#04H
+001333 7C00              MOV     R4,#00H
+001335 7FF2              MOV     R7,#0F2H
+001337 7E3F              MOV     R6,#03FH
+001339 715C              ACALL   _IIC_WriteBlock
+   76: 		GPIO_Setout(EEPROM_WP_GPIO,1);
+00133B 7B01              MOV     R3,#01H
+00133D 7A4C              MOV     R2,#HIGH g_variable+02H
+00133F 79C1              MOV     R1,#LOW g_variable+02H
+001341 7D01              MOV     R5,#01H
+001343 7C00              MOV     R4,#00H
+001345 7FF8              MOV     R7,#0F8H
+001347 7E3F              MOV     R6,#03FH
+001349 715C              ACALL   _IIC_WriteBlock
+   77: 		Delay1ms(10);
+00134B D201              SETB    ?_GPIO_Setout?BIT
+00134D 7FFF              MOV     R7,#0FFH
+00134F 120784            LCALL   _GPIO_Setout
+   78: 		g_variable.update_eeprom_flag = 0;
+001352 7F0A              MOV     R7,#0AH
+001354 3176              ACALL   _Delay1ms
+   79: 	}
+001356 E4                CLR     A
+001357 904CBF            MOV     DPTR,#g_variable
+00135A F0                MOVX    @DPTR,A
+   80: }
+   81: 
+00135B         ?C0015?BLUETOOTH:
+00135B 22                RET     
 ----- FUNCTION YC_update_eeprom_data (END) -------
 
 
 ----- FUNCTION _IIC_WriteBlock (BEGIN) -----
-001348 904E20            MOV     DPTR,#addr
-00134B EE                MOV     A,R6
-00134C F0                MOVX    @DPTR,A
-00134D A3                INC     DPTR
-00134E EF                MOV     A,R7
-00134F F0                MOVX    @DPTR,A
-001350 A3                INC     DPTR
-001351 EC                MOV     A,R4
-001352 F0                MOVX    @DPTR,A
-001353 A3                INC     DPTR
-001354 ED                MOV     A,R5
-001355 F0                MOVX    @DPTR,A
-001356 A3                INC     DPTR
-001357 EB                MOV     A,R3
-001358 F0                MOVX    @DPTR,A
-001359 A3                INC     DPTR
-00135A EA                MOV     A,R2
-00135B F0                MOVX    @DPTR,A
-00135C A3                INC     DPTR
-00135D E9                MOV     A,R1
-00135E F0                MOVX    @DPTR,A
-00135F         ?C0007?IIC:
-00135F 904E22            MOV     DPTR,#len
-001362 E0                MOVX    A,@DPTR
-001363 7002              JNZ     ?C0012?IIC
-001365 A3                INC     DPTR
-001366 E0                MOVX    A,@DPTR
-001367         ?C0012?IIC:
-001367 7002              JNZ     $ + 4H
-001369 61F4              AJMP    ?C0011?IIC
-00136B 904E20            MOV     DPTR,#addr
-00136E E0                MOVX    A,@DPTR
-00136F FE                MOV     R6,A
+00135C 904E20            MOV     DPTR,#addr
+00135F EE                MOV     A,R6
+001360 F0                MOVX    @DPTR,A
+001361 A3                INC     DPTR
+001362 EF                MOV     A,R7
+001363 F0                MOVX    @DPTR,A
+001364 A3                INC     DPTR
+001365 EC                MOV     A,R4
+001366 F0                MOVX    @DPTR,A
+001367 A3                INC     DPTR
+001368 ED                MOV     A,R5
+001369 F0                MOVX    @DPTR,A
+00136A A3                INC     DPTR
+00136B EB                MOV     A,R3
+00136C F0                MOVX    @DPTR,A
+00136D A3                INC     DPTR
+00136E EA                MOV     A,R2
+00136F F0                MOVX    @DPTR,A
 001370 A3                INC     DPTR
-001371 E0                MOVX    A,@DPTR
-001372 FF                MOV     R7,A
-001373 440F              ORL     A,#0FH
-001375 2401              ADD     A,#01H
-001377 FD                MOV     R5,A
-001378 E4                CLR     A
-001379 3E                ADDC    A,R6
-00137A FC                MOV     R4,A
+001371 E9                MOV     A,R1
+001372 F0                MOVX    @DPTR,A
+001373         ?C0007?IIC:
+001373 904E22            MOV     DPTR,#len
+001376 E0                MOVX    A,@DPTR
+001377 7002              JNZ     ?C0012?IIC
+001379 A3                INC     DPTR
+00137A E0                MOVX    A,@DPTR
+00137B         ?C0012?IIC:
+00137B 7002              JNZ     $ + 4H
+00137D 8109              AJMP    ?C0011?IIC
+00137F 904E20            MOV     DPTR,#addr
+001382 E0                MOVX    A,@DPTR
+001383 FE                MOV     R6,A
+001384 A3                INC     DPTR
+001385 E0                MOVX    A,@DPTR
+001386 FF                MOV     R7,A
+001387 440F              ORL     A,#0FH
+001389 2401              ADD     A,#01H
+00138B FD                MOV     R5,A
+00138C E4                CLR     A
+00138D 3E                ADDC    A,R6
+00138E FC                MOV     R4,A
 ;---- Variable 'cris' assigned to Register 'R4/R5' ----
-00137B C3                CLR     C
-00137C ED                MOV     A,R5
-00137D 9F                SUBB    A,R7
-00137E FF                MOV     R7,A
-00137F EC                MOV     A,R4
-001380 9E                SUBB    A,R6
-001381 FE                MOV     R6,A
-001382 904E27            MOV     DPTR,#curr_len
-001385 F0                MOVX    @DPTR,A
-001386 A3                INC     DPTR
-001387 EF                MOV     A,R7
-001388 F0                MOVX    @DPTR,A
-001389 904E22            MOV     DPTR,#len
-00138C E0                MOVX    A,@DPTR
-00138D FC                MOV     R4,A
-00138E A3                INC     DPTR
-00138F E0                MOVX    A,@DPTR
-001390 FD                MOV     R5,A
-001391 D3                SETB    C
-001392 9F                SUBB    A,R7
+00138F C3                CLR     C
+001390 ED                MOV     A,R5
+001391 9F                SUBB    A,R7
+001392 FF                MOV     R7,A
 001393 EC                MOV     A,R4
 001394 9E                SUBB    A,R6
-001395 400A              JC      ?C0009?IIC
-001397 904E27            MOV     DPTR,#curr_len
-00139A E0                MOVX    A,@DPTR
-00139B FE                MOV     R6,A
-00139C A3                INC     DPTR
-00139D E0                MOVX    A,@DPTR
-00139E FF                MOV     R7,A
-00139F 8004              SJMP    ?C0010?IIC
-0013A1         ?C0009?IIC:
-0013A1 AE04              MOV     R6,AR4
-0013A3 AF05              MOV     R7,AR5
-0013A5         ?C0010?IIC:
-0013A5 904E27            MOV     DPTR,#curr_len
-0013A8 EE                MOV     A,R6
-0013A9 F0                MOVX    @DPTR,A
-0013AA FC                MOV     R4,A
-0013AB A3                INC     DPTR
-0013AC EF                MOV     A,R7
-0013AD F0                MOVX    @DPTR,A
-0013AE FD                MOV     R5,A
-0013AF C3                CLR     C
-0013B0 904E23            MOV     DPTR,#len+01H
-0013B3 E0                MOVX    A,@DPTR
-0013B4 9D                SUBB    A,R5
-0013B5 F0                MOVX    @DPTR,A
-0013B6 904E22            MOV     DPTR,#len
-0013B9 E0                MOVX    A,@DPTR
-0013BA 9C                SUBB    A,R4
-0013BB F0                MOVX    @DPTR,A
-0013BC 904E20            MOV     DPTR,#addr
-0013BF E0                MOVX    A,@DPTR
-0013C0 FE                MOV     R6,A
-0013C1 A3                INC     DPTR
-0013C2 E0                MOVX    A,@DPTR
-0013C3 FF                MOV     R7,A
-0013C4 904E24            MOV     DPTR,#pbuff
+001395 FE                MOV     R6,A
+001396 904E27            MOV     DPTR,#curr_len
+001399 F0                MOVX    @DPTR,A
+00139A A3                INC     DPTR
+00139B EF                MOV     A,R7
+00139C F0                MOVX    @DPTR,A
+00139D 904E22            MOV     DPTR,#len
+0013A0 E0                MOVX    A,@DPTR
+0013A1 FC                MOV     R4,A
+0013A2 A3                INC     DPTR
+0013A3 E0                MOVX    A,@DPTR
+0013A4 FD                MOV     R5,A
+0013A5 D3                SETB    C
+0013A6 9F                SUBB    A,R7
+0013A7 EC                MOV     A,R4
+0013A8 9E                SUBB    A,R6
+0013A9 400A              JC      ?C0009?IIC
+0013AB 904E27            MOV     DPTR,#curr_len
+0013AE E0                MOVX    A,@DPTR
+0013AF FE                MOV     R6,A
+0013B0 A3                INC     DPTR
+0013B1 E0                MOVX    A,@DPTR
+0013B2 FF                MOV     R7,A
+0013B3 8004              SJMP    ?C0010?IIC
+0013B5         ?C0009?IIC:
+0013B5 AE04              MOV     R6,AR4
+0013B7 AF05              MOV     R7,AR5
+0013B9         ?C0010?IIC:
+0013B9 904E27            MOV     DPTR,#curr_len
+0013BC EE                MOV     A,R6
+0013BD F0                MOVX    @DPTR,A
+0013BE FC                MOV     R4,A
+0013BF A3                INC     DPTR
+0013C0 EF                MOV     A,R7
+0013C1 F0                MOVX    @DPTR,A
+0013C2 FD                MOV     R5,A
+0013C3 C3                CLR     C
+0013C4 904E23            MOV     DPTR,#len+01H
 0013C7 E0                MOVX    A,@DPTR
-0013C8 FB                MOV     R3,A
-0013C9 A3                INC     DPTR
-0013CA E0                MOVX    A,@DPTR
-0013CB FA                MOV     R2,A
-0013CC A3                INC     DPTR
+0013C8 9D                SUBB    A,R5
+0013C9 F0                MOVX    @DPTR,A
+0013CA 904E22            MOV     DPTR,#len
 0013CD E0                MOVX    A,@DPTR
-0013CE F9                MOV     R1,A
-0013CF F129              ACALL   _IIC_write
-0013D1 7F0A              MOV     R7,#0AH
-0013D3 3161              ACALL   _Delay1ms
-0013D5 904E27            MOV     DPTR,#curr_len
-0013D8 E0                MOVX    A,@DPTR
-0013D9 FE                MOV     R6,A
-0013DA A3                INC     DPTR
+0013CE 9C                SUBB    A,R4
+0013CF F0                MOVX    @DPTR,A
+0013D0 904E20            MOV     DPTR,#addr
+0013D3 E0                MOVX    A,@DPTR
+0013D4 FE                MOV     R6,A
+0013D5 A3                INC     DPTR
+0013D6 E0                MOVX    A,@DPTR
+0013D7 FF                MOV     R7,A
+0013D8 904E24            MOV     DPTR,#pbuff
 0013DB E0                MOVX    A,@DPTR
-0013DC FF                MOV     R7,A
-0013DD 904E25            MOV     DPTR,#pbuff+01H
-0013E0 EE                MOV     A,R6
-0013E1 8FF0              MOV     B,R7
-0013E3 12040E            LCALL   ?C?IILDX
-0013E6 904E21            MOV     DPTR,#addr+01H
-0013E9 E0                MOVX    A,@DPTR
-0013EA 2F                ADD     A,R7
-0013EB F0                MOVX    @DPTR,A
-0013EC 904E20            MOV     DPTR,#addr
-0013EF E0                MOVX    A,@DPTR
-0013F0 3E                ADDC    A,R6
-0013F1 F0                MOVX    @DPTR,A
-0013F2 615F              AJMP    ?C0007?IIC
-0013F4         ?C0011?IIC:
-0013F4 22                RET     
+0013DC FB                MOV     R3,A
+0013DD A3                INC     DPTR
+0013DE E0                MOVX    A,@DPTR
+0013DF FA                MOV     R2,A
+0013E0 A3                INC     DPTR
+0013E1 E0                MOVX    A,@DPTR
+0013E2 F9                MOV     R1,A
+0013E3 122280            LCALL   _IIC_write
+0013E6 7F0A              MOV     R7,#0AH
+0013E8 3176              ACALL   _Delay1ms
+0013EA 904E27            MOV     DPTR,#curr_len
+0013ED E0                MOVX    A,@DPTR
+0013EE FE                MOV     R6,A
+0013EF A3                INC     DPTR
+0013F0 E0                MOVX    A,@DPTR
+0013F1 FF                MOV     R7,A
+0013F2 904E25            MOV     DPTR,#pbuff+01H
+0013F5 EE                MOV     A,R6
+0013F6 8FF0              MOV     B,R7
+0013F8 12040E            LCALL   ?C?IILDX
+0013FB 904E21            MOV     DPTR,#addr+01H
+0013FE E0                MOVX    A,@DPTR
+0013FF 2F                ADD     A,R7
+001400 F0                MOVX    @DPTR,A
+001401 904E20            MOV     DPTR,#addr
+001404 E0                MOVX    A,@DPTR
+001405 3E                ADDC    A,R6
+001406 F0                MOVX    @DPTR,A
+001407 6173              AJMP    ?C0007?IIC
+001409         ?C0011?IIC:
+001409 22                RET     
 ----- FUNCTION _IIC_WriteBlock (END) -------
 
 
 ----- FUNCTION System_Hardware_init (BEGIN) -----
  FILE: 'sys.c'
-   41: static void System_Hardware_init()
-   42: {
-   43: 	KS_Initialize();
-   44: 	LED_all_shutdown();
-0013F5 9129              ACALL   KS_Initialize
+   42: static void System_Hardware_init()
+   43: {
+   44: 	KS_Initialize();
+   45: 	LED_all_shutdown();
+00140A 913E              ACALL   KS_Initialize
 ;----                  JMP     LED_all_shutdown
-   45: }
+   46: }
 ----- FUNCTION System_Hardware_init (END) -------
 
 
@@ -3015,43 +3064,43 @@
     5: {
     6: 	GPIO_SetOutput(NUM_LOCK_LED_GPIO,LED_OFF);
     7: 	GPIO_SetOutput(CAPS_LED_GPIO,LED_OFF);
-0013F7 C206              CLR     ?_GPIO_SetOutput?BIT
-0013F9 7F1F              MOV     R7,#01FH
-0013FB 910D              ACALL   _GPIO_SetOutput
+00140C C206              CLR     ?_GPIO_SetOutput?BIT
+00140E 7F1F              MOV     R7,#01FH
+001410 9122              ACALL   _GPIO_SetOutput
     8: 	GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
-0013FD C206              CLR     ?_GPIO_SetOutput?BIT
-0013FF 7F1D              MOV     R7,#01DH
-001401 910D              ACALL   _GPIO_SetOutput
+001412 C206              CLR     ?_GPIO_SetOutput?BIT
+001414 7F1D              MOV     R7,#01DH
+001416 9122              ACALL   _GPIO_SetOutput
     9: 	GPIO_SetOutput(G24_LED_GPIO,LED_OFF);
-001403 C206              CLR     ?_GPIO_SetOutput?BIT
-001405 7F1E              MOV     R7,#01EH
-001407 910D              ACALL   _GPIO_SetOutput
+001418 C206              CLR     ?_GPIO_SetOutput?BIT
+00141A 7F1E              MOV     R7,#01EH
+00141C 9122              ACALL   _GPIO_SetOutput
    10: }
-001409 C206              CLR     ?_GPIO_SetOutput?BIT
-00140B 7F1E              MOV     R7,#01EH
+00141E C206              CLR     ?_GPIO_SetOutput?BIT
+001420 7F1E              MOV     R7,#01EH
 ;----                  JMP     _GPIO_SetOutput
 ----- FUNCTION LED_all_shutdown (END) -------
 
 
 ----- FUNCTION _GPIO_SetOutput (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R4' ----
-00140D AC07              MOV     R4,AR7
-00140F EC                MOV     A,R4
-001410 F4                CPL     A
-001411 6015              JZ      ?C0017?GPIO
-001413         ?C0016?GPIO:
-001413 AF04              MOV     R7,AR4
-001415 D204              SETB    ?_GPIO_Setoe?BIT
-001417 D17F              ACALL   _GPIO_Setoe
-001419 AF04              MOV     R7,AR4
-00141B A206              MOV     C,st
-00141D 9201              MOV     ?_GPIO_Setout?BIT,C
-00141F 120784            LCALL   _GPIO_Setout
-001422 AF04              MOV     R7,AR4
-001424 C202              CLR     ?_GPIO_SetPu?BIT
-001426 D150              ACALL   _GPIO_SetPu
-001428         ?C0017?GPIO:
-001428 22                RET     
+001422 AC07              MOV     R4,AR7
+001424 EC                MOV     A,R4
+001425 F4                CPL     A
+001426 6015              JZ      ?C0017?GPIO
+001428         ?C0016?GPIO:
+001428 AF04              MOV     R7,AR4
+00142A D204              SETB    ?_GPIO_Setoe?BIT
+00142C D19A              ACALL   _GPIO_Setoe
+00142E AF04              MOV     R7,AR4
+001430 A206              MOV     C,st
+001432 9201              MOV     ?_GPIO_Setout?BIT,C
+001434 120784            LCALL   _GPIO_Setout
+001437 AF04              MOV     R7,AR4
+001439 C202              CLR     ?_GPIO_SetPu?BIT
+00143B D16B              ACALL   _GPIO_SetPu
+00143D         ?C0017?GPIO:
+00143D 22                RET     
 ----- FUNCTION _GPIO_SetOutput (END) -------
 
 
@@ -3061,17 +3110,17 @@
   207: {
   208: 	REG_GPIO_SELECT(0) = 0;
   209: 	REG_GPIO_SELECT(1) = 0;
-001429 908080            MOV     DPTR,#08080H
-00142C E4                CLR     A
-00142D F0                MOVX    @DPTR,A
+00143E 908080            MOV     DPTR,#08080H
+001441 E4                CLR     A
+001442 F0                MOVX    @DPTR,A
   210: 	REG_GPIO_SELECT(2) = 0;
-00142E A3                INC     DPTR
-00142F F0                MOVX    @DPTR,A
+001443 A3                INC     DPTR
+001444 F0                MOVX    @DPTR,A
   211: 	ksRawInitialize();
-001430 A3                INC     DPTR
-001431 F0                MOVX    @DPTR,A
+001445 A3                INC     DPTR
+001446 F0                MOVX    @DPTR,A
   212: 	ksColInitialize();
-001432 F102              ACALL   ksRawInitialize
+001447 F11D              ACALL   ksRawInitialize
 ;----                  JMP     ksColInitialize
   213: }
 ----- FUNCTION KS_Initialize (END) -------
@@ -3083,109 +3132,109 @@
   199: {
   200: 	byte i = 0;
   201: 	for (i=0; col[i]!=0; i++) {
-001434 E4                CLR     A
-001435 904E91            MOV     DPTR,#i
-001438 F0                MOVX    @DPTR,A
+001449 E4                CLR     A
+00144A 904E91            MOV     DPTR,#i
+00144D F0                MOVX    @DPTR,A
   202: 		GPIO_SetInput(col[i], 0);
-001439 F0                MOVX    @DPTR,A
-00143A         ?C0032?KEYSCAN:
-00143A 904E91            MOV     DPTR,#i
-00143D E0                MOVX    A,@DPTR
-00143E 90060C            MOV     DPTR,#col
-001441 93                MOVC    A,@A+DPTR
-001442 FF                MOV     R7,A
-001443 600C              JZ      ?C0035?KEYSCAN
+00144E F0                MOVX    @DPTR,A
+00144F         ?C0032?KEYSCAN:
+00144F 904E91            MOV     DPTR,#i
+001452 E0                MOVX    A,@DPTR
+001453 90060C            MOV     DPTR,#col
+001456 93                MOVC    A,@A+DPTR
+001457 FF                MOV     R7,A
+001458 600C              JZ      ?C0035?KEYSCAN
   203: 	}
-001445 C205              CLR     ?_GPIO_SetInput?BIT
-001447 D161              ACALL   _GPIO_SetInput
+00145A C205              CLR     ?_GPIO_SetInput?BIT
+00145C D17C              ACALL   _GPIO_SetInput
   204: }
-001449 904E91            MOV     DPTR,#i
-00144C E0                MOVX    A,@DPTR
-00144D 04                INC     A
-00144E F0                MOVX    @DPTR,A
-00144F 80E9              SJMP    ?C0032?KEYSCAN
+00145E 904E91            MOV     DPTR,#i
+001461 E0                MOVX    A,@DPTR
+001462 04                INC     A
+001463 F0                MOVX    @DPTR,A
+001464 80E9              SJMP    ?C0032?KEYSCAN
   205: 
-001451         ?C0035?KEYSCAN:
-001451 22                RET     
+001466         ?C0035?KEYSCAN:
+001466 22                RET     
 ----- FUNCTION ksColInitialize (END) -------
 
 
 ----- FUNCTION YC_System_Main (BEGIN) -----
  FILE: 'sys.c'
-  386: void YC_System_Main(void)
-  387: {
-  388: 	kb_cb_init();
-  389: 	while(1) {
-001452 B1EE              ACALL   kb_cb_init
-001454         ?C0081?SYS:
-  390: 		IPC_DealSingleStep();
-  391: 		kb_need_keyscan();
-001454 1221DD            LCALL   IPC_DealSingleStep
-  392: 		YC_update_eeprom_data();
-001457 120F46            LCALL   kb_need_keyscan
-  393: 		LED_handle();
-00145A 7106              ACALL   YC_update_eeprom_data
-  394: 		
-00145C 1206CF            LCALL   LED_handle
-  395: 		switch (current_task) {
-00145F 900B7E            MOV     DPTR,#current_task
-001462 E0                MOVX    A,@DPTR
-001463 14                DEC     A
-001464 600C              JZ      ?C0087?SYS
-001466 24FE              ADD     A,#0FEH
-001468 70EA              JNZ     ?C0081?SYS
-  396: 		case FIX_ENTER_HIBERNATE:
-00146A         ?C0084?SYS:
-  397: 			KS_Unistall();
-00146A 9197              ACALL   KS_Unistall
-  398: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
-  399: 			LED_all_shutdown();
-00146C 71F7              ACALL   LED_all_shutdown
-  400: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-00146E B1E1              ACALL   IPC_WaitLpm
-001470         ?C0085?SYS:
-  401: 			while(1);
-001470 80FE              SJMP    ?C0085?SYS
-  402: 			break;
-  403: 			
-  404: 		case FIX_ENTER_LPM:
-001472         ?C0087?SYS:
-  405: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||g_variable.one_key_pres
+  404: void YC_System_Main(void)
+  405: {
+  406: 	kb_cb_init();
+  407: 	while(1) {
+001467 D103              ACALL   kb_cb_init
+001469         ?C0085?SYS:
+  408: 		IPC_DealSingleStep();
+  409: 		kb_need_keyscan();
+001469 122169            LCALL   IPC_DealSingleStep
+  410: 		YC_update_eeprom_data();
+00146C 120F2D            LCALL   kb_need_keyscan
+  411: 		LED_handle();
+00146F 711A              ACALL   YC_update_eeprom_data
+  412: 		
+001471 1206CF            LCALL   LED_handle
+  413: 		switch (current_task) {
+001474 900B7E            MOV     DPTR,#current_task
+001477 E0                MOVX    A,@DPTR
+001478 14                DEC     A
+001479 600C              JZ      ?C0091?SYS
+00147B 24FE              ADD     A,#0FEH
+00147D 70EA              JNZ     ?C0085?SYS
+  414: 		case FIX_ENTER_HIBERNATE:
+00147F         ?C0088?SYS:
+  415: 			KS_Unistall();
+00147F 91AC              ACALL   KS_Unistall
+  416: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
+  417: 			LED_all_shutdown();
+001481 910C              ACALL   LED_all_shutdown
+  418: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+001483 B1F6              ACALL   IPC_WaitLpm
+001485         ?C0089?SYS:
+  419: 			while(1);
+001485 80FE              SJMP    ?C0089?SYS
+  420: 			break;
+  421: 			
+  422: 		case FIX_ENTER_LPM:
+001487         ?C0091?SYS:
+  423: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||g_variable.one_key_pres
 >> s_wait_release_timer
-001472 904CEA            MOV     DPTR,#g_variable+02BH
-001475 E0                MOVX    A,@DPTR
-001476 7012              JNZ     ?C0089?SYS
-001478 904CEC            MOV     DPTR,#g_variable+02DH
-00147B E0                MOVX    A,@DPTR
-00147C 700C              JNZ     ?C0089?SYS
-00147E 904CE5            MOV     DPTR,#g_variable+026H
-001481 E0                MOVX    A,@DPTR
-001482 7006              JNZ     ?C0089?SYS
-001484 904CF8            MOV     DPTR,#g_variable+039H
-001487 E0                MOVX    A,@DPTR
-001488 6004              JZ      ?C0088?SYS
-00148A         ?C0089?SYS:
-  406: 			) 
-  407: 			{
-  408: 				IPC_AbandonLpm();
-00148A F1C4              ACALL   IPC_AbandonLpm
-  409: 				break;
-00148C 80C6              SJMP    ?C0081?SYS
-  410: 			}
-00148E         ?C0088?SYS:
-  411: 			else
-  412: 			{
-  413: 				KS_Unistall();
-00148E 9197              ACALL   KS_Unistall
-  414: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-001490 B1E1              ACALL   IPC_WaitLpm
-  415: 				break;
-001492 80C0              SJMP    ?C0081?SYS
-  416: 			}
-  417: 		}
-  418: 	}
-001494 80BE              SJMP    ?C0081?SYS
-001496 22                RET     
+001487 904CEA            MOV     DPTR,#g_variable+02BH
+00148A E0                MOVX    A,@DPTR
+00148B 7012              JNZ     ?C0093?SYS
+00148D 904CEC            MOV     DPTR,#g_variable+02DH
+001490 E0                MOVX    A,@DPTR
+001491 700C              JNZ     ?C0093?SYS
+001493 904CE5            MOV     DPTR,#g_variable+026H
+001496 E0                MOVX    A,@DPTR
+001497 7006              JNZ     ?C0093?SYS
+001499 904CF8            MOV     DPTR,#g_variable+039H
+00149C E0                MOVX    A,@DPTR
+00149D 6004              JZ      ?C0092?SYS
+00149F         ?C0093?SYS:
+  424: 			) 
+  425: 			{
+  426: 				IPC_AbandonLpm();
+00149F F162              ACALL   IPC_AbandonLpm
+  427: 				break;
+0014A1 80C6              SJMP    ?C0085?SYS
+  428: 			}
+0014A3         ?C0092?SYS:
+  429: 			else
+  430: 			{
+  431: 				KS_Unistall();
+0014A3 91AC              ACALL   KS_Unistall
+  432: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+0014A5 B1F6              ACALL   IPC_WaitLpm
+  433: 				break;
+0014A7 80C0              SJMP    ?C0085?SYS
+  434: 			}
+  435: 		}
+  436: 	}
+0014A9 80BE              SJMP    ?C0085?SYS
+0014AB 22                RET     
 ----- FUNCTION YC_System_Main (END) -------
 
 
@@ -3196,385 +3245,385 @@
   217: 	byte i = 0;
   218: 	byte temp = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-001497 E4                CLR     A
-001498 FF                MOV     R7,A
+0014AC E4                CLR     A
+0014AD FF                MOV     R7,A
   219: 	byte tgroup = 0;
-001499 904E92            MOV     DPTR,#temp
-00149C F0                MOVX    @DPTR,A
+0014AE 904E92            MOV     DPTR,#temp
+0014B1 F0                MOVX    @DPTR,A
   220: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-00149D FE                MOV     R6,A
+0014B2 FE                MOV     R6,A
   221: 	for (i=0; col[i]!=0; i++) {
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-00149E FD                MOV     R5,A
+0014B3 FD                MOV     R5,A
   222: 		tgroup = col[i]  >> 3;
-00149F         ?C0037?KEYSCAN:
-00149F EF                MOV     A,R7
-0014A0 90060C            MOV     DPTR,#col
-0014A3 93                MOVC    A,@A+DPTR
-0014A4 6049              JZ      ?C0038?KEYSCAN
+0014B4         ?C0037?KEYSCAN:
+0014B4 EF                MOV     A,R7
+0014B5 90060C            MOV     DPTR,#col
+0014B8 93                MOVC    A,@A+DPTR
+0014B9 6049              JZ      ?C0038?KEYSCAN
   223: 		tgpionum = 1 << (col[i] & 7);
-0014A6 EF                MOV     A,R7
-0014A7 93                MOVC    A,@A+DPTR
-0014A8 FD                MOV     R5,A
-0014A9 13                RRC     A
-0014AA 13                RRC     A
-0014AB 13                RRC     A
-0014AC 541F              ANL     A,#01FH
-0014AE FE                MOV     R6,A
+0014BB EF                MOV     A,R7
+0014BC 93                MOVC    A,@A+DPTR
+0014BD FD                MOV     R5,A
+0014BE 13                RRC     A
+0014BF 13                RRC     A
+0014C0 13                RRC     A
+0014C1 541F              ANL     A,#01FH
+0014C3 FE                MOV     R6,A
   224: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
-0014AF ED                MOV     A,R5
-0014B0 5407              ANL     A,#07H
-0014B2 FD                MOV     R5,A
-0014B3 7401              MOV     A,#01H
-0014B5 A805              MOV     R0,AR5
-0014B7 08                INC     R0
-0014B8 8002              SJMP    ?C0093?KEYSCAN
-0014BA         ?C0092?KEYSCAN:
-0014BA C3                CLR     C
-0014BB 33                RLC     A
-0014BC         ?C0093?KEYSCAN:
-0014BC D8FC              DJNZ    R0,?C0092?KEYSCAN
-0014BE FD                MOV     R5,A
+0014C4 ED                MOV     A,R5
+0014C5 5407              ANL     A,#07H
+0014C7 FD                MOV     R5,A
+0014C8 7401              MOV     A,#01H
+0014CA A805              MOV     R0,AR5
+0014CC 08                INC     R0
+0014CD 8002              SJMP    ?C0093?KEYSCAN
+0014CF         ?C0092?KEYSCAN:
+0014CF C3                CLR     C
+0014D0 33                RLC     A
+0014D1         ?C0093?KEYSCAN:
+0014D1 D8FC              DJNZ    R0,?C0092?KEYSCAN
+0014D3 FD                MOV     R5,A
   225: 		REG_GPIO_OE(tgroup) |= tgpionum;
-0014BF EE                MOV     A,R6
-0014C0 2478              ADD     A,#078H
-0014C2 FB                MOV     R3,A
-0014C3 E4                CLR     A
-0014C4 3480              ADDC    A,#080H
-0014C6 8B82              MOV     DPL,R3
-0014C8 F583              MOV     DPH,A
-0014CA E0                MOVX    A,@DPTR
-0014CB FC                MOV     R4,A
-0014CC ED                MOV     A,R5
-0014CD F4                CPL     A
-0014CE FB                MOV     R3,A
-0014CF EC                MOV     A,R4
-0014D0 5B                ANL     A,R3
-0014D1 F0                MOVX    @DPTR,A
+0014D4 EE                MOV     A,R6
+0014D5 2478              ADD     A,#078H
+0014D7 FB                MOV     R3,A
+0014D8 E4                CLR     A
+0014D9 3480              ADDC    A,#080H
+0014DB 8B82              MOV     DPL,R3
+0014DD F583              MOV     DPH,A
+0014DF E0                MOVX    A,@DPTR
+0014E0 FC                MOV     R4,A
+0014E1 ED                MOV     A,R5
+0014E2 F4                CPL     A
+0014E3 FB                MOV     R3,A
+0014E4 EC                MOV     A,R4
+0014E5 5B                ANL     A,R3
+0014E6 F0                MOVX    @DPTR,A
   226: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
-0014D2 EE                MOV     A,R6
-0014D3 2470              ADD     A,#070H
-0014D5 F582              MOV     DPL,A
-0014D7 E4                CLR     A
-0014D8 3480              ADDC    A,#080H
-0014DA F583              MOV     DPH,A
-0014DC E0                MOVX    A,@DPTR
-0014DD 4D                ORL     A,R5
-0014DE F0                MOVX    @DPTR,A
+0014E7 EE                MOV     A,R6
+0014E8 2470              ADD     A,#070H
+0014EA F582              MOV     DPL,A
+0014EC E4                CLR     A
+0014ED 3480              ADDC    A,#080H
+0014EF F583              MOV     DPH,A
+0014F1 E0                MOVX    A,@DPTR
+0014F2 4D                ORL     A,R5
+0014F3 F0                MOVX    @DPTR,A
   227: 	}
-0014DF EE                MOV     A,R6
-0014E0 2474              ADD     A,#074H
-0014E2 F582              MOV     DPL,A
-0014E4 E4                CLR     A
-0014E5 3480              ADDC    A,#080H
-0014E7 F583              MOV     DPH,A
-0014E9 E0                MOVX    A,@DPTR
-0014EA 5B                ANL     A,R3
-0014EB F0                MOVX    @DPTR,A
+0014F4 EE                MOV     A,R6
+0014F5 2474              ADD     A,#074H
+0014F7 F582              MOV     DPL,A
+0014F9 E4                CLR     A
+0014FA 3480              ADDC    A,#080H
+0014FC F583              MOV     DPH,A
+0014FE E0                MOVX    A,@DPTR
+0014FF 5B                ANL     A,R3
+001500 F0                MOVX    @DPTR,A
   228: 	
-0014EC 0F                INC     R7
-0014ED 80B0              SJMP    ?C0037?KEYSCAN
-0014EF         ?C0038?KEYSCAN:
+001501 0F                INC     R7
+001502 80B0              SJMP    ?C0037?KEYSCAN
+001504         ?C0038?KEYSCAN:
   229: 	GPIO_fillpd();
-0014EF 12237D            LCALL   GPIO_fillpd
+001504 122387            LCALL   GPIO_fillpd
   230: 	
   231: 	temp = REG_GPIO_IN(0);
-0014F2 90811C            MOV     DPTR,#0811CH
-0014F5 E0                MOVX    A,@DPTR
-0014F6 904E92            MOV     DPTR,#temp
-0014F9 F0                MOVX    @DPTR,A
+001507 90811C            MOV     DPTR,#0811CH
+00150A E0                MOVX    A,@DPTR
+00150B 904E92            MOV     DPTR,#temp
+00150E F0                MOVX    @DPTR,A
   232: 	if (g_variable.battery_status != 2)
-0014FA 904CD5            MOV     DPTR,#g_variable+016H
-0014FD E0                MOVX    A,@DPTR
-0014FE 6402              XRL     A,#02H
-001500 6036              JZ      ?C0040?KEYSCAN
+00150F 904CD5            MOV     DPTR,#g_variable+016H
+001512 E0                MOVX    A,@DPTR
+001513 6402              XRL     A,#02H
+001515 6036              JZ      ?C0040?KEYSCAN
   233: 	{
   234: 		if(long_press_flag)
-001502 904DD5            MOV     DPTR,#long_press_flag
-001505 E0                MOVX    A,@DPTR
-001506 6020              JZ      ?C0041?KEYSCAN
+001517 904DD5            MOV     DPTR,#long_press_flag
+00151A E0                MOVX    A,@DPTR
+00151B 6020              JZ      ?C0041?KEYSCAN
   235: 		{
   236: 			GPIO_SetWakeupByCurrentState(0);
-001508 E4                CLR     A
-001509 FF                MOV     R7,A
-00150A B142              ACALL   _GPIO_SetWakeupByCurrentState
+00151D E4                CLR     A
+00151E FF                MOV     R7,A
+00151F B157              ACALL   _GPIO_SetWakeupByCurrentState
   237: 			GPIO_SetWakeupByCurrentState(1);
-00150C 7F01              MOV     R7,#01H
-00150E B142              ACALL   _GPIO_SetWakeupByCurrentState
+001521 7F01              MOV     R7,#01H
+001523 B157              ACALL   _GPIO_SetWakeupByCurrentState
   238: 			GPIO_SetWakeupByCurrentState(2);
-001510 7F02              MOV     R7,#02H
-001512 B142              ACALL   _GPIO_SetWakeupByCurrentState
+001525 7F02              MOV     R7,#02H
+001527 B157              ACALL   _GPIO_SetWakeupByCurrentState
   239: 			GPIO_SetWakeupByCurrentState(3);
-001514 7F03              MOV     R7,#03H
-001516 B142              ACALL   _GPIO_SetWakeupByCurrentState
+001529 7F03              MOV     R7,#03H
+00152B B157              ACALL   _GPIO_SetWakeupByCurrentState
   240: 			GPIO_SetWakeupByCurrentState(4);
-001518 7F04              MOV     R7,#04H
-00151A B142              ACALL   _GPIO_SetWakeupByCurrentState
+00152D 7F04              MOV     R7,#04H
+00152F B157              ACALL   _GPIO_SetWakeupByCurrentState
   241: 			GPIO_SetWakeupByCurrentState(5);
-00151C 7F05              MOV     R7,#05H
-00151E B142              ACALL   _GPIO_SetWakeupByCurrentState
+001531 7F05              MOV     R7,#05H
+001533 B157              ACALL   _GPIO_SetWakeupByCurrentState
   242: 			GPIO_SetWakeupByCurrentState(6);
-001520 7F06              MOV     R7,#06H
-001522 B142              ACALL   _GPIO_SetWakeupByCurrentState
+001535 7F06              MOV     R7,#06H
+001537 B157              ACALL   _GPIO_SetWakeupByCurrentState
   243: 			GPIO_SetWakeupByCurrentState(7);
-001524 7F07              MOV     R7,#07H
-001526 801A              SJMP    _GPIO_SetWakeupByCurrentState
+001539 7F07              MOV     R7,#07H
+00153B 801A              SJMP    _GPIO_SetWakeupByCurrentState
   244: 		}
-001528         ?C0041?KEYSCAN:
+00153D         ?C0041?KEYSCAN:
   245: 		else
   246: 		{
   247: 			YC_GPIOWakeupL[0] = temp;
-001528 904E92            MOV     DPTR,#temp
-00152B E0                MOVX    A,@DPTR
-00152C FF                MOV     R7,A
-00152D 9000A3            MOV     DPTR,#YC_GPIOWakeupL
-001530 F0                MOVX    @DPTR,A
+00153D 904E92            MOV     DPTR,#temp
+001540 E0                MOVX    A,@DPTR
+001541 FF                MOV     R7,A
+001542 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+001545 F0                MOVX    @DPTR,A
   248: 			YC_GPIOWakeupH[0] = ~temp;
-001531 EF                MOV     A,R7
-001532 F4                CPL     A
-001533 9000A7            MOV     DPTR,#YC_GPIOWakeupH
-001536 F0                MOVX    @DPTR,A
+001546 EF                MOV     A,R7
+001547 F4                CPL     A
+001548 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+00154B F0                MOVX    @DPTR,A
   249: 		}
   250: 
   251: 	}
-001537 22                RET     
-001538         ?C0040?KEYSCAN:
+00154C 22                RET     
+00154D         ?C0040?KEYSCAN:
   252: 	else
   253: 	{
   254: 		YC_GPIOWakeupL[0] = 0;
-001538 E4                CLR     A
-001539 9000A3            MOV     DPTR,#YC_GPIOWakeupL
-00153C F0                MOVX    @DPTR,A
+00154D E4                CLR     A
+00154E 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+001551 F0                MOVX    @DPTR,A
   255: 		YC_GPIOWakeupH[0] = 0;
-00153D 9000A7            MOV     DPTR,#YC_GPIOWakeupH
-001540 F0                MOVX    @DPTR,A
+001552 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+001555 F0                MOVX    @DPTR,A
   256: 	}
   257: }
-001541 22                RET     
+001556 22                RET     
 ----- FUNCTION KS_Unistall (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (BEGIN) -----
-001542 904E96            MOV     DPTR,#gpio_num
-001545 EF                MOV     A,R7
-001546 F0                MOVX    @DPTR,A
-001547 D101              ACALL   _GPIO_GetInputStatus
-001549 9208              MOV     st,C
-00154B 904E96            MOV     DPTR,#gpio_num
-00154E E0                MOVX    A,@DPTR
-00154F FF                MOV     R7,A
-001550 A208              MOV     C,st
-001552 B3                CPL     C
-001553 9207              MOV     ?_GPIO_SetWakeup?BIT,C
+001557 904E96            MOV     DPTR,#gpio_num
+00155A EF                MOV     A,R7
+00155B F0                MOVX    @DPTR,A
+00155C D116              ACALL   _GPIO_GetInputStatus
+00155E 9208              MOV     st,C
+001560 904E96            MOV     DPTR,#gpio_num
+001563 E0                MOVX    A,@DPTR
+001564 FF                MOV     R7,A
+001565 A208              MOV     C,st
+001567 B3                CPL     C
+001568 9207              MOV     ?_GPIO_SetWakeup?BIT,C
 ;----                  JMP     _GPIO_SetWakeup
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001555 EF                MOV     A,R7
-001556 F4                CPL     A
-001557 7002              JNZ     $ + 4H
-001559 A1E0              AJMP    ?C0019?GPIO
-00155B         ?C0018?GPIO:
-00155B EF                MOV     A,R7
-00155C 5407              ANL     A,#07H
-00155E FE                MOV     R6,A
+00156A EF                MOV     A,R7
+00156B F4                CPL     A
+00156C 7002              JNZ     $ + 4H
+00156E A1F5              AJMP    ?C0019?GPIO
+001570         ?C0018?GPIO:
+001570 EF                MOV     A,R7
+001571 5407              ANL     A,#07H
+001573 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-00155F EF                MOV     A,R7
-001560 13                RRC     A
-001561 13                RRC     A
-001562 13                RRC     A
-001563 5403              ANL     A,#03H
-001565 FF                MOV     R7,A
+001574 EF                MOV     A,R7
+001575 13                RRC     A
+001576 13                RRC     A
+001577 13                RRC     A
+001578 5403              ANL     A,#03H
+00157A FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-001566 300743            JNB     st,?C0020?GPIO
-001569 24A3              ADD     A,#LOW YC_GPIOWakeupL
-00156B F582              MOV     DPL,A
-00156D E4                CLR     A
-00156E 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-001570 F583              MOV     DPH,A
-001572 C083              PUSH    DPH
-001574 C082              PUSH    DPL
-001576 E0                MOVX    A,@DPTR
-001577 FD                MOV     R5,A
-001578 7401              MOV     A,#01H
-00157A A806              MOV     R0,AR6
-00157C 08                INC     R0
-00157D 8002              SJMP    ?C0037?GPIO
-00157F         ?C0036?GPIO:
-00157F C3                CLR     C
-001580 33                RLC     A
-001581         ?C0037?GPIO:
-001581 D8FC              DJNZ    R0,?C0036?GPIO
-001583 F4                CPL     A
-001584 5D                ANL     A,R5
-001585 D082              POP     DPL
-001587 D083              POP     DPH
-001589 F0                MOVX    @DPTR,A
-00158A 74A7              MOV     A,#LOW YC_GPIOWakeupH
-00158C 2F                ADD     A,R7
-00158D F582              MOV     DPL,A
-00158F E4                CLR     A
-001590 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-001592 F583              MOV     DPH,A
-001594 C083              PUSH    DPH
-001596 C082              PUSH    DPL
-001598 E0                MOVX    A,@DPTR
-001599 FF                MOV     R7,A
-00159A 7401              MOV     A,#01H
-00159C A806              MOV     R0,AR6
-00159E 08                INC     R0
-00159F 8002              SJMP    ?C0039?GPIO
-0015A1         ?C0038?GPIO:
-0015A1 C3                CLR     C
-0015A2 33                RLC     A
-0015A3         ?C0039?GPIO:
-0015A3 D8FC              DJNZ    R0,?C0038?GPIO
-0015A5 4F                ORL     A,R7
-0015A6 D082              POP     DPL
-0015A8 D083              POP     DPH
-0015AA F0                MOVX    @DPTR,A
-0015AB 22                RET     
-0015AC         ?C0020?GPIO:
-0015AC 74A3              MOV     A,#LOW YC_GPIOWakeupL
-0015AE 2F                ADD     A,R7
-0015AF F582              MOV     DPL,A
-0015B1 E4                CLR     A
-0015B2 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-0015B4 F583              MOV     DPH,A
-0015B6 C083              PUSH    DPH
-0015B8 C082              PUSH    DPL
-0015BA E0                MOVX    A,@DPTR
-0015BB FD                MOV     R5,A
-0015BC 7401              MOV     A,#01H
-0015BE A806              MOV     R0,AR6
-0015C0 08                INC     R0
-0015C1 8002              SJMP    ?C0041?GPIO
-0015C3         ?C0040?GPIO:
-0015C3 C3                CLR     C
-0015C4 33                RLC     A
-0015C5         ?C0041?GPIO:
-0015C5 D8FC              DJNZ    R0,?C0040?GPIO
-0015C7 FC                MOV     R4,A
-0015C8 4D                ORL     A,R5
-0015C9 D082              POP     DPL
-0015CB D083              POP     DPH
-0015CD F0                MOVX    @DPTR,A
-0015CE 74A7              MOV     A,#LOW YC_GPIOWakeupH
-0015D0 2F                ADD     A,R7
-0015D1 F582              MOV     DPL,A
-0015D3 E4                CLR     A
-0015D4 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-0015D6 F583              MOV     DPH,A
-0015D8 E0                MOVX    A,@DPTR
-0015D9 FF                MOV     R7,A
-0015DA EC                MOV     A,R4
-0015DB F4                CPL     A
-0015DC FE                MOV     R6,A
-0015DD EF                MOV     A,R7
-0015DE 5E                ANL     A,R6
-0015DF F0                MOVX    @DPTR,A
-0015E0         ?C0019?GPIO:
-0015E0 22                RET     
+00157B 300743            JNB     st,?C0020?GPIO
+00157E 24A3              ADD     A,#LOW YC_GPIOWakeupL
+001580 F582              MOV     DPL,A
+001582 E4                CLR     A
+001583 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+001585 F583              MOV     DPH,A
+001587 C083              PUSH    DPH
+001589 C082              PUSH    DPL
+00158B E0                MOVX    A,@DPTR
+00158C FD                MOV     R5,A
+00158D 7401              MOV     A,#01H
+00158F A806              MOV     R0,AR6
+001591 08                INC     R0
+001592 8002              SJMP    ?C0037?GPIO
+001594         ?C0036?GPIO:
+001594 C3                CLR     C
+001595 33                RLC     A
+001596         ?C0037?GPIO:
+001596 D8FC              DJNZ    R0,?C0036?GPIO
+001598 F4                CPL     A
+001599 5D                ANL     A,R5
+00159A D082              POP     DPL
+00159C D083              POP     DPH
+00159E F0                MOVX    @DPTR,A
+00159F 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0015A1 2F                ADD     A,R7
+0015A2 F582              MOV     DPL,A
+0015A4 E4                CLR     A
+0015A5 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0015A7 F583              MOV     DPH,A
+0015A9 C083              PUSH    DPH
+0015AB C082              PUSH    DPL
+0015AD E0                MOVX    A,@DPTR
+0015AE FF                MOV     R7,A
+0015AF 7401              MOV     A,#01H
+0015B1 A806              MOV     R0,AR6
+0015B3 08                INC     R0
+0015B4 8002              SJMP    ?C0039?GPIO
+0015B6         ?C0038?GPIO:
+0015B6 C3                CLR     C
+0015B7 33                RLC     A
+0015B8         ?C0039?GPIO:
+0015B8 D8FC              DJNZ    R0,?C0038?GPIO
+0015BA 4F                ORL     A,R7
+0015BB D082              POP     DPL
+0015BD D083              POP     DPH
+0015BF F0                MOVX    @DPTR,A
+0015C0 22                RET     
+0015C1         ?C0020?GPIO:
+0015C1 74A3              MOV     A,#LOW YC_GPIOWakeupL
+0015C3 2F                ADD     A,R7
+0015C4 F582              MOV     DPL,A
+0015C6 E4                CLR     A
+0015C7 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0015C9 F583              MOV     DPH,A
+0015CB C083              PUSH    DPH
+0015CD C082              PUSH    DPL
+0015CF E0                MOVX    A,@DPTR
+0015D0 FD                MOV     R5,A
+0015D1 7401              MOV     A,#01H
+0015D3 A806              MOV     R0,AR6
+0015D5 08                INC     R0
+0015D6 8002              SJMP    ?C0041?GPIO
+0015D8         ?C0040?GPIO:
+0015D8 C3                CLR     C
+0015D9 33                RLC     A
+0015DA         ?C0041?GPIO:
+0015DA D8FC              DJNZ    R0,?C0040?GPIO
+0015DC FC                MOV     R4,A
+0015DD 4D                ORL     A,R5
+0015DE D082              POP     DPL
+0015E0 D083              POP     DPH
+0015E2 F0                MOVX    @DPTR,A
+0015E3 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0015E5 2F                ADD     A,R7
+0015E6 F582              MOV     DPL,A
+0015E8 E4                CLR     A
+0015E9 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0015EB F583              MOV     DPH,A
+0015ED E0                MOVX    A,@DPTR
+0015EE FF                MOV     R7,A
+0015EF EC                MOV     A,R4
+0015F0 F4                CPL     A
+0015F1 FE                MOV     R6,A
+0015F2 EF                MOV     A,R7
+0015F3 5E                ANL     A,R6
+0015F4 F0                MOVX    @DPTR,A
+0015F5         ?C0019?GPIO:
+0015F5 22                RET     
 ----- FUNCTION _GPIO_SetWakeup (END) -------
 
 
 ----- FUNCTION IPC_WaitLpm (BEGIN) -----
-0015E1 E4                CLR     A
-0015E2 900B7F            MOV     DPTR,#lpm_flag
-0015E5 F0                MOVX    @DPTR,A
-0015E6 900B7E            MOV     DPTR,#current_task
-0015E9 F0                MOVX    @DPTR,A
-0015EA 7F01              MOV     R7,#01H
-0015EC 2161              AJMP    _Delay1ms
+0015F6 E4                CLR     A
+0015F7 900B7F            MOV     DPTR,#lpm_flag
+0015FA F0                MOVX    @DPTR,A
+0015FB 900B7E            MOV     DPTR,#current_task
+0015FE F0                MOVX    @DPTR,A
+0015FF 7F01              MOV     R7,#01H
+001601 2176              AJMP    _Delay1ms
 ----- FUNCTION IPC_WaitLpm (END) -------
 
 
 ----- FUNCTION kb_cb_init (BEGIN) -----
  FILE: 'sys.c'
-  379: static void kb_cb_init()
-  380: {
-  381: 	IPC_Initialize(&cb);
-  382: }
-0015EE 7B01              MOV     R3,#01H
-0015F0 7A4D              MOV     R2,#HIGH cb
-0015F2 79EE              MOV     R1,#LOW cb
+  397: static void kb_cb_init()
+  398: {
+  399: 	IPC_Initialize(&cb);
+  400: }
+001603 7B01              MOV     R3,#01H
+001605 7A4D              MOV     R2,#HIGH cb
+001607 79EE              MOV     R1,#LOW cb
 ;----                  JMP     _IPC_Initialize
 ----- FUNCTION kb_cb_init (END) -------
 
 
 ----- FUNCTION _IPC_Initialize (BEGIN) -----
 ;---- Variable 'cb' assigned to Register 'R1/R2/R3' ----
-0015F4 7800              MOV     R0,#LOW ipcCb
-0015F6 7C4E              MOV     R4,#HIGH ipcCb
-0015F8 7D01              MOV     R5,#01H
-0015FA 7E00              MOV     R6,#00H
-0015FC 7F12              MOV     R7,#012H
-0015FE 020390            LJMP    ?C?COPY
+001609 7800              MOV     R0,#LOW ipcCb
+00160B 7C4E              MOV     R4,#HIGH ipcCb
+00160D 7D01              MOV     R5,#01H
+00160F 7E00              MOV     R6,#00H
+001611 7F12              MOV     R7,#012H
+001613 020390            LJMP    ?C?COPY
 ----- FUNCTION _IPC_Initialize (END) -------
 
 
 ----- FUNCTION _GPIO_GetInputStatus (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001601 7B01              MOV     R3,#01H
-001603 7A81              MOV     R2,#081H
-001605 791C              MOV     R1,#01CH
+001616 7B01              MOV     R3,#01H
+001618 7A81              MOV     R2,#081H
+00161A 791C              MOV     R1,#01CH
 ;----                  JMP     _gpioGetBit
 ----- FUNCTION _GPIO_GetInputStatus (END) -------
 
 
 ----- FUNCTION _gpioGetBit (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R5' ----
-001607 AD07              MOV     R5,AR7
+00161C AD07              MOV     R5,AR7
 ;---- Variable 'reg_base' assigned to Register 'R1/R2/R3' ----
-001609 E4                CLR     A
-00160A 904E95            MOV     DPTR,#queue
-00160D F0                MOVX    @DPTR,A
+00161E E4                CLR     A
+00161F 904E95            MOV     DPTR,#queue
+001622 F0                MOVX    @DPTR,A
 ;---- Variable 'group' assigned to Register 'R6' ----
-00160E FE                MOV     R6,A
-00160F EF                MOV     A,R7
-001610 5407              ANL     A,#07H
-001612 F0                MOVX    @DPTR,A
-001613 EF                MOV     A,R7
-001614 13                RRC     A
-001615 13                RRC     A
-001616 13                RRC     A
-001617 5403              ANL     A,#03H
-001619 FE                MOV     R6,A
-00161A F582              MOV     DPL,A
-00161C 758300            MOV     DPH,#00H
-00161F 1203CF            LCALL   ?C?CLDOPTR
-001622 FD                MOV     R5,A
-001623 33                RLC     A
-001624 95E0              SUBB    A,ACC
-001626 FC                MOV     R4,A
-001627 904E95            MOV     DPTR,#queue
-00162A E0                MOVX    A,@DPTR
-00162B FF                MOV     R7,A
-00162C 7401              MOV     A,#01H
-00162E 7E00              MOV     R6,#00H
-001630 A807              MOV     R0,AR7
-001632 08                INC     R0
-001633 8005              SJMP    ?C0035?GPIO
-001635         ?C0034?GPIO:
-001635 C3                CLR     C
-001636 33                RLC     A
-001637 CE                XCH     A,R6
+001623 FE                MOV     R6,A
+001624 EF                MOV     A,R7
+001625 5407              ANL     A,#07H
+001627 F0                MOVX    @DPTR,A
+001628 EF                MOV     A,R7
+001629 13                RRC     A
+00162A 13                RRC     A
+00162B 13                RRC     A
+00162C 5403              ANL     A,#03H
+00162E FE                MOV     R6,A
+00162F F582              MOV     DPL,A
+001631 758300            MOV     DPH,#00H
+001634 1203CF            LCALL   ?C?CLDOPTR
+001637 FD                MOV     R5,A
 001638 33                RLC     A
-001639 CE                XCH     A,R6
-00163A         ?C0035?GPIO:
-00163A D8F9              DJNZ    R0,?C0034?GPIO
-00163C FF                MOV     R7,A
-00163D EE                MOV     A,R6
-00163E 5C                ANL     A,R4
-00163F FE                MOV     R6,A
-001640 EF                MOV     A,R7
-001641 5D                ANL     A,R5
-001642 4E                ORL     A,R6
-001643 24FF              ADD     A,#0FFH
-001645 22                RET     
+001639 95E0              SUBB    A,ACC
+00163B FC                MOV     R4,A
+00163C 904E95            MOV     DPTR,#queue
+00163F E0                MOVX    A,@DPTR
+001640 FF                MOV     R7,A
+001641 7401              MOV     A,#01H
+001643 7E00              MOV     R6,#00H
+001645 A807              MOV     R0,AR7
+001647 08                INC     R0
+001648 8005              SJMP    ?C0035?GPIO
+00164A         ?C0034?GPIO:
+00164A C3                CLR     C
+00164B 33                RLC     A
+00164C CE                XCH     A,R6
+00164D 33                RLC     A
+00164E CE                XCH     A,R6
+00164F         ?C0035?GPIO:
+00164F D8F9              DJNZ    R0,?C0034?GPIO
+001651 FF                MOV     R7,A
+001652 EE                MOV     A,R6
+001653 5C                ANL     A,R4
+001654 FE                MOV     R6,A
+001655 EF                MOV     A,R7
+001656 5D                ANL     A,R5
+001657 4E                ORL     A,R6
+001658 24FF              ADD     A,#0FFH
+00165A 22                RET     
 ----- FUNCTION _gpioGetBit (END) -------
 
 
@@ -3583,171 +3632,175 @@
    60: void YC_start_reconnect()
    61: {
    62: 	power_on_flag = 2;
-   63: 	YC_key_action_handle(KEY_START_24G);
-001646 904DE1            MOV     DPTR,#power_on_flag
-001649 7402              MOV     A,#02H
-00164B F0                MOVX    @DPTR,A
-   64: }
-00164C 7F08              MOV     R7,#08H
-00164E 0117              AJMP    _YC_key_action_handle
+   63: 	g_variable.reconn_timer_count = 20;
+00165B 904DE1            MOV     DPTR,#power_on_flag
+00165E 7402              MOV     A,#02H
+001660 F0                MOVX    @DPTR,A
+   64: 	YC_key_action_handle(KEY_START_24G);
+001661 904CF9            MOV     DPTR,#g_variable+03AH
+001664 7414              MOV     A,#014H
+001666 F0                MOVX    @DPTR,A
+   65: }
+001667 7F08              MOV     R7,#08H
+001669 012C              AJMP    _YC_key_action_handle
 ----- FUNCTION YC_start_reconnect (END) -------
 
 
 ----- FUNCTION _GPIO_SetPu (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001650 EF                MOV     A,R7
-001651 F4                CPL     A
-001652 600C              JZ      ?C0009?GPIO
-001654         ?C0008?GPIO:
-001654 7B01              MOV     R3,#01H
-001656 7A80              MOV     R2,#080H
-001658 7978              MOV     R1,#078H
-00165A A202              MOV     C,bit_val
-00165C 9200              MOV     ?_gpioSetBit?BIT,C
-00165E D1A1              ACALL   _gpioSetBit
-001660         ?C0009?GPIO:
-001660 22                RET     
+00166B EF                MOV     A,R7
+00166C F4                CPL     A
+00166D 600C              JZ      ?C0009?GPIO
+00166F         ?C0008?GPIO:
+00166F 7B01              MOV     R3,#01H
+001671 7A80              MOV     R2,#080H
+001673 7978              MOV     R1,#078H
+001675 A202              MOV     C,bit_val
+001677 9200              MOV     ?_gpioSetBit?BIT,C
+001679 D1BC              ACALL   _gpioSetBit
+00167B         ?C0009?GPIO:
+00167B 22                RET     
 ----- FUNCTION _GPIO_SetPu (END) -------
 
 
 ----- FUNCTION _GPIO_SetInput (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R4' ----
-001661 AC07              MOV     R4,AR7
-001663 EC                MOV     A,R4
-001664 F4                CPL     A
-001665 6017              JZ      ?C0015?GPIO
-001667         ?C0014?GPIO:
-001667 AF04              MOV     R7,AR4
-001669 A205              MOV     C,st
-00166B 9203              MOV     ?_GPIO_SetPd?BIT,C
-00166D D190              ACALL   _GPIO_SetPd
-00166F AF04              MOV     R7,AR4
-001671 A205              MOV     C,st
-001673 B3                CPL     C
-001674 9202              MOV     ?_GPIO_SetPu?BIT,C
-001676 D150              ACALL   _GPIO_SetPu
-001678 AF04              MOV     R7,AR4
-00167A C204              CLR     ?_GPIO_Setoe?BIT
-00167C D17F              ACALL   _GPIO_Setoe
-00167E         ?C0015?GPIO:
-00167E 22                RET     
+00167C AC07              MOV     R4,AR7
+00167E EC                MOV     A,R4
+00167F F4                CPL     A
+001680 6017              JZ      ?C0015?GPIO
+001682         ?C0014?GPIO:
+001682 AF04              MOV     R7,AR4
+001684 A205              MOV     C,st
+001686 9203              MOV     ?_GPIO_SetPd?BIT,C
+001688 D1AB              ACALL   _GPIO_SetPd
+00168A AF04              MOV     R7,AR4
+00168C A205              MOV     C,st
+00168E B3                CPL     C
+00168F 9202              MOV     ?_GPIO_SetPu?BIT,C
+001691 D16B              ACALL   _GPIO_SetPu
+001693 AF04              MOV     R7,AR4
+001695 C204              CLR     ?_GPIO_Setoe?BIT
+001697 D19A              ACALL   _GPIO_Setoe
+001699         ?C0015?GPIO:
+001699 22                RET     
 ----- FUNCTION _GPIO_SetInput (END) -------
 
 
 ----- FUNCTION _GPIO_Setoe (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-00167F EF                MOV     A,R7
-001680 F4                CPL     A
-001681 600C              JZ      ?C0013?GPIO
-001683         ?C0012?GPIO:
-001683 7B01              MOV     R3,#01H
-001685 7A80              MOV     R2,#080H
-001687 7970              MOV     R1,#070H
-001689 A204              MOV     C,bit_val
-00168B 9200              MOV     ?_gpioSetBit?BIT,C
-00168D D1A1              ACALL   _gpioSetBit
-00168F         ?C0013?GPIO:
-00168F 22                RET     
+00169A EF                MOV     A,R7
+00169B F4                CPL     A
+00169C 600C              JZ      ?C0013?GPIO
+00169E         ?C0012?GPIO:
+00169E 7B01              MOV     R3,#01H
+0016A0 7A80              MOV     R2,#080H
+0016A2 7970              MOV     R1,#070H
+0016A4 A204              MOV     C,bit_val
+0016A6 9200              MOV     ?_gpioSetBit?BIT,C
+0016A8 D1BC              ACALL   _gpioSetBit
+0016AA         ?C0013?GPIO:
+0016AA 22                RET     
 ----- FUNCTION _GPIO_Setoe (END) -------
 
 
 ----- FUNCTION _GPIO_SetPd (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001690 EF                MOV     A,R7
-001691 F4                CPL     A
-001692 600C              JZ      ?C0011?GPIO
-001694         ?C0010?GPIO:
-001694 7B01              MOV     R3,#01H
-001696 7A80              MOV     R2,#080H
-001698 797C              MOV     R1,#07CH
-00169A A203              MOV     C,bit_val
-00169C 9200              MOV     ?_gpioSetBit?BIT,C
-00169E D1A1              ACALL   _gpioSetBit
-0016A0         ?C0011?GPIO:
-0016A0 22                RET     
+0016AB EF                MOV     A,R7
+0016AC F4                CPL     A
+0016AD 600C              JZ      ?C0011?GPIO
+0016AF         ?C0010?GPIO:
+0016AF 7B01              MOV     R3,#01H
+0016B1 7A80              MOV     R2,#080H
+0016B3 797C              MOV     R1,#07CH
+0016B5 A203              MOV     C,bit_val
+0016B7 9200              MOV     ?_gpioSetBit?BIT,C
+0016B9 D1BC              ACALL   _gpioSetBit
+0016BB         ?C0011?GPIO:
+0016BB 22                RET     
 ----- FUNCTION _GPIO_SetPd (END) -------
 
 
 ----- FUNCTION _gpioSetBit (BEGIN) -----
-0016A1 904E84            MOV     DPTR,#reg_base
-0016A4 EB                MOV     A,R3
-0016A5 F0                MOVX    @DPTR,A
-0016A6 A3                INC     DPTR
-0016A7 EA                MOV     A,R2
-0016A8 F0                MOVX    @DPTR,A
-0016A9 A3                INC     DPTR
-0016AA E9                MOV     A,R1
-0016AB F0                MOVX    @DPTR,A
+0016BC 904E84            MOV     DPTR,#reg_base
+0016BF EB                MOV     A,R3
+0016C0 F0                MOVX    @DPTR,A
+0016C1 A3                INC     DPTR
+0016C2 EA                MOV     A,R2
+0016C3 F0                MOVX    @DPTR,A
+0016C4 A3                INC     DPTR
+0016C5 E9                MOV     A,R1
+0016C6 F0                MOVX    @DPTR,A
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
 ;---- Variable 'queue' assigned to Register 'R6' ----
-0016AC E4                CLR     A
-0016AD FE                MOV     R6,A
+0016C7 E4                CLR     A
+0016C8 FE                MOV     R6,A
 ;---- Variable 'group' assigned to Register 'R5' ----
-0016AE FD                MOV     R5,A
-0016AF EF                MOV     A,R7
-0016B0 5407              ANL     A,#07H
-0016B2 FE                MOV     R6,A
-0016B3 EF                MOV     A,R7
-0016B4 13                RRC     A
-0016B5 13                RRC     A
-0016B6 13                RRC     A
-0016B7 5403              ANL     A,#03H
-0016B9 FD                MOV     R5,A
-0016BA 300022            JNB     bit_val,?C0001?GPIO
-0016BD 904E84            MOV     DPTR,#reg_base
-0016C0 E0                MOVX    A,@DPTR
-0016C1 FB                MOV     R3,A
-0016C2 A3                INC     DPTR
-0016C3 E0                MOVX    A,@DPTR
-0016C4 FA                MOV     R2,A
-0016C5 A3                INC     DPTR
-0016C6 E0                MOVX    A,@DPTR
-0016C7 2D                ADD     A,R5
-0016C8 F9                MOV     R1,A
-0016C9 E4                CLR     A
-0016CA 3A                ADDC    A,R2
-0016CB FA                MOV     R2,A
-0016CC 1203B6            LCALL   ?C?CLDPTR
-0016CF FF                MOV     R7,A
-0016D0 7401              MOV     A,#01H
-0016D2 A806              MOV     R0,AR6
-0016D4 08                INC     R0
-0016D5 8002              SJMP    ?C0031?GPIO
-0016D7         ?C0030?GPIO:
-0016D7 C3                CLR     C
-0016D8 33                RLC     A
-0016D9         ?C0031?GPIO:
-0016D9 D8FC              DJNZ    R0,?C0030?GPIO
-0016DB 4F                ORL     A,R7
-0016DC 0203FC            LJMP    ?C?CSTPTR
-0016DF         ?C0001?GPIO:
-0016DF 904E84            MOV     DPTR,#reg_base
-0016E2 E0                MOVX    A,@DPTR
-0016E3 FB                MOV     R3,A
-0016E4 A3                INC     DPTR
-0016E5 E0                MOVX    A,@DPTR
+0016C9 FD                MOV     R5,A
+0016CA EF                MOV     A,R7
+0016CB 5407              ANL     A,#07H
+0016CD FE                MOV     R6,A
+0016CE EF                MOV     A,R7
+0016CF 13                RRC     A
+0016D0 13                RRC     A
+0016D1 13                RRC     A
+0016D2 5403              ANL     A,#03H
+0016D4 FD                MOV     R5,A
+0016D5 300022            JNB     bit_val,?C0001?GPIO
+0016D8 904E84            MOV     DPTR,#reg_base
+0016DB E0                MOVX    A,@DPTR
+0016DC FB                MOV     R3,A
+0016DD A3                INC     DPTR
+0016DE E0                MOVX    A,@DPTR
+0016DF FA                MOV     R2,A
+0016E0 A3                INC     DPTR
+0016E1 E0                MOVX    A,@DPTR
+0016E2 2D                ADD     A,R5
+0016E3 F9                MOV     R1,A
+0016E4 E4                CLR     A
+0016E5 3A                ADDC    A,R2
 0016E6 FA                MOV     R2,A
-0016E7 A3                INC     DPTR
-0016E8 E0                MOVX    A,@DPTR
-0016E9 2D                ADD     A,R5
-0016EA F9                MOV     R1,A
-0016EB E4                CLR     A
-0016EC 3A                ADDC    A,R2
-0016ED FA                MOV     R2,A
-0016EE 1203B6            LCALL   ?C?CLDPTR
-0016F1 FF                MOV     R7,A
-0016F2 7401              MOV     A,#01H
-0016F4 A806              MOV     R0,AR6
-0016F6 08                INC     R0
-0016F7 8002              SJMP    ?C0033?GPIO
-0016F9         ?C0032?GPIO:
-0016F9 C3                CLR     C
-0016FA 33                RLC     A
-0016FB         ?C0033?GPIO:
-0016FB D8FC              DJNZ    R0,?C0032?GPIO
-0016FD F4                CPL     A
-0016FE 5F                ANL     A,R7
-0016FF 0203FC            LJMP    ?C?CSTPTR
+0016E7 1203B6            LCALL   ?C?CLDPTR
+0016EA FF                MOV     R7,A
+0016EB 7401              MOV     A,#01H
+0016ED A806              MOV     R0,AR6
+0016EF 08                INC     R0
+0016F0 8002              SJMP    ?C0031?GPIO
+0016F2         ?C0030?GPIO:
+0016F2 C3                CLR     C
+0016F3 33                RLC     A
+0016F4         ?C0031?GPIO:
+0016F4 D8FC              DJNZ    R0,?C0030?GPIO
+0016F6 4F                ORL     A,R7
+0016F7 0203FC            LJMP    ?C?CSTPTR
+0016FA         ?C0001?GPIO:
+0016FA 904E84            MOV     DPTR,#reg_base
+0016FD E0                MOVX    A,@DPTR
+0016FE FB                MOV     R3,A
+0016FF A3                INC     DPTR
+001700 E0                MOVX    A,@DPTR
+001701 FA                MOV     R2,A
+001702 A3                INC     DPTR
+001703 E0                MOVX    A,@DPTR
+001704 2D                ADD     A,R5
+001705 F9                MOV     R1,A
+001706 E4                CLR     A
+001707 3A                ADDC    A,R2
+001708 FA                MOV     R2,A
+001709 1203B6            LCALL   ?C?CLDPTR
+00170C FF                MOV     R7,A
+00170D 7401              MOV     A,#01H
+00170F A806              MOV     R0,AR6
+001711 08                INC     R0
+001712 8002              SJMP    ?C0033?GPIO
+001714         ?C0032?GPIO:
+001714 C3                CLR     C
+001715 33                RLC     A
+001716         ?C0033?GPIO:
+001716 D8FC              DJNZ    R0,?C0032?GPIO
+001718 F4                CPL     A
+001719 5F                ANL     A,R7
+00171A 0203FC            LJMP    ?C?CSTPTR
 ----- FUNCTION _gpioSetBit (END) -------
 
 
@@ -3757,391 +3810,509 @@
   190: {
   191: 	byte i = 0;
   192: 	
-001702 E4                CLR     A
-001703 904E90            MOV     DPTR,#i
-001706 F0                MOVX    @DPTR,A
+00171D E4                CLR     A
+00171E 904E90            MOV     DPTR,#i
+001721 F0                MOVX    @DPTR,A
   193: 	for (i=0; i<8; i++) {
-001707 F0                MOVX    @DPTR,A
-001708         ?C0028?KEYSCAN:
-001708 904E90            MOV     DPTR,#i
-00170B E0                MOVX    A,@DPTR
-00170C FF                MOV     R7,A
-00170D C3                CLR     C
-00170E 9408              SUBB    A,#08H
-001710 500C              JNC     ?C0031?KEYSCAN
+001722 F0                MOVX    @DPTR,A
+001723         ?C0028?KEYSCAN:
+001723 904E90            MOV     DPTR,#i
+001726 E0                MOVX    A,@DPTR
+001727 FF                MOV     R7,A
+001728 C3                CLR     C
+001729 9408              SUBB    A,#08H
+00172B 500C              JNC     ?C0031?KEYSCAN
   194: 		GPIO_SetInput(i, 0);
-001712 C205              CLR     ?_GPIO_SetInput?BIT
-001714 D161              ACALL   _GPIO_SetInput
+00172D C205              CLR     ?_GPIO_SetInput?BIT
+00172F D17C              ACALL   _GPIO_SetInput
   195: 	}
-001716 904E90            MOV     DPTR,#i
-001719 E0                MOVX    A,@DPTR
-00171A 04                INC     A
-00171B F0                MOVX    @DPTR,A
-00171C 80EA              SJMP    ?C0028?KEYSCAN
+001731 904E90            MOV     DPTR,#i
+001734 E0                MOVX    A,@DPTR
+001735 04                INC     A
+001736 F0                MOVX    @DPTR,A
+001737 80EA              SJMP    ?C0028?KEYSCAN
   196: }
-00171E         ?C0031?KEYSCAN:
-00171E 22                RET     
+001739         ?C0031?KEYSCAN:
+001739 22                RET     
 ----- FUNCTION ksRawInitialize (END) -------
 
 
+----- FUNCTION System_Software_init (BEGIN) -----
+ FILE: 'sys.c'
+   49: void System_Software_init()
+   50: {
+   51: 	System_clear_mem();
+   52: 	YC_adc_init();
+00173A 120DDF            LCALL   System_clear_mem
+   53: 	g_variable.release_data =1;
+00173D 121F0F            LCALL   YC_adc_init
+   54: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
+001740 904CEB            MOV     DPTR,#g_variable+02CH
+001743 7401              MOV     A,#01H
+001745 F0                MOVX    @DPTR,A
+   55: 	g_variable.recon_count = 0;
+001746 904CE5            MOV     DPTR,#g_variable+026H
+001749 741E              MOV     A,#01EH
+00174B F0                MOVX    @DPTR,A
+   56: 	g_variable.test_buff = 0xff;
+00174C E4                CLR     A
+00174D 904CF0            MOV     DPTR,#g_variable+031H
+001750 F0                MOVX    @DPTR,A
+   57: }
+001751 904D02            MOV     DPTR,#g_variable+043H
+001754 74FF              MOV     A,#0FFH
+001756 F0                MOVX    @DPTR,A
+   58: 
+001757 22                RET     
+----- FUNCTION System_Software_init (END) -------
+
+
 ----- FUNCTION main (BEGIN) -----
  FILE: 'ram.c'
     5: void main()
     6: {
     7: 	YC_System_Main();
     8: }
-00171F 8152              AJMP    YC_System_Main
+001758 8167              AJMP    YC_System_Main
 ----- FUNCTION main (END) -------
 
 
 ----- FUNCTION IIcWaitDone (BEGIN) -----
-001721         ?C0001?IIC:
-001721 90812C            MOV     DPTR,#0812CH
-001724 E0                MOVX    A,@DPTR
-001725 30E5F9            JNB     ACC.5,?C0001?IIC
-001728 22                RET     
+00175A         ?C0001?IIC:
+00175A 90812C            MOV     DPTR,#0812CH
+00175D E0                MOVX    A,@DPTR
+00175E 30E5F9            JNB     ACC.5,?C0001?IIC
+001761 22                RET     
 ----- FUNCTION IIcWaitDone (END) -------
 
 
------ FUNCTION _IIC_write (BEGIN) -----
-001729 904E3F            MOV     DPTR,#addr
-00172C EE                MOV     A,R6
-00172D F0                MOVX    @DPTR,A
-00172E A3                INC     DPTR
-00172F EF                MOV     A,R7
-001730 F0                MOVX    @DPTR,A
-001731 904E43            MOV     DPTR,#pbuff
-001734 EB                MOV     A,R3
-001735 F0                MOVX    @DPTR,A
-001736 A3                INC     DPTR
-001737 EA                MOV     A,R2
-001738 F0                MOVX    @DPTR,A
-001739 A3                INC     DPTR
-00173A E9                MOV     A,R1
-00173B F0                MOVX    @DPTR,A
-00173C 904E41            MOV     DPTR,#len
-00173F EC                MOV     A,R4
-001740 F0                MOVX    @DPTR,A
-001741 A3                INC     DPTR
-001742 ED                MOV     A,R5
-001743 F0                MOVX    @DPTR,A
-001744 A3                INC     DPTR
-001745 E0                MOVX    A,@DPTR
-001746 F9                MOV     R1,A
-001747 A3                INC     DPTR
-001748 E0                MOVX    A,@DPTR
-001749 FA                MOV     R2,A
-00174A A3                INC     DPTR
-00174B E0                MOVX    A,@DPTR
-00174C 904E2C            MOV     DPTR,#?_dmemcpy?BYTE+03H
-00174F C9                XCH     A,R1
-001750 F0                MOVX    @DPTR,A
-001751 A3                INC     DPTR
-001752 EA                MOV     A,R2
-001753 F0                MOVX    @DPTR,A
-001754 A3                INC     DPTR
-001755 E9                MOV     A,R1
-001756 F0                MOVX    @DPTR,A
-001757 A3                INC     DPTR
-001758 EC                MOV     A,R4
-001759 F0                MOVX    @DPTR,A
-00175A A3                INC     DPTR
-00175B ED                MOV     A,R5
-00175C F0                MOVX    @DPTR,A
-00175D 7B01              MOV     R3,#01H
-00175F 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
-001761 7986              MOV     R1,#LOW IIC_TempBuff+03H
-001763 1222B0            LCALL   _dmemcpy
-001766 900B83            MOV     DPTR,#IIC_TempBuff
-001769 74A0              MOV     A,#0A0H
-00176B F0                MOVX    @DPTR,A
-00176C 904E3F            MOV     DPTR,#addr
-00176F E0                MOVX    A,@DPTR
-001770 FF                MOV     R7,A
-001771 A3                INC     DPTR
-001772 E0                MOVX    A,@DPTR
-001773 900B84            MOV     DPTR,#IIC_TempBuff+01H
-001776 CF                XCH     A,R7
-001777 F0                MOVX    @DPTR,A
-001778 A3                INC     DPTR
-001779 EF                MOV     A,R7
-00177A F0                MOVX    @DPTR,A
-00177B 904E42            MOV     DPTR,#len+01H
-00177E E0                MOVX    A,@DPTR
-00177F 2403              ADD     A,#03H
-001781 FD                MOV     R5,A
-001782 904E41            MOV     DPTR,#len
-001785 E0                MOVX    A,@DPTR
-001786 3400              ADDC    A,#00H
-001788 FC                MOV     R4,A
-001789 ED                MOV     A,R5
-00178A FA                MOV     R2,A
-00178B EC                MOV     A,R4
-00178C FF                MOV     R7,A
-00178D EA                MOV     A,R2
-00178E FE                MOV     R6,A
-00178F EF                MOV     A,R7
-001790 908098            MOV     DPTR,#08098H
-001793 EE                MOV     A,R6
-001794 F0                MOVX    @DPTR,A
-001795 A3                INC     DPTR
-001796 EF                MOV     A,R7
-001797 F0                MOVX    @DPTR,A
-001798 7A0B              MOV     R2,#HIGH IIC_TempBuff
-00179A 7983              MOV     R1,#LOW IIC_TempBuff
-00179C 7E0B              MOV     R6,#HIGH IIC_TempBuff
-00179E 7F83              MOV     R7,#LOW IIC_TempBuff
-0017A0 7483              MOV     A,#LOW IIC_TempBuff
-0017A2 FC                MOV     R4,A
-0017A3 740B              MOV     A,#HIGH IIC_TempBuff
-0017A5 FF                MOV     R7,A
-0017A6 EC                MOV     A,R4
-0017A7 FE                MOV     R6,A
-0017A8 EF                MOV     A,R7
-0017A9 A3                INC     DPTR
-0017AA EE                MOV     A,R6
-0017AB F0                MOVX    @DPTR,A
-0017AC A3                INC     DPTR
-0017AD EF                MOV     A,R7
-0017AE F0                MOVX    @DPTR,A
-0017AF 90809E            MOV     DPTR,#0809EH
-0017B2 E4                CLR     A
-0017B3 F0                MOVX    @DPTR,A
-0017B4 A3                INC     DPTR
-0017B5 F0                MOVX    @DPTR,A
-0017B6 908090            MOV     DPTR,#08090H
-0017B9 04                INC     A
-0017BA F0                MOVX    @DPTR,A
-0017BB 908006            MOV     DPTR,#08006H
-0017BE E0                MOVX    A,@DPTR
-0017BF 4404              ORL     A,#04H
-0017C1 F0                MOVX    @DPTR,A
-0017C2 E121              AJMP    IIcWaitDone
------ FUNCTION _IIC_write (END) -------
-
-
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-0017C4 900B7F            MOV     DPTR,#lpm_flag
-0017C7 7401              MOV     A,#01H
-0017C9 F0                MOVX    @DPTR,A
-0017CA E4                CLR     A
-0017CB 900B7E            MOV     DPTR,#current_task
-0017CE F0                MOVX    @DPTR,A
-0017CF 22                RET     
+001762 900B7F            MOV     DPTR,#lpm_flag
+001765 7401              MOV     A,#01H
+001767 F0                MOVX    @DPTR,A
+001768 E4                CLR     A
+001769 900B7E            MOV     DPTR,#current_task
+00176C F0                MOVX    @DPTR,A
+00176D 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
 ----- FUNCTION kb_cb_Timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  291: static void kb_cb_Timer500ms()
-  292: {
-  293: 	LED_timer500ms();	
-  294: 
-0017D0 120796            LCALL   LED_timer500ms
-  295: 	g_variable.sleepTimer++;
-0017D3 904CE4            MOV     DPTR,#g_variable+025H
-0017D6 E0                MOVX    A,@DPTR
-0017D7 04                INC     A
-0017D8 F0                MOVX    @DPTR,A
-0017D9 7006              JNZ     ?C0095?SYS
-0017DB 904CE3            MOV     DPTR,#g_variable+024H
-0017DE E0                MOVX    A,@DPTR
-0017DF 04                INC     A
-0017E0 F0                MOVX    @DPTR,A
-0017E1         ?C0095?SYS:
-  296: 
-  297: 	YC_adc_check_timer500ms();
-0017E1 122122            LCALL   YC_adc_check_timer500ms
-  298: 	YC_connect_timeout_500ms();
-0017E4 121E99            LCALL   YC_connect_timeout_500ms
-  299: 	kb_button_press_timer500ms();
-0017E7 11DD              ACALL   kb_button_press_timer500ms
+  292: static void kb_cb_Timer500ms()
+  293: {
+  294: 	LED_timer500ms();	
+  295: 
+00176E 120796            LCALL   LED_timer500ms
+  296: 	g_variable.sleepTimer++;
+001771 904CE4            MOV     DPTR,#g_variable+025H
+001774 E0                MOVX    A,@DPTR
+001775 04                INC     A
+001776 F0                MOVX    @DPTR,A
+001777 7006              JNZ     ?C0099?SYS
+001779 904CE3            MOV     DPTR,#g_variable+024H
+00177C E0                MOVX    A,@DPTR
+00177D 04                INC     A
+00177E F0                MOVX    @DPTR,A
+00177F         ?C0099?SYS:
+  297: 
+  298: 	YC_adc_check_timer500ms();
+00177F F1A9              ACALL   YC_adc_check_timer500ms
+  299: 	YC_connect_timeout_500ms();
+001781 121E18            LCALL   YC_connect_timeout_500ms
+  300: 	kb_button_press_timer500ms();
+001784 11F2              ACALL   kb_button_press_timer500ms
 ;----                  JMP     YC_pairing_timerout_500ms
-  300: 	YC_pairing_timerout_500ms();
-  301: 	
-  302: 	return;
+  301: 	YC_pairing_timerout_500ms();
+  302: 	
+  303: 	return;
 ----- FUNCTION kb_cb_Timer500ms (END) -------
 
 
 ----- FUNCTION YC_pairing_timerout_500ms (BEGIN) -----
  FILE: 'sys.c'
-  227: void YC_pairing_timerout_500ms()
-  228: {
-  229: //pairing timer
-  230: 	if (g_variable.pairing_g24_timeout != 0)
-0017E9 904CEE            MOV     DPTR,#g_variable+02FH
-0017EC E0                MOVX    A,@DPTR
-0017ED 601D              JZ      ?C0047?SYS
-  231: 	{
-  232: 		g_variable.sleepTimer = 0;
-0017EF E4                CLR     A
-0017F0 904CE3            MOV     DPTR,#g_variable+024H
-0017F3 F0                MOVX    @DPTR,A
-0017F4 A3                INC     DPTR
-0017F5 F0                MOVX    @DPTR,A
-  233: 		g_variable.pairing_g24_timeout--;
-0017F6 904CEE            MOV     DPTR,#g_variable+02FH
-0017F9 E0                MOVX    A,@DPTR
-0017FA 14                DEC     A
-0017FB F0                MOVX    @DPTR,A
-  234: 		if (g_variable.pairing_g24_timeout == 0)
-0017FC E0                MOVX    A,@DPTR
-0017FD 700D              JNZ     ?C0047?SYS
-  235: 		{
-  236: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
-0017FF 7F22              MOV     R7,#022H
-001801 1207F8            LCALL   _IPC_TxControlCmd
-  237: 			Delay1ms(10);
-001804 7F0A              MOV     R7,#0AH
-001806 121161            LCALL   _Delay1ms
-  238: 			System_long_sleep();
-001809 1207F1            LCALL   System_long_sleep
-  239: 		}
-  240: 	}
-  241: }
-00180C         ?C0047?SYS:
-00180C 22                RET     
+  228: void YC_pairing_timerout_500ms()
+  229: {
+  230: //pairing timer
+  231: 	if (g_variable.pairing_g24_timeout != 0)
+001786 904CEE            MOV     DPTR,#g_variable+02FH
+001789 E0                MOVX    A,@DPTR
+00178A 601C              JZ      ?C0047?SYS
+  232: 	{
+  233: 		g_variable.sleepTimer = 0;
+00178C E4                CLR     A
+00178D 904CE3            MOV     DPTR,#g_variable+024H
+001790 F0                MOVX    @DPTR,A
+001791 A3                INC     DPTR
+001792 F0                MOVX    @DPTR,A
+  234: 		g_variable.pairing_g24_timeout--;
+001793 904CEE            MOV     DPTR,#g_variable+02FH
+001796 E0                MOVX    A,@DPTR
+001797 14                DEC     A
+001798 F0                MOVX    @DPTR,A
+  235: 		if (g_variable.pairing_g24_timeout == 0)
+001799 E0                MOVX    A,@DPTR
+00179A 700C              JNZ     ?C0047?SYS
+  236: 		{
+  237: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
+00179C 7F22              MOV     R7,#022H
+00179E 1207F8            LCALL   _IPC_TxControlCmd
+  238: 			Delay1ms(10);
+0017A1 7F0A              MOV     R7,#0AH
+0017A3 3176              ACALL   _Delay1ms
+  239: 			System_long_sleep();
+0017A5 1207F1            LCALL   System_long_sleep
+  240: 		}
+  241: 	}
+  242: }
+0017A8         ?C0047?SYS:
+0017A8 22                RET     
 ----- FUNCTION YC_pairing_timerout_500ms (END) -------
 
 
+----- FUNCTION YC_adc_check_timer500ms (BEGIN) -----
+ FILE: 'adc.c'
+   76: void YC_adc_check_timer500ms()
+   77: {
+   78: #ifdef  ADC_ENABLE
+   79: 	// adc check timer	
+   80: 	if (g_variable.battery_check_interval)
+0017A9 904CD3            MOV     DPTR,#g_variable+014H
+0017AC E0                MOVX    A,@DPTR
+0017AD 600B              JZ      ?C0016?ADC
+   81: 	{
+   82: 		g_variable.battery_check_interval--;
+0017AF 14                DEC     A
+0017B0 F0                MOVX    @DPTR,A
+   83: 		if (g_variable.battery_check_interval == 0)
+0017B1 E0                MOVX    A,@DPTR
+0017B2 7006              JNZ     ?C0016?ADC
+   84: 		{
+   85: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
+0017B4 7405              MOV     A,#05H
+0017B6 F0                MOVX    @DPTR,A
+   86: 			YC_adc_check();
+0017B7 121FD3            LCALL   YC_adc_check
+   87: 		}
+   88: 	}
+   89: #endif	
+   90: }
+0017BA         ?C0016?ADC:
+0017BA 22                RET     
+----- FUNCTION YC_adc_check_timer500ms (END) -------
+
+
+----- FUNCTION _GPIO_FlipOutBit (BEGIN) -----
+0017BB 904E97            MOV     DPTR,#gpio_num
+0017BE EF                MOV     A,R7
+0017BF F0                MOVX    @DPTR,A
+0017C0 7B01              MOV     R3,#01H
+0017C2 7A80              MOV     R2,#080H
+0017C4 7974              MOV     R1,#074H
+0017C6 D11C              ACALL   _gpioGetBit
+0017C8 9209              MOV     st,C
+0017CA 904E97            MOV     DPTR,#gpio_num
+0017CD E0                MOVX    A,@DPTR
+0017CE FF                MOV     R7,A
+0017CF A209              MOV     C,st
+0017D1 B3                CPL     C
+0017D2 9201              MOV     ?_GPIO_Setout?BIT,C
+0017D4 020784            LJMP    _GPIO_Setout
+----- FUNCTION _GPIO_FlipOutBit (END) -------
+
+
 ----- FUNCTION kb_24g_get_led_status (BEGIN) -----
  FILE: 'kb_process.c'
   129: void kb_24g_get_led_status()		//get RF Ack for get numlock/capslock status
   130: {
   131: 	if((get_24g_led_send == 1) && (repeat_send_24g == 0))
   132: 	{
-00180D 904DD0            MOV     DPTR,#get_24g_led_send
-001810 E0                MOVX    A,@DPTR
-001811 6401              XRL     A,#01H
-001813 7031              JNZ     ?C0027?KB_PROCESS
-001815 904DD6            MOV     DPTR,#repeat_send_24g
-001818 E0                MOVX    A,@DPTR
-001819 702B              JNZ     ?C0027?KB_PROCESS
+0017D7 904DD0            MOV     DPTR,#get_24g_led_send
+0017DA E0                MOVX    A,@DPTR
+0017DB 6401              XRL     A,#01H
+0017DD 7031              JNZ     ?C0027?KB_PROCESS
+0017DF 904DD6            MOV     DPTR,#repeat_send_24g
+0017E2 E0                MOVX    A,@DPTR
+0017E3 702B              JNZ     ?C0027?KB_PROCESS
   133: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
   134: 		{
-00181B 904CC5            MOV     DPTR,#g_variable+06H
-00181E E0                MOVX    A,@DPTR
-00181F 6403              XRL     A,#03H
-001821 7050              JNZ     ?C0031?KB_PROCESS
+0017E5 904CC5            MOV     DPTR,#g_variable+06H
+0017E8 E0                MOVX    A,@DPTR
+0017E9 6403              XRL     A,#03H
+0017EB 7050              JNZ     ?C0031?KB_PROCESS
   135: 			xmemclear(hidBuff,9);
   136: 			IPC_TxHidData(hidBuff, 9);
-001823 7B01              MOV     R3,#01H
-001825 7A48              MOV     R2,#HIGH hidBuff
-001827 7900              MOV     R1,#LOW hidBuff
-001829 7D09              MOV     R5,#09H
-00182B FC                MOV     R4,A
-00182C 120DCE            LCALL   _xmemclear
+0017ED 7B01              MOV     R3,#01H
+0017EF 7A48              MOV     R2,#HIGH hidBuff
+0017F1 7900              MOV     R1,#LOW hidBuff
+0017F3 7D09              MOV     R5,#09H
+0017F5 FC                MOV     R4,A
+0017F6 120DB3            LCALL   _xmemclear
   137: 			get_24g_led_send = 2;
-00182F 7B01              MOV     R3,#01H
-001831 7A48              MOV     R2,#HIGH hidBuff
-001833 7900              MOV     R1,#LOW hidBuff
-001835 7D09              MOV     R5,#09H
-001837 120EBC            LCALL   _IPC_TxHidData
+0017F9 7B01              MOV     R3,#01H
+0017FB 7A48              MOV     R2,#HIGH hidBuff
+0017FD 7900              MOV     R1,#LOW hidBuff
+0017FF 7D09              MOV     R5,#09H
+001801 120E69            LCALL   _IPC_TxHidData
   138: 			mult_key_status = 0;
-00183A 904DD0            MOV     DPTR,#get_24g_led_send
-00183D 7402              MOV     A,#02H
-00183F F0                MOVX    @DPTR,A
+001804 904DD0            MOV     DPTR,#get_24g_led_send
+001807 7402              MOV     A,#02H
+001809 F0                MOVX    @DPTR,A
   139: 		}	
-001840 E4                CLR     A
-001841 904DE4            MOV     DPTR,#mult_key_status
-001844 F0                MOVX    @DPTR,A
+00180A E4                CLR     A
+00180B 904DE4            MOV     DPTR,#mult_key_status
+00180E F0                MOVX    @DPTR,A
   140: 	}
   141: 	else if ((get_24g_led_send == 2) && (repeat_send_24g == 0))
-001845 22                RET     
-001846         ?C0027?KB_PROCESS:
+00180F 22                RET     
+001810         ?C0027?KB_PROCESS:
   142: 	{
-001846 904DD0            MOV     DPTR,#get_24g_led_send
-001849 E0                MOVX    A,@DPTR
-00184A B40226            CJNE    A,#02H,?C0031?KB_PROCESS
-00184D 904DD6            MOV     DPTR,#repeat_send_24g
-001850 E0                MOVX    A,@DPTR
-001851 7020              JNZ     ?C0031?KB_PROCESS
+001810 904DD0            MOV     DPTR,#get_24g_led_send
+001813 E0                MOVX    A,@DPTR
+001814 B40226            CJNE    A,#02H,?C0031?KB_PROCESS
+001817 904DD6            MOV     DPTR,#repeat_send_24g
+00181A E0                MOVX    A,@DPTR
+00181B 7020              JNZ     ?C0031?KB_PROCESS
   143: 		get_24g_led_send = 0;
   144: 		xmemclear(hidBuff,9);
-001853 904DD0            MOV     DPTR,#get_24g_led_send
-001856 F0                MOVX    @DPTR,A
+00181D 904DD0            MOV     DPTR,#get_24g_led_send
+001820 F0                MOVX    @DPTR,A
   145: 		IPC_TxHidData(hidBuff, 9);
-001857 7B01              MOV     R3,#01H
-001859 7A48              MOV     R2,#HIGH hidBuff
-00185B 7900              MOV     R1,#LOW hidBuff
-00185D 7D09              MOV     R5,#09H
-00185F FC                MOV     R4,A
-001860 120DCE            LCALL   _xmemclear
+001821 7B01              MOV     R3,#01H
+001823 7A48              MOV     R2,#HIGH hidBuff
+001825 7900              MOV     R1,#LOW hidBuff
+001827 7D09              MOV     R5,#09H
+001829 FC                MOV     R4,A
+00182A 120DB3            LCALL   _xmemclear
   146: 		mult_key_status = 0;
-001863 7B01              MOV     R3,#01H
-001865 7A48              MOV     R2,#HIGH hidBuff
-001867 7900              MOV     R1,#LOW hidBuff
-001869 7D09              MOV     R5,#09H
-00186B 120EBC            LCALL   _IPC_TxHidData
+00182D 7B01              MOV     R3,#01H
+00182F 7A48              MOV     R2,#HIGH hidBuff
+001831 7900              MOV     R1,#LOW hidBuff
+001833 7D09              MOV     R5,#09H
+001835 120E69            LCALL   _IPC_TxHidData
   147: 	}
-00186E E4                CLR     A
-00186F 904DE4            MOV     DPTR,#mult_key_status
-001872 F0                MOVX    @DPTR,A
+001838 E4                CLR     A
+001839 904DE4            MOV     DPTR,#mult_key_status
+00183C F0                MOVX    @DPTR,A
   148: }
   149: 
-001873         ?C0031?KB_PROCESS:
-001873 22                RET     
+00183D         ?C0031?KB_PROCESS:
+00183D 22                RET     
 ----- FUNCTION kb_24g_get_led_status (END) -------
 
 
------ FUNCTION kb_motion (BEGIN) -----
+----- FUNCTION _kb_combination_key_press (BEGIN) -----
  FILE: 'kb_process.c'
-  152: static void kb_motion()
-  153: {
-  154: 	tKSEVENT *pEvt = NULL;
-  155: 	
-001874 904E75            MOV     DPTR,#pEvt
-001877 E4                CLR     A
-001878 F0                MOVX    @DPTR,A
-001879 A3                INC     DPTR
-00187A F0                MOVX    @DPTR,A
-00187B A3                INC     DPTR
-00187C F0                MOVX    @DPTR,A
-  156: 	if (!IPC_IsTxBuffEmpty())
-00187D 51B1              ACALL   IPC_IsTxBuffEmpty
-00187F 5025              JNC     ?C0033?KB_PROCESS
-001881         ?C0032?KB_PROCESS:
-  157: 		return;
-  158: 	pEvt = KS_GetCurrentEvt();
-001881 11A7              ACALL   KS_GetCurrentEvt
-001883 904E75            MOV     DPTR,#pEvt
-001886 EB                MOV     A,R3
-001887 F0                MOVX    @DPTR,A
-001888 A3                INC     DPTR
-001889 EA                MOV     A,R2
-00188A F0                MOVX    @DPTR,A
-00188B A3                INC     DPTR
-00188C E9                MOV     A,R1
-00188D F0                MOVX    @DPTR,A
-  159: 
-  160: 	if (pEvt == NULL)
-00188E 4A                ORL     A,R2
-00188F 7007              JNZ     ?C0034?KB_PROCESS
-  161: 	{
-  162: 		m_power_on_flag = 1;
-001891 904CB6            MOV     DPTR,#m_power_on_flag
-001894 04                INC     A
-001895 F0                MOVX    @DPTR,A
-  163: 		kb_24g_get_led_status();
-001896 010D              AJMP    kb_24g_get_led_status
-  164: 		return;
-  165: 	}
-001898         ?C0034?KB_PROCESS:
-  166: 	kb_motion_keyscan(pEvt);
-001898 904E75            MOV     DPTR,#pEvt
-00189B E0                MOVX    A,@DPTR
-00189C FB                MOV     R3,A
-00189D A3                INC     DPTR
-00189E E0                MOVX    A,@DPTR
-00189F FA                MOV     R2,A
-0018A0 A3                INC     DPTR
-0018A1 E0                MOVX    A,@DPTR
-0018A2 F9                MOV     R1,A
-0018A3 12091D            LCALL   _kb_motion_keyscan
-  167: }
-0018A6         ?C0033?KB_PROCESS:
-0018A6 22                RET     
------ FUNCTION kb_motion (END) -------
+  332: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
+  333: {
+;---- Variable 'press_state' assigned to Register 'R7' ----
+;---- Variable 'standrad_key' assigned to Register 'R3' ----
+;---- Variable 'special_key' assigned to Register 'R5' ----
+  334: 	g_variable.key_combination_ctrl = special_key;	
+  335: 	g_variable.key_combination_keyvalue = standrad_key;
+00183E 904CF5            MOV     DPTR,#g_variable+036H
+001841 ED                MOV     A,R5
+001842 F0                MOVX    @DPTR,A
+  336: 
+001843 A3                INC     DPTR
+001844 EB                MOV     A,R3
+001845 F0                MOVX    @DPTR,A
+  337: 	if(press_state & 1)
+001846 EF                MOV     A,R7
+001847 30E012            JNB     ACC.0,?C0071?KB_PROCESS
+  338: 	{
+  339: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
+00184A 904CF4            MOV     DPTR,#g_variable+035H
+00184D E0                MOVX    A,@DPTR
+00184E B40304            CJNE    A,#03H,?C0072?KB_PROCESS
+  340: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+001851 7402              MOV     A,#02H
+001853 F0                MOVX    @DPTR,A
+001854 22                RET     
+001855         ?C0072?KB_PROCESS:
+  341: 		else	
+  342: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
+001855 904CF4            MOV     DPTR,#g_variable+035H
+001858 7401              MOV     A,#01H
+00185A F0                MOVX    @DPTR,A
+  343: 	}
+00185B 22                RET     
+00185C         ?C0071?KB_PROCESS:
+  344: 	else
+  345: 	{
+  346: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
+00185C 904CF4            MOV     DPTR,#g_variable+035H
+00185F 7404              MOV     A,#04H
+001861 F0                MOVX    @DPTR,A
+  347: 	}
+  348: 
+  349: }
+001862 22                RET     
+----- FUNCTION _kb_combination_key_press (END) -------
+
+
+----- FUNCTION _key_fn_function (BEGIN) -----
+ FILE: 'kb_process.c'
+  354: byte key_fn_function(byte state ,byte key_value)
+  355: {
+;---- Variable 'key_value' assigned to Register 'R5' ----
+;---- Variable 'state' assigned to Register 'R7' ----
+  356: 	byte temp = 0;
+  357: 	byte temp_state = state;
+001863 E4                CLR     A
+001864 904E89            MOV     DPTR,#temp
+001867 F0                MOVX    @DPTR,A
+  358: 	temp = key_value;
+001868 A3                INC     DPTR
+001869 EF                MOV     A,R7
+00186A F0                MOVX    @DPTR,A
+  359: 	if(fn_flag == 1)			// Fn lock
+00186B 904E89            MOV     DPTR,#temp
+00186E ED                MOV     A,R5
+00186F F0                MOVX    @DPTR,A
+  360: 	{
+001870 904DDB            MOV     DPTR,#fn_flag
+001873 E0                MOVX    A,@DPTR
+001874 6401              XRL     A,#01H
+001876 6002              JZ      $ + 4H
+001878 2114              AJMP    ?C0076?KB_PROCESS
+  361: 		
+  362: 		switch (key_value)
+00187A ED                MOV     A,R5
+00187B 24C6              ADD     A,#0C6H
+00187D B40C00            CJNE    A,#0CH,?C0138?KB_PROCESS
+001880         ?C0138?KB_PROCESS:
+001880 4002              JC      $ + 4H
+001882 2114              AJMP    ?C0076?KB_PROCESS
+001884 901892            MOV     DPTR,#01892H
+001887 75F003            MOV     B,#03H
+00188A A4                MUL     AB
+00188B C583              XCH     A,DPH
+00188D 25F0              ADD     A,B
+00188F C583              XCH     A,DPH
+001891 73                JMP     @A+DPTR
+001892         ?C0139?KB_PROCESS:
+001892 0218B6            LJMP    ?C0078?KB_PROCESS
+001895 0218BE            LJMP    ?C0079?KB_PROCESS
+001898 0218C6            LJMP    ?C0080?KB_PROCESS
+00189B 0218CE            LJMP    ?C0081?KB_PROCESS
+00189E 0218D6            LJMP    ?C0082?KB_PROCESS
+0018A1 0218DE            LJMP    ?C0083?KB_PROCESS
+0018A4 0218E6            LJMP    ?C0084?KB_PROCESS
+0018A7 0218EE            LJMP    ?C0085?KB_PROCESS
+0018AA 0218F6            LJMP    ?C0086?KB_PROCESS
+0018AD 0218FE            LJMP    ?C0087?KB_PROCESS
+0018B0 021906            LJMP    ?C0088?KB_PROCESS
+0018B3 02190E            LJMP    ?C0089?KB_PROCESS
+  363: 		{ 
+  364: 			case HID_KEY_F1:
+0018B6         ?C0078?KB_PROCESS:
+  365: 				temp = HID_MULTIKEY_MEDIA;
+0018B6 904E89            MOV     DPTR,#temp
+0018B9 74F1              MOV     A,#0F1H
+0018BB F0                MOVX    @DPTR,A
+  366: 				break;
+0018BC 8056              SJMP    ?C0076?KB_PROCESS
+  367: 			case HID_KEY_F2:
+0018BE         ?C0079?KB_PROCESS:
+  368: 				temp = HID_MULTIKEY_VOL_DOWN;
+0018BE 904E89            MOV     DPTR,#temp
+0018C1 74F6              MOV     A,#0F6H
+0018C3 F0                MOVX    @DPTR,A
+  369: 				break;
+0018C4 804E              SJMP    ?C0076?KB_PROCESS
+  370: 			case HID_KEY_F3:
+0018C6         ?C0080?KB_PROCESS:
+  371: 				temp = HID_MULTIKEY_VOL_UP;
+0018C6 904E89            MOV     DPTR,#temp
+0018C9 74F7              MOV     A,#0F7H
+0018CB F0                MOVX    @DPTR,A
+  372: 				break;
+0018CC 8046              SJMP    ?C0076?KB_PROCESS
+  373: 			case HID_KEY_F4:
+0018CE         ?C0081?KB_PROCESS:
+  374: 				temp = HID_MULTIKEY_MUTE;
+0018CE 904E89            MOV     DPTR,#temp
+0018D1 74F8              MOV     A,#0F8H
+0018D3 F0                MOVX    @DPTR,A
+  375: 				break;
+0018D4 803E              SJMP    ?C0076?KB_PROCESS
+  376: 			case HID_KEY_F5:
+0018D6         ?C0082?KB_PROCESS:
+  377: 				temp = HID_MULTIKEY_PRE_TRACK;
+0018D6 904E89            MOV     DPTR,#temp
+0018D9 74F4              MOV     A,#0F4H
+0018DB F0                MOVX    @DPTR,A
+  378: 				break;
+0018DC 8036              SJMP    ?C0076?KB_PROCESS
+  379: 			case HID_KEY_F6:
+0018DE         ?C0083?KB_PROCESS:
+  380: 				temp = HID_MULTIKEY_NEXT_TRACK;
+0018DE 904E89            MOV     DPTR,#temp
+0018E1 74F5              MOV     A,#0F5H
+0018E3 F0                MOVX    @DPTR,A
+  381: 				break;
+0018E4 802E              SJMP    ?C0076?KB_PROCESS
+  382: 			case HID_KEY_F7:
+0018E6         ?C0084?KB_PROCESS:
+  383: 				temp = HID_MULTIKEY_PALY;
+0018E6 904E89            MOV     DPTR,#temp
+0018E9 74F2              MOV     A,#0F2H
+0018EB F0                MOVX    @DPTR,A
+  384: 				break;
+0018EC 8026              SJMP    ?C0076?KB_PROCESS
+  385: 			case HID_KEY_F8:
+0018EE         ?C0085?KB_PROCESS:
+  386: 				temp = HID_MULTIKEY_STOP;
+0018EE 904E89            MOV     DPTR,#temp
+0018F1 74F3              MOV     A,#0F3H
+0018F3 F0                MOVX    @DPTR,A
+  387: 				break;
+0018F4 801E              SJMP    ?C0076?KB_PROCESS
+  388: 			case HID_KEY_F9:
+0018F6         ?C0086?KB_PROCESS:
+  389: 				temp = HID_MULTIKEY_AC_HOME;
+0018F6 904E89            MOV     DPTR,#temp
+0018F9 74D6              MOV     A,#0D6H
+0018FB F0                MOVX    @DPTR,A
+  390: 				break;
+0018FC 8016              SJMP    ?C0076?KB_PROCESS
+  391: 			case HID_KEY_F10:
+0018FE         ?C0087?KB_PROCESS:
+  392: 				temp = HID_MULTIKEY_MAIL;
+0018FE 904E89            MOV     DPTR,#temp
+001901 74FA              MOV     A,#0FAH
+001903 F0                MOVX    @DPTR,A
+  393: 				break;
+001904 800E              SJMP    ?C0076?KB_PROCESS
+  394: 			case HID_KEY_F11:
+001906         ?C0088?KB_PROCESS:
+  395: 				temp = HID_MULTIKEY_MY_COMPUTER;
+001906 904E89            MOV     DPTR,#temp
+001909 74F9              MOV     A,#0F9H
+00190B F0                MOVX    @DPTR,A
+  396: 				break;
+00190C 8006              SJMP    ?C0076?KB_PROCESS
+  397: 			case HID_KEY_F12:
+00190E         ?C0089?KB_PROCESS:
+  398: 				temp = HID_MULTIKEY_AC_FAVORITES;
+00190E 904E89            MOV     DPTR,#temp
+001911 74D0              MOV     A,#0D0H
+001913 F0                MOVX    @DPTR,A
+  399: 				break;
+  400: 			default :
+  401: 				break;
+  402: 		}
+  403: 	}
+001914         ?C0076?KB_PROCESS:
+  404: 
+  405: 	return temp;
+001914 904E89            MOV     DPTR,#temp
+001917 E0                MOVX    A,@DPTR
+001918 FF                MOV     R7,A
+  406: }
+001919 22                RET     
+----- FUNCTION _key_fn_function (END) -------
 
 
 ----- FUNCTION KS_GetCurrentEvt (BEGIN) -----
@@ -4150,441 +4321,441 @@
   301: {
   302: 	//
   303: 	byte i = 0;
-0018A7 E4                CLR     A
-0018A8 904E12            MOV     DPTR,#i
-0018AB F0                MOVX    @DPTR,A
+00191A E4                CLR     A
+00191B 904E12            MOV     DPTR,#i
+00191E F0                MOVX    @DPTR,A
   304: 	byte j = 0;
-0018AC A3                INC     DPTR
-0018AD F0                MOVX    @DPTR,A
+00191F A3                INC     DPTR
+001920 F0                MOVX    @DPTR,A
   305: 	byte temp = 0;
-0018AE A3                INC     DPTR
-0018AF F0                MOVX    @DPTR,A
+001921 A3                INC     DPTR
+001922 F0                MOVX    @DPTR,A
   306: 	byte flag = 0;
-0018B0 A3                INC     DPTR
-0018B1 F0                MOVX    @DPTR,A
+001923 A3                INC     DPTR
+001924 F0                MOVX    @DPTR,A
   307: 	byte offset = 0;
-0018B2 A3                INC     DPTR
-0018B3 F0                MOVX    @DPTR,A
+001925 A3                INC     DPTR
+001926 F0                MOVX    @DPTR,A
   308: 	byte state = 0;
-0018B4 A3                INC     DPTR
-0018B5 F0                MOVX    @DPTR,A
+001927 A3                INC     DPTR
+001928 F0                MOVX    @DPTR,A
   309: 	byte colCounttemp = 0;
-0018B6 A3                INC     DPTR
-0018B7 F0                MOVX    @DPTR,A
+001929 A3                INC     DPTR
+00192A F0                MOVX    @DPTR,A
   310: 	byte rawSel =0;
-0018B8 A3                INC     DPTR
-0018B9 F0                MOVX    @DPTR,A
+00192B A3                INC     DPTR
+00192C F0                MOVX    @DPTR,A
   311: 	byte keyCounttemp = 0;
-0018BA A3                INC     DPTR
-0018BB F0                MOVX    @DPTR,A
+00192D A3                INC     DPTR
+00192E F0                MOVX    @DPTR,A
   312: 	byte key_value_temp = 0;
-0018BC A3                INC     DPTR
-0018BD F0                MOVX    @DPTR,A
+00192F A3                INC     DPTR
+001930 F0                MOVX    @DPTR,A
   313: 	byte ghost = 0;
-0018BE A3                INC     DPTR
-0018BF F0                MOVX    @DPTR,A
+001931 A3                INC     DPTR
+001932 F0                MOVX    @DPTR,A
   314: 	byte rawCount = 0;
-0018C0 A3                INC     DPTR
-0018C1 F0                MOVX    @DPTR,A
+001933 A3                INC     DPTR
+001934 F0                MOVX    @DPTR,A
   315: 	byte colCount = 0;
-0018C2 A3                INC     DPTR
-0018C3 F0                MOVX    @DPTR,A
+001935 A3                INC     DPTR
+001936 F0                MOVX    @DPTR,A
   316: 	byte keyCount = 0;
-0018C4 A3                INC     DPTR
-0018C5 F0                MOVX    @DPTR,A
+001937 A3                INC     DPTR
+001938 F0                MOVX    @DPTR,A
   317: 	
   318: 	KS_ScanMatrix();
-0018C6 91F9              ACALL   KS_ScanMatrix
+001939 919D              ACALL   KS_ScanMatrix
   319: 
   320: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
-0018C8 7A4D              MOV     R2,#HIGH ksSelMapCheck
-0018CA 79A8              MOV     R1,#LOW ksSelMapCheck
-0018CC 904E3B            MOV     DPTR,#?_compare_str?BYTE+03H
-0018CF 7401              MOV     A,#01H
-0018D1 F0                MOVX    @DPTR,A
-0018D2 A3                INC     DPTR
-0018D3 744D              MOV     A,#HIGH ksSelMapCheck
-0018D5 F0                MOVX    @DPTR,A
-0018D6 A3                INC     DPTR
-0018D7 74A8              MOV     A,#LOW ksSelMapCheck
-0018D9 F0                MOVX    @DPTR,A
-0018DA A3                INC     DPTR
-0018DB 7414              MOV     A,#014H
-0018DD F0                MOVX    @DPTR,A
-0018DE 7B01              MOV     R3,#01H
-0018E0 7A4D              MOV     R2,#HIGH ksSelMapCurr
-0018E2 79BC              MOV     R1,#LOW ksSelMapCurr
-0018E4 51F9              ACALL   _compare_str
-0018E6 EF                MOV     A,R7
-0018E7 6016              JZ      ?C0061?KEYSCAN
-0018E9 7B01              MOV     R3,#01H
-0018EB 7A4D              MOV     R2,#HIGH ksSelMapCurr
-0018ED 79BC              MOV     R1,#LOW ksSelMapCurr
-0018EF 7D14              MOV     R5,#014H
-0018F1 51C9              ACALL   _array_is_empty
-0018F3 EF                MOV     A,R7
-0018F4 7009              JNZ     ?C0061?KEYSCAN
+00193B 7A4D              MOV     R2,#HIGH ksSelMapCheck
+00193D 79A8              MOV     R1,#LOW ksSelMapCheck
+00193F 904E3B            MOV     DPTR,#?_compare_str?BYTE+03H
+001942 7401              MOV     A,#01H
+001944 F0                MOVX    @DPTR,A
+001945 A3                INC     DPTR
+001946 744D              MOV     A,#HIGH ksSelMapCheck
+001948 F0                MOVX    @DPTR,A
+001949 A3                INC     DPTR
+00194A 74A8              MOV     A,#LOW ksSelMapCheck
+00194C F0                MOVX    @DPTR,A
+00194D A3                INC     DPTR
+00194E 7414              MOV     A,#014H
+001950 F0                MOVX    @DPTR,A
+001951 7B01              MOV     R3,#01H
+001953 7A4D              MOV     R2,#HIGH ksSelMapCurr
+001955 79BC              MOV     R1,#LOW ksSelMapCurr
+001957 7154              ACALL   _compare_str
+001959 EF                MOV     A,R7
+00195A 6016              JZ      ?C0061?KEYSCAN
+00195C 7B01              MOV     R3,#01H
+00195E 7A4D              MOV     R2,#HIGH ksSelMapCurr
+001960 79BC              MOV     R1,#LOW ksSelMapCurr
+001962 7D14              MOV     R5,#014H
+001964 7124              ACALL   _array_is_empty
+001966 EF                MOV     A,R7
+001967 7009              JNZ     ?C0061?KEYSCAN
   321: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
   322: 	{
   323: 		g_variable.button_flag |= 0x02;
-0018F6 904CCE            MOV     DPTR,#g_variable+0FH
-0018F9 E0                MOVX    A,@DPTR
-0018FA 4402              ORL     A,#02H
-0018FC F0                MOVX    @DPTR,A
+001969 904CCE            MOV     DPTR,#g_variable+0FH
+00196C E0                MOVX    A,@DPTR
+00196D 4402              ORL     A,#02H
+00196F F0                MOVX    @DPTR,A
   324: 	}
-0018FD 800C              SJMP    ?C0062?KEYSCAN
-0018FF         ?C0061?KEYSCAN:
+001970 800C              SJMP    ?C0062?KEYSCAN
+001972         ?C0061?KEYSCAN:
   325: 	else
   326: 	{	
   327: 		g_variable.button_flag &= 0xFD;
-0018FF 904CCE            MOV     DPTR,#g_variable+0FH
-001902 E0                MOVX    A,@DPTR
-001903 54FD              ANL     A,#0FDH
-001905 F0                MOVX    @DPTR,A
+001972 904CCE            MOV     DPTR,#g_variable+0FH
+001975 E0                MOVX    A,@DPTR
+001976 54FD              ANL     A,#0FDH
+001978 F0                MOVX    @DPTR,A
   328: 		g_variable.button_timer[1] = 0;
-001906 E4                CLR     A
-001907 904CD0            MOV     DPTR,#g_variable+011H
-00190A F0                MOVX    @DPTR,A
+001979 E4                CLR     A
+00197A 904CD0            MOV     DPTR,#g_variable+011H
+00197D F0                MOVX    @DPTR,A
   329: 	}
-00190B         ?C0062?KEYSCAN:
+00197E         ?C0062?KEYSCAN:
   330: 
   331: 	for (i=0; col[i]!=0; i++) {
-00190B E4                CLR     A
-00190C 904E12            MOV     DPTR,#i
-00190F F0                MOVX    @DPTR,A
-001910         ?C0063?KEYSCAN:
-001910 904E12            MOV     DPTR,#i
-001913 E0                MOVX    A,@DPTR
-001914 FF                MOV     R7,A
-001915 90060C            MOV     DPTR,#col
-001918 93                MOVC    A,@A+DPTR
-001919 602F              JZ      ?C0064?KEYSCAN
+00197E E4                CLR     A
+00197F 904E12            MOV     DPTR,#i
+001982 F0                MOVX    @DPTR,A
+001983         ?C0063?KEYSCAN:
+001983 904E12            MOV     DPTR,#i
+001986 E0                MOVX    A,@DPTR
+001987 FF                MOV     R7,A
+001988 90060C            MOV     DPTR,#col
+00198B 93                MOVC    A,@A+DPTR
+00198C 602F              JZ      ?C0064?KEYSCAN
   332: 		temp = ksSelMapCurr[i];
-00191B 74BC              MOV     A,#LOW ksSelMapCurr
-00191D 2F                ADD     A,R7
-00191E F582              MOV     DPL,A
-001920 E4                CLR     A
-001921 344D              ADDC    A,#HIGH ksSelMapCurr
-001923 F583              MOV     DPH,A
-001925 E0                MOVX    A,@DPTR
-001926 904E14            MOV     DPTR,#temp
-001929 F0                MOVX    @DPTR,A
+00198E 74BC              MOV     A,#LOW ksSelMapCurr
+001990 2F                ADD     A,R7
+001991 F582              MOV     DPL,A
+001993 E4                CLR     A
+001994 344D              ADDC    A,#HIGH ksSelMapCurr
+001996 F583              MOV     DPH,A
+001998 E0                MOVX    A,@DPTR
+001999 904E14            MOV     DPTR,#temp
+00199C F0                MOVX    @DPTR,A
   333: 		if (temp!=0) {
-00192A E0                MOVX    A,@DPTR
-00192B FD                MOV     R5,A
-00192C 6014              JZ      ?C0065?KEYSCAN
+00199D E0                MOVX    A,@DPTR
+00199E FD                MOV     R5,A
+00199F 6014              JZ      ?C0065?KEYSCAN
   334: 			colCounttemp++;
-00192E 904E18            MOV     DPTR,#colCounttemp
-001931 E0                MOVX    A,@DPTR
-001932 04                INC     A
-001933 F0                MOVX    @DPTR,A
+0019A1 904E18            MOV     DPTR,#colCounttemp
+0019A4 E0                MOVX    A,@DPTR
+0019A5 04                INC     A
+0019A6 F0                MOVX    @DPTR,A
   335: 			rawSel = temp|rawSel;
-001934 A3                INC     DPTR
-001935 E0                MOVX    A,@DPTR
-001936 FE                MOV     R6,A
-001937 ED                MOV     A,R5
-001938 4E                ORL     A,R6
-001939 F0                MOVX    @DPTR,A
+0019A7 A3                INC     DPTR
+0019A8 E0                MOVX    A,@DPTR
+0019A9 FE                MOV     R6,A
+0019AA ED                MOV     A,R5
+0019AB 4E                ORL     A,R6
+0019AC F0                MOVX    @DPTR,A
   336: 			keyCounttemp += bit_count(temp);
-00193A AF05              MOV     R7,AR5
-00193C 51A3              ACALL   _bit_count
-00193E A3                INC     DPTR
-00193F E0                MOVX    A,@DPTR
-001940 2F                ADD     A,R7
-001941 F0                MOVX    @DPTR,A
+0019AD AF05              MOV     R7,AR5
+0019AF 7116              ACALL   _bit_count
+0019B1 A3                INC     DPTR
+0019B2 E0                MOVX    A,@DPTR
+0019B3 2F                ADD     A,R7
+0019B4 F0                MOVX    @DPTR,A
   337: 		}
   338: 	}
-001942         ?C0065?KEYSCAN:
-001942 904E12            MOV     DPTR,#i
-001945 E0                MOVX    A,@DPTR
-001946 04                INC     A
-001947 F0                MOVX    @DPTR,A
-001948 80C6              SJMP    ?C0063?KEYSCAN
-00194A         ?C0064?KEYSCAN:
+0019B5         ?C0065?KEYSCAN:
+0019B5 904E12            MOV     DPTR,#i
+0019B8 E0                MOVX    A,@DPTR
+0019B9 04                INC     A
+0019BA F0                MOVX    @DPTR,A
+0019BB 80C6              SJMP    ?C0063?KEYSCAN
+0019BD         ?C0064?KEYSCAN:
   339: 	keyCount = keyCounttemp;
-00194A 904E1A            MOV     DPTR,#keyCounttemp
-00194D E0                MOVX    A,@DPTR
-00194E 904E1F            MOV     DPTR,#keyCount
-001951 F0                MOVX    @DPTR,A
+0019BD 904E1A            MOV     DPTR,#keyCounttemp
+0019C0 E0                MOVX    A,@DPTR
+0019C1 904E1F            MOV     DPTR,#keyCount
+0019C4 F0                MOVX    @DPTR,A
   340: 	colCount = colCounttemp;
-001952 904E18            MOV     DPTR,#colCounttemp
-001955 E0                MOVX    A,@DPTR
-001956 904E1E            MOV     DPTR,#colCount
-001959 F0                MOVX    @DPTR,A
+0019C5 904E18            MOV     DPTR,#colCounttemp
+0019C8 E0                MOVX    A,@DPTR
+0019C9 904E1E            MOV     DPTR,#colCount
+0019CC F0                MOVX    @DPTR,A
   341: 	rawCount = bit_count(rawSel);
-00195A 904E19            MOV     DPTR,#rawSel
-00195D E0                MOVX    A,@DPTR
-00195E FF                MOV     R7,A
-00195F 51A3              ACALL   _bit_count
-001961 904E1D            MOV     DPTR,#rawCount
-001964 EF                MOV     A,R7
-001965 F0                MOVX    @DPTR,A
+0019CD 904E19            MOV     DPTR,#rawSel
+0019D0 E0                MOVX    A,@DPTR
+0019D1 FF                MOV     R7,A
+0019D2 7116              ACALL   _bit_count
+0019D4 904E1D            MOV     DPTR,#rawCount
+0019D7 EF                MOV     A,R7
+0019D8 F0                MOVX    @DPTR,A
   342: 	if (keyCount >2 && keyCount > MAX(colCount, rawCount)) {
-001966 904E1F            MOV     DPTR,#keyCount
-001969 E0                MOVX    A,@DPTR
-00196A FF                MOV     R7,A
-00196B D3                SETB    C
-00196C 9402              SUBB    A,#02H
-00196E 401D              JC      ?C0067?KEYSCAN
-001970 904E1D            MOV     DPTR,#rawCount
-001973 E0                MOVX    A,@DPTR
-001974 FE                MOV     R6,A
-001975 A3                INC     DPTR
-001976 E0                MOVX    A,@DPTR
-001977 FD                MOV     R5,A
-001978 D3                SETB    C
-001979 9E                SUBB    A,R6
-00197A 4004              JC      ?C0068?KEYSCAN
-00197C AE05              MOV     R6,AR5
-00197E 8000              SJMP    ?C0069?KEYSCAN
-001980         ?C0068?KEYSCAN:
-001980         ?C0069?KEYSCAN:
-001980 EF                MOV     A,R7
-001981 D3                SETB    C
-001982 9E                SUBB    A,R6
-001983 4008              JC      ?C0067?KEYSCAN
+0019D9 904E1F            MOV     DPTR,#keyCount
+0019DC E0                MOVX    A,@DPTR
+0019DD FF                MOV     R7,A
+0019DE D3                SETB    C
+0019DF 9402              SUBB    A,#02H
+0019E1 401D              JC      ?C0067?KEYSCAN
+0019E3 904E1D            MOV     DPTR,#rawCount
+0019E6 E0                MOVX    A,@DPTR
+0019E7 FE                MOV     R6,A
+0019E8 A3                INC     DPTR
+0019E9 E0                MOVX    A,@DPTR
+0019EA FD                MOV     R5,A
+0019EB D3                SETB    C
+0019EC 9E                SUBB    A,R6
+0019ED 4004              JC      ?C0068?KEYSCAN
+0019EF AE05              MOV     R6,AR5
+0019F1 8000              SJMP    ?C0069?KEYSCAN
+0019F3         ?C0068?KEYSCAN:
+0019F3         ?C0069?KEYSCAN:
+0019F3 EF                MOV     A,R7
+0019F4 D3                SETB    C
+0019F5 9E                SUBB    A,R6
+0019F6 4008              JC      ?C0067?KEYSCAN
   343: 		ghost = 1;
-001985 904E1C            MOV     DPTR,#ghost
-001988 7401              MOV     A,#01H
-00198A F0                MOVX    @DPTR,A
+0019F8 904E1C            MOV     DPTR,#ghost
+0019FB 7401              MOV     A,#01H
+0019FD F0                MOVX    @DPTR,A
   344: 	}
-00198B 8005              SJMP    ?C0070?KEYSCAN
-00198D         ?C0067?KEYSCAN:
+0019FE 8005              SJMP    ?C0070?KEYSCAN
+001A00         ?C0067?KEYSCAN:
   345: 	else {
   346: 		ghost = 0;
-00198D E4                CLR     A
-00198E 904E1C            MOV     DPTR,#ghost
-001991 F0                MOVX    @DPTR,A
+001A00 E4                CLR     A
+001A01 904E1C            MOV     DPTR,#ghost
+001A04 F0                MOVX    @DPTR,A
   347: 	}
-001992         ?C0070?KEYSCAN:
+001A05         ?C0070?KEYSCAN:
   348: 	
   349: 	for (i=0; col[i]!=0; i++)
-001992 E4                CLR     A
-001993 904E12            MOV     DPTR,#i
-001996 F0                MOVX    @DPTR,A
-001997         ?C0071?KEYSCAN:
-001997 904E12            MOV     DPTR,#i
-00199A E0                MOVX    A,@DPTR
-00199B FF                MOV     R7,A
-00199C 90060C            MOV     DPTR,#col
-00199F 93                MOVC    A,@A+DPTR
-0019A0 7002              JNZ     $ + 4H
-0019A2 4177              AJMP    ?C0072?KEYSCAN
+001A05 E4                CLR     A
+001A06 904E12            MOV     DPTR,#i
+001A09 F0                MOVX    @DPTR,A
+001A0A         ?C0071?KEYSCAN:
+001A0A 904E12            MOV     DPTR,#i
+001A0D E0                MOVX    A,@DPTR
+001A0E FF                MOV     R7,A
+001A0F 90060C            MOV     DPTR,#col
+001A12 93                MOVC    A,@A+DPTR
+001A13 7002              JNZ     $ + 4H
+001A15 41EA              AJMP    ?C0072?KEYSCAN
   350: 	{
   351: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
-0019A4 7493              MOV     A,#LOW ksSelMapOld
-0019A6 2F                ADD     A,R7
-0019A7 F582              MOV     DPL,A
-0019A9 E4                CLR     A
-0019AA 344D              ADDC    A,#HIGH ksSelMapOld
-0019AC F583              MOV     DPH,A
-0019AE E0                MOVX    A,@DPTR
-0019AF FE                MOV     R6,A
-0019B0 74BC              MOV     A,#LOW ksSelMapCurr
-0019B2 2F                ADD     A,R7
-0019B3 F582              MOV     DPL,A
-0019B5 E4                CLR     A
-0019B6 344D              ADDC    A,#HIGH ksSelMapCurr
-0019B8 F583              MOV     DPH,A
-0019BA E0                MOVX    A,@DPTR
-0019BB 6E                XRL     A,R6
-0019BC 904E14            MOV     DPTR,#temp
-0019BF F0                MOVX    @DPTR,A
+001A17 7493              MOV     A,#LOW ksSelMapOld
+001A19 2F                ADD     A,R7
+001A1A F582              MOV     DPL,A
+001A1C E4                CLR     A
+001A1D 344D              ADDC    A,#HIGH ksSelMapOld
+001A1F F583              MOV     DPH,A
+001A21 E0                MOVX    A,@DPTR
+001A22 FE                MOV     R6,A
+001A23 74BC              MOV     A,#LOW ksSelMapCurr
+001A25 2F                ADD     A,R7
+001A26 F582              MOV     DPL,A
+001A28 E4                CLR     A
+001A29 344D              ADDC    A,#HIGH ksSelMapCurr
+001A2B F583              MOV     DPH,A
+001A2D E0                MOVX    A,@DPTR
+001A2E 6E                XRL     A,R6
+001A2F 904E14            MOV     DPTR,#temp
+001A32 F0                MOVX    @DPTR,A
   352: 		state = ksSelMapCurr[i];
-0019C0 904E12            MOV     DPTR,#i
-0019C3 E0                MOVX    A,@DPTR
-0019C4 FF                MOV     R7,A
-0019C5 24BC              ADD     A,#LOW ksSelMapCurr
-0019C7 F582              MOV     DPL,A
-0019C9 E4                CLR     A
-0019CA 344D              ADDC    A,#HIGH ksSelMapCurr
-0019CC F583              MOV     DPH,A
-0019CE E0                MOVX    A,@DPTR
-0019CF 904E17            MOV     DPTR,#state
-0019D2 F0                MOVX    @DPTR,A
+001A33 904E12            MOV     DPTR,#i
+001A36 E0                MOVX    A,@DPTR
+001A37 FF                MOV     R7,A
+001A38 24BC              ADD     A,#LOW ksSelMapCurr
+001A3A F582              MOV     DPL,A
+001A3C E4                CLR     A
+001A3D 344D              ADDC    A,#HIGH ksSelMapCurr
+001A3F F583              MOV     DPH,A
+001A41 E0                MOVX    A,@DPTR
+001A42 904E17            MOV     DPTR,#state
+001A45 F0                MOVX    @DPTR,A
   353: 		if (temp == 0) 
-0019D3 904E14            MOV     DPTR,#temp
-0019D6 E0                MOVX    A,@DPTR
-0019D7 7004              JNZ     ?C0074?KEYSCAN
+001A46 904E14            MOV     DPTR,#temp
+001A49 E0                MOVX    A,@DPTR
+001A4A 7004              JNZ     ?C0074?KEYSCAN
   354: 		{
   355: 			continue;
-0019D9 416F              AJMP    ?C0073?KEYSCAN
+001A4C 41E2              AJMP    ?C0073?KEYSCAN
   356: 		}
-0019DB 416F              AJMP    ?C0073?KEYSCAN
-0019DD         ?C0074?KEYSCAN:
+001A4E 41E2              AJMP    ?C0073?KEYSCAN
+001A50         ?C0074?KEYSCAN:
   357: 		else 
   358: 		{
   359: 
   360: 			if (ghost) 
-0019DD 904E1C            MOV     DPTR,#ghost
-0019E0 E0                MOVX    A,@DPTR
-0019E1 6007              JZ      ?C0076?KEYSCAN
+001A50 904E1C            MOV     DPTR,#ghost
+001A53 E0                MOVX    A,@DPTR
+001A54 6007              JZ      ?C0076?KEYSCAN
   361: 				return NULL;
-0019E3 7B00              MOV     R3,#00H
-0019E5 7A00              MOV     R2,#00H
-0019E7 7900              MOV     R1,#00H
-0019E9 22                RET     
-0019EA         ?C0076?KEYSCAN:
+001A56 7B00              MOV     R3,#00H
+001A58 7A00              MOV     R2,#00H
+001A5A 7900              MOV     R1,#00H
+001A5C 22                RET     
+001A5D         ?C0076?KEYSCAN:
   362: 			ksSelMapOld[i] = ksSelMapCurr[i];
-0019EA 74BC              MOV     A,#LOW ksSelMapCurr
-0019EC 2F                ADD     A,R7
-0019ED F582              MOV     DPL,A
-0019EF E4                CLR     A
-0019F0 344D              ADDC    A,#HIGH ksSelMapCurr
-0019F2 F583              MOV     DPH,A
-0019F4 E0                MOVX    A,@DPTR
-0019F5 FE                MOV     R6,A
-0019F6 7493              MOV     A,#LOW ksSelMapOld
-0019F8 2F                ADD     A,R7
-0019F9 F582              MOV     DPL,A
-0019FB E4                CLR     A
-0019FC 344D              ADDC    A,#HIGH ksSelMapOld
-0019FE F583              MOV     DPH,A
-001A00 EE                MOV     A,R6
-001A01 F0                MOVX    @DPTR,A
+001A5D 74BC              MOV     A,#LOW ksSelMapCurr
+001A5F 2F                ADD     A,R7
+001A60 F582              MOV     DPL,A
+001A62 E4                CLR     A
+001A63 344D              ADDC    A,#HIGH ksSelMapCurr
+001A65 F583              MOV     DPH,A
+001A67 E0                MOVX    A,@DPTR
+001A68 FE                MOV     R6,A
+001A69 7493              MOV     A,#LOW ksSelMapOld
+001A6B 2F                ADD     A,R7
+001A6C F582              MOV     DPL,A
+001A6E E4                CLR     A
+001A6F 344D              ADDC    A,#HIGH ksSelMapOld
+001A71 F583              MOV     DPH,A
+001A73 EE                MOV     A,R6
+001A74 F0                MOVX    @DPTR,A
   363: 			for (j = 0 ; j<8 ; j++) 
-001A02 E4                CLR     A
-001A03 904E13            MOV     DPTR,#j
-001A06 F0                MOVX    @DPTR,A
-001A07         ?C0078?KEYSCAN:
-001A07 904E13            MOV     DPTR,#j
-001A0A E0                MOVX    A,@DPTR
-001A0B FF                MOV     R7,A
-001A0C C3                CLR     C
-001A0D 9408              SUBB    A,#08H
-001A0F 5058              JNC     ?C0079?KEYSCAN
+001A75 E4                CLR     A
+001A76 904E13            MOV     DPTR,#j
+001A79 F0                MOVX    @DPTR,A
+001A7A         ?C0078?KEYSCAN:
+001A7A 904E13            MOV     DPTR,#j
+001A7D E0                MOVX    A,@DPTR
+001A7E FF                MOV     R7,A
+001A7F C3                CLR     C
+001A80 9408              SUBB    A,#08H
+001A82 5058              JNC     ?C0079?KEYSCAN
   364: 			{
   365: 				if (temp&1)
-001A11 A3                INC     DPTR
-001A12 E0                MOVX    A,@DPTR
-001A13 30E03B            JNB     ACC.0,?C0081?KEYSCAN
+001A84 A3                INC     DPTR
+001A85 E0                MOVX    A,@DPTR
+001A86 30E03B            JNB     ACC.0,?C0081?KEYSCAN
   366: 				{
   367: 					offset = i<<3 |j;
-001A16 904E12            MOV     DPTR,#i
-001A19 E0                MOVX    A,@DPTR
-001A1A FE                MOV     R6,A
-001A1B 33                RLC     A
-001A1C 33                RLC     A
-001A1D 33                RLC     A
-001A1E 54F8              ANL     A,#0F8H
-001A20 FE                MOV     R6,A
-001A21 EF                MOV     A,R7
-001A22 4E                ORL     A,R6
-001A23 904E16            MOV     DPTR,#offset
-001A26 F0                MOVX    @DPTR,A
+001A89 904E12            MOV     DPTR,#i
+001A8C E0                MOVX    A,@DPTR
+001A8D FE                MOV     R6,A
+001A8E 33                RLC     A
+001A8F 33                RLC     A
+001A90 33                RLC     A
+001A91 54F8              ANL     A,#0F8H
+001A93 FE                MOV     R6,A
+001A94 EF                MOV     A,R7
+001A95 4E                ORL     A,R6
+001A96 904E16            MOV     DPTR,#offset
+001A99 F0                MOVX    @DPTR,A
   368: 					key_value_temp = key_fn_function(state,ksMap[offset]);
-001A27 A3                INC     DPTR
-001A28 E0                MOVX    A,@DPTR
-001A29 FF                MOV     R7,A
-001A2A 904E16            MOV     DPTR,#offset
-001A2D E0                MOVX    A,@DPTR
-001A2E 900621            MOV     DPTR,#ksMap
-001A31 93                MOVC    A,@A+DPTR
-001A32 FD                MOV     R5,A
-001A33 9142              ACALL   _key_fn_function
-001A35 904E1B            MOV     DPTR,#key_value_temp
-001A38 EF                MOV     A,R7
-001A39 F0                MOVX    @DPTR,A
+001A9A A3                INC     DPTR
+001A9B E0                MOVX    A,@DPTR
+001A9C FF                MOV     R7,A
+001A9D 904E16            MOV     DPTR,#offset
+001AA0 E0                MOVX    A,@DPTR
+001AA1 900621            MOV     DPTR,#ksMap
+001AA4 93                MOVC    A,@A+DPTR
+001AA5 FD                MOV     R5,A
+001AA6 1163              ACALL   _key_fn_function
+001AA8 904E1B            MOV     DPTR,#key_value_temp
+001AAB EF                MOV     A,R7
+001AAC F0                MOVX    @DPTR,A
   369: 					if (state & 1)
-001A3A 904E17            MOV     DPTR,#state
-001A3D E0                MOVX    A,@DPTR
-001A3E 30E009            JNB     ACC.0,?C0082?KEYSCAN
+001AAD 904E17            MOV     DPTR,#state
+001AB0 E0                MOVX    A,@DPTR
+001AB1 30E009            JNB     ACC.0,?C0082?KEYSCAN
   370: 					{
   371: 						keyIn(key_value_temp);
-001A41 904E1B            MOV     DPTR,#key_value_temp
-001A44 E0                MOVX    A,@DPTR
-001A45 FF                MOV     R7,A
-001A46 7143              ACALL   _keyIn
+001AB4 904E1B            MOV     DPTR,#key_value_temp
+001AB7 E0                MOVX    A,@DPTR
+001AB8 FF                MOV     R7,A
+001AB9 719E              ACALL   _keyIn
   372: 					}
-001A48 8007              SJMP    ?C0081?KEYSCAN
-001A4A         ?C0082?KEYSCAN:
+001ABB 8007              SJMP    ?C0081?KEYSCAN
+001ABD         ?C0082?KEYSCAN:
   373: 					else
   374: 					{
   375: 						keyOut(key_value_temp);
-001A4A 904E1B            MOV     DPTR,#key_value_temp
-001A4D E0                MOVX    A,@DPTR
-001A4E FF                MOV     R7,A
-001A4F 7199              ACALL   _keyOut
+001ABD 904E1B            MOV     DPTR,#key_value_temp
+001AC0 E0                MOVX    A,@DPTR
+001AC1 FF                MOV     R7,A
+001AC2 71F4              ACALL   _keyOut
   376: 					}
   377: 				}
-001A51         ?C0081?KEYSCAN:
+001AC4         ?C0081?KEYSCAN:
   378: 				temp = temp >>1;
-001A51 904E14            MOV     DPTR,#temp
-001A54 E0                MOVX    A,@DPTR
-001A55 FF                MOV     R7,A
-001A56 C3                CLR     C
-001A57 13                RRC     A
-001A58 F0                MOVX    @DPTR,A
+001AC4 904E14            MOV     DPTR,#temp
+001AC7 E0                MOVX    A,@DPTR
+001AC8 FF                MOV     R7,A
+001AC9 C3                CLR     C
+001ACA 13                RRC     A
+001ACB F0                MOVX    @DPTR,A
   379: 				state = state>>1;
-001A59 904E17            MOV     DPTR,#state
-001A5C E0                MOVX    A,@DPTR
-001A5D FF                MOV     R7,A
-001A5E C3                CLR     C
-001A5F 13                RRC     A
-001A60 F0                MOVX    @DPTR,A
+001ACC 904E17            MOV     DPTR,#state
+001ACF E0                MOVX    A,@DPTR
+001AD0 FF                MOV     R7,A
+001AD1 C3                CLR     C
+001AD2 13                RRC     A
+001AD3 F0                MOVX    @DPTR,A
   380: 			}
-001A61 904E13            MOV     DPTR,#j
-001A64 E0                MOVX    A,@DPTR
-001A65 04                INC     A
-001A66 F0                MOVX    @DPTR,A
-001A67 809E              SJMP    ?C0078?KEYSCAN
-001A69         ?C0079?KEYSCAN:
+001AD4 904E13            MOV     DPTR,#j
+001AD7 E0                MOVX    A,@DPTR
+001AD8 04                INC     A
+001AD9 F0                MOVX    @DPTR,A
+001ADA 809E              SJMP    ?C0078?KEYSCAN
+001ADC         ?C0079?KEYSCAN:
   381: 			flag = 1;
-001A69 904E15            MOV     DPTR,#flag
-001A6C 7401              MOV     A,#01H
-001A6E F0                MOVX    @DPTR,A
+001ADC 904E15            MOV     DPTR,#flag
+001ADF 7401              MOV     A,#01H
+001AE1 F0                MOVX    @DPTR,A
   382: 		}
   383: 	}
-001A6F         ?C0073?KEYSCAN:
-001A6F 904E12            MOV     DPTR,#i
-001A72 E0                MOVX    A,@DPTR
-001A73 04                INC     A
-001A74 F0                MOVX    @DPTR,A
-001A75 2197              AJMP    ?C0071?KEYSCAN
-001A77         ?C0072?KEYSCAN:
+001AE2         ?C0073?KEYSCAN:
+001AE2 904E12            MOV     DPTR,#i
+001AE5 E0                MOVX    A,@DPTR
+001AE6 04                INC     A
+001AE7 F0                MOVX    @DPTR,A
+001AE8 410A              AJMP    ?C0071?KEYSCAN
+001AEA         ?C0072?KEYSCAN:
   384: 	
   385: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
-001A77 904DE4            MOV     DPTR,#mult_key_status
-001A7A E0                MOVX    A,@DPTR
-001A7B B4030A            CJNE    A,#03H,?C0084?KEYSCAN
-001A7E 904DD8            MOV     DPTR,#standard_key_release_flag
-001A81 E0                MOVX    A,@DPTR
-001A82 B40103            CJNE    A,#01H,?C0084?KEYSCAN
+001AEA 904DE4            MOV     DPTR,#mult_key_status
+001AED E0                MOVX    A,@DPTR
+001AEE B4030A            CJNE    A,#03H,?C0084?KEYSCAN
+001AF1 904DD8            MOV     DPTR,#standard_key_release_flag
+001AF4 E0                MOVX    A,@DPTR
+001AF5 B40103            CJNE    A,#01H,?C0084?KEYSCAN
   386: 	{
   387: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
-001A85 7402              MOV     A,#02H
-001A87 F0                MOVX    @DPTR,A
+001AF8 7402              MOV     A,#02H
+001AFA F0                MOVX    @DPTR,A
   388: 	}
-001A88         ?C0084?KEYSCAN:
+001AFB         ?C0084?KEYSCAN:
   389: 
   390: 	
   391: 	if (flag || standard_key_release_flag == 2) 
-001A88 904E15            MOV     DPTR,#flag
-001A8B E0                MOVX    A,@DPTR
-001A8C 7007              JNZ     ?C0086?KEYSCAN
-001A8E 904DD8            MOV     DPTR,#standard_key_release_flag
-001A91 E0                MOVX    A,@DPTR
-001A92 B40207            CJNE    A,#02H,?C0085?KEYSCAN
-001A95         ?C0086?KEYSCAN:
+001AFB 904E15            MOV     DPTR,#flag
+001AFE E0                MOVX    A,@DPTR
+001AFF 7007              JNZ     ?C0086?KEYSCAN
+001B01 904DD8            MOV     DPTR,#standard_key_release_flag
+001B04 E0                MOVX    A,@DPTR
+001B05 B40207            CJNE    A,#02H,?C0085?KEYSCAN
+001B08         ?C0086?KEYSCAN:
   392: 	{
   393: 		return &ksEvtPool;
-001A95 7B01              MOV     R3,#01H
-001A97 7A4E              MOV     R2,#HIGH ksEvtPool
-001A99 7931              MOV     R1,#LOW ksEvtPool
-001A9B 22                RET     
+001B08 7B01              MOV     R3,#01H
+001B0A 7A4E              MOV     R2,#HIGH ksEvtPool
+001B0C 7931              MOV     R1,#LOW ksEvtPool
+001B0E 22                RET     
   394: 	}
-001A9C         ?C0085?KEYSCAN:
+001B0F         ?C0085?KEYSCAN:
   395: 	else
   396: 	{
   397: 		return NULL;
-001A9C 7B00              MOV     R3,#00H
-001A9E 7A00              MOV     R2,#00H
-001AA0 7900              MOV     R1,#00H
+001B0F 7B00              MOV     R3,#00H
+001B11 7A00              MOV     R2,#00H
+001B13 7900              MOV     R1,#00H
   398: 	}
   399: 	
   400: 
   401: }
-001AA2 22                RET     
+001B15 22                RET     
 ----- FUNCTION KS_GetCurrentEvt (END) -------
 
 
@@ -4596,157 +4767,136 @@
    26: 	unsigned char c;
    27: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-001AA3 E4                CLR     A
-001AA4 FE                MOV     R6,A
-001AA5         ?C0001?KEYSCAN:
-001AA5 EF                MOV     A,R7
-001AA6 6006              JZ      ?C0002?KEYSCAN
+001B16 E4                CLR     A
+001B17 FE                MOV     R6,A
+001B18         ?C0001?KEYSCAN:
+001B18 EF                MOV     A,R7
+001B19 6006              JZ      ?C0002?KEYSCAN
    28:     	v &= v - 1;
-001AA8 14                DEC     A
-001AA9 5F                ANL     A,R7
-001AAA FF                MOV     R7,A
+001B1B 14                DEC     A
+001B1C 5F                ANL     A,R7
+001B1D FF                MOV     R7,A
    29:     }
-001AAB 0E                INC     R6
-001AAC 80F7              SJMP    ?C0001?KEYSCAN
-001AAE         ?C0002?KEYSCAN:
+001B1E 0E                INC     R6
+001B1F 80F7              SJMP    ?C0001?KEYSCAN
+001B21         ?C0002?KEYSCAN:
    30:     return c;
-001AAE AF06              MOV     R7,AR6
+001B21 AF06              MOV     R7,AR6
    31: }
-001AB0 22                RET     
+001B23 22                RET     
 ----- FUNCTION _bit_count (END) -------
 
 
------ FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-001AB1 904B9C            MOV     DPTR,#ipcTxWritePtr
-001AB4 E0                MOVX    A,@DPTR
-001AB5 FE                MOV     R6,A
-001AB6 A3                INC     DPTR
-001AB7 E0                MOVX    A,@DPTR
-001AB8 FF                MOV     R7,A
-001AB9 904B9A            MOV     DPTR,#ipcTxReadPtr
-001ABC E0                MOVX    A,@DPTR
-001ABD B50607            CJNE    A,AR6,?C0021?IPC
-001AC0 A3                INC     DPTR
-001AC1 E0                MOVX    A,@DPTR
-001AC2 B50702            CJNE    A,AR7,?C0021?IPC
-001AC5 D3                SETB    C
-001AC6 22                RET     
-001AC7         ?C0021?IPC:
-001AC7 C3                CLR     C
-001AC8 22                RET     
------ FUNCTION IPC_IsTxBuffEmpty (END) -------
-
-
 ----- FUNCTION _array_is_empty (BEGIN) -----
  FILE: 'keyscan.c'
   288: byte array_is_empty(byte * str1,byte len)
   289: {
-001AC9 904E78            MOV     DPTR,#str1
-001ACC EB                MOV     A,R3
-001ACD F0                MOVX    @DPTR,A
-001ACE A3                INC     DPTR
-001ACF EA                MOV     A,R2
-001AD0 F0                MOVX    @DPTR,A
-001AD1 A3                INC     DPTR
-001AD2 E9                MOV     A,R1
-001AD3 F0                MOVX    @DPTR,A
+001B24 904E78            MOV     DPTR,#str1
+001B27 EB                MOV     A,R3
+001B28 F0                MOVX    @DPTR,A
+001B29 A3                INC     DPTR
+001B2A EA                MOV     A,R2
+001B2B F0                MOVX    @DPTR,A
+001B2C A3                INC     DPTR
+001B2D E9                MOV     A,R1
+001B2E F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R5' ----
   290: 	byte i;
   291: 	for (i=0;i < len;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-001AD4 E4                CLR     A
-001AD5 FF                MOV     R7,A
-001AD6         ?C0056?KEYSCAN:
-001AD6 EF                MOV     A,R7
-001AD7 C3                CLR     C
-001AD8 9D                SUBB    A,R5
-001AD9 501B              JNC     ?C0057?KEYSCAN
+001B2F E4                CLR     A
+001B30 FF                MOV     R7,A
+001B31         ?C0056?KEYSCAN:
+001B31 EF                MOV     A,R7
+001B32 C3                CLR     C
+001B33 9D                SUBB    A,R5
+001B34 501B              JNC     ?C0057?KEYSCAN
   292: 	{
   293: 		if (str1[i] != 0)
-001ADB 904E78            MOV     DPTR,#str1
-001ADE E0                MOVX    A,@DPTR
-001ADF FB                MOV     R3,A
-001AE0 A3                INC     DPTR
-001AE1 E0                MOVX    A,@DPTR
-001AE2 FA                MOV     R2,A
-001AE3 A3                INC     DPTR
-001AE4 E0                MOVX    A,@DPTR
-001AE5 F9                MOV     R1,A
-001AE6 8F82              MOV     DPL,R7
-001AE8 758300            MOV     DPH,#00H
-001AEB 1203CF            LCALL   ?C?CLDOPTR
-001AEE 6003              JZ      ?C0058?KEYSCAN
+001B36 904E78            MOV     DPTR,#str1
+001B39 E0                MOVX    A,@DPTR
+001B3A FB                MOV     R3,A
+001B3B A3                INC     DPTR
+001B3C E0                MOVX    A,@DPTR
+001B3D FA                MOV     R2,A
+001B3E A3                INC     DPTR
+001B3F E0                MOVX    A,@DPTR
+001B40 F9                MOV     R1,A
+001B41 8F82              MOV     DPL,R7
+001B43 758300            MOV     DPH,#00H
+001B46 1203CF            LCALL   ?C?CLDOPTR
+001B49 6003              JZ      ?C0058?KEYSCAN
   294: 			return 0x00;
-001AF0 7F00              MOV     R7,#00H
-001AF2 22                RET     
+001B4B 7F00              MOV     R7,#00H
+001B4D 22                RET     
   295: 	}
-001AF3         ?C0058?KEYSCAN:
-001AF3 0F                INC     R7
-001AF4 80E0              SJMP    ?C0056?KEYSCAN
-001AF6         ?C0057?KEYSCAN:
+001B4E         ?C0058?KEYSCAN:
+001B4E 0F                INC     R7
+001B4F 80E0              SJMP    ?C0056?KEYSCAN
+001B51         ?C0057?KEYSCAN:
   296: 	return 0x01;
-001AF6 7F01              MOV     R7,#01H
+001B51 7F01              MOV     R7,#01H
   297: }
-001AF8 22                RET     
+001B53 22                RET     
 ----- FUNCTION _array_is_empty (END) -------
 
 
 ----- FUNCTION _compare_str (BEGIN) -----
-001AF9 904E38            MOV     DPTR,#str1
-001AFC EB                MOV     A,R3
-001AFD F0                MOVX    @DPTR,A
-001AFE A3                INC     DPTR
-001AFF EA                MOV     A,R2
-001B00 F0                MOVX    @DPTR,A
-001B01 A3                INC     DPTR
-001B02 E9                MOV     A,R1
-001B03 F0                MOVX    @DPTR,A
+001B54 904E38            MOV     DPTR,#str1
+001B57 EB                MOV     A,R3
+001B58 F0                MOVX    @DPTR,A
+001B59 A3                INC     DPTR
+001B5A EA                MOV     A,R2
+001B5B F0                MOVX    @DPTR,A
+001B5C A3                INC     DPTR
+001B5D E9                MOV     A,R1
+001B5E F0                MOVX    @DPTR,A
 ;---- Variable 'i' assigned to Register 'R7' ----
-001B04 E4                CLR     A
-001B05 FF                MOV     R7,A
-001B06         ?C0021?UTILITIES:
-001B06 904E3E            MOV     DPTR,#len
-001B09 E0                MOVX    A,@DPTR
-001B0A FE                MOV     R6,A
-001B0B EF                MOV     A,R7
-001B0C C3                CLR     C
-001B0D 9E                SUBB    A,R6
-001B0E 5030              JNC     ?C0022?UTILITIES
-001B10 904E3B            MOV     DPTR,#str2
-001B13 E0                MOVX    A,@DPTR
-001B14 FB                MOV     R3,A
-001B15 A3                INC     DPTR
-001B16 E0                MOVX    A,@DPTR
-001B17 FA                MOV     R2,A
-001B18 A3                INC     DPTR
-001B19 E0                MOVX    A,@DPTR
-001B1A F9                MOV     R1,A
-001B1B 8F82              MOV     DPL,R7
-001B1D 758300            MOV     DPH,#00H
-001B20 1203CF            LCALL   ?C?CLDOPTR
-001B23 FE                MOV     R6,A
-001B24 904E38            MOV     DPTR,#str1
-001B27 E0                MOVX    A,@DPTR
-001B28 FB                MOV     R3,A
-001B29 A3                INC     DPTR
-001B2A E0                MOVX    A,@DPTR
-001B2B FA                MOV     R2,A
-001B2C A3                INC     DPTR
-001B2D E0                MOVX    A,@DPTR
-001B2E F9                MOV     R1,A
-001B2F 8F82              MOV     DPL,R7
-001B31 758300            MOV     DPH,#00H
-001B34 1203CF            LCALL   ?C?CLDOPTR
-001B37 6E                XRL     A,R6
-001B38 6003              JZ      ?C0023?UTILITIES
-001B3A 7F00              MOV     R7,#00H
-001B3C 22                RET     
-001B3D         ?C0023?UTILITIES:
-001B3D 0F                INC     R7
-001B3E 80C6              SJMP    ?C0021?UTILITIES
-001B40         ?C0022?UTILITIES:
-001B40 7F01              MOV     R7,#01H
-001B42 22                RET     
+001B5F E4                CLR     A
+001B60 FF                MOV     R7,A
+001B61         ?C0021?UTILITIES:
+001B61 904E3E            MOV     DPTR,#len
+001B64 E0                MOVX    A,@DPTR
+001B65 FE                MOV     R6,A
+001B66 EF                MOV     A,R7
+001B67 C3                CLR     C
+001B68 9E                SUBB    A,R6
+001B69 5030              JNC     ?C0022?UTILITIES
+001B6B 904E3B            MOV     DPTR,#str2
+001B6E E0                MOVX    A,@DPTR
+001B6F FB                MOV     R3,A
+001B70 A3                INC     DPTR
+001B71 E0                MOVX    A,@DPTR
+001B72 FA                MOV     R2,A
+001B73 A3                INC     DPTR
+001B74 E0                MOVX    A,@DPTR
+001B75 F9                MOV     R1,A
+001B76 8F82              MOV     DPL,R7
+001B78 758300            MOV     DPH,#00H
+001B7B 1203CF            LCALL   ?C?CLDOPTR
+001B7E FE                MOV     R6,A
+001B7F 904E38            MOV     DPTR,#str1
+001B82 E0                MOVX    A,@DPTR
+001B83 FB                MOV     R3,A
+001B84 A3                INC     DPTR
+001B85 E0                MOVX    A,@DPTR
+001B86 FA                MOV     R2,A
+001B87 A3                INC     DPTR
+001B88 E0                MOVX    A,@DPTR
+001B89 F9                MOV     R1,A
+001B8A 8F82              MOV     DPL,R7
+001B8C 758300            MOV     DPH,#00H
+001B8F 1203CF            LCALL   ?C?CLDOPTR
+001B92 6E                XRL     A,R6
+001B93 6003              JZ      ?C0023?UTILITIES
+001B95 7F00              MOV     R7,#00H
+001B97 22                RET     
+001B98         ?C0023?UTILITIES:
+001B98 0F                INC     R7
+001B99 80C6              SJMP    ?C0021?UTILITIES
+001B9B         ?C0022?UTILITIES:
+001B9B 7F01              MOV     R7,#01H
+001B9D 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
@@ -4758,41 +4908,41 @@
    37: 	byte i = 0;
    38: 
 ;---- Variable 'i' assigned to Register 'R6' ----
-001B43 E4                CLR     A
-001B44 FE                MOV     R6,A
+001B9E E4                CLR     A
+001B9F FE                MOV     R6,A
    39: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-001B45 EF                MOV     A,R7
-001B46 C3                CLR     C
-001B47 94E0              SUBB    A,#0E0H
-001B49 4020              JC      ?C0005?KEYSCAN
-001B4B EF                MOV     A,R7
-001B4C D3                SETB    C
-001B4D 94E7              SUBB    A,#0E7H
-001B4F 501A              JNC     ?C0005?KEYSCAN
+001BA0 EF                MOV     A,R7
+001BA1 C3                CLR     C
+001BA2 94E0              SUBB    A,#0E0H
+001BA4 4020              JC      ?C0005?KEYSCAN
+001BA6 EF                MOV     A,R7
+001BA7 D3                SETB    C
+001BA8 94E7              SUBB    A,#0E7H
+001BAA 501A              JNC     ?C0005?KEYSCAN
    40: 	{
    41: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
-001B51 904E31            MOV     DPTR,#ksEvtPool
-001B54 E0                MOVX    A,@DPTR
-001B55 FE                MOV     R6,A
-001B56 EF                MOV     A,R7
-001B57 5407              ANL     A,#07H
-001B59 FF                MOV     R7,A
-001B5A 7401              MOV     A,#01H
-001B5C A807              MOV     R0,AR7
-001B5E 08                INC     R0
-001B5F 8002              SJMP    ?C0089?KEYSCAN
-001B61         ?C0088?KEYSCAN:
-001B61 C3                CLR     C
-001B62 33                RLC     A
-001B63         ?C0089?KEYSCAN:
-001B63 D8FC              DJNZ    R0,?C0088?KEYSCAN
-001B65 4E                ORL     A,R6
-001B66 904E31            MOV     DPTR,#ksEvtPool
-001B69 F0                MOVX    @DPTR,A
-001B6A 22                RET     
+001BAC 904E31            MOV     DPTR,#ksEvtPool
+001BAF E0                MOVX    A,@DPTR
+001BB0 FE                MOV     R6,A
+001BB1 EF                MOV     A,R7
+001BB2 5407              ANL     A,#07H
+001BB4 FF                MOV     R7,A
+001BB5 7401              MOV     A,#01H
+001BB7 A807              MOV     R0,AR7
+001BB9 08                INC     R0
+001BBA 8002              SJMP    ?C0089?KEYSCAN
+001BBC         ?C0088?KEYSCAN:
+001BBC C3                CLR     C
+001BBD 33                RLC     A
+001BBE         ?C0089?KEYSCAN:
+001BBE D8FC              DJNZ    R0,?C0088?KEYSCAN
+001BC0 4E                ORL     A,R6
+001BC1 904E31            MOV     DPTR,#ksEvtPool
+001BC4 F0                MOVX    @DPTR,A
+001BC5 22                RET     
    42: 		return;
    43: 	}
-001B6B         ?C0005?KEYSCAN:
+001BC6         ?C0005?KEYSCAN:
    44: 
    45: /*
    46: 
@@ -4840,52 +4990,52 @@
    88: 	//special key
    89: 
    90: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-001B6B E4                CLR     A
-001B6C FE                MOV     R6,A
-001B6D         ?C0007?KEYSCAN:
+001BC6 E4                CLR     A
+001BC7 FE                MOV     R6,A
+001BC8         ?C0007?KEYSCAN:
    91: 	{
    92: 		if (ksEvtPool.ksPool[i] == key)
-001B6D 7432              MOV     A,#LOW ksEvtPool+01H
-001B6F 2E                ADD     A,R6
-001B70 F582              MOV     DPL,A
-001B72 E4                CLR     A
-001B73 344E              ADDC    A,#HIGH ksEvtPool+01H
-001B75 F583              MOV     DPH,A
-001B77 E0                MOVX    A,@DPTR
-001B78 FD                MOV     R5,A
-001B79 6F                XRL     A,R7
-001B7A 601C              JZ      ?C0006?KEYSCAN
+001BC8 7432              MOV     A,#LOW ksEvtPool+01H
+001BCA 2E                ADD     A,R6
+001BCB F582              MOV     DPL,A
+001BCD E4                CLR     A
+001BCE 344E              ADDC    A,#HIGH ksEvtPool+01H
+001BD0 F583              MOV     DPH,A
+001BD2 E0                MOVX    A,@DPTR
+001BD3 FD                MOV     R5,A
+001BD4 6F                XRL     A,R7
+001BD5 601C              JZ      ?C0006?KEYSCAN
    93: 			break;
-001B7C         ?C0010?KEYSCAN:
+001BD7         ?C0010?KEYSCAN:
    94: 		if (ksEvtPool.ksPool[i] == 0) 
-001B7C ED                MOV     A,R5
-001B7D 7014              JNZ     ?C0009?KEYSCAN
+001BD7 ED                MOV     A,R5
+001BD8 7014              JNZ     ?C0009?KEYSCAN
    95: 		{
    96: 			if(mult_key_value != key)
-001B7F 904DE3            MOV     DPTR,#mult_key_value
-001B82 E0                MOVX    A,@DPTR
-001B83 6F                XRL     A,R7
-001B84 6012              JZ      ?C0006?KEYSCAN
+001BDA 904DE3            MOV     DPTR,#mult_key_value
+001BDD E0                MOVX    A,@DPTR
+001BDE 6F                XRL     A,R7
+001BDF 6012              JZ      ?C0006?KEYSCAN
    97: 				ksEvtPool.ksPool[i] = key;
-001B86 7432              MOV     A,#LOW ksEvtPool+01H
-001B88 2E                ADD     A,R6
-001B89 F582              MOV     DPL,A
-001B8B E4                CLR     A
-001B8C 344E              ADDC    A,#HIGH ksEvtPool+01H
-001B8E F583              MOV     DPH,A
-001B90 EF                MOV     A,R7
-001B91 F0                MOVX    @DPTR,A
+001BE1 7432              MOV     A,#LOW ksEvtPool+01H
+001BE3 2E                ADD     A,R6
+001BE4 F582              MOV     DPL,A
+001BE6 E4                CLR     A
+001BE7 344E              ADDC    A,#HIGH ksEvtPool+01H
+001BE9 F583              MOV     DPH,A
+001BEB EF                MOV     A,R7
+001BEC F0                MOVX    @DPTR,A
    98: 			break;
-001B92 22                RET     
+001BED 22                RET     
    99: 		}
   100: 	}
-001B93         ?C0009?KEYSCAN:
-001B93 0E                INC     R6
-001B94 EE                MOV     A,R6
-001B95 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
+001BEE         ?C0009?KEYSCAN:
+001BEE 0E                INC     R6
+001BEF EE                MOV     A,R6
+001BF0 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
   101: }
-001B98         ?C0006?KEYSCAN:
-001B98 22                RET     
+001BF3         ?C0006?KEYSCAN:
+001BF3 22                RET     
 ----- FUNCTION _keyIn (END) -------
 
 
@@ -4897,74 +5047,74 @@
   105: 	byte i = 0 ;
   106: 	byte found = 0;
 ;---- Variable 'i' assigned to Register 'R6' ----
-001B99 E4                CLR     A
-001B9A FE                MOV     R6,A
+001BF4 E4                CLR     A
+001BF5 FE                MOV     R6,A
   107: 
 ;---- Variable 'found' assigned to Register 'R5' ----
-001B9B FD                MOV     R5,A
+001BF6 FD                MOV     R5,A
   108: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
-001B9C EF                MOV     A,R7
-001B9D 54F0              ANL     A,#0F0H
-001B9F 64F0              XRL     A,#0F0H
-001BA1 6007              JZ      ?C0014?KEYSCAN
-001BA3 EF                MOV     A,R7
-001BA4 54D0              ANL     A,#0D0H
-001BA6 FC                MOV     R4,A
-001BA7 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
-001BAA         ?C0014?KEYSCAN:
+001BF7 EF                MOV     A,R7
+001BF8 54F0              ANL     A,#0F0H
+001BFA 64F0              XRL     A,#0F0H
+001BFC 6007              JZ      ?C0014?KEYSCAN
+001BFE EF                MOV     A,R7
+001BFF 54D0              ANL     A,#0D0H
+001C01 FC                MOV     R4,A
+001C02 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
+001C05         ?C0014?KEYSCAN:
   109: 	{
   110: 		if(mult_key_status == KEY_WAIT_RELEASE)
-001BAA 904DE4            MOV     DPTR,#mult_key_status
-001BAD E0                MOVX    A,@DPTR
-001BAE B4020B            CJNE    A,#02H,?C0016?KEYSCAN
+001C05 904DE4            MOV     DPTR,#mult_key_status
+001C08 E0                MOVX    A,@DPTR
+001C09 B4020B            CJNE    A,#02H,?C0016?KEYSCAN
   111: 		{
   112: 			mult_key_status = KEY_RELEASE;
-001BB1 7403              MOV     A,#03H
-001BB3 F0                MOVX    @DPTR,A
+001C0C 7403              MOV     A,#03H
+001C0E F0                MOVX    @DPTR,A
   113: 		}
   114: 	}
-001BB4 8006              SJMP    ?C0016?KEYSCAN
-001BB6         ?C0013?KEYSCAN:
+001C0F 8006              SJMP    ?C0016?KEYSCAN
+001C11         ?C0013?KEYSCAN:
   115: 	else
   116: 		standard_key_release_flag = 1;
-001BB6 904DD8            MOV     DPTR,#standard_key_release_flag
-001BB9 7401              MOV     A,#01H
-001BBB F0                MOVX    @DPTR,A
-001BBC         ?C0016?KEYSCAN:
+001C11 904DD8            MOV     DPTR,#standard_key_release_flag
+001C14 7401              MOV     A,#01H
+001C16 F0                MOVX    @DPTR,A
+001C17         ?C0016?KEYSCAN:
   117: 
   118: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-001BBC EF                MOV     A,R7
-001BBD C3                CLR     C
-001BBE 94E0              SUBB    A,#0E0H
-001BC0 4020              JC      ?C0017?KEYSCAN
-001BC2 EF                MOV     A,R7
-001BC3 D3                SETB    C
-001BC4 94E7              SUBB    A,#0E7H
-001BC6 501A              JNC     ?C0017?KEYSCAN
+001C17 EF                MOV     A,R7
+001C18 C3                CLR     C
+001C19 94E0              SUBB    A,#0E0H
+001C1B 4020              JC      ?C0017?KEYSCAN
+001C1D EF                MOV     A,R7
+001C1E D3                SETB    C
+001C1F 94E7              SUBB    A,#0E7H
+001C21 501A              JNC     ?C0017?KEYSCAN
   119: 	{
   120: 		ksEvtPool.standardSel  &= ~0x01 << (key & 0x07);
-001BC8 904E31            MOV     DPTR,#ksEvtPool
-001BCB E0                MOVX    A,@DPTR
-001BCC FE                MOV     R6,A
-001BCD EF                MOV     A,R7
-001BCE 5407              ANL     A,#07H
-001BD0 FF                MOV     R7,A
-001BD1 74FE              MOV     A,#0FEH
-001BD3 A807              MOV     R0,AR7
-001BD5 08                INC     R0
-001BD6 8002              SJMP    ?C0091?KEYSCAN
-001BD8         ?C0090?KEYSCAN:
-001BD8 C3                CLR     C
-001BD9 33                RLC     A
-001BDA         ?C0091?KEYSCAN:
-001BDA D8FC              DJNZ    R0,?C0090?KEYSCAN
-001BDC 5E                ANL     A,R6
-001BDD 904E31            MOV     DPTR,#ksEvtPool
-001BE0 F0                MOVX    @DPTR,A
-001BE1 22                RET     
+001C23 904E31            MOV     DPTR,#ksEvtPool
+001C26 E0                MOVX    A,@DPTR
+001C27 FE                MOV     R6,A
+001C28 EF                MOV     A,R7
+001C29 5407              ANL     A,#07H
+001C2B FF                MOV     R7,A
+001C2C 74FE              MOV     A,#0FEH
+001C2E A807              MOV     R0,AR7
+001C30 08                INC     R0
+001C31 8002              SJMP    ?C0091?KEYSCAN
+001C33         ?C0090?KEYSCAN:
+001C33 C3                CLR     C
+001C34 33                RLC     A
+001C35         ?C0091?KEYSCAN:
+001C35 D8FC              DJNZ    R0,?C0090?KEYSCAN
+001C37 5E                ANL     A,R6
+001C38 904E31            MOV     DPTR,#ksEvtPool
+001C3B F0                MOVX    @DPTR,A
+001C3C 22                RET     
   121: 		return;
   122: 	}
-001BE2         ?C0017?KEYSCAN:
+001C3D         ?C0017?KEYSCAN:
   123: 
   124: /*
   125: 	if (key == HID_KEY_RIGHT_GUI ) 
@@ -5009,261 +5159,97 @@
   164: 	}
   165: */	
   166: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-001BE2 E4                CLR     A
-001BE3 FE                MOV     R6,A
-001BE4         ?C0019?KEYSCAN:
+001C3D E4                CLR     A
+001C3E FE                MOV     R6,A
+001C3F         ?C0019?KEYSCAN:
   167: 	{
   168: 		if (found == 0) 
-001BE4 ED                MOV     A,R5
-001BE5 7021              JNZ     ?C0022?KEYSCAN
+001C3F ED                MOV     A,R5
+001C40 7021              JNZ     ?C0022?KEYSCAN
   169: 		{
   170: 			if (ksEvtPool.ksPool[i] == key) {
-001BE7 7432              MOV     A,#LOW ksEvtPool+01H
-001BE9 2E                ADD     A,R6
-001BEA F582              MOV     DPL,A
-001BEC E4                CLR     A
-001BED 344E              ADDC    A,#HIGH ksEvtPool+01H
-001BEF F583              MOV     DPH,A
-001BF1 E0                MOVX    A,@DPTR
-001BF2 6F                XRL     A,R7
-001BF3 7047              JNZ     ?C0021?KEYSCAN
+001C42 7432              MOV     A,#LOW ksEvtPool+01H
+001C44 2E                ADD     A,R6
+001C45 F582              MOV     DPL,A
+001C47 E4                CLR     A
+001C48 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C4A F583              MOV     DPH,A
+001C4C E0                MOVX    A,@DPTR
+001C4D 6F                XRL     A,R7
+001C4E 7047              JNZ     ?C0021?KEYSCAN
   171: 				if (i == KS_BUFF_POLL_LEN-1) {
-001BF5 EE                MOV     A,R6
-001BF6 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
+001C50 EE                MOV     A,R6
+001C51 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
   172: 					ksEvtPool.ksPool[i] = 0;
-001BF9 2432              ADD     A,#LOW ksEvtPool+01H
-001BFB F582              MOV     DPL,A
-001BFD E4                CLR     A
-001BFE 344E              ADDC    A,#HIGH ksEvtPool+01H
-001C00 F583              MOV     DPH,A
-001C02 E4                CLR     A
-001C03 F0                MOVX    @DPTR,A
+001C54 2432              ADD     A,#LOW ksEvtPool+01H
+001C56 F582              MOV     DPL,A
+001C58 E4                CLR     A
+001C59 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C5B F583              MOV     DPH,A
+001C5D E4                CLR     A
+001C5E F0                MOVX    @DPTR,A
   173: 				}
-001C04         ?C0024?KEYSCAN:
+001C5F         ?C0024?KEYSCAN:
   174: 				found = 1;
-001C04 7D01              MOV     R5,#01H
+001C5F 7D01              MOV     R5,#01H
   175: 			}
   176: 		}
-001C06 8034              SJMP    ?C0021?KEYSCAN
-001C08         ?C0022?KEYSCAN:
+001C61 8034              SJMP    ?C0021?KEYSCAN
+001C63         ?C0022?KEYSCAN:
   177: 		else 
   178: 		{
   179: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
-001C08 7432              MOV     A,#LOW ksEvtPool+01H
-001C0A 2E                ADD     A,R6
-001C0B F582              MOV     DPL,A
-001C0D E4                CLR     A
-001C0E 344E              ADDC    A,#HIGH ksEvtPool+01H
-001C10 F583              MOV     DPH,A
-001C12 E0                MOVX    A,@DPTR
-001C13 FC                MOV     R4,A
-001C14 7431              MOV     A,#LOW ksEvtPool
-001C16 2E                ADD     A,R6
-001C17 F582              MOV     DPL,A
-001C19 E4                CLR     A
-001C1A 344E              ADDC    A,#HIGH ksEvtPool
-001C1C F583              MOV     DPH,A
-001C1E EC                MOV     A,R4
-001C1F F0                MOVX    @DPTR,A
+001C63 7432              MOV     A,#LOW ksEvtPool+01H
+001C65 2E                ADD     A,R6
+001C66 F582              MOV     DPL,A
+001C68 E4                CLR     A
+001C69 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C6B F583              MOV     DPH,A
+001C6D E0                MOVX    A,@DPTR
+001C6E FC                MOV     R4,A
+001C6F 7431              MOV     A,#LOW ksEvtPool
+001C71 2E                ADD     A,R6
+001C72 F582              MOV     DPL,A
+001C74 E4                CLR     A
+001C75 344E              ADDC    A,#HIGH ksEvtPool
+001C77 F583              MOV     DPH,A
+001C79 EC                MOV     A,R4
+001C7A F0                MOVX    @DPTR,A
   180: 			if (ksEvtPool.ksPool[i] == 0)
-001C20 7432              MOV     A,#LOW ksEvtPool+01H
-001C22 2E                ADD     A,R6
-001C23 F582              MOV     DPL,A
-001C25 E4                CLR     A
-001C26 344E              ADDC    A,#HIGH ksEvtPool+01H
-001C28 F583              MOV     DPH,A
-001C2A E0                MOVX    A,@DPTR
-001C2B 6014              JZ      ?C0018?KEYSCAN
+001C7B 7432              MOV     A,#LOW ksEvtPool+01H
+001C7D 2E                ADD     A,R6
+001C7E F582              MOV     DPL,A
+001C80 E4                CLR     A
+001C81 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C83 F583              MOV     DPH,A
+001C85 E0                MOVX    A,@DPTR
+001C86 6014              JZ      ?C0018?KEYSCAN
   181: 				break;
-001C2D         ?C0026?KEYSCAN:
+001C88         ?C0026?KEYSCAN:
   182: 			if (i == KS_BUFF_POLL_LEN-1) {
-001C2D EE                MOV     A,R6
-001C2E B4050B            CJNE    A,#05H,?C0021?KEYSCAN
+001C88 EE                MOV     A,R6
+001C89 B4050B            CJNE    A,#05H,?C0021?KEYSCAN
   183: 				ksEvtPool.ksPool[i] = 0;
-001C31 2432              ADD     A,#LOW ksEvtPool+01H
-001C33 F582              MOV     DPL,A
-001C35 E4                CLR     A
-001C36 344E              ADDC    A,#HIGH ksEvtPool+01H
-001C38 F583              MOV     DPH,A
-001C3A E4                CLR     A
-001C3B F0                MOVX    @DPTR,A
+001C8C 2432              ADD     A,#LOW ksEvtPool+01H
+001C8E F582              MOV     DPL,A
+001C90 E4                CLR     A
+001C91 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C93 F583              MOV     DPH,A
+001C95 E4                CLR     A
+001C96 F0                MOVX    @DPTR,A
   184: 			}
   185: 		}
   186: 	}
-001C3C         ?C0021?KEYSCAN:
-001C3C 0E                INC     R6
-001C3D EE                MOV     A,R6
-001C3E B406A3            CJNE    A,#06H,?C0019?KEYSCAN
+001C97         ?C0021?KEYSCAN:
+001C97 0E                INC     R6
+001C98 EE                MOV     A,R6
+001C99 B406A3            CJNE    A,#06H,?C0019?KEYSCAN
   187: }
-001C41         ?C0018?KEYSCAN:
-001C41 22                RET     
+001C9C         ?C0018?KEYSCAN:
+001C9C 22                RET     
 ----- FUNCTION _keyOut (END) -------
 
 
------ FUNCTION _key_fn_function (BEGIN) -----
- FILE: 'kb_process.c'
-  341: byte key_fn_function(byte state ,byte key_value)
-  342: {
-;---- Variable 'key_value' assigned to Register 'R5' ----
-;---- Variable 'state' assigned to Register 'R7' ----
-  343: 	byte temp = 0;
-  344: 	byte temp_state = state;
-001C42 E4                CLR     A
-001C43 904E89            MOV     DPTR,#temp
-001C46 F0                MOVX    @DPTR,A
-  345: 	temp = key_value;
-001C47 A3                INC     DPTR
-001C48 EF                MOV     A,R7
-001C49 F0                MOVX    @DPTR,A
-  346: 	if(fn_flag == 1)			// Fn lock
-001C4A 904E89            MOV     DPTR,#temp
-001C4D ED                MOV     A,R5
-001C4E F0                MOVX    @DPTR,A
-  347: 	{
-001C4F 904DDB            MOV     DPTR,#fn_flag
-001C52 E0                MOVX    A,@DPTR
-001C53 6401              XRL     A,#01H
-001C55 6002              JZ      $ + 4H
-001C57 81F3              AJMP    ?C0081?KB_PROCESS
-  348: 		
-  349: 		switch (key_value)
-001C59 ED                MOV     A,R5
-001C5A 24C6              ADD     A,#0C6H
-001C5C B40C00            CJNE    A,#0CH,?C0143?KB_PROCESS
-001C5F         ?C0143?KB_PROCESS:
-001C5F 4002              JC      $ + 4H
-001C61 81F3              AJMP    ?C0081?KB_PROCESS
-001C63 901C71            MOV     DPTR,#01C71H
-001C66 75F003            MOV     B,#03H
-001C69 A4                MUL     AB
-001C6A C583              XCH     A,DPH
-001C6C 25F0              ADD     A,B
-001C6E C583              XCH     A,DPH
-001C70 73                JMP     @A+DPTR
-001C71         ?C0144?KB_PROCESS:
-001C71 021C95            LJMP    ?C0083?KB_PROCESS
-001C74 021C9D            LJMP    ?C0084?KB_PROCESS
-001C77 021CA5            LJMP    ?C0085?KB_PROCESS
-001C7A 021CAD            LJMP    ?C0086?KB_PROCESS
-001C7D 021CB5            LJMP    ?C0087?KB_PROCESS
-001C80 021CBD            LJMP    ?C0088?KB_PROCESS
-001C83 021CC5            LJMP    ?C0089?KB_PROCESS
-001C86 021CCD            LJMP    ?C0090?KB_PROCESS
-001C89 021CD5            LJMP    ?C0091?KB_PROCESS
-001C8C 021CDD            LJMP    ?C0092?KB_PROCESS
-001C8F 021CE5            LJMP    ?C0093?KB_PROCESS
-001C92 021CED            LJMP    ?C0094?KB_PROCESS
-  350: 		{ 
-  351: 			case HID_KEY_F1:
-001C95         ?C0083?KB_PROCESS:
-  352: 				temp = HID_MULTIKEY_MEDIA;
-001C95 904E89            MOV     DPTR,#temp
-001C98 74F1              MOV     A,#0F1H
-001C9A F0                MOVX    @DPTR,A
-  353: 				break;
-001C9B 8056              SJMP    ?C0081?KB_PROCESS
-  354: 			case HID_KEY_F2:
-001C9D         ?C0084?KB_PROCESS:
-  355: 				temp = HID_MULTIKEY_VOL_DOWN;
-001C9D 904E89            MOV     DPTR,#temp
-001CA0 74F6              MOV     A,#0F6H
-001CA2 F0                MOVX    @DPTR,A
-  356: 				break;
-001CA3 804E              SJMP    ?C0081?KB_PROCESS
-  357: 			case HID_KEY_F3:
-001CA5         ?C0085?KB_PROCESS:
-  358: 				temp = HID_MULTIKEY_VOL_UP;
-001CA5 904E89            MOV     DPTR,#temp
-001CA8 74F7              MOV     A,#0F7H
-001CAA F0                MOVX    @DPTR,A
-  359: 				break;
-001CAB 8046              SJMP    ?C0081?KB_PROCESS
-  360: 			case HID_KEY_F4:
-001CAD         ?C0086?KB_PROCESS:
-  361: 				temp = HID_MULTIKEY_MUTE;
-001CAD 904E89            MOV     DPTR,#temp
-001CB0 74F8              MOV     A,#0F8H
-001CB2 F0                MOVX    @DPTR,A
-  362: 				break;
-001CB3 803E              SJMP    ?C0081?KB_PROCESS
-  363: 			case HID_KEY_F5:
-001CB5         ?C0087?KB_PROCESS:
-  364: 				temp = HID_MULTIKEY_PRE_TRACK;
-001CB5 904E89            MOV     DPTR,#temp
-001CB8 74F4              MOV     A,#0F4H
-001CBA F0                MOVX    @DPTR,A
-  365: 				break;
-001CBB 8036              SJMP    ?C0081?KB_PROCESS
-  366: 			case HID_KEY_F6:
-001CBD         ?C0088?KB_PROCESS:
-  367: 				temp = HID_MULTIKEY_NEXT_TRACK;
-001CBD 904E89            MOV     DPTR,#temp
-001CC0 74F5              MOV     A,#0F5H
-001CC2 F0                MOVX    @DPTR,A
-  368: 				break;
-001CC3 802E              SJMP    ?C0081?KB_PROCESS
-  369: 			case HID_KEY_F7:
-001CC5         ?C0089?KB_PROCESS:
-  370: 				temp = HID_MULTIKEY_PALY;
-001CC5 904E89            MOV     DPTR,#temp
-001CC8 74F2              MOV     A,#0F2H
-001CCA F0                MOVX    @DPTR,A
-  371: 				break;
-001CCB 8026              SJMP    ?C0081?KB_PROCESS
-  372: 			case HID_KEY_F8:
-001CCD         ?C0090?KB_PROCESS:
-  373: 				temp = HID_MULTIKEY_STOP;
-001CCD 904E89            MOV     DPTR,#temp
-001CD0 74F3              MOV     A,#0F3H
-001CD2 F0                MOVX    @DPTR,A
-  374: 				break;
-001CD3 801E              SJMP    ?C0081?KB_PROCESS
-  375: 			case HID_KEY_F9:
-001CD5         ?C0091?KB_PROCESS:
-  376: 				temp = HID_MULTIKEY_AC_HOME;
-001CD5 904E89            MOV     DPTR,#temp
-001CD8 74D6              MOV     A,#0D6H
-001CDA F0                MOVX    @DPTR,A
-  377: 				break;
-001CDB 8016              SJMP    ?C0081?KB_PROCESS
-  378: 			case HID_KEY_F10:
-001CDD         ?C0092?KB_PROCESS:
-  379: 				temp = HID_MULTIKEY_MAIL;
-001CDD 904E89            MOV     DPTR,#temp
-001CE0 74FA              MOV     A,#0FAH
-001CE2 F0                MOVX    @DPTR,A
-  380: 				break;
-001CE3 800E              SJMP    ?C0081?KB_PROCESS
-  381: 			case HID_KEY_F11:
-001CE5         ?C0093?KB_PROCESS:
-  382: 				temp = HID_MULTIKEY_MY_COMPUTER;
-001CE5 904E89            MOV     DPTR,#temp
-001CE8 74F9              MOV     A,#0F9H
-001CEA F0                MOVX    @DPTR,A
-  383: 				break;
-001CEB 8006              SJMP    ?C0081?KB_PROCESS
-  384: 			case HID_KEY_F12:
-001CED         ?C0094?KB_PROCESS:
-  385: 				temp = HID_MULTIKEY_AC_FAVORITES;
-001CED 904E89            MOV     DPTR,#temp
-001CF0 74D0              MOV     A,#0D0H
-001CF2 F0                MOVX    @DPTR,A
-  386: 				break;
-  387: 			default :
-  388: 				break;
-  389: 		}
-  390: 	}
-001CF3         ?C0081?KB_PROCESS:
-  391: 
-  392: 	return temp;
-001CF3 904E89            MOV     DPTR,#temp
-001CF6 E0                MOVX    A,@DPTR
-001CF7 FF                MOV     R7,A
-  393: }
-001CF8 22                RET     
------ FUNCTION _key_fn_function (END) -------
-
-
 ----- FUNCTION KS_ScanMatrix (BEGIN) -----
  FILE: 'keyscan.c'
   260: void KS_ScanMatrix()
@@ -5271,616 +5257,601 @@
   262: 	byte i = 0;
   263: 	byte j = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-001CF9 E4                CLR     A
-001CFA FF                MOV     R7,A
+001C9D E4                CLR     A
+001C9E FF                MOV     R7,A
   264: 	byte tgroup = 0;
-001CFB 904E69            MOV     DPTR,#j
-001CFE F0                MOVX    @DPTR,A
+001C9F 904E69            MOV     DPTR,#j
+001CA2 F0                MOVX    @DPTR,A
   265: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-001CFF FE                MOV     R6,A
+001CA3 FE                MOV     R6,A
   266: 	byte temp = 0;
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-001D00 FD                MOV     R5,A
+001CA4 FD                MOV     R5,A
   267: 	byte check = 0;
-001D01 A3                INC     DPTR
-001D02 F0                MOVX    @DPTR,A
+001CA5 A3                INC     DPTR
+001CA6 F0                MOVX    @DPTR,A
   268: 	byte rawSel = 0;
-001D03 A3                INC     DPTR
-001D04 F0                MOVX    @DPTR,A
+001CA7 A3                INC     DPTR
+001CA8 F0                MOVX    @DPTR,A
   269: 	for (i=0; col[i]!=0; i++) {
-001D05 A3                INC     DPTR
-001D06 F0                MOVX    @DPTR,A
+001CA9 A3                INC     DPTR
+001CAA F0                MOVX    @DPTR,A
   270: 		tgroup = col[i]  >> 3;
-001D07         ?C0045?KEYSCAN:
-001D07 EF                MOV     A,R7
-001D08 90060C            MOV     DPTR,#col
-001D0B 93                MOVC    A,@A+DPTR
-001D0C 607C              JZ      ?C0046?KEYSCAN
+001CAB         ?C0045?KEYSCAN:
+001CAB EF                MOV     A,R7
+001CAC 90060C            MOV     DPTR,#col
+001CAF 93                MOVC    A,@A+DPTR
+001CB0 607C              JZ      ?C0046?KEYSCAN
   271: 		tgpionum = 1 << (col[i] & 7);
-001D0E EF                MOV     A,R7
-001D0F 93                MOVC    A,@A+DPTR
-001D10 FD                MOV     R5,A
-001D11 13                RRC     A
-001D12 13                RRC     A
-001D13 13                RRC     A
-001D14 541F              ANL     A,#01FH
-001D16 FE                MOV     R6,A
+001CB2 EF                MOV     A,R7
+001CB3 93                MOVC    A,@A+DPTR
+001CB4 FD                MOV     R5,A
+001CB5 13                RRC     A
+001CB6 13                RRC     A
+001CB7 13                RRC     A
+001CB8 541F              ANL     A,#01FH
+001CBA FE                MOV     R6,A
   272: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
-001D17 ED                MOV     A,R5
-001D18 5407              ANL     A,#07H
-001D1A FD                MOV     R5,A
-001D1B 7401              MOV     A,#01H
-001D1D A805              MOV     R0,AR5
-001D1F 08                INC     R0
-001D20 8002              SJMP    ?C0095?KEYSCAN
-001D22         ?C0094?KEYSCAN:
-001D22 C3                CLR     C
-001D23 33                RLC     A
-001D24         ?C0095?KEYSCAN:
-001D24 D8FC              DJNZ    R0,?C0094?KEYSCAN
-001D26 FD                MOV     R5,A
+001CBB ED                MOV     A,R5
+001CBC 5407              ANL     A,#07H
+001CBE FD                MOV     R5,A
+001CBF 7401              MOV     A,#01H
+001CC1 A805              MOV     R0,AR5
+001CC3 08                INC     R0
+001CC4 8002              SJMP    ?C0095?KEYSCAN
+001CC6         ?C0094?KEYSCAN:
+001CC6 C3                CLR     C
+001CC7 33                RLC     A
+001CC8         ?C0095?KEYSCAN:
+001CC8 D8FC              DJNZ    R0,?C0094?KEYSCAN
+001CCA FD                MOV     R5,A
   273: 	}
-001D27 EE                MOV     A,R6
-001D28 2478              ADD     A,#078H
-001D2A FB                MOV     R3,A
-001D2B E4                CLR     A
-001D2C 3480              ADDC    A,#080H
-001D2E 8B82              MOV     DPL,R3
-001D30 F583              MOV     DPH,A
-001D32 E0                MOVX    A,@DPTR
-001D33 FC                MOV     R4,A
-001D34 ED                MOV     A,R5
-001D35 F4                CPL     A
-001D36 FB                MOV     R3,A
-001D37 EC                MOV     A,R4
-001D38 5B                ANL     A,R3
-001D39 F0                MOVX    @DPTR,A
-001D3A EE                MOV     A,R6
-001D3B 2470              ADD     A,#070H
-001D3D F582              MOV     DPL,A
-001D3F E4                CLR     A
-001D40 3480              ADDC    A,#080H
-001D42 F583              MOV     DPH,A
-001D44 E0                MOVX    A,@DPTR
-001D45 4D                ORL     A,R5
-001D46 F0                MOVX    @DPTR,A
-001D47 EE                MOV     A,R6
-001D48 2474              ADD     A,#074H
-001D4A F582              MOV     DPL,A
-001D4C E4                CLR     A
-001D4D 3480              ADDC    A,#080H
-001D4F F583              MOV     DPH,A
-001D51 E0                MOVX    A,@DPTR
-001D52 5B                ANL     A,R3
-001D53 F0                MOVX    @DPTR,A
-001D54 90811C            MOV     DPTR,#0811CH
-001D57 E0                MOVX    A,@DPTR
-001D58 F4                CPL     A
-001D59 FC                MOV     R4,A
-001D5A 74BC              MOV     A,#LOW ksSelMapCurr
-001D5C 2F                ADD     A,R7
-001D5D F582              MOV     DPL,A
-001D5F E4                CLR     A
-001D60 344D              ADDC    A,#HIGH ksSelMapCurr
-001D62 F583              MOV     DPH,A
-001D64 EC                MOV     A,R4
-001D65 F0                MOVX    @DPTR,A
-001D66 EE                MOV     A,R6
-001D67 2478              ADD     A,#078H
-001D69 FB                MOV     R3,A
-001D6A E4                CLR     A
-001D6B 3480              ADDC    A,#080H
-001D6D 8B82              MOV     DPL,R3
-001D6F F583              MOV     DPH,A
-001D71 E0                MOVX    A,@DPTR
-001D72 4D                ORL     A,R5
-001D73 F0                MOVX    @DPTR,A
-001D74 EE                MOV     A,R6
-001D75 2470              ADD     A,#070H
-001D77 FB                MOV     R3,A
-001D78 E4                CLR     A
-001D79 3480              ADDC    A,#080H
-001D7B 8B82              MOV     DPL,R3
-001D7D F583              MOV     DPH,A
-001D7F E0                MOVX    A,@DPTR
-001D80 FC                MOV     R4,A
-001D81 ED                MOV     A,R5
-001D82 F4                CPL     A
-001D83 FB                MOV     R3,A
-001D84 EC                MOV     A,R4
-001D85 5B                ANL     A,R3
-001D86 F0                MOVX    @DPTR,A
+001CCB EE                MOV     A,R6
+001CCC 2478              ADD     A,#078H
+001CCE FB                MOV     R3,A
+001CCF E4                CLR     A
+001CD0 3480              ADDC    A,#080H
+001CD2 8B82              MOV     DPL,R3
+001CD4 F583              MOV     DPH,A
+001CD6 E0                MOVX    A,@DPTR
+001CD7 FC                MOV     R4,A
+001CD8 ED                MOV     A,R5
+001CD9 F4                CPL     A
+001CDA FB                MOV     R3,A
+001CDB EC                MOV     A,R4
+001CDC 5B                ANL     A,R3
+001CDD F0                MOVX    @DPTR,A
+001CDE EE                MOV     A,R6
+001CDF 2470              ADD     A,#070H
+001CE1 F582              MOV     DPL,A
+001CE3 E4                CLR     A
+001CE4 3480              ADDC    A,#080H
+001CE6 F583              MOV     DPH,A
+001CE8 E0                MOVX    A,@DPTR
+001CE9 4D                ORL     A,R5
+001CEA F0                MOVX    @DPTR,A
+001CEB EE                MOV     A,R6
+001CEC 2474              ADD     A,#074H
+001CEE F582              MOV     DPL,A
+001CF0 E4                CLR     A
+001CF1 3480              ADDC    A,#080H
+001CF3 F583              MOV     DPH,A
+001CF5 E0                MOVX    A,@DPTR
+001CF6 5B                ANL     A,R3
+001CF7 F0                MOVX    @DPTR,A
+001CF8 90811C            MOV     DPTR,#0811CH
+001CFB E0                MOVX    A,@DPTR
+001CFC F4                CPL     A
+001CFD FC                MOV     R4,A
+001CFE 74BC              MOV     A,#LOW ksSelMapCurr
+001D00 2F                ADD     A,R7
+001D01 F582              MOV     DPL,A
+001D03 E4                CLR     A
+001D04 344D              ADDC    A,#HIGH ksSelMapCurr
+001D06 F583              MOV     DPH,A
+001D08 EC                MOV     A,R4
+001D09 F0                MOVX    @DPTR,A
+001D0A EE                MOV     A,R6
+001D0B 2478              ADD     A,#078H
+001D0D FB                MOV     R3,A
+001D0E E4                CLR     A
+001D0F 3480              ADDC    A,#080H
+001D11 8B82              MOV     DPL,R3
+001D13 F583              MOV     DPH,A
+001D15 E0                MOVX    A,@DPTR
+001D16 4D                ORL     A,R5
+001D17 F0                MOVX    @DPTR,A
+001D18 EE                MOV     A,R6
+001D19 2470              ADD     A,#070H
+001D1B FB                MOV     R3,A
+001D1C E4                CLR     A
+001D1D 3480              ADDC    A,#080H
+001D1F 8B82              MOV     DPL,R3
+001D21 F583              MOV     DPH,A
+001D23 E0                MOVX    A,@DPTR
+001D24 FC                MOV     R4,A
+001D25 ED                MOV     A,R5
+001D26 F4                CPL     A
+001D27 FB                MOV     R3,A
+001D28 EC                MOV     A,R4
+001D29 5B                ANL     A,R3
+001D2A F0                MOVX    @DPTR,A
   274: 
-001D87 0F                INC     R7
-001D88 A107              AJMP    ?C0045?KEYSCAN
-001D8A         ?C0046?KEYSCAN:
+001D2B 0F                INC     R7
+001D2C 81AB              AJMP    ?C0045?KEYSCAN
+001D2E         ?C0046?KEYSCAN:
   275: 	for (i=0; col[i]!=0; i++) {
-001D8A E4                CLR     A
-001D8B FF                MOV     R7,A
-001D8C         ?C0048?KEYSCAN:
-001D8C EF                MOV     A,R7
-001D8D 90060C            MOV     DPTR,#col
-001D90 93                MOVC    A,@A+DPTR
-001D91 607C              JZ      ?C0049?KEYSCAN
+001D2E E4                CLR     A
+001D2F FF                MOV     R7,A
+001D30         ?C0048?KEYSCAN:
+001D30 EF                MOV     A,R7
+001D31 90060C            MOV     DPTR,#col
+001D34 93                MOVC    A,@A+DPTR
+001D35 607C              JZ      ?C0049?KEYSCAN
   276: 		tgroup = col[i]  >> 3;
-001D93 EF                MOV     A,R7
-001D94 93                MOVC    A,@A+DPTR
-001D95 FD                MOV     R5,A
-001D96 13                RRC     A
-001D97 13                RRC     A
-001D98 13                RRC     A
-001D99 541F              ANL     A,#01FH
-001D9B FE                MOV     R6,A
+001D37 EF                MOV     A,R7
+001D38 93                MOVC    A,@A+DPTR
+001D39 FD                MOV     R5,A
+001D3A 13                RRC     A
+001D3B 13                RRC     A
+001D3C 13                RRC     A
+001D3D 541F              ANL     A,#01FH
+001D3F FE                MOV     R6,A
   277: 		tgpionum = 1 << (col[i] & 7);
-001D9C ED                MOV     A,R5
-001D9D 5407              ANL     A,#07H
-001D9F FD                MOV     R5,A
-001DA0 7401              MOV     A,#01H
-001DA2 A805              MOV     R0,AR5
-001DA4 08                INC     R0
-001DA5 8002              SJMP    ?C0097?KEYSCAN
-001DA7         ?C0096?KEYSCAN:
-001DA7 C3                CLR     C
-001DA8 33                RLC     A
-001DA9         ?C0097?KEYSCAN:
-001DA9 D8FC              DJNZ    R0,?C0096?KEYSCAN
-001DAB FD                MOV     R5,A
+001D40 ED                MOV     A,R5
+001D41 5407              ANL     A,#07H
+001D43 FD                MOV     R5,A
+001D44 7401              MOV     A,#01H
+001D46 A805              MOV     R0,AR5
+001D48 08                INC     R0
+001D49 8002              SJMP    ?C0097?KEYSCAN
+001D4B         ?C0096?KEYSCAN:
+001D4B C3                CLR     C
+001D4C 33                RLC     A
+001D4D         ?C0097?KEYSCAN:
+001D4D D8FC              DJNZ    R0,?C0096?KEYSCAN
+001D4F FD                MOV     R5,A
   278: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
-001DAC EE                MOV     A,R6
-001DAD 2478              ADD     A,#078H
-001DAF FB                MOV     R3,A
-001DB0 E4                CLR     A
-001DB1 3480              ADDC    A,#080H
-001DB3 8B82              MOV     DPL,R3
-001DB5 F583              MOV     DPH,A
-001DB7 E0                MOVX    A,@DPTR
-001DB8 FC                MOV     R4,A
-001DB9 ED                MOV     A,R5
-001DBA F4                CPL     A
-001DBB FB                MOV     R3,A
-001DBC EC                MOV     A,R4
-001DBD 5B                ANL     A,R3
-001DBE F0                MOVX    @DPTR,A
-001DBF EE                MOV     A,R6
-001DC0 2470              ADD     A,#070H
-001DC2 F582              MOV     DPL,A
-001DC4 E4                CLR     A
-001DC5 3480              ADDC    A,#080H
-001DC7 F583              MOV     DPH,A
-001DC9 E0                MOVX    A,@DPTR
-001DCA 4D                ORL     A,R5
-001DCB F0                MOVX    @DPTR,A
-001DCC EE                MOV     A,R6
-001DCD 2474              ADD     A,#074H
-001DCF F582              MOV     DPL,A
-001DD1 E4                CLR     A
-001DD2 3480              ADDC    A,#080H
-001DD4 F583              MOV     DPH,A
-001DD6 E0                MOVX    A,@DPTR
-001DD7 5B                ANL     A,R3
-001DD8 F0                MOVX    @DPTR,A
-001DD9 90811C            MOV     DPTR,#0811CH
-001DDC E0                MOVX    A,@DPTR
-001DDD F4                CPL     A
-001DDE FC                MOV     R4,A
-001DDF 74A8              MOV     A,#LOW ksSelMapCheck
-001DE1 2F                ADD     A,R7
-001DE2 F582              MOV     DPL,A
-001DE4 E4                CLR     A
-001DE5 344D              ADDC    A,#HIGH ksSelMapCheck
-001DE7 F583              MOV     DPH,A
-001DE9 EC                MOV     A,R4
-001DEA F0                MOVX    @DPTR,A
-001DEB EE                MOV     A,R6
-001DEC 2478              ADD     A,#078H
-001DEE FB                MOV     R3,A
-001DEF E4                CLR     A
-001DF0 3480              ADDC    A,#080H
-001DF2 8B82              MOV     DPL,R3
-001DF4 F583              MOV     DPH,A
-001DF6 E0                MOVX    A,@DPTR
-001DF7 4D                ORL     A,R5
-001DF8 F0                MOVX    @DPTR,A
-001DF9 EE                MOV     A,R6
-001DFA 2470              ADD     A,#070H
-001DFC FB                MOV     R3,A
-001DFD E4                CLR     A
-001DFE 3480              ADDC    A,#080H
-001E00 8B82              MOV     DPL,R3
-001E02 F583              MOV     DPH,A
-001E04 E0                MOVX    A,@DPTR
-001E05 FC                MOV     R4,A
-001E06 ED                MOV     A,R5
-001E07 F4                CPL     A
-001E08 FB                MOV     R3,A
-001E09 EC                MOV     A,R4
-001E0A 5B                ANL     A,R3
-001E0B F0                MOVX    @DPTR,A
+001D50 EE                MOV     A,R6
+001D51 2478              ADD     A,#078H
+001D53 FB                MOV     R3,A
+001D54 E4                CLR     A
+001D55 3480              ADDC    A,#080H
+001D57 8B82              MOV     DPL,R3
+001D59 F583              MOV     DPH,A
+001D5B E0                MOVX    A,@DPTR
+001D5C FC                MOV     R4,A
+001D5D ED                MOV     A,R5
+001D5E F4                CPL     A
+001D5F FB                MOV     R3,A
+001D60 EC                MOV     A,R4
+001D61 5B                ANL     A,R3
+001D62 F0                MOVX    @DPTR,A
+001D63 EE                MOV     A,R6
+001D64 2470              ADD     A,#070H
+001D66 F582              MOV     DPL,A
+001D68 E4                CLR     A
+001D69 3480              ADDC    A,#080H
+001D6B F583              MOV     DPH,A
+001D6D E0                MOVX    A,@DPTR
+001D6E 4D                ORL     A,R5
+001D6F F0                MOVX    @DPTR,A
+001D70 EE                MOV     A,R6
+001D71 2474              ADD     A,#074H
+001D73 F582              MOV     DPL,A
+001D75 E4                CLR     A
+001D76 3480              ADDC    A,#080H
+001D78 F583              MOV     DPH,A
+001D7A E0                MOVX    A,@DPTR
+001D7B 5B                ANL     A,R3
+001D7C F0                MOVX    @DPTR,A
+001D7D 90811C            MOV     DPTR,#0811CH
+001D80 E0                MOVX    A,@DPTR
+001D81 F4                CPL     A
+001D82 FC                MOV     R4,A
+001D83 74A8              MOV     A,#LOW ksSelMapCheck
+001D85 2F                ADD     A,R7
+001D86 F582              MOV     DPL,A
+001D88 E4                CLR     A
+001D89 344D              ADDC    A,#HIGH ksSelMapCheck
+001D8B F583              MOV     DPH,A
+001D8D EC                MOV     A,R4
+001D8E F0                MOVX    @DPTR,A
+001D8F EE                MOV     A,R6
+001D90 2478              ADD     A,#078H
+001D92 FB                MOV     R3,A
+001D93 E4                CLR     A
+001D94 3480              ADDC    A,#080H
+001D96 8B82              MOV     DPL,R3
+001D98 F583              MOV     DPH,A
+001D9A E0                MOVX    A,@DPTR
+001D9B 4D                ORL     A,R5
+001D9C F0                MOVX    @DPTR,A
+001D9D EE                MOV     A,R6
+001D9E 2470              ADD     A,#070H
+001DA0 FB                MOV     R3,A
+001DA1 E4                CLR     A
+001DA2 3480              ADDC    A,#080H
+001DA4 8B82              MOV     DPL,R3
+001DA6 F583              MOV     DPH,A
+001DA8 E0                MOVX    A,@DPTR
+001DA9 FC                MOV     R4,A
+001DAA ED                MOV     A,R5
+001DAB F4                CPL     A
+001DAC FB                MOV     R3,A
+001DAD EC                MOV     A,R4
+001DAE 5B                ANL     A,R3
+001DAF F0                MOVX    @DPTR,A
   279: 	}
-001E0C 0F                INC     R7
-001E0D A18C              AJMP    ?C0048?KEYSCAN
-001E0F         ?C0049?KEYSCAN:
+001DB0 0F                INC     R7
+001DB1 A130              AJMP    ?C0048?KEYSCAN
+001DB3         ?C0049?KEYSCAN:
   280: 
   281: 	for (i=0; col[i]!=0; i++) {
-001E0F E4                CLR     A
-001E10 FF                MOV     R7,A
-001E11         ?C0051?KEYSCAN:
-001E11 EF                MOV     A,R7
-001E12 90060C            MOV     DPTR,#col
-001E15 93                MOVC    A,@A+DPTR
-001E16 6040              JZ      ?C0055?KEYSCAN
+001DB3 E4                CLR     A
+001DB4 FF                MOV     R7,A
+001DB5         ?C0051?KEYSCAN:
+001DB5 EF                MOV     A,R7
+001DB6 90060C            MOV     DPTR,#col
+001DB9 93                MOVC    A,@A+DPTR
+001DBA 6040              JZ      ?C0055?KEYSCAN
   282: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
-001E18 74BC              MOV     A,#LOW ksSelMapCurr
-001E1A 2F                ADD     A,R7
-001E1B F582              MOV     DPL,A
-001E1D E4                CLR     A
-001E1E 344D              ADDC    A,#HIGH ksSelMapCurr
-001E20 F583              MOV     DPH,A
-001E22 E0                MOVX    A,@DPTR
-001E23 FE                MOV     R6,A
-001E24 74A8              MOV     A,#LOW ksSelMapCheck
-001E26 2F                ADD     A,R7
-001E27 F582              MOV     DPL,A
-001E29 E4                CLR     A
-001E2A 344D              ADDC    A,#HIGH ksSelMapCheck
-001E2C F583              MOV     DPH,A
-001E2E E0                MOVX    A,@DPTR
-001E2F 6E                XRL     A,R6
-001E30 6023              JZ      ?C0053?KEYSCAN
+001DBC 74BC              MOV     A,#LOW ksSelMapCurr
+001DBE 2F                ADD     A,R7
+001DBF F582              MOV     DPL,A
+001DC1 E4                CLR     A
+001DC2 344D              ADDC    A,#HIGH ksSelMapCurr
+001DC4 F583              MOV     DPH,A
+001DC6 E0                MOVX    A,@DPTR
+001DC7 FE                MOV     R6,A
+001DC8 74A8              MOV     A,#LOW ksSelMapCheck
+001DCA 2F                ADD     A,R7
+001DCB F582              MOV     DPL,A
+001DCD E4                CLR     A
+001DCE 344D              ADDC    A,#HIGH ksSelMapCheck
+001DD0 F583              MOV     DPH,A
+001DD2 E0                MOVX    A,@DPTR
+001DD3 6E                XRL     A,R6
+001DD4 6023              JZ      ?C0053?KEYSCAN
   283: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
-001E32 74BC              MOV     A,#LOW ksSelMapCurr
-001E34 2F                ADD     A,R7
-001E35 F582              MOV     DPL,A
-001E37 E4                CLR     A
-001E38 344D              ADDC    A,#HIGH ksSelMapCurr
-001E3A F583              MOV     DPH,A
-001E3C C083              PUSH    DPH
-001E3E C082              PUSH    DPL
-001E40 E0                MOVX    A,@DPTR
-001E41 FE                MOV     R6,A
-001E42 74A8              MOV     A,#LOW ksSelMapCheck
-001E44 2F                ADD     A,R7
-001E45 F582              MOV     DPL,A
-001E47 E4                CLR     A
-001E48 344D              ADDC    A,#HIGH ksSelMapCheck
-001E4A F583              MOV     DPH,A
-001E4C E0                MOVX    A,@DPTR
-001E4D FD                MOV     R5,A
-001E4E EE                MOV     A,R6
-001E4F 5D                ANL     A,R5
-001E50 D082              POP     DPL
-001E52 D083              POP     DPH
-001E54 F0                MOVX    @DPTR,A
+001DD6 74BC              MOV     A,#LOW ksSelMapCurr
+001DD8 2F                ADD     A,R7
+001DD9 F582              MOV     DPL,A
+001DDB E4                CLR     A
+001DDC 344D              ADDC    A,#HIGH ksSelMapCurr
+001DDE F583              MOV     DPH,A
+001DE0 C083              PUSH    DPH
+001DE2 C082              PUSH    DPL
+001DE4 E0                MOVX    A,@DPTR
+001DE5 FE                MOV     R6,A
+001DE6 74A8              MOV     A,#LOW ksSelMapCheck
+001DE8 2F                ADD     A,R7
+001DE9 F582              MOV     DPL,A
+001DEB E4                CLR     A
+001DEC 344D              ADDC    A,#HIGH ksSelMapCheck
+001DEE F583              MOV     DPH,A
+001DF0 E0                MOVX    A,@DPTR
+001DF1 FD                MOV     R5,A
+001DF2 EE                MOV     A,R6
+001DF3 5D                ANL     A,R5
+001DF4 D082              POP     DPL
+001DF6 D083              POP     DPH
+001DF8 F0                MOVX    @DPTR,A
   284: 		}
   285: 	}
-001E55         ?C0053?KEYSCAN:
-001E55 0F                INC     R7
-001E56 80B9              SJMP    ?C0051?KEYSCAN
+001DF9         ?C0053?KEYSCAN:
+001DF9 0F                INC     R7
+001DFA 80B9              SJMP    ?C0051?KEYSCAN
   286: }
-001E58         ?C0055?KEYSCAN:
-001E58 22                RET     
+001DFC         ?C0055?KEYSCAN:
+001DFC 22                RET     
 ----- FUNCTION KS_ScanMatrix (END) -------
 
 
------ FUNCTION _kb_combination_key_press (BEGIN) -----
- FILE: 'kb_process.c'
-  319: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
-  320: {
-;---- Variable 'press_state' assigned to Register 'R7' ----
-;---- Variable 'standrad_key' assigned to Register 'R3' ----
-;---- Variable 'special_key' assigned to Register 'R5' ----
-  321: 	g_variable.key_combination_ctrl = special_key;	
-  322: 	g_variable.key_combination_keyvalue = standrad_key;
-001E59 904CF5            MOV     DPTR,#g_variable+036H
-001E5C ED                MOV     A,R5
-001E5D F0                MOVX    @DPTR,A
-  323: 
-001E5E A3                INC     DPTR
-001E5F EB                MOV     A,R3
-001E60 F0                MOVX    @DPTR,A
-  324: 	if(press_state & 1)
-001E61 EF                MOV     A,R7
-001E62 30E012            JNB     ACC.0,?C0076?KB_PROCESS
-  325: 	{
-  326: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
-001E65 904CF4            MOV     DPTR,#g_variable+035H
-001E68 E0                MOVX    A,@DPTR
-001E69 B40304            CJNE    A,#03H,?C0077?KB_PROCESS
-  327: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
-001E6C 7402              MOV     A,#02H
-001E6E F0                MOVX    @DPTR,A
-001E6F 22                RET     
-001E70         ?C0077?KB_PROCESS:
-  328: 		else	
-  329: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-001E70 904CF4            MOV     DPTR,#g_variable+035H
-001E73 7401              MOV     A,#01H
-001E75 F0                MOVX    @DPTR,A
-  330: 	}
-001E76 22                RET     
-001E77         ?C0076?KB_PROCESS:
-  331: 	else
-  332: 	{
-  333: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-001E77 904CF4            MOV     DPTR,#g_variable+035H
-001E7A 7404              MOV     A,#04H
-001E7C F0                MOVX    @DPTR,A
-  334: 	}
-  335: 
-  336: }
-001E7D 22                RET     
------ FUNCTION _kb_combination_key_press (END) -------
-
-
 ----- FUNCTION System_Hardware_reset (BEGIN) -----
  FILE: 'sys.c'
-   58: static void System_Hardware_reset()
-   59: {
-   60: 	m_reset_reg = 1;
-   61: 	while(1);
-001E7E 908010            MOV     DPTR,#m_reset_reg
-001E81 7401              MOV     A,#01H
-001E83 F0                MOVX    @DPTR,A
-001E84         ?C0004?SYS:
-   62: }
-001E84 80FE              SJMP    ?C0004?SYS
-001E86 22                RET     
+   59: static void System_Hardware_reset()
+   60: {
+   61: 	m_reset_reg = 1;
+   62: 	while(1);
+001DFD 908010            MOV     DPTR,#m_reset_reg
+001E00 7401              MOV     A,#01H
+001E02 F0                MOVX    @DPTR,A
+001E03         ?C0004?SYS:
+   63: }
+001E03 80FE              SJMP    ?C0004?SYS
+001E05 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
 ----- FUNCTION System_Reset_Connect (BEGIN) -----
  FILE: 'sys.c'
-   70: void System_Reset_Connect()
-   71: {
-   72: 	System_Hardware_reset();
-   73: }
-001E87 80F5              SJMP    System_Hardware_reset
+   71: void System_Reset_Connect()
+   72: {
+   73: 	System_Hardware_reset();
+   74: }
+001E06 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
 ----- FUNCTION _kb_cb_Hid (BEGIN) -----
  FILE: 'sys.c'
-   80: static void kb_cb_Hid(byte *p,byte len) {
-   81: 	//p[0] is hid type,always is 1(kb) now
-001E89 904E8B            MOV     DPTR,#len
-001E8C ED                MOV     A,R5
-001E8D F0                MOVX    @DPTR,A
+   81: static void kb_cb_Hid(byte *p,byte len) {
+   82: 	//p[0] is hid type,always is 1(kb) now
+001E08 904E8B            MOV     DPTR,#len
+001E0B ED                MOV     A,R5
+001E0C F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
-   82: 	byte temp = p[1];
-001E8E 900001            MOV     DPTR,#01H
-001E91 1203CF            LCALL   ?C?CLDOPTR
-001E94 904E8C            MOV     DPTR,#temp
-001E97 F0                MOVX    @DPTR,A
-   83: 
-   84: 	if (len<2) {
-   85: 		return;
-   86: 	}
-   87: }
-001E98 22                RET     
+   83: 	byte temp = p[1];
+001E0D 900001            MOV     DPTR,#01H
+001E10 1203CF            LCALL   ?C?CLDOPTR
+001E13 904E8C            MOV     DPTR,#temp
+001E16 F0                MOVX    @DPTR,A
+   84: 
+   85: 	if (len<2) {
+   86: 		return;
+   87: 	}
+   88: }
+001E17 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
 ----- FUNCTION YC_connect_timeout_500ms (BEGIN) -----
  FILE: 'sys.c'
-  199: void YC_connect_timeout_500ms()
-  200: {
-  201: 	
-  202: //system long sleep timer
-  203: 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-001E99 904CC5            MOV     DPTR,#g_variable+06H
-001E9C E0                MOVX    A,@DPTR
-001E9D B40311            CJNE    A,#03H,?C0037?SYS
-  204: 	{
-  205: 		if (g_variable.sleepTimer == STANDBY_TIMER_30MIN)
-001EA0 904CE3            MOV     DPTR,#g_variable+024H
-001EA3 E0                MOVX    A,@DPTR
-001EA4 640E              XRL     A,#0EH
-001EA6 7004              JNZ     ?C0092?SYS
-001EA8 A3                INC     DPTR
-001EA9 E0                MOVX    A,@DPTR
-001EAA 6410              XRL     A,#010H
-001EAC         ?C0092?SYS:
-001EAC 702D              JNZ     ?C0044?SYS
-  206: 			System_long_sleep();
-001EAE 0207F1            LJMP    System_long_sleep
-  207: 	}
-001EB1         ?C0037?SYS:
-  208: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
-001EB1 904CC5            MOV     DPTR,#g_variable+06H
-001EB4 E0                MOVX    A,@DPTR
-001EB5 B40114            CJNE    A,#01H,?C0040?SYS
-  209: 	{
-  210: 		if (g_variable.sleepTimer == G24_PAIRING_TIME_OUT_20S)
-001EB8 904CE3            MOV     DPTR,#g_variable+024H
-001EBB E0                MOVX    A,@DPTR
-001EBC 7004              JNZ     ?C0093?SYS
-001EBE A3                INC     DPTR
-001EBF E0                MOVX    A,@DPTR
-001EC0 6428              XRL     A,#028H
-001EC2         ?C0093?SYS:
-001EC2 7017              JNZ     ?C0044?SYS
-  211: 		{
-  212: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
-001EC4 7F22              MOV     R7,#022H
-001EC6 1207F8            LCALL   _IPC_TxControlCmd
-  213: 			System_long_sleep();
-001EC9 0207F1            LJMP    System_long_sleep
-  214: 		}
-  215: 	}
-001ECC         ?C0040?SYS:
-  216: 	else
-  217: 	{
-  218: 		if (g_variable.sleepTimer == RECONNECT_TIMER_10S)
-001ECC 904CE3            MOV     DPTR,#g_variable+024H
-001ECF E0                MOVX    A,@DPTR
-001ED0 7004              JNZ     ?C0094?SYS
-001ED2 A3                INC     DPTR
-001ED3 E0                MOVX    A,@DPTR
-001ED4 6414              XRL     A,#014H
-001ED6         ?C0094?SYS:
-001ED6 7003              JNZ     ?C0044?SYS
-  219: 		{
-  220: 			System_long_sleep();
-001ED8 1207F1            LCALL   System_long_sleep
-  221: 		}
-  222: 	}
-  223: }
-001EDB         ?C0044?SYS:
-001EDB 22                RET     
+  200: void YC_connect_timeout_500ms()
+  201: {
+  202: 	
+  203: //system long sleep timer
+  204: 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+001E18 904CC5            MOV     DPTR,#g_variable+06H
+001E1B E0                MOVX    A,@DPTR
+001E1C B40311            CJNE    A,#03H,?C0037?SYS
+  205: 	{
+  206: 		if (g_variable.sleepTimer == STANDBY_TIMER_30MIN)
+001E1F 904CE3            MOV     DPTR,#g_variable+024H
+001E22 E0                MOVX    A,@DPTR
+001E23 640E              XRL     A,#0EH
+001E25 7004              JNZ     ?C0096?SYS
+001E27 A3                INC     DPTR
+001E28 E0                MOVX    A,@DPTR
+001E29 6410              XRL     A,#010H
+001E2B         ?C0096?SYS:
+001E2B 702D              JNZ     ?C0044?SYS
+  207: 			System_long_sleep();
+001E2D 0207F1            LJMP    System_long_sleep
+  208: 	}
+001E30         ?C0037?SYS:
+  209: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
+001E30 904CC5            MOV     DPTR,#g_variable+06H
+001E33 E0                MOVX    A,@DPTR
+001E34 B40114            CJNE    A,#01H,?C0040?SYS
+  210: 	{
+  211: 		if (g_variable.sleepTimer == G24_PAIRING_TIME_OUT_20S)
+001E37 904CE3            MOV     DPTR,#g_variable+024H
+001E3A E0                MOVX    A,@DPTR
+001E3B 7004              JNZ     ?C0097?SYS
+001E3D A3                INC     DPTR
+001E3E E0                MOVX    A,@DPTR
+001E3F 6428              XRL     A,#028H
+001E41         ?C0097?SYS:
+001E41 7017              JNZ     ?C0044?SYS
+  212: 		{
+  213: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
+001E43 7F22              MOV     R7,#022H
+001E45 1207F8            LCALL   _IPC_TxControlCmd
+  214: 			System_long_sleep();
+001E48 0207F1            LJMP    System_long_sleep
+  215: 		}
+  216: 	}
+001E4B         ?C0040?SYS:
+  217: 	else
+  218: 	{
+  219: 		if (g_variable.sleepTimer == RECONNECT_TIMER_10S)
+001E4B 904CE3            MOV     DPTR,#g_variable+024H
+001E4E E0                MOVX    A,@DPTR
+001E4F 7004              JNZ     ?C0098?SYS
+001E51 A3                INC     DPTR
+001E52 E0                MOVX    A,@DPTR
+001E53 6414              XRL     A,#014H
+001E55         ?C0098?SYS:
+001E55 7003              JNZ     ?C0044?SYS
+  220: 		{
+  221: 			System_long_sleep();
+001E57 1207F1            LCALL   System_long_sleep
+  222: 		}
+  223: 	}
+  224: }
+001E5A         ?C0044?SYS:
+001E5A 22                RET     
 ----- FUNCTION YC_connect_timeout_500ms (END) -------
 
 
 ----- FUNCTION kb_cb_Timer100ms (BEGIN) -----
  FILE: 'sys.c'
-  306: static void kb_cb_Timer100ms()
-  307: {
-  308: 
-  309: 	if (g_variable.delay_enter_lpm_timer) 
-001EDC 904CEA            MOV     DPTR,#g_variable+02BH
-001EDF E0                MOVX    A,@DPTR
-001EE0 6002              JZ      ?C0063?SYS
+  307: static void kb_cb_Timer100ms()
+  308: {
+  309: 	if (g_variable.reconn_timer_count !=0)
   310: 	{
-  311: 		g_variable.delay_enter_lpm_timer --;
-001EE2 14                DEC     A
-001EE3 F0                MOVX    @DPTR,A
-  312: 	}
-001EE4         ?C0063?SYS:
-  313: 
-  314: 	if(g_variable.recon_delay)
-001EE4 904CEF            MOV     DPTR,#g_variable+030H
-001EE7 E0                MOVX    A,@DPTR
-001EE8 6002              JZ      ?C0064?SYS
-  315: 		g_variable.recon_delay--;
-001EEA 14                DEC     A
-001EEB F0                MOVX    @DPTR,A
-001EEC         ?C0064?SYS:
-  316: 
-  317: 	if (g_variable.powerOn_timer != 0)
-001EEC 904CE5            MOV     DPTR,#g_variable+026H
-001EEF E0                MOVX    A,@DPTR
-001EF0 6018              JZ      ?C0065?SYS
-  318: 	{	
-  319: 		g_variable.powerOn_timer--;
-001EF2 14                DEC     A
-001EF3 F0                MOVX    @DPTR,A
-  320: 		GPIO_Setout(G24_LED_GPIO,LED_ON);
-001EF4 D201              SETB    ?_GPIO_Setout?BIT
-001EF6 7F1E              MOV     R7,#01EH
-001EF8 120784            LCALL   _GPIO_Setout
-  321: 		if (!g_variable.powerOn_timer)
-001EFB 904CE5            MOV     DPTR,#g_variable+026H
-001EFE E0                MOVX    A,@DPTR
-001EFF 7034              JNZ     ?C0067?SYS
-  322: 		{
-  323: 			GPIO_Setout(G24_LED_GPIO,LED_OFF);
-001F01 C201              CLR     ?_GPIO_Setout?BIT
-001F03 7F1E              MOV     R7,#01EH
-001F05 120784            LCALL   _GPIO_Setout
+001E5B 904CF9            MOV     DPTR,#g_variable+03AH
+001E5E E0                MOVX    A,@DPTR
+001E5F 6018              JZ      ?C0063?SYS
+  311: 		g_variable.reconn_timer_count --;
+  312: 		if (g_variable.reconn_timer_count == 0) 
+001E61 14                DEC     A
+001E62 F0                MOVX    @DPTR,A
+  313: 		{
+001E63 E0                MOVX    A,@DPTR
+001E64 7013              JNZ     ?C0063?SYS
+  314: 			if ((g_variable.g24_currentState ==  CHANGE_TO_24G_CONNECTED))
+  315: 			{
+001E66 904CC5            MOV     DPTR,#g_variable+06H
+001E69 E0                MOVX    A,@DPTR
+001E6A B40307            CJNE    A,#03H,?C0065?SYS
+  316: 				g_variable.reconn_timer_count = 0;
+  317: 
+001E6D E4                CLR     A
+001E6E 904CF9            MOV     DPTR,#g_variable+03AH
+001E71 F0                MOVX    @DPTR,A
+  318: 			}
+001E72 8005              SJMP    ?C0063?SYS
+001E74         ?C0065?SYS:
+  319: 			else 
+  320: 			{	
+  321: //				YC_key_action_handle(KEY_PAIRING_24G);
+  322: 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
+001E74 7F23              MOV     R7,#023H
+001E76 1207F8            LCALL   _IPC_TxControlCmd
+  323: 			}
   324: 		}
   325: 	}
-001F08 802B              SJMP    ?C0067?SYS
-001F0A         ?C0065?SYS:
-  326: 	else
-  327: 	if (g_variable.pairing_g24_timeout == 0) //bt  pairing
-001F0A 904CEE            MOV     DPTR,#g_variable+02FH
-001F0D E0                MOVX    A,@DPTR
-001F0E 7025              JNZ     ?C0067?SYS
+001E79         ?C0063?SYS:
+  326: 
+  327: 	if (g_variable.delay_enter_lpm_timer) 
+001E79 904CEA            MOV     DPTR,#g_variable+02BH
+001E7C E0                MOVX    A,@DPTR
+001E7D 6002              JZ      ?C0067?SYS
   328: 	{
-  329: 		if(g_variable.battery_low_led_flash_interval)
-001F10 904CE2            MOV     DPTR,#g_variable+023H
-001F13 E0                MOVX    A,@DPTR
-001F14 601F              JZ      ?C0067?SYS
-  330: 		{
-  331: 			g_variable.battery_low_led_flash_interval--;
-001F16 14                DEC     A
-001F17 F0                MOVX    @DPTR,A
-  332: 			if(g_variable.battery_low_led_flash_interval & 0x02)
-001F18 E0                MOVX    A,@DPTR
-001F19 30E109            JNB     ACC.1,?C0070?SYS
-  333: 			{
-  334: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-001F1C D201              SETB    ?_GPIO_Setout?BIT
-001F1E 7F1E              MOV     R7,#01EH
-001F20 120784            LCALL   _GPIO_Setout
-  335: 			}
-001F23 8007              SJMP    ?C0071?SYS
-001F25         ?C0070?SYS:
-  336: 			else
-  337: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
-001F25 C201              CLR     ?_GPIO_Setout?BIT
-001F27 7F1E              MOV     R7,#01EH
-001F29 120784            LCALL   _GPIO_Setout
-001F2C         ?C0071?SYS:
-  338: 			if(!g_variable.battery_low_led_flash_interval)
-001F2C 904CE2            MOV     DPTR,#g_variable+023H
-001F2F E0                MOVX    A,@DPTR
-001F30 7003              JNZ     ?C0067?SYS
-  339: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-001F32 7404              MOV     A,#04H
-001F34 F0                MOVX    @DPTR,A
-  340: 		}
-  341: 	}
-001F35         ?C0067?SYS:
-  342: 	
-  343: // The dongle must receive data within 200ms, otherwise it will be forced to lift
-  344: 	if(!long_press_flag)
-001F35 904DD5            MOV     DPTR,#long_press_flag
-001F38 E0                MOVX    A,@DPTR
-001F39 702D              JNZ     ?C0073?SYS
-  345: 	{
-  346: 		if (repeat_send_24g == 1)
-001F3B 904DD6            MOV     DPTR,#repeat_send_24g
-001F3E E0                MOVX    A,@DPTR
-001F3F 6401              XRL     A,#01H
-001F41 7025              JNZ     ?C0073?SYS
-  347: 		{
-  348: 			repeat_send_24g = 0;
-001F43 F0                MOVX    @DPTR,A
-  349: 
-  350: 			 if (multikey[0] != 0)
-001F44 904DE5            MOV     DPTR,#multikey
-001F47 E0                MOVX    A,@DPTR
-001F48 600D              JZ      ?C0075?SYS
+  329: 		g_variable.delay_enter_lpm_timer --;
+001E7F 14                DEC     A
+001E80 F0                MOVX    @DPTR,A
+  330: 	}
+001E81         ?C0067?SYS:
+  331: 
+  332: 	if(g_variable.recon_delay)
+001E81 904CEF            MOV     DPTR,#g_variable+030H
+001E84 E0                MOVX    A,@DPTR
+001E85 6002              JZ      ?C0068?SYS
+  333: 		g_variable.recon_delay--;
+001E87 14                DEC     A
+001E88 F0                MOVX    @DPTR,A
+001E89         ?C0068?SYS:
+  334: 
+  335: 	if (g_variable.powerOn_timer != 0)
+001E89 904CE5            MOV     DPTR,#g_variable+026H
+001E8C E0                MOVX    A,@DPTR
+001E8D 6018              JZ      ?C0069?SYS
+  336: 	{	
+  337: 		g_variable.powerOn_timer--;
+001E8F 14                DEC     A
+001E90 F0                MOVX    @DPTR,A
+  338: 		GPIO_Setout(G24_LED_GPIO,LED_ON);
+001E91 D201              SETB    ?_GPIO_Setout?BIT
+001E93 7F1E              MOV     R7,#01EH
+001E95 120784            LCALL   _GPIO_Setout
+  339: 		if (!g_variable.powerOn_timer)
+001E98 904CE5            MOV     DPTR,#g_variable+026H
+001E9B E0                MOVX    A,@DPTR
+001E9C 7034              JNZ     ?C0071?SYS
+  340: 		{
+  341: 			GPIO_Setout(G24_LED_GPIO,LED_OFF);
+001E9E C201              CLR     ?_GPIO_Setout?BIT
+001EA0 7F1E              MOV     R7,#01EH
+001EA2 120784            LCALL   _GPIO_Setout
+  342: 		}
+  343: 	}
+001EA5 802B              SJMP    ?C0071?SYS
+001EA7         ?C0069?SYS:
+  344: 	else
+  345: 	if (g_variable.pairing_g24_timeout == 0) //bt  pairing
+001EA7 904CEE            MOV     DPTR,#g_variable+02FH
+001EAA E0                MOVX    A,@DPTR
+001EAB 7025              JNZ     ?C0071?SYS
+  346: 	{
+  347: 		if(g_variable.battery_low_led_flash_interval)
+001EAD 904CE2            MOV     DPTR,#g_variable+023H
+001EB0 E0                MOVX    A,@DPTR
+001EB1 601F              JZ      ?C0071?SYS
+  348: 		{
+  349: 			g_variable.battery_low_led_flash_interval--;
+001EB3 14                DEC     A
+001EB4 F0                MOVX    @DPTR,A
+  350: 			if(g_variable.battery_low_led_flash_interval & 0x02)
+001EB5 E0                MOVX    A,@DPTR
+001EB6 30E109            JNB     ACC.1,?C0074?SYS
   351: 			{
-  352: 				IPC_TxHidData(multikey, 3);
-001F4A 7B01              MOV     R3,#01H
-001F4C 7A4D              MOV     R2,#HIGH multikey
-001F4E 79E5              MOV     R1,#LOW multikey
-001F50 7D03              MOV     R5,#03H
-001F52 120EBC            LCALL   _IPC_TxHidData
+  352: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
+001EB9 D201              SETB    ?_GPIO_Setout?BIT
+001EBB 7F1E              MOV     R7,#01EH
+001EBD 120784            LCALL   _GPIO_Setout
   353: 			}
-001F55 8011              SJMP    ?C0073?SYS
-001F57         ?C0075?SYS:
-  354: 			else if (hidBuff[0] != 0)
-001F57 904800            MOV     DPTR,#hidBuff
-001F5A E0                MOVX    A,@DPTR
-001F5B 600B              JZ      ?C0073?SYS
-  355: 			{
-  356: 
-  357: 				IPC_TxHidData(hidBuff,9);
-001F5D 7B01              MOV     R3,#01H
-001F5F 7A48              MOV     R2,#HIGH hidBuff
-001F61 7900              MOV     R1,#LOW hidBuff
-001F63 7D09              MOV     R5,#09H
-001F65 120EBC            LCALL   _IPC_TxHidData
-  358: 			}
-  359: 		}
-  360: 	}
-001F68         ?C0073?SYS:
-  361: 
-  362: 	if (delayChgInvTimer != 0){
-001F68 904DDE            MOV     DPTR,#delayChgInvTimer
-001F6B E0                MOVX    A,@DPTR
-001F6C 6003              JZ      ?C0079?SYS
-  363: 		delayChgInvTimer--;
-001F6E E0                MOVX    A,@DPTR
-001F6F 14                DEC     A
-001F70 F0                MOVX    @DPTR,A
-  364: 	}
-  365: }
-001F71         ?C0079?SYS:
-001F71 22                RET     
+001EC0 8007              SJMP    ?C0075?SYS
+001EC2         ?C0074?SYS:
+  354: 			else
+  355: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
+001EC2 C201              CLR     ?_GPIO_Setout?BIT
+001EC4 7F1E              MOV     R7,#01EH
+001EC6 120784            LCALL   _GPIO_Setout
+001EC9         ?C0075?SYS:
+  356: 			if(!g_variable.battery_low_led_flash_interval)
+001EC9 904CE2            MOV     DPTR,#g_variable+023H
+001ECC E0                MOVX    A,@DPTR
+001ECD 7003              JNZ     ?C0071?SYS
+  357: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
+001ECF 7404              MOV     A,#04H
+001ED1 F0                MOVX    @DPTR,A
+  358: 		}
+  359: 	}
+001ED2         ?C0071?SYS:
+  360: 	
+  361: // The dongle must receive data within 200ms, otherwise it will be forced to lift
+  362: 	if(!long_press_flag)
+001ED2 904DD5            MOV     DPTR,#long_press_flag
+001ED5 E0                MOVX    A,@DPTR
+001ED6 702D              JNZ     ?C0077?SYS
+  363: 	{
+  364: 		if (repeat_send_24g == 1)
+001ED8 904DD6            MOV     DPTR,#repeat_send_24g
+001EDB E0                MOVX    A,@DPTR
+001EDC 6401              XRL     A,#01H
+001EDE 7025              JNZ     ?C0077?SYS
+  365: 		{
+  366: 			repeat_send_24g = 0;
+001EE0 F0                MOVX    @DPTR,A
+  367: 
+  368: 			 if (multikey[0] != 0)
+001EE1 904DE5            MOV     DPTR,#multikey
+001EE4 E0                MOVX    A,@DPTR
+001EE5 600D              JZ      ?C0079?SYS
+  369: 			{
+  370: 				IPC_TxHidData(multikey, 3);
+001EE7 7B01              MOV     R3,#01H
+001EE9 7A4D              MOV     R2,#HIGH multikey
+001EEB 79E5              MOV     R1,#LOW multikey
+001EED 7D03              MOV     R5,#03H
+001EEF 120E69            LCALL   _IPC_TxHidData
+  371: 			}
+001EF2 8011              SJMP    ?C0077?SYS
+001EF4         ?C0079?SYS:
+  372: 			else if (hidBuff[0] != 0)
+001EF4 904800            MOV     DPTR,#hidBuff
+001EF7 E0                MOVX    A,@DPTR
+001EF8 600B              JZ      ?C0077?SYS
+  373: 			{
+  374: 
+  375: 				IPC_TxHidData(hidBuff,9);
+001EFA 7B01              MOV     R3,#01H
+001EFC 7A48              MOV     R2,#HIGH hidBuff
+001EFE 7900              MOV     R1,#LOW hidBuff
+001F00 7D09              MOV     R5,#09H
+001F02 120E69            LCALL   _IPC_TxHidData
+  376: 			}
+  377: 		}
+  378: 	}
+001F05         ?C0077?SYS:
+  379: 
+  380: 	if (delayChgInvTimer != 0){
+001F05 904DDE            MOV     DPTR,#delayChgInvTimer
+001F08 E0                MOVX    A,@DPTR
+001F09 6003              JZ      ?C0083?SYS
+  381: 		delayChgInvTimer--;
+001F0B E0                MOVX    A,@DPTR
+001F0C 14                DEC     A
+001F0D F0                MOVX    @DPTR,A
+  382: 	}
+  383: }
+001F0E         ?C0083?SYS:
+001F0E 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
@@ -5892,13 +5863,13 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-001F72 904CD3            MOV     DPTR,#g_variable+014H
-001F75 7405              MOV     A,#05H
-001F77 F0                MOVX    @DPTR,A
+001F0F 904CD3            MOV     DPTR,#g_variable+014H
+001F12 7405              MOV     A,#05H
+001F14 F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-001F78 E4                CLR     A
-001F79 A3                INC     DPTR
-001F7A F0                MOVX    @DPTR,A
+001F15 E4                CLR     A
+001F16 A3                INC     DPTR
+001F17 F0                MOVX    @DPTR,A
    10: 
    11: #ifdef ADC_TYPE_HVIN 	
    12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -5919,130 +5890,130 @@
    27: #endif
    28: #ifdef ADC_TYPE_GPIO
    29: 	m_adc_channel = ADC_CHANNEL;
-001F7B 904C90            MOV     DPTR,#m_adc_channel
-001F7E 7437              MOV     A,#037H
-001F80 F0                MOVX    @DPTR,A
+001F18 904C90            MOV     DPTR,#m_adc_channel
+001F1B 7437              MOV     A,#037H
+001F1D F0                MOVX    @DPTR,A
    30: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-001F81 E4                CLR     A
-001F82 FF                MOV     R7,A
-001F83         ?C0001?ADC:
+001F1E E4                CLR     A
+001F1F FF                MOV     R7,A
+001F20         ?C0001?ADC:
    31: 	{
    32: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE_GPIO;
-001F83 EF                MOV     A,R7
-001F84 25E0              ADD     A,ACC
-001F86 24D6              ADD     A,#LOW g_variable+017H
-001F88 F582              MOV     DPL,A
-001F8A E4                CLR     A
-001F8B 344C              ADDC    A,#HIGH g_variable+017H
-001F8D F583              MOV     DPH,A
-001F8F 7462              MOV     A,#062H
-001F91 F0                MOVX    @DPTR,A
-001F92 A3                INC     DPTR
-001F93 F0                MOVX    @DPTR,A
+001F20 EF                MOV     A,R7
+001F21 25E0              ADD     A,ACC
+001F23 24D6              ADD     A,#LOW g_variable+017H
+001F25 F582              MOV     DPL,A
+001F27 E4                CLR     A
+001F28 344C              ADDC    A,#HIGH g_variable+017H
+001F2A F583              MOV     DPH,A
+001F2C 7462              MOV     A,#062H
+001F2E F0                MOVX    @DPTR,A
+001F2F A3                INC     DPTR
+001F30 F0                MOVX    @DPTR,A
    33: 	}
-001F94 0F                INC     R7
-001F95 EF                MOV     A,R7
-001F96 B404EA            CJNE    A,#04H,?C0001?ADC
-001F99         ?C0002?ADC:
+001F31 0F                INC     R7
+001F32 EF                MOV     A,R7
+001F33 B404EA            CJNE    A,#04H,?C0001?ADC
+001F36         ?C0002?ADC:
    34: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V1+m_adc0vBase;
-001F99 904C91            MOV     DPTR,#m_adc0vBase
-001F9C E0                MOVX    A,@DPTR
-001F9D FE                MOV     R6,A
-001F9E A3                INC     DPTR
-001F9F E0                MOVX    A,@DPTR
-001FA0 FF                MOV     R7,A
-001FA1 C3                CLR     C
-001FA2 904C94            MOV     DPTR,#m_adc3vValue+01H
-001FA5 E0                MOVX    A,@DPTR
-001FA6 9F                SUBB    A,R7
-001FA7 FD                MOV     R5,A
-001FA8 904C93            MOV     DPTR,#m_adc3vValue
-001FAB E0                MOVX    A,@DPTR
-001FAC 9E                SUBB    A,R6
-001FAD FC                MOV     R4,A
-001FAE E4                CLR     A
-001FAF 120206            LCALL   ?C?FCASTI
-001FB2 7BC3              MOV     R3,#0C3H
-001FB4 7AF5              MOV     R2,#0F5H
-001FB6 79A8              MOV     R1,#0A8H
-001FB8 783E              MOV     R0,#03EH
-001FBA 1200FB            LCALL   ?C?FPMUL
-001FBD C004              PUSH    AR4
-001FBF C005              PUSH    AR5
-001FC1 C006              PUSH    AR6
-001FC3 C007              PUSH    AR7
-001FC5 904C91            MOV     DPTR,#m_adc0vBase
-001FC8 E0                MOVX    A,@DPTR
-001FC9 FC                MOV     R4,A
-001FCA A3                INC     DPTR
-001FCB E0                MOVX    A,@DPTR
-001FCC FD                MOV     R5,A
-001FCD E4                CLR     A
-001FCE 120206            LCALL   ?C?FCASTI
-001FD1 D003              POP     AR3
-001FD3 D002              POP     AR2
-001FD5 D001              POP     AR1
-001FD7 D000              POP     AR0
-001FD9 12000A            LCALL   ?C?FPADD
-001FDC 12023F            LCALL   ?C?CASTF
-001FDF 904CDE            MOV     DPTR,#g_variable+01FH
-001FE2 EE                MOV     A,R6
-001FE3 F0                MOVX    @DPTR,A
-001FE4 A3                INC     DPTR
-001FE5 EF                MOV     A,R7
-001FE6 F0                MOVX    @DPTR,A
+001F36 904C91            MOV     DPTR,#m_adc0vBase
+001F39 E0                MOVX    A,@DPTR
+001F3A FE                MOV     R6,A
+001F3B A3                INC     DPTR
+001F3C E0                MOVX    A,@DPTR
+001F3D FF                MOV     R7,A
+001F3E C3                CLR     C
+001F3F 904C94            MOV     DPTR,#m_adc3vValue+01H
+001F42 E0                MOVX    A,@DPTR
+001F43 9F                SUBB    A,R7
+001F44 FD                MOV     R5,A
+001F45 904C93            MOV     DPTR,#m_adc3vValue
+001F48 E0                MOVX    A,@DPTR
+001F49 9E                SUBB    A,R6
+001F4A FC                MOV     R4,A
+001F4B E4                CLR     A
+001F4C 120206            LCALL   ?C?FCASTI
+001F4F 7BC3              MOV     R3,#0C3H
+001F51 7AF5              MOV     R2,#0F5H
+001F53 79A8              MOV     R1,#0A8H
+001F55 783E              MOV     R0,#03EH
+001F57 1200FB            LCALL   ?C?FPMUL
+001F5A C004              PUSH    AR4
+001F5C C005              PUSH    AR5
+001F5E C006              PUSH    AR6
+001F60 C007              PUSH    AR7
+001F62 904C91            MOV     DPTR,#m_adc0vBase
+001F65 E0                MOVX    A,@DPTR
+001F66 FC                MOV     R4,A
+001F67 A3                INC     DPTR
+001F68 E0                MOVX    A,@DPTR
+001F69 FD                MOV     R5,A
+001F6A E4                CLR     A
+001F6B 120206            LCALL   ?C?FCASTI
+001F6E D003              POP     AR3
+001F70 D002              POP     AR2
+001F72 D001              POP     AR1
+001F74 D000              POP     AR0
+001F76 12000A            LCALL   ?C?FPADD
+001F79 12023F            LCALL   ?C?CASTF
+001F7C 904CDE            MOV     DPTR,#g_variable+01FH
+001F7F EE                MOV     A,R6
+001F80 F0                MOVX    @DPTR,A
+001F81 A3                INC     DPTR
+001F82 EF                MOV     A,R7
+001F83 F0                MOVX    @DPTR,A
    35: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_0V9+m_adc0vBase;
-001FE7 904C91            MOV     DPTR,#m_adc0vBase
-001FEA E0                MOVX    A,@DPTR
-001FEB FE                MOV     R6,A
-001FEC A3                INC     DPTR
-001FED E0                MOVX    A,@DPTR
-001FEE FF                MOV     R7,A
-001FEF C3                CLR     C
-001FF0 904C94            MOV     DPTR,#m_adc3vValue+01H
-001FF3 E0                MOVX    A,@DPTR
-001FF4 9F                SUBB    A,R7
-001FF5 FD                MOV     R5,A
-001FF6 904C93            MOV     DPTR,#m_adc3vValue
-001FF9 E0                MOVX    A,@DPTR
-001FFA 9E                SUBB    A,R6
-001FFB FC                MOV     R4,A
-001FFC E4                CLR     A
-001FFD 120206            LCALL   ?C?FCASTI
-002000 7B5C              MOV     R3,#05CH
-002002 7A8F              MOV     R2,#08FH
-002004 7942              MOV     R1,#042H
-002006 783E              MOV     R0,#03EH
-002008 1200FB            LCALL   ?C?FPMUL
-00200B C004              PUSH    AR4
-00200D C005              PUSH    AR5
-00200F C006              PUSH    AR6
-002011 C007              PUSH    AR7
-002013 904C91            MOV     DPTR,#m_adc0vBase
-002016 E0                MOVX    A,@DPTR
-002017 FC                MOV     R4,A
-002018 A3                INC     DPTR
-002019 E0                MOVX    A,@DPTR
-00201A FD                MOV     R5,A
-00201B E4                CLR     A
-00201C 120206            LCALL   ?C?FCASTI
-00201F D003              POP     AR3
-002021 D002              POP     AR2
-002023 D001              POP     AR1
-002025 D000              POP     AR0
-002027 12000A            LCALL   ?C?FPADD
-00202A 12023F            LCALL   ?C?CASTF
-00202D 904CE0            MOV     DPTR,#g_variable+021H
-002030 EE                MOV     A,R6
-002031 F0                MOVX    @DPTR,A
-002032 A3                INC     DPTR
-002033 EF                MOV     A,R7
-002034 F0                MOVX    @DPTR,A
+001F84 904C91            MOV     DPTR,#m_adc0vBase
+001F87 E0                MOVX    A,@DPTR
+001F88 FE                MOV     R6,A
+001F89 A3                INC     DPTR
+001F8A E0                MOVX    A,@DPTR
+001F8B FF                MOV     R7,A
+001F8C C3                CLR     C
+001F8D 904C94            MOV     DPTR,#m_adc3vValue+01H
+001F90 E0                MOVX    A,@DPTR
+001F91 9F                SUBB    A,R7
+001F92 FD                MOV     R5,A
+001F93 904C93            MOV     DPTR,#m_adc3vValue
+001F96 E0                MOVX    A,@DPTR
+001F97 9E                SUBB    A,R6
+001F98 FC                MOV     R4,A
+001F99 E4                CLR     A
+001F9A 120206            LCALL   ?C?FCASTI
+001F9D 7B5C              MOV     R3,#05CH
+001F9F 7A8F              MOV     R2,#08FH
+001FA1 7942              MOV     R1,#042H
+001FA3 783E              MOV     R0,#03EH
+001FA5 1200FB            LCALL   ?C?FPMUL
+001FA8 C004              PUSH    AR4
+001FAA C005              PUSH    AR5
+001FAC C006              PUSH    AR6
+001FAE C007              PUSH    AR7
+001FB0 904C91            MOV     DPTR,#m_adc0vBase
+001FB3 E0                MOVX    A,@DPTR
+001FB4 FC                MOV     R4,A
+001FB5 A3                INC     DPTR
+001FB6 E0                MOVX    A,@DPTR
+001FB7 FD                MOV     R5,A
+001FB8 E4                CLR     A
+001FB9 120206            LCALL   ?C?FCASTI
+001FBC D003              POP     AR3
+001FBE D002              POP     AR2
+001FC0 D001              POP     AR1
+001FC2 D000              POP     AR0
+001FC4 12000A            LCALL   ?C?FPADD
+001FC7 12023F            LCALL   ?C?CASTF
+001FCA 904CE0            MOV     DPTR,#g_variable+021H
+001FCD EE                MOV     A,R6
+001FCE F0                MOVX    @DPTR,A
+001FCF A3                INC     DPTR
+001FD0 EF                MOV     A,R7
+001FD1 F0                MOVX    @DPTR,A
    36: #endif	
    37: #endif
    38: }
-002035 22                RET     
+001FD2 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -6053,724 +6024,790 @@
    42: #ifdef  ADC_ENABLE
    43: 	byte i;
    44: 	ulong batValue = 0;
-002036 904E58            MOV     DPTR,#batValue
-002039 120533            LCALL   ?C?LSTKXDATA
-00203C 00                DB      00H
-00203D 00                DB      00H
-00203E 00                DB      00H
-00203F 00                DB      00H
+001FD3 904E58            MOV     DPTR,#batValue
+001FD6 120533            LCALL   ?C?LSTKXDATA
+001FD9 00                DB      00H
+001FDA 00                DB      00H
+001FDB 00                DB      00H
+001FDC 00                DB      00H
    45: 
    46: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
-002040 904C95            MOV     DPTR,#m_adcCurrentValue
-002043 E0                MOVX    A,@DPTR
-002044 FE                MOV     R6,A
-002045 A3                INC     DPTR
-002046 E0                MOVX    A,@DPTR
-002047 FF                MOV     R7,A
-002048 904CD4            MOV     DPTR,#g_variable+015H
-00204B E0                MOVX    A,@DPTR
-00204C FD                MOV     R5,A
-00204D 04                INC     A
-00204E F0                MOVX    @DPTR,A
-00204F ED                MOV     A,R5
-002050 25E0              ADD     A,ACC
-002052 24D6              ADD     A,#LOW g_variable+017H
-002054 F582              MOV     DPL,A
-002056 E4                CLR     A
-002057 344C              ADDC    A,#HIGH g_variable+017H
-002059 F583              MOV     DPH,A
-00205B EE                MOV     A,R6
-00205C F0                MOVX    @DPTR,A
-00205D A3                INC     DPTR
-00205E EF                MOV     A,R7
-00205F F0                MOVX    @DPTR,A
+001FDD 904C95            MOV     DPTR,#m_adcCurrentValue
+001FE0 E0                MOVX    A,@DPTR
+001FE1 FE                MOV     R6,A
+001FE2 A3                INC     DPTR
+001FE3 E0                MOVX    A,@DPTR
+001FE4 FF                MOV     R7,A
+001FE5 904CD4            MOV     DPTR,#g_variable+015H
+001FE8 E0                MOVX    A,@DPTR
+001FE9 FD                MOV     R5,A
+001FEA 04                INC     A
+001FEB F0                MOVX    @DPTR,A
+001FEC ED                MOV     A,R5
+001FED 25E0              ADD     A,ACC
+001FEF 24D6              ADD     A,#LOW g_variable+017H
+001FF1 F582              MOV     DPL,A
+001FF3 E4                CLR     A
+001FF4 344C              ADDC    A,#HIGH g_variable+017H
+001FF6 F583              MOV     DPH,A
+001FF8 EE                MOV     A,R6
+001FF9 F0                MOVX    @DPTR,A
+001FFA A3                INC     DPTR
+001FFB EF                MOV     A,R7
+001FFC F0                MOVX    @DPTR,A
    47: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
-002060 904CD4            MOV     DPTR,#g_variable+015H
-002063 E0                MOVX    A,@DPTR
-002064 C3                CLR     C
-002065 9404              SUBB    A,#04H
-002067 4002              JC      ?C0005?ADC
+001FFD 904CD4            MOV     DPTR,#g_variable+015H
+002000 E0                MOVX    A,@DPTR
+002001 C3                CLR     C
+002002 9404              SUBB    A,#04H
+002004 4002              JC      ?C0005?ADC
    48: 		g_variable.battery_value_index = 0;
-002069 E4                CLR     A
-00206A F0                MOVX    @DPTR,A
-00206B         ?C0005?ADC:
+002006 E4                CLR     A
+002007 F0                MOVX    @DPTR,A
+002008         ?C0005?ADC:
    49: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-00206B E4                CLR     A
-00206C 904E57            MOV     DPTR,#i
-00206F F0                MOVX    @DPTR,A
-002070         ?C0006?ADC:
+002008 E4                CLR     A
+002009 904E57            MOV     DPTR,#i
+00200C F0                MOVX    @DPTR,A
+00200D         ?C0006?ADC:
    50: 	{
    51: 		batValue += g_variable.battery_value[i];
-002070 904E58            MOV     DPTR,#batValue
-002073 E0                MOVX    A,@DPTR
-002074 F8                MOV     R0,A
-002075 A3                INC     DPTR
-002076 E0                MOVX    A,@DPTR
-002077 F9                MOV     R1,A
-002078 A3                INC     DPTR
-002079 E0                MOVX    A,@DPTR
-00207A FA                MOV     R2,A
-00207B A3                INC     DPTR
-00207C E0                MOVX    A,@DPTR
-00207D FB                MOV     R3,A
-00207E 904E57            MOV     DPTR,#i
-002081 E0                MOVX    A,@DPTR
-002082 25E0              ADD     A,ACC
-002084 24D6              ADD     A,#LOW g_variable+017H
-002086 F582              MOV     DPL,A
-002088 E4                CLR     A
-002089 344C              ADDC    A,#HIGH g_variable+017H
-00208B F583              MOV     DPH,A
-00208D E0                MOVX    A,@DPTR
-00208E FE                MOV     R6,A
-00208F A3                INC     DPTR
-002090 E0                MOVX    A,@DPTR
-002091 FF                MOV     R7,A
-002092 E4                CLR     A
-002093 FC                MOV     R4,A
-002094 FD                MOV     R5,A
-002095 EB                MOV     A,R3
-002096 2F                ADD     A,R7
-002097 FF                MOV     R7,A
-002098 EA                MOV     A,R2
-002099 3E                ADDC    A,R6
-00209A FE                MOV     R6,A
-00209B ED                MOV     A,R5
-00209C 39                ADDC    A,R1
-00209D FD                MOV     R5,A
-00209E EC                MOV     A,R4
-00209F 38                ADDC    A,R0
-0020A0 FC                MOV     R4,A
-0020A1 904E58            MOV     DPTR,#batValue
-0020A4 120527            LCALL   ?C?LSTXDATA
+00200D 904E58            MOV     DPTR,#batValue
+002010 E0                MOVX    A,@DPTR
+002011 F8                MOV     R0,A
+002012 A3                INC     DPTR
+002013 E0                MOVX    A,@DPTR
+002014 F9                MOV     R1,A
+002015 A3                INC     DPTR
+002016 E0                MOVX    A,@DPTR
+002017 FA                MOV     R2,A
+002018 A3                INC     DPTR
+002019 E0                MOVX    A,@DPTR
+00201A FB                MOV     R3,A
+00201B 904E57            MOV     DPTR,#i
+00201E E0                MOVX    A,@DPTR
+00201F 25E0              ADD     A,ACC
+002021 24D6              ADD     A,#LOW g_variable+017H
+002023 F582              MOV     DPL,A
+002025 E4                CLR     A
+002026 344C              ADDC    A,#HIGH g_variable+017H
+002028 F583              MOV     DPH,A
+00202A E0                MOVX    A,@DPTR
+00202B FE                MOV     R6,A
+00202C A3                INC     DPTR
+00202D E0                MOVX    A,@DPTR
+00202E FF                MOV     R7,A
+00202F E4                CLR     A
+002030 FC                MOV     R4,A
+002031 FD                MOV     R5,A
+002032 EB                MOV     A,R3
+002033 2F                ADD     A,R7
+002034 FF                MOV     R7,A
+002035 EA                MOV     A,R2
+002036 3E                ADDC    A,R6
+002037 FE                MOV     R6,A
+002038 ED                MOV     A,R5
+002039 39                ADDC    A,R1
+00203A FD                MOV     R5,A
+00203B EC                MOV     A,R4
+00203C 38                ADDC    A,R0
+00203D FC                MOV     R4,A
+00203E 904E58            MOV     DPTR,#batValue
+002041 120527            LCALL   ?C?LSTXDATA
    52: 	}
-0020A7 904E57            MOV     DPTR,#i
-0020AA E0                MOVX    A,@DPTR
-0020AB 04                INC     A
-0020AC F0                MOVX    @DPTR,A
-0020AD E0                MOVX    A,@DPTR
-0020AE B404BF            CJNE    A,#04H,?C0006?ADC
-0020B1         ?C0007?ADC:
+002044 904E57            MOV     DPTR,#i
+002047 E0                MOVX    A,@DPTR
+002048 04                INC     A
+002049 F0                MOVX    @DPTR,A
+00204A E0                MOVX    A,@DPTR
+00204B B404BF            CJNE    A,#04H,?C0006?ADC
+00204E         ?C0007?ADC:
    53: 	batValue = batValue/BAT_ARRAY_LEN;
-0020B1 904E58            MOV     DPTR,#batValue
-0020B4 E0                MOVX    A,@DPTR
-0020B5 FC                MOV     R4,A
-0020B6 A3                INC     DPTR
-0020B7 E0                MOVX    A,@DPTR
-0020B8 FD                MOV     R5,A
-0020B9 A3                INC     DPTR
-0020BA E0                MOVX    A,@DPTR
-0020BB FE                MOV     R6,A
-0020BC A3                INC     DPTR
-0020BD E0                MOVX    A,@DPTR
-0020BE FF                MOV     R7,A
-0020BF E4                CLR     A
-0020C0 7B04              MOV     R3,#04H
-0020C2 FA                MOV     R2,A
-0020C3 F9                MOV     R1,A
-0020C4 F8                MOV     R0,A
-0020C5 120476            LCALL   ?C?ULDIV
-0020C8 904E58            MOV     DPTR,#batValue
-0020CB 120527            LCALL   ?C?LSTXDATA
+00204E 904E58            MOV     DPTR,#batValue
+002051 E0                MOVX    A,@DPTR
+002052 FC                MOV     R4,A
+002053 A3                INC     DPTR
+002054 E0                MOVX    A,@DPTR
+002055 FD                MOV     R5,A
+002056 A3                INC     DPTR
+002057 E0                MOVX    A,@DPTR
+002058 FE                MOV     R6,A
+002059 A3                INC     DPTR
+00205A E0                MOVX    A,@DPTR
+00205B FF                MOV     R7,A
+00205C E4                CLR     A
+00205D 7B04              MOV     R3,#04H
+00205F FA                MOV     R2,A
+002060 F9                MOV     R1,A
+002061 F8                MOV     R0,A
+002062 120476            LCALL   ?C?ULDIV
+002065 904E58            MOV     DPTR,#batValue
+002068 120527            LCALL   ?C?LSTXDATA
    54: 
    55: 	if(g_variable.battery_value[0] < g_variable.battery_level_shutdown)
-0020CE 904CE0            MOV     DPTR,#g_variable+021H
-0020D1 E0                MOVX    A,@DPTR
-0020D2 FE                MOV     R6,A
-0020D3 A3                INC     DPTR
-0020D4 E0                MOVX    A,@DPTR
-0020D5 FF                MOV     R7,A
-0020D6 C3                CLR     C
-0020D7 904CD7            MOV     DPTR,#g_variable+018H
-0020DA E0                MOVX    A,@DPTR
-0020DB 9F                SUBB    A,R7
-0020DC 904CD6            MOV     DPTR,#g_variable+017H
-0020DF E0                MOVX    A,@DPTR
-0020E0 9E                SUBB    A,R6
-0020E1 5007              JNC     ?C0009?ADC
+00206B 904CE0            MOV     DPTR,#g_variable+021H
+00206E E0                MOVX    A,@DPTR
+00206F FE                MOV     R6,A
+002070 A3                INC     DPTR
+002071 E0                MOVX    A,@DPTR
+002072 FF                MOV     R7,A
+002073 C3                CLR     C
+002074 904CD7            MOV     DPTR,#g_variable+018H
+002077 E0                MOVX    A,@DPTR
+002078 9F                SUBB    A,R7
+002079 904CD6            MOV     DPTR,#g_variable+017H
+00207C E0                MOVX    A,@DPTR
+00207D 9E                SUBB    A,R6
+00207E 5007              JNC     ?C0009?ADC
    56: 	{
    57: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
-0020E3 904CD5            MOV     DPTR,#g_variable+016H
-0020E6 7402              MOV     A,#02H
-0020E8 F0                MOVX    @DPTR,A
+002080 904CD5            MOV     DPTR,#g_variable+016H
+002083 7402              MOV     A,#02H
+002085 F0                MOVX    @DPTR,A
    58: 	}
-0020E9 22                RET     
-0020EA         ?C0009?ADC:
+002086 22                RET     
+002087         ?C0009?ADC:
    59: 	else
    60: 	{
    61: 		if (batValue < g_variable.battery_level_low)
-0020EA 904CDE            MOV     DPTR,#g_variable+01FH
-0020ED E0                MOVX    A,@DPTR
-0020EE FE                MOV     R6,A
-0020EF A3                INC     DPTR
-0020F0 E0                MOVX    A,@DPTR
-0020F1 FF                MOV     R7,A
-0020F2 E4                CLR     A
-0020F3 FC                MOV     R4,A
-0020F4 FD                MOV     R5,A
-0020F5 904E58            MOV     DPTR,#batValue
-0020F8 E0                MOVX    A,@DPTR
-0020F9 F8                MOV     R0,A
-0020FA A3                INC     DPTR
-0020FB E0                MOVX    A,@DPTR
-0020FC F9                MOV     R1,A
-0020FD A3                INC     DPTR
-0020FE E0                MOVX    A,@DPTR
-0020FF FA                MOV     R2,A
-002100 A3                INC     DPTR
-002101 E0                MOVX    A,@DPTR
-002102 FB                MOV     R3,A
-002103 C3                CLR     C
-002104 120516            LCALL   ?C?ULCMP
-002107 500D              JNC     ?C0011?ADC
+002087 904CDE            MOV     DPTR,#g_variable+01FH
+00208A E0                MOVX    A,@DPTR
+00208B FE                MOV     R6,A
+00208C A3                INC     DPTR
+00208D E0                MOVX    A,@DPTR
+00208E FF                MOV     R7,A
+00208F E4                CLR     A
+002090 FC                MOV     R4,A
+002091 FD                MOV     R5,A
+002092 904E58            MOV     DPTR,#batValue
+002095 E0                MOVX    A,@DPTR
+002096 F8                MOV     R0,A
+002097 A3                INC     DPTR
+002098 E0                MOVX    A,@DPTR
+002099 F9                MOV     R1,A
+00209A A3                INC     DPTR
+00209B E0                MOVX    A,@DPTR
+00209C FA                MOV     R2,A
+00209D A3                INC     DPTR
+00209E E0                MOVX    A,@DPTR
+00209F FB                MOV     R3,A
+0020A0 C3                CLR     C
+0020A1 120516            LCALL   ?C?ULCMP
+0020A4 500D              JNC     ?C0011?ADC
    62: 		{
    63: 			g_variable.battery_status = BAT_STATUS_LOW;
-002109 904CD5            MOV     DPTR,#g_variable+016H
-00210C 7401              MOV     A,#01H
-00210E F0                MOVX    @DPTR,A
+0020A6 904CD5            MOV     DPTR,#g_variable+016H
+0020A9 7401              MOV     A,#01H
+0020AB F0                MOVX    @DPTR,A
    64: 			m_24g_enter_hibernate[2] = 0x12;		// 100ms
-00210F 904D3F            MOV     DPTR,#m_24g_enter_hibernate+02H
-002112 7412              MOV     A,#012H
-002114 F0                MOVX    @DPTR,A
+0020AC 904D3F            MOV     DPTR,#m_24g_enter_hibernate+02H
+0020AF 7412              MOV     A,#012H
+0020B1 F0                MOVX    @DPTR,A
    65: 		}
-002115 22                RET     
-002116         ?C0011?ADC:
+0020B2 22                RET     
+0020B3         ?C0011?ADC:
    66: 		else
    67: 		{
    68: 			g_variable.battery_status = BAT_STATUS_NONE;
-002116 E4                CLR     A
-002117 904CD5            MOV     DPTR,#g_variable+016H
-00211A F0                MOVX    @DPTR,A
+0020B3 E4                CLR     A
+0020B4 904CD5            MOV     DPTR,#g_variable+016H
+0020B7 F0                MOVX    @DPTR,A
    69: 			m_24g_enter_hibernate[2] = 0x5d;		// 510ms
-00211B 904D3F            MOV     DPTR,#m_24g_enter_hibernate+02H
-00211E 745D              MOV     A,#05DH
-002120 F0                MOVX    @DPTR,A
+0020B8 904D3F            MOV     DPTR,#m_24g_enter_hibernate+02H
+0020BB 745D              MOV     A,#05DH
+0020BD F0                MOVX    @DPTR,A
    70: 		}
    71: 	}
    72: #endif	
    73: }
-002121 22                RET     
+0020BE 22                RET     
 ----- FUNCTION YC_adc_check (END) -------
 
 
------ FUNCTION YC_adc_check_timer500ms (BEGIN) -----
- FILE: 'adc.c'
-   76: void YC_adc_check_timer500ms()
-   77: {
-   78: #ifdef  ADC_ENABLE
-   79: 	// adc check timer	
-   80: 	if (g_variable.battery_check_interval)
-002122 904CD3            MOV     DPTR,#g_variable+014H
-002125 E0                MOVX    A,@DPTR
-002126 600A              JZ      ?C0016?ADC
-   81: 	{
-   82: 		g_variable.battery_check_interval--;
-002128 14                DEC     A
-002129 F0                MOVX    @DPTR,A
-   83: 		if (g_variable.battery_check_interval == 0)
-00212A E0                MOVX    A,@DPTR
-00212B 7005              JNZ     ?C0016?ADC
-   84: 		{
-   85: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-00212D 7405              MOV     A,#05H
-00212F F0                MOVX    @DPTR,A
-   86: 			YC_adc_check();
-002130 1136              ACALL   YC_adc_check
-   87: 		}
-   88: 	}
-   89: #endif	
-   90: }
-002132         ?C0016?ADC:
-002132 22                RET     
------ FUNCTION YC_adc_check_timer500ms (END) -------
-
-
 ----- FUNCTION _bufsize (BEGIN) -----
-002133 904E6D            MOV     DPTR,#rptr
-002136 EE                MOV     A,R6
-002137 F0                MOVX    @DPTR,A
-002138 A3                INC     DPTR
-002139 EF                MOV     A,R7
-00213A F0                MOVX    @DPTR,A
-00213B 904E6F            MOV     DPTR,#wptr
-00213E EC                MOV     A,R4
-00213F F0                MOVX    @DPTR,A
-002140 A3                INC     DPTR
-002141 ED                MOV     A,R5
-002142 F0                MOVX    @DPTR,A
+0020BF 904E6D            MOV     DPTR,#rptr
+0020C2 EE                MOV     A,R6
+0020C3 F0                MOVX    @DPTR,A
+0020C4 A3                INC     DPTR
+0020C5 EF                MOV     A,R7
+0020C6 F0                MOVX    @DPTR,A
+0020C7 904E6F            MOV     DPTR,#wptr
+0020CA EC                MOV     A,R4
+0020CB F0                MOVX    @DPTR,A
+0020CC A3                INC     DPTR
+0020CD ED                MOV     A,R5
+0020CE F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-002143 904E6F            MOV     DPTR,#wptr
-002146 E0                MOVX    A,@DPTR
-002147 FE                MOV     R6,A
-002148 A3                INC     DPTR
-002149 E0                MOVX    A,@DPTR
-00214A FF                MOV     R7,A
-00214B D3                SETB    C
-00214C 904E6E            MOV     DPTR,#rptr+01H
-00214F E0                MOVX    A,@DPTR
-002150 9F                SUBB    A,R7
-002151 904E6D            MOV     DPTR,#rptr
-002154 E0                MOVX    A,@DPTR
-002155 9E                SUBB    A,R6
-002156 4016              JC      ?C0001?IPC
-002158 904E6F            MOV     DPTR,#wptr
-00215B E0                MOVX    A,@DPTR
-00215C FE                MOV     R6,A
-00215D A3                INC     DPTR
-00215E E0                MOVX    A,@DPTR
-00215F FF                MOV     R7,A
-002160 904E6E            MOV     DPTR,#rptr+01H
-002163 E0                MOVX    A,@DPTR
-002164 9F                SUBB    A,R7
-002165 FF                MOV     R7,A
-002166 904E6D            MOV     DPTR,#rptr
-002169 E0                MOVX    A,@DPTR
-00216A 9E                SUBB    A,R6
-00216B FE                MOV     R6,A
-00216C 801E              SJMP    ?C0002?IPC
-00216E         ?C0001?IPC:
-00216E 904E6D            MOV     DPTR,#rptr
-002171 E0                MOVX    A,@DPTR
-002172 FE                MOV     R6,A
-002173 A3                INC     DPTR
-002174 E0                MOVX    A,@DPTR
-002175 FF                MOV     R7,A
-002176 C3                CLR     C
-002177 904E70            MOV     DPTR,#wptr+01H
-00217A E0                MOVX    A,@DPTR
-00217B 9F                SUBB    A,R7
-00217C FF                MOV     R7,A
-00217D 904E6F            MOV     DPTR,#wptr
-002180 E0                MOVX    A,@DPTR
-002181 9E                SUBB    A,R6
-002182 FE                MOV     R6,A
-002183 AD03              MOV     R5,AR3
-002185 C3                CLR     C
-002186 EB                MOV     A,R3
-002187 9F                SUBB    A,R7
-002188 FF                MOV     R7,A
-002189 E4                CLR     A
-00218A 9E                SUBB    A,R6
-00218B FE                MOV     R6,A
-00218C         ?C0002?IPC:
-00218C 22                RET     
+0020CF 904E6F            MOV     DPTR,#wptr
+0020D2 E0                MOVX    A,@DPTR
+0020D3 FE                MOV     R6,A
+0020D4 A3                INC     DPTR
+0020D5 E0                MOVX    A,@DPTR
+0020D6 FF                MOV     R7,A
+0020D7 D3                SETB    C
+0020D8 904E6E            MOV     DPTR,#rptr+01H
+0020DB E0                MOVX    A,@DPTR
+0020DC 9F                SUBB    A,R7
+0020DD 904E6D            MOV     DPTR,#rptr
+0020E0 E0                MOVX    A,@DPTR
+0020E1 9E                SUBB    A,R6
+0020E2 4016              JC      ?C0001?IPC
+0020E4 904E6F            MOV     DPTR,#wptr
+0020E7 E0                MOVX    A,@DPTR
+0020E8 FE                MOV     R6,A
+0020E9 A3                INC     DPTR
+0020EA E0                MOVX    A,@DPTR
+0020EB FF                MOV     R7,A
+0020EC 904E6E            MOV     DPTR,#rptr+01H
+0020EF E0                MOVX    A,@DPTR
+0020F0 9F                SUBB    A,R7
+0020F1 FF                MOV     R7,A
+0020F2 904E6D            MOV     DPTR,#rptr
+0020F5 E0                MOVX    A,@DPTR
+0020F6 9E                SUBB    A,R6
+0020F7 FE                MOV     R6,A
+0020F8 801E              SJMP    ?C0002?IPC
+0020FA         ?C0001?IPC:
+0020FA 904E6D            MOV     DPTR,#rptr
+0020FD E0                MOVX    A,@DPTR
+0020FE FE                MOV     R6,A
+0020FF A3                INC     DPTR
+002100 E0                MOVX    A,@DPTR
+002101 FF                MOV     R7,A
+002102 C3                CLR     C
+002103 904E70            MOV     DPTR,#wptr+01H
+002106 E0                MOVX    A,@DPTR
+002107 9F                SUBB    A,R7
+002108 FF                MOV     R7,A
+002109 904E6F            MOV     DPTR,#wptr
+00210C E0                MOVX    A,@DPTR
+00210D 9E                SUBB    A,R6
+00210E FE                MOV     R6,A
+00210F AD03              MOV     R5,AR3
+002111 C3                CLR     C
+002112 EB                MOV     A,R3
+002113 9F                SUBB    A,R7
+002114 FF                MOV     R7,A
+002115 E4                CLR     A
+002116 9E                SUBB    A,R6
+002117 FE                MOV     R6,A
+002118         ?C0002?IPC:
+002118 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-00218D 904E8D            MOV     DPTR,#dest
-002190 EE                MOV     A,R6
-002191 F0                MOVX    @DPTR,A
-002192 A3                INC     DPTR
-002193 EF                MOV     A,R7
-002194 F0                MOVX    @DPTR,A
+002119 904E8D            MOV     DPTR,#dest
+00211C EE                MOV     A,R6
+00211D F0                MOVX    @DPTR,A
+00211E A3                INC     DPTR
+00211F EF                MOV     A,R7
+002120 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-002195 A905              MOV     R1,AR5
-002197 904B9E            MOV     DPTR,#ipcRxReadPtr
-00219A E0                MOVX    A,@DPTR
-00219B FE                MOV     R6,A
-00219C A3                INC     DPTR
-00219D E0                MOVX    A,@DPTR
-00219E FF                MOV     R7,A
+002121 A905              MOV     R1,AR5
+002123 904B9E            MOV     DPTR,#ipcRxReadPtr
+002126 E0                MOVX    A,@DPTR
+002127 FE                MOV     R6,A
+002128 A3                INC     DPTR
+002129 E0                MOVX    A,@DPTR
+00212A FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-00219F         ?C0004?IPC:
-00219F AD01              MOV     R5,AR1
-0021A1 19                DEC     R1
-0021A2 ED                MOV     A,R5
-0021A3 602F              JZ      ?C0005?IPC
-0021A5 0F                INC     R7
-0021A6 EF                MOV     A,R7
-0021A7 AC06              MOV     R4,AR6
-0021A9 7001              JNZ     ?C0036?IPC
-0021AB 0E                INC     R6
-0021AC         ?C0036?IPC:
-0021AC 14                DEC     A
-0021AD F582              MOV     DPL,A
-0021AF 8C83              MOV     DPH,R4
-0021B1 E0                MOVX    A,@DPTR
-0021B2 FD                MOV     R5,A
-0021B3 904E8D            MOV     DPTR,#dest
-0021B6 E4                CLR     A
-0021B7 75F001            MOV     B,#01H
-0021BA 120424            LCALL   ?C?ILDIX
-0021BD 85F082            MOV     DPL,B
-0021C0 F583              MOV     DPH,A
-0021C2 ED                MOV     A,R5
-0021C3 F0                MOVX    @DPTR,A
-0021C4 AD07              MOV     R5,AR7
-0021C6 AC06              MOV     R4,AR6
-0021C8 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-0021CB BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-0021CE 7E4B              MOV     R6,#04BH
-0021D0 7F36              MOV     R7,#036H
-0021D2 80CB              SJMP    ?C0004?IPC
-0021D4         ?C0005?IPC:
-0021D4 904B9E            MOV     DPTR,#ipcRxReadPtr
-0021D7 EE                MOV     A,R6
-0021D8 F0                MOVX    @DPTR,A
-0021D9 A3                INC     DPTR
-0021DA EF                MOV     A,R7
-0021DB F0                MOVX    @DPTR,A
-0021DC 22                RET     
+00212B         ?C0004?IPC:
+00212B AD01              MOV     R5,AR1
+00212D 19                DEC     R1
+00212E ED                MOV     A,R5
+00212F 602F              JZ      ?C0005?IPC
+002131 0F                INC     R7
+002132 EF                MOV     A,R7
+002133 AC06              MOV     R4,AR6
+002135 7001              JNZ     ?C0036?IPC
+002137 0E                INC     R6
+002138         ?C0036?IPC:
+002138 14                DEC     A
+002139 F582              MOV     DPL,A
+00213B 8C83              MOV     DPH,R4
+00213D E0                MOVX    A,@DPTR
+00213E FD                MOV     R5,A
+00213F 904E8D            MOV     DPTR,#dest
+002142 E4                CLR     A
+002143 75F001            MOV     B,#01H
+002146 120424            LCALL   ?C?ILDIX
+002149 85F082            MOV     DPL,B
+00214C F583              MOV     DPH,A
+00214E ED                MOV     A,R5
+00214F F0                MOVX    @DPTR,A
+002150 AD07              MOV     R5,AR7
+002152 AC06              MOV     R4,AR6
+002154 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+002157 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+00215A 7E4B              MOV     R6,#04BH
+00215C 7F36              MOV     R7,#036H
+00215E 80CB              SJMP    ?C0004?IPC
+002160         ?C0005?IPC:
+002160 904B9E            MOV     DPTR,#ipcRxReadPtr
+002163 EE                MOV     A,R6
+002164 F0                MOVX    @DPTR,A
+002165 A3                INC     DPTR
+002166 EF                MOV     A,R7
+002167 F0                MOVX    @DPTR,A
+002168 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION IPC_DealSingleStep (BEGIN) -----
-0021DD 7A0C              MOV     R2,#HIGH ipcReadBuff
-0021DF 794B              MOV     R1,#LOW ipcReadBuff
-0021E1 904E7B            MOV     DPTR,#pbuff
-0021E4 7401              MOV     A,#01H
-0021E6 F0                MOVX    @DPTR,A
-0021E7 A3                INC     DPTR
-0021E8 740C              MOV     A,#HIGH ipcReadBuff
-0021EA F0                MOVX    @DPTR,A
-0021EB A3                INC     DPTR
-0021EC 744B              MOV     A,#LOW ipcReadBuff
-0021EE F0                MOVX    @DPTR,A
-0021EF 904BA0            MOV     DPTR,#ipcRxWritePtr
+002169 7A0C              MOV     R2,#HIGH ipcReadBuff
+00216B 794B              MOV     R1,#LOW ipcReadBuff
+00216D 904E7B            MOV     DPTR,#pbuff
+002170 7401              MOV     A,#01H
+002172 F0                MOVX    @DPTR,A
+002173 A3                INC     DPTR
+002174 740C              MOV     A,#HIGH ipcReadBuff
+002176 F0                MOVX    @DPTR,A
+002177 A3                INC     DPTR
+002178 744B              MOV     A,#LOW ipcReadBuff
+00217A F0                MOVX    @DPTR,A
+00217B 904BA0            MOV     DPTR,#ipcRxWritePtr
+00217E E0                MOVX    A,@DPTR
+00217F FE                MOV     R6,A
+002180 A3                INC     DPTR
+002181 E0                MOVX    A,@DPTR
+002182 FF                MOV     R7,A
+002183 904B9E            MOV     DPTR,#ipcRxReadPtr
+002186 E0                MOVX    A,@DPTR
+002187 6E                XRL     A,R6
+002188 7003              JNZ     ?C0038?IPC
+00218A A3                INC     DPTR
+00218B E0                MOVX    A,@DPTR
+00218C 6F                XRL     A,R7
+00218D         ?C0038?IPC:
+00218D 6046              JZ      ?C0029?IPC
+00218F         ?C0023?IPC:
+00218F 7E0C              MOV     R6,#HIGH ipcReadBuff
+002191 7F4B              MOV     R7,#LOW ipcReadBuff
+002193 7D03              MOV     R5,#03H
+002195 3119              ACALL   _ipcRx
+002197 904E7B            MOV     DPTR,#pbuff
+00219A E0                MOVX    A,@DPTR
+00219B FB                MOV     R3,A
+00219C A3                INC     DPTR
+00219D E0                MOVX    A,@DPTR
+00219E FA                MOV     R2,A
+00219F A3                INC     DPTR
+0021A0 E0                MOVX    A,@DPTR
+0021A1 F9                MOV     R1,A
+0021A2 1203B6            LCALL   ?C?CLDPTR
+0021A5 B4022B            CJNE    A,#02H,?C0027?IPC
+0021A8 904E7C            MOV     DPTR,#pbuff+01H
+0021AB E4                CLR     A
+0021AC 75F002            MOV     B,#02H
+0021AF 12040E            LCALL   ?C?IILDX
+0021B2 904E7B            MOV     DPTR,#pbuff
+0021B5 E0                MOVX    A,@DPTR
+0021B6 FB                MOV     R3,A
+0021B7 A3                INC     DPTR
+0021B8 E0                MOVX    A,@DPTR
+0021B9 FA                MOV     R2,A
+0021BA A3                INC     DPTR
+0021BB E0                MOVX    A,@DPTR
+0021BC F9                MOV     R1,A
+0021BD 1203B6            LCALL   ?C?CLDPTR
+0021C0 FF                MOV     R7,A
+0021C1 904E00            MOV     DPTR,#ipcCb
+0021C4 E0                MOVX    A,@DPTR
+0021C5 A3                INC     DPTR
+0021C6 E0                MOVX    A,@DPTR
+0021C7 FA                MOV     R2,A
+0021C8 A3                INC     DPTR
+0021C9 E0                MOVX    A,@DPTR
+0021CA F582              MOV     DPL,A
+0021CC 8A83              MOV     DPH,R2
+0021CE 120568            LCALL   ?C?ICALL2
+0021D1 8002              SJMP    ?C0029?IPC
+0021D3         ?C0027?IPC:
+0021D3 80FE              SJMP    ?C0027?IPC
+0021D5         IPC_TIMER:
+0021D5         ?C0029?IPC:
+0021D5 904BA5            MOV     DPTR,#bttimer
+0021D8 E0                MOVX    A,@DPTR
+0021D9 FE                MOV     R6,A
+0021DA A3                INC     DPTR
+0021DB E0                MOVX    A,@DPTR
+0021DC FF                MOV     R7,A
+0021DD 904C5E            MOV     DPTR,#c51timer
+0021E0 E0                MOVX    A,@DPTR
+0021E1 6E                XRL     A,R6
+0021E2 7003              JNZ     ?C0039?IPC
+0021E4 A3                INC     DPTR
+0021E5 E0                MOVX    A,@DPTR
+0021E6 6F                XRL     A,R7
+0021E7         ?C0039?IPC:
+0021E7 6022              JZ      ?C0033?IPC
+0021E9 904E06            MOV     DPTR,#ipcCb+06H
+0021EC E0                MOVX    A,@DPTR
+0021ED FB                MOV     R3,A
+0021EE A3                INC     DPTR
+0021EF E0                MOVX    A,@DPTR
+0021F0 FA                MOV     R2,A
+0021F1 A3                INC     DPTR
 0021F2 E0                MOVX    A,@DPTR
-0021F3 FE                MOV     R6,A
-0021F4 A3                INC     DPTR
-0021F5 E0                MOVX    A,@DPTR
-0021F6 FF                MOV     R7,A
-0021F7 904B9E            MOV     DPTR,#ipcRxReadPtr
-0021FA E0                MOVX    A,@DPTR
-0021FB 6E                XRL     A,R6
-0021FC 7003              JNZ     ?C0038?IPC
-0021FE A3                INC     DPTR
-0021FF E0                MOVX    A,@DPTR
-002200 6F                XRL     A,R7
-002201         ?C0038?IPC:
-002201 6046              JZ      ?C0029?IPC
-002203         ?C0023?IPC:
-002203 7E0C              MOV     R6,#HIGH ipcReadBuff
-002205 7F4B              MOV     R7,#LOW ipcReadBuff
-002207 7D03              MOV     R5,#03H
-002209 318D              ACALL   _ipcRx
-00220B 904E7B            MOV     DPTR,#pbuff
+0021F3 F9                MOV     R1,A
+0021F4 4A                ORL     A,R2
+0021F5 6037              JZ      ?C0032?IPC
+0021F7         ?C0031?IPC:
+0021F7 120564            LCALL   ?C?ICALL
+0021FA 904BA5            MOV     DPTR,#bttimer
+0021FD E0                MOVX    A,@DPTR
+0021FE FF                MOV     R7,A
+0021FF A3                INC     DPTR
+002200 E0                MOVX    A,@DPTR
+002201 904C5E            MOV     DPTR,#c51timer
+002204 CF                XCH     A,R7
+002205 F0                MOVX    @DPTR,A
+002206 A3                INC     DPTR
+002207 EF                MOV     A,R7
+002208 F0                MOVX    @DPTR,A
+002209 80CA              SJMP    ?C0029?IPC
+00220B         ?C0033?IPC:
+00220B 904C8D            MOV     DPTR,#btstimer
 00220E E0                MOVX    A,@DPTR
-00220F FB                MOV     R3,A
+00220F FF                MOV     R7,A
 002210 A3                INC     DPTR
 002211 E0                MOVX    A,@DPTR
-002212 FA                MOV     R2,A
-002213 A3                INC     DPTR
-002214 E0                MOVX    A,@DPTR
-002215 F9                MOV     R1,A
-002216 1203B6            LCALL   ?C?CLDPTR
-002219 B4022B            CJNE    A,#02H,?C0027?IPC
-00221C 904E7C            MOV     DPTR,#pbuff+01H
-00221F E4                CLR     A
-002220 75F002            MOV     B,#02H
-002223 12040E            LCALL   ?C?IILDX
-002226 904E7B            MOV     DPTR,#pbuff
+002212 6F                XRL     A,R7
+002213 6019              JZ      ?C0032?IPC
+002215 904E09            MOV     DPTR,#ipcCb+09H
+002218 E0                MOVX    A,@DPTR
+002219 FB                MOV     R3,A
+00221A A3                INC     DPTR
+00221B E0                MOVX    A,@DPTR
+00221C FA                MOV     R2,A
+00221D A3                INC     DPTR
+00221E E0                MOVX    A,@DPTR
+00221F F9                MOV     R1,A
+002220 4A                ORL     A,R2
+002221 600B              JZ      ?C0032?IPC
+002223         ?C0035?IPC:
+002223 120564            LCALL   ?C?ICALL
+002226 904C8D            MOV     DPTR,#btstimer
 002229 E0                MOVX    A,@DPTR
-00222A FB                MOV     R3,A
-00222B A3                INC     DPTR
-00222C E0                MOVX    A,@DPTR
-00222D FA                MOV     R2,A
-00222E A3                INC     DPTR
-00222F E0                MOVX    A,@DPTR
-002230 F9                MOV     R1,A
-002231 1203B6            LCALL   ?C?CLDPTR
-002234 FF                MOV     R7,A
-002235 904E00            MOV     DPTR,#ipcCb
-002238 E0                MOVX    A,@DPTR
-002239 A3                INC     DPTR
-00223A E0                MOVX    A,@DPTR
-00223B FA                MOV     R2,A
-00223C A3                INC     DPTR
-00223D E0                MOVX    A,@DPTR
-00223E F582              MOV     DPL,A
-002240 8A83              MOV     DPH,R2
-002242 120568            LCALL   ?C?ICALL2
-002245 8002              SJMP    ?C0029?IPC
-002247         ?C0027?IPC:
-002247 80FE              SJMP    ?C0027?IPC
-002249         IPC_TIMER:
-002249         ?C0029?IPC:
-002249 904BA5            MOV     DPTR,#bttimer
-00224C E0                MOVX    A,@DPTR
-00224D FE                MOV     R6,A
-00224E A3                INC     DPTR
-00224F E0                MOVX    A,@DPTR
-002250 FF                MOV     R7,A
-002251 904C5E            MOV     DPTR,#c51timer
-002254 E0                MOVX    A,@DPTR
-002255 6E                XRL     A,R6
-002256 7003              JNZ     ?C0039?IPC
-002258 A3                INC     DPTR
-002259 E0                MOVX    A,@DPTR
-00225A 6F                XRL     A,R7
-00225B         ?C0039?IPC:
-00225B 6022              JZ      ?C0033?IPC
-00225D 904E06            MOV     DPTR,#ipcCb+06H
-002260 E0                MOVX    A,@DPTR
-002261 FB                MOV     R3,A
-002262 A3                INC     DPTR
-002263 E0                MOVX    A,@DPTR
-002264 FA                MOV     R2,A
-002265 A3                INC     DPTR
-002266 E0                MOVX    A,@DPTR
-002267 F9                MOV     R1,A
-002268 4A                ORL     A,R2
-002269 6037              JZ      ?C0032?IPC
-00226B         ?C0031?IPC:
-00226B 120564            LCALL   ?C?ICALL
-00226E 904BA5            MOV     DPTR,#bttimer
-002271 E0                MOVX    A,@DPTR
-002272 FF                MOV     R7,A
-002273 A3                INC     DPTR
-002274 E0                MOVX    A,@DPTR
-002275 904C5E            MOV     DPTR,#c51timer
-002278 CF                XCH     A,R7
-002279 F0                MOVX    @DPTR,A
-00227A A3                INC     DPTR
-00227B EF                MOV     A,R7
-00227C F0                MOVX    @DPTR,A
-00227D 80CA              SJMP    ?C0029?IPC
-00227F         ?C0033?IPC:
-00227F 904C8D            MOV     DPTR,#btstimer
-002282 E0                MOVX    A,@DPTR
-002283 FF                MOV     R7,A
-002284 A3                INC     DPTR
-002285 E0                MOVX    A,@DPTR
-002286 6F                XRL     A,R7
-002287 6019              JZ      ?C0032?IPC
-002289 904E09            MOV     DPTR,#ipcCb+09H
-00228C E0                MOVX    A,@DPTR
-00228D FB                MOV     R3,A
-00228E A3                INC     DPTR
-00228F E0                MOVX    A,@DPTR
-002290 FA                MOV     R2,A
-002291 A3                INC     DPTR
-002292 E0                MOVX    A,@DPTR
-002293 F9                MOV     R1,A
-002294 4A                ORL     A,R2
-002295 600B              JZ      ?C0032?IPC
-002297         ?C0035?IPC:
-002297 120564            LCALL   ?C?ICALL
-00229A 904C8D            MOV     DPTR,#btstimer
-00229D E0                MOVX    A,@DPTR
-00229E A3                INC     DPTR
-00229F F0                MOVX    @DPTR,A
-0022A0 80DD              SJMP    ?C0033?IPC
-0022A2         ?C0032?IPC:
-0022A2 22                RET     
+00222A A3                INC     DPTR
+00222B F0                MOVX    @DPTR,A
+00222C 80DD              SJMP    ?C0033?IPC
+00222E         ?C0032?IPC:
+00222E 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-0022A3 900446            MOV     DPTR,#bbDisReason
-0022A6 E0                MOVX    A,@DPTR
-0022A7 FF                MOV     R7,A
-0022A8 22                RET     
+00222F 900446            MOV     DPTR,#bbDisReason
+002232 E0                MOVX    A,@DPTR
+002233 FF                MOV     R7,A
+002234 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-0022A9 908280            MOV     DPTR,#08280H
-0022AC 7401              MOV     A,#01H
-0022AE F0                MOVX    @DPTR,A
-0022AF 22                RET     
+002235 908280            MOV     DPTR,#08280H
+002238 7401              MOV     A,#01H
+00223A F0                MOVX    @DPTR,A
+00223B 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _dmemcpy (BEGIN) -----
-0022B0 904E29            MOV     DPTR,#dest
-0022B3 EB                MOV     A,R3
-0022B4 F0                MOVX    @DPTR,A
-0022B5 A3                INC     DPTR
-0022B6 EA                MOV     A,R2
-0022B7 F0                MOVX    @DPTR,A
-0022B8 A3                INC     DPTR
-0022B9 E9                MOV     A,R1
-0022BA F0                MOVX    @DPTR,A
-0022BB         ?C0005?UTILITIES:
-0022BB 904E2F            MOV     DPTR,#len
-0022BE 74FF              MOV     A,#0FFH
-0022C0 F5F0              MOV     B,A
-0022C2 120424            LCALL   ?C?ILDIX
-0022C5 45F0              ORL     A,B
-0022C7 602A              JZ      ?C0007?UTILITIES
-0022C9 904E2C            MOV     DPTR,#src
-0022CC E0                MOVX    A,@DPTR
-0022CD FB                MOV     R3,A
-0022CE A3                INC     DPTR
-0022CF E4                CLR     A
-0022D0 75F001            MOV     B,#01H
-0022D3 120424            LCALL   ?C?ILDIX
-0022D6 A9F0              MOV     R1,B
-0022D8 FA                MOV     R2,A
-0022D9 1203B6            LCALL   ?C?CLDPTR
-0022DC FF                MOV     R7,A
-0022DD 904E29            MOV     DPTR,#dest
-0022E0 E0                MOVX    A,@DPTR
-0022E1 FB                MOV     R3,A
-0022E2 A3                INC     DPTR
-0022E3 E4                CLR     A
-0022E4 75F001            MOV     B,#01H
-0022E7 120424            LCALL   ?C?ILDIX
-0022EA A9F0              MOV     R1,B
-0022EC FA                MOV     R2,A
-0022ED EF                MOV     A,R7
-0022EE 1203FC            LCALL   ?C?CSTPTR
-0022F1 80C8              SJMP    ?C0005?UTILITIES
-0022F3         ?C0007?UTILITIES:
-0022F3 22                RET     
+00223C 904E29            MOV     DPTR,#dest
+00223F EB                MOV     A,R3
+002240 F0                MOVX    @DPTR,A
+002241 A3                INC     DPTR
+002242 EA                MOV     A,R2
+002243 F0                MOVX    @DPTR,A
+002244 A3                INC     DPTR
+002245 E9                MOV     A,R1
+002246 F0                MOVX    @DPTR,A
+002247         ?C0005?UTILITIES:
+002247 904E2F            MOV     DPTR,#len
+00224A 74FF              MOV     A,#0FFH
+00224C F5F0              MOV     B,A
+00224E 120424            LCALL   ?C?ILDIX
+002251 45F0              ORL     A,B
+002253 602A              JZ      ?C0007?UTILITIES
+002255 904E2C            MOV     DPTR,#src
+002258 E0                MOVX    A,@DPTR
+002259 FB                MOV     R3,A
+00225A A3                INC     DPTR
+00225B E4                CLR     A
+00225C 75F001            MOV     B,#01H
+00225F 120424            LCALL   ?C?ILDIX
+002262 A9F0              MOV     R1,B
+002264 FA                MOV     R2,A
+002265 1203B6            LCALL   ?C?CLDPTR
+002268 FF                MOV     R7,A
+002269 904E29            MOV     DPTR,#dest
+00226C E0                MOVX    A,@DPTR
+00226D FB                MOV     R3,A
+00226E A3                INC     DPTR
+00226F E4                CLR     A
+002270 75F001            MOV     B,#01H
+002273 120424            LCALL   ?C?ILDIX
+002276 A9F0              MOV     R1,B
+002278 FA                MOV     R2,A
+002279 EF                MOV     A,R7
+00227A 1203FC            LCALL   ?C?CSTPTR
+00227D 80C8              SJMP    ?C0005?UTILITIES
+00227F         ?C0007?UTILITIES:
+00227F 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
+----- FUNCTION _IIC_write (BEGIN) -----
+002280 904E3F            MOV     DPTR,#addr
+002283 EE                MOV     A,R6
+002284 F0                MOVX    @DPTR,A
+002285 A3                INC     DPTR
+002286 EF                MOV     A,R7
+002287 F0                MOVX    @DPTR,A
+002288 904E43            MOV     DPTR,#pbuff
+00228B EB                MOV     A,R3
+00228C F0                MOVX    @DPTR,A
+00228D A3                INC     DPTR
+00228E EA                MOV     A,R2
+00228F F0                MOVX    @DPTR,A
+002290 A3                INC     DPTR
+002291 E9                MOV     A,R1
+002292 F0                MOVX    @DPTR,A
+002293 904E41            MOV     DPTR,#len
+002296 EC                MOV     A,R4
+002297 F0                MOVX    @DPTR,A
+002298 A3                INC     DPTR
+002299 ED                MOV     A,R5
+00229A F0                MOVX    @DPTR,A
+00229B A3                INC     DPTR
+00229C E0                MOVX    A,@DPTR
+00229D F9                MOV     R1,A
+00229E A3                INC     DPTR
+00229F E0                MOVX    A,@DPTR
+0022A0 FA                MOV     R2,A
+0022A1 A3                INC     DPTR
+0022A2 E0                MOVX    A,@DPTR
+0022A3 904E2C            MOV     DPTR,#?_dmemcpy?BYTE+03H
+0022A6 C9                XCH     A,R1
+0022A7 F0                MOVX    @DPTR,A
+0022A8 A3                INC     DPTR
+0022A9 EA                MOV     A,R2
+0022AA F0                MOVX    @DPTR,A
+0022AB A3                INC     DPTR
+0022AC E9                MOV     A,R1
+0022AD F0                MOVX    @DPTR,A
+0022AE A3                INC     DPTR
+0022AF EC                MOV     A,R4
+0022B0 F0                MOVX    @DPTR,A
+0022B1 A3                INC     DPTR
+0022B2 ED                MOV     A,R5
+0022B3 F0                MOVX    @DPTR,A
+0022B4 7B01              MOV     R3,#01H
+0022B6 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
+0022B8 7986              MOV     R1,#LOW IIC_TempBuff+03H
+0022BA 513C              ACALL   _dmemcpy
+0022BC 900B83            MOV     DPTR,#IIC_TempBuff
+0022BF 74A0              MOV     A,#0A0H
+0022C1 F0                MOVX    @DPTR,A
+0022C2 904E3F            MOV     DPTR,#addr
+0022C5 E0                MOVX    A,@DPTR
+0022C6 FF                MOV     R7,A
+0022C7 A3                INC     DPTR
+0022C8 E0                MOVX    A,@DPTR
+0022C9 900B84            MOV     DPTR,#IIC_TempBuff+01H
+0022CC CF                XCH     A,R7
+0022CD F0                MOVX    @DPTR,A
+0022CE A3                INC     DPTR
+0022CF EF                MOV     A,R7
+0022D0 F0                MOVX    @DPTR,A
+0022D1 904E42            MOV     DPTR,#len+01H
+0022D4 E0                MOVX    A,@DPTR
+0022D5 2403              ADD     A,#03H
+0022D7 FD                MOV     R5,A
+0022D8 904E41            MOV     DPTR,#len
+0022DB E0                MOVX    A,@DPTR
+0022DC 3400              ADDC    A,#00H
+0022DE FC                MOV     R4,A
+0022DF ED                MOV     A,R5
+0022E0 FA                MOV     R2,A
+0022E1 EC                MOV     A,R4
+0022E2 FF                MOV     R7,A
+0022E3 EA                MOV     A,R2
+0022E4 FE                MOV     R6,A
+0022E5 EF                MOV     A,R7
+0022E6 908098            MOV     DPTR,#08098H
+0022E9 EE                MOV     A,R6
+0022EA F0                MOVX    @DPTR,A
+0022EB A3                INC     DPTR
+0022EC EF                MOV     A,R7
+0022ED F0                MOVX    @DPTR,A
+0022EE 7A0B              MOV     R2,#HIGH IIC_TempBuff
+0022F0 7983              MOV     R1,#LOW IIC_TempBuff
+0022F2 7E0B              MOV     R6,#HIGH IIC_TempBuff
+0022F4 7F83              MOV     R7,#LOW IIC_TempBuff
+0022F6 7483              MOV     A,#LOW IIC_TempBuff
+0022F8 FC                MOV     R4,A
+0022F9 740B              MOV     A,#HIGH IIC_TempBuff
+0022FB FF                MOV     R7,A
+0022FC EC                MOV     A,R4
+0022FD FE                MOV     R6,A
+0022FE EF                MOV     A,R7
+0022FF A3                INC     DPTR
+002300 EE                MOV     A,R6
+002301 F0                MOVX    @DPTR,A
+002302 A3                INC     DPTR
+002303 EF                MOV     A,R7
+002304 F0                MOVX    @DPTR,A
+002305 90809E            MOV     DPTR,#0809EH
+002308 E4                CLR     A
+002309 F0                MOVX    @DPTR,A
+00230A A3                INC     DPTR
+00230B F0                MOVX    @DPTR,A
+00230C 908090            MOV     DPTR,#08090H
+00230F 04                INC     A
+002310 F0                MOVX    @DPTR,A
+002311 908006            MOV     DPTR,#08006H
+002314 E0                MOVX    A,@DPTR
+002315 4404              ORL     A,#04H
+002317 F0                MOVX    @DPTR,A
+002318 02175A            LJMP    IIcWaitDone
+----- FUNCTION _IIC_write (END) -------
+
+
 ----- FUNCTION _xmemclear_ff (BEGIN) -----
-0022F4 904E81            MOV     DPTR,#dest
-0022F7 EB                MOV     A,R3
-0022F8 F0                MOVX    @DPTR,A
-0022F9 A3                INC     DPTR
-0022FA EA                MOV     A,R2
-0022FB F0                MOVX    @DPTR,A
-0022FC A3                INC     DPTR
-0022FD E9                MOV     A,R1
-0022FE F0                MOVX    @DPTR,A
+00231B 904E81            MOV     DPTR,#dest
+00231E EB                MOV     A,R3
+00231F F0                MOVX    @DPTR,A
+002320 A3                INC     DPTR
+002321 EA                MOV     A,R2
+002322 F0                MOVX    @DPTR,A
+002323 A3                INC     DPTR
+002324 E9                MOV     A,R1
+002325 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
-0022FF         ?C0011?UTILITIES:
-0022FF ED                MOV     A,R5
-002300 1D                DEC     R5
-002301 AE04              MOV     R6,AR4
-002303 7001              JNZ     ?C0027?UTILITIES
-002305 1C                DEC     R4
-002306         ?C0027?UTILITIES:
-002306 4E                ORL     A,R6
-002307 6017              JZ      ?C0013?UTILITIES
-002309 904E81            MOV     DPTR,#dest
-00230C E0                MOVX    A,@DPTR
-00230D FB                MOV     R3,A
-00230E A3                INC     DPTR
-00230F E4                CLR     A
-002310 75F001            MOV     B,#01H
-002313 120424            LCALL   ?C?ILDIX
-002316 A9F0              MOV     R1,B
-002318 FA                MOV     R2,A
-002319 74FF              MOV     A,#0FFH
-00231B 1203FC            LCALL   ?C?CSTPTR
-00231E 80DF              SJMP    ?C0011?UTILITIES
-002320         ?C0013?UTILITIES:
-002320 22                RET     
+002326         ?C0011?UTILITIES:
+002326 ED                MOV     A,R5
+002327 1D                DEC     R5
+002328 AE04              MOV     R6,AR4
+00232A 7001              JNZ     ?C0027?UTILITIES
+00232C 1C                DEC     R4
+00232D         ?C0027?UTILITIES:
+00232D 4E                ORL     A,R6
+00232E 6017              JZ      ?C0013?UTILITIES
+002330 904E81            MOV     DPTR,#dest
+002333 E0                MOVX    A,@DPTR
+002334 FB                MOV     R3,A
+002335 A3                INC     DPTR
+002336 E4                CLR     A
+002337 75F001            MOV     B,#01H
+00233A 120424            LCALL   ?C?ILDIX
+00233D A9F0              MOV     R1,B
+00233F FA                MOV     R2,A
+002340 74FF              MOV     A,#0FFH
+002342 1203FC            LCALL   ?C?CSTPTR
+002345 80DF              SJMP    ?C0011?UTILITIES
+002347         ?C0013?UTILITIES:
+002347 22                RET     
 ----- FUNCTION _xmemclear_ff (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-002321 EF                MOV     A,R7
-002322 F4                CPL     A
-002323 603A              JZ      ?C0023?GPIO
-002325         ?C0022?GPIO:
-002325 EF                MOV     A,R7
-002326 5407              ANL     A,#07H
-002328 FE                MOV     R6,A
+002348 EF                MOV     A,R7
+002349 F4                CPL     A
+00234A 603A              JZ      ?C0023?GPIO
+00234C         ?C0022?GPIO:
+00234C EF                MOV     A,R7
+00234D 5407              ANL     A,#07H
+00234F FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-002329 EF                MOV     A,R7
-00232A 13                RRC     A
-00232B 13                RRC     A
-00232C 13                RRC     A
-00232D 5403              ANL     A,#03H
-00232F FF                MOV     R7,A
+002350 EF                MOV     A,R7
+002351 13                RRC     A
+002352 13                RRC     A
+002353 13                RRC     A
+002354 5403              ANL     A,#03H
+002356 FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-002330 24A3              ADD     A,#LOW YC_GPIOWakeupL
-002332 F582              MOV     DPL,A
-002334 E4                CLR     A
-002335 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-002337 F583              MOV     DPH,A
-002339 C083              PUSH    DPH
-00233B C082              PUSH    DPL
-00233D E0                MOVX    A,@DPTR
-00233E FD                MOV     R5,A
-00233F 7401              MOV     A,#01H
-002341 A806              MOV     R0,AR6
-002343 08                INC     R0
-002344 8002              SJMP    ?C0043?GPIO
-002346         ?C0042?GPIO:
-002346 C3                CLR     C
-002347 33                RLC     A
-002348         ?C0043?GPIO:
-002348 D8FC              DJNZ    R0,?C0042?GPIO
-00234A F4                CPL     A
-00234B FC                MOV     R4,A
-00234C 5D                ANL     A,R5
-00234D D082              POP     DPL
-00234F D083              POP     DPH
-002351 F0                MOVX    @DPTR,A
-002352 74A7              MOV     A,#LOW YC_GPIOWakeupH
-002354 2F                ADD     A,R7
-002355 F582              MOV     DPL,A
-002357 E4                CLR     A
-002358 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-00235A F583              MOV     DPH,A
-00235C E0                MOVX    A,@DPTR
-00235D 5C                ANL     A,R4
-00235E F0                MOVX    @DPTR,A
-00235F         ?C0023?GPIO:
-00235F 22                RET     
+002357 24A3              ADD     A,#LOW YC_GPIOWakeupL
+002359 F582              MOV     DPL,A
+00235B E4                CLR     A
+00235C 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+00235E F583              MOV     DPH,A
+002360 C083              PUSH    DPH
+002362 C082              PUSH    DPL
+002364 E0                MOVX    A,@DPTR
+002365 FD                MOV     R5,A
+002366 7401              MOV     A,#01H
+002368 A806              MOV     R0,AR6
+00236A 08                INC     R0
+00236B 8002              SJMP    ?C0043?GPIO
+00236D         ?C0042?GPIO:
+00236D C3                CLR     C
+00236E 33                RLC     A
+00236F         ?C0043?GPIO:
+00236F D8FC              DJNZ    R0,?C0042?GPIO
+002371 F4                CPL     A
+002372 FC                MOV     R4,A
+002373 5D                ANL     A,R5
+002374 D082              POP     DPL
+002376 D083              POP     DPH
+002378 F0                MOVX    @DPTR,A
+002379 74A7              MOV     A,#LOW YC_GPIOWakeupH
+00237B 2F                ADD     A,R7
+00237C F582              MOV     DPL,A
+00237E E4                CLR     A
+00237F 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+002381 F583              MOV     DPH,A
+002383 E0                MOVX    A,@DPTR
+002384 5C                ANL     A,R4
+002385 F0                MOVX    @DPTR,A
+002386         ?C0023?GPIO:
+002386 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
------ FUNCTION _GPIO_FlipOutBit (BEGIN) -----
-002360 904E97            MOV     DPTR,#gpio_num
-002363 EF                MOV     A,R7
-002364 F0                MOVX    @DPTR,A
-002365 7B01              MOV     R3,#01H
-002367 7A80              MOV     R2,#080H
-002369 7974              MOV     R1,#074H
-00236B 121607            LCALL   _gpioGetBit
-00236E 9209              MOV     st,C
-002370 904E97            MOV     DPTR,#gpio_num
-002373 E0                MOVX    A,@DPTR
-002374 FF                MOV     R7,A
-002375 A209              MOV     C,st
-002377 B3                CPL     C
-002378 9201              MOV     ?_GPIO_Setout?BIT,C
-00237A 020784            LJMP    _GPIO_Setout
------ FUNCTION _GPIO_FlipOutBit (END) -------
-
-
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-00237D E4                CLR     A
-00237E FF                MOV     R7,A
-00237F         ?C0026?GPIO:
-00237F EF                MOV     A,R7
-002380 FD                MOV     R5,A
-002381 7C00              MOV     R4,#00H
-002383 2478              ADD     A,#078H
-002385 FB                MOV     R3,A
-002386 EC                MOV     A,R4
-002387 3480              ADDC    A,#080H
-002389 8B82              MOV     DPL,R3
-00238B F583              MOV     DPH,A
-00238D E0                MOVX    A,@DPTR
-00238E FE                MOV     R6,A
-00238F ED                MOV     A,R5
-002390 2470              ADD     A,#070H
-002392 FD                MOV     R5,A
-002393 EC                MOV     A,R4
-002394 3480              ADDC    A,#080H
-002396 8D82              MOV     DPL,R5
-002398 F583              MOV     DPH,A
-00239A E0                MOVX    A,@DPTR
-00239B 4E                ORL     A,R6
-00239C F4                CPL     A
-00239D FE                MOV     R6,A
-00239E EF                MOV     A,R7
-00239F 247C              ADD     A,#07CH
-0023A1 FD                MOV     R5,A
-0023A2 EC                MOV     A,R4
-0023A3 3480              ADDC    A,#080H
-0023A5 8D82              MOV     DPL,R5
-0023A7 F583              MOV     DPH,A
-0023A9 EE                MOV     A,R6
-0023AA F0                MOVX    @DPTR,A
-0023AB 0F                INC     R7
-0023AC EF                MOV     A,R7
-0023AD B404CF            CJNE    A,#04H,?C0026?GPIO
-0023B0 22                RET     
+002387 E4                CLR     A
+002388 FF                MOV     R7,A
+002389         ?C0026?GPIO:
+002389 EF                MOV     A,R7
+00238A FD                MOV     R5,A
+00238B 7C00              MOV     R4,#00H
+00238D 2478              ADD     A,#078H
+00238F FB                MOV     R3,A
+002390 EC                MOV     A,R4
+002391 3480              ADDC    A,#080H
+002393 8B82              MOV     DPL,R3
+002395 F583              MOV     DPH,A
+002397 E0                MOVX    A,@DPTR
+002398 FE                MOV     R6,A
+002399 ED                MOV     A,R5
+00239A 2470              ADD     A,#070H
+00239C FD                MOV     R5,A
+00239D EC                MOV     A,R4
+00239E 3480              ADDC    A,#080H
+0023A0 8D82              MOV     DPL,R5
+0023A2 F583              MOV     DPH,A
+0023A4 E0                MOVX    A,@DPTR
+0023A5 4E                ORL     A,R6
+0023A6 F4                CPL     A
+0023A7 FE                MOV     R6,A
+0023A8 EF                MOV     A,R7
+0023A9 247C              ADD     A,#07CH
+0023AB FD                MOV     R5,A
+0023AC EC                MOV     A,R4
+0023AD 3480              ADDC    A,#080H
+0023AF 8D82              MOV     DPL,R5
+0023B1 F583              MOV     DPH,A
+0023B3 EE                MOV     A,R6
+0023B4 F0                MOVX    @DPTR,A
+0023B5 0F                INC     R7
+0023B6 EF                MOV     A,R7
+0023B7 B404CF            CJNE    A,#04H,?C0026?GPIO
+0023BA 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /YJX_KB_Project/1026_KB/CK8006/c51/output/FW.HTM	(revision 210)
+++ /YJX_KB_Project/1026_KB/CK8006/c51/output/FW.HTM	(working copy)
@@ -25,12 +25,12 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.41</b><br>
-Creation time: <b>09/28/2020  16:54:51</b><p>
+Creation time: <b>11/23/2020  17:50:44</b><p>
 
 <hr>
 
 
-<h2><a name="S6"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:001646H - C:00164FH)</h2>
+<h2><a name="S6"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:00165BH - C:00166AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -42,33 +42,33 @@
 <li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S63"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:001434H - C:001451H)</h2>
+<h2><a name="S63"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:001449H - C:001466H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S80"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001E7EH - C:001E86H)</h2>
+<h2><a name="S80"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001DFDH - C:001E05H)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S82">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
 </ul>
 
-<h2><a name="S82"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001E87H - C:001E88H)</h2>
+<h2><a name="S82"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001E06H - C:001E07H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S80">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
 </ul>
 
-<h2><a name="S83"></a>?PR?_KB_CB_HID?SYS (C:001E89H - C:001E98H)</h2>
+<h2><a name="S83"></a>?PR?_KB_CB_HID?SYS (C:001E08H - C:001E17H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S85"></a>?PR?_KB_CB_EVENT?SYS (C:001179H - C:00124FH)</h2>
+<h2><a name="S85"></a>?PR?_KB_CB_EVENT?SYS (C:00118EH - C:001263H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S78">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -84,7 +84,7 @@
 <li><a href="#S6">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S89"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:0017E9H - C:00180CH)</h2>
+<h2><a name="S89"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:001786H - C:0017A8H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -93,7 +93,7 @@
 <li><a href="#S81">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 </ul>
 
-<h2><a name="S91"></a>?PR?KB_CB_TIMER500MS?SYS (C:0017D0H - C:0017E8H)</h2>
+<h2><a name="S91"></a>?PR?KB_CB_TIMER500MS?SYS (C:00176EH - C:001785H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S87">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -103,15 +103,16 @@
 <li><a href="#S88">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S92"></a>?PR?KB_CB_TIMER100MS?SYS (C:001EDCH - C:001F71H)</h2>
+<h2><a name="S92"></a>?PR?KB_CB_TIMER100MS?SYS (C:001E5BH - C:001F0EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S155">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S94"></a>?PR?YC_SYSTEM_MAIN?SYS (C:001452H - C:001496H)</h2>
+<h2><a name="S94"></a>?PR?YC_SYSTEM_MAIN?SYS (C:001467H - C:0014ABH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -131,20 +132,20 @@
 <li><a href="#S101">?PR?MAIN?RAM</a></li>
 </ul>
 
-<h2><a name="S101"></a>?PR?MAIN?RAM (C:00171FH - C:001720H)</h2>
+<h2><a name="S101"></a>?PR?MAIN?RAM (C:001758H - C:001759H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S114"></a>?PR?_IPC_INITIALIZE?IPC (C:0015F4H - C:001600H)</h2>
+<h2><a name="S114"></a>?PR?_IPC_INITIALIZE?IPC (C:001609H - C:001615H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S144"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:0022F4H - C:002320H)</h2>
+<h2><a name="S144"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:00231BH - C:002347H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -159,7 +160,7 @@
 <li><a href="#S87">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S3"></a>?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH (C:000FE2H - C:001016H)</h2>
+<h2><a name="S3"></a>?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH (C:000FF7H - C:00102BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=8 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -171,14 +172,14 @@
 <li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S4"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:001300H - C:001305H)</h2>
+<h2><a name="S4"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:001314H - C:001319H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S85">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S5"></a>?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH (C:0010C5H - C:0010DCH)</h2>
+<h2><a name="S5"></a>?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH (C:0010DAH - C:0010F1H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -191,7 +192,7 @@
 <li><a href="#S90">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S7"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:001306H - C:001347H)</h2>
+<h2><a name="S7"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:00131AH - C:00135BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S184">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -205,7 +206,7 @@
 <li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S40"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:001017H - C:0010C4H)</h2>
+<h2><a name="S40"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:00102CH - C:0010D9H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>) Top=10 Bytes (<a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -223,7 +224,7 @@
 <li><a href="#S6">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S42"></a>?PR?_IPC_TXHIDDATA?KB_PROCESS (C:000EBCH - C:000F45H)</h2>
+<h2><a name="S42"></a>?PR?_IPC_TXHIDDATA?KB_PROCESS (C:000E69H - C:000EF2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>) Top=6 Bytes (<a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -235,21 +236,23 @@
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
+<li><a href="#S45">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
 <li><a href="#S47">?PR?KB_24G_GET_LED_STATUS?KB_PROCESS</a></li>
 <li><a href="#S92">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S44"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:000DB3H - C:000DCDH)</h2>
+<h2><a name="S44"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:000D98H - C:000DB2H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S56">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S56">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S45"></a>?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS (C:000E84H - C:000EBBH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S142">?PR?_XMEMCLEAR?UTILITIES</a>) Top=4 Bytes (<a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S45"></a>?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS (C:000EF3H - C:000F2CH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
+<li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 <li><a href="#S142">?PR?_XMEMCLEAR?UTILITIES</a></li>
 </ul>
 
@@ -258,7 +261,7 @@
 <li><a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S47"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:00180DH - C:001873H)</h2>
+<h2><a name="S47"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:0017D7H - C:00183DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -271,7 +274,7 @@
 <li><a href="#S48">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S48"></a>?PR?KB_MOTION?KB_PROCESS (C:001874H - C:0018A6H)</h2>
+<h2><a name="S48"></a>?PR?KB_MOTION?KB_PROCESS (C:000FABH - C:000FDEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>) Top=2 Bytes (<a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -286,7 +289,7 @@
 <li><a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S50"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:000F46H - C:000FBCH)</h2>
+<h2><a name="S50"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:000F2DH - C:000FA2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -299,7 +302,7 @@
 <li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S51"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:00091DH - C:000B55H)</h2>
+<h2><a name="S51"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:00091DH - C:000B3AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -315,14 +318,14 @@
 <li><a href="#S48">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S54"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:001C42H - C:001CF8H)</h2>
+<h2><a name="S54"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:001863H - C:001919H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S56"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:000B56H - C:000DB2H)</h2>
+<h2><a name="S56"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:000B3BH - C:000D97H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -335,28 +338,28 @@
 <li><a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S58"></a>?PR?_BIT_COUNT?KEYSCAN (C:001AA3H - C:001AB0H)</h2>
+<h2><a name="S58"></a>?PR?_BIT_COUNT?KEYSCAN (C:001B16H - C:001B23H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S59"></a>?PR?_KEYIN?KEYSCAN (C:001B43H - C:001B98H)</h2>
+<h2><a name="S59"></a>?PR?_KEYIN?KEYSCAN (C:001B9EH - C:001BF3H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S60"></a>?PR?_KEYOUT?KEYSCAN (C:001B99H - C:001C41H)</h2>
+<h2><a name="S60"></a>?PR?_KEYOUT?KEYSCAN (C:001BF4H - C:001C9CH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S61"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:001702H - C:00171EH)</h2>
+<h2><a name="S61"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:00171DH - C:001739H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -368,7 +371,7 @@
 <li><a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S65"></a>?PR?KS_INITIALIZE?KEYSCAN (C:001429H - C:001433H)</h2>
+<h2><a name="S65"></a>?PR?KS_INITIALIZE?KEYSCAN (C:00143EH - C:001448H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S61">?PR?KSRAWINITIALIZE?KEYSCAN</a>) Top=4 Bytes (<a href="#S78">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -381,7 +384,7 @@
 <li><a href="#S78">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S66"></a>?PR?KS_UNISTALL?KEYSCAN (C:001497H - C:001541H)</h2>
+<h2><a name="S66"></a>?PR?KS_UNISTALL?KEYSCAN (C:0014ACH - C:001556H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S170">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -394,14 +397,14 @@
 <li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S68"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:001CF9H - C:001E58H)</h2>
+<h2><a name="S68"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:001C9DH - C:001DFCH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S70"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001AC9H - C:001AF8H)</h2>
+<h2><a name="S70"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001B24H - C:001B53H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -413,7 +416,7 @@
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S72"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:0018A7H - C:001AA2H)</h2>
+<h2><a name="S72"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:00191AH - C:001B15H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S68">?PR?KS_SCANMATRIX?KEYSCAN</a>) Top=4 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -431,7 +434,7 @@
 <li><a href="#S48">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S75"></a>?PR?LED_ALL_SHUTDOWN?LED (C:0013F7H - C:00140CH)</h2>
+<h2><a name="S75"></a>?PR?LED_ALL_SHUTDOWN?LED (C:00140CH - C:001421H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S165">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -457,7 +460,7 @@
 <li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S77"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:000DFAH - C:000E83H)</h2>
+<h2><a name="S77"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:000DDFH - C:000E68H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S142">?PR?_XMEMCLEAR?UTILITIES</a>) Top=4 Bytes (<a href="#S79">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -469,7 +472,7 @@
 <li><a href="#S79">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S78"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0013F5H - C:0013F6H)</h2>
+<h2><a name="S78"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:00140AH - C:00140BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a>) Top=2 Bytes (<a href="#S85">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -481,7 +484,7 @@
 <li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S79"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:000FC5H - C:000FE1H)</h2>
+<h2><a name="S79"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:00173AH - C:001757H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S97">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S85">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -519,7 +522,7 @@
 <li><a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S88"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:001E99H - C:001EDBH)</h2>
+<h2><a name="S88"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:001E18H - C:001E5AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=2 Bytes (<a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -532,7 +535,7 @@
 <li><a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S90"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:0010DDH - C:001160H)</h2>
+<h2><a name="S90"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:0010F2H - C:001175H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>) Top=2 Bytes (<a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -547,14 +550,14 @@
 <li><a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S93"></a>?PR?KB_CB_INIT?SYS (C:0015EEH - C:0015F3H)</h2>
+<h2><a name="S93"></a>?PR?KB_CB_INIT?SYS (C:001603H - C:001608H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S97"></a>?PR?YC_ADC_INIT?ADC (C:001F72H - C:002035H)</h2>
+<h2><a name="S97"></a>?PR?YC_ADC_INIT?ADC (C:001F0FH - C:001FD2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S79">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -566,7 +569,7 @@
 <li><a href="#S79">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S98"></a>?PR?YC_ADC_CHECK?ADC (C:002036H - C:002121H)</h2>
+<h2><a name="S98"></a>?PR?YC_ADC_CHECK?ADC (C:001FD3H - C:0020BEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S100">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -578,7 +581,7 @@
 <li><a href="#S100">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
 </ul>
 
-<h2><a name="S100"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:002122H - C:002132H)</h2>
+<h2><a name="S100"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:0017A9H - C:0017BAH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S98">?PR?YC_ADC_CHECK?ADC</a>) Top=2 Bytes (<a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -590,14 +593,14 @@
 <li><a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S102"></a>?PR?_BUFSIZE?IPC (C:002133H - C:00218CH)</h2>
+<h2><a name="S102"></a>?PR?_BUFSIZE?IPC (C:0020BFH - C:002118H)</h2>
 <p><br><b>Maximum Stack:</b> Top=10 Bytes (<a href="#S106">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S106">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S104"></a>?PR?_IPCRX?IPC (C:00218DH - C:0021DCH)</h2>
+<h2><a name="S104"></a>?PR?_IPCRX?IPC (C:002119H - C:002168H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S118">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -632,6 +635,7 @@
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S92">?PR?KB_CB_TIMER100MS?SYS</a></li>
 <li><a href="#S88">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 <li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
 <li><a href="#S89">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
@@ -650,7 +654,7 @@
 <li><a href="#S112">?PR?_IPC_TX24GDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S112"></a>?PR?_IPC_TX24GDATA?IPC (C:000FBDH - C:000FC4H)</h2>
+<h2><a name="S112"></a>?PR?_IPC_TX24GDATA?IPC (C:000FA3H - C:000FAAH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S110">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -662,7 +666,7 @@
 <li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S115"></a>?PR?IPC_WAITLPM?IPC (C:0015E1H - C:0015EDH)</h2>
+<h2><a name="S115"></a>?PR?IPC_WAITLPM?IPC (C:0015F6H - C:001602H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -674,21 +678,21 @@
 <li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S116"></a>?PR?IPC_ABANDONLPM?IPC (C:0017C4H - C:0017CFH)</h2>
+<h2><a name="S116"></a>?PR?IPC_ABANDONLPM?IPC (C:001762H - C:00176DH)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S117"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:001AB1H - C:001AC8H)</h2>
+<h2><a name="S117"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:000FDFH - C:000FF6H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S48">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S118"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:0021DDH - C:0022A2H)</h2>
+<h2><a name="S118"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:002169H - C:00222EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S104">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -715,7 +719,7 @@
 <li><a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S140"></a>?PR?_DMEMCPY?UTILITIES (C:0022B0H - C:0022F3H)</h2>
+<h2><a name="S140"></a>?PR?_DMEMCPY?UTILITIES (C:00223CH - C:00227FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=8 Bytes (<a href="#S182">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -727,7 +731,7 @@
 <li><a href="#S182">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S142"></a>?PR?_XMEMCLEAR?UTILITIES (C:000DCEH - C:000DF9H)</h2>
+<h2><a name="S142"></a>?PR?_XMEMCLEAR?UTILITIES (C:000DB3H - C:000DDEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S77">?PR?SYSTEM_CLEAR_MEM?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -742,7 +746,7 @@
 <li><a href="#S77">?PR?SYSTEM_CLEAR_MEM?SYS</a></li>
 </ul>
 
-<h2><a name="S146"></a>?PR?_DELAY1MS?UTILITIES (C:001161H - C:001178H)</h2>
+<h2><a name="S146"></a>?PR?_DELAY1MS?UTILITIES (C:001176H - C:00118DH)</h2>
 <p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -755,7 +759,7 @@
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S147"></a>?PR?_COMPARE_STR?UTILITIES (C:001AF9H - C:001B42H)</h2>
+<h2><a name="S147"></a>?PR?_COMPARE_STR?UTILITIES (C:001B54H - C:001B9DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -767,7 +771,7 @@
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S149"></a>?PR?_GPIOSETBIT?GPIO (C:0016A1H - C:001701H)</h2>
+<h2><a name="S149"></a>?PR?_GPIOSETBIT?GPIO (C:0016BCH - C:00171CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S159">?PR?_GPIO_SETPD?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -782,7 +786,7 @@
 <li><a href="#S157">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
-<h2><a name="S152"></a>?PR?_GPIOGETBIT?GPIO (C:001607H - C:001645H)</h2>
+<h2><a name="S152"></a>?PR?_GPIOGETBIT?GPIO (C:00161CH - C:00165AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S173">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -794,7 +798,7 @@
 <li><a href="#S173">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
-<h2><a name="S154"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:001601H - C:001606H)</h2>
+<h2><a name="S154"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:001616H - C:00161BH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S170">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -819,7 +823,7 @@
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S157"></a>?PR?_GPIO_SETPU?GPIO (C:001650H - C:001660H)</h2>
+<h2><a name="S157"></a>?PR?_GPIO_SETPU?GPIO (C:00166BH - C:00167BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S149">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -832,7 +836,7 @@
 <li><a href="#S165">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S159"></a>?PR?_GPIO_SETPD?GPIO (C:001690H - C:0016A0H)</h2>
+<h2><a name="S159"></a>?PR?_GPIO_SETPD?GPIO (C:0016ABH - C:0016BBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S149">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -844,7 +848,7 @@
 <li><a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S161"></a>?PR?_GPIO_SETOE?GPIO (C:00167FH - C:00168FH)</h2>
+<h2><a name="S161"></a>?PR?_GPIO_SETOE?GPIO (C:00169AH - C:0016AAH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S149">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -857,7 +861,7 @@
 <li><a href="#S165">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S163"></a>?PR?_GPIO_SETINPUT?GPIO (C:001661H - C:00167EH)</h2>
+<h2><a name="S163"></a>?PR?_GPIO_SETINPUT?GPIO (C:00167CH - C:001699H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S159">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S61">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -872,7 +876,7 @@
 <li><a href="#S61">?PR?KSRAWINITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S165"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:00140DH - C:001428H)</h2>
+<h2><a name="S165"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:001422H - C:00143DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S161">?PR?_GPIO_SETOE?GPIO</a>) Top=4 Bytes (<a href="#S75">?PR?LED_ALL_SHUTDOWN?LED</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -886,7 +890,7 @@
 <li><a href="#S75">?PR?LED_ALL_SHUTDOWN?LED</a></li>
 </ul>
 
-<h2><a name="S170"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:001542H - C:001554H)</h2>
+<h2><a name="S170"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:001557H - C:001569H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S154">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S66">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -898,7 +902,7 @@
 <li><a href="#S66">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S173"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:002360H - C:00237CH)</h2>
+<h2><a name="S173"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:0017BBH - C:0017D6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S152">?PR?_GPIOGETBIT?GPIO</a>) Top=4 Bytes (<a href="#S87">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -911,14 +915,14 @@
 <li><a href="#S87">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S176"></a>?PR?GPIO_FILLPD?GPIO (C:00237DH - C:0023B0H)</h2>
+<h2><a name="S176"></a>?PR?GPIO_FILLPD?GPIO (C:002387H - C:0023BAH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S66">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S66">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S179"></a>?PR?IICWAITDONE?IIC (C:001721H - C:001728H)</h2>
+<h2><a name="S179"></a>?PR?IICWAITDONE?IIC (C:00175AH - C:001761H)</h2>
 <p><br><b>Maximum Stack:</b> Top=14 Bytes (<a href="#S180">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -926,7 +930,7 @@
 <li><a href="#S182">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S180"></a>?PR?_IIC_READ?IIC (C:001250H - C:0012FFH)</h2>
+<h2><a name="S180"></a>?PR?_IIC_READ?IIC (C:001264H - C:001313H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S179">?PR?IICWAITDONE?IIC</a>) Top=12 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -940,7 +944,7 @@
 <li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S182"></a>?PR?_IIC_WRITE?IIC (C:001729H - C:0017C3H)</h2>
+<h2><a name="S182"></a>?PR?_IIC_WRITE?IIC (C:002280H - C:00231AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S140">?PR?_DMEMCPY?UTILITIES</a>) Top=6 Bytes (<a href="#S184">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -953,7 +957,7 @@
 <li><a href="#S184">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 </ul>
 
-<h2><a name="S184"></a>?PR?_IIC_WRITEBLOCK?IIC (C:001348H - C:0013F4H)</h2>
+<h2><a name="S184"></a>?PR?_IIC_WRITEBLOCK?IIC (C:00135CH - C:001409H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S182">?PR?_IIC_WRITE?IIC</a>) Top=4 Bytes (<a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
Index: c51/output/FW.MAP
===================================================================
--- /YJX_KB_Project/1026_KB/CK8006/c51/output/FW.MAP	(revision 210)
+++ /YJX_KB_Project/1026_KB/CK8006/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               09/28/2020  16:54:51  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               11/23/2020  17:50:44  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -81,8 +81,8 @@
 
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
-X:000000H   X:004DD0H   X:004F40H   000306H   XDATA
-C:000000H   C:000000H   C:00FFFFH   0022FBH   CODE
+X:000000H   X:004DD0H   X:004F40H   000307H   XDATA
+C:000000H   C:000000H   C:00FFFFH   002305H   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
@@ -127,83 +127,83 @@
 000820H   0008B4H   000095H   BYTE   UNIT     CODE           ?PR?_IPCTX?IPC
 0008B5H   0008D9H   000025H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
 0008DAH   00091CH   000043H   BYTE   UNIT     CODE           ?PR?_XMEMCPY?UTILITIES
-00091DH   000B55H   000239H   BYTE   UNIT     CODE           ?PR?_KB_MOTION_KEYSCAN?KB_PROCESS
-000B56H   000DB2H   00025DH   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
-000DB3H   000DCDH   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
-000DCEH   000DF9H   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
-000DFAH   000E83H   00008AH   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
-000E84H   000EBBH   000038H   BYTE   UNIT     CODE           ?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS
-000EBCH   000F45H   00008AH   BYTE   UNIT     CODE           ?PR?_IPC_TXHIDDATA?KB_PROCESS
-000F46H   000FBCH   000077H   BYTE   UNIT     CODE           ?PR?KB_NEED_KEYSCAN?KB_PROCESS
-000FBDH   000FC4H   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
-000FC5H   000FE1H   00001DH   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-000FE2H   001016H   000035H   BYTE   UNIT     CODE           ?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
-001017H   0010C4H   0000AEH   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
-0010C5H   0010DCH   000018H   BYTE   UNIT     CODE           ?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH
-0010DDH   001160H   000084H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
-001161H   001178H   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
-001179H   00124FH   0000D7H   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
-001250H   0012FFH   0000B0H   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
-001300H   001305H   000006H   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
-001306H   001347H   000042H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
-001348H   0013F4H   0000ADH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
-0013F5H   0013F6H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
-0013F7H   00140CH   000016H   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
-00140DH   001428H   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
-001429H   001433H   00000BH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
-001434H   001451H   00001EH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
-001452H   001496H   000045H   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
-001497H   001541H   0000ABH   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
-001542H   001554H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
-001555H   0015E0H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
-0015E1H   0015EDH   00000DH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
-0015EEH   0015F3H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
-0015F4H   001600H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
-001601H   001606H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
-001607H   001645H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
-001646H   00164FH   00000AH   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
-001650H   001660H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
-001661H   00167EH   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
-00167FH   00168FH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
-001690H   0016A0H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
-0016A1H   001701H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
-001702H   00171EH   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
-00171FH   001720H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
-001721H   001728H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
-001729H   0017C3H   00009BH   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
-0017C4H   0017CFH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-0017D0H   0017E8H   000019H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
-0017E9H   00180CH   000024H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
-00180DH   001873H   000067H   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
-001874H   0018A6H   000033H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
-0018A7H   001AA2H   0001FCH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
-001AA3H   001AB0H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
-001AB1H   001AC8H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-001AC9H   001AF8H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
-001AF9H   001B42H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
-001B43H   001B98H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
-001B99H   001C41H   0000A9H   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
-001C42H   001CF8H   0000B7H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-001CF9H   001E58H   000160H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
-001E59H   001E7DH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-001E7EH   001E86H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-001E87H   001E88H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-001E89H   001E98H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-001E99H   001EDBH   000043H   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
-001EDCH   001F71H   000096H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-001F72H   002035H   0000C4H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-002036H   002121H   0000ECH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-002122H   002132H   000011H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
-002133H   00218CH   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-00218DH   0021DCH   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-0021DDH   0022A2H   0000C6H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-0022A3H   0022A8H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-0022A9H   0022AFH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-0022B0H   0022F3H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-0022F4H   002320H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
-002321H   00235FH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-002360H   00237CH   00001DH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
-00237DH   0023B0H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+00091DH   000B3AH   00021EH   BYTE   UNIT     CODE           ?PR?_KB_MOTION_KEYSCAN?KB_PROCESS
+000B3BH   000D97H   00025DH   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
+000D98H   000DB2H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
+000DB3H   000DDEH   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
+000DDFH   000E68H   00008AH   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
+000E69H   000EF2H   00008AH   BYTE   UNIT     CODE           ?PR?_IPC_TXHIDDATA?KB_PROCESS
+000EF3H   000F2CH   00003AH   BYTE   UNIT     CODE           ?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS
+000F2DH   000FA2H   000076H   BYTE   UNIT     CODE           ?PR?KB_NEED_KEYSCAN?KB_PROCESS
+000FA3H   000FAAH   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
+000FABH   000FDEH   000034H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
+000FDFH   000FF6H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+000FF7H   00102BH   000035H   BYTE   UNIT     CODE           ?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
+00102CH   0010D9H   0000AEH   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
+0010DAH   0010F1H   000018H   BYTE   UNIT     CODE           ?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH
+0010F2H   001175H   000084H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
+001176H   00118DH   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
+00118EH   001263H   0000D6H   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
+001264H   001313H   0000B0H   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
+001314H   001319H   000006H   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
+00131AH   00135BH   000042H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
+00135CH   001409H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
+00140AH   00140BH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
+00140CH   001421H   000016H   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
+001422H   00143DH   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
+00143EH   001448H   00000BH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
+001449H   001466H   00001EH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
+001467H   0014ABH   000045H   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
+0014ACH   001556H   0000ABH   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
+001557H   001569H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+00156AH   0015F5H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
+0015F6H   001602H   00000DH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
+001603H   001608H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+001609H   001615H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+001616H   00161BH   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+00161CH   00165AH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+00165BH   00166AH   000010H   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
+00166BH   00167BH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+00167CH   001699H   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+00169AH   0016AAH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+0016ABH   0016BBH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+0016BCH   00171CH   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+00171DH   001739H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
+00173AH   001757H   00001EH   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+001758H   001759H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+00175AH   001761H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
+001762H   00176DH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+00176EH   001785H   000018H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
+001786H   0017A8H   000023H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
+0017A9H   0017BAH   000012H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+0017BBH   0017D6H   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
+0017D7H   00183DH   000067H   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
+00183EH   001862H   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
+001863H   001919H   0000B7H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+00191AH   001B15H   0001FCH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
+001B16H   001B23H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+001B24H   001B53H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+001B54H   001B9DH   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+001B9EH   001BF3H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
+001BF4H   001C9CH   0000A9H   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
+001C9DH   001DFCH   000160H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+001DFDH   001E05H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+001E06H   001E07H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+001E08H   001E17H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+001E18H   001E5AH   000043H   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
+001E5BH   001F0EH   0000B4H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+001F0FH   001FD2H   0000C4H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+001FD3H   0020BEH   0000ECH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+0020BFH   002118H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+002119H   002168H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+002169H   00222EH   0000C6H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+00222FH   002234H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+002235H   00223BH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+00223CH   00227FH   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+002280H   00231AH   00009BH   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
+00231BH   002347H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+002348H   002386H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+002387H   0023BAH   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
 
 * * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
 000040H   000045H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?25
@@ -271,8 +271,8 @@
 004CB6H   004CB6H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?15
 004CB7H   004CB7H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?13
 004CB8H   004CBEH   000007H   ---    ---      **GAP**
-004CBFH   004D01H   000043H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?3
-004D02H   004D37H   000036H   ---    ---      **GAP**
+004CBFH   004D02H   000044H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?3
+004D03H   004D37H   000035H   ---    ---      **GAP**
 004D38H   004D38H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?26
 004D39H   004D3CH   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?29
 004D3DH   004D40H   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?14
@@ -369,39 +369,39 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       010005B1H   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      01001AC9H   CODE     ---       _array_is_empty
-      01001AF9H   CODE     ---       _compare_str
-      01001161H   CODE     ---       _Delay1ms
-      010022B0H   CODE     ---       _dmemcpy
-      01002321H   CODE     ---       _GPIO_ClearWakeup
-      01002360H   CODE     ---       _GPIO_FlipOutBit
-      01001601H   CODE     ---       _GPIO_GetInputStatus
-      01001661H   CODE     ---       _GPIO_SetInput
-      0100167FH   CODE     ---       _GPIO_Setoe
+      01001B24H   CODE     ---       _array_is_empty
+      01001B54H   CODE     ---       _compare_str
+      01001176H   CODE     ---       _Delay1ms
+      0100223CH   CODE     ---       _dmemcpy
+      01002348H   CODE     ---       _GPIO_ClearWakeup
+      010017BBH   CODE     ---       _GPIO_FlipOutBit
+      01001616H   CODE     ---       _GPIO_GetInputStatus
+      0100167CH   CODE     ---       _GPIO_SetInput
+      0100169AH   CODE     ---       _GPIO_Setoe
       01000784H   CODE     ---       _GPIO_Setout
-      0100140DH   CODE     ---       _GPIO_SetOutput
-      01001690H   CODE     ---       _GPIO_SetPd
-      01001650H   CODE     ---       _GPIO_SetPu
-      01001555H   CODE     ---       _GPIO_SetWakeup
-      01001542H   CODE     ---       _GPIO_SetWakeupByCurrentState
-      01001250H   CODE     ---       _IIC_Read
-      01001729H   CODE     ---       _IIC_write
-      01001348H   CODE     ---       _IIC_WriteBlock
-      010015F4H   CODE     ---       _IPC_Initialize
-      01000FBDH   CODE     ---       _IPC_Tx24GData
+      01001422H   CODE     ---       _GPIO_SetOutput
+      010016ABH   CODE     ---       _GPIO_SetPd
+      0100166BH   CODE     ---       _GPIO_SetPu
+      0100156AH   CODE     ---       _GPIO_SetWakeup
+      01001557H   CODE     ---       _GPIO_SetWakeupByCurrentState
+      01001264H   CODE     ---       _IIC_Read
+      01002280H   CODE     ---       _IIC_write
+      0100135CH   CODE     ---       _IIC_WriteBlock
+      01001609H   CODE     ---       _IPC_Initialize
+      01000FA3H   CODE     ---       _IPC_Tx24GData
       010007F8H   CODE     ---       _IPC_TxControlCmd
       010008B5H   CODE     ---       _IPC_TxData
-      01000EBCH   CODE     ---       _IPC_TxHidData
-      01001E59H   CODE     ---       _kb_combination_key_press
+      01000E69H   CODE     ---       _IPC_TxHidData
+      0100183EH   CODE     ---       _kb_combination_key_press
       0100091DH   CODE     ---       _kb_motion_keyscan
-      01000B56H   CODE     ---       _kb_multikey_setup
-      01000E84H   CODE     ---       _kb_send_combination_key
-      01000DB3H   CODE     ---       _kb_set_multikey
-      01001C42H   CODE     ---       _key_fn_function
-      01000DCEH   CODE     ---       _xmemclear
-      010022F4H   CODE     ---       _xmemclear_ff
+      01000B3BH   CODE     ---       _kb_multikey_setup
+      01000EF3H   CODE     ---       _kb_send_combination_key
+      01000D98H   CODE     ---       _kb_set_multikey
+      01001863H   CODE     ---       _key_fn_function
+      01000DB3H   CODE     ---       _xmemclear
+      0100231BH   CODE     ---       _xmemclear_ff
       010008DAH   CODE     ---       _xmemcpy
-      01001017H   CODE     ---       _YC_key_action_handle
+      0100102CH   CODE     ---       _YC_key_action_handle
       02004DE2H   XDATA    BYTE      action_timeout
       02004DDDH   XDATA    BYTE      ble_reconnect_flag
       02004C8DH   XDATA    BYTE      btstimer
@@ -417,25 +417,25 @@
       02004DD3H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD0H   XDATA    BYTE      get_24g_led_send
-      0100237DH   CODE     ---       GPIO_fillpd
+      01002387H   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DDAH   XDATA    BYTE      iOS_rec_pinCode
-      010017C4H   CODE     ---       IPC_AbandonLpm
-      010021DDH   CODE     ---       IPC_DealSingleStep
-      010022A3H   CODE     ---       IPC_GetBBDIsconnectReason
-      01001AB1H   CODE     ---       IPC_IsTxBuffEmpty
-      010015E1H   CODE     ---       IPC_WaitLpm
+      01001762H   CODE     ---       IPC_AbandonLpm
+      01002169H   CODE     ---       IPC_DealSingleStep
+      0100222FH   CODE     ---       IPC_GetBBDIsconnectReason
+      01000FDFH   CODE     ---       IPC_IsTxBuffEmpty
+      010015F6H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
       02000C4BH   XDATA    ---       ipcReadBuff
       02000BE7H   XDATA    ---       ipcSendBuff
-      0100180DH   CODE     ---       kb_24g_get_led_status
-      010010DDH   CODE     ---       kb_button_press_timer500ms
-      01000F46H   CODE     ---       kb_need_keyscan
-      010018A7H   CODE     ---       KS_GetCurrentEvt
-      01001429H   CODE     ---       KS_Initialize
-      01001CF9H   CODE     ---       KS_ScanMatrix
-      01001497H   CODE     ---       KS_Unistall
+      010017D7H   CODE     ---       kb_24g_get_led_status
+      010010F2H   CODE     ---       kb_button_press_timer500ms
+      01000F2DH   CODE     ---       kb_need_keyscan
+      0100191AH   CODE     ---       KS_GetCurrentEvt
+      0100143EH   CODE     ---       KS_Initialize
+      01001C9DH   CODE     ---       KS_ScanMatrix
+      010014ACH   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
       02004E31H   XDATA    ---       ksEvtPool
       01000621H   CONST    ---       ksMap
@@ -444,7 +444,7 @@
       02004D93H   XDATA    ---       ksSelMapOld
       02004D39H   XDATA    DWORD     le_pin_code
       02004DD2H   XDATA    BYTE      le_pin_code_len
-      010013F7H   CODE     ---       LED_all_shutdown
+      0100140CH   CODE     ---       LED_all_shutdown
       010006CFH   CODE     ---       LED_handle
       01000796H   CODE     ---       LED_timer500ms
       02004DD5H   XDATA    BYTE      long_press_flag
@@ -473,7 +473,7 @@
       02008010H   XDATA    BYTE      m_reset_reg
       020047F4H   XDATA    WORD      m_ui_state_map
       02000B81H   XDATA    BYTE      m_wakup_from_power_flag
-      0100171FH   CODE     ---       main
+      01001758H   CODE     ---       main
       02004DE4H   XDATA    BYTE      mult_key_status
       02004DE3H   XDATA    BYTE      mult_key_value
       02004DE5H   XDATA    ---       multikey
@@ -485,23 +485,23 @@
       02004DD8H   XDATA    BYTE      standard_key_release_flag
       02004DD4H   XDATA    BYTE      switch_role_timer
       010007F1H   CODE     ---       System_long_sleep
-      01001E87H   CODE     ---       System_Reset_Connect
-      01000FC5H   CODE     ---       System_Software_init
-      01002036H   CODE     ---       YC_adc_check
-      01002122H   CODE     ---       YC_adc_check_timer500ms
-      01001F72H   CODE     ---       YC_adc_init
+      01001E06H   CODE     ---       System_Reset_Connect
+      0100173AH   CODE     ---       System_Software_init
+      01001FD3H   CODE     ---       YC_adc_check
+      010017A9H   CODE     ---       YC_adc_check_timer500ms
+      01001F0FH   CODE     ---       YC_adc_init
       010006C2H   CODE     ---       YC_check_is_connected
-      01000FE2H   CODE     ---       YC_check_need_reconnected
-      01001300H   CODE     ---       YC_clear_reconnect_flag
-      01001E99H   CODE     ---       YC_connect_timeout_500ms
-      010010C5H   CODE     ---       YC_disconnect_all_link
+      01000FF7H   CODE     ---       YC_check_need_reconnected
+      01001314H   CODE     ---       YC_clear_reconnect_flag
+      01001E18H   CODE     ---       YC_connect_timeout_500ms
+      010010DAH   CODE     ---       YC_disconnect_all_link
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      010022A9H   CODE     ---       YC_Ice_break
-      010017E9H   CODE     ---       YC_pairing_timerout_500ms
-      01001646H   CODE     ---       YC_start_reconnect
-      01001452H   CODE     ---       YC_System_Main
-      01001306H   CODE     ---       YC_update_eeprom_data
+      01002235H   CODE     ---       YC_Ice_break
+      01001786H   CODE     ---       YC_pairing_timerout_500ms
+      0100165BH   CODE     ---       YC_start_reconnect
+      01001467H   CODE     ---       YC_System_Main
+      0100131AH   CODE     ---       YC_update_eeprom_data
 
 
 
@@ -510,11 +510,11 @@
       VALUE       REP       CLASS    TYPE      SYMBOL NAME
       ====================================================
       ---         MODULE    ---      ---       BLUETOOTH
-      01001306H   PUBLIC    CODE     ---       YC_update_eeprom_data
-      01001646H   PUBLIC    CODE     ---       YC_start_reconnect
-      010010C5H   PUBLIC    CODE     ---       YC_disconnect_all_link
-      01001300H   PUBLIC    CODE     ---       YC_clear_reconnect_flag
-      01000FE2H   PUBLIC    CODE     ---       YC_check_need_reconnected
+      0100131AH   PUBLIC    CODE     ---       YC_update_eeprom_data
+      0100165BH   PUBLIC    CODE     ---       YC_start_reconnect
+      010010DAH   PUBLIC    CODE     ---       YC_disconnect_all_link
+      01001314H   PUBLIC    CODE     ---       YC_clear_reconnect_flag
+      01000FF7H   PUBLIC    CODE     ---       YC_check_need_reconnected
       010006C2H   PUBLIC    CODE     ---       YC_check_is_connected
 
       010006C2H   BLOCK     CODE     ---       LVL=0
@@ -528,75 +528,76 @@
       010006CEH   LINE      ---      ---       #11
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01000FE2H   BLOCK     CODE     ---       LVL=0
-      01000FE2H   LINE      ---      ---       #13
-      01000FE2H   LINE      ---      ---       #14
-      01000FE2H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000FE2H   LINE      ---      ---       #15
-      01000FE4H   LINE      ---      ---       #17
-      01000FEAH   LINE      ---      ---       #18
-      01000FEBH   LINE      ---      ---       #20
-      01000FF3H   LINE      ---      ---       #21
-      01000FF3H   LINE      ---      ---       #22
-      01000FF9H   LINE      ---      ---       #23
-      01000FF9H   LINE      ---      ---       #24
-      01000FFCH   LINE      ---      ---       #25
-      01001007H   LINE      ---      ---       #27
-      01001007H   LINE      ---      ---       #28
-      0100100BH   LINE      ---      ---       #29
-      0100100DH   LINE      ---      ---       #30
-      0100100DH   LINE      ---      ---       #31
-      0100100DH   LINE      ---      ---       #32
-      0100100FH   LINE      ---      ---       #34
-      0100100FH   LINE      ---      ---       #35
-      01001014H   LINE      ---      ---       #36
-      01001016H   LINE      ---      ---       #37
-      01001016H   LINE      ---      ---       #38
-      01001016H   LINE      ---      ---       #39
+      01000FF7H   BLOCK     CODE     ---       LVL=0
+      01000FF7H   LINE      ---      ---       #13
+      01000FF7H   LINE      ---      ---       #14
+      01000FF7H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000FF7H   LINE      ---      ---       #15
+      01000FF9H   LINE      ---      ---       #17
+      01000FFFH   LINE      ---      ---       #18
+      01001000H   LINE      ---      ---       #20
+      01001008H   LINE      ---      ---       #21
+      01001008H   LINE      ---      ---       #22
+      0100100EH   LINE      ---      ---       #23
+      0100100EH   LINE      ---      ---       #24
+      01001011H   LINE      ---      ---       #25
+      0100101CH   LINE      ---      ---       #27
+      0100101CH   LINE      ---      ---       #28
+      01001020H   LINE      ---      ---       #29
+      01001022H   LINE      ---      ---       #30
+      01001022H   LINE      ---      ---       #31
+      01001022H   LINE      ---      ---       #32
+      01001024H   LINE      ---      ---       #34
+      01001024H   LINE      ---      ---       #35
+      01001029H   LINE      ---      ---       #36
+      0100102BH   LINE      ---      ---       #37
+      0100102BH   LINE      ---      ---       #38
+      0100102BH   LINE      ---      ---       #39
       00000007H   SYMBOL    DATA     VOID      return_val
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001300H   BLOCK     CODE     ---       LVL=0
-      01001300H   LINE      ---      ---       #42
-      01001300H   LINE      ---      ---       #43
-      01001300H   LINE      ---      ---       #44
-      01001305H   LINE      ---      ---       #45
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010010C5H   BLOCK     CODE     ---       LVL=0
-      010010C5H   LINE      ---      ---       #48
-      010010C5H   LINE      ---      ---       #49
-      010010C5H   LINE      ---      ---       #50
-      010010D2H   LINE      ---      ---       #52
-      010010D2H   LINE      ---      ---       #53
-      010010D7H   LINE      ---      ---       #54
-      010010DAH   LINE      ---      ---       #55
-      010010DAH   LINE      ---      ---       #56
-      010010DCH   LINE      ---      ---       #57
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001646H   BLOCK     CODE     ---       LVL=0
-      01001646H   LINE      ---      ---       #60
-      01001646H   LINE      ---      ---       #61
-      01001646H   LINE      ---      ---       #62
-      0100164CH   LINE      ---      ---       #63
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001306H   BLOCK     CODE     ---       LVL=0
-      01001306H   LINE      ---      ---       #67
-      01001306H   LINE      ---      ---       #68
-      01001306H   LINE      ---      ---       #69
-      0100130CH   LINE      ---      ---       #70
-      0100130CH   LINE      ---      ---       #71
-      01001310H   LINE      ---      ---       #72
-      01001317H   LINE      ---      ---       #73
-      01001327H   LINE      ---      ---       #74
-      01001337H   LINE      ---      ---       #75
-      0100133EH   LINE      ---      ---       #76
-      01001342H   LINE      ---      ---       #77
-      01001347H   LINE      ---      ---       #78
-      01001347H   LINE      ---      ---       #79
+      01001314H   BLOCK     CODE     ---       LVL=0
+      01001314H   LINE      ---      ---       #42
+      01001314H   LINE      ---      ---       #43
+      01001314H   LINE      ---      ---       #44
+      01001319H   LINE      ---      ---       #45
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010010DAH   BLOCK     CODE     ---       LVL=0
+      010010DAH   LINE      ---      ---       #48
+      010010DAH   LINE      ---      ---       #49
+      010010DAH   LINE      ---      ---       #50
+      010010E7H   LINE      ---      ---       #52
+      010010E7H   LINE      ---      ---       #53
+      010010ECH   LINE      ---      ---       #54
+      010010EFH   LINE      ---      ---       #55
+      010010EFH   LINE      ---      ---       #56
+      010010F1H   LINE      ---      ---       #57
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100165BH   BLOCK     CODE     ---       LVL=0
+      0100165BH   LINE      ---      ---       #60
+      0100165BH   LINE      ---      ---       #61
+      0100165BH   LINE      ---      ---       #62
+      01001661H   LINE      ---      ---       #63
+      01001667H   LINE      ---      ---       #64
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100131AH   BLOCK     CODE     ---       LVL=0
+      0100131AH   LINE      ---      ---       #68
+      0100131AH   LINE      ---      ---       #69
+      0100131AH   LINE      ---      ---       #70
+      01001320H   LINE      ---      ---       #71
+      01001320H   LINE      ---      ---       #72
+      01001324H   LINE      ---      ---       #73
+      0100132BH   LINE      ---      ---       #74
+      0100133BH   LINE      ---      ---       #75
+      0100134BH   LINE      ---      ---       #76
+      01001352H   LINE      ---      ---       #77
+      01001356H   LINE      ---      ---       #78
+      0100135BH   LINE      ---      ---       #79
+      0100135BH   LINE      ---      ---       #80
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       GLOBAL_VARIABLE
@@ -656,194 +657,194 @@
       0100060CH   PUBLIC    CONST    ---       col
 
       ---         MODULE    ---      ---       KB_PROCESS
-      01000B56H   PUBLIC    CODE     ---       _kb_multikey_setup
-      01001C42H   PUBLIC    CODE     ---       _key_fn_function
-      01001E59H   PUBLIC    CODE     ---       _kb_combination_key_press
+      01000B3BH   PUBLIC    CODE     ---       _kb_multikey_setup
+      01001863H   PUBLIC    CODE     ---       _key_fn_function
+      0100183EH   PUBLIC    CODE     ---       _kb_combination_key_press
       0100091DH   PUBLIC    CODE     ---       _kb_motion_keyscan
-      01000F46H   PUBLIC    CODE     ---       kb_need_keyscan
-      0100180DH   PUBLIC    CODE     ---       kb_24g_get_led_status
-      01000E84H   PUBLIC    CODE     ---       _kb_send_combination_key
-      01000DB3H   PUBLIC    CODE     ---       _kb_set_multikey
-      01000EBCH   PUBLIC    CODE     ---       _IPC_TxHidData
-      01001017H   PUBLIC    CODE     ---       _YC_key_action_handle
-
-      01001017H   BLOCK     CODE     ---       LVL=0
-      01001017H   LINE      ---      ---       #3
-      0100101CH   LINE      ---      ---       #4
-      0100101CH   LINE      ---      ---       #5
-      01001029H   LINE      ---      ---       #6
-      01001029H   LINE      ---      ---       #7
-      01001029H   LINE      ---      ---       #8
-      01001029H   LINE      ---      ---       #9
-      0100102EH   LINE      ---      ---       #10
-      01001033H   LINE      ---      ---       #11
-      01001033H   LINE      ---      ---       #12
-      0100103BH   LINE      ---      ---       #13
-      0100103CH   LINE      ---      ---       #15
-      0100103CH   LINE      ---      ---       #16
-      0100104CH   LINE      ---      ---       #17
-      01001050H   LINE      ---      ---       #18
-      01001066H   LINE      ---      ---       #19
-      01001066H   LINE      ---      ---       #20
-      0100106CH   LINE      ---      ---       #21
-      0100106EH   LINE      ---      ---       #22
-      01001070H   LINE      ---      ---       #23
-      01001072H   LINE      ---      ---       #24
-      01001072H   LINE      ---      ---       #25
-      01001077H   LINE      ---      ---       #27
-      0100107DH   LINE      ---      ---       #28
-      01001080H   LINE      ---      ---       #29
-      01001084H   LINE      ---      ---       #30
-      01001084H   LINE      ---      ---       #31
-      01001085H   LINE      ---      ---       #32
-      01001085H   LINE      ---      ---       #33
-      0100108AH   LINE      ---      ---       #34
-      0100108FH   LINE      ---      ---       #35
-      0100108FH   LINE      ---      ---       #36
-      01001097H   LINE      ---      ---       #37
-      01001098H   LINE      ---      ---       #39
-      01001098H   LINE      ---      ---       #40
-      010010A0H   LINE      ---      ---       #41
-      010010A0H   LINE      ---      ---       #42
-      010010A5H   LINE      ---      ---       #43
-      010010ABH   LINE      ---      ---       #44
-      010010AEH   LINE      ---      ---       #45
-      010010B4H   LINE      ---      ---       #46
-      010010B9H   LINE      ---      ---       #47
-      010010B9H   LINE      ---      ---       #48
-      010010BEH   LINE      ---      ---       #49
-      010010BEH   LINE      ---      ---       #50
-      010010BFH   LINE      ---      ---       #51
-      010010BFH   LINE      ---      ---       #52
-      010010C4H   LINE      ---      ---       #53
-      010010C4H   LINE      ---      ---       #54
-      010010C4H   LINE      ---      ---       #55
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000EBCH   BLOCK     CODE     ---       LVL=0
-      01000EBCH   LINE      ---      ---       #59
-      01000ECAH   LINE      ---      ---       #60
-      01000ECAH   LINE      ---      ---       #61
-      01000ECFH   LINE      ---      ---       #63
-      01000ED5H   LINE      ---      ---       #66
-      01000EDDH   LINE      ---      ---       #67
-      01000EDDH   LINE      ---      ---       #68
-      01000EF0H   LINE      ---      ---       #69
-      01000EF0H   LINE      ---      ---       #70
-      01000F10H   LINE      ---      ---       #71
-      01000F16H   LINE      ---      ---       #73
-      01000F1CH   LINE      ---      ---       #74
-      01000F1EH   LINE      ---      ---       #75
-      01000F22H   LINE      ---      ---       #76
-      01000F22H   LINE      ---      ---       #77
-      01000F32H   LINE      ---      ---       #78
-      01000F32H   LINE      ---      ---       #79
-      01000F36H   LINE      ---      ---       #80
-      01000F38H   LINE      ---      ---       #82
-      01000F38H   LINE      ---      ---       #83
-      01000F3EH   LINE      ---      ---       #84
-      01000F3EH   LINE      ---      ---       #85
-      01000F3EH   LINE      ---      ---       #86
-      01000F45H   LINE      ---      ---       #87
-      01000F45H   LINE      ---      ---       #88
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000DB3H   BLOCK     CODE     ---       LVL=0
-      01000DB3H   LINE      ---      ---       #91
-      01000DB7H   LINE      ---      ---       #92
-      01000DB7H   LINE      ---      ---       #93
-      01000DBFH   LINE      ---      ---       #94
-      01000DBFH   LINE      ---      ---       #95
-      01000DC2H   LINE      ---      ---       #96
-      01000DC7H   LINE      ---      ---       #97
-      01000DCAH   LINE      ---      ---       #98
-      01000DCDH   LINE      ---      ---       #99
-      01000DCDH   LINE      ---      ---       #100
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000E84H   BLOCK     CODE     ---       LVL=0
-      01000E84H   LINE      ---      ---       #103
-      01000E8CH   LINE      ---      ---       #104
-      01000E8CH   LINE      ---      ---       #105
-      01000E98H   LINE      ---      ---       #106
-      01000E9EH   LINE      ---      ---       #107
-      01000EACH   LINE      ---      ---       #108
-      01000EB4H   LINE      ---      ---       #109
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100180DH   BLOCK     CODE     ---       LVL=0
-      0100180DH   LINE      ---      ---       #129
-      0100180DH   LINE      ---      ---       #130
-      0100180DH   LINE      ---      ---       #131
-      0100181BH   LINE      ---      ---       #132
-      0100181BH   LINE      ---      ---       #133
-      01001823H   LINE      ---      ---       #134
-      01001823H   LINE      ---      ---       #135
-      0100182FH   LINE      ---      ---       #136
-      0100183AH   LINE      ---      ---       #137
-      01001840H   LINE      ---      ---       #138
-      01001845H   LINE      ---      ---       #139
-      01001845H   LINE      ---      ---       #140
-      01001846H   LINE      ---      ---       #141
-      01001853H   LINE      ---      ---       #142
-      01001853H   LINE      ---      ---       #143
-      01001857H   LINE      ---      ---       #144
-      01001863H   LINE      ---      ---       #145
-      0100186EH   LINE      ---      ---       #146
-      01001873H   LINE      ---      ---       #147
-      01001873H   LINE      ---      ---       #148
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001874H   BLOCK     CODE     ---       LVL=0
-      01001874H   LINE      ---      ---       #152
-      01001874H   LINE      ---      ---       #153
-      01001874H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001874H   LINE      ---      ---       #154
-      0100187DH   LINE      ---      ---       #156
-      01001881H   LINE      ---      ---       #158
-      0100188EH   LINE      ---      ---       #160
-      01001891H   LINE      ---      ---       #161
-      01001891H   LINE      ---      ---       #162
-      01001896H   LINE      ---      ---       #163
-      01001898H   LINE      ---      ---       #165
-      01001898H   LINE      ---      ---       #166
-      010018A6H   LINE      ---      ---       #167
+      01000F2DH   PUBLIC    CODE     ---       kb_need_keyscan
+      010017D7H   PUBLIC    CODE     ---       kb_24g_get_led_status
+      01000EF3H   PUBLIC    CODE     ---       _kb_send_combination_key
+      01000D98H   PUBLIC    CODE     ---       _kb_set_multikey
+      01000E69H   PUBLIC    CODE     ---       _IPC_TxHidData
+      0100102CH   PUBLIC    CODE     ---       _YC_key_action_handle
+
+      0100102CH   BLOCK     CODE     ---       LVL=0
+      0100102CH   LINE      ---      ---       #3
+      01001031H   LINE      ---      ---       #4
+      01001031H   LINE      ---      ---       #5
+      0100103EH   LINE      ---      ---       #6
+      0100103EH   LINE      ---      ---       #7
+      0100103EH   LINE      ---      ---       #8
+      0100103EH   LINE      ---      ---       #9
+      01001043H   LINE      ---      ---       #10
+      01001048H   LINE      ---      ---       #11
+      01001048H   LINE      ---      ---       #12
+      01001050H   LINE      ---      ---       #13
+      01001051H   LINE      ---      ---       #15
+      01001051H   LINE      ---      ---       #16
+      01001061H   LINE      ---      ---       #17
+      01001065H   LINE      ---      ---       #18
+      0100107BH   LINE      ---      ---       #19
+      0100107BH   LINE      ---      ---       #20
+      01001081H   LINE      ---      ---       #21
+      01001083H   LINE      ---      ---       #22
+      01001085H   LINE      ---      ---       #23
+      01001087H   LINE      ---      ---       #24
+      01001087H   LINE      ---      ---       #25
+      0100108CH   LINE      ---      ---       #27
+      01001092H   LINE      ---      ---       #28
+      01001095H   LINE      ---      ---       #29
+      01001099H   LINE      ---      ---       #30
+      01001099H   LINE      ---      ---       #31
+      0100109AH   LINE      ---      ---       #32
+      0100109AH   LINE      ---      ---       #33
+      0100109FH   LINE      ---      ---       #34
+      010010A4H   LINE      ---      ---       #35
+      010010A4H   LINE      ---      ---       #36
+      010010ACH   LINE      ---      ---       #37
+      010010ADH   LINE      ---      ---       #39
+      010010ADH   LINE      ---      ---       #40
+      010010B5H   LINE      ---      ---       #41
+      010010B5H   LINE      ---      ---       #42
+      010010BAH   LINE      ---      ---       #43
+      010010C0H   LINE      ---      ---       #44
+      010010C3H   LINE      ---      ---       #45
+      010010C9H   LINE      ---      ---       #46
+      010010CEH   LINE      ---      ---       #47
+      010010CEH   LINE      ---      ---       #48
+      010010D3H   LINE      ---      ---       #49
+      010010D3H   LINE      ---      ---       #50
+      010010D4H   LINE      ---      ---       #51
+      010010D4H   LINE      ---      ---       #52
+      010010D9H   LINE      ---      ---       #53
+      010010D9H   LINE      ---      ---       #54
+      010010D9H   LINE      ---      ---       #55
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000E69H   BLOCK     CODE     ---       LVL=0
+      01000E69H   LINE      ---      ---       #59
+      01000E77H   LINE      ---      ---       #60
+      01000E77H   LINE      ---      ---       #61
+      01000E7CH   LINE      ---      ---       #63
+      01000E82H   LINE      ---      ---       #66
+      01000E8AH   LINE      ---      ---       #67
+      01000E8AH   LINE      ---      ---       #68
+      01000E9DH   LINE      ---      ---       #69
+      01000E9DH   LINE      ---      ---       #70
+      01000EBDH   LINE      ---      ---       #71
+      01000EC3H   LINE      ---      ---       #73
+      01000EC9H   LINE      ---      ---       #74
+      01000ECBH   LINE      ---      ---       #75
+      01000ECFH   LINE      ---      ---       #76
+      01000ECFH   LINE      ---      ---       #77
+      01000EDFH   LINE      ---      ---       #78
+      01000EDFH   LINE      ---      ---       #79
+      01000EE3H   LINE      ---      ---       #80
+      01000EE5H   LINE      ---      ---       #82
+      01000EE5H   LINE      ---      ---       #83
+      01000EEBH   LINE      ---      ---       #84
+      01000EEBH   LINE      ---      ---       #85
+      01000EEBH   LINE      ---      ---       #86
+      01000EF2H   LINE      ---      ---       #87
+      01000EF2H   LINE      ---      ---       #88
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000D98H   BLOCK     CODE     ---       LVL=0
+      01000D98H   LINE      ---      ---       #91
+      01000D9CH   LINE      ---      ---       #92
+      01000D9CH   LINE      ---      ---       #93
+      01000DA4H   LINE      ---      ---       #94
+      01000DA4H   LINE      ---      ---       #95
+      01000DA7H   LINE      ---      ---       #96
+      01000DACH   LINE      ---      ---       #97
+      01000DAFH   LINE      ---      ---       #98
+      01000DB2H   LINE      ---      ---       #99
+      01000DB2H   LINE      ---      ---       #100
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000EF3H   BLOCK     CODE     ---       LVL=0
+      01000EF3H   LINE      ---      ---       #103
+      01000EFBH   LINE      ---      ---       #104
+      01000EFBH   LINE      ---      ---       #105
+      01000F07H   LINE      ---      ---       #106
+      01000F0DH   LINE      ---      ---       #107
+      01000F1BH   LINE      ---      ---       #108
+      01000F23H   LINE      ---      ---       #109
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010017D7H   BLOCK     CODE     ---       LVL=0
+      010017D7H   LINE      ---      ---       #129
+      010017D7H   LINE      ---      ---       #130
+      010017D7H   LINE      ---      ---       #131
+      010017E5H   LINE      ---      ---       #132
+      010017E5H   LINE      ---      ---       #133
+      010017EDH   LINE      ---      ---       #134
+      010017EDH   LINE      ---      ---       #135
+      010017F9H   LINE      ---      ---       #136
+      01001804H   LINE      ---      ---       #137
+      0100180AH   LINE      ---      ---       #138
+      0100180FH   LINE      ---      ---       #139
+      0100180FH   LINE      ---      ---       #140
+      01001810H   LINE      ---      ---       #141
+      0100181DH   LINE      ---      ---       #142
+      0100181DH   LINE      ---      ---       #143
+      01001821H   LINE      ---      ---       #144
+      0100182DH   LINE      ---      ---       #145
+      01001838H   LINE      ---      ---       #146
+      0100183DH   LINE      ---      ---       #147
+      0100183DH   LINE      ---      ---       #148
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FABH   BLOCK     CODE     ---       LVL=0
+      01000FABH   LINE      ---      ---       #152
+      01000FABH   LINE      ---      ---       #153
+      01000FABH   BLOCK     CODE     NEAR LAB  LVL=1
+      01000FABH   LINE      ---      ---       #154
+      01000FB4H   LINE      ---      ---       #156
+      01000FB8H   LINE      ---      ---       #158
+      01000FC6H   LINE      ---      ---       #160
+      01000FC9H   LINE      ---      ---       #161
+      01000FC9H   LINE      ---      ---       #162
+      01000FCEH   LINE      ---      ---       #163
+      01000FD1H   LINE      ---      ---       #165
+      01000FD1H   LINE      ---      ---       #166
+      01000FDEH   LINE      ---      ---       #167
       02004E75H   SYMBOL    XDATA    VOID      pEvt
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000F46H   BLOCK     CODE     ---       LVL=0
-      01000F46H   LINE      ---      ---       #171
-      01000F46H   LINE      ---      ---       #172
-      01000F46H   LINE      ---      ---       #173
-      01000F55H   LINE      ---      ---       #177
-      01000F58H   LINE      ---      ---       #179
-      01000F58H   LINE      ---      ---       #180
-      01000F5FH   LINE      ---      ---       #181
-      01000F5FH   LINE      ---      ---       #182
-      01000F66H   LINE      ---      ---       #183
-      01000F6CH   LINE      ---      ---       #184
-      01000F6DH   LINE      ---      ---       #185
-      01000F74H   LINE      ---      ---       #186
-      01000F74H   LINE      ---      ---       #187
-      01000F77H   LINE      ---      ---       #188
-      01000F7FH   LINE      ---      ---       #189
-      01000F7FH   LINE      ---      ---       #190
-      01000F86H   LINE      ---      ---       #191
-      01000F86H   LINE      ---      ---       #192
-      01000F8BH   LINE      ---      ---       #193
-      01000F94H   LINE      ---      ---       #194
-      01000F99H   LINE      ---      ---       #195
-      01000F9FH   LINE      ---      ---       #196
-      01000FA0H   LINE      ---      ---       #197
-      01000FA7H   LINE      ---      ---       #198
-      01000FA7H   LINE      ---      ---       #199
-      01000FACH   LINE      ---      ---       #200
-      01000FB0H   LINE      ---      ---       #201
-      01000FB7H   LINE      ---      ---       #202
-      01000FBCH   LINE      ---      ---       #203
-      01000FBCH   LINE      ---      ---       #204
-      01000FBCH   LINE      ---      ---       #206
+      01000F2DH   BLOCK     CODE     ---       LVL=0
+      01000F2DH   LINE      ---      ---       #171
+      01000F2DH   LINE      ---      ---       #172
+      01000F2DH   LINE      ---      ---       #173
+      01000F3CH   LINE      ---      ---       #177
+      01000F3EH   LINE      ---      ---       #179
+      01000F3EH   LINE      ---      ---       #180
+      01000F45H   LINE      ---      ---       #181
+      01000F45H   LINE      ---      ---       #182
+      01000F4CH   LINE      ---      ---       #183
+      01000F52H   LINE      ---      ---       #184
+      01000F53H   LINE      ---      ---       #185
+      01000F5AH   LINE      ---      ---       #186
+      01000F5AH   LINE      ---      ---       #187
+      01000F5DH   LINE      ---      ---       #188
+      01000F65H   LINE      ---      ---       #189
+      01000F65H   LINE      ---      ---       #190
+      01000F6CH   LINE      ---      ---       #191
+      01000F6CH   LINE      ---      ---       #192
+      01000F71H   LINE      ---      ---       #193
+      01000F7AH   LINE      ---      ---       #194
+      01000F7FH   LINE      ---      ---       #195
+      01000F85H   LINE      ---      ---       #196
+      01000F86H   LINE      ---      ---       #197
+      01000F8DH   LINE      ---      ---       #198
+      01000F8DH   LINE      ---      ---       #199
+      01000F92H   LINE      ---      ---       #200
+      01000F96H   LINE      ---      ---       #201
+      01000F9DH   LINE      ---      ---       #202
+      01000FA2H   LINE      ---      ---       #203
+      01000FA2H   LINE      ---      ---       #204
+      01000FA2H   LINE      ---      ---       #206
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100091DH   BLOCK     CODE     ---       LVL=0
@@ -866,413 +867,406 @@
       01000987H   LINE      ---      ---       #230
       0100098EH   LINE      ---      ---       #231
       01000999H   LINE      ---      ---       #232
-      010009A5H   LINE      ---      ---       #235
-      010009D3H   LINE      ---      ---       #238
-      010009D3H   LINE      ---      ---       #239
-      010009D9H   LINE      ---      ---       #240
-      010009DDH   LINE      ---      ---       #241
+      010009A5H   LINE      ---      ---       #234
+      010009BAH   LINE      ---      ---       #235
+      010009BAH   LINE      ---      ---       #236
+      010009C5H   LINE      ---      ---       #237
+      010009CBH   LINE      ---      ---       #238
+      010009D2H   LINE      ---      ---       #239
+      010009D7H   LINE      ---      ---       #240
+      010009DCH   LINE      ---      ---       #241
       010009E1H   LINE      ---      ---       #242
-      010009E5H   LINE      ---      ---       #243
-      010009EDH   LINE      ---      ---       #244
-      010009EDH   LINE      ---      ---       #245
-      010009F4H   LINE      ---      ---       #246
-      010009F6H   LINE      ---      ---       #248
-      010009F6H   LINE      ---      ---       #249
-      010009FDH   LINE      ---      ---       #250
-      010009FDH   LINE      ---      ---       #251
-      010009FFH   LINE      ---      ---       #253
-      010009FFH   LINE      ---      ---       #254
-      01000A06H   LINE      ---      ---       #255
-      01000A06H   LINE      ---      ---       #257
-      01000A0CH   LINE      ---      ---       #258
-      01000A25H   LINE      ---      ---       #261
-      01000A25H   LINE      ---      ---       #263
-      01000A25H   LINE      ---      ---       #266
-      01000A2DH   LINE      ---      ---       #267
-      01000A2DH   LINE      ---      ---       #268
-      01000A3BH   LINE      ---      ---       #269
-      01000A3BH   LINE      ---      ---       #270
-      01000A64H   LINE      ---      ---       #272
-      01000A64H   LINE      ---      ---       #273
-      01000A6AH   LINE      ---      ---       #274
-      01000A6AH   LINE      ---      ---       #275
-      01000A72H   LINE      ---      ---       #276
-      01000A72H   LINE      ---      ---       #278
-      01000A7FH   LINE      ---      ---       #280
-      01000A86H   LINE      ---      ---       #281
-      01000A86H   LINE      ---      ---       #282
-      01000A89H   LINE      ---      ---       #283
-      01000A8DH   LINE      ---      ---       #284
-      01000A97H   LINE      ---      ---       #285
-      01000A97H   LINE      ---      ---       #286
-      01000A9EH   LINE      ---      ---       #287
-      01000A9EH   LINE      ---      ---       #288
-      01000AA0H   LINE      ---      ---       #289
-      01000AA4H   LINE      ---      ---       #290
-      01000AAAH   LINE      ---      ---       #291
-      01000AB4H   LINE      ---      ---       #292
-      01000AB4H   LINE      ---      ---       #294
-      01000AB4H   LINE      ---      ---       #295
-      01000ABAH   LINE      ---      ---       #296
-      01000ACCH   LINE      ---      ---       #297
-      01000ACFH   LINE      ---      ---       #299
-      01000AD3H   LINE      ---      ---       #301
-      01000ADCH   LINE      ---      ---       #302
-      01000AFAH   LINE      ---      ---       #304
-      01000B16H   LINE      ---      ---       #306
-      01000B26H   LINE      ---      ---       #307
-      01000B26H   LINE      ---      ---       #308
-      01000B34H   LINE      ---      ---       #309
-      01000B43H   LINE      ---      ---       #310
-      01000B4BH   LINE      ---      ---       #312
-      01000B55H   LINE      ---      ---       #313
-      01000B55H   LINE      ---      ---       #315
+      010009EBH   LINE      ---      ---       #244
+      010009EBH   LINE      ---      ---       #270
+      010009F1H   LINE      ---      ---       #271
+      01000A0AH   LINE      ---      ---       #274
+      01000A0AH   LINE      ---      ---       #276
+      01000A0AH   LINE      ---      ---       #279
+      01000A12H   LINE      ---      ---       #280
+      01000A12H   LINE      ---      ---       #281
+      01000A20H   LINE      ---      ---       #282
+      01000A20H   LINE      ---      ---       #283
+      01000A49H   LINE      ---      ---       #285
+      01000A49H   LINE      ---      ---       #286
+      01000A4FH   LINE      ---      ---       #287
+      01000A4FH   LINE      ---      ---       #288
+      01000A57H   LINE      ---      ---       #289
+      01000A57H   LINE      ---      ---       #291
+      01000A64H   LINE      ---      ---       #293
+      01000A6BH   LINE      ---      ---       #294
+      01000A6BH   LINE      ---      ---       #295
+      01000A6EH   LINE      ---      ---       #296
+      01000A72H   LINE      ---      ---       #297
+      01000A7CH   LINE      ---      ---       #298
+      01000A7CH   LINE      ---      ---       #299
+      01000A83H   LINE      ---      ---       #300
+      01000A83H   LINE      ---      ---       #301
+      01000A85H   LINE      ---      ---       #302
+      01000A89H   LINE      ---      ---       #303
+      01000A8FH   LINE      ---      ---       #304
+      01000A99H   LINE      ---      ---       #305
+      01000A99H   LINE      ---      ---       #307
+      01000A99H   LINE      ---      ---       #308
+      01000A9FH   LINE      ---      ---       #309
+      01000AB1H   LINE      ---      ---       #310
+      01000AB4H   LINE      ---      ---       #312
+      01000AB8H   LINE      ---      ---       #314
+      01000AC1H   LINE      ---      ---       #315
+      01000ADFH   LINE      ---      ---       #317
+      01000AFBH   LINE      ---      ---       #319
+      01000B0BH   LINE      ---      ---       #320
+      01000B0BH   LINE      ---      ---       #321
+      01000B19H   LINE      ---      ---       #322
+      01000B28H   LINE      ---      ---       #323
+      01000B30H   LINE      ---      ---       #325
+      01000B3AH   LINE      ---      ---       #326
+      01000B3AH   LINE      ---      ---       #328
       02004E55H   SYMBOL    XDATA    VOID      temp
       02004E56H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001E59H   BLOCK     CODE     ---       LVL=0
-      01001E59H   LINE      ---      ---       #319
-      01001E59H   LINE      ---      ---       #320
-      01001E59H   LINE      ---      ---       #321
-      01001E5EH   LINE      ---      ---       #322
-      01001E61H   LINE      ---      ---       #324
-      01001E65H   LINE      ---      ---       #325
-      01001E65H   LINE      ---      ---       #326
-      01001E6CH   LINE      ---      ---       #327
-      01001E70H   LINE      ---      ---       #329
-      01001E76H   LINE      ---      ---       #330
-      01001E77H   LINE      ---      ---       #332
-      01001E77H   LINE      ---      ---       #333
-      01001E7DH   LINE      ---      ---       #334
-      01001E7DH   LINE      ---      ---       #336
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001C42H   BLOCK     CODE     ---       LVL=0
-      01001C42H   LINE      ---      ---       #341
-      01001C42H   LINE      ---      ---       #342
-      01001C42H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001C42H   LINE      ---      ---       #343
-      01001C47H   LINE      ---      ---       #344
-      01001C4AH   LINE      ---      ---       #345
-      01001C4FH   LINE      ---      ---       #346
-      01001C59H   LINE      ---      ---       #347
-      01001C59H   LINE      ---      ---       #349
-      01001C95H   LINE      ---      ---       #350
-      01001C95H   LINE      ---      ---       #351
-      01001C95H   LINE      ---      ---       #352
-      01001C9BH   LINE      ---      ---       #353
-      01001C9DH   LINE      ---      ---       #354
-      01001C9DH   LINE      ---      ---       #355
-      01001CA3H   LINE      ---      ---       #356
-      01001CA5H   LINE      ---      ---       #357
-      01001CA5H   LINE      ---      ---       #358
-      01001CABH   LINE      ---      ---       #359
-      01001CADH   LINE      ---      ---       #360
-      01001CADH   LINE      ---      ---       #361
-      01001CB3H   LINE      ---      ---       #362
-      01001CB5H   LINE      ---      ---       #363
-      01001CB5H   LINE      ---      ---       #364
-      01001CBBH   LINE      ---      ---       #365
-      01001CBDH   LINE      ---      ---       #366
-      01001CBDH   LINE      ---      ---       #367
-      01001CC3H   LINE      ---      ---       #368
-      01001CC5H   LINE      ---      ---       #369
-      01001CC5H   LINE      ---      ---       #370
-      01001CCBH   LINE      ---      ---       #371
-      01001CCDH   LINE      ---      ---       #372
-      01001CCDH   LINE      ---      ---       #373
-      01001CD3H   LINE      ---      ---       #374
-      01001CD5H   LINE      ---      ---       #375
-      01001CD5H   LINE      ---      ---       #376
-      01001CDBH   LINE      ---      ---       #377
-      01001CDDH   LINE      ---      ---       #378
-      01001CDDH   LINE      ---      ---       #379
-      01001CE3H   LINE      ---      ---       #380
-      01001CE5H   LINE      ---      ---       #381
-      01001CE5H   LINE      ---      ---       #382
-      01001CEBH   LINE      ---      ---       #383
-      01001CEDH   LINE      ---      ---       #384
-      01001CEDH   LINE      ---      ---       #385
-      01001CF3H   LINE      ---      ---       #386
-      01001CF3H   LINE      ---      ---       #387
-      01001CF3H   LINE      ---      ---       #388
-      01001CF3H   LINE      ---      ---       #389
-      01001CF3H   LINE      ---      ---       #390
-      01001CF3H   LINE      ---      ---       #392
-      01001CF8H   LINE      ---      ---       #393
+      0100183EH   BLOCK     CODE     ---       LVL=0
+      0100183EH   LINE      ---      ---       #332
+      0100183EH   LINE      ---      ---       #333
+      0100183EH   LINE      ---      ---       #334
+      01001843H   LINE      ---      ---       #335
+      01001846H   LINE      ---      ---       #337
+      0100184AH   LINE      ---      ---       #338
+      0100184AH   LINE      ---      ---       #339
+      01001851H   LINE      ---      ---       #340
+      01001855H   LINE      ---      ---       #342
+      0100185BH   LINE      ---      ---       #343
+      0100185CH   LINE      ---      ---       #345
+      0100185CH   LINE      ---      ---       #346
+      01001862H   LINE      ---      ---       #347
+      01001862H   LINE      ---      ---       #349
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001863H   BLOCK     CODE     ---       LVL=0
+      01001863H   LINE      ---      ---       #354
+      01001863H   LINE      ---      ---       #355
+      01001863H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001863H   LINE      ---      ---       #356
+      01001868H   LINE      ---      ---       #357
+      0100186BH   LINE      ---      ---       #358
+      01001870H   LINE      ---      ---       #359
+      0100187AH   LINE      ---      ---       #360
+      0100187AH   LINE      ---      ---       #362
+      010018B6H   LINE      ---      ---       #363
+      010018B6H   LINE      ---      ---       #364
+      010018B6H   LINE      ---      ---       #365
+      010018BCH   LINE      ---      ---       #366
+      010018BEH   LINE      ---      ---       #367
+      010018BEH   LINE      ---      ---       #368
+      010018C4H   LINE      ---      ---       #369
+      010018C6H   LINE      ---      ---       #370
+      010018C6H   LINE      ---      ---       #371
+      010018CCH   LINE      ---      ---       #372
+      010018CEH   LINE      ---      ---       #373
+      010018CEH   LINE      ---      ---       #374
+      010018D4H   LINE      ---      ---       #375
+      010018D6H   LINE      ---      ---       #376
+      010018D6H   LINE      ---      ---       #377
+      010018DCH   LINE      ---      ---       #378
+      010018DEH   LINE      ---      ---       #379
+      010018DEH   LINE      ---      ---       #380
+      010018E4H   LINE      ---      ---       #381
+      010018E6H   LINE      ---      ---       #382
+      010018E6H   LINE      ---      ---       #383
+      010018ECH   LINE      ---      ---       #384
+      010018EEH   LINE      ---      ---       #385
+      010018EEH   LINE      ---      ---       #386
+      010018F4H   LINE      ---      ---       #387
+      010018F6H   LINE      ---      ---       #388
+      010018F6H   LINE      ---      ---       #389
+      010018FCH   LINE      ---      ---       #390
+      010018FEH   LINE      ---      ---       #391
+      010018FEH   LINE      ---      ---       #392
+      01001904H   LINE      ---      ---       #393
+      01001906H   LINE      ---      ---       #394
+      01001906H   LINE      ---      ---       #395
+      0100190CH   LINE      ---      ---       #396
+      0100190EH   LINE      ---      ---       #397
+      0100190EH   LINE      ---      ---       #398
+      01001914H   LINE      ---      ---       #399
+      01001914H   LINE      ---      ---       #400
+      01001914H   LINE      ---      ---       #401
+      01001914H   LINE      ---      ---       #402
+      01001914H   LINE      ---      ---       #403
+      01001914H   LINE      ---      ---       #405
+      01001919H   LINE      ---      ---       #406
       02004E89H   SYMBOL    XDATA    VOID      temp
       02004E8AH   SYMBOL    XDATA    VOID      temp_state
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000B56H   BLOCK     CODE     ---       LVL=0
-      01000B56H   LINE      ---      ---       #397
-      01000B61H   LINE      ---      ---       #398
-      01000B61H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000B61H   LINE      ---      ---       #399
-      01000B64H   LINE      ---      ---       #401
-      01000B71H   LINE      ---      ---       #402
-      01000B71H   LINE      ---      ---       #403
-      01000B9CH   LINE      ---      ---       #405
-      01000B9CH   LINE      ---      ---       #406
-      01000BA3H   LINE      ---      ---       #407
-      01000BA3H   LINE      ---      ---       #408
-      01000BA9H   LINE      ---      ---       #409
-      01000BABH   LINE      ---      ---       #410
-      01000BAFH   LINE      ---      ---       #411
-      01000BAFH   LINE      ---      ---       #412
-      01000BB5H   LINE      ---      ---       #413
-      01000BB7H   LINE      ---      ---       #414
-      01000BD7H   LINE      ---      ---       #415
-      01000BD7H   LINE      ---      ---       #416
-      01000BDBH   LINE      ---      ---       #417
-      01000BDDH   LINE      ---      ---       #418
-      01000BE1H   LINE      ---      ---       #419
-      01000BE1H   LINE      ---      ---       #420
-      01000BE7H   LINE      ---      ---       #421
-      01000BE9H   LINE      ---      ---       #422
-      01000C09H   LINE      ---      ---       #423
-      01000C09H   LINE      ---      ---       #424
-      01000C0DH   LINE      ---      ---       #425
-      01000C0FH   LINE      ---      ---       #426
-      01000C13H   LINE      ---      ---       #427
-      01000C13H   LINE      ---      ---       #428
-      01000C19H   LINE      ---      ---       #429
-      01000C1BH   LINE      ---      ---       #430
-      01000C3BH   LINE      ---      ---       #431
-      01000C3BH   LINE      ---      ---       #432
-      01000C3FH   LINE      ---      ---       #433
-      01000C41H   LINE      ---      ---       #434
-      01000C45H   LINE      ---      ---       #435
-      01000C45H   LINE      ---      ---       #436
-      01000C4BH   LINE      ---      ---       #437
-      01000C4DH   LINE      ---      ---       #438
-      01000C6DH   LINE      ---      ---       #439
-      01000C6DH   LINE      ---      ---       #440
-      01000C72H   LINE      ---      ---       #441
-      01000C74H   LINE      ---      ---       #442
-      01000C78H   LINE      ---      ---       #443
-      01000C78H   LINE      ---      ---       #444
-      01000C7EH   LINE      ---      ---       #445
-      01000C80H   LINE      ---      ---       #446
-      01000CA0H   LINE      ---      ---       #447
-      01000CA0H   LINE      ---      ---       #448
-      01000CA5H   LINE      ---      ---       #449
-      01000CA7H   LINE      ---      ---       #450
-      01000CABH   LINE      ---      ---       #451
-      01000CABH   LINE      ---      ---       #452
-      01000CB1H   LINE      ---      ---       #453
-      01000CB3H   LINE      ---      ---       #454
-      01000CD3H   LINE      ---      ---       #455
-      01000CD3H   LINE      ---      ---       #456
-      01000CD9H   LINE      ---      ---       #457
-      01000CDBH   LINE      ---      ---       #458
-      01000CDFH   LINE      ---      ---       #459
-      01000CDFH   LINE      ---      ---       #460
-      01000CE5H   LINE      ---      ---       #461
-      01000CE7H   LINE      ---      ---       #462
-      01000D07H   LINE      ---      ---       #463
-      01000D07H   LINE      ---      ---       #464
-      01000D0DH   LINE      ---      ---       #465
-      01000D0FH   LINE      ---      ---       #466
-      01000D13H   LINE      ---      ---       #467
-      01000D13H   LINE      ---      ---       #468
-      01000D19H   LINE      ---      ---       #469
-      01000D1BH   LINE      ---      ---       #471
-      01000D3BH   LINE      ---      ---       #472
-      01000D3BH   LINE      ---      ---       #473
-      01000D41H   LINE      ---      ---       #474
-      01000D43H   LINE      ---      ---       #475
-      01000D47H   LINE      ---      ---       #476
-      01000D47H   LINE      ---      ---       #477
-      01000D4DH   LINE      ---      ---       #478
-      01000D4FH   LINE      ---      ---       #479
-      01000D6FH   LINE      ---      ---       #480
-      01000D6FH   LINE      ---      ---       #481
-      01000D73H   LINE      ---      ---       #482
-      01000D75H   LINE      ---      ---       #483
-      01000D79H   LINE      ---      ---       #484
-      01000D79H   LINE      ---      ---       #485
-      01000D7FH   LINE      ---      ---       #486
-      01000D7FH   LINE      ---      ---       #488
-      01000D86H   LINE      ---      ---       #489
-      01000D86H   LINE      ---      ---       #490
-      01000DA6H   LINE      ---      ---       #491
-      01000DAAH   LINE      ---      ---       #492
-      01000DAAH   LINE      ---      ---       #493
-      01000DAAH   LINE      ---      ---       #494
-      01000DB2H   LINE      ---      ---       #495
+      01000B3BH   BLOCK     CODE     ---       LVL=0
+      01000B3BH   LINE      ---      ---       #410
+      01000B46H   LINE      ---      ---       #411
+      01000B46H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000B46H   LINE      ---      ---       #412
+      01000B49H   LINE      ---      ---       #414
+      01000B56H   LINE      ---      ---       #415
+      01000B56H   LINE      ---      ---       #416
+      01000B81H   LINE      ---      ---       #418
+      01000B81H   LINE      ---      ---       #419
+      01000B88H   LINE      ---      ---       #420
+      01000B88H   LINE      ---      ---       #421
+      01000B8EH   LINE      ---      ---       #422
+      01000B90H   LINE      ---      ---       #423
+      01000B94H   LINE      ---      ---       #424
+      01000B94H   LINE      ---      ---       #425
+      01000B9AH   LINE      ---      ---       #426
+      01000B9CH   LINE      ---      ---       #427
+      01000BBCH   LINE      ---      ---       #428
+      01000BBCH   LINE      ---      ---       #429
+      01000BC0H   LINE      ---      ---       #430
+      01000BC2H   LINE      ---      ---       #431
+      01000BC6H   LINE      ---      ---       #432
+      01000BC6H   LINE      ---      ---       #433
+      01000BCCH   LINE      ---      ---       #434
+      01000BCEH   LINE      ---      ---       #435
+      01000BEEH   LINE      ---      ---       #436
+      01000BEEH   LINE      ---      ---       #437
+      01000BF2H   LINE      ---      ---       #438
+      01000BF4H   LINE      ---      ---       #439
+      01000BF8H   LINE      ---      ---       #440
+      01000BF8H   LINE      ---      ---       #441
+      01000BFEH   LINE      ---      ---       #442
+      01000C00H   LINE      ---      ---       #443
+      01000C20H   LINE      ---      ---       #444
+      01000C20H   LINE      ---      ---       #445
+      01000C24H   LINE      ---      ---       #446
+      01000C26H   LINE      ---      ---       #447
+      01000C2AH   LINE      ---      ---       #448
+      01000C2AH   LINE      ---      ---       #449
+      01000C30H   LINE      ---      ---       #450
+      01000C32H   LINE      ---      ---       #451
+      01000C52H   LINE      ---      ---       #452
+      01000C52H   LINE      ---      ---       #453
+      01000C57H   LINE      ---      ---       #454
+      01000C59H   LINE      ---      ---       #455
+      01000C5DH   LINE      ---      ---       #456
+      01000C5DH   LINE      ---      ---       #457
+      01000C63H   LINE      ---      ---       #458
+      01000C65H   LINE      ---      ---       #459
+      01000C85H   LINE      ---      ---       #460
+      01000C85H   LINE      ---      ---       #461
+      01000C8AH   LINE      ---      ---       #462
+      01000C8CH   LINE      ---      ---       #463
+      01000C90H   LINE      ---      ---       #464
+      01000C90H   LINE      ---      ---       #465
+      01000C96H   LINE      ---      ---       #466
+      01000C98H   LINE      ---      ---       #467
+      01000CB8H   LINE      ---      ---       #468
+      01000CB8H   LINE      ---      ---       #469
+      01000CBEH   LINE      ---      ---       #470
+      01000CC0H   LINE      ---      ---       #471
+      01000CC4H   LINE      ---      ---       #472
+      01000CC4H   LINE      ---      ---       #473
+      01000CCAH   LINE      ---      ---       #474
+      01000CCCH   LINE      ---      ---       #475
+      01000CECH   LINE      ---      ---       #476
+      01000CECH   LINE      ---      ---       #477
+      01000CF2H   LINE      ---      ---       #478
+      01000CF4H   LINE      ---      ---       #479
+      01000CF8H   LINE      ---      ---       #480
+      01000CF8H   LINE      ---      ---       #481
+      01000CFEH   LINE      ---      ---       #482
+      01000D00H   LINE      ---      ---       #484
+      01000D20H   LINE      ---      ---       #485
+      01000D20H   LINE      ---      ---       #486
+      01000D26H   LINE      ---      ---       #487
+      01000D28H   LINE      ---      ---       #488
+      01000D2CH   LINE      ---      ---       #489
+      01000D2CH   LINE      ---      ---       #490
+      01000D32H   LINE      ---      ---       #491
+      01000D34H   LINE      ---      ---       #492
+      01000D54H   LINE      ---      ---       #493
+      01000D54H   LINE      ---      ---       #494
+      01000D58H   LINE      ---      ---       #495
+      01000D5AH   LINE      ---      ---       #496
+      01000D5EH   LINE      ---      ---       #497
+      01000D5EH   LINE      ---      ---       #498
+      01000D64H   LINE      ---      ---       #499
+      01000D64H   LINE      ---      ---       #501
+      01000D6BH   LINE      ---      ---       #502
+      01000D6BH   LINE      ---      ---       #503
+      01000D8BH   LINE      ---      ---       #504
+      01000D8FH   LINE      ---      ---       #505
+      01000D8FH   LINE      ---      ---       #506
+      01000D8FH   LINE      ---      ---       #507
+      01000D97H   LINE      ---      ---       #508
       02004E68H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
       02004E31H   PUBLIC    XDATA    ---       ksEvtPool
-      010018A7H   PUBLIC    CODE     ---       KS_GetCurrentEvt
-      01001AC9H   PUBLIC    CODE     ---       _array_is_empty
-      01001CF9H   PUBLIC    CODE     ---       KS_ScanMatrix
-      01001497H   PUBLIC    CODE     ---       KS_Unistall
-      01001429H   PUBLIC    CODE     ---       KS_Initialize
-
-      01001AA3H   BLOCK     CODE     ---       LVL=0
-      01001AA3H   LINE      ---      ---       #24
-      01001AA3H   LINE      ---      ---       #25
-      01001AA3H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001AA3H   LINE      ---      ---       #27
-      01001AA8H   LINE      ---      ---       #28
-      01001AABH   LINE      ---      ---       #29
-      01001AAEH   LINE      ---      ---       #30
-      01001AB0H   LINE      ---      ---       #31
+      0100191AH   PUBLIC    CODE     ---       KS_GetCurrentEvt
+      01001B24H   PUBLIC    CODE     ---       _array_is_empty
+      01001C9DH   PUBLIC    CODE     ---       KS_ScanMatrix
+      010014ACH   PUBLIC    CODE     ---       KS_Unistall
+      0100143EH   PUBLIC    CODE     ---       KS_Initialize
+
+      01001B16H   BLOCK     CODE     ---       LVL=0
+      01001B16H   LINE      ---      ---       #24
+      01001B16H   LINE      ---      ---       #25
+      01001B16H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B16H   LINE      ---      ---       #27
+      01001B1BH   LINE      ---      ---       #28
+      01001B1EH   LINE      ---      ---       #29
+      01001B21H   LINE      ---      ---       #30
+      01001B23H   LINE      ---      ---       #31
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001B43H   BLOCK     CODE     ---       LVL=0
-      01001B43H   LINE      ---      ---       #35
-      01001B43H   LINE      ---      ---       #36
-      01001B43H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001B43H   LINE      ---      ---       #37
-      01001B45H   LINE      ---      ---       #39
-      01001B51H   LINE      ---      ---       #40
-      01001B51H   LINE      ---      ---       #41
-      01001B6BH   LINE      ---      ---       #43
-      01001B6BH   LINE      ---      ---       #90
-      01001B6DH   LINE      ---      ---       #91
-      01001B6DH   LINE      ---      ---       #92
-      01001B7CH   LINE      ---      ---       #93
-      01001B7CH   LINE      ---      ---       #94
-      01001B7FH   LINE      ---      ---       #95
-      01001B7FH   LINE      ---      ---       #96
-      01001B86H   LINE      ---      ---       #97
-      01001B92H   LINE      ---      ---       #98
-      01001B93H   LINE      ---      ---       #99
-      01001B93H   LINE      ---      ---       #100
-      01001B98H   LINE      ---      ---       #101
+      01001B9EH   BLOCK     CODE     ---       LVL=0
+      01001B9EH   LINE      ---      ---       #35
+      01001B9EH   LINE      ---      ---       #36
+      01001B9EH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B9EH   LINE      ---      ---       #37
+      01001BA0H   LINE      ---      ---       #39
+      01001BACH   LINE      ---      ---       #40
+      01001BACH   LINE      ---      ---       #41
+      01001BC6H   LINE      ---      ---       #43
+      01001BC6H   LINE      ---      ---       #90
+      01001BC8H   LINE      ---      ---       #91
+      01001BC8H   LINE      ---      ---       #92
+      01001BD7H   LINE      ---      ---       #93
+      01001BD7H   LINE      ---      ---       #94
+      01001BDAH   LINE      ---      ---       #95
+      01001BDAH   LINE      ---      ---       #96
+      01001BE1H   LINE      ---      ---       #97
+      01001BEDH   LINE      ---      ---       #98
+      01001BEEH   LINE      ---      ---       #99
+      01001BEEH   LINE      ---      ---       #100
+      01001BF3H   LINE      ---      ---       #101
       00000006H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001B99H   BLOCK     CODE     ---       LVL=0
-      01001B99H   LINE      ---      ---       #103
-      01001B99H   LINE      ---      ---       #104
-      01001B99H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001B99H   LINE      ---      ---       #105
-      01001B9BH   LINE      ---      ---       #106
-      01001B9CH   LINE      ---      ---       #108
-      01001BAAH   LINE      ---      ---       #109
-      01001BAAH   LINE      ---      ---       #110
-      01001BB1H   LINE      ---      ---       #111
-      01001BB1H   LINE      ---      ---       #112
-      01001BB4H   LINE      ---      ---       #113
-      01001BB4H   LINE      ---      ---       #114
-      01001BB6H   LINE      ---      ---       #116
-      01001BBCH   LINE      ---      ---       #118
-      01001BC8H   LINE      ---      ---       #119
-      01001BC8H   LINE      ---      ---       #120
-      01001BE2H   LINE      ---      ---       #122
-      01001BE2H   LINE      ---      ---       #166
-      01001BE4H   LINE      ---      ---       #167
-      01001BE4H   LINE      ---      ---       #168
-      01001BE7H   LINE      ---      ---       #169
-      01001BE7H   LINE      ---      ---       #170
-      01001BF5H   LINE      ---      ---       #171
-      01001BF9H   LINE      ---      ---       #172
-      01001C04H   LINE      ---      ---       #173
-      01001C04H   LINE      ---      ---       #174
-      01001C06H   LINE      ---      ---       #175
-      01001C06H   LINE      ---      ---       #176
-      01001C08H   LINE      ---      ---       #178
-      01001C08H   LINE      ---      ---       #179
-      01001C20H   LINE      ---      ---       #180
-      01001C2DH   LINE      ---      ---       #181
-      01001C2DH   LINE      ---      ---       #182
-      01001C31H   LINE      ---      ---       #183
-      01001C3CH   LINE      ---      ---       #184
-      01001C3CH   LINE      ---      ---       #185
-      01001C3CH   LINE      ---      ---       #186
-      01001C41H   LINE      ---      ---       #187
+      01001BF4H   BLOCK     CODE     ---       LVL=0
+      01001BF4H   LINE      ---      ---       #103
+      01001BF4H   LINE      ---      ---       #104
+      01001BF4H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001BF4H   LINE      ---      ---       #105
+      01001BF6H   LINE      ---      ---       #106
+      01001BF7H   LINE      ---      ---       #108
+      01001C05H   LINE      ---      ---       #109
+      01001C05H   LINE      ---      ---       #110
+      01001C0CH   LINE      ---      ---       #111
+      01001C0CH   LINE      ---      ---       #112
+      01001C0FH   LINE      ---      ---       #113
+      01001C0FH   LINE      ---      ---       #114
+      01001C11H   LINE      ---      ---       #116
+      01001C17H   LINE      ---      ---       #118
+      01001C23H   LINE      ---      ---       #119
+      01001C23H   LINE      ---      ---       #120
+      01001C3DH   LINE      ---      ---       #122
+      01001C3DH   LINE      ---      ---       #166
+      01001C3FH   LINE      ---      ---       #167
+      01001C3FH   LINE      ---      ---       #168
+      01001C42H   LINE      ---      ---       #169
+      01001C42H   LINE      ---      ---       #170
+      01001C50H   LINE      ---      ---       #171
+      01001C54H   LINE      ---      ---       #172
+      01001C5FH   LINE      ---      ---       #173
+      01001C5FH   LINE      ---      ---       #174
+      01001C61H   LINE      ---      ---       #175
+      01001C61H   LINE      ---      ---       #176
+      01001C63H   LINE      ---      ---       #178
+      01001C63H   LINE      ---      ---       #179
+      01001C7BH   LINE      ---      ---       #180
+      01001C88H   LINE      ---      ---       #181
+      01001C88H   LINE      ---      ---       #182
+      01001C8CH   LINE      ---      ---       #183
+      01001C97H   LINE      ---      ---       #184
+      01001C97H   LINE      ---      ---       #185
+      01001C97H   LINE      ---      ---       #186
+      01001C9CH   LINE      ---      ---       #187
       00000006H   SYMBOL    DATA     VOID      i
       00000005H   SYMBOL    DATA     VOID      found
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001702H   BLOCK     CODE     ---       LVL=0
-      01001702H   LINE      ---      ---       #189
-      01001702H   LINE      ---      ---       #190
-      01001702H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001702H   LINE      ---      ---       #191
-      01001707H   LINE      ---      ---       #193
-      01001712H   LINE      ---      ---       #194
-      01001716H   LINE      ---      ---       #195
-      0100171EH   LINE      ---      ---       #196
+      0100171DH   BLOCK     CODE     ---       LVL=0
+      0100171DH   LINE      ---      ---       #189
+      0100171DH   LINE      ---      ---       #190
+      0100171DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100171DH   LINE      ---      ---       #191
+      01001722H   LINE      ---      ---       #193
+      0100172DH   LINE      ---      ---       #194
+      01001731H   LINE      ---      ---       #195
+      01001739H   LINE      ---      ---       #196
       02004E90H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001434H   BLOCK     CODE     ---       LVL=0
-      01001434H   LINE      ---      ---       #198
-      01001434H   LINE      ---      ---       #199
-      01001434H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001434H   LINE      ---      ---       #200
-      01001439H   LINE      ---      ---       #201
-      01001445H   LINE      ---      ---       #202
-      01001449H   LINE      ---      ---       #203
-      01001451H   LINE      ---      ---       #204
+      01001449H   BLOCK     CODE     ---       LVL=0
+      01001449H   LINE      ---      ---       #198
+      01001449H   LINE      ---      ---       #199
+      01001449H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001449H   LINE      ---      ---       #200
+      0100144EH   LINE      ---      ---       #201
+      0100145AH   LINE      ---      ---       #202
+      0100145EH   LINE      ---      ---       #203
+      01001466H   LINE      ---      ---       #204
       02004E91H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001429H   BLOCK     CODE     ---       LVL=0
-      01001429H   LINE      ---      ---       #206
-      01001429H   LINE      ---      ---       #207
-      01001429H   LINE      ---      ---       #208
-      0100142EH   LINE      ---      ---       #209
-      01001430H   LINE      ---      ---       #210
-      01001432H   LINE      ---      ---       #211
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001497H   BLOCK     CODE     ---       LVL=0
-      01001497H   LINE      ---      ---       #215
-      01001497H   LINE      ---      ---       #216
-      01001497H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001497H   LINE      ---      ---       #217
-      01001499H   LINE      ---      ---       #218
-      0100149DH   LINE      ---      ---       #219
-      0100149EH   LINE      ---      ---       #220
-      0100149FH   LINE      ---      ---       #221
-      010014A6H   LINE      ---      ---       #222
-      010014AFH   LINE      ---      ---       #223
-      010014BFH   LINE      ---      ---       #224
-      010014D2H   LINE      ---      ---       #225
-      010014DFH   LINE      ---      ---       #226
-      010014ECH   LINE      ---      ---       #227
-      010014EFH   LINE      ---      ---       #229
-      010014F2H   LINE      ---      ---       #231
-      010014FAH   LINE      ---      ---       #232
-      01001502H   LINE      ---      ---       #233
-      01001502H   LINE      ---      ---       #234
-      01001508H   LINE      ---      ---       #235
-      01001508H   LINE      ---      ---       #236
-      0100150CH   LINE      ---      ---       #237
-      01001510H   LINE      ---      ---       #238
-      01001514H   LINE      ---      ---       #239
-      01001518H   LINE      ---      ---       #240
-      0100151CH   LINE      ---      ---       #241
-      01001520H   LINE      ---      ---       #242
-      01001524H   LINE      ---      ---       #243
-      01001528H   LINE      ---      ---       #244
-      01001528H   LINE      ---      ---       #246
-      01001528H   LINE      ---      ---       #247
-      01001531H   LINE      ---      ---       #248
-      01001537H   LINE      ---      ---       #249
-      01001537H   LINE      ---      ---       #251
-      01001538H   LINE      ---      ---       #253
-      01001538H   LINE      ---      ---       #254
-      0100153DH   LINE      ---      ---       #255
-      01001541H   LINE      ---      ---       #256
-      01001541H   LINE      ---      ---       #257
+      0100143EH   BLOCK     CODE     ---       LVL=0
+      0100143EH   LINE      ---      ---       #206
+      0100143EH   LINE      ---      ---       #207
+      0100143EH   LINE      ---      ---       #208
+      01001443H   LINE      ---      ---       #209
+      01001445H   LINE      ---      ---       #210
+      01001447H   LINE      ---      ---       #211
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010014ACH   BLOCK     CODE     ---       LVL=0
+      010014ACH   LINE      ---      ---       #215
+      010014ACH   LINE      ---      ---       #216
+      010014ACH   BLOCK     CODE     NEAR LAB  LVL=1
+      010014ACH   LINE      ---      ---       #217
+      010014AEH   LINE      ---      ---       #218
+      010014B2H   LINE      ---      ---       #219
+      010014B3H   LINE      ---      ---       #220
+      010014B4H   LINE      ---      ---       #221
+      010014BBH   LINE      ---      ---       #222
+      010014C4H   LINE      ---      ---       #223
+      010014D4H   LINE      ---      ---       #224
+      010014E7H   LINE      ---      ---       #225
+      010014F4H   LINE      ---      ---       #226
+      01001501H   LINE      ---      ---       #227
+      01001504H   LINE      ---      ---       #229
+      01001507H   LINE      ---      ---       #231
+      0100150FH   LINE      ---      ---       #232
+      01001517H   LINE      ---      ---       #233
+      01001517H   LINE      ---      ---       #234
+      0100151DH   LINE      ---      ---       #235
+      0100151DH   LINE      ---      ---       #236
+      01001521H   LINE      ---      ---       #237
+      01001525H   LINE      ---      ---       #238
+      01001529H   LINE      ---      ---       #239
+      0100152DH   LINE      ---      ---       #240
+      01001531H   LINE      ---      ---       #241
+      01001535H   LINE      ---      ---       #242
+      01001539H   LINE      ---      ---       #243
+      0100153DH   LINE      ---      ---       #244
+      0100153DH   LINE      ---      ---       #246
+      0100153DH   LINE      ---      ---       #247
+      01001546H   LINE      ---      ---       #248
+      0100154CH   LINE      ---      ---       #249
+      0100154CH   LINE      ---      ---       #251
+      0100154DH   LINE      ---      ---       #253
+      0100154DH   LINE      ---      ---       #254
+      01001552H   LINE      ---      ---       #255
+      01001556H   LINE      ---      ---       #256
+      01001556H   LINE      ---      ---       #257
       00000007H   SYMBOL    DATA     VOID      i
       02004E92H   SYMBOL    XDATA    VOID      temp
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1280,33 +1274,33 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001CF9H   BLOCK     CODE     ---       LVL=0
-      01001CF9H   LINE      ---      ---       #260
-      01001CF9H   LINE      ---      ---       #261
-      01001CF9H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001CF9H   LINE      ---      ---       #262
-      01001CFBH   LINE      ---      ---       #263
-      01001CFFH   LINE      ---      ---       #264
-      01001D00H   LINE      ---      ---       #265
-      01001D01H   LINE      ---      ---       #266
-      01001D03H   LINE      ---      ---       #267
-      01001D05H   LINE      ---      ---       #268
-      01001D07H   LINE      ---      ---       #269
-      01001D0EH   LINE      ---      ---       #270
-      01001D17H   LINE      ---      ---       #271
-      01001D27H   LINE      ---      ---       #272
-      01001D87H   LINE      ---      ---       #273
-      01001D8AH   LINE      ---      ---       #275
-      01001D93H   LINE      ---      ---       #276
-      01001D9CH   LINE      ---      ---       #277
-      01001DACH   LINE      ---      ---       #278
-      01001E0CH   LINE      ---      ---       #279
-      01001E0FH   LINE      ---      ---       #281
-      01001E18H   LINE      ---      ---       #282
-      01001E32H   LINE      ---      ---       #283
-      01001E55H   LINE      ---      ---       #284
-      01001E55H   LINE      ---      ---       #285
-      01001E58H   LINE      ---      ---       #286
+      01001C9DH   BLOCK     CODE     ---       LVL=0
+      01001C9DH   LINE      ---      ---       #260
+      01001C9DH   LINE      ---      ---       #261
+      01001C9DH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C9DH   LINE      ---      ---       #262
+      01001C9FH   LINE      ---      ---       #263
+      01001CA3H   LINE      ---      ---       #264
+      01001CA4H   LINE      ---      ---       #265
+      01001CA5H   LINE      ---      ---       #266
+      01001CA7H   LINE      ---      ---       #267
+      01001CA9H   LINE      ---      ---       #268
+      01001CABH   LINE      ---      ---       #269
+      01001CB2H   LINE      ---      ---       #270
+      01001CBBH   LINE      ---      ---       #271
+      01001CCBH   LINE      ---      ---       #272
+      01001D2BH   LINE      ---      ---       #273
+      01001D2EH   LINE      ---      ---       #275
+      01001D37H   LINE      ---      ---       #276
+      01001D40H   LINE      ---      ---       #277
+      01001D50H   LINE      ---      ---       #278
+      01001DB0H   LINE      ---      ---       #279
+      01001DB3H   LINE      ---      ---       #281
+      01001DBCH   LINE      ---      ---       #282
+      01001DD6H   LINE      ---      ---       #283
+      01001DF9H   LINE      ---      ---       #284
+      01001DF9H   LINE      ---      ---       #285
+      01001DFCH   LINE      ---      ---       #286
       00000007H   SYMBOL    DATA     VOID      i
       02004E69H   SYMBOL    XDATA    VOID      j
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1317,109 +1311,109 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001AC9H   BLOCK     CODE     ---       LVL=0
-      01001AC9H   LINE      ---      ---       #288
-      01001AD4H   LINE      ---      ---       #289
-      01001AD4H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001AD4H   LINE      ---      ---       #291
-      01001ADBH   LINE      ---      ---       #292
-      01001ADBH   LINE      ---      ---       #293
-      01001AF0H   LINE      ---      ---       #294
-      01001AF3H   LINE      ---      ---       #295
-      01001AF6H   LINE      ---      ---       #296
-      01001AF8H   LINE      ---      ---       #297
+      01001B24H   BLOCK     CODE     ---       LVL=0
+      01001B24H   LINE      ---      ---       #288
+      01001B2FH   LINE      ---      ---       #289
+      01001B2FH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B2FH   LINE      ---      ---       #291
+      01001B36H   LINE      ---      ---       #292
+      01001B36H   LINE      ---      ---       #293
+      01001B4BH   LINE      ---      ---       #294
+      01001B4EH   LINE      ---      ---       #295
+      01001B51H   LINE      ---      ---       #296
+      01001B53H   LINE      ---      ---       #297
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010018A7H   BLOCK     CODE     ---       LVL=0
-      010018A7H   LINE      ---      ---       #300
-      010018A7H   LINE      ---      ---       #301
-      010018A7H   BLOCK     CODE     NEAR LAB  LVL=1
-      010018A7H   LINE      ---      ---       #303
-      010018ACH   LINE      ---      ---       #304
-      010018AEH   LINE      ---      ---       #305
-      010018B0H   LINE      ---      ---       #306
-      010018B2H   LINE      ---      ---       #307
-      010018B4H   LINE      ---      ---       #308
-      010018B6H   LINE      ---      ---       #309
-      010018B8H   LINE      ---      ---       #310
-      010018BAH   LINE      ---      ---       #311
-      010018BCH   LINE      ---      ---       #312
-      010018BEH   LINE      ---      ---       #313
-      010018C0H   LINE      ---      ---       #314
-      010018C2H   LINE      ---      ---       #315
-      010018C4H   LINE      ---      ---       #316
-      010018C6H   LINE      ---      ---       #318
-      010018C8H   LINE      ---      ---       #320
-      010018F6H   LINE      ---      ---       #322
-      010018F6H   LINE      ---      ---       #323
-      010018FDH   LINE      ---      ---       #324
-      010018FFH   LINE      ---      ---       #326
-      010018FFH   LINE      ---      ---       #327
-      01001906H   LINE      ---      ---       #328
-      0100190BH   LINE      ---      ---       #329
-      0100190BH   LINE      ---      ---       #331
-      0100191BH   LINE      ---      ---       #332
-      0100192AH   LINE      ---      ---       #333
-      0100192EH   LINE      ---      ---       #334
-      01001934H   LINE      ---      ---       #335
-      0100193AH   LINE      ---      ---       #336
-      01001942H   LINE      ---      ---       #337
-      01001942H   LINE      ---      ---       #338
-      0100194AH   LINE      ---      ---       #339
-      01001952H   LINE      ---      ---       #340
-      0100195AH   LINE      ---      ---       #341
-      01001966H   LINE      ---      ---       #342
-      01001985H   LINE      ---      ---       #343
-      0100198BH   LINE      ---      ---       #344
-      0100198DH   LINE      ---      ---       #345
-      0100198DH   LINE      ---      ---       #346
-      01001992H   LINE      ---      ---       #347
-      01001992H   LINE      ---      ---       #349
-      010019A4H   LINE      ---      ---       #350
-      010019A4H   LINE      ---      ---       #351
-      010019C0H   LINE      ---      ---       #352
-      010019D3H   LINE      ---      ---       #353
-      010019D9H   LINE      ---      ---       #354
-      010019D9H   LINE      ---      ---       #355
-      010019DBH   LINE      ---      ---       #356
-      010019DDH   LINE      ---      ---       #358
-      010019DDH   LINE      ---      ---       #360
-      010019E3H   LINE      ---      ---       #361
-      010019EAH   LINE      ---      ---       #362
-      01001A02H   LINE      ---      ---       #363
-      01001A11H   LINE      ---      ---       #364
-      01001A11H   LINE      ---      ---       #365
-      01001A16H   LINE      ---      ---       #366
-      01001A16H   LINE      ---      ---       #367
-      01001A27H   LINE      ---      ---       #368
-      01001A3AH   LINE      ---      ---       #369
-      01001A41H   LINE      ---      ---       #370
-      01001A41H   LINE      ---      ---       #371
-      01001A48H   LINE      ---      ---       #372
-      01001A4AH   LINE      ---      ---       #374
-      01001A4AH   LINE      ---      ---       #375
-      01001A51H   LINE      ---      ---       #376
-      01001A51H   LINE      ---      ---       #377
-      01001A51H   LINE      ---      ---       #378
-      01001A59H   LINE      ---      ---       #379
-      01001A61H   LINE      ---      ---       #380
-      01001A69H   LINE      ---      ---       #381
-      01001A6FH   LINE      ---      ---       #382
-      01001A6FH   LINE      ---      ---       #383
-      01001A77H   LINE      ---      ---       #385
-      01001A85H   LINE      ---      ---       #386
-      01001A85H   LINE      ---      ---       #387
-      01001A88H   LINE      ---      ---       #388
-      01001A88H   LINE      ---      ---       #391
-      01001A95H   LINE      ---      ---       #392
-      01001A95H   LINE      ---      ---       #393
-      01001A9CH   LINE      ---      ---       #394
-      01001A9CH   LINE      ---      ---       #396
-      01001A9CH   LINE      ---      ---       #397
-      01001AA2H   LINE      ---      ---       #398
-      01001AA2H   LINE      ---      ---       #401
+      0100191AH   BLOCK     CODE     ---       LVL=0
+      0100191AH   LINE      ---      ---       #300
+      0100191AH   LINE      ---      ---       #301
+      0100191AH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100191AH   LINE      ---      ---       #303
+      0100191FH   LINE      ---      ---       #304
+      01001921H   LINE      ---      ---       #305
+      01001923H   LINE      ---      ---       #306
+      01001925H   LINE      ---      ---       #307
+      01001927H   LINE      ---      ---       #308
+      01001929H   LINE      ---      ---       #309
+      0100192BH   LINE      ---      ---       #310
+      0100192DH   LINE      ---      ---       #311
+      0100192FH   LINE      ---      ---       #312
+      01001931H   LINE      ---      ---       #313
+      01001933H   LINE      ---      ---       #314
+      01001935H   LINE      ---      ---       #315
+      01001937H   LINE      ---      ---       #316
+      01001939H   LINE      ---      ---       #318
+      0100193BH   LINE      ---      ---       #320
+      01001969H   LINE      ---      ---       #322
+      01001969H   LINE      ---      ---       #323
+      01001970H   LINE      ---      ---       #324
+      01001972H   LINE      ---      ---       #326
+      01001972H   LINE      ---      ---       #327
+      01001979H   LINE      ---      ---       #328
+      0100197EH   LINE      ---      ---       #329
+      0100197EH   LINE      ---      ---       #331
+      0100198EH   LINE      ---      ---       #332
+      0100199DH   LINE      ---      ---       #333
+      010019A1H   LINE      ---      ---       #334
+      010019A7H   LINE      ---      ---       #335
+      010019ADH   LINE      ---      ---       #336
+      010019B5H   LINE      ---      ---       #337
+      010019B5H   LINE      ---      ---       #338
+      010019BDH   LINE      ---      ---       #339
+      010019C5H   LINE      ---      ---       #340
+      010019CDH   LINE      ---      ---       #341
+      010019D9H   LINE      ---      ---       #342
+      010019F8H   LINE      ---      ---       #343
+      010019FEH   LINE      ---      ---       #344
+      01001A00H   LINE      ---      ---       #345
+      01001A00H   LINE      ---      ---       #346
+      01001A05H   LINE      ---      ---       #347
+      01001A05H   LINE      ---      ---       #349
+      01001A17H   LINE      ---      ---       #350
+      01001A17H   LINE      ---      ---       #351
+      01001A33H   LINE      ---      ---       #352
+      01001A46H   LINE      ---      ---       #353
+      01001A4CH   LINE      ---      ---       #354
+      01001A4CH   LINE      ---      ---       #355
+      01001A4EH   LINE      ---      ---       #356
+      01001A50H   LINE      ---      ---       #358
+      01001A50H   LINE      ---      ---       #360
+      01001A56H   LINE      ---      ---       #361
+      01001A5DH   LINE      ---      ---       #362
+      01001A75H   LINE      ---      ---       #363
+      01001A84H   LINE      ---      ---       #364
+      01001A84H   LINE      ---      ---       #365
+      01001A89H   LINE      ---      ---       #366
+      01001A89H   LINE      ---      ---       #367
+      01001A9AH   LINE      ---      ---       #368
+      01001AADH   LINE      ---      ---       #369
+      01001AB4H   LINE      ---      ---       #370
+      01001AB4H   LINE      ---      ---       #371
+      01001ABBH   LINE      ---      ---       #372
+      01001ABDH   LINE      ---      ---       #374
+      01001ABDH   LINE      ---      ---       #375
+      01001AC4H   LINE      ---      ---       #376
+      01001AC4H   LINE      ---      ---       #377
+      01001AC4H   LINE      ---      ---       #378
+      01001ACCH   LINE      ---      ---       #379
+      01001AD4H   LINE      ---      ---       #380
+      01001ADCH   LINE      ---      ---       #381
+      01001AE2H   LINE      ---      ---       #382
+      01001AE2H   LINE      ---      ---       #383
+      01001AEAH   LINE      ---      ---       #385
+      01001AF8H   LINE      ---      ---       #386
+      01001AF8H   LINE      ---      ---       #387
+      01001AFBH   LINE      ---      ---       #388
+      01001AFBH   LINE      ---      ---       #391
+      01001B08H   LINE      ---      ---       #392
+      01001B08H   LINE      ---      ---       #393
+      01001B0FH   LINE      ---      ---       #394
+      01001B0FH   LINE      ---      ---       #396
+      01001B0FH   LINE      ---      ---       #397
+      01001B15H   LINE      ---      ---       #398
+      01001B15H   LINE      ---      ---       #401
       02004E12H   SYMBOL    XDATA    VOID      i
       02004E13H   SYMBOL    XDATA    VOID      j
       02004E14H   SYMBOL    XDATA    VOID      temp
@@ -1439,15 +1433,15 @@
 
       ---         MODULE    ---      ---       LED
       010006CFH   PUBLIC    CODE     ---       LED_handle
-      010013F7H   PUBLIC    CODE     ---       LED_all_shutdown
+      0100140CH   PUBLIC    CODE     ---       LED_all_shutdown
 
-      010013F7H   BLOCK     CODE     ---       LVL=0
-      010013F7H   LINE      ---      ---       #4
-      010013F7H   LINE      ---      ---       #5
-      010013F7H   LINE      ---      ---       #6
-      010013FDH   LINE      ---      ---       #7
-      01001403H   LINE      ---      ---       #8
-      01001409H   LINE      ---      ---       #9
+      0100140CH   BLOCK     CODE     ---       LVL=0
+      0100140CH   LINE      ---      ---       #4
+      0100140CH   LINE      ---      ---       #5
+      0100140CH   LINE      ---      ---       #6
+      01001412H   LINE      ---      ---       #7
+      01001418H   LINE      ---      ---       #8
+      0100141EH   LINE      ---      ---       #9
       ---         BLOCKEND  ---      ---       LVL=0
 
       010006CFH   BLOCK     CODE     ---       LVL=0
@@ -1513,447 +1507,461 @@
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       SYS
-      01001452H   PUBLIC    CODE     ---       YC_System_Main
-      010010DDH   PUBLIC    CODE     ---       kb_button_press_timer500ms
-      010017E9H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
-      01001E99H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
+      01001467H   PUBLIC    CODE     ---       YC_System_Main
+      010010F2H   PUBLIC    CODE     ---       kb_button_press_timer500ms
+      01001786H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
+      01001E18H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
       01000796H   PUBLIC    CODE     ---       LED_timer500ms
-      01001E87H   PUBLIC    CODE     ---       System_Reset_Connect
+      01001E06H   PUBLIC    CODE     ---       System_Reset_Connect
       010007F1H   PUBLIC    CODE     ---       System_long_sleep
-      01000FC5H   PUBLIC    CODE     ---       System_Software_init
+      0100173AH   PUBLIC    CODE     ---       System_Software_init
 
-      01000DFAH   BLOCK     CODE     ---       LVL=0
-      01000DFAH   LINE      ---      ---       #11
-      01000DFAH   LINE      ---      ---       #12
-      01000DFAH   LINE      ---      ---       #13
-      01000E06H   LINE      ---      ---       #14
-      01000E12H   LINE      ---      ---       #15
-      01000E1EH   LINE      ---      ---       #16
-      01000E2AH   LINE      ---      ---       #17
-      01000E36H   LINE      ---      ---       #18
-      01000E42H   LINE      ---      ---       #20
-      01000E47H   LINE      ---      ---       #21
-      01000E4BH   LINE      ---      ---       #24
-      01000E4FH   LINE      ---      ---       #25
-      01000E53H   LINE      ---      ---       #26
-      01000E57H   LINE      ---      ---       #27
-      01000E5BH   LINE      ---      ---       #28
-      01000E5FH   LINE      ---      ---       #29
-      01000E63H   LINE      ---      ---       #30
-      01000E67H   LINE      ---      ---       #31
-      01000E6BH   LINE      ---      ---       #32
-      01000E6FH   LINE      ---      ---       #33
-      01000E73H   LINE      ---      ---       #34
-      01000E77H   LINE      ---      ---       #36
-      01000E7BH   LINE      ---      ---       #37
-      01000E7FH   LINE      ---      ---       #38
-      01000E83H   LINE      ---      ---       #39
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010013F5H   BLOCK     CODE     ---       LVL=0
-      010013F5H   LINE      ---      ---       #41
-      010013F5H   LINE      ---      ---       #42
-      010013F5H   LINE      ---      ---       #43
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000FC5H   BLOCK     CODE     ---       LVL=0
-      01000FC5H   LINE      ---      ---       #48
-      01000FC5H   LINE      ---      ---       #49
-      01000FC5H   LINE      ---      ---       #50
-      01000FC7H   LINE      ---      ---       #51
-      01000FCAH   LINE      ---      ---       #52
-      01000FD0H   LINE      ---      ---       #53
-      01000FD6H   LINE      ---      ---       #54
-      01000FDBH   LINE      ---      ---       #55
-      01000FE1H   LINE      ---      ---       #56
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001E7EH   BLOCK     CODE     ---       LVL=0
-      01001E7EH   LINE      ---      ---       #58
-      01001E7EH   LINE      ---      ---       #59
-      01001E7EH   LINE      ---      ---       #60
-      01001E84H   LINE      ---      ---       #61
+      01000DDFH   BLOCK     CODE     ---       LVL=0
+      01000DDFH   LINE      ---      ---       #12
+      01000DDFH   LINE      ---      ---       #13
+      01000DDFH   LINE      ---      ---       #14
+      01000DEBH   LINE      ---      ---       #15
+      01000DF7H   LINE      ---      ---       #16
+      01000E03H   LINE      ---      ---       #17
+      01000E0FH   LINE      ---      ---       #18
+      01000E1BH   LINE      ---      ---       #19
+      01000E27H   LINE      ---      ---       #21
+      01000E2CH   LINE      ---      ---       #22
+      01000E30H   LINE      ---      ---       #25
+      01000E34H   LINE      ---      ---       #26
+      01000E38H   LINE      ---      ---       #27
+      01000E3CH   LINE      ---      ---       #28
+      01000E40H   LINE      ---      ---       #29
+      01000E44H   LINE      ---      ---       #30
+      01000E48H   LINE      ---      ---       #31
+      01000E4CH   LINE      ---      ---       #32
+      01000E50H   LINE      ---      ---       #33
+      01000E54H   LINE      ---      ---       #34
+      01000E58H   LINE      ---      ---       #35
+      01000E5CH   LINE      ---      ---       #37
+      01000E60H   LINE      ---      ---       #38
+      01000E64H   LINE      ---      ---       #39
+      01000E68H   LINE      ---      ---       #40
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100140AH   BLOCK     CODE     ---       LVL=0
+      0100140AH   LINE      ---      ---       #42
+      0100140AH   LINE      ---      ---       #43
+      0100140AH   LINE      ---      ---       #44
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100173AH   BLOCK     CODE     ---       LVL=0
+      0100173AH   LINE      ---      ---       #49
+      0100173AH   LINE      ---      ---       #50
+      0100173AH   LINE      ---      ---       #51
+      0100173DH   LINE      ---      ---       #52
+      01001740H   LINE      ---      ---       #53
+      01001746H   LINE      ---      ---       #54
+      0100174CH   LINE      ---      ---       #55
+      01001751H   LINE      ---      ---       #56
+      01001757H   LINE      ---      ---       #57
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001DFDH   BLOCK     CODE     ---       LVL=0
+      01001DFDH   LINE      ---      ---       #59
+      01001DFDH   LINE      ---      ---       #60
+      01001DFDH   LINE      ---      ---       #61
+      01001E03H   LINE      ---      ---       #62
       ---         BLOCKEND  ---      ---       LVL=0
 
       010007F1H   BLOCK     CODE     ---       LVL=0
-      010007F1H   LINE      ---      ---       #64
       010007F1H   LINE      ---      ---       #65
       010007F1H   LINE      ---      ---       #66
-      010007F6H   LINE      ---      ---       #67
+      010007F1H   LINE      ---      ---       #67
+      010007F6H   LINE      ---      ---       #68
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001E87H   BLOCK     CODE     ---       LVL=0
-      01001E87H   LINE      ---      ---       #70
-      01001E87H   LINE      ---      ---       #71
-      01001E87H   LINE      ---      ---       #72
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001E89H   BLOCK     CODE     ---       LVL=0
-      01001E89H   LINE      ---      ---       #80
-      01001E8EH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001E8EH   LINE      ---      ---       #82
-      01001E98H   LINE      ---      ---       #84
-      01001E98H   LINE      ---      ---       #86
-      01001E98H   LINE      ---      ---       #87
+      01001E06H   BLOCK     CODE     ---       LVL=0
+      01001E06H   LINE      ---      ---       #71
+      01001E06H   LINE      ---      ---       #72
+      01001E06H   LINE      ---      ---       #73
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001E08H   BLOCK     CODE     ---       LVL=0
+      01001E08H   LINE      ---      ---       #81
+      01001E0DH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001E0DH   LINE      ---      ---       #83
+      01001E17H   LINE      ---      ---       #85
+      01001E17H   LINE      ---      ---       #87
+      01001E17H   LINE      ---      ---       #88
       02004E8CH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001179H   BLOCK     CODE     ---       LVL=0
-      01001179H   LINE      ---      ---       #89
-      0100117EH   LINE      ---      ---       #90
-      0100117EH   LINE      ---      ---       #91
-      01001197H   LINE      ---      ---       #92
-      01001197H   LINE      ---      ---       #93
-      01001197H   LINE      ---      ---       #97
-      01001197H   LINE      ---      ---       #98
-      01001199H   LINE      ---      ---       #99
-      0100119CH   LINE      ---      ---       #100
-      010011ACH   LINE      ---      ---       #101
-      010011B0H   LINE      ---      ---       #102
-      010011C3H   LINE      ---      ---       #103
-      010011C7H   LINE      ---      ---       #104
-      010011C9H   LINE      ---      ---       #105
-      010011C9H   LINE      ---      ---       #106
-      010011C9H   LINE      ---      ---       #107
-      010011CBH   LINE      ---      ---       #108
-      010011CBH   LINE      ---      ---       #112
-      010011CBH   LINE      ---      ---       #113
-      010011CBH   LINE      ---      ---       #114
-      010011D1H   LINE      ---      ---       #115
-      010011D4H   LINE      ---      ---       #116
-      010011D6H   LINE      ---      ---       #117
-      010011DBH   LINE      ---      ---       #118
-      010011DFH   LINE      ---      ---       #119
-      010011E5H   LINE      ---      ---       #120
-      010011E9H   LINE      ---      ---       #122
-      010011F1H   LINE      ---      ---       #123
-      010011F1H   LINE      ---      ---       #124
-      010011F7H   LINE      ---      ---       #125
-      0100120EH   LINE      ---      ---       #127
-      01001214H   LINE      ---      ---       #128
-      01001215H   LINE      ---      ---       #130
-      01001215H   LINE      ---      ---       #131
-      0100121BH   LINE      ---      ---       #132
-      01001222H   LINE      ---      ---       #133
-      01001222H   LINE      ---      ---       #134
-      01001222H   LINE      ---      ---       #136
-      01001222H   LINE      ---      ---       #137
-      01001227H   LINE      ---      ---       #138
-      01001229H   LINE      ---      ---       #139
-      0100122FH   LINE      ---      ---       #140
-      01001234H   LINE      ---      ---       #142
-      0100123AH   LINE      ---      ---       #143
-      0100123AH   LINE      ---      ---       #144
-      0100123CH   LINE      ---      ---       #145
-      01001243H   LINE      ---      ---       #146
-      01001243H   LINE      ---      ---       #147
-      01001243H   LINE      ---      ---       #149
-      0100124AH   LINE      ---      ---       #150
-      0100124AH   LINE      ---      ---       #151
-      0100124CH   LINE      ---      ---       #152
-      0100124FH   LINE      ---      ---       #153
-      0100124FH   LINE      ---      ---       #154
-      0100124FH   LINE      ---      ---       #155
-      0100124FH   LINE      ---      ---       #156
-      0100124FH   LINE      ---      ---       #157
+      0100118EH   BLOCK     CODE     ---       LVL=0
+      0100118EH   LINE      ---      ---       #90
+      01001193H   LINE      ---      ---       #91
+      01001193H   LINE      ---      ---       #92
+      010011ACH   LINE      ---      ---       #93
+      010011ACH   LINE      ---      ---       #94
+      010011ACH   LINE      ---      ---       #98
+      010011ACH   LINE      ---      ---       #99
+      010011AEH   LINE      ---      ---       #100
+      010011B0H   LINE      ---      ---       #101
+      010011C0H   LINE      ---      ---       #102
+      010011C4H   LINE      ---      ---       #103
+      010011D7H   LINE      ---      ---       #104
+      010011DBH   LINE      ---      ---       #105
+      010011DDH   LINE      ---      ---       #106
+      010011DDH   LINE      ---      ---       #107
+      010011DDH   LINE      ---      ---       #108
+      010011DFH   LINE      ---      ---       #109
+      010011DFH   LINE      ---      ---       #113
+      010011DFH   LINE      ---      ---       #114
+      010011DFH   LINE      ---      ---       #115
+      010011E5H   LINE      ---      ---       #116
+      010011E8H   LINE      ---      ---       #117
+      010011EAH   LINE      ---      ---       #118
+      010011EFH   LINE      ---      ---       #119
+      010011F3H   LINE      ---      ---       #120
+      010011F9H   LINE      ---      ---       #121
+      010011FDH   LINE      ---      ---       #123
+      01001205H   LINE      ---      ---       #124
+      01001205H   LINE      ---      ---       #125
+      0100120BH   LINE      ---      ---       #126
+      01001222H   LINE      ---      ---       #128
+      01001228H   LINE      ---      ---       #129
+      01001229H   LINE      ---      ---       #131
+      01001229H   LINE      ---      ---       #132
+      0100122FH   LINE      ---      ---       #133
+      01001236H   LINE      ---      ---       #134
+      01001236H   LINE      ---      ---       #135
+      01001236H   LINE      ---      ---       #137
+      01001236H   LINE      ---      ---       #138
+      0100123BH   LINE      ---      ---       #139
+      0100123DH   LINE      ---      ---       #140
+      01001243H   LINE      ---      ---       #141
+      01001248H   LINE      ---      ---       #143
+      0100124EH   LINE      ---      ---       #144
+      0100124EH   LINE      ---      ---       #145
+      01001250H   LINE      ---      ---       #146
+      01001257H   LINE      ---      ---       #147
+      01001257H   LINE      ---      ---       #148
+      01001257H   LINE      ---      ---       #150
+      0100125EH   LINE      ---      ---       #151
+      0100125EH   LINE      ---      ---       #152
+      01001260H   LINE      ---      ---       #153
+      01001263H   LINE      ---      ---       #154
+      01001263H   LINE      ---      ---       #155
+      01001263H   LINE      ---      ---       #156
+      01001263H   LINE      ---      ---       #157
+      01001263H   LINE      ---      ---       #158
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000796H   BLOCK     CODE     ---       LVL=0
-      01000796H   LINE      ---      ---       #160
       01000796H   LINE      ---      ---       #161
       01000796H   LINE      ---      ---       #162
-      0100079EH   LINE      ---      ---       #164
-      010007A4H   LINE      ---      ---       #165
+      01000796H   LINE      ---      ---       #163
+      0100079EH   LINE      ---      ---       #165
       010007A4H   LINE      ---      ---       #166
-      010007A9H   LINE      ---      ---       #167
-      010007A9H   LINE      ---      ---       #169
-      010007A9H   LINE      ---      ---       #171
-      010007A9H   LINE      ---      ---       #174
-      010007AEH   LINE      ---      ---       #175
+      010007A4H   LINE      ---      ---       #167
+      010007A9H   LINE      ---      ---       #168
+      010007A9H   LINE      ---      ---       #170
+      010007A9H   LINE      ---      ---       #172
+      010007A9H   LINE      ---      ---       #175
       010007AEH   LINE      ---      ---       #176
-      010007B4H   LINE      ---      ---       #177
+      010007AEH   LINE      ---      ---       #177
       010007B4H   LINE      ---      ---       #178
-      010007B6H   LINE      ---      ---       #179
-      010007BCH   LINE      ---      ---       #180
-      010007C2H   LINE      ---      ---       #181
-      010007C8H   LINE      ---      ---       #182
-      010007CAH   LINE      ---      ---       #184
-      010007D0H   LINE      ---      ---       #187
-      010007D6H   LINE      ---      ---       #188
+      010007B4H   LINE      ---      ---       #179
+      010007B6H   LINE      ---      ---       #180
+      010007BCH   LINE      ---      ---       #181
+      010007C2H   LINE      ---      ---       #182
+      010007C8H   LINE      ---      ---       #183
+      010007CAH   LINE      ---      ---       #185
+      010007D0H   LINE      ---      ---       #188
       010007D6H   LINE      ---      ---       #189
-      010007D8H   LINE      ---      ---       #190
-      010007DEH   LINE      ---      ---       #191
-      010007E4H   LINE      ---      ---       #192
-      010007EAH   LINE      ---      ---       #193
-      010007EAH   LINE      ---      ---       #195
-      010007F0H   LINE      ---      ---       #196
+      010007D6H   LINE      ---      ---       #190
+      010007D8H   LINE      ---      ---       #191
+      010007DEH   LINE      ---      ---       #192
+      010007E4H   LINE      ---      ---       #193
+      010007EAH   LINE      ---      ---       #194
+      010007EAH   LINE      ---      ---       #196
       010007F0H   LINE      ---      ---       #197
+      010007F0H   LINE      ---      ---       #198
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001E99H   BLOCK     CODE     ---       LVL=0
-      01001E99H   LINE      ---      ---       #199
-      01001E99H   LINE      ---      ---       #200
-      01001E99H   LINE      ---      ---       #203
-      01001EA0H   LINE      ---      ---       #204
-      01001EA0H   LINE      ---      ---       #205
-      01001EAEH   LINE      ---      ---       #206
-      01001EB1H   LINE      ---      ---       #207
-      01001EB1H   LINE      ---      ---       #208
-      01001EB8H   LINE      ---      ---       #209
-      01001EB8H   LINE      ---      ---       #210
-      01001EC4H   LINE      ---      ---       #211
-      01001EC4H   LINE      ---      ---       #212
-      01001EC9H   LINE      ---      ---       #213
-      01001ECCH   LINE      ---      ---       #214
-      01001ECCH   LINE      ---      ---       #215
-      01001ECCH   LINE      ---      ---       #217
-      01001ECCH   LINE      ---      ---       #218
-      01001ED8H   LINE      ---      ---       #219
-      01001ED8H   LINE      ---      ---       #220
-      01001EDBH   LINE      ---      ---       #221
-      01001EDBH   LINE      ---      ---       #222
-      01001EDBH   LINE      ---      ---       #223
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017E9H   BLOCK     CODE     ---       LVL=0
-      010017E9H   LINE      ---      ---       #227
-      010017E9H   LINE      ---      ---       #228
-      010017E9H   LINE      ---      ---       #230
-      010017EFH   LINE      ---      ---       #231
-      010017EFH   LINE      ---      ---       #232
-      010017F6H   LINE      ---      ---       #233
-      010017FCH   LINE      ---      ---       #234
-      010017FFH   LINE      ---      ---       #235
-      010017FFH   LINE      ---      ---       #236
-      01001804H   LINE      ---      ---       #237
-      01001809H   LINE      ---      ---       #238
-      0100180CH   LINE      ---      ---       #239
-      0100180CH   LINE      ---      ---       #240
-      0100180CH   LINE      ---      ---       #241
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010010DDH   BLOCK     CODE     ---       LVL=0
-      010010DDH   LINE      ---      ---       #243
-      010010DDH   LINE      ---      ---       #244
-      010010DDH   LINE      ---      ---       #247
-      010010E4H   LINE      ---      ---       #248
-      010010E4H   LINE      ---      ---       #249
-      010010EDH   LINE      ---      ---       #250
-      010010F0H   LINE      ---      ---       #251
-      010010F8H   LINE      ---      ---       #252
-      010010F8H   LINE      ---      ---       #253
-      010010FEH   LINE      ---      ---       #254
-      01001104H   LINE      ---      ---       #255
-      01001104H   LINE      ---      ---       #256
-      01001109H   LINE      ---      ---       #257
-      0100110BH   LINE      ---      ---       #258
-      01001112H   LINE      ---      ---       #259
-      01001112H   LINE      ---      ---       #260
-      01001118H   LINE      ---      ---       #261
-      0100111DH   LINE      ---      ---       #262
-      01001120H   LINE      ---      ---       #263
-      01001120H   LINE      ---      ---       #264
-      01001120H   LINE      ---      ---       #265
-      01001122H   LINE      ---      ---       #267
-      01001127H   LINE      ---      ---       #269
-      0100112EH   LINE      ---      ---       #270
-      0100112EH   LINE      ---      ---       #271
-      01001134H   LINE      ---      ---       #272
-      0100113DH   LINE      ---      ---       #273
-      01001140H   LINE      ---      ---       #274
-      01001147H   LINE      ---      ---       #275
-      01001147H   LINE      ---      ---       #276
-      01001151H   LINE      ---      ---       #277
-      01001151H   LINE      ---      ---       #278
-      01001153H   LINE      ---      ---       #279
-      01001157H   LINE      ---      ---       #280
-      0100115BH   LINE      ---      ---       #281
-      0100115BH   LINE      ---      ---       #282
-      0100115BH   LINE      ---      ---       #283
-      0100115BH   LINE      ---      ---       #285
-      01001160H   LINE      ---      ---       #287
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017D0H   BLOCK     CODE     ---       LVL=0
-      010017D0H   LINE      ---      ---       #291
-      010017D0H   LINE      ---      ---       #292
-      010017D0H   LINE      ---      ---       #293
-      010017D3H   LINE      ---      ---       #295
-      010017E1H   LINE      ---      ---       #297
-      010017E4H   LINE      ---      ---       #298
-      010017E7H   LINE      ---      ---       #299
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001EDCH   BLOCK     CODE     ---       LVL=0
-      01001EDCH   LINE      ---      ---       #306
-      01001EDCH   LINE      ---      ---       #307
-      01001EDCH   LINE      ---      ---       #309
-      01001EE2H   LINE      ---      ---       #310
-      01001EE2H   LINE      ---      ---       #311
-      01001EE4H   LINE      ---      ---       #312
-      01001EE4H   LINE      ---      ---       #314
-      01001EEAH   LINE      ---      ---       #315
-      01001EECH   LINE      ---      ---       #317
-      01001EF2H   LINE      ---      ---       #318
-      01001EF2H   LINE      ---      ---       #319
-      01001EF4H   LINE      ---      ---       #320
-      01001EFBH   LINE      ---      ---       #321
-      01001F01H   LINE      ---      ---       #322
-      01001F01H   LINE      ---      ---       #323
-      01001F08H   LINE      ---      ---       #324
-      01001F08H   LINE      ---      ---       #325
-      01001F0AH   LINE      ---      ---       #327
-      01001F10H   LINE      ---      ---       #328
-      01001F10H   LINE      ---      ---       #329
-      01001F16H   LINE      ---      ---       #330
-      01001F16H   LINE      ---      ---       #331
-      01001F18H   LINE      ---      ---       #332
-      01001F1CH   LINE      ---      ---       #333
-      01001F1CH   LINE      ---      ---       #334
-      01001F23H   LINE      ---      ---       #335
-      01001F25H   LINE      ---      ---       #337
-      01001F2CH   LINE      ---      ---       #338
-      01001F32H   LINE      ---      ---       #339
-      01001F35H   LINE      ---      ---       #340
-      01001F35H   LINE      ---      ---       #341
-      01001F35H   LINE      ---      ---       #344
-      01001F3BH   LINE      ---      ---       #345
-      01001F3BH   LINE      ---      ---       #346
-      01001F43H   LINE      ---      ---       #347
-      01001F43H   LINE      ---      ---       #348
-      01001F44H   LINE      ---      ---       #350
-      01001F4AH   LINE      ---      ---       #351
-      01001F4AH   LINE      ---      ---       #352
-      01001F55H   LINE      ---      ---       #353
-      01001F57H   LINE      ---      ---       #354
-      01001F5DH   LINE      ---      ---       #355
-      01001F5DH   LINE      ---      ---       #357
-      01001F68H   LINE      ---      ---       #358
-      01001F68H   LINE      ---      ---       #359
-      01001F68H   LINE      ---      ---       #360
-      01001F68H   LINE      ---      ---       #362
-      01001F6EH   LINE      ---      ---       #363
-      01001F71H   LINE      ---      ---       #364
-      01001F71H   LINE      ---      ---       #365
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010015EEH   BLOCK     CODE     ---       LVL=0
-      010015EEH   LINE      ---      ---       #379
-      010015EEH   LINE      ---      ---       #380
-      010015EEH   LINE      ---      ---       #381
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001452H   BLOCK     CODE     ---       LVL=0
-      01001452H   LINE      ---      ---       #386
-      01001452H   LINE      ---      ---       #387
-      01001452H   LINE      ---      ---       #388
-      01001454H   LINE      ---      ---       #389
-      01001454H   LINE      ---      ---       #390
-      01001457H   LINE      ---      ---       #391
-      0100145AH   LINE      ---      ---       #392
-      0100145CH   LINE      ---      ---       #393
-      0100145FH   LINE      ---      ---       #395
-      0100146AH   LINE      ---      ---       #396
-      0100146AH   LINE      ---      ---       #397
-      0100146CH   LINE      ---      ---       #399
-      0100146EH   LINE      ---      ---       #400
-      01001470H   LINE      ---      ---       #401
-      01001472H   LINE      ---      ---       #402
-      01001472H   LINE      ---      ---       #404
-      01001472H   LINE      ---      ---       #405
-      0100148AH   LINE      ---      ---       #407
-      0100148AH   LINE      ---      ---       #408
-      0100148CH   LINE      ---      ---       #409
-      0100148EH   LINE      ---      ---       #410
-      0100148EH   LINE      ---      ---       #412
-      0100148EH   LINE      ---      ---       #413
-      01001490H   LINE      ---      ---       #414
-      01001492H   LINE      ---      ---       #415
-      01001494H   LINE      ---      ---       #416
-      01001494H   LINE      ---      ---       #417
-      01001494H   LINE      ---      ---       #418
+      01001E18H   BLOCK     CODE     ---       LVL=0
+      01001E18H   LINE      ---      ---       #200
+      01001E18H   LINE      ---      ---       #201
+      01001E18H   LINE      ---      ---       #204
+      01001E1FH   LINE      ---      ---       #205
+      01001E1FH   LINE      ---      ---       #206
+      01001E2DH   LINE      ---      ---       #207
+      01001E30H   LINE      ---      ---       #208
+      01001E30H   LINE      ---      ---       #209
+      01001E37H   LINE      ---      ---       #210
+      01001E37H   LINE      ---      ---       #211
+      01001E43H   LINE      ---      ---       #212
+      01001E43H   LINE      ---      ---       #213
+      01001E48H   LINE      ---      ---       #214
+      01001E4BH   LINE      ---      ---       #215
+      01001E4BH   LINE      ---      ---       #216
+      01001E4BH   LINE      ---      ---       #218
+      01001E4BH   LINE      ---      ---       #219
+      01001E57H   LINE      ---      ---       #220
+      01001E57H   LINE      ---      ---       #221
+      01001E5AH   LINE      ---      ---       #222
+      01001E5AH   LINE      ---      ---       #223
+      01001E5AH   LINE      ---      ---       #224
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001786H   BLOCK     CODE     ---       LVL=0
+      01001786H   LINE      ---      ---       #228
+      01001786H   LINE      ---      ---       #229
+      01001786H   LINE      ---      ---       #231
+      0100178CH   LINE      ---      ---       #232
+      0100178CH   LINE      ---      ---       #233
+      01001793H   LINE      ---      ---       #234
+      01001799H   LINE      ---      ---       #235
+      0100179CH   LINE      ---      ---       #236
+      0100179CH   LINE      ---      ---       #237
+      010017A1H   LINE      ---      ---       #238
+      010017A5H   LINE      ---      ---       #239
+      010017A8H   LINE      ---      ---       #240
+      010017A8H   LINE      ---      ---       #241
+      010017A8H   LINE      ---      ---       #242
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010010F2H   BLOCK     CODE     ---       LVL=0
+      010010F2H   LINE      ---      ---       #244
+      010010F2H   LINE      ---      ---       #245
+      010010F2H   LINE      ---      ---       #248
+      010010F9H   LINE      ---      ---       #249
+      010010F9H   LINE      ---      ---       #250
+      01001102H   LINE      ---      ---       #251
+      01001105H   LINE      ---      ---       #252
+      0100110DH   LINE      ---      ---       #253
+      0100110DH   LINE      ---      ---       #254
+      01001113H   LINE      ---      ---       #255
+      01001119H   LINE      ---      ---       #256
+      01001119H   LINE      ---      ---       #257
+      0100111EH   LINE      ---      ---       #258
+      01001120H   LINE      ---      ---       #259
+      01001127H   LINE      ---      ---       #260
+      01001127H   LINE      ---      ---       #261
+      0100112DH   LINE      ---      ---       #262
+      01001132H   LINE      ---      ---       #263
+      01001135H   LINE      ---      ---       #264
+      01001135H   LINE      ---      ---       #265
+      01001135H   LINE      ---      ---       #266
+      01001137H   LINE      ---      ---       #268
+      0100113CH   LINE      ---      ---       #270
+      01001143H   LINE      ---      ---       #271
+      01001143H   LINE      ---      ---       #272
+      01001149H   LINE      ---      ---       #273
+      01001152H   LINE      ---      ---       #274
+      01001155H   LINE      ---      ---       #275
+      0100115CH   LINE      ---      ---       #276
+      0100115CH   LINE      ---      ---       #277
+      01001166H   LINE      ---      ---       #278
+      01001166H   LINE      ---      ---       #279
+      01001168H   LINE      ---      ---       #280
+      0100116CH   LINE      ---      ---       #281
+      01001170H   LINE      ---      ---       #282
+      01001170H   LINE      ---      ---       #283
+      01001170H   LINE      ---      ---       #284
+      01001170H   LINE      ---      ---       #286
+      01001175H   LINE      ---      ---       #288
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100176EH   BLOCK     CODE     ---       LVL=0
+      0100176EH   LINE      ---      ---       #292
+      0100176EH   LINE      ---      ---       #293
+      0100176EH   LINE      ---      ---       #294
+      01001771H   LINE      ---      ---       #296
+      0100177FH   LINE      ---      ---       #298
+      01001781H   LINE      ---      ---       #299
+      01001784H   LINE      ---      ---       #300
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001E5BH   BLOCK     CODE     ---       LVL=0
+      01001E5BH   LINE      ---      ---       #307
+      01001E5BH   LINE      ---      ---       #308
+      01001E5BH   LINE      ---      ---       #309
+      01001E61H   LINE      ---      ---       #310
+      01001E61H   LINE      ---      ---       #311
+      01001E63H   LINE      ---      ---       #312
+      01001E66H   LINE      ---      ---       #313
+      01001E66H   LINE      ---      ---       #314
+      01001E6DH   LINE      ---      ---       #315
+      01001E6DH   LINE      ---      ---       #316
+      01001E72H   LINE      ---      ---       #318
+      01001E74H   LINE      ---      ---       #320
+      01001E74H   LINE      ---      ---       #322
+      01001E79H   LINE      ---      ---       #323
+      01001E79H   LINE      ---      ---       #324
+      01001E79H   LINE      ---      ---       #325
+      01001E79H   LINE      ---      ---       #327
+      01001E7FH   LINE      ---      ---       #328
+      01001E7FH   LINE      ---      ---       #329
+      01001E81H   LINE      ---      ---       #330
+      01001E81H   LINE      ---      ---       #332
+      01001E87H   LINE      ---      ---       #333
+      01001E89H   LINE      ---      ---       #335
+      01001E8FH   LINE      ---      ---       #336
+      01001E8FH   LINE      ---      ---       #337
+      01001E91H   LINE      ---      ---       #338
+      01001E98H   LINE      ---      ---       #339
+      01001E9EH   LINE      ---      ---       #340
+      01001E9EH   LINE      ---      ---       #341
+      01001EA5H   LINE      ---      ---       #342
+      01001EA5H   LINE      ---      ---       #343
+      01001EA7H   LINE      ---      ---       #345
+      01001EADH   LINE      ---      ---       #346
+      01001EADH   LINE      ---      ---       #347
+      01001EB3H   LINE      ---      ---       #348
+      01001EB3H   LINE      ---      ---       #349
+      01001EB5H   LINE      ---      ---       #350
+      01001EB9H   LINE      ---      ---       #351
+      01001EB9H   LINE      ---      ---       #352
+      01001EC0H   LINE      ---      ---       #353
+      01001EC2H   LINE      ---      ---       #355
+      01001EC9H   LINE      ---      ---       #356
+      01001ECFH   LINE      ---      ---       #357
+      01001ED2H   LINE      ---      ---       #358
+      01001ED2H   LINE      ---      ---       #359
+      01001ED2H   LINE      ---      ---       #362
+      01001ED8H   LINE      ---      ---       #363
+      01001ED8H   LINE      ---      ---       #364
+      01001EE0H   LINE      ---      ---       #365
+      01001EE0H   LINE      ---      ---       #366
+      01001EE1H   LINE      ---      ---       #368
+      01001EE7H   LINE      ---      ---       #369
+      01001EE7H   LINE      ---      ---       #370
+      01001EF2H   LINE      ---      ---       #371
+      01001EF4H   LINE      ---      ---       #372
+      01001EFAH   LINE      ---      ---       #373
+      01001EFAH   LINE      ---      ---       #375
+      01001F05H   LINE      ---      ---       #376
+      01001F05H   LINE      ---      ---       #377
+      01001F05H   LINE      ---      ---       #378
+      01001F05H   LINE      ---      ---       #380
+      01001F0BH   LINE      ---      ---       #381
+      01001F0EH   LINE      ---      ---       #382
+      01001F0EH   LINE      ---      ---       #383
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001603H   BLOCK     CODE     ---       LVL=0
+      01001603H   LINE      ---      ---       #397
+      01001603H   LINE      ---      ---       #398
+      01001603H   LINE      ---      ---       #399
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001467H   BLOCK     CODE     ---       LVL=0
+      01001467H   LINE      ---      ---       #404
+      01001467H   LINE      ---      ---       #405
+      01001467H   LINE      ---      ---       #406
+      01001469H   LINE      ---      ---       #407
+      01001469H   LINE      ---      ---       #408
+      0100146CH   LINE      ---      ---       #409
+      0100146FH   LINE      ---      ---       #410
+      01001471H   LINE      ---      ---       #411
+      01001474H   LINE      ---      ---       #413
+      0100147FH   LINE      ---      ---       #414
+      0100147FH   LINE      ---      ---       #415
+      01001481H   LINE      ---      ---       #417
+      01001483H   LINE      ---      ---       #418
+      01001485H   LINE      ---      ---       #419
+      01001487H   LINE      ---      ---       #420
+      01001487H   LINE      ---      ---       #422
+      01001487H   LINE      ---      ---       #423
+      0100149FH   LINE      ---      ---       #425
+      0100149FH   LINE      ---      ---       #426
+      010014A1H   LINE      ---      ---       #427
+      010014A3H   LINE      ---      ---       #428
+      010014A3H   LINE      ---      ---       #430
+      010014A3H   LINE      ---      ---       #431
+      010014A5H   LINE      ---      ---       #432
+      010014A7H   LINE      ---      ---       #433
+      010014A9H   LINE      ---      ---       #434
+      010014A9H   LINE      ---      ---       #435
+      010014A9H   LINE      ---      ---       #436
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       ADC
-      01002122H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      01002036H   PUBLIC    CODE     ---       YC_adc_check
-      01001F72H   PUBLIC    CODE     ---       YC_adc_init
-
-      01001F72H   BLOCK     CODE     ---       LVL=0
-      01001F72H   LINE      ---      ---       #3
-      01001F72H   LINE      ---      ---       #4
-      01001F72H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001F72H   LINE      ---      ---       #8
-      01001F78H   LINE      ---      ---       #9
-      01001F7BH   LINE      ---      ---       #29
-      01001F81H   LINE      ---      ---       #30
-      01001F83H   LINE      ---      ---       #31
-      01001F83H   LINE      ---      ---       #32
-      01001F94H   LINE      ---      ---       #33
-      01001F99H   LINE      ---      ---       #34
-      01001FE7H   LINE      ---      ---       #35
-      01002035H   LINE      ---      ---       #38
+      010017A9H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      01001FD3H   PUBLIC    CODE     ---       YC_adc_check
+      01001F0FH   PUBLIC    CODE     ---       YC_adc_init
+
+      01001F0FH   BLOCK     CODE     ---       LVL=0
+      01001F0FH   LINE      ---      ---       #3
+      01001F0FH   LINE      ---      ---       #4
+      01001F0FH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001F0FH   LINE      ---      ---       #8
+      01001F15H   LINE      ---      ---       #9
+      01001F18H   LINE      ---      ---       #29
+      01001F1EH   LINE      ---      ---       #30
+      01001F20H   LINE      ---      ---       #31
+      01001F20H   LINE      ---      ---       #32
+      01001F31H   LINE      ---      ---       #33
+      01001F36H   LINE      ---      ---       #34
+      01001F84H   LINE      ---      ---       #35
+      01001FD2H   LINE      ---      ---       #38
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002036H   BLOCK     CODE     ---       LVL=0
-      01002036H   LINE      ---      ---       #40
-      01002036H   LINE      ---      ---       #41
-      01002036H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002036H   LINE      ---      ---       #44
-      01002040H   LINE      ---      ---       #46
-      01002060H   LINE      ---      ---       #47
-      01002069H   LINE      ---      ---       #48
-      0100206BH   LINE      ---      ---       #49
-      01002070H   LINE      ---      ---       #50
-      01002070H   LINE      ---      ---       #51
-      010020A7H   LINE      ---      ---       #52
-      010020B1H   LINE      ---      ---       #53
-      010020CEH   LINE      ---      ---       #55
-      010020E3H   LINE      ---      ---       #56
-      010020E3H   LINE      ---      ---       #57
-      010020E9H   LINE      ---      ---       #58
-      010020EAH   LINE      ---      ---       #60
-      010020EAH   LINE      ---      ---       #61
-      01002109H   LINE      ---      ---       #62
-      01002109H   LINE      ---      ---       #63
-      0100210FH   LINE      ---      ---       #64
-      01002115H   LINE      ---      ---       #65
-      01002116H   LINE      ---      ---       #67
-      01002116H   LINE      ---      ---       #68
-      0100211BH   LINE      ---      ---       #69
-      01002121H   LINE      ---      ---       #70
-      01002121H   LINE      ---      ---       #71
-      01002121H   LINE      ---      ---       #73
+      01001FD3H   BLOCK     CODE     ---       LVL=0
+      01001FD3H   LINE      ---      ---       #40
+      01001FD3H   LINE      ---      ---       #41
+      01001FD3H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001FD3H   LINE      ---      ---       #44
+      01001FDDH   LINE      ---      ---       #46
+      01001FFDH   LINE      ---      ---       #47
+      01002006H   LINE      ---      ---       #48
+      01002008H   LINE      ---      ---       #49
+      0100200DH   LINE      ---      ---       #50
+      0100200DH   LINE      ---      ---       #51
+      01002044H   LINE      ---      ---       #52
+      0100204EH   LINE      ---      ---       #53
+      0100206BH   LINE      ---      ---       #55
+      01002080H   LINE      ---      ---       #56
+      01002080H   LINE      ---      ---       #57
+      01002086H   LINE      ---      ---       #58
+      01002087H   LINE      ---      ---       #60
+      01002087H   LINE      ---      ---       #61
+      010020A6H   LINE      ---      ---       #62
+      010020A6H   LINE      ---      ---       #63
+      010020ACH   LINE      ---      ---       #64
+      010020B2H   LINE      ---      ---       #65
+      010020B3H   LINE      ---      ---       #67
+      010020B3H   LINE      ---      ---       #68
+      010020B8H   LINE      ---      ---       #69
+      010020BEH   LINE      ---      ---       #70
+      010020BEH   LINE      ---      ---       #71
+      010020BEH   LINE      ---      ---       #73
       02004E57H   SYMBOL    XDATA    VOID      i
       02004E58H   SYMBOL    XDATA    VOID      batValue
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002122H   BLOCK     CODE     ---       LVL=0
-      01002122H   LINE      ---      ---       #76
-      01002122H   LINE      ---      ---       #77
-      01002122H   LINE      ---      ---       #80
-      01002128H   LINE      ---      ---       #81
-      01002128H   LINE      ---      ---       #82
-      0100212AH   LINE      ---      ---       #83
-      0100212DH   LINE      ---      ---       #84
-      0100212DH   LINE      ---      ---       #85
-      01002130H   LINE      ---      ---       #86
-      01002132H   LINE      ---      ---       #87
-      01002132H   LINE      ---      ---       #88
-      01002132H   LINE      ---      ---       #90
+      010017A9H   BLOCK     CODE     ---       LVL=0
+      010017A9H   LINE      ---      ---       #76
+      010017A9H   LINE      ---      ---       #77
+      010017A9H   LINE      ---      ---       #80
+      010017AFH   LINE      ---      ---       #81
+      010017AFH   LINE      ---      ---       #82
+      010017B1H   LINE      ---      ---       #83
+      010017B4H   LINE      ---      ---       #84
+      010017B4H   LINE      ---      ---       #85
+      010017B7H   LINE      ---      ---       #86
+      010017BAH   LINE      ---      ---       #87
+      010017BAH   LINE      ---      ---       #88
+      010017BAH   LINE      ---      ---       #90
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      0100171FH   PUBLIC    CODE     ---       main
+      01001758H   PUBLIC    CODE     ---       main
 
-      0100171FH   BLOCK     CODE     ---       LVL=0
-      0100171FH   LINE      ---      ---       #5
-      0100171FH   LINE      ---      ---       #6
-      0100171FH   LINE      ---      ---       #7
+      01001758H   BLOCK     CODE     ---       LVL=0
+      01001758H   LINE      ---      ---       #5
+      01001758H   LINE      ---      ---       #6
+      01001758H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
@@ -1967,36 +1975,36 @@
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      010021DDH   PUBLIC    CODE     ---       IPC_DealSingleStep
-      01001AB1H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      010017C4H   PUBLIC    CODE     ---       IPC_AbandonLpm
-      010015E1H   PUBLIC    CODE     ---       IPC_WaitLpm
-      010015F4H   PUBLIC    CODE     ---       _IPC_Initialize
-      010022A3H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
-      01000FBDH   PUBLIC    CODE     ---       _IPC_Tx24GData
+      01002169H   PUBLIC    CODE     ---       IPC_DealSingleStep
+      01000FDFH   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      01001762H   PUBLIC    CODE     ---       IPC_AbandonLpm
+      010015F6H   PUBLIC    CODE     ---       IPC_WaitLpm
+      01001609H   PUBLIC    CODE     ---       _IPC_Initialize
+      0100222FH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01000FA3H   PUBLIC    CODE     ---       _IPC_Tx24GData
       010008B5H   PUBLIC    CODE     ---       _IPC_TxData
       010007F8H   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      01002133H   BLOCK     CODE     ---       LVL=0
-      01002133H   LINE      ---      ---       #44
-      01002143H   LINE      ---      ---       #45
-      01002143H   LINE      ---      ---       #46
-      0100218CH   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100218DH   BLOCK     CODE     ---       LVL=0
-      0100218DH   LINE      ---      ---       #49
-      01002197H   LINE      ---      ---       #50
-      01002197H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002197H   LINE      ---      ---       #51
-      0100219FH   LINE      ---      ---       #52
-      010021A5H   LINE      ---      ---       #53
-      010021C4H   LINE      ---      ---       #54
-      010021CEH   LINE      ---      ---       #55
-      010021D2H   LINE      ---      ---       #56
-      010021D2H   LINE      ---      ---       #57
-      010021D4H   LINE      ---      ---       #58
-      010021DCH   LINE      ---      ---       #59
+      010020BFH   BLOCK     CODE     ---       LVL=0
+      010020BFH   LINE      ---      ---       #44
+      010020CFH   LINE      ---      ---       #45
+      010020CFH   LINE      ---      ---       #46
+      01002118H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002119H   BLOCK     CODE     ---       LVL=0
+      01002119H   LINE      ---      ---       #49
+      01002123H   LINE      ---      ---       #50
+      01002123H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002123H   LINE      ---      ---       #51
+      0100212BH   LINE      ---      ---       #52
+      01002131H   LINE      ---      ---       #53
+      01002150H   LINE      ---      ---       #54
+      0100215AH   LINE      ---      ---       #55
+      0100215EH   LINE      ---      ---       #56
+      0100215EH   LINE      ---      ---       #57
+      01002160H   LINE      ---      ---       #58
+      01002168H   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2038,100 +2046,100 @@
       010008CBH   LINE      ---      ---       #87
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01000FBDH   BLOCK     CODE     ---       LVL=0
-      01000FBDH   LINE      ---      ---       #90
-      01000FBDH   LINE      ---      ---       #91
-      01000FBDH   LINE      ---      ---       #92
-      01000FC3H   LINE      ---      ---       #93
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010022A3H   BLOCK     CODE     ---       LVL=0
-      010022A3H   LINE      ---      ---       #98
-      010022A3H   LINE      ---      ---       #99
-      010022A3H   LINE      ---      ---       #100
-      010022A8H   LINE      ---      ---       #101
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010015F4H   BLOCK     CODE     ---       LVL=0
-      010015F4H   LINE      ---      ---       #103
-      010015F4H   LINE      ---      ---       #104
-      010015F4H   LINE      ---      ---       #105
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010015E1H   BLOCK     CODE     ---       LVL=0
-      010015E1H   LINE      ---      ---       #108
-      010015E1H   LINE      ---      ---       #109
-      010015E1H   LINE      ---      ---       #110
-      010015E6H   LINE      ---      ---       #111
-      010015EAH   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017C4H   BLOCK     CODE     ---       LVL=0
-      010017C4H   LINE      ---      ---       #115
-      010017C4H   LINE      ---      ---       #116
-      010017C4H   LINE      ---      ---       #117
-      010017CAH   LINE      ---      ---       #118
-      010017CFH   LINE      ---      ---       #119
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001AB1H   BLOCK     CODE     ---       LVL=0
-      01001AB1H   LINE      ---      ---       #121
-      01001AB1H   LINE      ---      ---       #122
-      01001AB1H   LINE      ---      ---       #123
-      01001AC5H   LINE      ---      ---       #124
-      01001AC7H   LINE      ---      ---       #125
-      01001AC8H   LINE      ---      ---       #126
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010021DDH   BLOCK     CODE     ---       LVL=0
-      010021DDH   LINE      ---      ---       #129
-      010021DDH   LINE      ---      ---       #130
-      010021DDH   BLOCK     CODE     NEAR LAB  LVL=1
-      010021DDH   LINE      ---      ---       #131
-      010021EFH   LINE      ---      ---       #132
-      01002203H   LINE      ---      ---       #133
-      01002203H   LINE      ---      ---       #134
-      0100220BH   LINE      ---      ---       #135
-      0100221CH   LINE      ---      ---       #136
-      01002226H   LINE      ---      ---       #137
-      01002245H   LINE      ---      ---       #138
-      01002247H   LINE      ---      ---       #139
-      01002247H   LINE      ---      ---       #140
-      01002249H   LINE      ---      ---       #141
-      01002249H   LINE      ---      ---       #142
-      01002249H   LINE      ---      ---       #143
-      0100225DH   LINE      ---      ---       #144
-      0100226BH   LINE      ---      ---       #146
-      0100226EH   LINE      ---      ---       #148
-      0100227DH   LINE      ---      ---       #149
-      0100227FH   LINE      ---      ---       #150
-      01002289H   LINE      ---      ---       #151
-      01002297H   LINE      ---      ---       #153
-      0100229AH   LINE      ---      ---       #155
-      010022A0H   LINE      ---      ---       #156
-      010022A2H   LINE      ---      ---       #158
-      01002249H   SYMBOL    ---      ---       IPC_TIMERingleStep
+      01000FA3H   BLOCK     CODE     ---       LVL=0
+      01000FA3H   LINE      ---      ---       #90
+      01000FA3H   LINE      ---      ---       #91
+      01000FA3H   LINE      ---      ---       #92
+      01000FA9H   LINE      ---      ---       #93
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100222FH   BLOCK     CODE     ---       LVL=0
+      0100222FH   LINE      ---      ---       #98
+      0100222FH   LINE      ---      ---       #99
+      0100222FH   LINE      ---      ---       #100
+      01002234H   LINE      ---      ---       #101
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001609H   BLOCK     CODE     ---       LVL=0
+      01001609H   LINE      ---      ---       #103
+      01001609H   LINE      ---      ---       #104
+      01001609H   LINE      ---      ---       #105
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010015F6H   BLOCK     CODE     ---       LVL=0
+      010015F6H   LINE      ---      ---       #108
+      010015F6H   LINE      ---      ---       #109
+      010015F6H   LINE      ---      ---       #110
+      010015FBH   LINE      ---      ---       #111
+      010015FFH   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001762H   BLOCK     CODE     ---       LVL=0
+      01001762H   LINE      ---      ---       #115
+      01001762H   LINE      ---      ---       #116
+      01001762H   LINE      ---      ---       #117
+      01001768H   LINE      ---      ---       #118
+      0100176DH   LINE      ---      ---       #119
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FDFH   BLOCK     CODE     ---       LVL=0
+      01000FDFH   LINE      ---      ---       #121
+      01000FDFH   LINE      ---      ---       #122
+      01000FDFH   LINE      ---      ---       #123
+      01000FF3H   LINE      ---      ---       #124
+      01000FF5H   LINE      ---      ---       #125
+      01000FF6H   LINE      ---      ---       #126
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002169H   BLOCK     CODE     ---       LVL=0
+      01002169H   LINE      ---      ---       #129
+      01002169H   LINE      ---      ---       #130
+      01002169H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002169H   LINE      ---      ---       #131
+      0100217BH   LINE      ---      ---       #132
+      0100218FH   LINE      ---      ---       #133
+      0100218FH   LINE      ---      ---       #134
+      01002197H   LINE      ---      ---       #135
+      010021A8H   LINE      ---      ---       #136
+      010021B2H   LINE      ---      ---       #137
+      010021D1H   LINE      ---      ---       #138
+      010021D3H   LINE      ---      ---       #139
+      010021D3H   LINE      ---      ---       #140
+      010021D5H   LINE      ---      ---       #141
+      010021D5H   LINE      ---      ---       #142
+      010021D5H   LINE      ---      ---       #143
+      010021E9H   LINE      ---      ---       #144
+      010021F7H   LINE      ---      ---       #146
+      010021FAH   LINE      ---      ---       #148
+      01002209H   LINE      ---      ---       #149
+      0100220BH   LINE      ---      ---       #150
+      01002215H   LINE      ---      ---       #151
+      01002223H   LINE      ---      ---       #153
+      01002226H   LINE      ---      ---       #155
+      0100222CH   LINE      ---      ---       #156
+      0100222EH   LINE      ---      ---       #158
+      010021D5H   SYMBOL    ---      ---       IPC_TIMERingleStep
       02004E7BH   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       UTILITIES
       02004E38H   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      01001AF9H   PUBLIC    CODE     ---       _compare_str
-      01001161H   PUBLIC    CODE     ---       _Delay1ms
-      010022F4H   PUBLIC    CODE     ---       _xmemclear_ff
-      01000DCEH   PUBLIC    CODE     ---       _xmemclear
+      01001B54H   PUBLIC    CODE     ---       _compare_str
+      01001176H   PUBLIC    CODE     ---       _Delay1ms
+      0100231BH   PUBLIC    CODE     ---       _xmemclear_ff
+      01000DB3H   PUBLIC    CODE     ---       _xmemclear
       02004E29H   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      010022B0H   PUBLIC    CODE     ---       _dmemcpy
+      0100223CH   PUBLIC    CODE     ---       _dmemcpy
       02004E4CH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       010008DAH   PUBLIC    CODE     ---       _xmemcpy
-      010022A9H   PUBLIC    CODE     ---       YC_Ice_break
+      01002235H   PUBLIC    CODE     ---       YC_Ice_break
 
-      010022A9H   BLOCK     CODE     ---       LVL=0
-      010022A9H   LINE      ---      ---       #3
-      010022A9H   LINE      ---      ---       #4
-      010022A9H   LINE      ---      ---       #5
-      010022AFH   LINE      ---      ---       #7
+      01002235H   BLOCK     CODE     ---       LVL=0
+      01002235H   LINE      ---      ---       #3
+      01002235H   LINE      ---      ---       #4
+      01002235H   LINE      ---      ---       #5
+      0100223BH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       010008DAH   BLOCK     CODE     ---       LVL=0
@@ -2142,52 +2150,52 @@
       0100091CH   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010022B0H   BLOCK     CODE     ---       LVL=0
-      010022B0H   LINE      ---      ---       #16
-      010022BBH   LINE      ---      ---       #17
-      010022BBH   LINE      ---      ---       #18
-      010022C9H   LINE      ---      ---       #19
-      010022F3H   LINE      ---      ---       #21
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000DCEH   BLOCK     CODE     ---       LVL=0
-      01000DCEH   LINE      ---      ---       #23
-      01000DD9H   LINE      ---      ---       #24
-      01000DD9H   LINE      ---      ---       #25
-      01000DE3H   LINE      ---      ---       #26
-      01000DF9H   LINE      ---      ---       #28
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010022F4H   BLOCK     CODE     ---       LVL=0
-      010022F4H   LINE      ---      ---       #30
-      010022FFH   LINE      ---      ---       #31
-      010022FFH   LINE      ---      ---       #32
-      01002309H   LINE      ---      ---       #33
-      01002320H   LINE      ---      ---       #35
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001161H   BLOCK     CODE     ---       LVL=0
-      01001161H   LINE      ---      ---       #46
-      01001161H   LINE      ---      ---       #47
-      01001161H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001161H   LINE      ---      ---       #49
-      01001167H   LINE      ---      ---       #50
-      01001175H   LINE      ---      ---       #51
-      01001178H   LINE      ---      ---       #52
+      0100223CH   BLOCK     CODE     ---       LVL=0
+      0100223CH   LINE      ---      ---       #16
+      01002247H   LINE      ---      ---       #17
+      01002247H   LINE      ---      ---       #18
+      01002255H   LINE      ---      ---       #19
+      0100227FH   LINE      ---      ---       #21
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000DB3H   BLOCK     CODE     ---       LVL=0
+      01000DB3H   LINE      ---      ---       #23
+      01000DBEH   LINE      ---      ---       #24
+      01000DBEH   LINE      ---      ---       #25
+      01000DC8H   LINE      ---      ---       #26
+      01000DDEH   LINE      ---      ---       #28
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100231BH   BLOCK     CODE     ---       LVL=0
+      0100231BH   LINE      ---      ---       #30
+      01002326H   LINE      ---      ---       #31
+      01002326H   LINE      ---      ---       #32
+      01002330H   LINE      ---      ---       #33
+      01002347H   LINE      ---      ---       #35
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001176H   BLOCK     CODE     ---       LVL=0
+      01001176H   LINE      ---      ---       #46
+      01001176H   LINE      ---      ---       #47
+      01001176H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001176H   LINE      ---      ---       #49
+      0100117CH   LINE      ---      ---       #50
+      0100118AH   LINE      ---      ---       #51
+      0100118DH   LINE      ---      ---       #52
       00000004H   SYMBOL    DATA     VOID      j
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001AF9H   BLOCK     CODE     ---       LVL=0
-      01001AF9H   LINE      ---      ---       #54
-      01001B04H   LINE      ---      ---       #55
-      01001B04H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001B04H   LINE      ---      ---       #57
-      01001B10H   LINE      ---      ---       #58
-      01001B3AH   LINE      ---      ---       #59
-      01001B3DH   LINE      ---      ---       #60
-      01001B40H   LINE      ---      ---       #61
-      01001B42H   LINE      ---      ---       #62
+      01001B54H   BLOCK     CODE     ---       LVL=0
+      01001B54H   LINE      ---      ---       #54
+      01001B5FH   LINE      ---      ---       #55
+      01001B5FH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B5FH   LINE      ---      ---       #57
+      01001B6BH   LINE      ---      ---       #58
+      01001B95H   LINE      ---      ---       #59
+      01001B98H   LINE      ---      ---       #60
+      01001B9BH   LINE      ---      ---       #61
+      01001B9DH   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2195,63 +2203,63 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      0100237DH   PUBLIC    CODE     ---       GPIO_fillpd
-      01002360H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
-      01001542H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01002321H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      01002387H   PUBLIC    CODE     ---       GPIO_fillpd
+      010017BBH   PUBLIC    CODE     ---       _GPIO_FlipOutBit
+      01001557H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
+      01002348H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
-      01001555H   PUBLIC    CODE     ---       _GPIO_SetWakeup
+      0100156AH   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
-      0100140DH   PUBLIC    CODE     ---       _GPIO_SetOutput
+      01001422H   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
-      01001661H   PUBLIC    CODE     ---       _GPIO_SetInput
+      0100167CH   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      0100167FH   PUBLIC    CODE     ---       _GPIO_Setoe
+      0100169AH   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      01001690H   PUBLIC    CODE     ---       _GPIO_SetPd
+      010016ABH   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      01001650H   PUBLIC    CODE     ---       _GPIO_SetPu
+      0100166BH   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
       01000784H   PUBLIC    CODE     ---       _GPIO_Setout
-      01001601H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      01001616H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
-      010016A1H   BLOCK     CODE     ---       LVL=0
-      010016A1H   LINE      ---      ---       #9
-      010016ACH   LINE      ---      ---       #10
-      010016ACH   BLOCK     CODE     NEAR LAB  LVL=1
-      010016ACH   LINE      ---      ---       #11
-      010016AEH   LINE      ---      ---       #12
-      010016AFH   LINE      ---      ---       #14
-      010016B3H   LINE      ---      ---       #15
-      010016BAH   LINE      ---      ---       #17
-      010016BDH   LINE      ---      ---       #18
-      010016DFH   LINE      ---      ---       #19
-      010016DFH   LINE      ---      ---       #21
-      010016DFH   LINE      ---      ---       #22
+      010016BCH   BLOCK     CODE     ---       LVL=0
+      010016BCH   LINE      ---      ---       #9
+      010016C7H   LINE      ---      ---       #10
+      010016C7H   BLOCK     CODE     NEAR LAB  LVL=1
+      010016C7H   LINE      ---      ---       #11
+      010016C9H   LINE      ---      ---       #12
+      010016CAH   LINE      ---      ---       #14
+      010016CEH   LINE      ---      ---       #15
+      010016D5H   LINE      ---      ---       #17
+      010016D8H   LINE      ---      ---       #18
+      010016FAH   LINE      ---      ---       #19
+      010016FAH   LINE      ---      ---       #21
+      010016FAH   LINE      ---      ---       #22
       00000006H   SYMBOL    DATA     VOID      queue
       00000005H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001607H   BLOCK     CODE     ---       LVL=0
-      01001607H   LINE      ---      ---       #26
-      01001609H   LINE      ---      ---       #27
-      01001609H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001609H   LINE      ---      ---       #28
-      0100160EH   LINE      ---      ---       #29
-      0100160FH   LINE      ---      ---       #31
-      01001613H   LINE      ---      ---       #32
-      0100161AH   LINE      ---      ---       #33
-      01001645H   LINE      ---      ---       #35
+      0100161CH   BLOCK     CODE     ---       LVL=0
+      0100161CH   LINE      ---      ---       #26
+      0100161EH   LINE      ---      ---       #27
+      0100161EH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100161EH   LINE      ---      ---       #28
+      01001623H   LINE      ---      ---       #29
+      01001624H   LINE      ---      ---       #31
+      01001628H   LINE      ---      ---       #32
+      0100162FH   LINE      ---      ---       #33
+      0100165AH   LINE      ---      ---       #35
       02004E95H   SYMBOL    XDATA    VOID      queue
       00000006H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001601H   BLOCK     CODE     ---       LVL=0
-      01001601H   LINE      ---      ---       #37
-      01001601H   LINE      ---      ---       #38
-      01001601H   LINE      ---      ---       #39
+      01001616H   BLOCK     CODE     ---       LVL=0
+      01001616H   LINE      ---      ---       #37
+      01001616H   LINE      ---      ---       #38
+      01001616H   LINE      ---      ---       #39
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000784H   BLOCK     CODE     ---       LVL=0
@@ -2262,181 +2270,181 @@
       01000795H   LINE      ---      ---       #47
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001650H   BLOCK     CODE     ---       LVL=0
-      01001650H   LINE      ---      ---       #49
-      01001650H   LINE      ---      ---       #50
-      01001650H   LINE      ---      ---       #51
-      01001654H   LINE      ---      ---       #53
-      01001660H   LINE      ---      ---       #54
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001690H   BLOCK     CODE     ---       LVL=0
-      01001690H   LINE      ---      ---       #56
-      01001690H   LINE      ---      ---       #57
-      01001690H   LINE      ---      ---       #58
-      01001694H   LINE      ---      ---       #60
-      010016A0H   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100167FH   BLOCK     CODE     ---       LVL=0
-      0100167FH   LINE      ---      ---       #63
-      0100167FH   LINE      ---      ---       #64
-      0100167FH   LINE      ---      ---       #65
-      01001683H   LINE      ---      ---       #67
-      0100168FH   LINE      ---      ---       #68
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001661H   BLOCK     CODE     ---       LVL=0
-      01001661H   LINE      ---      ---       #70
-      01001663H   LINE      ---      ---       #71
-      01001663H   LINE      ---      ---       #72
-      01001667H   LINE      ---      ---       #74
-      0100166FH   LINE      ---      ---       #75
-      01001678H   LINE      ---      ---       #76
-      0100167EH   LINE      ---      ---       #77
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100140DH   BLOCK     CODE     ---       LVL=0
-      0100140DH   LINE      ---      ---       #79
-      0100140FH   LINE      ---      ---       #80
-      0100140FH   LINE      ---      ---       #81
-      01001413H   LINE      ---      ---       #83
-      01001419H   LINE      ---      ---       #84
-      01001422H   LINE      ---      ---       #85
-      01001428H   LINE      ---      ---       #86
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001555H   BLOCK     CODE     ---       LVL=0
-      01001555H   LINE      ---      ---       #88
-      01001555H   LINE      ---      ---       #89
-      01001555H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001555H   LINE      ---      ---       #92
-      0100155BH   LINE      ---      ---       #94
-      0100155FH   LINE      ---      ---       #95
-      01001566H   LINE      ---      ---       #96
-      01001569H   LINE      ---      ---       #97
-      0100158AH   LINE      ---      ---       #98
-      010015ABH   LINE      ---      ---       #99
-      010015ACH   LINE      ---      ---       #101
-      010015ACH   LINE      ---      ---       #102
-      010015CEH   LINE      ---      ---       #103
-      010015E0H   LINE      ---      ---       #104
-      010015E0H   LINE      ---      ---       #105
+      0100166BH   BLOCK     CODE     ---       LVL=0
+      0100166BH   LINE      ---      ---       #49
+      0100166BH   LINE      ---      ---       #50
+      0100166BH   LINE      ---      ---       #51
+      0100166FH   LINE      ---      ---       #53
+      0100167BH   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010016ABH   BLOCK     CODE     ---       LVL=0
+      010016ABH   LINE      ---      ---       #56
+      010016ABH   LINE      ---      ---       #57
+      010016ABH   LINE      ---      ---       #58
+      010016AFH   LINE      ---      ---       #60
+      010016BBH   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100169AH   BLOCK     CODE     ---       LVL=0
+      0100169AH   LINE      ---      ---       #63
+      0100169AH   LINE      ---      ---       #64
+      0100169AH   LINE      ---      ---       #65
+      0100169EH   LINE      ---      ---       #67
+      010016AAH   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100167CH   BLOCK     CODE     ---       LVL=0
+      0100167CH   LINE      ---      ---       #70
+      0100167EH   LINE      ---      ---       #71
+      0100167EH   LINE      ---      ---       #72
+      01001682H   LINE      ---      ---       #74
+      0100168AH   LINE      ---      ---       #75
+      01001693H   LINE      ---      ---       #76
+      01001699H   LINE      ---      ---       #77
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001422H   BLOCK     CODE     ---       LVL=0
+      01001422H   LINE      ---      ---       #79
+      01001424H   LINE      ---      ---       #80
+      01001424H   LINE      ---      ---       #81
+      01001428H   LINE      ---      ---       #83
+      0100142EH   LINE      ---      ---       #84
+      01001437H   LINE      ---      ---       #85
+      0100143DH   LINE      ---      ---       #86
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100156AH   BLOCK     CODE     ---       LVL=0
+      0100156AH   LINE      ---      ---       #88
+      0100156AH   LINE      ---      ---       #89
+      0100156AH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100156AH   LINE      ---      ---       #92
+      01001570H   LINE      ---      ---       #94
+      01001574H   LINE      ---      ---       #95
+      0100157BH   LINE      ---      ---       #96
+      0100157EH   LINE      ---      ---       #97
+      0100159FH   LINE      ---      ---       #98
+      010015C0H   LINE      ---      ---       #99
+      010015C1H   LINE      ---      ---       #101
+      010015C1H   LINE      ---      ---       #102
+      010015E3H   LINE      ---      ---       #103
+      010015F5H   LINE      ---      ---       #104
+      010015F5H   LINE      ---      ---       #105
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002321H   BLOCK     CODE     ---       LVL=0
-      01002321H   LINE      ---      ---       #107
-      01002321H   LINE      ---      ---       #108
-      01002321H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002321H   LINE      ---      ---       #111
-      01002325H   LINE      ---      ---       #113
-      01002329H   LINE      ---      ---       #114
-      01002330H   LINE      ---      ---       #115
-      01002352H   LINE      ---      ---       #116
-      0100235FH   LINE      ---      ---       #117
+      01002348H   BLOCK     CODE     ---       LVL=0
+      01002348H   LINE      ---      ---       #107
+      01002348H   LINE      ---      ---       #108
+      01002348H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002348H   LINE      ---      ---       #111
+      0100234CH   LINE      ---      ---       #113
+      01002350H   LINE      ---      ---       #114
+      01002357H   LINE      ---      ---       #115
+      01002379H   LINE      ---      ---       #116
+      01002386H   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001542H   BLOCK     CODE     ---       LVL=0
-      01001542H   LINE      ---      ---       #119
-      01001547H   LINE      ---      ---       #120
-      01001547H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001547H   LINE      ---      ---       #121
-      0100154BH   LINE      ---      ---       #122
+      01001557H   BLOCK     CODE     ---       LVL=0
+      01001557H   LINE      ---      ---       #119
+      0100155CH   LINE      ---      ---       #120
+      0100155CH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100155CH   LINE      ---      ---       #121
+      01001560H   LINE      ---      ---       #122
       00000021H.0 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002360H   BLOCK     CODE     ---       LVL=0
-      01002360H   LINE      ---      ---       #125
-      01002365H   LINE      ---      ---       #126
-      01002365H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002365H   LINE      ---      ---       #127
-      01002370H   LINE      ---      ---       #128
+      010017BBH   BLOCK     CODE     ---       LVL=0
+      010017BBH   LINE      ---      ---       #125
+      010017C0H   LINE      ---      ---       #126
+      010017C0H   BLOCK     CODE     NEAR LAB  LVL=1
+      010017C0H   LINE      ---      ---       #127
+      010017CAH   LINE      ---      ---       #128
       00000021H.1 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100237DH   BLOCK     CODE     ---       LVL=0
-      0100237DH   LINE      ---      ---       #131
-      0100237DH   LINE      ---      ---       #132
-      0100237DH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100237DH   LINE      ---      ---       #134
-      0100237FH   LINE      ---      ---       #135
-      010023B0H   LINE      ---      ---       #136
+      01002387H   BLOCK     CODE     ---       LVL=0
+      01002387H   LINE      ---      ---       #131
+      01002387H   LINE      ---      ---       #132
+      01002387H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002387H   LINE      ---      ---       #134
+      01002389H   LINE      ---      ---       #135
+      010023BAH   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       IIC
-      01001348H   PUBLIC    CODE     ---       _IIC_WriteBlock
-      01001729H   PUBLIC    CODE     ---       _IIC_write
-      01001250H   PUBLIC    CODE     ---       _IIC_Read
-
-      01001721H   BLOCK     CODE     ---       LVL=0
-      01001721H   LINE      ---      ---       #11
-      01001721H   LINE      ---      ---       #12
-      01001721H   LINE      ---      ---       #13
-      01001728H   LINE      ---      ---       #14
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001250H   BLOCK     CODE     ---       LVL=0
-      01001250H   LINE      ---      ---       #16
-      01001261H   LINE      ---      ---       #17
-      01001261H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001261H   LINE      ---      ---       #18
-      01001261H   LINE      ---      ---       #19
-      0100126AH   LINE      ---      ---       #20
-      01001270H   LINE      ---      ---       #21
-      01001276H   LINE      ---      ---       #22
-      0100127CH   LINE      ---      ---       #23
-      01001295H   LINE      ---      ---       #24
-      010012AAH   LINE      ---      ---       #25
-      010012C3H   LINE      ---      ---       #26
-      010012C9H   LINE      ---      ---       #27
-      010012D1H   LINE      ---      ---       #28
-      010012D8H   LINE      ---      ---       #29
-      010012D8H   LINE      ---      ---       #30
-      010012DFH   LINE      ---      ---       #31
-      010012E1H   LINE      ---      ---       #32
+      0100135CH   PUBLIC    CODE     ---       _IIC_WriteBlock
+      01002280H   PUBLIC    CODE     ---       _IIC_write
+      01001264H   PUBLIC    CODE     ---       _IIC_Read
+
+      0100175AH   BLOCK     CODE     ---       LVL=0
+      0100175AH   LINE      ---      ---       #11
+      0100175AH   LINE      ---      ---       #12
+      0100175AH   LINE      ---      ---       #13
+      01001761H   LINE      ---      ---       #14
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001264H   BLOCK     CODE     ---       LVL=0
+      01001264H   LINE      ---      ---       #16
+      01001275H   LINE      ---      ---       #17
+      01001275H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001275H   LINE      ---      ---       #18
+      01001275H   LINE      ---      ---       #19
+      0100127EH   LINE      ---      ---       #20
+      01001284H   LINE      ---      ---       #21
+      0100128AH   LINE      ---      ---       #22
+      01001290H   LINE      ---      ---       #23
+      010012A9H   LINE      ---      ---       #24
+      010012BEH   LINE      ---      ---       #25
+      010012D7H   LINE      ---      ---       #26
+      010012DDH   LINE      ---      ---       #27
+      010012E5H   LINE      ---      ---       #28
+      010012ECH   LINE      ---      ---       #29
+      010012ECH   LINE      ---      ---       #30
+      010012F3H   LINE      ---      ---       #31
+      010012F5H   LINE      ---      ---       #32
       00000006H   SYMBOL    DATA     VOID      mem_src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001729H   BLOCK     CODE     ---       LVL=0
-      01001729H   LINE      ---      ---       #35
-      01001744H   LINE      ---      ---       #36
-      01001744H   LINE      ---      ---       #37
-      01001766H   LINE      ---      ---       #38
-      0100176CH   LINE      ---      ---       #39
-      0100177BH   LINE      ---      ---       #40
-      01001798H   LINE      ---      ---       #41
-      010017AFH   LINE      ---      ---       #42
-      010017B6H   LINE      ---      ---       #43
-      010017BBH   LINE      ---      ---       #44
-      010017C2H   LINE      ---      ---       #45
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001348H   BLOCK     CODE     ---       LVL=0
-      01001348H   LINE      ---      ---       #48
-      0100135FH   LINE      ---      ---       #49
-      0100135FH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100135FH   LINE      ---      ---       #51
-      0100136BH   LINE      ---      ---       #52
-      0100137BH   LINE      ---      ---       #53
-      01001389H   LINE      ---      ---       #54
-      010013AFH   LINE      ---      ---       #55
-      010013BCH   LINE      ---      ---       #56
-      010013D1H   LINE      ---      ---       #57
-      010013D5H   LINE      ---      ---       #58
-      010013E6H   LINE      ---      ---       #59
-      010013F2H   LINE      ---      ---       #60
-      010013F4H   LINE      ---      ---       #61
+      01002280H   BLOCK     CODE     ---       LVL=0
+      01002280H   LINE      ---      ---       #35
+      0100229BH   LINE      ---      ---       #36
+      0100229BH   LINE      ---      ---       #37
+      010022BCH   LINE      ---      ---       #38
+      010022C2H   LINE      ---      ---       #39
+      010022D1H   LINE      ---      ---       #40
+      010022EEH   LINE      ---      ---       #41
+      01002305H   LINE      ---      ---       #42
+      0100230CH   LINE      ---      ---       #43
+      01002311H   LINE      ---      ---       #44
+      01002318H   LINE      ---      ---       #45
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100135CH   BLOCK     CODE     ---       LVL=0
+      0100135CH   LINE      ---      ---       #48
+      01001373H   LINE      ---      ---       #49
+      01001373H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001373H   LINE      ---      ---       #51
+      0100137FH   LINE      ---      ---       #52
+      0100138FH   LINE      ---      ---       #53
+      0100139DH   LINE      ---      ---       #54
+      010013C3H   LINE      ---      ---       #55
+      010013D0H   LINE      ---      ---       #56
+      010013E6H   LINE      ---      ---       #57
+      010013EAH   LINE      ---      ---       #58
+      010013FBH   LINE      ---      ---       #59
+      01001407H   LINE      ---      ---       #60
+      01001409H   LINE      ---      ---       #61
       00000004H   SYMBOL    DATA     VOID      cris
       02004E27H   SYMBOL    XDATA    VOID      curr_len
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -2508,5 +2516,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       010005B1H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=774 const=182 code=8955
+Program Size: data=10.2 xdata=775 const=182 code=8965
 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
===================================================================
--- /YJX_KB_Project/1026_KB/CK8006/c51/output/eeprom.dat	(revision 210)
+++ /YJX_KB_Project/1026_KB/CK8006/c51/output/eeprom.dat	(working copy)
@@ -4004,7 +4004,7 @@
 d1
 aa
 55
-b3
+bd
 23
 02
 05
@@ -5406,7 +5406,7 @@
 b1
 02
 17
-1f
+58
 e4
 93
 a3
@@ -5537,22 +5537,22 @@
 ee
 ff
 11
-79
+8e
 00
 00
 00
 ff
 17
-d0
+6e
 ff
 1e
-dc
+5b
 00
 00
 00
 ff
 1e
-89
+08
 00
 1a
 08
@@ -5946,7 +5946,7 @@
 00
 12
 16
-a1
+bc
 22
 90
 4d
@@ -5965,8 +5965,8 @@
 7f
 1e
 12
-23
-60
+17
+bb
 d1
 c2
 ef
@@ -6134,8 +6134,8 @@
 7b
 64
 12
-21
-33
+20
+bf
 90
 4e
 49
@@ -6438,7 +6438,7 @@
 70
 02
 61
-55
+3a
 90
 4d
 de
@@ -6462,7 +6462,7 @@
 09
 fc
 b1
-ce
+b3
 7b
 01
 7a
@@ -6474,7 +6474,7 @@
 7c
 00
 b1
-ce
+b3
 90
 4e
 52
@@ -6492,86 +6492,59 @@
 12
 03
 cf
-ff
-b4
-14
-0a
-90
-00
-02
-12
-03
-cf
 64
-29
-60
-0f
-ef
 64
-29
 70
-36
-90
+31
+7b
+01
+7a
+48
+79
 00
-02
-12
-03
-cf
-64
-14
-70
-2c
+7d
+09
+fc
+b1
+b3
 90
-4b
-eb
-74
-20
-f0
-a3
-74
-15
-f0
-a3
-74
-10
-f0
-a3
+48
+00
 74
-05
+01
 f0
 90
-4c
-c5
+48
+03
 e0
-64
-01
-60
-09
-90
-4c
-ce
+44
+e2
+f0
+a3
 e0
 44
-10
+59
 f0
-80
-10
-90
-4c
-ce
+a3
 e0
-54
-ef
+44
+5a
 f0
-80
-07
-90
-4c
-ce
+a3
 e0
-54
-ef
+44
+60
 f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+c1
+69
 90
 4c
 b6
@@ -6588,21 +6561,21 @@
 70
 02
 61
-55
+3a
 ef
 64
 04
 70
 02
 61
-55
+3a
 ef
 64
 02
 70
 02
 61
-55
+3a
 90
 4c
 c5
@@ -6692,7 +6665,7 @@
 e0
 f9
 71
-56
+3b
 90
 4d
 e4
@@ -6716,7 +6689,7 @@
 7d
 03
 c1
-bc
+69
 90
 4d
 e4
@@ -6745,7 +6718,7 @@
 7d
 03
 c1
-bc
+69
 90
 48
 00
@@ -6906,7 +6879,7 @@
 7d
 09
 d1
-bc
+69
 22
 90
 4e
@@ -6934,7 +6907,7 @@
 40
 02
 a1
-b2
+97
 90
 4e
 65
@@ -6977,7 +6950,7 @@
 60
 02
 a1
-aa
+8f
 12
 03
 b6
@@ -6990,9 +6963,9 @@
 7e
 01
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 f2
@@ -7002,9 +6975,9 @@
 7e
 00
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -7040,9 +7013,9 @@
 7f
 b7
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 f4
@@ -7052,9 +7025,9 @@
 7e
 00
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -7090,9 +7063,9 @@
 7f
 b5
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 f6
@@ -7102,9 +7075,9 @@
 7e
 00
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -7140,9 +7113,9 @@
 7f
 e9
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 f8
@@ -7152,9 +7125,9 @@
 7e
 00
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -7191,9 +7164,9 @@
 94
 0e
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 fa
@@ -7203,9 +7176,9 @@
 7e
 01
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -7242,9 +7215,9 @@
 92
 0e
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 d0
@@ -7254,9 +7227,9 @@
 7e
 02
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -7294,9 +7267,9 @@
 7e
 02
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 d3
@@ -7306,9 +7279,9 @@
 7e
 02
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -7346,7 +7319,7 @@
 7e
 02
 b1
-b3
+98
 80
 70
 eb
@@ -7358,7 +7331,7 @@
 7e
 02
 b1
-b3
+98
 80
 64
 90
@@ -7398,7 +7371,7 @@
 7e
 02
 b1
-b3
+98
 80
 3c
 eb
@@ -7410,7 +7383,7 @@
 7e
 02
 b1
-b3
+98
 80
 30
 90
@@ -7448,7 +7421,7 @@
 7f
 70
 b1
-b3
+98
 80
 0a
 eb
@@ -7460,7 +7433,7 @@
 7e
 00
 b1
-b3
+98
 90
 4d
 e4
@@ -7511,7 +7484,7 @@
 04
 f0
 61
-65
+4a
 22
 ad
 07
@@ -7591,11 +7564,11 @@
 79
 bf
 7d
-43
+44
 7c
 00
 b1
-ce
+b3
 7b
 01
 7a
@@ -7607,7 +7580,7 @@
 7c
 00
 b1
-ce
+b3
 7b
 01
 7a
@@ -7619,7 +7592,7 @@
 7c
 00
 b1
-ce
+b3
 7b
 01
 7a
@@ -7631,7 +7604,7 @@
 7c
 00
 b1
-ce
+b3
 7b
 01
 7a
@@ -7643,7 +7616,7 @@
 7c
 00
 b1
-ce
+b3
 7b
 01
 7a
@@ -7655,7 +7628,7 @@
 7c
 00
 b1
-ce
+b3
 e4
 90
 4d
@@ -7724,76 +7697,20 @@
 22
 90
 4e
-87
-ef
+61
+eb
 f0
 a3
-ed
+ea
 f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-7c
-00
-b1
-ce
-90
-48
-00
-74
-01
-f0
-a3
-e0
-ff
-90
-4e
-87
-e0
-fe
-ef
-4e
-90
-48
-01
-f0
-90
-4e
-88
-e0
-90
-48
-03
-f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-90
-4e
-61
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+a3
+e9
 f0
 a3
 ed
 f0
 f1
-e2
+f7
 ef
 60
 76
@@ -7914,9 +7831,67 @@
 e0
 fd
 f1
-bd
+a3
 22
 90
+4e
+87
+ef
+f0
+a3
+ed
+f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+7c
+00
+b1
+b3
+90
+48
+00
+74
+01
+f0
+a3
+e0
+ff
+90
+4e
+87
+e0
+fe
+ef
+4e
+90
+48
+01
+f0
+90
+4e
+88
+e0
+90
+48
+03
+f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+c1
+69
+90
 4c
 f4
 e0
@@ -7930,10 +7905,9 @@
 ef
 b4
 05
-03
 02
-18
-74
+80
+6d
 90
 4c
 f4
@@ -7947,7 +7921,7 @@
 e4
 fd
 d1
-84
+f3
 90
 4c
 f4
@@ -7971,8 +7945,8 @@
 a3
 e0
 fd
-c1
-84
+80
+8e
 90
 4c
 f4
@@ -7993,7 +7967,7 @@
 e4
 fd
 d1
-84
+f3
 e4
 90
 4c
@@ -8028,7 +8002,7 @@
 e4
 ff
 d1
-84
+f3
 e4
 90
 4c
@@ -8043,34 +8017,81 @@
 f0
 01
 b5
-b1
-fa
+90
+4e
+75
+e4
+f0
+a3
+f0
+a3
+f0
+f1
+df
+50
+26
 12
-1f
-72
+19
+1a
 90
-4c
+4e
+75
 eb
-74
-01
 f0
-90
-4c
-e5
-74
-1e
+a3
+ea
 f0
-e4
+a3
+e9
+f0
+4a
+70
+08
 90
 4c
+b6
+04
 f0
-f0
+02
+17
+d7
 90
-4d
-01
-74
+4e
+75
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+31
+1d
+22
+90
+4b
+9c
+e0
+fe
+a3
+e0
 ff
-f0
+90
+4b
+9a
+e0
+b5
+06
+07
+a3
+e0
+b5
+07
+02
+d3
+22
+c3
 22
 e4
 ff
@@ -8112,7 +8133,7 @@
 7f
 09
 11
-17
+2c
 7f
 01
 80
@@ -8142,14 +8163,14 @@
 60
 02
 01
-bf
+d4
 e4
 90
 4c
 f0
 f0
 11
-c5
+da
 ef
 60
 09
@@ -8177,11 +8198,11 @@
 7e
 3f
 51
-50
+64
 7f
 0a
 31
-61
+76
 90
 4c
 00
@@ -8241,7 +8262,7 @@
 f0
 f0
 11
-c5
+da
 ef
 60
 09
@@ -8440,15 +8461,15 @@
 fe
 0f
 11
-c5
+da
 7f
 0a
 31
-61
+76
 7f
 0a
 01
-17
+2c
 e4
 90
 4c
@@ -8487,33 +8508,32 @@
 24
 d0
 60
-47
+46
 14
 60
-46
+45
 14
 70
 02
 41
-22
+36
 14
 60
 0a
 24
 f7
 60
-3a
+39
 24
 0d
 60
 02
 41
-4f
-71
-f5
-12
-0f
-c5
+63
+91
+0a
+f1
+3a
 7b
 01
 7a
@@ -8529,11 +8549,11 @@
 7e
 3f
 51
-50
+64
 7f
 0a
 31
-61
+76
 90
 4c
 c1
@@ -8552,15 +8572,15 @@
 7e
 3f
 51
-50
+64
 7f
 0a
 31
-61
+76
 c1
-46
+5b
 81
-29
+3e
 90
 4c
 c5
@@ -8571,7 +8591,7 @@
 a3
 f0
 71
-00
+14
 e4
 90
 4c
@@ -8673,14 +8693,14 @@
 60
 09
 71
-00
+14
 90
 4c
 ed
 e0
 ff
 01
-17
+2c
 90
 4c
 ec
@@ -8838,7 +8858,7 @@
 04
 f0
 f1
-21
+5a
 90
 4e
 5e
@@ -8885,7 +8905,7 @@
 7f
 c8
 31
-61
+76
 c2
 01
 7f
@@ -8908,7 +8928,7 @@
 7e
 3f
 71
-48
+5c
 7b
 01
 7a
@@ -8924,7 +8944,7 @@
 7e
 3f
 71
-48
+5c
 d2
 01
 7f
@@ -8935,7 +8955,7 @@
 7f
 0a
 31
-61
+76
 e4
 90
 4c
@@ -8975,8 +8995,8 @@
 e0
 70
 02
-61
-f4
+81
+09
 90
 4e
 20
@@ -9077,12 +9097,13 @@
 a3
 e0
 f9
-f1
-29
+12
+22
+80
 7f
 0a
 31
-61
+76
 90
 4e
 27
@@ -9113,28 +9134,28 @@
 3e
 f0
 61
-5f
+73
 22
 91
-29
+3e
 c2
 06
 7f
 1f
 91
-0d
+22
 c2
 06
 7f
 1d
 91
-0d
+22
 c2
 06
 7f
 1e
 91
-0d
+22
 c2
 06
 7f
@@ -9150,7 +9171,7 @@
 d2
 04
 d1
-7f
+9a
 af
 04
 a2
@@ -9165,7 +9186,7 @@
 c2
 02
 d1
-50
+6b
 22
 90
 80
@@ -9177,7 +9198,7 @@
 a3
 f0
 f1
-02
+1d
 e4
 90
 4e
@@ -9198,7 +9219,7 @@
 c2
 05
 d1
-61
+7c
 90
 4e
 91
@@ -9208,16 +9229,16 @@
 80
 e9
 22
-b1
-ee
+d1
+03
 12
 21
-dd
+69
 12
 0f
-46
+2d
 71
-06
+1a
 12
 06
 cf
@@ -9233,11 +9254,11 @@
 70
 ea
 91
-97
-71
-f7
+ac
+91
+0c
 b1
-e1
+f6
 80
 fe
 90
@@ -9265,13 +9286,13 @@
 60
 04
 f1
-c4
+62
 80
 c6
 91
-97
+ac
 b1
-e1
+f6
 80
 c0
 80
@@ -9367,7 +9388,7 @@
 b0
 12
 23
-7d
+87
 90
 81
 1c
@@ -9393,31 +9414,31 @@
 e4
 ff
 b1
-42
+57
 7f
 01
 b1
-42
+57
 7f
 02
 b1
-42
+57
 7f
 03
 b1
-42
+57
 7f
 04
 b1
-42
+57
 7f
 05
 b1
-42
+57
 7f
 06
 b1
-42
+57
 7f
 07
 80
@@ -9454,7 +9475,7 @@
 ef
 f0
 d1
-01
+16
 92
 08
 90
@@ -9472,7 +9493,7 @@
 70
 02
 a1
-e0
+f5
 ef
 54
 07
@@ -9619,7 +9640,7 @@
 7f
 01
 21
-61
+76
 7b
 01
 7a
@@ -9714,10 +9735,16 @@
 74
 02
 f0
+90
+4c
+f9
+74
+14
+f0
 7f
 08
 01
-17
+2c
 ef
 f4
 60
@@ -9733,7 +9760,7 @@
 92
 00
 d1
-a1
+bc
 22
 ac
 07
@@ -9748,7 +9775,7 @@
 92
 03
 d1
-90
+ab
 af
 04
 a2
@@ -9757,13 +9784,13 @@
 92
 02
 d1
-50
+6b
 af
 04
 c2
 04
 d1
-7f
+9a
 22
 ef
 f4
@@ -9780,7 +9807,7 @@
 92
 00
 d1
-a1
+bc
 22
 ef
 f4
@@ -9797,7 +9824,7 @@
 92
 00
 d1
-a1
+bc
 22
 90
 4e
@@ -9915,7 +9942,7 @@
 c2
 05
 d1
-61
+7c
 90
 4e
 90
@@ -9925,8 +9952,38 @@
 80
 ea
 22
+12
+0d
+df
+12
+1f
+0f
+90
+4c
+eb
+74
+01
+f0
+90
+4c
+e5
+74
+1e
+f0
+e4
+90
+4c
+f0
+f0
+90
+4d
+02
+74
+ff
+f0
+22
 81
-52
+67
 90
 81
 2c
@@ -9936,233 +9993,122 @@
 f9
 22
 90
-4e
-3f
-ee
-f0
-a3
-ef
+0b
+7f
+74
+01
 f0
+e4
 90
-4e
-43
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+0b
+7e
 f0
+22
+12
+07
+96
 90
-4e
-41
-ec
-f0
-a3
-ed
-f0
-a3
+4c
+e4
 e0
-f9
-a3
+04
+f0
+70
+06
+90
+4c
+e3
 e0
-fa
-a3
+04
+f0
+f1
+a9
+12
+1e
+18
+11
+f2
+90
+4c
+ee
 e0
+60
+1c
+e4
 90
-4e
-2c
-c9
-f0
-a3
-ea
-f0
-a3
-e9
+4c
+e3
 f0
 a3
-ec
 f0
-a3
-ed
+90
+4c
+ee
+e0
+14
 f0
-7b
-01
-7a
-0b
-79
-86
+e0
+70
+0c
+7f
+22
+12
+07
+f8
+7f
+0a
+31
+76
 12
+07
+f1
 22
-b0
 90
+4c
+d3
+e0
+60
 0b
-83
+14
+f0
+e0
+70
+06
 74
-a0
+05
 f0
+12
+1f
+d3
+22
 90
 4e
-3f
-e0
-ff
-a3
-e0
-90
-0b
-84
-cf
-f0
-a3
-ef
-f0
-90
-4e
-42
-e0
-24
-03
-fd
-90
-4e
-41
-e0
-34
-00
-fc
-ed
-fa
-ec
-ff
-ea
-fe
-ef
-90
-80
-98
-ee
-f0
-a3
+97
 ef
 f0
+7b
+01
 7a
-0b
+80
 79
-83
-7e
-0b
-7f
-83
-74
-83
-fc
 74
-0b
-ff
-ec
-fe
-ef
-a3
-ee
-f0
-a3
-ef
-f0
-90
-80
-9e
-e4
-f0
-a3
-f0
-90
-80
-90
-04
-f0
+d1
+1c
+92
+09
 90
-80
-06
+4e
+97
 e0
-44
-04
-f0
-e1
-21
-90
-0b
-7f
-74
+ff
+a2
+09
+b3
+92
 01
-f0
-e4
-90
-0b
-7e
-f0
-22
-12
-07
-96
-90
-4c
-e4
-e0
-04
-f0
-70
-06
-90
-4c
-e3
-e0
-04
-f0
-12
-21
-22
-12
-1e
-99
-11
-dd
-90
-4c
-ee
-e0
-60
-1d
-e4
-90
-4c
-e3
-f0
-a3
-f0
-90
-4c
-ee
-e0
-14
-f0
-e0
-70
-0d
-7f
-22
-12
-07
-f8
-7f
-0a
-12
-11
-61
-12
+02
 07
-f1
-22
+84
 90
 4d
 d0
@@ -10196,7 +10142,7 @@
 fc
 12
 0d
-ce
+b3
 7b
 01
 7a
@@ -10207,7 +10153,7 @@
 09
 12
 0e
-bc
+69
 90
 4d
 d0
@@ -10248,7 +10194,7 @@
 fc
 12
 0d
-ce
+b3
 7b
 01
 7a
@@ -10259,7 +10205,7 @@
 09
 12
 0e
-bc
+69
 e4
 90
 4d
@@ -10267,74 +10213,243 @@
 f0
 22
 90
-4e
-75
-e4
-f0
-a3
+4c
+f5
+ed
 f0
 a3
-f0
-51
-b1
-50
-25
-11
-a7
-90
-4e
-75
 eb
 f0
-a3
-ea
-f0
-a3
-e9
-f0
-4a
-70
-07
+ef
+30
+e0
+12
 90
 4c
-b6
+f4
+e0
+b4
+03
 04
+74
+02
 f0
+22
+90
+4c
+f4
+74
 01
-0d
+f0
+22
 90
-4e
-75
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
-12
-09
-1d
+4c
+f4
+74
+04
+f0
 22
 e4
 90
 4e
-12
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
+89
 f0
 a3
+ef
 f0
-a3
+90
+4e
+89
+ed
+f0
+90
+4d
+db
+e0
+64
+01
+60
+02
+21
+14
+ed
+24
+c6
+b4
+0c
+00
+40
+02
+21
+14
+90
+18
+92
+75
+f0
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
+18
+b6
+02
+18
+be
+02
+18
+c6
+02
+18
+ce
+02
+18
+d6
+02
+18
+de
+02
+18
+e6
+02
+18
+ee
+02
+18
+f6
+02
+18
+fe
+02
+19
+06
+02
+19
+0e
+90
+4e
+89
+74
+f1
+f0
+80
+56
+90
+4e
+89
+74
+f6
+f0
+80
+4e
+90
+4e
+89
+74
+f7
+f0
+80
+46
+90
+4e
+89
+74
+f8
+f0
+80
+3e
+90
+4e
+89
+74
+f4
+f0
+80
+36
+90
+4e
+89
+74
+f5
+f0
+80
+2e
+90
+4e
+89
+74
+f2
+f0
+80
+26
+90
+4e
+89
+74
+f3
+f0
+80
+1e
+90
+4e
+89
+74
+d6
+f0
+80
+16
+90
+4e
+89
+74
+fa
+f0
+80
+0e
+90
+4e
+89
+74
+f9
+f0
+80
+06
+90
+4e
+89
+74
+d0
+f0
+90
+4e
+89
+e0
+ff
+22
+e4
+90
+4e
+12
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
 f0
 a3
 f0
@@ -10349,7 +10464,7 @@
 a3
 f0
 91
-f9
+9d
 7a
 4d
 79
@@ -10378,8 +10493,8 @@
 4d
 79
 bc
-51
-f9
+71
+54
 ef
 60
 16
@@ -10391,8 +10506,8 @@
 bc
 7d
 14
-51
-c9
+71
+24
 ef
 70
 09
@@ -10466,8 +10581,8 @@
 f0
 af
 05
-51
-a3
+71
+16
 a3
 e0
 2f
@@ -10501,8 +10616,8 @@
 19
 e0
 ff
-51
-a3
+71
+16
 90
 4e
 1d
@@ -10569,7 +10684,7 @@
 70
 02
 41
-77
+ea
 74
 93
 2f
@@ -10624,9 +10739,9 @@
 70
 04
 41
-6f
+e2
 41
-6f
+e2
 90
 4e
 1c
@@ -10713,8 +10828,8 @@
 21
 93
 fd
-91
-42
+11
+63
 90
 4e
 1b
@@ -10733,7 +10848,7 @@
 e0
 ff
 71
-43
+9e
 80
 07
 90
@@ -10742,7 +10857,7 @@
 e0
 ff
 71
-99
+f4
 90
 4e
 14
@@ -10779,8 +10894,8 @@
 e0
 04
 f0
-21
-97
+41
+0a
 90
 4d
 e4
@@ -10840,30 +10955,6 @@
 06
 22
 90
-4b
-9c
-e0
-fe
-a3
-e0
-ff
-90
-4b
-9a
-e0
-b5
-06
-07
-a3
-e0
-b5
-07
-02
-d3
-22
-c3
-22
-90
 4e
 78
 eb
@@ -11241,196 +11332,13 @@
 a3
 22
 e4
+ff
 90
 4e
-89
+69
 f0
-a3
-ef
-f0
-90
-4e
-89
-ed
-f0
-90
-4d
-db
-e0
-64
-01
-60
-02
-81
-f3
-ed
-24
-c6
-b4
-0c
-00
-40
-02
-81
-f3
-90
-1c
-71
-75
-f0
-03
-a4
-c5
-83
-25
-f0
-c5
-83
-73
-02
-1c
-95
-02
-1c
-9d
-02
-1c
-a5
-02
-1c
-ad
-02
-1c
-b5
-02
-1c
-bd
-02
-1c
-c5
-02
-1c
-cd
-02
-1c
-d5
-02
-1c
-dd
-02
-1c
-e5
-02
-1c
-ed
-90
-4e
-89
-74
-f1
-f0
-80
-56
-90
-4e
-89
-74
-f6
-f0
-80
-4e
-90
-4e
-89
-74
-f7
-f0
-80
-46
-90
-4e
-89
-74
-f8
-f0
-80
-3e
-90
-4e
-89
-74
-f4
-f0
-80
-36
-90
-4e
-89
-74
-f5
-f0
-80
-2e
-90
-4e
-89
-74
-f2
-f0
-80
-26
-90
-4e
-89
-74
-f3
-f0
-80
-1e
-90
-4e
-89
-74
-d6
-f0
-80
-16
-90
-4e
-89
-74
-fa
-f0
-80
-0e
-90
-4e
-89
-74
-f9
-f0
-80
-06
-90
-4e
-89
-74
-d0
-f0
-90
-4e
-89
-e0
-ff
-22
-e4
-ff
-90
-4e
-69
-f0
-fe
-fd
+fe
+fd
 a3
 f0
 a3
@@ -11566,8 +11474,8 @@
 5b
 f0
 0f
-a1
-07
+81
+ab
 e4
 ff
 ef
@@ -11700,7 +11608,7 @@
 f0
 0f
 a1
-8c
+30
 e4
 ff
 ef
@@ -11776,43 +11684,6 @@
 b9
 22
 90
-4c
-f5
-ed
-f0
-a3
-eb
-f0
-ef
-30
-e0
-12
-90
-4c
-f4
-e0
-b4
-03
-04
-74
-02
-f0
-22
-90
-4c
-f4
-74
-01
-f0
-22
-90
-4c
-f4
-74
-04
-f0
-22
-90
 80
 10
 74
@@ -11908,32 +11779,62 @@
 22
 90
 4c
-ea
+f9
 e0
 60
-02
+18
 14
 f0
+e0
+70
+13
 90
 4c
-ef
+c5
 e0
-60
-02
-14
-f0
+b4
+03
+07
+e4
 90
 4c
-e5
-e0
-60
-18
-14
+f9
 f0
-d2
-01
+80
+05
 7f
-1e
+23
+12
+07
+f8
+90
+4c
+ea
+e0
+60
+02
+14
+f0
+90
+4c
+ef
+e0
+60
+02
+14
+f0
+90
+4c
+e5
+e0
+60
+18
+14
+f0
+d2
+01
+7f
+1e
 12
 07
 84
@@ -12026,7 +11927,7 @@
 03
 12
 0e
-bc
+69
 80
 11
 90
@@ -12045,7 +11946,7 @@
 09
 12
 0e
-bc
+69
 90
 4d
 de
@@ -12489,23 +12390,6 @@
 f0
 22
 90
-4c
-d3
-e0
-60
-0a
-14
-f0
-e0
-70
-05
-74
-05
-f0
-11
-36
-22
-90
 4e
 6d
 ee
@@ -12720,7 +12604,7 @@
 7d
 03
 31
-8d
+19
 90
 4e
 7b
@@ -12956,6 +12840,161 @@
 22
 90
 4e
+3f
+ee
+f0
+a3
+ef
+f0
+90
+4e
+43
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+90
+4e
+41
+ec
+f0
+a3
+ed
+f0
+a3
+e0
+f9
+a3
+e0
+fa
+a3
+e0
+90
+4e
+2c
+c9
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+a3
+ec
+f0
+a3
+ed
+f0
+7b
+01
+7a
+0b
+79
+86
+51
+3c
+90
+0b
+83
+74
+a0
+f0
+90
+4e
+3f
+e0
+ff
+a3
+e0
+90
+0b
+84
+cf
+f0
+a3
+ef
+f0
+90
+4e
+42
+e0
+24
+03
+fd
+90
+4e
+41
+e0
+34
+00
+fc
+ed
+fa
+ec
+ff
+ea
+fe
+ef
+90
+80
+98
+ee
+f0
+a3
+ef
+f0
+7a
+0b
+79
+83
+7e
+0b
+7f
+83
+74
+83
+fc
+74
+0b
+ff
+ec
+fe
+ef
+a3
+ee
+f0
+a3
+ef
+f0
+90
+80
+9e
+e4
+f0
+a3
+f0
+90
+80
+90
+04
+f0
+90
+80
+06
+e0
+44
+04
+f0
+02
+17
+5a
+90
+4e
 81
 eb
 f0
@@ -13062,35 +13101,6 @@
 5c
 f0
 22
-90
-4e
-97
-ef
-f0
-7b
-01
-7a
-80
-79
-74
-12
-16
-07
-92
-09
-90
-4e
-97
-e0
-ff
-a2
-09
-b3
-92
-01
-02
-07
-84
 e4
 ff
 ef
@@ -13143,8 +13153,8 @@
 04
 cf
 22
-47
-ae
+fc
+56
 aa
 55
 40
@@ -15174,5 +15184,1201 @@
 6c
 59
 50
-ea
-29
+b9
+60
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+a1
+15
Index: c51/output/fw.hex
===================================================================
--- /YJX_KB_Project/1026_KB/CK8006/c51/output/fw.hex	(revision 210)
+++ /YJX_KB_Project/1026_KB/CK8006/c51/output/fw.hex	(working copy)
@@ -85,7 +85,7 @@
 :10054000054A12054A12054AE473E493A3C583C51C
 :10055000F0C583C8C582C8F0A3C583C5F0C583C8EC
 :10056000C582C8228A838982E473787FE4F6D8FD45
-:100570007581CF0205B102171FE493A3F8E493A39A
+:100570007581CF0205B1021758E493A3F8E493A361
 :100580004003F68001F208DFF48029E493A3F854D5
 :1005900007240CC8C333C4540F4420C8834004F458
 :1005A00056800146F6DFE4800B010204081020406B
@@ -93,8 +93,8 @@
 :1005C00009541FFEE493A360010ECF54C025E060E0
 :1005D000A840B8E493A3FAE493A3F8E493A3C8C5AE
 :1005E00082C8CAC583CAF0A3C8C582C8CAC583CA9F
-:1005F000DFE9DEE780BE524DEEFF1179000000FF1B
-:1006000017D0FF1EDC000000FF1E89001A08090A2F
+:1005F000DFE9DEE780BE524DEEFF118E000000FF06
+:10060000176EFF1E5B000000FF1E08001A08090A93
 :100610000B0C0D0E18191714131211151B1C0000CA
 :100620000048006400E400E03E142B04291D8B35D3
 :100630001E1A3916641B8A3A1F083C073D06883B80
@@ -119,8 +119,8 @@
 :100760001DF184E4904CE7F0904CB7E0904DD9F047
 :1007700022C2017F1FF184C2017F1D8007C2017F59
 :100780001FF18422EFF4600D7B017A807974A2015D
-:1007900092001216A122904DE1E064027052904C3A
-:1007A000EEE060057F1E122360D1C2EF6042904CE4
+:1007900092001216BC22904DE1E064027052904C1F
+:1007A000EEE060057F1E1217BBD1C2EF6042904C95
 :1007B000E6E0601614F0D2017F1FF184904CE6E071
 :1007C000700EC2017F1FF1848006C2017F1FF18479
 :1007D000904CE7E0601414F0D2017F1DF184904C3E
@@ -131,7 +131,7 @@
 :10082000904E46EBF0A3EAF0A3E9F0A3EDF0904B75
 :100830009CE0FFA3E0904E4ACFF0A3EFF0904B9ADC
 :10084000E0FEA3E0FF904B9CE0FCA3E0FD7B641284
-:100850002133904E49E0FEEFC39E40E1904E49E0C7
+:1008500020BF904E49E0FEEFC39E40E1904E49E03C
 :10086000FF14F0EF603F904E46E0FBA3E475F0010B
 :10087000120424A9F0FA1203B6FF904E4AE475F070
 :100880000112042485F082F583EFF0904E4AE0FED9
@@ -150,424 +150,424 @@
 :1009500000E92FF9EE3AFA1203B6B4AF06904DDB78
 :100960007401F0904E56E004F080CA904DDBE090A8
 :100970004DE0F0904E52E0A3E0FAA3E04A7002612D
-:1009800055904DDE740AF0E4904CE3F0A3F07B0147
-:100990007A4879007D09FCB1CE7B017A4D79E57DFD
-:1009A000097C00B1CE904E52E0FBA3E0FAA3E0F93F
-:1009B0009000011203CFFFB4140A9000021203CF7B
-:1009C0006429600FEF642970369000021203CF642F
-:1009D00014702C904BEB7420F0A37415F0A37410DA
-:1009E000F0A37405F0904CC5E064016009904CCE12
-:1009F000E04410F08010904CCEE054EFF08007906F
-:100A00004CCEE054EFF0904CB67401F0904CF4E012
-:100A1000FF640170026155EF640470026155EF6478
-:100A20000270026155904CC5E064037045904E56CB
-:100A3000F0904E56E0FFC394055037904E52E0FBC5
-:100A4000A3E0FAA3E02401F9E43AFA7E00E92FF9E1
-:100A5000EE3AFA1203B6FF64396009EF645360049A
-:100A6000EFB44706904DD07401F0904E56E004F07C
-:100A700080BF904E52E0FBA3E0FAA3E0F9715690DC
-:100A80004DE4E0B401117402F0904DE5F07B017A81
-:100A90004D79E57D03C1BC904DE4E0B40316E4F06C
-:100AA000904DE3F0904DE57402F07B017A4D79E5CD
-:100AB0007D03C1BC9048007401F0904E52E0FBA34E
-:100AC000E0FAA3E0F91203B6904801F0E4A3F09035
-:100AD0004DD8F09000011203CFB4AF1E7E487F03C3
-:100AE000904E52E0FBA3E0FAA3E02402F9E43AFAC4
-:100AF000904E517405F011DA801C7E487F03904EB1
-:100B000052E0FBA3E0FAA3E02401F9E43AFA904EA4
-:100B1000517406F011DA904E567403F0904E56E080
-:100B2000FFC39409502574002FF582E43448F583FF
-:100B3000E0B4AF0F904E56E02400F582E43448F55F
-:100B400083E4F0904E56E004F080D17B017A48793E
-:100B5000007D09D1BC22904E65EBF0A3EAF0A3E939
-:100B6000F0E4A3F0F0904E68E0FFC394064002A1C9
-:100B7000B2904E65E0FBA3E0FAA3E02401F9E43A69
-:100B8000FA7E00E92FF9EE3AFA1203B6FF54F06448
-:100B9000F06009EF54D064D06002A1AA1203B6FB42
-:100BA000B4F1087F837E01B1B3A17FEBB4F2087F7B
-:100BB000CD7E00B1B3A17F904E65E0FBA3E0FAA328
-:100BC000E02401F9E43AFAA3E07E0029F9EE3AFACA
-:100BD0001203B6FBB4F3067FB7B1B3A17FEBB4F455
-:100BE000087FB67E00B1B3A17F904E65E0FBA3E025
-:100BF000FAA3E02401F9E43AFAA3E07E0029F9EE31
-:100C00003AFA1203B6FBB4F5067FB5B1B3A17FEB98
-:100C1000B4F6087FEA7E00B1B3A17F904E65E0FB99
-:100C2000A3E0FAA3E02401F9E43AFAA3E07E002964
-:100C3000F9EE3AFA1203B6FBB4F7067FE9B1B3A1B5
-:100C40007FEBB4F8087FE27E00B1B3A17F904E65E0
-:100C5000E0FBA3E0FAA3E02401F9E43AFAA3E07E82
-:100C60000029F9EE3AFA1203B6FBB4F9077F940EA5
-:100C7000B1B3A17FEBB4FA087F8A7E01B1B3A17F43
-:100C8000904E65E0FBA3E0FAA3E02401F9E43AFA10
-:100C9000A3E07E0029F9EE3AFA1203B6FBB4FB0793
-:100CA0007F920EB1B3A17FEBB4D0087F2A7E02B150
-:100CB000B3A17F904E65E0FBA3E0FAA3E02401F925
-:100CC000E43AFAA3E07E0029F9EE3AFA1203B6FB01
-:100CD000B4D1087F257E02B1B3A17FEBB4D3087FE6
-:100CE000267E02B1B3A17F904E65E0FBA3E0FAA39C
-:100CF000E02401F9E43AFAA3E07E0029F9EE3AFA99
-:100D00001203B6FBB4D2087F247E02B1B38070EB2D
-:100D1000B4D4087F277E02B1B38064904E65E0FBB7
-:100D2000A3E0FAA3E02401F9E43AFAA3E07E002963
-:100D3000F9EE3AFA1203B6FBB4D5087F217E02B170
-:100D4000B3803CEBB4D6087F237E02B1B3803090F1
-:100D50004E65E0FBA3E0FAA3E02401F9E43AFAA32C
-:100D6000E07E0029F9EE3AFA1203B6FBB4D7067F0B
-:100D700070B1B3800AEBB4D8067F6F7E00B1B39038
-:100D80004DE4E0B40224904E65E0FBA3E0FAA3E05A
-:100D90002401F9E43AFAA3E07E0029F9EE3AFA12C6
-:100DA00003B6904DE3F0E41203FC904E68E004F0CB
-:100DB000616522AD07AC06904DE4E06402600E74FC
-:100DC00001F0904DE504F0EFA3F0EEA3F022904E79
-:100DD0007EEBF0A3EAF0A3E9F0ED1DAE0470011C78
-:100DE0004E6016904E7EE0FBA3E475F001120424E1
-:100DF000A9F0FAE41203FC80E0227B017A4C79BF6F
-:100E00007D437C00B1CE7B017A4D79937D147C00CB
-:100E1000B1CE7B017A4D79A87D147C00B1CE7B01E7
-:100E20007A4D79BC7D147C00B1CE7B017A48790083
-:100E30007D097C00B1CE7B017A4D79E57D097C008E
-:100E4000B1CEE4904DDEF0904DE2F0904DE1F090A7
-:100E50004DD6F0904DD0F0904DDCF0904DE4F090F8
-:100E60004DD5F0904DD8F0904DDBF0904DE0F090E6
-:100E70004DD3F0904DDFF0904DE3F0904DD9F090D0
-:100E80004D38F022904E87EFF0A3EDF07B017A48C9
-:100E900079007D097C00B1CE9048007401F0A3E098
-:100EA000FF904E87E0FEEF4E904801F0904E88E0B4
-:100EB000904803F07B017A4879007D09904E61EB00
-:100EC000F0A3EAF0A3E9F0A3EDF0F1E2EF60769091
-:100ED0004CEBE07070904CC5E064037068904E611C
-:100EE000E0FBA3E0FAA3E0F91203B6FF6401702E61
-:100EF0009000011203CF701E9000031203CF7016F2
-:100F00009000041203CF700E9000051203CF7006FC
-:100F1000904DD6F08028904DD67401F08020EFB42B
-:100F2000021C9000011203CF700E9000021203CF3A
-:100F30007006904DD6F08006904DD67401F0904E1C
-:100F400064E0FDF1BD22904CF4E0FF6008640360B2
-:100F500004EFB40503021874904CF4E0B4010EA33E
-:100F6000E0FFE4FDD184904CF47402F022904CF444
-:100F7000E0B4020B7403F0A3E0FFA3E0FDC1849092
-:100F80004CF4E0B4041AE4904CF6F0904CF5E0FF19
-:100F9000E4FDD184E4904CF5F0904CF47405F0221B
-:100FA000904CF4E0B40615E4904CF6F0904CF5F05B
-:100FB000A3E0FDE4FFD184E4904CF4F022900BE731
-:100FC0007406F001B5B1FA121F72904CEB7401F087
-:100FD000904CE5741EF0E4904CF0F0904D0174FFDD
-:100FE000F022E4FF904CEEE0600122904CC5E064FA
-:100FF00003601C904CEFE0701D740AF0A3E07016C3
-:10100000904DE1E0B4020F7F0911177F018007E4E2
-:10101000904CEBF07F0122904E8FEFF024F76009A7
-:101020001460622402600201BFE4904CF0F011C52C
-:10103000EF6009904E8FE0904CEDF0227B017A4CEE
-:1010400079007D047C007FF27E3F51507F0A316140
-:10105000904C00E0B4FF1BA3E0B4FF16A3E0B4FF84
-:1010600011A3E0B4FF0C904C00740FF0A3F0A3F0B8
-:10107000A3F07F211207F8904CC57402F0E4A3F0AE
-:10108000904CEDF022E4904CF0F011C5EF60099027
-:101090004E8FE0904CEDF022904CC5E06401601959
-:1010A0007F231207F8904CC57401F0E4A3F0904C34
-:1010B000EE74F0F0E4904CE9F0E4904CEDF022E4B2
-:1010C000904CEDF022904CC5E0FF64036004EFB457
-:1010D00002087F221207F87F01227F0022904CCE67
-:1010E000E030E13E904CD0E0C394FA5003E004F0CD
-:1010F000904CD0E064B4702F904DDCE004F0E0D36D
-:1011000094025007E4904CD0F0801C904DDCE0B489
-:101110000315904DD57401F0E4904CD0F01207F116
-:101120008005E4904DDCF0904CCEE030E42D904C06
-:10113000EA740AF0904CD1E0C394FA5003E004F052
-:10114000904CD1E0B40619904CC3E0FF6003B4FEAC
-:101150000F11C57F0A31617F0A0117E4904CD1F06D
-:1011600022EFD394004011E4FDFC0DBD00010CBC46
-:1011700004F8BDA6F51F80E922904E93EFF024D02D
-:101180006047146046147002412214600A24F7601C
-:101190003A240D6002414F71F5120FC57B017A4C64
-:1011A00079007D047C007FF27E3F51507F0A3161DF
-:1011B000904CC1E0F97A007B007D017C007FF87ED5
-:1011C0003F51507F0A3161C1468129904CC574035B
-:1011D000F0E4A3F07100E4904CEEF0904CEBF09052
-:1011E0004CC074FEF0904CC3F0904E93E0643170AC
-:1011F00024904CE5741EF0904BEBE0B40F10A3E08C
-:10120000B40F0BA3E0B40F06A3E0640F6041904C51
-:10121000BF7401F022904CE5E07034C2017F1E02E1
-:101220000784E4904CC5F0A3F0904CE3F0A3F09059
-:101230004CEB04F0904CEDE060097100904CEDE057
-:10124000FF0117904CECE0B40105E4F01207F12225
-:10125000904E5CECF0A3EDF0A3EBF0A3EAF0A3E971
-:10126000F09080987404F0A3E4F0900CAF74A0F0B8
-:10127000A3EEF0A3EFF0900CB274A1F07A0C79AF6A
-:101280007E0C7FAF74AFFC740CFFECFEEF90809A85
-:10129000EEF0A3EFF0904E5CE0FCA3E0FAECFFEA86
-:1012A000FEEF90809EEEF0A3EFF07A0B79837E0B39
-:1012B0007F837483FC740BFFECFEEF90809CEEF058
-:1012C000A3EFF09080907402F090809CA3E020E760
-:1012D00007908090E04401F0908006E04404F0F133
-:1012E00021904E5EE0A3E0FAA3E0AE02FF7B017A1C
-:1012F0000B7983904E5CE0A3E0904E51F00208DA47
-:10130000E4904CF0F022904CBFE0603B7FC831612C
-:10131000C2017FFF1207847B017A4C79007D047C37
-:10132000007FF27E3F71487B017A4C79C17D017C60
-:10133000007FF87E3F7148D2017FFF1207847F0A49
-:101340003161E4904CBFF022904E20EEF0A3EFF01C
-:10135000A3ECF0A3EDF0A3EBF0A3EAF0A3E9F09087
-:101360004E22E07002A3E0700261F4904E20E0FE95
-:10137000A3E0FF440F2401FDE43EFCC3ED9FFFEC1E
-:101380009EFE904E27F0A3EFF0904E22E0FCA3E0EB
-:10139000FDD39FEC9E400A904E27E0FEA3E0FF8025
-:1013A00004AE04AF05904E27EEF0FCA3EFF0FDC3B2
-:1013B000904E23E09DF0904E22E09CF0904E20E075
-:1013C000FEA3E0FF904E24E0FBA3E0FAA3E0F9F1D6
-:1013D000297F0A3161904E27E0FEA3E0FF904E2561
-:1013E000EE8FF012040E904E21E02FF0904E20E090
-:1013F0003EF0615F229129C2067F1F910DC2067FD8
-:101400001D910DC2067F1E910DC2067F1EAC07EC1A
-:10141000F46015AF04D204D17FAF04A2069201128A
-:101420000784AF04C202D15022908080E4F0A3F080
-:10143000A3F0F102E4904E91F0F0904E91E090060E
-:101440000C93FF600CC205D161904E91E004F080D6
-:10145000E922B1EE1221DD120F4671061206CF907D
-:101460000B7EE014600C24FE70EA919771F7B1E1F5
-:1014700080FE904CEAE07012904CECE0700C904CC6
-:10148000E5E07006904CF8E06004F1C480C69197E6
-:10149000B1E180C080BE22E4FF904E92F0FEFDEFED
-:1014A00090060C936049EF93FD131313541FFEED48
-:1014B0005407FD7401A805088002C333D8FCFDEE73
-:1014C0002478FBE434808B82F583E0FCEDF4FBECC4
-:1014D0005BF0EE2470F582E43480F583E04DF0EEAD
-:1014E0002474F582E43480F583E05BF00F80B01261
-:1014F000237D90811CE0904E92F0904CD5E06402E8
-:101500006036904DD5E06020E4FFB1427F01B142EA
-:101510007F02B1427F03B1427F04B1427F05B142F5
-:101520007F06B1427F07801A904E92E0FF9000A3A1
-:10153000F0EFF49000A7F022E49000A3F09000A751
-:10154000F022904E96EFF0D1019208904E96E0FF77
-:10155000A208B39207EFF47002A1E0EF5407FEEF88
-:101560001313135403FF30074324A3F582E434001C
-:10157000F583C083C082E0FD7401A806088002C321
-:1015800033D8FCF45DD082D083F074A72FF582E4C9
-:101590003400F583C083C082E0FF7401A806088090
-:1015A00002C333D8FC4FD082D083F02274A32FF52E
-:1015B00082E43400F583C083C082E0FD7401A80694
-:1015C000088002C333D8FCFC4DD082D083F074A7CE
-:1015D0002FF582E43400F583E0FFECF4FEEF5EF0DB
-:1015E00022E4900B7FF0900B7EF07F0121617B0164
-:1015F0007A4D79EE78007C4E7D017E007F120203E9
-:10160000907B017A81791CAD07E4904E95F0FEEF56
-:101610005407F0EF1313135403FEF5827583001281
-:1016200003CFFD3395E0FC904E95E0FF74017E0002
-:10163000A807088005C333CE33CED8F9FFEE5CFE91
-:10164000EF5D4E24FF22904DE17402F07F080117F8
-:10165000EFF4600C7B017A807978A2029200D1A12C
-:1016600022AC07ECF46017AF04A2059203D190AF4F
-:1016700004A205B39202D150AF04C204D17F22EF7D
-:10168000F4600C7B017A807970A2049200D1A122CF
-:10169000EFF4600C7B017A80797CA2039200D1A1E7
-:1016A00022904E84EBF0A3EAF0A3E9F0E4FEFDEF14
-:1016B0005407FEEF1313135403FD300022904E84A1
-:1016C000E0FBA3E0FAA3E02DF9E43AFA1203B6FF37
-:1016D0007401A806088002C333D8FC4F0203FC90B3
-:1016E0004E84E0FBA3E0FAA3E02DF9E43AFA1203FA
-:1016F000B6FF7401A806088002C333D8FCF45F0269
-:1017000003FCE4904E90F0F0904E90E0FFC39408FC
-:10171000500CC205D161904E90E004F080EA228125
-:101720005290812CE030E5F922904E3FEEF0A3EF8D
-:10173000F0904E43EBF0A3EAF0A3E9F0904E41ECB9
-:10174000F0A3EDF0A3E0F9A3E0FAA3E0904E2CC9DA
-:10175000F0A3EAF0A3E9F0A3ECF0A3EDF07B017AAB
-:101760000B79861222B0900B8374A0F0904E3FE06C
-:10177000FFA3E0900B84CFF0A3EFF0904E42E02463
-:1017800003FD904E41E03400FCEDFAECFFEAFEEF81
-:10179000908098EEF0A3EFF07A0B79837E0B7F8335
-:1017A0007483FC740BFFECFEEFA3EEF0A3EFF0905C
-:1017B000809EE4F0A3F090809004F0908006E044D6
-:1017C00004F0E121900B7F7401F0E4900B7EF02295
-:1017D000120796904CE4E004F07006904CE3E004AD
-:1017E000F0122122121E9911DD904CEEE0601DE4F2
-:1017F000904CE3F0A3F0904CEEE014F0E0700D7F1D
-:10180000221207F87F0A1211611207F122904DD0BF
-:10181000E064017031904DD6E0702B904CC5E064CF
-:101820000370507B017A4879007D09FC120DCE7B54
-:10183000017A4879007D09120EBC904DD07402F0F7
-:10184000E4904DE4F022904DD0E0B40226904DD6C5
-:10185000E07020904DD0F07B017A4879007D09FC42
-:10186000120DCE7B017A4879007D09120EBCE490FE
-:101870004DE4F022904E75E4F0A3F0A3F051B15086
-:101880002511A7904E75EBF0A3EAF0A3E9F04A709A
-:1018900007904CB604F0010D904E75E0FBA3E0FA02
-:1018A000A3E0F912091D22E4904E12F0A3F0A3F078
-:1018B000A3F0A3F0A3F0A3F0A3F0A3F0A3F0A3F090
-:1018C000A3F0A3F0A3F091F97A4D79A8904E3B7460
-:1018D00001F0A3744DF0A374A8F0A37414F07B017D
-:1018E0007A4D79BC51F9EF60167B017A4D79BC7D58
-:1018F0001451C9EF7009904CCEE04402F0800C9076
-:101900004CCEE054FDF0E4904CD0F0E4904E12F058
-:10191000904E12E0FF90060C93602F74BC2FF5825E
-:10192000E4344DF583E0904E14F0E0FD6014904EE9
-:1019300018E004F0A3E0FEED4EF0AF0551A3A3E0E4
-:101940002FF0904E12E004F080C6904E1AE0904EB8
-:101950001FF0904E18E0904E1EF0904E19E0FF518F
-:10196000A3904E1DEFF0904E1FE0FFD39402401D58
-:10197000904E1DE0FEA3E0FDD39E4004AE05800026
-:10198000EFD39E4008904E1C7401F08005E4904E09
-:101990001CF0E4904E12F0904E12E0FF90060C9373
-:1019A0007002417774932FF582E4344DF583E0FEA5
-:1019B00074BC2FF582E4344DF583E06E904E14F044
-:1019C000904E12E0FF24BCF582E4344DF583E090A4
-:1019D0004E17F0904E14E07004416F416F904E1C12
-:1019E000E060077B007A0079002274BC2FF582E466
-:1019F000344DF583E0FE74932FF582E4344DF58386
-:101A0000EEF0E4904E13F0904E13E0FFC3940850B4
-:101A100058A3E030E03B904E12E0FE33333354F8ED
-:101A2000FEEF4E904E16F0A3E0FF904E16E09006AB
-:101A30002193FD9142904E1BEFF0904E17E030E065
-:101A400009904E1BE0FF71438007904E1BE0FF7131
-:101A500099904E14E0FFC313F0904E17E0FFC313AC
-:101A6000F0904E13E004F0809E904E157401F090BB
-:101A70004E12E004F02197904DE4E0B4030A904D3B
-:101A8000D8E0B401037402F0904E15E07007904D59
-:101A9000D8E0B402077B017A4E7931227B007A00CC
-:101AA000790022E4FEEF6006145FFF0E80F7AF06B8
-:101AB00022904B9CE0FEA3E0FF904B9AE0B5060716
-:101AC000A3E0B50702D322C322904E78EBF0A3EA3D
-:101AD000F0A3E9F0E4FFEFC39D501B904E78E0FBCC
-:101AE000A3E0FAA3E0F98F827583001203CF6003AD
-:101AF0007F00220F80E07F0122904E38EBF0A3EAB6
-:101B0000F0A3E9F0E4FF904E3EE0FEEFC39E5030BC
-:101B1000904E3BE0FBA3E0FAA3E0F98F82758300CF
-:101B20001203CFFE904E38E0FBA3E0FAA3E0F98F5A
-:101B3000827583001203CF6E60037F00220F80C680
-:101B40007F0122E4FEEFC394E04020EFD394E750FE
-:101B50001A904E31E0FEEF5407FF7401A807088089
-:101B600002C333D8FC4E904E31F022E4FE74322E84
-:101B7000F582E4344EF583E0FD6F601CED70149047
-:101B80004DE3E06F601274322EF582E4344EF5833B
-:101B9000EFF0220EEEB406D522E4FEFDEF54F06421
-:101BA000F06007EF54D0FCBCD00C904DE4E0B402E0
-:101BB0000B7403F08006904DD87401F0EFC394E0ED
-:101BC0004020EFD394E7501A904E31E0FEEF5407D7
-:101BD000FF74FEA807088002C333D8FC5E904E3124
-:101BE000F022E4FEED702174322EF582E4344EF5DD
-:101BF00083E06F7047EEB4050B2432F582E4344E77
-:101C0000F583E4F07D01803474322EF582E4344EA5
-:101C1000F583E0FC74312EF582E4344EF583ECF06C
-:101C200074322EF582E4344EF583E06014EEB40590
-:101C30000B2432F582E4344EF583E4F00EEEB40664
-:101C4000A322E4904E89F0A3EFF0904E89EDF0903E
-:101C50004DDBE06401600281F3ED24C6B40C00406A
-:101C60000281F3901C7175F003A4C58325F0C58330
-:101C700073021C95021C9D021CA5021CAD021CB522
-:101C8000021CBD021CC5021CCD021CD5021CDD02BB
-:101C90001CE5021CED904E8974F1F08056904E893F
-:101CA00074F6F0804E904E8974F7F08046904E891D
-:101CB00074F8F0803E904E8974F4F08036904E892E
-:101CC00074F5F0802E904E8974F2F08026904E8943
-:101CD00074F3F0801E904E8974D6F08016904E8971
-:101CE00074FAF0800E904E8974F9F08006904E8957
-:101CF00074D0F0904E89E0FF22E4FF904E69F0FE30
-:101D0000FDA3F0A3F0A3F0EF90060C93607CEF939B
-:101D1000FD131313541FFEED5407FD7401A80508AD
-:101D20008002C333D8FCFDEE2478FBE434808B8240
-:101D3000F583E0FCEDF4FBEC5BF0EE2470F582E45F
-:101D40003480F583E04DF0EE2474F582E43480F5C0
-:101D500083E05BF090811CE0F4FC74BC2FF582E41E
-:101D6000344DF583ECF0EE2478FBE434808B82F57F
-:101D700083E04DF0EE2470FBE434808B82F583E049
-:101D8000FCEDF4FBEC5BF00FA107E4FFEF90060C19
-:101D900093607CEF93FD131313541FFEED5407FD66
-:101DA0007401A805088002C333D8FCFDEE2478FB3B
-:101DB000E434808B82F583E0FCEDF4FBEC5BF0EE29
-:101DC0002470F582E43480F583E04DF0EE2474F560
-:101DD00082E43480F583E05BF090811CE0F4FC74D5
-:101DE000A82FF582E4344DF583ECF0EE2478FBE483
-:101DF00034808B82F583E04DF0EE2470FBE4348078
-:101E00008B82F583E0FCEDF4FBEC5BF00FA18CE43E
-:101E1000FFEF90060C93604074BC2FF582E4344DC4
-:101E2000F583E0FE74A82FF582E4344DF583E06E6F
-:101E3000602374BC2FF582E4344DF583C083C082E7
-:101E4000E0FE74A82FF582E4344DF583E0FDEE5DED
-:101E5000D082D083F00F80B922904CF5EDF0A3EB47
-:101E6000F0EF30E012904CF4E0B403047402F0227E
-:101E7000904CF47401F022904CF47404F0229080A1
-:101E8000107401F080FE2280F5904E8BEDF09000F2
-:101E9000011203CF904E8CF022904CC5E0B4031198
-:101EA000904CE3E0640E7004A3E06410702D020710
-:101EB000F1904CC5E0B40114904CE3E07004A3E051
-:101EC000642870177F221207F80207F1904CE3E0B4
-:101ED0007004A3E0641470031207F122904CEAE04E
-:101EE000600214F0904CEFE0600214F0904CE5E0DA
-:101EF000601814F0D2017F1E120784904CE5E07048
-:101F000034C2017F1E120784802B904CEEE07025B6
-:101F1000904CE2E0601F14F0E030E109D2017F1E36
-:101F20001207848007C2017F1E120784904CE2E0F2
-:101F300070037404F0904DD5E0702D904DD6E064A0
-:101F4000017025F0904DE5E0600D7B017A4D79E55B
-:101F50007D03120EBC8011904800E0600B7B017A7B
-:101F60004879007D09120EBC904DDEE06003E0145C
-:101F7000F022904CD37405F0E4A3F0904C907437A9
-:101F8000F0E4FFEF25E024D6F582E4344CF58374C9
-:101F900062F0A3F00FEFB404EA904C91E0FEA3E0EE
-:101FA000FFC3904C94E09FFD904C93E09EFCE412A4
-:101FB00002067BC37AF579A8783E1200FBC004C004
-:101FC00005C006C007904C91E0FCA3E0FDE41202BE
-:101FD00006D003D002D001D00012000A12023F90B6
-:101FE0004CDEEEF0A3EFF0904C91E0FEA3E0FFC3D7
-:101FF000904C94E09FFD904C93E09EFCE41202060E
-:102000007B5C7A8F7942783E1200FBC004C005C029
-:1020100006C007904C91E0FCA3E0FDE4120206D05C
-:1020200003D002D001D00012000A12023F904CE00F
-:10203000EEF0A3EFF022904E58120533000000009E
-:10204000904C95E0FEA3E0FF904CD4E0FD04F0ED51
-:1020500025E024D6F582E4344CF583EEF0A3EFF0CE
-:10206000904CD4E0C394044002E4F0E4904E57F066
-:10207000904E58E0F8A3E0F9A3E0FAA3E0FB904EFD
-:1020800057E025E024D6F582E4344CF583E0FEA346
-:10209000E0FFE4FCFDEB2FFFEA3EFEED39FDEC38FE
-:1020A000FC904E58120527904E57E004F0E0B4041F
-:1020B000BF904E58E0FCA3E0FDA3E0FEA3E0FFE4E8
-:1020C0007B04FAF9F8120476904E58120527904CCA
-:1020D000E0E0FEA3E0FFC3904CD7E09F904CD6E039
-:1020E0009E5007904CD57402F022904CDEE0FEA387
-:1020F000E0FFE4FCFD904E58E0F8A3E0F9A3E0FA1D
-:10210000A3E0FBC3120516500D904CD57401F0905E
-:102110004D3F7412F022E4904CD5F0904D3F745D29
-:10212000F022904CD3E0600A14F0E070057405F0E2
-:10213000113622904E6DEEF0A3EFF0904E6FECF062
-:10214000A3EDF0904E6FE0FEA3E0FFD3904E6EE063
-:102150009F904E6DE09E4016904E6FE0FEA3E0FF14
-:10216000904E6EE09FFF904E6DE09EFE801E904E62
-:102170006DE0FEA3E0FFC3904E70E09FFF904E6FB6
-:10218000E09EFEAD03C3EB9FFFE49EFE22904E8DCA
-:10219000EEF0A3EFF0A905904B9EE0FEA3E0FFADAB
-:1021A0000119ED602F0FEFAC0670010E14F5828C53
-:1021B00083E0FD904E8DE475F00112042485F082D9
-:1021C000F583EDF0AD07AC06BC4BD4BD9AD17E4B88
-:1021D0007F3680CB904B9EEEF0A3EFF0227A0C7905
-:1021E0004B904E7B7401F0A3740CF0A3744BF090F1
-:1021F0004BA0E0FEA3E0FF904B9EE06E7003A3E0D7
-:102200006F60467E0C7F4B7D03318D904E7BE0FBF3
-:10221000A3E0FAA3E0F91203B6B4022B904E7CE4DB
-:1022200075F00212040E904E7BE0FBA3E0FAA3E0EF
-:10223000F91203B6FF904E00E0A3E0FAA3E0F582A6
-:102240008A83120568800280FE904BA5E0FEA3E021
-:10225000FF904C5EE06E7003A3E06F6022904E062C
-:10226000E0FBA3E0FAA3E0F94A6037120564904B63
-:10227000A5E0FFA3E0904C5ECFF0A3EFF080CA9002
-:102280004C8DE0FFA3E06F6019904E09E0FBA3E0E6
-:10229000FAA3E0F94A600B120564904C8DE0A3F0BC
-:1022A00080DD22900446E0FF229082807401F022BB
-:1022B000904E29EBF0A3EAF0A3E9F0904E2F74FFC3
-:1022C000F5F012042445F0602A904E2CE0FBA3E4C4
-:1022D00075F001120424A9F0FA1203B6FF904E29FA
-:1022E000E0FBA3E475F001120424A9F0FAEF120355
-:1022F000FC80C822904E81EBF0A3EAF0A3E9F0ED58
-:102300001DAE0470011C4E6017904E81E0FBA3E4EB
-:1023100075F001120424A9F0FA74FF1203FC80DFA7
-:1023200022EFF4603AEF5407FEEF1313135403FF48
-:1023300024A3F582E43400F583C083C082E0FD74F9
-:1023400001A806088002C333D8FCF4FC5DD082D01B
-:1023500083F074A72FF582E43400F583E05CF0226B
-:10236000904E97EFF07B017A8079741216079209EC
-:10237000904E97E0FFA209B39201020784E4FFEFB9
-:10238000FD7C002478FBEC34808B82F583E0FEED4D
-:102390002470FDEC34808D82F583E04EF4FEEF2452
-:1023A0007CFDEC34808D82F583EEF00FEFB404CF2A
-:0123B000220A
+:100980003A904DDE740AF0E4904CE3F0A3F07B0162
+:100990007A4879007D09FCB1B37B017A4D79E57D18
+:1009A000097C00B1B3904E52E0FBA3E0FAA3E0F95A
+:1009B0009000011203CF646470317B017A487900A2
+:1009C0007D09FCB1B39048007401F0904803E04405
+:1009D000E2F0A3E04459F0A3E0445AF0A3E04460FD
+:1009E000F07B017A4879007D09C169904CB67401A9
+:1009F000F0904CF4E0FF64017002613AEF6404701F
+:100A000002613AEF64027002613A904CC5E06403FF
+:100A10007045904E56F0904E56E0FFC39405503707
+:100A2000904E52E0FBA3E0FAA3E02401F9E43AFA85
+:100A30007E00E92FF9EE3AFA1203B6FF6439600935
+:100A4000EF64536004EFB44706904DD07401F0900A
+:100A50004E56E004F080BF904E52E0FBA3E0FAA3B4
+:100A6000E0F9713B904DE4E0B401117402F0904D57
+:100A7000E5F07B017A4D79E57D03C169904DE4E0B5
+:100A8000B40316E4F0904DE3F0904DE57402F07B72
+:100A9000017A4D79E57D03C1699048007401F090B9
+:100AA0004E52E0FBA3E0FAA3E0F91203B69048012E
+:100AB000F0E4A3F0904DD8F09000011203CFB4AF52
+:100AC0001E7E487F03904E52E0FBA3E0FAA3E02491
+:100AD00002F9E43AFA904E517405F011DA801C7E66
+:100AE000487F03904E52E0FBA3E0FAA3E02401F913
+:100AF000E43AFA904E517406F011DA904E567403AF
+:100B0000F0904E56E0FFC39409502574002FF582F3
+:100B1000E43448F583E0B4AF0F904E56E02400F57E
+:100B200082E43448F583E4F0904E56E004F080D13E
+:100B30007B017A4879007D09D16922904E65EBF0FE
+:100B4000A3EAF0A3E9F0E4A3F0F0904E68E0FFC35D
+:100B500094064002A197904E65E0FBA3E0FAA3E063
+:100B60002401F9E43AFA7E00E92FF9EE3AFA120389
+:100B7000B6FF54F064F06009EF54D064D06002A175
+:100B80008F1203B6FBB4F1087F837E01B198A16494
+:100B9000EBB4F2087FCD7E00B198A164904E65E081
+:100BA000FBA3E0FAA3E02401F9E43AFAA3E07E0013
+:100BB00029F9EE3AFA1203B6FBB4F3067FB7B198FF
+:100BC000A164EBB4F4087FB67E00B198A164904EA6
+:100BD00065E0FBA3E0FAA3E02401F9E43AFAA3E01C
+:100BE0007E0029F9EE3AFA1203B6FBB4F5067FB59A
+:100BF000B198A164EBB4F6087FEA7E00B198A164D5
+:100C0000904E65E0FBA3E0FAA3E02401F9E43AFA90
+:100C1000A3E07E0029F9EE3AFA1203B6FBB4F70618
+:100C20007FE9B198A164EBB4F8087FE27E00B19847
+:100C3000A164904E65E0FBA3E0FAA3E02401F9E48F
+:100C40003AFAA3E07E0029F9EE3AFA1203B6FBB4B1
+:100C5000F9077F940EB198A164EBB4FA087F8A7EFD
+:100C600001B198A164904E65E0FBA3E0FAA3E024F3
+:100C700001F9E43AFAA3E07E0029F9EE3AFA120308
+:100C8000B6FBB4FB077F920EB198A164EBB4D00819
+:100C90007F2A7E02B198A164904E65E0FBA3E0FA42
+:100CA000A3E02401F9E43AFAA3E07E0029F9EE3A40
+:100CB000FA1203B6FBB4D1087F257E02B198A16475
+:100CC000EBB4D3087F267E02B198A164904E65E014
+:100CD000FBA3E0FAA3E02401F9E43AFAA3E07E00E2
+:100CE00029F9EE3AFA1203B6FBB4D2087F247E0249
+:100CF000B1988070EBB4D4087F277E02B1988064ED
+:100D0000904E65E0FBA3E0FAA3E02401F9E43AFA8F
+:100D1000A3E07E0029F9EE3AFA1203B6FBB4D50837
+:100D20007F217E02B198803CEBB4D6087F237E02FF
+:100D3000B1988030904E65E0FBA3E0FAA3E0240177
+:100D4000F9E43AFAA3E07E0029F9EE3AFA1203B682
+:100D5000FBB4D7067F70B198800AEBB4D8067F6FDA
+:100D60007E00B198904DE4E0B40224904E65E0FB23
+:100D7000A3E0FAA3E02401F9E43AFAA3E07E002913
+:100D8000F9EE3AFA1203B6904DE3F0E41203FC9048
+:100D90004E68E004F0614A22AD07AC06904DE4E0F5
+:100DA0006402600E7401F0904DE504F0EFA3F0EEE4
+:100DB000A3F022904E7EEBF0A3EAF0A3E9F0ED1D44
+:100DC000AE0470011C4E6016904E7EE0FBA3E475ED
+:100DD000F001120424A9F0FAE41203FC80E0227B63
+:100DE000017A4C79BF7D447C00B1B37B017A4D79A7
+:100DF000937D147C00B1B37B017A4D79A87D147C7E
+:100E000000B1B37B017A4D79BC7D147C00B1B37B1A
+:100E1000017A4879007D097C00B1B37B017A4D7974
+:100E2000E57D097C00B1B3E4904DDEF0904DE2F039
+:100E3000904DE1F0904DD6F0904DD0F0904DDCF01B
+:100E4000904DE4F0904DD5F0904DD8F0904DDBF002
+:100E5000904DE0F0904DD3F0904DDFF0904DE3F0E9
+:100E6000904DD9F0904D38F022904E61EBF0A3EA0E
+:100E7000F0A3E9F0A3EDF0F1F7EF6076904CEBE032
+:100E80007070904CC5E064037068904E61E0FBA305
+:100E9000E0FAA3E0F91203B6FF6401702E9000019E
+:100EA0001203CF701E9000031203CF70169000043F
+:100EB0001203CF700E9000051203CF7006904DD62E
+:100EC000F08028904DD67401F08020EFB4021C9081
+:100ED00000011203CF700E9000021203CF70069033
+:100EE0004DD6F08006904DD67401F0904E64E0FD32
+:100EF000F1A322904E87EFF0A3EDF07B017A4879C1
+:100F0000007D097C00B1B39048007401F0A3E0FFBC
+:100F1000904E87E0FEEF4E904801F0904E88E090B2
+:100F20004803F07B017A4879007D09C169904CF44F
+:100F3000E0FF600864036004EFB40502806D904C2C
+:100F4000F4E0B4010EA3E0FFE4FDD1F3904CF4749F
+:100F500002F022904CF4E0B4020B7403F0A3E0FF23
+:100F6000A3E0FD808E904CF4E0B4041AE4904CF6BB
+:100F7000F0904CF5E0FFE4FDD1F3E4904CF5F090F7
+:100F80004CF47405F022904CF4E0B40615E4904C57
+:100F9000F6F0904CF5F0A3E0FDE4FFD1F3E4904CC3
+:100FA000F4F022900BE77406F001B5904E75E4F072
+:100FB000A3F0A3F0F1DF502612191A904E75EBF052
+:100FC000A3EAF0A3E9F04A7008904CB604F00217C7
+:100FD000D7904E75E0FBA3E0FAA3E0F9311D229013
+:100FE0004B9CE0FEA3E0FF904B9AE0B50607A3E020
+:100FF000B50702D322C322E4FF904CEEE060012249
+:10100000904CC5E06403601C904CEFE0701D740AC6
+:10101000F0A3E07016904DE1E0B4020F7F09112CAF
+:101020007F018007E4904CEBF07F0122904E8FEF20
+:10103000F024F760091460622402600201D4E49095
+:101040004CF0F011DAEF6009904E8FE0904CEDF02B
+:10105000227B017A4C79007D047C007FF27E3F5137
+:10106000647F0A3176904C00E0B4FF1BA3E0B4FF2C
+:1010700016A3E0B4FF11A3E0B4FF0C904C00740F72
+:10108000F0A3F0A3F0A3F07F211207F8904CC574F1
+:1010900002F0E4A3F0904CEDF022E4904CF0F0115B
+:1010A000DAEF6009904E8FE0904CEDF022904CC545
+:1010B000E0640160197F231207F8904CC57401F0B9
+:1010C000E4A3F0904CEE74F0F0E4904CE9F0E4907E
+:1010D0004CEDF022E4904CEDF022904CC5E0FF6422
+:1010E000036004EFB402087F221207F87F01227F19
+:1010F0000022904CCEE030E13E904CD0E0C394FA18
+:101100005003E004F0904CD0E064B4702F904DDCBC
+:10111000E004F0E0D394025007E4904CD0F0801C3F
+:10112000904DDCE0B40315904DD57401F0E4904C83
+:10113000D0F01207F18005E4904DDCF0904CCEE049
+:1011400030E42D904CEA740AF0904CD1E0C394FA4C
+:101150005003E004F0904CD1E0B40619904CC3E089
+:10116000FF6003B4FE0F11DA7F0A31767F0A012C8B
+:10117000E4904CD1F022EFD394004011E4FDFC0D3B
+:10118000BD00010CBC04F8BDA6F51F80E922904EFD
+:1011900093EFF024D0604614604514700241361479
+:1011A000600A24F76039240D60024163910AF13A24
+:1011B0007B017A4C79007D047C007FF27E3F516494
+:1011C0007F0A3176904CC1E0F97A007B007D017C8A
+:1011D000007FF87E3F51647F0A3176C15B813E908B
+:1011E0004CC57403F0E4A3F07114E4904CEEF0905D
+:1011F0004CEBF0904CC074FEF0904CC3F0904E93CA
+:10120000E064317024904CE5741EF0904BEBE0B438
+:101210000F10A3E0B40F0BA3E0B40F06A3E0640F1C
+:101220006041904CBF7401F022904CE5E07034C2F4
+:10123000017F1E020784E4904CC5F0A3F0904CE3BC
+:10124000F0A3F0904CEB04F0904CEDE060097114C9
+:10125000904CEDE0FF012C904CECE0B40105E4F083
+:101260001207F122904E5CECF0A3EDF0A3EBF0A39B
+:10127000EAF0A3E9F09080987404F0A3E4F0900CF5
+:10128000AF74A0F0A3EEF0A3EFF0900CB274A1F055
+:101290007A0C79AF7E0C7FAF74AFFC740CFFECFE60
+:1012A000EF90809AEEF0A3EFF0904E5CE0FCA3E0AC
+:1012B000FAECFFEAFEEF90809EEEF0A3EFF07A0BDF
+:1012C00079837E0B7F837483FC740BFFECFEEF90BD
+:1012D000809CEEF0A3EFF09080907402F090809CE0
+:1012E000A3E020E707908090E04401F0908006E0C2
+:1012F0004404F0F15A904E5EE0A3E0FAA3E0AE029F
+:10130000FF7B017A0B7983904E5CE0A3E0904E5115
+:10131000F00208DAE4904CF0F022904CBFE0603B21
+:101320007FC83176C2017FFF1207847B017A4C7936
+:10133000007D047C007FF27E3F715C7B017A4C79FA
+:10134000C17D017C007FF87E3F715CD2017FFF127E
+:1013500007847F0A3176E4904CBFF022904E20EE55
+:10136000F0A3EFF0A3ECF0A3EDF0A3EBF0A3EAF011
+:10137000A3E9F0904E22E07002A3E0700281099090
+:101380004E20E0FEA3E0FF440F2401FDE43EFCC339
+:10139000ED9FFFEC9EFE904E27F0A3EFF0904E22C3
+:1013A000E0FCA3E0FDD39FEC9E400A904E27E0FEB8
+:1013B000A3E0FF8004AE04AF05904E27EEF0FCA33F
+:1013C000EFF0FDC3904E23E09DF0904E22E09CF0A4
+:1013D000904E20E0FEA3E0FF904E24E0FBA3E0FA55
+:1013E000A3E0F91222807F0A3176904E27E0FEA317
+:1013F000E0FF904E25EE8FF012040E904E21E02F6C
+:10140000F0904E20E03EF0617322913EC2067F1FB5
+:101410009122C2067F1D9122C2067F1E9122C20622
+:101420007F1EAC07ECF46015AF04D204D19AAF0470
+:10143000A2069201120784AF04C202D16B229080EF
+:1014400080E4F0A3F0A3F0F11DE4904E91F0F09051
+:101450004E91E090060C93FF600CC205D17C904E3B
+:1014600091E004F080E922D103122169120F2D715D
+:101470001A1206CF900B7EE014600C24FE70EA91E5
+:10148000AC910CB1F680FE904CEAE07012904CECFE
+:10149000E0700C904CE5E07006904CF8E06004F1D0
+:1014A0006280C691ACB1F680C080BE22E4FF904E4F
+:1014B00092F0FEFDEF90060C936049EF93FD13133D
+:1014C00013541FFEED5407FD7401A805088002C3E4
+:1014D00033D8FCFDEE2478FBE434808B82F583E086
+:1014E000FCEDF4FBEC5BF0EE2470F582E43480F567
+:1014F00083E04DF0EE2474F582E43480F583E05B04
+:10150000F00F80B012238790811CE0904E92F090F3
+:101510004CD5E064026036904DD5E06020E4FFB128
+:10152000577F01B1577F02B1577F03B1577F04B195
+:10153000577F05B1577F06B1577F07801A904E92AB
+:10154000E0FF9000A3F0EFF49000A7F022E49000F9
+:10155000A3F09000A7F022904E96EFF0D1169208DB
+:10156000904E96E0FFA208B39207EFF47002A1F547
+:10157000EF5407FEEF1313135403FF30074324A364
+:10158000F582E43400F583C083C082E0FD7401A8D5
+:1015900006088002C333D8FCF45DD082D083F07497
+:1015A000A72FF582E43400F583C083C082E0FF7486
+:1015B00001A806088002C333D8FC4FD082D083F044
+:1015C0002274A32FF582E43400F583C083C082E047
+:1015D000FD7401A806088002C333D8FCFC4DD082FC
+:1015E000D083F074A72FF582E43400F583E0FFEC9C
+:1015F000F4FEEF5EF022E4900B7FF0900B7EF07F24
+:101600000121767B017A4D79EE78007C4E7D017E5A
+:10161000007F120203907B017A81791CAD07E49070
+:101620004E95F0FEEF5407F0EF1313135403FEF53D
+:10163000827583001203CFFD3395E0FC904E95E058
+:10164000FF74017E00A807088005C333CE33CED8CF
+:10165000F9FFEE5CFEEF5D4E24FF22904DE1740237
+:10166000F0904CF97414F07F08012CEFF4600C7BBF
+:10167000017A807978A2029200D1BC22AC07ECF406
+:101680006017AF04A2059203D1ABAF04A205B392D9
+:1016900002D16BAF04C204D19A22EFF4600C7B013B
+:1016A0007A807970A2049200D1BC22EFF4600C7BA6
+:1016B000017A80797CA2039200D1BC22904E84EB07
+:1016C000F0A3EAF0A3E9F0E4FEFDEF5407FEEF1308
+:1016D00013135403FD300022904E84E0FBA3E0FA84
+:1016E000A3E02DF9E43AFA1203B6FF7401A8060844
+:1016F0008002C333D8FC4F0203FC904E84E0FBA36E
+:10170000E0FAA3E02DF9E43AFA1203B6FF7401A857
+:1017100006088002C333D8FCF45F0203FCE4904E59
+:1017200090F0F0904E90E0FFC39408500CC205D1A9
+:101730007C904E90E004F080EA22120DDF121F0F21
+:10174000904CEB7401F0904CE5741EF0E4904CF07A
+:10175000F0904D0274FFF022816790812CE030E51B
+:10176000F922900B7F7401F0E4900B7EF0221207B7
+:1017700096904CE4E004F07006904CE3E004F0F145
+:10178000A9121E1811F2904CEEE0601CE4904CE39C
+:10179000F0A3F0904CEEE014F0E0700C7F22120702
+:1017A000F87F0A31761207F122904CD3E0600B14D7
+:1017B000F0E070067405F0121FD322904E97EFF000
+:1017C0007B017A807974D11C9209904E97E0FFA238
+:1017D00009B39201020784904DD0E064017031900A
+:1017E0004DD6E0702B904CC5E0640370507B017ABD
+:1017F0004879007D09FC120DB37B017A4879007DA0
+:1018000009120E69904DD07402F0E4904DE4F0227C
+:10181000904DD0E0B40226904DD6E07020904DD08F
+:10182000F07B017A4879007D09FC120DB37B017AC7
+:101830004879007D09120E69E4904DE4F022904C45
+:10184000F5EDF0A3EBF0EF30E012904CF4E0B403D0
+:10185000047402F022904CF47401F022904CF47461
+:1018600004F022E4904E89F0A3EFF0904E89EDF061
+:10187000904DDBE0640160022114ED24C6B40C003D
+:101880004002211490189275F003A4C58325F0C579
+:1018900083730218B60218BE0218C60218CE0218C8
+:1018A000D60218DE0218E60218EE0218F60218FE3A
+:1018B00002190602190E904E8974F1F08056904E6E
+:1018C0008974F6F0804E904E8974F7F08046904E01
+:1018D0008974F8F0803E904E8974F4F08036904E12
+:1018E0008974F5F0802E904E8974F2F08026904E27
+:1018F0008974F3F0801E904E8974D6F08016904E55
+:101900008974FAF0800E904E8974F9F08006904E3A
+:101910008974D0F0904E89E0FF22E4904E12F0A33B
+:10192000F0A3F0A3F0A3F0A3F0A3F0A3F0A3F0A31F
+:10193000F0A3F0A3F0A3F0A3F0919D7A4D79A890C5
+:101940004E3B7401F0A3744DF0A374A8F0A374147B
+:10195000F07B017A4D79BC7154EF60167B017A4DB2
+:1019600079BC7D147124EF7009904CCEE04402F0F4
+:10197000800C904CCEE054FDF0E4904CD0F0E4901C
+:101980004E12F0904E12E0FF90060C93602F74BC44
+:101990002FF582E4344DF583E0904E14F0E0FD60C5
+:1019A00014904E18E004F0A3E0FEED4EF0AF057188
+:1019B00016A3E02FF0904E12E004F080C6904E1A6D
+:1019C000E0904E1FF0904E18E0904E1EF0904E1991
+:1019D000E0FF7116904E1DEFF0904E1FE0FFD39484
+:1019E00002401D904E1DE0FEA3E0FDD39E4004AEDC
+:1019F000058000EFD39E4008904E1C7401F08005D6
+:101A0000E4904E1CF0E4904E12F0904E12E0FF90E5
+:101A1000060C93700241EA74932FF582E4344DF57D
+:101A200083E0FE74BC2FF582E4344DF583E06E90C4
+:101A30004E14F0904E12E0FF24BCF582E4344DF5D4
+:101A400083E0904E17F0904E14E0700441E241E2C2
+:101A5000904E1CE060077B007A0079002274BC2F56
+:101A6000F582E4344DF583E0FE74932FF582E4347F
+:101A70004DF583EEF0E4904E13F0904E13E0FFC36B
+:101A800094085058A3E030E03B904E12E0FE333310
+:101A90003354F8FEEF4E904E16F0A3E0FF904E1632
+:101AA000E090062193FD1163904E1BEFF0904E17CE
+:101AB000E030E009904E1BE0FF719E8007904E1BC6
+:101AC000E0FF71F4904E14E0FFC313F0904E17E066
+:101AD000FFC313F0904E13E004F0809E904E1574F7
+:101AE00001F0904E12E004F0410A904DE4E0B4039E
+:101AF0000A904DD8E0B401037402F0904E15E070E6
+:101B000007904DD8E0B402077B017A4E7931227BF1
+:101B1000007A00790022E4FEEF6006145FFF0E8079
+:101B2000F7AF0622904E78EBF0A3EAF0A3E9F0E4D9
+:101B3000FFEFC39D501B904E78E0FBA3E0FAA3E0BB
+:101B4000F98F827583001203CF60037F00220F801C
+:101B5000E07F0122904E38EBF0A3EAF0A3E9F0E435
+:101B6000FF904E3EE0FEEFC39E5030904E3BE0FBB8
+:101B7000A3E0FAA3E0F98F827583001203CFFE90F1
+:101B80004E38E0FBA3E0FAA3E0F98F8275830012E0
+:101B900003CF6E60037F00220F80C67F0122E4FE28
+:101BA000EFC394E04020EFD394E7501A904E31E019
+:101BB000FEEF5407FF7401A807088002C333D8FC66
+:101BC0004E904E31F022E4FE74322EF582E4344E13
+:101BD000F583E0FD6F601CED7014904DE3E06F60E5
+:101BE0001274322EF582E4344EF583EFF0220EEEBD
+:101BF000B406D522E4FEFDEF54F064F06007EF5424
+:101C0000D0FCBCD00C904DE4E0B4020B7403F08027
+:101C100006904DD87401F0EFC394E04020EFD394C8
+:101C2000E7501A904E31E0FEEF5407FF74FEA8070C
+:101C3000088002C333D8FC5E904E31F022E4FEED02
+:101C4000702174322EF582E4344EF583E06F7047D4
+:101C5000EEB4050B2432F582E4344EF583E4F07DD6
+:101C600001803474322EF582E4344EF583E0FC7446
+:101C7000312EF582E4344EF583ECF074322EF58289
+:101C8000E4344EF583E06014EEB4050B2432F582A3
+:101C9000E4344EF583E4F00EEEB406A322E4FF90A4
+:101CA0004E69F0FEFDA3F0A3F0A3F0EF90060C93B5
+:101CB000607CEF93FD131313541FFEED5407FD7466
+:101CC00001A805088002C333D8FCFDEE2478FBE4AC
+:101CD00034808B82F583E0FCEDF4FBEC5BF0EE24CA
+:101CE00070F582E43480F583E04DF0EE2474F582E3
+:101CF000E43480F583E05BF090811CE0F4FC74BC7C
+:101D00002FF582E4344DF583ECF0EE2478FBE434D7
+:101D1000808B82F583E04DF0EE2470FBE434808B01
+:101D200082F583E0FCEDF4FBEC5BF00F81ABE4FFAC
+:101D3000EF90060C93607CEF93FD131313541FFE7A
+:101D4000ED5407FD7401A805088002C333D8FCFDDB
+:101D5000EE2478FBE434808B82F583E0FCEDF4FB29
+:101D6000EC5BF0EE2470F582E43480F583E04DF016
+:101D7000EE2474F582E43480F583E05BF090811CFE
+:101D8000E0F4FC74A82FF582E4344DF583ECF0EE1A
+:101D90002478FBE434808B82F583E04DF0EE2470F0
+:101DA000FBE434808B82F583E0FCEDF4FBEC5BF02C
+:101DB0000FA130E4FFEF90060C93604074BC2FF548
+:101DC00082E4344DF583E0FE74A82FF582E4344DAF
+:101DD000F583E06E602374BC2FF582E4344DF58307
+:101DE000C083C082E0FE74A82FF582E4344DF583F1
+:101DF000E0FDEE5DD082D083F00F80B9229080109C
+:101E00007401F080FE2280F5904E8BEDF090000181
+:101E10001203CF904E8CF022904CC5E0B403119089
+:101E20004CE3E0640E7004A3E06410702D0207F12F
+:101E3000904CC5E0B40114904CE3E07004A3E0645E
+:101E40002870177F221207F80207F1904CE3E07028
+:101E500004A3E0641470031207F122904CF9E060CF
+:101E60001814F0E07013904CC5E0B40307E4904CF4
+:101E7000F9F080057F231207F8904CEAE060021425
+:101E8000F0904CEFE0600214F0904CE5E060181424
+:101E9000F0D2017F1E120784904CE5E07034C2013D
+:101EA0007F1E120784802B904CEEE07025904CE250
+:101EB000E0601F14F0E030E109D2017F1E120784B8
+:101EC0008007C2017F1E120784904CE2E070037409
+:101ED00004F0904DD5E0702D904DD6E06401702552
+:101EE000F0904DE5E0600D7B017A4D79E57D0312C0
+:101EF0000E698011904800E0600B7B017A48790000
+:101F00007D09120E69904DDEE06003E014F022902E
+:101F10004CD37405F0E4A3F0904C907437F0E4FFD8
+:101F2000EF25E024D6F582E4344CF5837462F0A307
+:101F3000F00FEFB404EA904C91E0FEA3E0FFC390F1
+:101F40004C94E09FFD904C93E09EFCE41202067BD3
+:101F5000C37AF579A8783E1200FBC004C005C0061C
+:101F6000C007904C91E0FCA3E0FDE4120206D00310
+:101F7000D002D001D00012000A12023F904CDEEED7
+:101F8000F0A3EFF0904C91E0FEA3E0FFC3904C94DF
+:101F9000E09FFD904C93E09EFCE41202067B5C7A8D
+:101FA0008F7942783E1200FBC004C005C006C0070E
+:101FB000904C91E0FCA3E0FDE4120206D003D002B5
+:101FC000D001D00012000A12023F904CE0EEF0A3C4
+:101FD000EFF022904E5812053300000000904C950F
+:101FE000E0FEA3E0FF904CD4E0FD04F0ED25E024FA
+:101FF000D6F582E4344CF583EEF0A3EFF0904CD4A8
+:10200000E0C394044002E4F0E4904E57F0904E5840
+:10201000E0F8A3E0F9A3E0FAA3E0FB904E57E02537
+:10202000E024D6F582E4344CF583E0FEA3E0FFE43F
+:10203000FCFDEB2FFFEA3EFEED39FDEC38FC904E47
+:1020400058120527904E57E004F0E0B404BF904EBC
+:1020500058E0FCA3E0FDA3E0FEA3E0FFE47B04FA6C
+:10206000F9F8120476904E58120527904CE0E0FEE5
+:10207000A3E0FFC3904CD7E09F904CD6E09E500762
+:10208000904CD57402F022904CDEE0FEA3E0FFE419
+:10209000FCFD904E58E0F8A3E0F9A3E0FAA3E0FBC2
+:1020A000C3120516500D904CD57401F0904D3F743D
+:1020B00012F022E4904CD5F0904D3F745DF02290E8
+:1020C0004E6DEEF0A3EFF0904E6FECF0A3EDF090BC
+:1020D0004E6FE0FEA3E0FFD3904E6EE09F904E6DFA
+:1020E000E09E4016904E6FE0FEA3E0FF904E6EE043
+:1020F0009FFF904E6DE09EFE801E904E6DE0FEA311
+:10210000E0FFC3904E70E09FFF904E6FE09EFEADEB
+:1021100003C3EB9FFFE49EFE22904E8DEEF0A3EFF3
+:10212000F0A905904B9EE0FEA3E0FFAD0119ED6024
+:102130002F0FEFAC0670010E14F5828C83E0FD903A
+:102140004E8DE475F00112042485F082F583EDF0E4
+:10215000AD07AC06BC4BD4BD9AD17E4B7F3680CB4D
+:10216000904B9EEEF0A3EFF0227A0C794B904E7BD1
+:102170007401F0A3740CF0A3744BF0904BA0E0FE3C
+:10218000A3E0FF904B9EE06E7003A3E06F60467E7D
+:102190000C7F4B7D033119904E7BE0FBA3E0FAA34B
+:1021A000E0F91203B6B4022B904E7CE475F00212F3
+:1021B000040E904E7BE0FBA3E0FAA3E0F91203B615
+:1021C000FF904E00E0A3E0FAA3E0F5828A831205B7
+:1021D00068800280FE904BA5E0FEA3E0FF904C5E7D
+:1021E000E06E7003A3E06F6022904E06E0FBA3E078
+:1021F000FAA3E0F94A6037120564904BA5E0FFA30B
+:10220000E0904C5ECFF0A3EFF080CA904C8DE0FFE1
+:10221000A3E06F6019904E09E0FBA3E0FAA3E0F998
+:102220004A600B120564904C8DE0A3F080DD229093
+:102230000446E0FF229082807401F022904E29EB48
+:10224000F0A3EAF0A3E9F0904E2F74FFF5F012042A
+:102250002445F0602A904E2CE0FBA3E475F00112B7
+:102260000424A9F0FA1203B6FF904E29E0FBA3E480
+:1022700075F001120424A9F0FAEF1203FC80C822C1
+:10228000904E3FEEF0A3EFF0904E43EBF0A3EAF058
+:10229000A3E9F0904E41ECF0A3EDF0A3E0F9A3E048
+:1022A000FAA3E0904E2CC9F0A3EAF0A3E9F0A3EC66
+:1022B000F0A3EDF07B017A0B7986513C900B83748F
+:1022C000A0F0904E3FE0FFA3E0900B84CFF0A3EF8F
+:1022D000F0904E42E02403FD904E41E03400FCEDCE
+:1022E000FAECFFEAFEEF908098EEF0A3EFF07A0BA5
+:1022F00079837E0B7F837483FC740BFFECFEEFA36A
+:10230000EEF0A3EFF090809EE4F0A3F090809004B4
+:10231000F0908006E04404F002175A904E81EBF0F2
+:10232000A3EAF0A3E9F0ED1DAE0470011C4E6017A6
+:10233000904E81E0FBA3E475F001120424A9F0FAA9
+:1023400074FF1203FC80DF22EFF4603AEF5407FEC3
+:10235000EF1313135403FF24A3F582E43400F58331
+:10236000C083C082E0FD7401A806088002C333D890
+:10237000FCF4FC5DD082D083F074A72FF582E434A6
+:1023800000F583E05CF022E4FFEFFD7C002478FBA5
+:10239000EC34808B82F583E0FEED2470FDEC34801C
+:1023A0008D82F583E04EF4FEEF247CFDEC34808DCD
+:0B23B00082F583EEF00FEFB404CF22A3
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /YJX_KB_Project/1026_KB/CK8006/c51/output/fwram.rom	(revision 210)
+++ /YJX_KB_Project/1026_KB/CK8006/c51/output/fwram.rom	(working copy)
@@ -1398,7 +1398,7 @@
 b1
 02
 17
-1f
+58
 e4
 93
 a3
@@ -1529,22 +1529,22 @@
 ee
 ff
 11
-79
+8e
 00
 00
 00
 ff
 17
-d0
+6e
 ff
 1e
-dc
+5b
 00
 00
 00
 ff
 1e
-89
+08
 00
 1a
 08
@@ -1938,7 +1938,7 @@
 00
 12
 16
-a1
+bc
 22
 90
 4d
@@ -1957,8 +1957,8 @@
 7f
 1e
 12
-23
-60
+17
+bb
 d1
 c2
 ef
@@ -2126,8 +2126,8 @@
 7b
 64
 12
-21
-33
+20
+bf
 90
 4e
 49
@@ -2430,7 +2430,7 @@
 70
 02
 61
-55
+3a
 90
 4d
 de
@@ -2454,7 +2454,7 @@
 09
 fc
 b1
-ce
+b3
 7b
 01
 7a
@@ -2466,7 +2466,7 @@
 7c
 00
 b1
-ce
+b3
 90
 4e
 52
@@ -2484,86 +2484,59 @@
 12
 03
 cf
-ff
-b4
-14
-0a
-90
-00
-02
-12
-03
-cf
 64
-29
-60
-0f
-ef
 64
-29
 70
-36
-90
+31
+7b
+01
+7a
+48
+79
 00
-02
-12
-03
-cf
-64
-14
-70
-2c
+7d
+09
+fc
+b1
+b3
 90
-4b
-eb
-74
-20
-f0
-a3
-74
-15
-f0
-a3
-74
-10
-f0
-a3
+48
+00
 74
-05
+01
 f0
 90
-4c
-c5
+48
+03
 e0
-64
-01
-60
-09
-90
-4c
-ce
+44
+e2
+f0
+a3
 e0
 44
-10
+59
 f0
-80
-10
-90
-4c
-ce
+a3
 e0
-54
-ef
+44
+5a
 f0
-80
-07
-90
-4c
-ce
+a3
 e0
-54
-ef
+44
+60
 f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+c1
+69
 90
 4c
 b6
@@ -2580,21 +2553,21 @@
 70
 02
 61
-55
+3a
 ef
 64
 04
 70
 02
 61
-55
+3a
 ef
 64
 02
 70
 02
 61
-55
+3a
 90
 4c
 c5
@@ -2684,7 +2657,7 @@
 e0
 f9
 71
-56
+3b
 90
 4d
 e4
@@ -2708,7 +2681,7 @@
 7d
 03
 c1
-bc
+69
 90
 4d
 e4
@@ -2737,7 +2710,7 @@
 7d
 03
 c1
-bc
+69
 90
 48
 00
@@ -2898,7 +2871,7 @@
 7d
 09
 d1
-bc
+69
 22
 90
 4e
@@ -2926,7 +2899,7 @@
 40
 02
 a1
-b2
+97
 90
 4e
 65
@@ -2969,7 +2942,7 @@
 60
 02
 a1
-aa
+8f
 12
 03
 b6
@@ -2982,9 +2955,9 @@
 7e
 01
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 f2
@@ -2994,9 +2967,9 @@
 7e
 00
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -3032,9 +3005,9 @@
 7f
 b7
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 f4
@@ -3044,9 +3017,9 @@
 7e
 00
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -3082,9 +3055,9 @@
 7f
 b5
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 f6
@@ -3094,9 +3067,9 @@
 7e
 00
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -3132,9 +3105,9 @@
 7f
 e9
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 f8
@@ -3144,9 +3117,9 @@
 7e
 00
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -3183,9 +3156,9 @@
 94
 0e
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 fa
@@ -3195,9 +3168,9 @@
 7e
 01
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -3234,9 +3207,9 @@
 92
 0e
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 d0
@@ -3246,9 +3219,9 @@
 7e
 02
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -3286,9 +3259,9 @@
 7e
 02
 b1
-b3
+98
 a1
-7f
+64
 eb
 b4
 d3
@@ -3298,9 +3271,9 @@
 7e
 02
 b1
-b3
+98
 a1
-7f
+64
 90
 4e
 65
@@ -3338,7 +3311,7 @@
 7e
 02
 b1
-b3
+98
 80
 70
 eb
@@ -3350,7 +3323,7 @@
 7e
 02
 b1
-b3
+98
 80
 64
 90
@@ -3390,7 +3363,7 @@
 7e
 02
 b1
-b3
+98
 80
 3c
 eb
@@ -3402,7 +3375,7 @@
 7e
 02
 b1
-b3
+98
 80
 30
 90
@@ -3440,7 +3413,7 @@
 7f
 70
 b1
-b3
+98
 80
 0a
 eb
@@ -3452,7 +3425,7 @@
 7e
 00
 b1
-b3
+98
 90
 4d
 e4
@@ -3503,7 +3476,7 @@
 04
 f0
 61
-65
+4a
 22
 ad
 07
@@ -3583,11 +3556,11 @@
 79
 bf
 7d
-43
+44
 7c
 00
 b1
-ce
+b3
 7b
 01
 7a
@@ -3599,7 +3572,7 @@
 7c
 00
 b1
-ce
+b3
 7b
 01
 7a
@@ -3611,7 +3584,7 @@
 7c
 00
 b1
-ce
+b3
 7b
 01
 7a
@@ -3623,7 +3596,7 @@
 7c
 00
 b1
-ce
+b3
 7b
 01
 7a
@@ -3635,7 +3608,7 @@
 7c
 00
 b1
-ce
+b3
 7b
 01
 7a
@@ -3647,7 +3620,7 @@
 7c
 00
 b1
-ce
+b3
 e4
 90
 4d
@@ -3716,76 +3689,20 @@
 22
 90
 4e
-87
-ef
+61
+eb
 f0
 a3
-ed
+ea
 f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-7c
-00
-b1
-ce
-90
-48
-00
-74
-01
-f0
-a3
-e0
-ff
-90
-4e
-87
-e0
-fe
-ef
-4e
-90
-48
-01
-f0
-90
-4e
-88
-e0
-90
-48
-03
-f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-90
-4e
-61
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+a3
+e9
 f0
 a3
 ed
 f0
 f1
-e2
+f7
 ef
 60
 76
@@ -3906,9 +3823,67 @@
 e0
 fd
 f1
-bd
+a3
 22
 90
+4e
+87
+ef
+f0
+a3
+ed
+f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+7c
+00
+b1
+b3
+90
+48
+00
+74
+01
+f0
+a3
+e0
+ff
+90
+4e
+87
+e0
+fe
+ef
+4e
+90
+48
+01
+f0
+90
+4e
+88
+e0
+90
+48
+03
+f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+c1
+69
+90
 4c
 f4
 e0
@@ -3922,10 +3897,9 @@
 ef
 b4
 05
-03
 02
-18
-74
+80
+6d
 90
 4c
 f4
@@ -3939,7 +3913,7 @@
 e4
 fd
 d1
-84
+f3
 90
 4c
 f4
@@ -3963,8 +3937,8 @@
 a3
 e0
 fd
-c1
-84
+80
+8e
 90
 4c
 f4
@@ -3985,7 +3959,7 @@
 e4
 fd
 d1
-84
+f3
 e4
 90
 4c
@@ -4020,7 +3994,7 @@
 e4
 ff
 d1
-84
+f3
 e4
 90
 4c
@@ -4035,34 +4009,81 @@
 f0
 01
 b5
-b1
-fa
+90
+4e
+75
+e4
+f0
+a3
+f0
+a3
+f0
+f1
+df
+50
+26
 12
-1f
-72
+19
+1a
 90
-4c
+4e
+75
 eb
-74
-01
 f0
-90
-4c
-e5
-74
-1e
+a3
+ea
 f0
-e4
+a3
+e9
+f0
+4a
+70
+08
 90
 4c
+b6
+04
 f0
-f0
+02
+17
+d7
 90
-4d
-01
-74
+4e
+75
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+31
+1d
+22
+90
+4b
+9c
+e0
+fe
+a3
+e0
 ff
-f0
+90
+4b
+9a
+e0
+b5
+06
+07
+a3
+e0
+b5
+07
+02
+d3
+22
+c3
 22
 e4
 ff
@@ -4104,7 +4125,7 @@
 7f
 09
 11
-17
+2c
 7f
 01
 80
@@ -4134,14 +4155,14 @@
 60
 02
 01
-bf
+d4
 e4
 90
 4c
 f0
 f0
 11
-c5
+da
 ef
 60
 09
@@ -4169,11 +4190,11 @@
 7e
 3f
 51
-50
+64
 7f
 0a
 31
-61
+76
 90
 4c
 00
@@ -4233,7 +4254,7 @@
 f0
 f0
 11
-c5
+da
 ef
 60
 09
@@ -4432,15 +4453,15 @@
 fe
 0f
 11
-c5
+da
 7f
 0a
 31
-61
+76
 7f
 0a
 01
-17
+2c
 e4
 90
 4c
@@ -4479,33 +4500,32 @@
 24
 d0
 60
-47
+46
 14
 60
-46
+45
 14
 70
 02
 41
-22
+36
 14
 60
 0a
 24
 f7
 60
-3a
+39
 24
 0d
 60
 02
 41
-4f
-71
-f5
-12
-0f
-c5
+63
+91
+0a
+f1
+3a
 7b
 01
 7a
@@ -4521,11 +4541,11 @@
 7e
 3f
 51
-50
+64
 7f
 0a
 31
-61
+76
 90
 4c
 c1
@@ -4544,15 +4564,15 @@
 7e
 3f
 51
-50
+64
 7f
 0a
 31
-61
+76
 c1
-46
+5b
 81
-29
+3e
 90
 4c
 c5
@@ -4563,7 +4583,7 @@
 a3
 f0
 71
-00
+14
 e4
 90
 4c
@@ -4665,14 +4685,14 @@
 60
 09
 71
-00
+14
 90
 4c
 ed
 e0
 ff
 01
-17
+2c
 90
 4c
 ec
@@ -4830,7 +4850,7 @@
 04
 f0
 f1
-21
+5a
 90
 4e
 5e
@@ -4877,7 +4897,7 @@
 7f
 c8
 31
-61
+76
 c2
 01
 7f
@@ -4900,7 +4920,7 @@
 7e
 3f
 71
-48
+5c
 7b
 01
 7a
@@ -4916,7 +4936,7 @@
 7e
 3f
 71
-48
+5c
 d2
 01
 7f
@@ -4927,7 +4947,7 @@
 7f
 0a
 31
-61
+76
 e4
 90
 4c
@@ -4967,8 +4987,8 @@
 e0
 70
 02
-61
-f4
+81
+09
 90
 4e
 20
@@ -5069,12 +5089,13 @@
 a3
 e0
 f9
-f1
-29
+12
+22
+80
 7f
 0a
 31
-61
+76
 90
 4e
 27
@@ -5105,28 +5126,28 @@
 3e
 f0
 61
-5f
+73
 22
 91
-29
+3e
 c2
 06
 7f
 1f
 91
-0d
+22
 c2
 06
 7f
 1d
 91
-0d
+22
 c2
 06
 7f
 1e
 91
-0d
+22
 c2
 06
 7f
@@ -5142,7 +5163,7 @@
 d2
 04
 d1
-7f
+9a
 af
 04
 a2
@@ -5157,7 +5178,7 @@
 c2
 02
 d1
-50
+6b
 22
 90
 80
@@ -5169,7 +5190,7 @@
 a3
 f0
 f1
-02
+1d
 e4
 90
 4e
@@ -5190,7 +5211,7 @@
 c2
 05
 d1
-61
+7c
 90
 4e
 91
@@ -5200,16 +5221,16 @@
 80
 e9
 22
-b1
-ee
+d1
+03
 12
 21
-dd
+69
 12
 0f
-46
+2d
 71
-06
+1a
 12
 06
 cf
@@ -5225,11 +5246,11 @@
 70
 ea
 91
-97
-71
-f7
+ac
+91
+0c
 b1
-e1
+f6
 80
 fe
 90
@@ -5257,13 +5278,13 @@
 60
 04
 f1
-c4
+62
 80
 c6
 91
-97
+ac
 b1
-e1
+f6
 80
 c0
 80
@@ -5359,7 +5380,7 @@
 b0
 12
 23
-7d
+87
 90
 81
 1c
@@ -5385,31 +5406,31 @@
 e4
 ff
 b1
-42
+57
 7f
 01
 b1
-42
+57
 7f
 02
 b1
-42
+57
 7f
 03
 b1
-42
+57
 7f
 04
 b1
-42
+57
 7f
 05
 b1
-42
+57
 7f
 06
 b1
-42
+57
 7f
 07
 80
@@ -5446,7 +5467,7 @@
 ef
 f0
 d1
-01
+16
 92
 08
 90
@@ -5464,7 +5485,7 @@
 70
 02
 a1
-e0
+f5
 ef
 54
 07
@@ -5611,7 +5632,7 @@
 7f
 01
 21
-61
+76
 7b
 01
 7a
@@ -5706,10 +5727,16 @@
 74
 02
 f0
+90
+4c
+f9
+74
+14
+f0
 7f
 08
 01
-17
+2c
 ef
 f4
 60
@@ -5725,7 +5752,7 @@
 92
 00
 d1
-a1
+bc
 22
 ac
 07
@@ -5740,7 +5767,7 @@
 92
 03
 d1
-90
+ab
 af
 04
 a2
@@ -5749,13 +5776,13 @@
 92
 02
 d1
-50
+6b
 af
 04
 c2
 04
 d1
-7f
+9a
 22
 ef
 f4
@@ -5772,7 +5799,7 @@
 92
 00
 d1
-a1
+bc
 22
 ef
 f4
@@ -5789,7 +5816,7 @@
 92
 00
 d1
-a1
+bc
 22
 90
 4e
@@ -5907,7 +5934,7 @@
 c2
 05
 d1
-61
+7c
 90
 4e
 90
@@ -5917,8 +5944,38 @@
 80
 ea
 22
+12
+0d
+df
+12
+1f
+0f
+90
+4c
+eb
+74
+01
+f0
+90
+4c
+e5
+74
+1e
+f0
+e4
+90
+4c
+f0
+f0
+90
+4d
+02
+74
+ff
+f0
+22
 81
-52
+67
 90
 81
 2c
@@ -5928,233 +5985,122 @@
 f9
 22
 90
-4e
-3f
-ee
-f0
-a3
-ef
+0b
+7f
+74
+01
 f0
+e4
 90
-4e
-43
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+0b
+7e
 f0
+22
+12
+07
+96
 90
-4e
-41
-ec
-f0
-a3
-ed
-f0
-a3
+4c
+e4
 e0
-f9
-a3
+04
+f0
+70
+06
+90
+4c
+e3
 e0
-fa
-a3
+04
+f0
+f1
+a9
+12
+1e
+18
+11
+f2
+90
+4c
+ee
 e0
+60
+1c
+e4
 90
-4e
-2c
-c9
-f0
-a3
-ea
-f0
-a3
-e9
+4c
+e3
 f0
 a3
-ec
 f0
-a3
-ed
+90
+4c
+ee
+e0
+14
 f0
-7b
-01
-7a
-0b
-79
-86
+e0
+70
+0c
+7f
+22
+12
+07
+f8
+7f
+0a
+31
+76
 12
+07
+f1
 22
-b0
 90
+4c
+d3
+e0
+60
 0b
-83
+14
+f0
+e0
+70
+06
 74
-a0
+05
 f0
+12
+1f
+d3
+22
 90
 4e
-3f
-e0
-ff
-a3
-e0
-90
-0b
-84
-cf
-f0
-a3
-ef
-f0
-90
-4e
-42
-e0
-24
-03
-fd
-90
-4e
-41
-e0
-34
-00
-fc
-ed
-fa
-ec
-ff
-ea
-fe
-ef
-90
-80
-98
-ee
-f0
-a3
+97
 ef
 f0
+7b
+01
 7a
-0b
+80
 79
-83
-7e
-0b
-7f
-83
-74
-83
-fc
 74
-0b
-ff
-ec
-fe
-ef
-a3
-ee
-f0
-a3
-ef
-f0
-90
-80
-9e
-e4
-f0
-a3
-f0
-90
-80
-90
-04
-f0
+d1
+1c
+92
+09
 90
-80
-06
+4e
+97
 e0
-44
-04
-f0
-e1
-21
-90
-0b
-7f
-74
+ff
+a2
+09
+b3
+92
 01
-f0
-e4
-90
-0b
-7e
-f0
-22
-12
-07
-96
-90
-4c
-e4
-e0
-04
-f0
-70
-06
-90
-4c
-e3
-e0
-04
-f0
-12
-21
-22
-12
-1e
-99
-11
-dd
-90
-4c
-ee
-e0
-60
-1d
-e4
-90
-4c
-e3
-f0
-a3
-f0
-90
-4c
-ee
-e0
-14
-f0
-e0
-70
-0d
-7f
-22
-12
-07
-f8
-7f
-0a
-12
-11
-61
-12
+02
 07
-f1
-22
+84
 90
 4d
 d0
@@ -6188,7 +6134,7 @@
 fc
 12
 0d
-ce
+b3
 7b
 01
 7a
@@ -6199,7 +6145,7 @@
 09
 12
 0e
-bc
+69
 90
 4d
 d0
@@ -6240,7 +6186,7 @@
 fc
 12
 0d
-ce
+b3
 7b
 01
 7a
@@ -6251,7 +6197,7 @@
 09
 12
 0e
-bc
+69
 e4
 90
 4d
@@ -6259,55 +6205,224 @@
 f0
 22
 90
-4e
-75
-e4
+4c
+f5
+ed
 f0
 a3
+eb
 f0
-a3
+ef
+30
+e0
+12
+90
+4c
+f4
+e0
+b4
+03
+04
+74
+02
 f0
-51
-b1
-50
-25
-11
-a7
+22
+90
+4c
+f4
+74
+01
+f0
+22
+90
+4c
+f4
+74
+04
+f0
+22
+e4
 90
 4e
-75
-eb
+89
 f0
 a3
-ea
+ef
 f0
-a3
-e9
+90
+4e
+89
+ed
 f0
-4a
-70
-07
 90
-4c
+4d
+db
+e0
+64
+01
+60
+02
+21
+14
+ed
+24
+c6
+b4
+0c
+00
+40
+02
+21
+14
+90
+18
+92
+75
+f0
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
+18
 b6
-04
+02
+18
+be
+02
+18
+c6
+02
+18
+ce
+02
+18
+d6
+02
+18
+de
+02
+18
+e6
+02
+18
+ee
+02
+18
+f6
+02
+18
+fe
+02
+19
+06
+02
+19
+0e
+90
+4e
+89
+74
+f1
 f0
-01
-0d
+80
+56
 90
 4e
-75
-e0
-fb
-a3
-e0
+89
+74
+f6
+f0
+80
+4e
+90
+4e
+89
+74
+f7
+f0
+80
+46
+90
+4e
+89
+74
+f8
+f0
+80
+3e
+90
+4e
+89
+74
+f4
+f0
+80
+36
+90
+4e
+89
+74
+f5
+f0
+80
+2e
+90
+4e
+89
+74
+f2
+f0
+80
+26
+90
+4e
+89
+74
+f3
+f0
+80
+1e
+90
+4e
+89
+74
+d6
+f0
+80
+16
+90
+4e
+89
+74
 fa
-a3
-e0
+f0
+80
+0e
+90
+4e
+89
+74
 f9
-12
-09
-1d
+f0
+80
+06
+90
+4e
+89
+74
+d0
+f0
+90
+4e
+89
+e0
+ff
 22
 e4
 90
@@ -6341,7 +6456,7 @@
 a3
 f0
 91
-f9
+9d
 7a
 4d
 79
@@ -6370,8 +6485,8 @@
 4d
 79
 bc
-51
-f9
+71
+54
 ef
 60
 16
@@ -6383,8 +6498,8 @@
 bc
 7d
 14
-51
-c9
+71
+24
 ef
 70
 09
@@ -6458,8 +6573,8 @@
 f0
 af
 05
-51
-a3
+71
+16
 a3
 e0
 2f
@@ -6493,8 +6608,8 @@
 19
 e0
 ff
-51
-a3
+71
+16
 90
 4e
 1d
@@ -6561,7 +6676,7 @@
 70
 02
 41
-77
+ea
 74
 93
 2f
@@ -6616,9 +6731,9 @@
 70
 04
 41
-6f
+e2
 41
-6f
+e2
 90
 4e
 1c
@@ -6705,8 +6820,8 @@
 21
 93
 fd
-91
-42
+11
+63
 90
 4e
 1b
@@ -6725,7 +6840,7 @@
 e0
 ff
 71
-43
+9e
 80
 07
 90
@@ -6734,7 +6849,7 @@
 e0
 ff
 71
-99
+f4
 90
 4e
 14
@@ -6771,8 +6886,8 @@
 e0
 04
 f0
-21
-97
+41
+0a
 90
 4d
 e4
@@ -6826,34 +6941,10 @@
 5f
 ff
 0e
-80
-f7
-af
-06
-22
-90
-4b
-9c
-e0
-fe
-a3
-e0
-ff
-90
-4b
-9a
-e0
-b5
+80
+f7
+af
 06
-07
-a3
-e0
-b5
-07
-02
-d3
-22
-c3
 22
 90
 4e
@@ -7233,189 +7324,6 @@
 a3
 22
 e4
-90
-4e
-89
-f0
-a3
-ef
-f0
-90
-4e
-89
-ed
-f0
-90
-4d
-db
-e0
-64
-01
-60
-02
-81
-f3
-ed
-24
-c6
-b4
-0c
-00
-40
-02
-81
-f3
-90
-1c
-71
-75
-f0
-03
-a4
-c5
-83
-25
-f0
-c5
-83
-73
-02
-1c
-95
-02
-1c
-9d
-02
-1c
-a5
-02
-1c
-ad
-02
-1c
-b5
-02
-1c
-bd
-02
-1c
-c5
-02
-1c
-cd
-02
-1c
-d5
-02
-1c
-dd
-02
-1c
-e5
-02
-1c
-ed
-90
-4e
-89
-74
-f1
-f0
-80
-56
-90
-4e
-89
-74
-f6
-f0
-80
-4e
-90
-4e
-89
-74
-f7
-f0
-80
-46
-90
-4e
-89
-74
-f8
-f0
-80
-3e
-90
-4e
-89
-74
-f4
-f0
-80
-36
-90
-4e
-89
-74
-f5
-f0
-80
-2e
-90
-4e
-89
-74
-f2
-f0
-80
-26
-90
-4e
-89
-74
-f3
-f0
-80
-1e
-90
-4e
-89
-74
-d6
-f0
-80
-16
-90
-4e
-89
-74
-fa
-f0
-80
-0e
-90
-4e
-89
-74
-f9
-f0
-80
-06
-90
-4e
-89
-74
-d0
-f0
-90
-4e
-89
-e0
-ff
-22
-e4
 ff
 90
 4e
@@ -7558,8 +7466,8 @@
 5b
 f0
 0f
-a1
-07
+81
+ab
 e4
 ff
 ef
@@ -7692,7 +7600,7 @@
 f0
 0f
 a1
-8c
+30
 e4
 ff
 ef
@@ -7746,63 +7654,26 @@
 fe
 74
 a8
-2f
-f5
-82
-e4
-34
-4d
-f5
-83
-e0
-fd
-ee
-5d
-d0
-82
-d0
-83
-f0
-0f
-80
-b9
-22
-90
-4c
-f5
-ed
-f0
-a3
-eb
-f0
-ef
-30
-e0
-12
-90
-4c
-f4
-e0
-b4
-03
-04
-74
-02
-f0
-22
-90
-4c
-f4
-74
-01
-f0
-22
-90
-4c
-f4
-74
-04
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
+e0
+fd
+ee
+5d
+d0
+82
+d0
+83
 f0
+0f
+80
+b9
 22
 90
 80
@@ -7900,6 +7771,36 @@
 22
 90
 4c
+f9
+e0
+60
+18
+14
+f0
+e0
+70
+13
+90
+4c
+c5
+e0
+b4
+03
+07
+e4
+90
+4c
+f9
+f0
+80
+05
+7f
+23
+12
+07
+f8
+90
+4c
 ea
 e0
 60
@@ -8018,7 +7919,7 @@
 03
 12
 0e
-bc
+69
 80
 11
 90
@@ -8037,7 +7938,7 @@
 09
 12
 0e
-bc
+69
 90
 4d
 de
@@ -8481,23 +8382,6 @@
 f0
 22
 90
-4c
-d3
-e0
-60
-0a
-14
-f0
-e0
-70
-05
-74
-05
-f0
-11
-36
-22
-90
 4e
 6d
 ee
@@ -8712,7 +8596,7 @@
 7d
 03
 31
-8d
+19
 90
 4e
 7b
@@ -8948,6 +8832,161 @@
 22
 90
 4e
+3f
+ee
+f0
+a3
+ef
+f0
+90
+4e
+43
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+90
+4e
+41
+ec
+f0
+a3
+ed
+f0
+a3
+e0
+f9
+a3
+e0
+fa
+a3
+e0
+90
+4e
+2c
+c9
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+a3
+ec
+f0
+a3
+ed
+f0
+7b
+01
+7a
+0b
+79
+86
+51
+3c
+90
+0b
+83
+74
+a0
+f0
+90
+4e
+3f
+e0
+ff
+a3
+e0
+90
+0b
+84
+cf
+f0
+a3
+ef
+f0
+90
+4e
+42
+e0
+24
+03
+fd
+90
+4e
+41
+e0
+34
+00
+fc
+ed
+fa
+ec
+ff
+ea
+fe
+ef
+90
+80
+98
+ee
+f0
+a3
+ef
+f0
+7a
+0b
+79
+83
+7e
+0b
+7f
+83
+74
+83
+fc
+74
+0b
+ff
+ec
+fe
+ef
+a3
+ee
+f0
+a3
+ef
+f0
+90
+80
+9e
+e4
+f0
+a3
+f0
+90
+80
+90
+04
+f0
+90
+80
+06
+e0
+44
+04
+f0
+02
+17
+5a
+90
+4e
 81
 eb
 f0
@@ -9054,35 +9093,6 @@
 5c
 f0
 22
-90
-4e
-97
-ef
-f0
-7b
-01
-7a
-80
-79
-74
-12
-16
-07
-92
-09
-90
-4e
-97
-e0
-ff
-a2
-09
-b3
-92
-01
-02
-07
-84
 e4
 ff
 ef
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_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/sys.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/sys.c
===================================================================
--- /YJX_KB_Project/1026_KB/CK8006/c51/sys.c	(revision 210)
+++ /YJX_KB_Project/1026_KB/CK8006/c51/sys.c	(working copy)
@@ -6,6 +6,7 @@
 #include "keyscan.h"
 #include "global_variable.h"
 #include "kb_process.h"
+#include"led.h"
 
 /////////////////////////////////////////////////////////////////
 static void System_clear_mem()
@@ -305,6 +306,23 @@
 
 static void kb_cb_Timer100ms()
 {
+	if (g_variable.reconn_timer_count !=0)
+	{
+		g_variable.reconn_timer_count --;
+		if (g_variable.reconn_timer_count == 0) 
+		{
+			if ((g_variable.g24_currentState ==  CHANGE_TO_24G_CONNECTED))
+			{
+				g_variable.reconn_timer_count = 0;
+
+			}
+			else 
+			{	
+//				YC_key_action_handle(KEY_PAIRING_24G);
+				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
+			}
+		}
+	}
 
 	if (g_variable.delay_enter_lpm_timer) 
 	{
