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,6 +231,18 @@
 	xmemclear(hidBuff,9);
 	xmemclear(multikey,9);
 
+	if (pEvt->ksPool[0]  == HID_KEY_K45) 
+	{
+		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_Q&& pEvt->ksPool[1]  == HID_KEY_ESC) 
 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_Q) 
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  15:45:24  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 1216B5            LCALL   _gpioSetBit
 000795         ?C0007?GPIO:
 000795 22                RET     
 ----- FUNCTION _GPIO_Setout (END) -------
@@ -251,7 +251,7 @@
   165: 	{
   166: 		GPIO_FlipOutBit(G24_LED_GPIO);
 0007A4 7F1E              MOV     R7,#01EH
-0007A6 122360            LCALL   _GPIO_FlipOutBit
+0007A6 1217B4            LCALL   _GPIO_FlipOutBit
   167: 	}
   168: 	else
   169: 	{
@@ -408,7 +408,7 @@
 00084B E0                MOVX    A,@DPTR
 00084C FD                MOV     R5,A
 00084D 7B64              MOV     R3,#064H
-00084F 122133            LCALL   _bufsize
+00084F 1220E3            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 619F              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 D118              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 D118              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,933 @@
 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 D118              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;
+  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 C1CE              AJMP    _IPC_TxHidData
+  243: 		return;
+  244: 	}
+0009EB         ?C0052?KB_PROCESS:
+  245: 
+  246: 	////////////////////////////2.4g pairing////////////////////////////////////
+  247: 	if ((pEvt->ksPool[0]  == HID_KEY_Q&& pEvt->ksPool[1]  == HID_KEY_ESC) 
+0009EB 904E52            MOV     DPTR,#pEvt
+0009EE E0                MOVX    A,@DPTR
+0009EF FB                MOV     R3,A
+0009F0 A3                INC     DPTR
+0009F1 E0                MOVX    A,@DPTR
+0009F2 FA                MOV     R2,A
+0009F3 A3                INC     DPTR
+0009F4 E0                MOVX    A,@DPTR
+0009F5 F9                MOV     R1,A
+0009F6 900001            MOV     DPTR,#01H
+0009F9 1203CF            LCALL   ?C?CLDOPTR
+0009FC B4140A            CJNE    A,#014H,?C0055?KB_PROCESS
+0009FF 900002            MOV     DPTR,#02H
+000A02 1203CF            LCALL   ?C?CLDOPTR
+000A05 6429              XRL     A,#029H
+000A07 6014              JZ      ?C0054?KB_PROCESS
+000A09         ?C0055?KB_PROCESS:
+000A09 900001            MOV     DPTR,#01H
+000A0C 1203CF            LCALL   ?C?CLDOPTR
+000A0F 6429              XRL     A,#029H
+000A11 7036              JNZ     ?C0053?KB_PROCESS
+000A13 900002            MOV     DPTR,#02H
+000A16 1203CF            LCALL   ?C?CLDOPTR
+000A19 6414              XRL     A,#014H
+000A1B 702C              JNZ     ?C0053?KB_PROCESS
+000A1D         ?C0054?KB_PROCESS:
+  248: 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_Q) 
+  249: 		)
+  250: 	{
+  251: 		m_24g_paring_addr[0] = 0x20;
+000A1D 904BEB            MOV     DPTR,#m_24g_paring_addr
+000A20 7420              MOV     A,#020H
+000A22 F0                MOVX    @DPTR,A
+  252: 		m_24g_paring_addr[1] = 0x15;
+000A23 A3                INC     DPTR
+000A24 7415              MOV     A,#015H
+000A26 F0                MOVX    @DPTR,A
+  253: 		m_24g_paring_addr[2] = 0x10;
+000A27 A3                INC     DPTR
+000A28 7410              MOV     A,#010H
+000A2A F0                MOVX    @DPTR,A
+  254: 		m_24g_paring_addr[3] = 0x05;
+000A2B A3                INC     DPTR
+000A2C 7405              MOV     A,#05H
+000A2E F0                MOVX    @DPTR,A
+  255: 		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
+000A2F 904CC5            MOV     DPTR,#g_variable+06H
+000A32 E0                MOVX    A,@DPTR
+000A33 6401              XRL     A,#01H
+000A35 6009              JZ      ?C0056?KB_PROCESS
+  256: 		{
+  257: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+000A37 904CCE            MOV     DPTR,#g_variable+0FH
+000A3A E0                MOVX    A,@DPTR
+000A3B 4410              ORL     A,#010H
+000A3D F0                MOVX    @DPTR,A
+  258: 		}
+000A3E 8010              SJMP    ?C0058?KB_PROCESS
+000A40         ?C0056?KB_PROCESS:
+  259: 		else
+  260: 		{
+  261: 			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+000A40 904CCE            MOV     DPTR,#g_variable+0FH
+000A43 E0                MOVX    A,@DPTR
+000A44 54EF              ANL     A,#0EFH
+000A46 F0                MOVX    @DPTR,A
+  262: 		}
   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
-  276: 	}
-000A72         ?C0060?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
-000A88 F0                MOVX    @DPTR,A
-  283: 		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
+000A47 8007              SJMP    ?C0058?KB_PROCESS
+000A49         ?C0053?KB_PROCESS:
+  264: 	else
+  265: 	{
+  266: 		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+000A49 904CCE            MOV     DPTR,#g_variable+0FH
+000A4C E0                MOVX    A,@DPTR
+000A4D 54EF              ANL     A,#0EFH
+000A4F F0                MOVX    @DPTR,A
+  267: 	}
+000A50         ?C0058?KB_PROCESS:
+  268: 
+  269: 	m_power_on_flag = 1;
+000A50 904CB6            MOV     DPTR,#m_power_on_flag
+000A53 7401              MOV     A,#01H
+000A55 F0                MOVX    @DPTR,A
+  270: 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
+000A56 904CF4            MOV     DPTR,#g_variable+035H
+000A59 E0                MOVX    A,@DPTR
+000A5A FF                MOV     R7,A
+000A5B 6401              XRL     A,#01H
+000A5D 7002              JNZ     $ + 4H
+000A5F 619F              AJMP    ?C0051?KB_PROCESS
+000A61 EF                MOV     A,R7
+000A62 6404              XRL     A,#04H
+000A64 7002              JNZ     $ + 4H
+000A66 619F              AJMP    ?C0051?KB_PROCESS
+000A68 EF                MOV     A,R7
+000A69 6402              XRL     A,#02H
+000A6B 7002              JNZ     $ + 4H
+000A6D 619F              AJMP    ?C0051?KB_PROCESS
+  271: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
+  272: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
+  273: 	{
+  274: 		return;
+  275: 	}
+000A6F         ?C0059?KB_PROCESS:
+  276: 
+  277: 	// get 24g led status
+  278: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+000A6F 904CC5            MOV     DPTR,#g_variable+06H
+000A72 E0                MOVX    A,@DPTR
+000A73 6403              XRL     A,#03H
+000A75 7045              JNZ     ?C0061?KB_PROCESS
+  279: 	{
+  280: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
+000A77 904E56            MOV     DPTR,#i
+000A7A F0                MOVX    @DPTR,A
+000A7B         ?C0062?KB_PROCESS:
+000A7B 904E56            MOV     DPTR,#i
+000A7E E0                MOVX    A,@DPTR
+000A7F FF                MOV     R7,A
+000A80 C3                CLR     C
+000A81 9405              SUBB    A,#05H
+000A83 5037              JNC     ?C0061?KB_PROCESS
+  281: 		{
+  282: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
+000A85 904E52            MOV     DPTR,#pEvt
+000A88 E0                MOVX    A,@DPTR
+000A89 FB                MOV     R3,A
+000A8A A3                INC     DPTR
+000A8B E0                MOVX    A,@DPTR
+000A8C FA                MOV     R2,A
+000A8D A3                INC     DPTR
+000A8E E0                MOVX    A,@DPTR
+000A8F 2401              ADD     A,#01H
+000A91 F9                MOV     R1,A
+000A92 E4                CLR     A
+000A93 3A                ADDC    A,R2
+000A94 FA                MOV     R2,A
+000A95 7E00              MOV     R6,#00H
+000A97 E9                MOV     A,R1
+000A98 2F                ADD     A,R7
+000A99 F9                MOV     R1,A
+000A9A EE                MOV     A,R6
+000A9B 3A                ADDC    A,R2
+000A9C FA                MOV     R2,A
+000A9D 1203B6            LCALL   ?C?CLDPTR
+000AA0 FF                MOV     R7,A
+000AA1 6439              XRL     A,#039H
+000AA3 6009              JZ      ?C0066?KB_PROCESS
+000AA5 EF                MOV     A,R7
+000AA6 6453              XRL     A,#053H
+000AA8 6004              JZ      ?C0066?KB_PROCESS
+000AAA EF                MOV     A,R7
+000AAB B44706            CJNE    A,#047H,?C0064?KB_PROCESS
+000AAE         ?C0066?KB_PROCESS:
+  283: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
+  284: 			{
+  285: 				get_24g_led_send = 1;
+000AAE 904DD0            MOV     DPTR,#get_24g_led_send
+000AB1 7401              MOV     A,#01H
+000AB3 F0                MOVX    @DPTR,A
+  286: 			}
+  287: 		}
+000AB4         ?C0064?KB_PROCESS:
+000AB4 904E56            MOV     DPTR,#i
+000AB7 E0                MOVX    A,@DPTR
+000AB8 04                INC     A
 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
-000ACD A3                INC     DPTR
-000ACE F0                MOVX    @DPTR,A
-  298: 
-  299: 		standard_key_release_flag = 0;
-000ACF 904DD8            MOV     DPTR,#standard_key_release_flag
+000ABA 80BF              SJMP    ?C0062?KB_PROCESS
+  288: 	}
+000ABC         ?C0061?KB_PROCESS:
+  289: 
+  290: 	kb_multikey_setup(pEvt);
+000ABC 904E52            MOV     DPTR,#pEvt
+000ABF E0                MOVX    A,@DPTR
+000AC0 FB                MOV     R3,A
+000AC1 A3                INC     DPTR
+000AC2 E0                MOVX    A,@DPTR
+000AC3 FA                MOV     R2,A
+000AC4 A3                INC     DPTR
+000AC5 E0                MOVX    A,@DPTR
+000AC6 F9                MOV     R1,A
+000AC7 71A0              ACALL   _kb_multikey_setup
+  291: 	
+  292: 	if (mult_key_status == KEY_PRESS) 
+000AC9 904DE4            MOV     DPTR,#mult_key_status
+000ACC E0                MOVX    A,@DPTR
+000ACD B40111            CJNE    A,#01H,?C0067?KB_PROCESS
+  293: 	{
+  294: 		mult_key_status = KEY_WAIT_RELEASE;
+000AD0 7402              MOV     A,#02H
 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
-000AE6 E0                MOVX    A,@DPTR
-000AE7 FA                MOV     R2,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
-000B04 E0                MOVX    A,@DPTR
-000B05 FA                MOV     R2,A
-000B06 A3                INC     DPTR
+  295: 		multikey[0] = HID_REPORTID_2;	
+000AD3 904DE5            MOV     DPTR,#multikey
+000AD6 F0                MOVX    @DPTR,A
+  296: 		IPC_TxHidData(multikey, 3);
+000AD7 7B01              MOV     R3,#01H
+000AD9 7A4D              MOV     R2,#HIGH multikey
+000ADB 79E5              MOV     R1,#LOW multikey
+000ADD 7D03              MOV     R5,#03H
+000ADF C1CE              AJMP    _IPC_TxHidData
+  297: 	}
+000AE1         ?C0067?KB_PROCESS:
+  298: 	else if(mult_key_status == KEY_RELEASE)
+000AE1 904DE4            MOV     DPTR,#mult_key_status
+000AE4 E0                MOVX    A,@DPTR
+000AE5 B40316            CJNE    A,#03H,?C0069?KB_PROCESS
+  299: 	{
+  300: 		mult_key_status = KEY_STANDBY;
+000AE8 E4                CLR     A
+000AE9 F0                MOVX    @DPTR,A
+  301: 		mult_key_value = 0;
+000AEA 904DE3            MOV     DPTR,#mult_key_value
+000AED F0                MOVX    @DPTR,A
+  302: 		multikey[0] = HID_REPORTID_2;	
+000AEE 904DE5            MOV     DPTR,#multikey
+000AF1 7402              MOV     A,#02H
+000AF3 F0                MOVX    @DPTR,A
+  303: 		IPC_TxHidData(multikey, 3);
+000AF4 7B01              MOV     R3,#01H
+000AF6 7A4D              MOV     R2,#HIGH multikey
+000AF8 79E5              MOV     R1,#LOW multikey
+000AFA 7D03              MOV     R5,#03H
+000AFC C1CE              AJMP    _IPC_TxHidData
+  304: 	}
+000AFE         ?C0069?KB_PROCESS:
+  305: 	else 
+  306: 	{
+  307: 		hidBuff[0] = HID_REPORTID_1;
+000AFE 904800            MOV     DPTR,#hidBuff
+000B01 7401              MOV     A,#01H
+000B03 F0                MOVX    @DPTR,A
+  308: 		hidBuff[1] = pEvt->standardSel;
+000B04 904E52            MOV     DPTR,#pEvt
 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
+000B08 FB                MOV     R3,A
+000B09 A3                INC     DPTR
+000B0A E0                MOVX    A,@DPTR
+000B0B FA                MOV     R2,A
+000B0C A3                INC     DPTR
+000B0D E0                MOVX    A,@DPTR
+000B0E F9                MOV     R1,A
+000B0F 1203B6            LCALL   ?C?CLDPTR
+000B12 904801            MOV     DPTR,#hidBuff+01H
+000B15 F0                MOVX    @DPTR,A
+  309: 		hidBuff[2] = 0;
+000B16 E4                CLR     A
+000B17 A3                INC     DPTR
+000B18 F0                MOVX    @DPTR,A
+  310: 
+  311: 		standard_key_release_flag = 0;
+000B19 904DD8            MOV     DPTR,#standard_key_release_flag
+000B1C F0                MOVX    @DPTR,A
+  312: 
+  313: 		if (pEvt->ksPool[0] == HID_KEY_FN)
+000B1D 900001            MOV     DPTR,#01H
+000B20 1203CF            LCALL   ?C?CLDOPTR
+000B23 B4AF1E            CJNE    A,#0AFH,?C0071?KB_PROCESS
+  314: 			xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
+000B26 7E48              MOV     R6,#HIGH hidBuff+03H
+000B28 7F03              MOV     R7,#LOW hidBuff+03H
+000B2A 904E52            MOV     DPTR,#pEvt
+000B2D E0                MOVX    A,@DPTR
+000B2E FB                MOV     R3,A
+000B2F A3                INC     DPTR
 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     
+000B31 FA                MOV     R2,A
+000B32 A3                INC     DPTR
+000B33 E0                MOVX    A,@DPTR
+000B34 2402              ADD     A,#02H
+000B36 F9                MOV     R1,A
+000B37 E4                CLR     A
+000B38 3A                ADDC    A,R2
+000B39 FA                MOV     R2,A
+000B3A 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
+000B3D 7405              MOV     A,#05H
+000B3F F0                MOVX    @DPTR,A
+000B40 11DA              ACALL   _xmemcpy
+000B42 801C              SJMP    ?C0072?KB_PROCESS
+000B44         ?C0071?KB_PROCESS:
+  315: 		else
+  316: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
+000B44 7E48              MOV     R6,#HIGH hidBuff+03H
+000B46 7F03              MOV     R7,#LOW hidBuff+03H
+000B48 904E52            MOV     DPTR,#pEvt
+000B4B E0                MOVX    A,@DPTR
+000B4C FB                MOV     R3,A
+000B4D A3                INC     DPTR
+000B4E E0                MOVX    A,@DPTR
+000B4F FA                MOV     R2,A
+000B50 A3                INC     DPTR
+000B51 E0                MOVX    A,@DPTR
+000B52 2401              ADD     A,#01H
+000B54 F9                MOV     R1,A
+000B55 E4                CLR     A
+000B56 3A                ADDC    A,R2
+000B57 FA                MOV     R2,A
+000B58 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
+000B5B 7406              MOV     A,#06H
+000B5D F0                MOVX    @DPTR,A
+000B5E 11DA              ACALL   _xmemcpy
+000B60         ?C0072?KB_PROCESS:
+  317: 		
+  318: 		for(i = 3; i<9;i++)
+000B60 904E56            MOV     DPTR,#i
+000B63 7403              MOV     A,#03H
+000B65 F0                MOVX    @DPTR,A
+000B66         ?C0073?KB_PROCESS:
+000B66 904E56            MOV     DPTR,#i
+000B69 E0                MOVX    A,@DPTR
+000B6A FF                MOV     R7,A
+000B6B C3                CLR     C
+000B6C 9409              SUBB    A,#09H
+000B6E 5025              JNC     ?C0074?KB_PROCESS
+  319: 		{
+  320: 			if (hidBuff[i] == HID_KEY_FN)
+000B70 7400              MOV     A,#LOW hidBuff
+000B72 2F                ADD     A,R7
+000B73 F582              MOV     DPL,A
+000B75 E4                CLR     A
+000B76 3448              ADDC    A,#HIGH hidBuff
+000B78 F583              MOV     DPH,A
+000B7A E0                MOVX    A,@DPTR
+000B7B B4AF0F            CJNE    A,#0AFH,?C0075?KB_PROCESS
+  321: 				hidBuff[i] = 0;
+000B7E 904E56            MOV     DPTR,#i
+000B81 E0                MOVX    A,@DPTR
+000B82 2400              ADD     A,#LOW hidBuff
+000B84 F582              MOV     DPL,A
+000B86 E4                CLR     A
+000B87 3448              ADDC    A,#HIGH hidBuff
+000B89 F583              MOV     DPH,A
+000B8B E4                CLR     A
+000B8C F0                MOVX    @DPTR,A
+  322: 		}
+000B8D         ?C0075?KB_PROCESS:
+000B8D 904E56            MOV     DPTR,#i
+000B90 E0                MOVX    A,@DPTR
+000B91 04                INC     A
+000B92 F0                MOVX    @DPTR,A
+000B93 80D1              SJMP    ?C0073?KB_PROCESS
+000B95         ?C0074?KB_PROCESS:
+  323: 		
+  324: 		IPC_TxHidData(hidBuff, 9);
+000B95 7B01              MOV     R3,#01H
+000B97 7A48              MOV     R2,#HIGH hidBuff
+000B99 7900              MOV     R1,#LOW hidBuff
+000B9B 7D09              MOV     R5,#09H
+000B9D D1CE              ACALL   _IPC_TxHidData
+  325: 	}
+  326: 	return;
+  327: }
+000B9F         ?C0051?KB_PROCESS:
+000B9F 22                RET     
 ----- FUNCTION _kb_motion_keyscan (END) -------
 
 
 ----- FUNCTION _kb_multikey_setup (BEGIN) -----
  FILE: 'kb_process.c'
-  397: void kb_multikey_setup(tKSEVENT *pEvt)
-  398: {
-000B56 904E65            MOV     DPTR,#pEvt
-000B59 EB                MOV     A,R3
-000B5A F0                MOVX    @DPTR,A
-000B5B A3                INC     DPTR
-000B5C EA                MOV     A,R2
-000B5D F0                MOVX    @DPTR,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
+  409: void kb_multikey_setup(tKSEVENT *pEvt)
+  410: {
+000BA0 904E65            MOV     DPTR,#pEvt
+000BA3 EB                MOV     A,R3
+000BA4 F0                MOVX    @DPTR,A
+000BA5 A3                INC     DPTR
+000BA6 EA                MOV     A,R2
+000BA7 F0                MOVX    @DPTR,A
+000BA8 A3                INC     DPTR
+000BA9 E9                MOV     A,R1
+000BAA F0                MOVX    @DPTR,A
+  411: 	byte i = 0;
+  412: 	
+000BAB E4                CLR     A
+000BAC A3                INC     DPTR
+000BAD F0                MOVX    @DPTR,A
+  413: 	for (i = 0;i < 6;i++)
+000BAE F0                MOVX    @DPTR,A
+000BAF         ?C0098?KB_PROCESS:
+000BAF 904E68            MOV     DPTR,#i
+000BB2 E0                MOVX    A,@DPTR
+000BB3 FF                MOV     R7,A
+000BB4 C3                CLR     C
+000BB5 9406              SUBB    A,#06H
+000BB7 4002              JC      $ + 4H
+000BB9 A1FC              AJMP    ?C0143?KB_PROCESS
+  414: 	{		
+  415: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+000BBB 904E65            MOV     DPTR,#pEvt
+000BBE E0                MOVX    A,@DPTR
+000BBF FB                MOV     R3,A
+000BC0 A3                INC     DPTR
+000BC1 E0                MOVX    A,@DPTR
+000BC2 FA                MOV     R2,A
+000BC3 A3                INC     DPTR
+000BC4 E0                MOVX    A,@DPTR
+000BC5 2401              ADD     A,#01H
+000BC7 F9                MOV     R1,A
+000BC8 E4                CLR     A
+000BC9 3A                ADDC    A,R2
+000BCA FA                MOV     R2,A
+000BCB 7E00              MOV     R6,#00H
+000BCD E9                MOV     A,R1
+000BCE 2F                ADD     A,R7
+000BCF F9                MOV     R1,A
+000BD0 EE                MOV     A,R6
+000BD1 3A                ADDC    A,R2
+000BD2 FA                MOV     R2,A
+000BD3 1203B6            LCALL   ?C?CLDPTR
+000BD6 FF                MOV     R7,A
+000BD7 54F0              ANL     A,#0F0H
+000BD9 64F0              XRL     A,#0F0H
+000BDB 6009              JZ      ?C0102?KB_PROCESS
+000BDD EF                MOV     A,R7
+000BDE 54D0              ANL     A,#0D0H
+000BE0 64D0              XRL     A,#0D0H
+000BE2 6002              JZ      $ + 4H
+000BE4 A1F4              AJMP    ?C0100?KB_PROCESS
+000BE6         ?C0102?KB_PROCESS:
+  416: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  417: 		{
+  418: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+000BE6 1203B6            LCALL   ?C?CLDPTR
+000BE9 FB                MOV     R3,A
+000BEA B4F108            CJNE    A,#0F1H,?C0103?KB_PROCESS
   419: 			{
-  420: 				kb_set_multikey(0x00b6);
-000BE1 7FB6              MOV     R7,#0B6H
-000BE3 7E00              MOV     R6,#00H
-000BE5 B1B3              ACALL   _kb_set_multikey
+  420: 				kb_set_multikey(0x0183); 
+000BED 7F83              MOV     R7,#083H
+000BEF 7E01              MOV     R6,#01H
+000BF1 B1FD              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
+000BF3 A1C9              AJMP    ?C0104?KB_PROCESS
+000BF5         ?C0103?KB_PROCESS:
+  422: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+000BF5 EB                MOV     A,R3
+000BF6 B4F208            CJNE    A,#0F2H,?C0105?KB_PROCESS
+  423: 			{ 
+  424: 				kb_set_multikey(0x00cd);
+000BF9 7FCD              MOV     R7,#0CDH
 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
+000BFD B1FD              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
+000BFF A1C9              AJMP    ?C0104?KB_PROCESS
+000C01         ?C0105?KB_PROCESS:
+  426: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+000C01 904E65            MOV     DPTR,#pEvt
+000C04 E0                MOVX    A,@DPTR
+000C05 FB                MOV     R3,A
+000C06 A3                INC     DPTR
+000C07 E0                MOVX    A,@DPTR
+000C08 FA                MOV     R2,A
+000C09 A3                INC     DPTR
+000C0A E0                MOVX    A,@DPTR
+000C0B 2401              ADD     A,#01H
+000C0D F9                MOV     R1,A
+000C0E E4                CLR     A
+000C0F 3A                ADDC    A,R2
+000C10 FA                MOV     R2,A
+000C11 A3                INC     DPTR
+000C12 E0                MOVX    A,@DPTR
+000C13 7E00              MOV     R6,#00H
+000C15 29                ADD     A,R1
+000C16 F9                MOV     R1,A
+000C17 EE                MOV     A,R6
+000C18 3A                ADDC    A,R2
+000C19 FA                MOV     R2,A
+000C1A 1203B6            LCALL   ?C?CLDPTR
+000C1D FB                MOV     R3,A
+000C1E B4F306            CJNE    A,#0F3H,?C0107?KB_PROCESS
   427: 			{
-  428: 				kb_set_multikey(0x00ea);
-000C13 7FEA              MOV     R7,#0EAH
-000C15 7E00              MOV     R6,#00H
-000C17 B1B3              ACALL   _kb_set_multikey
+  428: 				kb_set_multikey(0x00b7);
+000C21 7FB7              MOV     R7,#0B7H
+000C23 B1FD              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
+000C25 A1C9              AJMP    ?C0104?KB_PROCESS
+000C27         ?C0107?KB_PROCESS:
+  430: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+000C27 EB                MOV     A,R3
+000C28 B4F408            CJNE    A,#0F4H,?C0109?KB_PROCESS
   431: 			{
-  432: 				kb_set_multikey(0x00e9);
-000C3B 7FE9              MOV     R7,#0E9H
-000C3D B1B3              ACALL   _kb_set_multikey
+  432: 				kb_set_multikey(0x00b6);
+000C2B 7FB6              MOV     R7,#0B6H
+000C2D 7E00              MOV     R6,#00H
+000C2F B1FD              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
+000C31 A1C9              AJMP    ?C0104?KB_PROCESS
+000C33         ?C0109?KB_PROCESS:
+  434: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+000C33 904E65            MOV     DPTR,#pEvt
+000C36 E0                MOVX    A,@DPTR
+000C37 FB                MOV     R3,A
+000C38 A3                INC     DPTR
+000C39 E0                MOVX    A,@DPTR
+000C3A FA                MOV     R2,A
+000C3B A3                INC     DPTR
+000C3C E0                MOVX    A,@DPTR
+000C3D 2401              ADD     A,#01H
+000C3F F9                MOV     R1,A
+000C40 E4                CLR     A
+000C41 3A                ADDC    A,R2
+000C42 FA                MOV     R2,A
+000C43 A3                INC     DPTR
+000C44 E0                MOVX    A,@DPTR
+000C45 7E00              MOV     R6,#00H
+000C47 29                ADD     A,R1
+000C48 F9                MOV     R1,A
+000C49 EE                MOV     A,R6
+000C4A 3A                ADDC    A,R2
+000C4B FA                MOV     R2,A
+000C4C 1203B6            LCALL   ?C?CLDPTR
+000C4F FB                MOV     R3,A
+000C50 B4F506            CJNE    A,#0F5H,?C0111?KB_PROCESS
   435: 			{
-  436: 				kb_set_multikey(0x00e2);
-000C45 7FE2              MOV     R7,#0E2H
-000C47 7E00              MOV     R6,#00H
-000C49 B1B3              ACALL   _kb_set_multikey
+  436: 				kb_set_multikey(0x00b5);
+000C53 7FB5              MOV     R7,#0B5H
+000C55 B1FD              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
-000C69 FB                MOV     R3,A
-000C6A B4F907            CJNE    A,#0F9H,?C0118?KB_PROCESS
+000C57 A1C9              AJMP    ?C0104?KB_PROCESS
+000C59         ?C0111?KB_PROCESS:
+  438: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+000C59 EB                MOV     A,R3
+000C5A B4F608            CJNE    A,#0F6H,?C0113?KB_PROCESS
   439: 			{
-  440: 				kb_set_multikey(0x0194);
-000C6D 7F94              MOV     R7,#094H
-000C6F 0E                INC     R6
-000C70 B1B3              ACALL   _kb_set_multikey
+  440: 				kb_set_multikey(0x00ea);
+000C5D 7FEA              MOV     R7,#0EAH
+000C5F 7E00              MOV     R6,#00H
+000C61 B1FD              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
+000C63 A1C9              AJMP    ?C0104?KB_PROCESS
+000C65         ?C0113?KB_PROCESS:
+  442: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+000C65 904E65            MOV     DPTR,#pEvt
+000C68 E0                MOVX    A,@DPTR
+000C69 FB                MOV     R3,A
+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 B4F706            CJNE    A,#0F7H,?C0115?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
+  444: 				kb_set_multikey(0x00e9);
+000C85 7FE9              MOV     R7,#0E9H
+000C87 B1FD              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
-000C9C FB                MOV     R3,A
-000C9D B4FB07            CJNE    A,#0FBH,?C0122?KB_PROCESS
+000C89 A1C9              AJMP    ?C0104?KB_PROCESS
+000C8B         ?C0115?KB_PROCESS:
+  446: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+000C8B EB                MOV     A,R3
+000C8C B4F808            CJNE    A,#0F8H,?C0117?KB_PROCESS
   447: 			{
-  448: 				kb_set_multikey(0x0192);
-000CA0 7F92              MOV     R7,#092H
-000CA2 0E                INC     R6
-000CA3 B1B3              ACALL   _kb_set_multikey
+  448: 				kb_set_multikey(0x00e2);
+000C8F 7FE2              MOV     R7,#0E2H
+000C91 7E00              MOV     R6,#00H
+000C93 B1FD              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
+000C95 A1C9              AJMP    ?C0104?KB_PROCESS
+000C97         ?C0117?KB_PROCESS:
+  450: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+000C97 904E65            MOV     DPTR,#pEvt
+000C9A E0                MOVX    A,@DPTR
+000C9B FB                MOV     R3,A
+000C9C A3                INC     DPTR
+000C9D E0                MOVX    A,@DPTR
+000C9E FA                MOV     R2,A
+000C9F A3                INC     DPTR
+000CA0 E0                MOVX    A,@DPTR
+000CA1 2401              ADD     A,#01H
+000CA3 F9                MOV     R1,A
+000CA4 E4                CLR     A
+000CA5 3A                ADDC    A,R2
+000CA6 FA                MOV     R2,A
+000CA7 A3                INC     DPTR
+000CA8 E0                MOVX    A,@DPTR
+000CA9 7E00              MOV     R6,#00H
+000CAB 29                ADD     A,R1
+000CAC F9                MOV     R1,A
+000CAD EE                MOV     A,R6
+000CAE 3A                ADDC    A,R2
+000CAF FA                MOV     R2,A
+000CB0 1203B6            LCALL   ?C?CLDPTR
+000CB3 FB                MOV     R3,A
+000CB4 B4F907            CJNE    A,#0F9H,?C0119?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
+  452: 				kb_set_multikey(0x0194);
+000CB7 7F94              MOV     R7,#094H
+000CB9 0E                INC     R6
+000CBA B1FD              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
+000CBC A1C9              AJMP    ?C0104?KB_PROCESS
+000CBE         ?C0119?KB_PROCESS:
+  454: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+000CBE EB                MOV     A,R3
+000CBF B4FA08            CJNE    A,#0FAH,?C0121?KB_PROCESS
   455: 			{
-  456: 				kb_set_multikey(0x0225);
-000CD3 7F25              MOV     R7,#025H
-000CD5 7E02              MOV     R6,#02H
-000CD7 B1B3              ACALL   _kb_set_multikey
+  456: 				kb_set_multikey(0x018a);//mail
+000CC2 7F8A              MOV     R7,#08AH
+000CC4 7E01              MOV     R6,#01H
+000CC6 B1FD              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
+000CC8 A1C9              AJMP    ?C0104?KB_PROCESS
+000CCA         ?C0121?KB_PROCESS:
+  458: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+000CCA 904E65            MOV     DPTR,#pEvt
+000CCD E0                MOVX    A,@DPTR
+000CCE FB                MOV     R3,A
+000CCF A3                INC     DPTR
+000CD0 E0                MOVX    A,@DPTR
+000CD1 FA                MOV     R2,A
+000CD2 A3                INC     DPTR
+000CD3 E0                MOVX    A,@DPTR
+000CD4 2401              ADD     A,#01H
+000CD6 F9                MOV     R1,A
+000CD7 E4                CLR     A
+000CD8 3A                ADDC    A,R2
+000CD9 FA                MOV     R2,A
+000CDA A3                INC     DPTR
+000CDB E0                MOVX    A,@DPTR
+000CDC 7E00              MOV     R6,#00H
+000CDE 29                ADD     A,R1
+000CDF F9                MOV     R1,A
+000CE0 EE                MOV     A,R6
+000CE1 3A                ADDC    A,R2
+000CE2 FA                MOV     R2,A
+000CE3 1203B6            LCALL   ?C?CLDPTR
+000CE6 FB                MOV     R3,A
+000CE7 B4FB07            CJNE    A,#0FBH,?C0123?KB_PROCESS
   459: 			{
-  460: 				kb_set_multikey(0x0226);
-000CDF 7F26              MOV     R7,#026H
-000CE1 7E02              MOV     R6,#02H
-000CE3 B1B3              ACALL   _kb_set_multikey
+  460: 				kb_set_multikey(0x0192);
+000CEA 7F92              MOV     R7,#092H
+000CEC 0E                INC     R6
+000CED B1FD              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
+000CEF A1C9              AJMP    ?C0104?KB_PROCESS
+000CF1         ?C0123?KB_PROCESS:
+  462: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+000CF1 EB                MOV     A,R3
+000CF2 B4D008            CJNE    A,#0D0H,?C0125?KB_PROCESS
   463: 			{
-  464: 				kb_set_multikey(0x0224);
-000D07 7F24              MOV     R7,#024H
-000D09 7E02              MOV     R6,#02H
-000D0B B1B3              ACALL   _kb_set_multikey
+  464: 				kb_set_multikey(0x022a);//www Favorites
+000CF5 7F2A              MOV     R7,#02AH
+000CF7 7E02              MOV     R6,#02H
+000CF9 B1FD              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
+000CFB A1C9              AJMP    ?C0104?KB_PROCESS
+000CFD         ?C0125?KB_PROCESS:
+  466: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+000CFD 904E65            MOV     DPTR,#pEvt
+000D00 E0                MOVX    A,@DPTR
+000D01 FB                MOV     R3,A
+000D02 A3                INC     DPTR
+000D03 E0                MOVX    A,@DPTR
+000D04 FA                MOV     R2,A
+000D05 A3                INC     DPTR
+000D06 E0                MOVX    A,@DPTR
+000D07 2401              ADD     A,#01H
+000D09 F9                MOV     R1,A
+000D0A E4                CLR     A
+000D0B 3A                ADDC    A,R2
+000D0C FA                MOV     R2,A
+000D0D A3                INC     DPTR
+000D0E E0                MOVX    A,@DPTR
+000D0F 7E00              MOV     R6,#00H
+000D11 29                ADD     A,R1
+000D12 F9                MOV     R1,A
+000D13 EE                MOV     A,R6
+000D14 3A                ADDC    A,R2
+000D15 FA                MOV     R2,A
+000D16 1203B6            LCALL   ?C?CLDPTR
+000D19 FB                MOV     R3,A
+000D1A B4D108            CJNE    A,#0D1H,?C0127?KB_PROCESS
   467: 			{
-  468: 				kb_set_multikey(0x0227);
-000D13 7F27              MOV     R7,#027H
-000D15 7E02              MOV     R6,#02H
-000D17 B1B3              ACALL   _kb_set_multikey
+  468: 				kb_set_multikey(0x0225);
+000D1D 7F25              MOV     R7,#025H
+000D1F 7E02              MOV     R6,#02H
+000D21 B1FD              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
-  472: 			{
-  473: 				kb_set_multikey(0x0221);
-000D3B 7F21              MOV     R7,#021H
-000D3D 7E02              MOV     R6,#02H
-000D3F B1B3              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
-  476: 			{
-  477: 				kb_set_multikey(0x0223);
-000D47 7F23              MOV     R7,#023H
-000D49 7E02              MOV     R6,#02H
-000D4B B1B3              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
-  480: 			{
-  481: 				kb_set_multikey(0x0070);
-000D6F 7F70              MOV     R7,#070H
-000D71 B1B3              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
+000D23 A1C9              AJMP    ?C0104?KB_PROCESS
+000D25         ?C0127?KB_PROCESS:
+  470: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+000D25 EB                MOV     A,R3
+000D26 B4D308            CJNE    A,#0D3H,?C0129?KB_PROCESS
+  471: 			{
+  472: 				kb_set_multikey(0x0226);
+000D29 7F26              MOV     R7,#026H
+000D2B 7E02              MOV     R6,#02H
+000D2D B1FD              ACALL   _kb_set_multikey
+  473: 			}
+000D2F A1C9              AJMP    ?C0104?KB_PROCESS
+000D31         ?C0129?KB_PROCESS:
+  474: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+000D31 904E65            MOV     DPTR,#pEvt
+000D34 E0                MOVX    A,@DPTR
+000D35 FB                MOV     R3,A
+000D36 A3                INC     DPTR
+000D37 E0                MOVX    A,@DPTR
+000D38 FA                MOV     R2,A
+000D39 A3                INC     DPTR
+000D3A E0                MOVX    A,@DPTR
+000D3B 2401              ADD     A,#01H
+000D3D F9                MOV     R1,A
+000D3E E4                CLR     A
+000D3F 3A                ADDC    A,R2
+000D40 FA                MOV     R2,A
+000D41 A3                INC     DPTR
+000D42 E0                MOVX    A,@DPTR
+000D43 7E00              MOV     R6,#00H
+000D45 29                ADD     A,R1
+000D46 F9                MOV     R1,A
+000D47 EE                MOV     A,R6
+000D48 3A                ADDC    A,R2
+000D49 FA                MOV     R2,A
+000D4A 1203B6            LCALL   ?C?CLDPTR
+000D4D FB                MOV     R3,A
+000D4E B4D208            CJNE    A,#0D2H,?C0131?KB_PROCESS
+  475: 			{
+  476: 				kb_set_multikey(0x0224);
+000D51 7F24              MOV     R7,#024H
+000D53 7E02              MOV     R6,#02H
+000D55 B1FD              ACALL   _kb_set_multikey
+  477: 			}
+000D57 8070              SJMP    ?C0104?KB_PROCESS
+000D59         ?C0131?KB_PROCESS:
+  478: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+000D59 EB                MOV     A,R3
+000D5A B4D408            CJNE    A,#0D4H,?C0133?KB_PROCESS
+  479: 			{
+  480: 				kb_set_multikey(0x0227);
+000D5D 7F27              MOV     R7,#027H
+000D5F 7E02              MOV     R6,#02H
+000D61 B1FD              ACALL   _kb_set_multikey
+  481: 			}
+000D63 8064              SJMP    ?C0104?KB_PROCESS
+000D65         ?C0133?KB_PROCESS:
+  482: 			
+  483: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+000D65 904E65            MOV     DPTR,#pEvt
+000D68 E0                MOVX    A,@DPTR
+000D69 FB                MOV     R3,A
+000D6A A3                INC     DPTR
+000D6B E0                MOVX    A,@DPTR
+000D6C FA                MOV     R2,A
+000D6D A3                INC     DPTR
+000D6E E0                MOVX    A,@DPTR
+000D6F 2401              ADD     A,#01H
+000D71 F9                MOV     R1,A
+000D72 E4                CLR     A
+000D73 3A                ADDC    A,R2
+000D74 FA                MOV     R2,A
+000D75 A3                INC     DPTR
+000D76 E0                MOVX    A,@DPTR
+000D77 7E00              MOV     R6,#00H
+000D79 29                ADD     A,R1
+000D7A F9                MOV     R1,A
+000D7B EE                MOV     A,R6
+000D7C 3A                ADDC    A,R2
+000D7D FA                MOV     R2,A
+000D7E 1203B6            LCALL   ?C?CLDPTR
+000D81 FB                MOV     R3,A
+000D82 B4D508            CJNE    A,#0D5H,?C0135?KB_PROCESS
   484: 			{
-  485: 				kb_set_multikey(0x006f);
-000D79 7F6F              MOV     R7,#06FH
-000D7B 7E00              MOV     R6,#00H
-000D7D B1B3              ACALL   _kb_set_multikey
+  485: 				kb_set_multikey(0x0221);
+000D85 7F21              MOV     R7,#021H
+000D87 7E02              MOV     R6,#02H
+000D89 B1FD              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
-  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;
+000D8B 803C              SJMP    ?C0104?KB_PROCESS
+000D8D         ?C0135?KB_PROCESS:
+  487: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+000D8D EB                MOV     A,R3
+000D8E B4D608            CJNE    A,#0D6H,?C0137?KB_PROCESS
+  488: 			{
+  489: 				kb_set_multikey(0x0223);
+000D91 7F23              MOV     R7,#023H
+000D93 7E02              MOV     R6,#02H
+000D95 B1FD              ACALL   _kb_set_multikey
+  490: 			}
+000D97 8030              SJMP    ?C0104?KB_PROCESS
+000D99         ?C0137?KB_PROCESS:
+  491: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+000D99 904E65            MOV     DPTR,#pEvt
+000D9C E0                MOVX    A,@DPTR
+000D9D FB                MOV     R3,A
+000D9E A3                INC     DPTR
+000D9F E0                MOVX    A,@DPTR
+000DA0 FA                MOV     R2,A
+000DA1 A3                INC     DPTR
+000DA2 E0                MOVX    A,@DPTR
+000DA3 2401              ADD     A,#01H
+000DA5 F9                MOV     R1,A
 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     
+000DA7 3A                ADDC    A,R2
+000DA8 FA                MOV     R2,A
+000DA9 A3                INC     DPTR
+000DAA E0                MOVX    A,@DPTR
+000DAB 7E00              MOV     R6,#00H
+000DAD 29                ADD     A,R1
+000DAE F9                MOV     R1,A
+000DAF EE                MOV     A,R6
+000DB0 3A                ADDC    A,R2
+000DB1 FA                MOV     R2,A
+000DB2 1203B6            LCALL   ?C?CLDPTR
+000DB5 FB                MOV     R3,A
+000DB6 B4D706            CJNE    A,#0D7H,?C0139?KB_PROCESS
+  492: 			{
+  493: 				kb_set_multikey(0x0070);
+000DB9 7F70              MOV     R7,#070H
+000DBB B1FD              ACALL   _kb_set_multikey
+  494: 			}
+000DBD 800A              SJMP    ?C0104?KB_PROCESS
+000DBF         ?C0139?KB_PROCESS:
+  495: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+000DBF EB                MOV     A,R3
+000DC0 B4D806            CJNE    A,#0D8H,?C0104?KB_PROCESS
+  496: 			{
+  497: 				kb_set_multikey(0x006f);
+000DC3 7F6F              MOV     R7,#06FH
+000DC5 7E00              MOV     R6,#00H
+000DC7 B1FD              ACALL   _kb_set_multikey
+  498: 			}
+000DC9         ?C0104?KB_PROCESS:
+  499: 			
+  500: 			if(mult_key_status == KEY_WAIT_RELEASE)
+000DC9 904DE4            MOV     DPTR,#mult_key_status
+000DCC E0                MOVX    A,@DPTR
+000DCD B40224            CJNE    A,#02H,?C0100?KB_PROCESS
+  501: 			{
+  502: 				mult_key_value = pEvt->ksPool[i];
+000DD0 904E65            MOV     DPTR,#pEvt
+000DD3 E0                MOVX    A,@DPTR
+000DD4 FB                MOV     R3,A
+000DD5 A3                INC     DPTR
+000DD6 E0                MOVX    A,@DPTR
+000DD7 FA                MOV     R2,A
+000DD8 A3                INC     DPTR
+000DD9 E0                MOVX    A,@DPTR
+000DDA 2401              ADD     A,#01H
+000DDC F9                MOV     R1,A
+000DDD E4                CLR     A
+000DDE 3A                ADDC    A,R2
+000DDF FA                MOV     R2,A
+000DE0 A3                INC     DPTR
+000DE1 E0                MOVX    A,@DPTR
+000DE2 7E00              MOV     R6,#00H
+000DE4 29                ADD     A,R1
+000DE5 F9                MOV     R1,A
+000DE6 EE                MOV     A,R6
+000DE7 3A                ADDC    A,R2
+000DE8 FA                MOV     R2,A
+000DE9 1203B6            LCALL   ?C?CLDPTR
+000DEC 904DE3            MOV     DPTR,#mult_key_value
+000DEF F0                MOVX    @DPTR,A
+  503: 				pEvt->ksPool[i] = 0;
+000DF0 E4                CLR     A
+000DF1 1203FC            LCALL   ?C?CSTPTR
+  504: 			}
+  505: 		}
+  506: 	}
+000DF4         ?C0100?KB_PROCESS:
+000DF4 904E68            MOV     DPTR,#i
+000DF7 E0                MOVX    A,@DPTR
+000DF8 04                INC     A
+000DF9 F0                MOVX    @DPTR,A
+000DFA 61AF              AJMP    ?C0098?KB_PROCESS
+  507: }
+000DFC         ?C0143?KB_PROCESS:
+000DFC 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
 
@@ -1559,71 +1615,71 @@
    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
+000DFD AD07              MOV     R5,AR7
+000DFF 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
+000E01 904DE4            MOV     DPTR,#mult_key_status
+000E04 E0                MOVX    A,@DPTR
+000E05 6402              XRL     A,#02H
+000E07 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
+000E09 7401              MOV     A,#01H
+000E0B F0                MOVX    @DPTR,A
    97: 		multikey[1] = (multikey_value&0xff);
-000DC2 904DE5            MOV     DPTR,#multikey
-000DC5 04                INC     A
-000DC6 F0                MOVX    @DPTR,A
+000E0C 904DE5            MOV     DPTR,#multikey
+000E0F 04                INC     A
+000E10 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
+000E11 EF                MOV     A,R7
+000E12 A3                INC     DPTR
+000E13 F0                MOVX    @DPTR,A
    99: 	}
-000DCA EE                MOV     A,R6
-000DCB A3                INC     DPTR
-000DCC F0                MOVX    @DPTR,A
+000E14 EE                MOV     A,R6
+000E15 A3                INC     DPTR
+000E16 F0                MOVX    @DPTR,A
   100: }
   101: 
-000DCD         ?C0025?KB_PROCESS:
-000DCD 22                RET     
+000E17         ?C0025?KB_PROCESS:
+000E17 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
+000E18 904E7E            MOV     DPTR,#dest
+000E1B EB                MOV     A,R3
+000E1C F0                MOVX    @DPTR,A
+000E1D A3                INC     DPTR
+000E1E EA                MOV     A,R2
+000E1F F0                MOVX    @DPTR,A
+000E20 A3                INC     DPTR
+000E21 E9                MOV     A,R1
+000E22 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     
+000E23         ?C0008?UTILITIES:
+000E23 ED                MOV     A,R5
+000E24 1D                DEC     R5
+000E25 AE04              MOV     R6,AR4
+000E27 7001              JNZ     ?C0026?UTILITIES
+000E29 1C                DEC     R4
+000E2A         ?C0026?UTILITIES:
+000E2A 4E                ORL     A,R6
+000E2B 6016              JZ      ?C0010?UTILITIES
+000E2D 904E7E            MOV     DPTR,#dest
+000E30 E0                MOVX    A,@DPTR
+000E31 FB                MOV     R3,A
+000E32 A3                INC     DPTR
+000E33 E4                CLR     A
+000E34 75F001            MOV     B,#01H
+000E37 120424            LCALL   ?C?ILDIX
+000E3A A9F0              MOV     R1,B
+000E3C FA                MOV     R2,A
+000E3D E4                CLR     A
+000E3E 1203FC            LCALL   ?C?CSTPTR
+000E41 80E0              SJMP    ?C0008?UTILITIES
+000E43         ?C0010?UTILITIES:
+000E43 22                RET     
 ----- FUNCTION _xmemclear (END) -------
 
 
@@ -1633,422 +1689,344 @@
    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
+000E44 7B01              MOV     R3,#01H
+000E46 7A4C              MOV     R2,#HIGH g_variable
+000E48 79BF              MOV     R1,#LOW g_variable
+000E4A 7D43              MOV     R5,#043H
+000E4C 7C00              MOV     R4,#00H
+000E4E D118              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
+000E50 7B01              MOV     R3,#01H
+000E52 7A4D              MOV     R2,#HIGH ksSelMapOld
+000E54 7993              MOV     R1,#LOW ksSelMapOld
+000E56 7D14              MOV     R5,#014H
+000E58 7C00              MOV     R4,#00H
+000E5A D118              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
+000E5C 7B01              MOV     R3,#01H
+000E5E 7A4D              MOV     R2,#HIGH ksSelMapCheck
+000E60 79A8              MOV     R1,#LOW ksSelMapCheck
+000E62 7D14              MOV     R5,#014H
+000E64 7C00              MOV     R4,#00H
+000E66 D118              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
+000E68 7B01              MOV     R3,#01H
+000E6A 7A4D              MOV     R2,#HIGH ksSelMapCurr
+000E6C 79BC              MOV     R1,#LOW ksSelMapCurr
+000E6E 7D14              MOV     R5,#014H
+000E70 7C00              MOV     R4,#00H
+000E72 D118              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
+000E74 7B01              MOV     R3,#01H
+000E76 7A48              MOV     R2,#HIGH hidBuff
+000E78 7900              MOV     R1,#LOW hidBuff
+000E7A 7D09              MOV     R5,#09H
+000E7C 7C00              MOV     R4,#00H
+000E7E D118              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
+000E80 7B01              MOV     R3,#01H
+000E82 7A4D              MOV     R2,#HIGH multikey
+000E84 79E5              MOV     R1,#LOW multikey
+000E86 7D09              MOV     R5,#09H
+000E88 7C00              MOV     R4,#00H
+000E8A D118              ACALL   _xmemclear
    20: 	delayChgInvTimer = 0;
-000E42 E4                CLR     A
-000E43 904DDE            MOV     DPTR,#delayChgInvTimer
-000E46 F0                MOVX    @DPTR,A
+000E8C E4                CLR     A
+000E8D 904DDE            MOV     DPTR,#delayChgInvTimer
+000E90 F0                MOVX    @DPTR,A
    21: 	action_timeout = 0;
-000E47 904DE2            MOV     DPTR,#action_timeout
-000E4A F0                MOVX    @DPTR,A
+000E91 904DE2            MOV     DPTR,#action_timeout
+000E94 F0                MOVX    @DPTR,A
    22: 
    23: 
    24: 	power_on_flag = 0;
-000E4B 904DE1            MOV     DPTR,#power_on_flag
-000E4E F0                MOVX    @DPTR,A
+000E95 904DE1            MOV     DPTR,#power_on_flag
+000E98 F0                MOVX    @DPTR,A
    25: 	repeat_send_24g = 0;
-000E4F 904DD6            MOV     DPTR,#repeat_send_24g
-000E52 F0                MOVX    @DPTR,A
+000E99 904DD6            MOV     DPTR,#repeat_send_24g
+000E9C F0                MOVX    @DPTR,A
    26: 	get_24g_led_send = 0;
-000E53 904DD0            MOV     DPTR,#get_24g_led_send
-000E56 F0                MOVX    @DPTR,A
+000E9D 904DD0            MOV     DPTR,#get_24g_led_send
+000EA0 F0                MOVX    @DPTR,A
    27: 	press_long_time_flag = 0;
-000E57 904DDC            MOV     DPTR,#press_long_time_flag
-000E5A F0                MOVX    @DPTR,A
+000EA1 904DDC            MOV     DPTR,#press_long_time_flag
+000EA4 F0                MOVX    @DPTR,A
    28: 	mult_key_status = 0;
-000E5B 904DE4            MOV     DPTR,#mult_key_status
-000E5E F0                MOVX    @DPTR,A
+000EA5 904DE4            MOV     DPTR,#mult_key_status
+000EA8 F0                MOVX    @DPTR,A
    29: 	long_press_flag = 0;
-000E5F 904DD5            MOV     DPTR,#long_press_flag
-000E62 F0                MOVX    @DPTR,A
+000EA9 904DD5            MOV     DPTR,#long_press_flag
+000EAC F0                MOVX    @DPTR,A
    30: 	standard_key_release_flag = 0;
-000E63 904DD8            MOV     DPTR,#standard_key_release_flag
-000E66 F0                MOVX    @DPTR,A
+000EAD 904DD8            MOV     DPTR,#standard_key_release_flag
+000EB0 F0                MOVX    @DPTR,A
    31: 	fn_flag = 0;
-000E67 904DDB            MOV     DPTR,#fn_flag
-000E6A F0                MOVX    @DPTR,A
+000EB1 904DDB            MOV     DPTR,#fn_flag
+000EB4 F0                MOVX    @DPTR,A
    32: 	fn_flag_last = 0;
-000E6B 904DE0            MOV     DPTR,#fn_flag_last
-000E6E F0                MOVX    @DPTR,A
+000EB5 904DE0            MOV     DPTR,#fn_flag_last
+000EB8 F0                MOVX    @DPTR,A
    33: 	fn_tx_flag = 0;
-000E6F 904DD3            MOV     DPTR,#fn_tx_flag
-000E72 F0                MOVX    @DPTR,A
+000EB9 904DD3            MOV     DPTR,#fn_tx_flag
+000EBC F0                MOVX    @DPTR,A
    34: 	fn_lock_flag = 0;
-000E73 904DDF            MOV     DPTR,#fn_lock_flag
-000E76 F0                MOVX    @DPTR,A
+000EBD 904DDF            MOV     DPTR,#fn_lock_flag
+000EC0 F0                MOVX    @DPTR,A
    35: 
    36: 	mult_key_value = 0;
-000E77 904DE3            MOV     DPTR,#mult_key_value
-000E7A F0                MOVX    @DPTR,A
+000EC1 904DE3            MOV     DPTR,#mult_key_value
+000EC4 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
+000EC5 904DD9            MOV     DPTR,#m_caps_num_lock_last
+000EC8 F0                MOVX    @DPTR,A
    38: 	m_reconnect_continue = 0;
-000E7F 904D38            MOV     DPTR,#m_reconnect_continue
-000E82 F0                MOVX    @DPTR,A
+000EC9 904D38            MOV     DPTR,#m_reconnect_continue
+000ECC F0                MOVX    @DPTR,A
    39: }
-000E83 22                RET     
+000ECD 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
+000ECE 904E61            MOV     DPTR,#dt
+000ED1 EB                MOV     A,R3
+000ED2 F0                MOVX    @DPTR,A
+000ED3 A3                INC     DPTR
+000ED4 EA                MOV     A,R2
+000ED5 F0                MOVX    @DPTR,A
+000ED6 A3                INC     DPTR
+000ED7 E9                MOV     A,R1
+000ED8 F0                MOVX    @DPTR,A
+000ED9 A3                INC     DPTR
+000EDA ED                MOV     A,R5
+000EDB 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:
+000EDC F1F6              ACALL   YC_check_need_reconnected
+000EDE EF                MOV     A,R7
+000EDF 6077              JZ      ?C0014?KB_PROCESS
+000EE1         ?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:
+000EE1 904CEB            MOV     DPTR,#g_variable+02CH
+000EE4 E0                MOVX    A,@DPTR
+000EE5 7071              JNZ     ?C0014?KB_PROCESS
+000EE7         ?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
+000EE7 904CC5            MOV     DPTR,#g_variable+06H
+000EEA E0                MOVX    A,@DPTR
+000EEB 6403              XRL     A,#03H
+000EED 7069              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
+000EEF 904E61            MOV     DPTR,#dt
+000EF2 E0                MOVX    A,@DPTR
+000EF3 FB                MOV     R3,A
+000EF4 A3                INC     DPTR
+000EF5 E0                MOVX    A,@DPTR
+000EF6 FA                MOV     R2,A
+000EF7 A3                INC     DPTR
+000EF8 E0                MOVX    A,@DPTR
+000EF9 F9                MOV     R1,A
+000EFA 1203B6            LCALL   ?C?CLDPTR
+000EFD FF                MOV     R7,A
+000EFE 6401              XRL     A,#01H
+000F00 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
+000F02 900001            MOV     DPTR,#01H
+000F05 1203CF            LCALL   ?C?CLDOPTR
+000F08 701E              JNZ     ?C0018?KB_PROCESS
+000F0A 900003            MOV     DPTR,#03H
+000F0D 1203CF            LCALL   ?C?CLDOPTR
+000F10 7016              JNZ     ?C0018?KB_PROCESS
+000F12 900004            MOV     DPTR,#04H
+000F15 1203CF            LCALL   ?C?CLDOPTR
+000F18 700E              JNZ     ?C0018?KB_PROCESS
+000F1A 900005            MOV     DPTR,#05H
+000F1D 1203CF            LCALL   ?C?CLDOPTR
+000F20 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:
+000F22 904DD6            MOV     DPTR,#repeat_send_24g
+000F25 F0                MOVX    @DPTR,A
+000F26 8028              SJMP    ?C0020?KB_PROCESS
+000F28         ?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
+000F28 904DD6            MOV     DPTR,#repeat_send_24g
+000F2B 7401              MOV     A,#01H
+000F2D F0                MOVX    @DPTR,A
    74: 		}
-000F1C 8020              SJMP    ?C0020?KB_PROCESS
-000F1E         ?C0017?KB_PROCESS:
+000F2E 8020              SJMP    ?C0020?KB_PROCESS
+000F30         ?C0017?KB_PROCESS:
    75: 		else if (dt[0] == HID_REPORTID_2)
-000F1E EF                MOV     A,R7
-000F1F B4021C            CJNE    A,#02H,?C0020?KB_PROCESS
+000F30 EF                MOV     A,R7
+000F31 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
+000F34 900001            MOV     DPTR,#01H
+000F37 1203CF            LCALL   ?C?CLDOPTR
+000F3A 700E              JNZ     ?C0022?KB_PROCESS
+000F3C 900002            MOV     DPTR,#02H
+000F3F 1203CF            LCALL   ?C?CLDOPTR
+000F42 7006              JNZ     ?C0022?KB_PROCESS
    78: 			{
    79: 				repeat_send_24g = 0;
-000F32 904DD6            MOV     DPTR,#repeat_send_24g
-000F35 F0                MOVX    @DPTR,A
+000F44 904DD6            MOV     DPTR,#repeat_send_24g
+000F47 F0                MOVX    @DPTR,A
    80: 			}
-000F36 8006              SJMP    ?C0020?KB_PROCESS
-000F38         ?C0022?KB_PROCESS:
+000F48 8006              SJMP    ?C0020?KB_PROCESS
+000F4A         ?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
+000F4A 904DD6            MOV     DPTR,#repeat_send_24g
+000F4D 7401              MOV     A,#01H
+000F4F F0                MOVX    @DPTR,A
    84: 			}
    85: 		}
-000F3E         ?C0020?KB_PROCESS:
+000F50         ?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
+000F50 904E64            MOV     DPTR,#len
+000F53 E0                MOVX    A,@DPTR
+000F54 FD                MOV     R5,A
+000F55 122253            LCALL   _IPC_Tx24GData
    87: 	}
    88: }
-000F45         ?C0014?KB_PROCESS:
-000F45 22                RET     
+000F58         ?C0014?KB_PROCESS:
+000F58 22                RET     
 ----- FUNCTION _IPC_TxHidData (END) -------
 
 
------ FUNCTION kb_need_keyscan (BEGIN) -----
+----- FUNCTION _kb_send_combination_key (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:
-  175: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
-  176: 		)
-  177: 			kb_motion();
-000F55 021874            LJMP    kb_motion
-000F58         ?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
-  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
-  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
-  184: 			}
-000F6C 22                RET     
-000F6D         ?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
-  186: 			{	
-  187: 				g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
-000F74 7403              MOV     A,#03H
-000F76 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
-  189: 			}
-000F7F         ?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
-  191: 			{
-  192: 				g_variable.key_combination_keyvalue = 0;
-000F86 E4                CLR     A
-000F87 904CF6            MOV     DPTR,#g_variable+037H
-000F8A 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
-  194: 				g_variable.key_combination_ctrl = 0;
-000F94 E4                CLR     A
-000F95 904CF5            MOV     DPTR,#g_variable+036H
-000F98 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
-  196: 			}
-000F9F 22                RET     
-000FA0         ?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
-  198: 			{
-  199: 				g_variable.key_combination_keyvalue = 0;
-000FA7 E4                CLR     A
-000FA8 904CF6            MOV     DPTR,#g_variable+037H
-000FAB F0                MOVX    @DPTR,A
-  200: 				g_variable.key_combination_ctrl = 0;
-000FAC 904CF5            MOV     DPTR,#g_variable+036H
-000FAF 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
-  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
-  203: 			}
-  204: 		}
-  205: 
-  206: }
-000FBC         ?C0045?KB_PROCESS:
-000FBC 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
------ FUNCTION _IPC_Tx24GData (END) -------
+  103: void kb_send_combination_key(byte ctrl_value,byte key_value)
+  104: {
+000F59 904E87            MOV     DPTR,#ctrl_value
+000F5C EF                MOV     A,R7
+000F5D F0                MOVX    @DPTR,A
+000F5E A3                INC     DPTR
+000F5F ED                MOV     A,R5
+000F60 F0                MOVX    @DPTR,A
+  105: 	xmemclear(hidBuff,9);
+  106: 	hidBuff[0] = HID_REPORTID_1;
+000F61 7B01              MOV     R3,#01H
+000F63 7A48              MOV     R2,#HIGH hidBuff
+000F65 7900              MOV     R1,#LOW hidBuff
+000F67 7D09              MOV     R5,#09H
+000F69 7C00              MOV     R4,#00H
+000F6B D118              ACALL   _xmemclear
+  107: 	hidBuff[1] |= ctrl_value;
+000F6D 904800            MOV     DPTR,#hidBuff
+000F70 7401              MOV     A,#01H
+000F72 F0                MOVX    @DPTR,A
+  108: 	hidBuff[3] = key_value; 
+000F73 A3                INC     DPTR
+000F74 E0                MOVX    A,@DPTR
+000F75 FF                MOV     R7,A
+000F76 904E87            MOV     DPTR,#ctrl_value
+000F79 E0                MOVX    A,@DPTR
+000F7A FE                MOV     R6,A
+000F7B EF                MOV     A,R7
+000F7C 4E                ORL     A,R6
+000F7D 904801            MOV     DPTR,#hidBuff+01H
+000F80 F0                MOVX    @DPTR,A
+  109: 	IPC_TxHidData(hidBuff, 9);
+000F81 904E88            MOV     DPTR,#key_value
+000F84 E0                MOVX    A,@DPTR
+000F85 904803            MOV     DPTR,#hidBuff+03H
+000F88 F0                MOVX    @DPTR,A
+  110: }
+000F89 7B01              MOV     R3,#01H
+000F8B 7A48              MOV     R2,#HIGH hidBuff
+000F8D 7900              MOV     R1,#LOW hidBuff
+000F8F 7D09              MOV     R5,#09H
+000F91 C1CE              AJMP    _IPC_TxHidData
+----- FUNCTION _kb_send_combination_key (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
+----- 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: 	{
+000F93 904DD0            MOV     DPTR,#get_24g_led_send
+000F96 E0                MOVX    A,@DPTR
+000F97 6401              XRL     A,#01H
+000F99 702F              JNZ     ?C0027?KB_PROCESS
+000F9B 904DD6            MOV     DPTR,#repeat_send_24g
+000F9E E0                MOVX    A,@DPTR
+000F9F 7029              JNZ     ?C0027?KB_PROCESS
+  133: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  134: 		{
+000FA1 904CC5            MOV     DPTR,#g_variable+06H
+000FA4 E0                MOVX    A,@DPTR
+000FA5 6403              XRL     A,#03H
+000FA7 704C              JNZ     ?C0031?KB_PROCESS
+  135: 			xmemclear(hidBuff,9);
+  136: 			IPC_TxHidData(hidBuff, 9);
+000FA9 7B01              MOV     R3,#01H
+000FAB 7A48              MOV     R2,#HIGH hidBuff
+000FAD 7900              MOV     R1,#LOW hidBuff
+000FAF 7D09              MOV     R5,#09H
+000FB1 FC                MOV     R4,A
+000FB2 D118              ACALL   _xmemclear
+  137: 			get_24g_led_send = 2;
+000FB4 7B01              MOV     R3,#01H
+000FB6 7A48              MOV     R2,#HIGH hidBuff
+000FB8 7900              MOV     R1,#LOW hidBuff
+000FBA 7D09              MOV     R5,#09H
+000FBC D1CE              ACALL   _IPC_TxHidData
+  138: 			mult_key_status = 0;
+000FBE 904DD0            MOV     DPTR,#get_24g_led_send
+000FC1 7402              MOV     A,#02H
+000FC3 F0                MOVX    @DPTR,A
+  139: 		}	
+000FC4 E4                CLR     A
+000FC5 904DE4            MOV     DPTR,#mult_key_status
+000FC8 F0                MOVX    @DPTR,A
+  140: 	}
+  141: 	else if ((get_24g_led_send == 2) && (repeat_send_24g == 0))
+000FC9 22                RET     
+000FCA         ?C0027?KB_PROCESS:
+  142: 	{
+000FCA 904DD0            MOV     DPTR,#get_24g_led_send
+000FCD E0                MOVX    A,@DPTR
+000FCE B40224            CJNE    A,#02H,?C0031?KB_PROCESS
+000FD1 904DD6            MOV     DPTR,#repeat_send_24g
+000FD4 E0                MOVX    A,@DPTR
+000FD5 701E              JNZ     ?C0031?KB_PROCESS
+  143: 		get_24g_led_send = 0;
+  144: 		xmemclear(hidBuff,9);
+000FD7 904DD0            MOV     DPTR,#get_24g_led_send
 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) -------
+  145: 		IPC_TxHidData(hidBuff, 9);
+000FDB 7B01              MOV     R3,#01H
+000FDD 7A48              MOV     R2,#HIGH hidBuff
+000FDF 7900              MOV     R1,#LOW hidBuff
+000FE1 7D09              MOV     R5,#09H
+000FE3 FC                MOV     R4,A
+000FE4 D118              ACALL   _xmemclear
+  146: 		mult_key_status = 0;
+000FE6 7B01              MOV     R3,#01H
+000FE8 7A48              MOV     R2,#HIGH hidBuff
+000FEA 7900              MOV     R1,#LOW hidBuff
+000FEC 7D09              MOV     R5,#09H
+000FEE D1CE              ACALL   _IPC_TxHidData
+  147: 	}
+000FF0 E4                CLR     A
+000FF1 904DE4            MOV     DPTR,#mult_key_status
+000FF4 F0                MOVX    @DPTR,A
+  148: }
+  149: 
+000FF5         ?C0031?KB_PROCESS:
+000FF5 22                RET     
+----- FUNCTION kb_24g_get_led_status (END) -------
 
 
 ----- FUNCTION YC_check_need_reconnected (BEGIN) -----
@@ -2058,62 +2036,62 @@
    15: 	byte return_val = 0;
    16: 
 ;---- Variable 'return_val' assigned to Register 'R7' ----
-000FE2 E4                CLR     A
-000FE3 FF                MOV     R7,A
+000FF6 E4                CLR     A
+000FF7 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
+000FF8 904CEE            MOV     DPTR,#g_variable+02FH
+000FFB E0                MOVX    A,@DPTR
+000FFC 6001              JZ      ?C0003?BLUETOOTH
    18: 		return return_val;
-000FEA 22                RET     
-000FEB         ?C0003?BLUETOOTH:
+000FFE 22                RET     
+000FFF         ?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
+000FFF 904CC5            MOV     DPTR,#g_variable+06H
+001002 E0                MOVX    A,@DPTR
+001003 6403              XRL     A,#03H
+001005 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
+001007 904CEF            MOV     DPTR,#g_variable+030H
+00100A E0                MOVX    A,@DPTR
+00100B 701D              JNZ     ?C0008?BLUETOOTH
    23: 		{
    24: 			g_variable.recon_delay = 10;
-000FF9 740A              MOV     A,#0AH
-000FFB F0                MOVX    @DPTR,A
+00100D 740A              MOV     A,#0AH
+00100F 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
+001010 A3                INC     DPTR
+001011 E0                MOVX    A,@DPTR
+001012 7016              JNZ     ?C0008?BLUETOOTH
+001014 904DE1            MOV     DPTR,#power_on_flag
+001017 E0                MOVX    A,@DPTR
+001018 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
+00101B 7F09              MOV     R7,#09H
+00101D 112B              ACALL   _YC_key_action_handle
    29: 				return_val = 1;
-00100B 7F01              MOV     R7,#01H
+00101F 7F01              MOV     R7,#01H
    30: 			}
    31: 		}
    32: 	}
-00100D 8007              SJMP    ?C0008?BLUETOOTH
-00100F         ?C0005?BLUETOOTH:
+001021 8007              SJMP    ?C0008?BLUETOOTH
+001023         ?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
+001023 E4                CLR     A
+001024 904CEB            MOV     DPTR,#g_variable+02CH
+001027 F0                MOVX    @DPTR,A
    36: 		return_val = 1;
-001014 7F01              MOV     R7,#01H
+001028 7F01              MOV     R7,#01H
    37: 	}
-001016         ?C0008?BLUETOOTH:
+00102A         ?C0008?BLUETOOTH:
    38: 	return return_val;
    39: }
-001016 22                RET     
+00102A 22                RET     
 ----- FUNCTION YC_check_need_reconnected (END) -------
 
 
@@ -2121,164 +2099,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
+00102B 904E8F            MOV     DPTR,#key_num
+00102E EF                MOV     A,R7
+00102F 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
+001030 24F7              ADD     A,#0F7H
+001032 6009              JZ      ?C0003?KB_PROCESS
+001034 14                DEC     A
+001035 6062              JZ      ?C0007?KB_PROCESS
+001037 2402              ADD     A,#02H
+001039 6002              JZ      $ + 4H
+00103B 01D3              AJMP    ?C0011?KB_PROCESS
     7: 	case KEY_START_24G:
     8: 	case KEY_OPEN_24G:
     9: 		g_variable.recon_count = 0;
-001029         ?C0003?KB_PROCESS:
+00103D         ?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
+00103D E4                CLR     A
+00103E 904CF0            MOV     DPTR,#g_variable+031H
+001041 F0                MOVX    @DPTR,A
    11: 		{
-00102E 11C5              ACALL   YC_disconnect_all_link
-001030 EF                MOV     A,R7
-001031 6009              JZ      ?C0004?KB_PROCESS
+001042 11D9              ACALL   YC_disconnect_all_link
+001044 EF                MOV     A,R7
+001045 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
+001047 904E8F            MOV     DPTR,#key_num
+00104A E0                MOVX    A,@DPTR
+00104B 904CED            MOV     DPTR,#g_variable+02EH
+00104E F0                MOVX    @DPTR,A
    14: 		else
-00103B 22                RET     
-00103C         ?C0004?KB_PROCESS:
+00104F 22                RET     
+001050         ?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
+001050 7B01              MOV     R3,#01H
+001052 7A4C              MOV     R2,#HIGH m_24g_addr
+001054 7900              MOV     R1,#LOW m_24g_addr
+001056 7D04              MOV     R5,#04H
+001058 7C00              MOV     R4,#00H
+00105A 7FF2              MOV     R7,#0F2H
+00105C 7E3F              MOV     R6,#03FH
+00105E 5163              ACALL   _IIC_Read
    17: 			Delay1ms(10);
-00104C 7F0A              MOV     R7,#0AH
-00104E 3161              ACALL   _Delay1ms
+001060 7F0A              MOV     R7,#0AH
+001062 3175              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
+001064 904C00            MOV     DPTR,#m_24g_addr
+001067 E0                MOVX    A,@DPTR
+001068 B4FF1B            CJNE    A,#0FFH,?C0006?KB_PROCESS
+00106B A3                INC     DPTR
+00106C E0                MOVX    A,@DPTR
+00106D B4FF16            CJNE    A,#0FFH,?C0006?KB_PROCESS
+001070 A3                INC     DPTR
+001071 E0                MOVX    A,@DPTR
+001072 B4FF11            CJNE    A,#0FFH,?C0006?KB_PROCESS
+001075 A3                INC     DPTR
+001076 E0                MOVX    A,@DPTR
+001077 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
+00107A 904C00            MOV     DPTR,#m_24g_addr
+00107D 740F              MOV     A,#0FH
+00107F F0                MOVX    @DPTR,A
    21: 				m_24g_addr[1] = 0x0f;
-00106C A3                INC     DPTR
-00106D F0                MOVX    @DPTR,A
+001080 A3                INC     DPTR
+001081 F0                MOVX    @DPTR,A
    22: 				m_24g_addr[2] = 0x0f;
-00106E A3                INC     DPTR
-00106F F0                MOVX    @DPTR,A
+001082 A3                INC     DPTR
+001083 F0                MOVX    @DPTR,A
    23: 				m_24g_addr[3] = 0x0f;
-001070 A3                INC     DPTR
-001071 F0                MOVX    @DPTR,A
+001084 A3                INC     DPTR
+001085 F0                MOVX    @DPTR,A
    24: 			}
-001072         ?C0006?KB_PROCESS:
+001086         ?C0006?KB_PROCESS:
    25: 			IPC_TxControlCmd(IPC_CMD_START_24G);
-001072 7F21              MOV     R7,#021H
-001074 1207F8            LCALL   _IPC_TxControlCmd
+001086 7F21              MOV     R7,#021H
+001088 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
+00108B 904CC5            MOV     DPTR,#g_variable+06H
+00108E 7402              MOV     A,#02H
+001090 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
+001091 E4                CLR     A
+001092 A3                INC     DPTR
+001093 F0                MOVX    @DPTR,A
    29: 			g_variable.key_action = KEY_NONE;
-001080 904CED            MOV     DPTR,#g_variable+02EH
-001083 F0                MOVX    @DPTR,A
+001094 904CED            MOV     DPTR,#g_variable+02EH
+001097 F0                MOVX    @DPTR,A
    30: 		}
    31: 		break;
-001084 22                RET     
+001098 22                RET     
    32: 	case KEY_PAIRING_24G:
-001085         ?C0007?KB_PROCESS:
+001099         ?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
+001099 E4                CLR     A
+00109A 904CF0            MOV     DPTR,#g_variable+031H
+00109D 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
+00109E 11D9              ACALL   YC_disconnect_all_link
+0010A0 EF                MOV     A,R7
+0010A1 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
+0010A3 904E8F            MOV     DPTR,#key_num
+0010A6 E0                MOVX    A,@DPTR
+0010A7 904CED            MOV     DPTR,#g_variable+02EH
+0010AA F0                MOVX    @DPTR,A
    37: 		}
-001097 22                RET     
-001098         ?C0008?KB_PROCESS:
+0010AB 22                RET     
+0010AC         ?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
+0010AC 904CC5            MOV     DPTR,#g_variable+06H
+0010AF E0                MOVX    A,@DPTR
+0010B0 6401              XRL     A,#01H
+0010B2 6019              JZ      ?C0010?KB_PROCESS
    41: 			{
    42: 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
-0010A0 7F23              MOV     R7,#023H
-0010A2 1207F8            LCALL   _IPC_TxControlCmd
+0010B4 7F23              MOV     R7,#023H
+0010B6 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
+0010B9 904CC5            MOV     DPTR,#g_variable+06H
+0010BC 7401              MOV     A,#01H
+0010BE 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
+0010BF E4                CLR     A
+0010C0 A3                INC     DPTR
+0010C1 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
+0010C2 904CEE            MOV     DPTR,#g_variable+02FH
+0010C5 74F0              MOV     A,#0F0H
+0010C7 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
+0010C8 E4                CLR     A
+0010C9 904CE9            MOV     DPTR,#g_variable+02AH
+0010CC F0                MOVX    @DPTR,A
    47: 			}
-0010B9         ?C0010?KB_PROCESS:
+0010CD         ?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
+0010CD E4                CLR     A
+0010CE 904CED            MOV     DPTR,#g_variable+02EH
+0010D1 F0                MOVX    @DPTR,A
    49: 		}
    50: 		break;
-0010BE 22                RET     
+0010D2 22                RET     
    51: 	default:
-0010BF         ?C0011?KB_PROCESS:
+0010D3         ?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
+0010D3 E4                CLR     A
+0010D4 904CED            MOV     DPTR,#g_variable+02EH
+0010D7 F0                MOVX    @DPTR,A
    53: 		break;
    54: 	}
    55: }
-0010C4 22                RET     
+0010D8 22                RET     
 ----- FUNCTION _YC_key_action_handle (END) -------
 
 
@@ -2288,27 +2266,27 @@
    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:
+0010D9 904CC5            MOV     DPTR,#g_variable+06H
+0010DC E0                MOVX    A,@DPTR
+0010DD FF                MOV     R7,A
+0010DE 6403              XRL     A,#03H
+0010E0 6004              JZ      ?C0011?BLUETOOTH
+0010E2 EF                MOV     A,R7
+0010E3 B40208            CJNE    A,#02H,?C0010?BLUETOOTH
+0010E6         ?C0011?BLUETOOTH:
    52: 	{
    53: 		IPC_TxControlCmd(IPC_CMD_STOP_24G);
-0010D2 7F22              MOV     R7,#022H
-0010D4 1207F8            LCALL   _IPC_TxControlCmd
+0010E6 7F22              MOV     R7,#022H
+0010E8 1207F8            LCALL   _IPC_TxControlCmd
    54: 		return 1;
-0010D7 7F01              MOV     R7,#01H
-0010D9 22                RET     
+0010EB 7F01              MOV     R7,#01H
+0010ED 22                RET     
    55: 	}
-0010DA         ?C0010?BLUETOOTH:
+0010EE         ?C0010?BLUETOOTH:
    56: 	return 0;
-0010DA 7F00              MOV     R7,#00H
+0010EE 7F00              MOV     R7,#00H
    57: }
-0010DC 22                RET     
+0010F0 22                RET     
 ----- FUNCTION YC_disconnect_all_link (END) -------
 
 
@@ -2319,152 +2297,152 @@
   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
+0010F1 904CCE            MOV     DPTR,#g_variable+0FH
+0010F4 E0                MOVX    A,@DPTR
+0010F5 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
+0010F8 904CD0            MOV     DPTR,#g_variable+011H
+0010FB E0                MOVX    A,@DPTR
+0010FC C3                CLR     C
+0010FD 94FA              SUBB    A,#0FAH
+0010FF 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:
+001101 E0                MOVX    A,@DPTR
+001102 04                INC     A
+001103 F0                MOVX    @DPTR,A
+001104         ?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
+001104 904CD0            MOV     DPTR,#g_variable+011H
+001107 E0                MOVX    A,@DPTR
+001108 64B4              XRL     A,#0B4H
+00110A 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
+00110C 904DDC            MOV     DPTR,#press_long_time_flag
+00110F E0                MOVX    A,@DPTR
+001110 04                INC     A
+001111 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
+001112 E0                MOVX    A,@DPTR
+001113 D3                SETB    C
+001114 9402              SUBB    A,#02H
+001116 5007              JNC     ?C0051?SYS
   255: 			{
   256: 				g_variable.button_timer[1] = 0;
-001104 E4                CLR     A
-001105 904CD0            MOV     DPTR,#g_variable+011H
-001108 F0                MOVX    @DPTR,A
+001118 E4                CLR     A
+001119 904CD0            MOV     DPTR,#g_variable+011H
+00111C F0                MOVX    @DPTR,A
   257: 			}
-001109 801C              SJMP    ?C0054?SYS
-00110B         ?C0051?SYS:
+00111D 801C              SJMP    ?C0054?SYS
+00111F         ?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
+00111F 904DDC            MOV     DPTR,#press_long_time_flag
+001122 E0                MOVX    A,@DPTR
+001123 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
+001126 904DD5            MOV     DPTR,#long_press_flag
+001129 7401              MOV     A,#01H
+00112B 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
+00112C E4                CLR     A
+00112D 904CD0            MOV     DPTR,#g_variable+011H
+001130 F0                MOVX    @DPTR,A
   262: 				System_long_sleep();
-00111D 1207F1            LCALL   System_long_sleep
+001131 1207F1            LCALL   System_long_sleep
   263: 			}
   264: 		}
   265: 	}
-001120 8005              SJMP    ?C0054?SYS
-001122         ?C0048?SYS:
+001134 8005              SJMP    ?C0054?SYS
+001136         ?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:
+001136 E4                CLR     A
+001137 904DDC            MOV     DPTR,#press_long_time_flag
+00113A F0                MOVX    @DPTR,A
+00113B         ?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
+00113B 904CCE            MOV     DPTR,#g_variable+0FH
+00113E E0                MOVX    A,@DPTR
+00113F 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
+001142 904CEA            MOV     DPTR,#g_variable+02BH
+001145 740A              MOV     A,#0AH
+001147 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
+001148 904CD1            MOV     DPTR,#g_variable+012H
+00114B E0                MOVX    A,@DPTR
+00114C C3                CLR     C
+00114D 94FA              SUBB    A,#0FAH
+00114F 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:
+001151 E0                MOVX    A,@DPTR
+001152 04                INC     A
+001153 F0                MOVX    @DPTR,A
+001154         ?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
+001154 904CD1            MOV     DPTR,#g_variable+012H
+001157 E0                MOVX    A,@DPTR
+001158 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:
+00115B 904CC3            MOV     DPTR,#g_variable+04H
+00115E E0                MOVX    A,@DPTR
+00115F FF                MOV     R7,A
+001160 6003              JZ      ?C0059?SYS
+001162 B4FE0F            CJNE    A,#0FEH,?C0061?SYS
+001165         ?C0059?SYS:
   277: 			{
   278: 				YC_disconnect_all_link();
-001151 11C5              ACALL   YC_disconnect_all_link
+001165 11D9              ACALL   YC_disconnect_all_link
   279: 				Delay1ms(10);
-001153 7F0A              MOV     R7,#0AH
-001155 3161              ACALL   _Delay1ms
+001167 7F0A              MOV     R7,#0AH
+001169 3175              ACALL   _Delay1ms
   280: 				YC_key_action_handle(KEY_PAIRING_24G);
-001157 7F0A              MOV     R7,#0AH
-001159 0117              AJMP    _YC_key_action_handle
+00116B 7F0A              MOV     R7,#0AH
+00116D 012B              AJMP    _YC_key_action_handle
   281: 			}
   282: 		}
   283: 	}
-00115B         ?C0055?SYS:
+00116F         ?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
+00116F E4                CLR     A
+001170 904CD1            MOV     DPTR,#g_variable+012H
+001173 F0                MOVX    @DPTR,A
   286: 	
   287: }
-001160         ?C0061?SYS:
-001160 22                RET     
+001174         ?C0061?SYS:
+001174 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
+001175         ?C0014?UTILITIES:
+001175 EF                MOV     A,R7
+001176 D3                SETB    C
+001177 9400              SUBB    A,#00H
+001179 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     
+00117B E4                CLR     A
+00117C FD                MOV     R5,A
+00117D FC                MOV     R4,A
+00117E         ?C0017?UTILITIES:
+00117E 0D                INC     R5
+00117F BD0001            CJNE    R5,#00H,?C0028?UTILITIES
+001182 0C                INC     R4
+001183         ?C0028?UTILITIES:
+001183 BC04F8            CJNE    R4,#04H,?C0017?UTILITIES
+001186 BDA6F5            CJNE    R5,#0A6H,?C0017?UTILITIES
+001189         ?C0016?UTILITIES:
+001189 1F                DEC     R7
+00118A 80E9              SJMP    ?C0014?UTILITIES
+00118C         ?C0020?UTILITIES:
+00118C 22                RET     
 ----- FUNCTION _Delay1ms (END) -------
 
 
@@ -2472,324 +2450,324 @@
  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
+00118D 904E93            MOV     DPTR,#evt
+001190 EF                MOV     A,R7
+001191 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
+001192 24D0              ADD     A,#0D0H
+001194 6046              JZ      ?C0014?SYS
+001196 14                DEC     A
+001197 6045              JZ      ?C0016?SYS
+001199 14                DEC     A
+00119A 7002              JNZ     $ + 4H
+00119C 4135              AJMP    ?C0022?SYS
+00119E 14                DEC     A
+00119F 600A              JZ      ?C0013?SYS
+0011A1 24F7              ADD     A,#0F7H
+0011A3 6039              JZ      ?C0016?SYS
+0011A5 240D              ADD     A,#0DH
+0011A7 6002              JZ      $ + 4H
+0011A9 4162              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:
+0011AB         ?C0013?SYS:
    98: 		System_Hardware_init();
-001197 71F5              ACALL   System_Hardware_init
+0011AB 9109              ACALL   System_Hardware_init
    99: 		System_Software_init();
-001199 120FC5            LCALL   System_Software_init
+0011AD F133              ACALL   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
+0011AF 7B01              MOV     R3,#01H
+0011B1 7A4C              MOV     R2,#HIGH m_24g_addr
+0011B3 7900              MOV     R1,#LOW m_24g_addr
+0011B5 7D04              MOV     R5,#04H
+0011B7 7C00              MOV     R4,#00H
+0011B9 7FF2              MOV     R7,#0F2H
+0011BB 7E3F              MOV     R6,#03FH
+0011BD 5163              ACALL   _IIC_Read
   101: 		Delay1ms(10);
-0011AC 7F0A              MOV     R7,#0AH
-0011AE 3161              ACALL   _Delay1ms
+0011BF 7F0A              MOV     R7,#0AH
+0011C1 3175              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
+0011C3 904CC1            MOV     DPTR,#g_variable+02H
+0011C6 E0                MOVX    A,@DPTR
+0011C7 F9                MOV     R1,A
+0011C8 7A00              MOV     R2,#00H
+0011CA 7B00              MOV     R3,#00H
+0011CC 7D01              MOV     R5,#01H
+0011CE 7C00              MOV     R4,#00H
+0011D0 7FF8              MOV     R7,#0F8H
+0011D2 7E3F              MOV     R6,#03FH
+0011D4 5163              ACALL   _IIC_Read
   103: 		Delay1ms(10);
-0011C3 7F0A              MOV     R7,#0AH
-0011C5 3161              ACALL   _Delay1ms
+0011D6 7F0A              MOV     R7,#0AH
+0011D8 3175              ACALL   _Delay1ms
   104: 		YC_start_reconnect();
-0011C7 C146              AJMP    YC_start_reconnect
+0011DA C15A              AJMP    YC_start_reconnect
   105: 		break;
   106: 	case IPC_EVT_WAKEUP:
-0011C9         ?C0014?SYS:
+0011DC         ?C0014?SYS:
   107: 		KS_Initialize();
-0011C9 8129              AJMP    KS_Initialize
+0011DC 813D              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:
+0011DE         ?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
+0011DE 904CC5            MOV     DPTR,#g_variable+06H
+0011E1 7403              MOV     A,#03H
+0011E3 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
+0011E4 E4                CLR     A
+0011E5 A3                INC     DPTR
+0011E6 F0                MOVX    @DPTR,A
   116: 		YC_clear_reconnect_flag();
-0011D4 7100              ACALL   YC_clear_reconnect_flag
+0011E7 7113              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
+0011E9 E4                CLR     A
+0011EA 904CEE            MOV     DPTR,#g_variable+02FH
+0011ED F0                MOVX    @DPTR,A
   118: 		g_variable.release_data = 0;
-0011DB 904CEB            MOV     DPTR,#g_variable+02CH
-0011DE F0                MOVX    @DPTR,A
+0011EE 904CEB            MOV     DPTR,#g_variable+02CH
+0011F1 F0                MOVX    @DPTR,A
   119: 		g_variable.last_device_num = 0xfe;
-0011DF 904CC0            MOV     DPTR,#g_variable+01H
-0011E2 74FE              MOV     A,#0FEH
-0011E4 F0                MOVX    @DPTR,A
+0011F2 904CC0            MOV     DPTR,#g_variable+01H
+0011F5 74FE              MOV     A,#0FEH
+0011F7 F0                MOVX    @DPTR,A
   120: 		g_variable.current_device_num = 0xfe;
-0011E5 904CC3            MOV     DPTR,#g_variable+04H
-0011E8 F0                MOVX    @DPTR,A
+0011F8 904CC3            MOV     DPTR,#g_variable+04H
+0011FB 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
+0011FC 904E93            MOV     DPTR,#evt
+0011FF E0                MOVX    A,@DPTR
+001200 6431              XRL     A,#031H
+001202 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
+001204 904CE5            MOV     DPTR,#g_variable+026H
+001207 741E              MOV     A,#01EH
+001209 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:
+00120A 904BEB            MOV     DPTR,#m_24g_paring_addr
+00120D E0                MOVX    A,@DPTR
+00120E B40F10            CJNE    A,#0FH,?C0019?SYS
+001211 A3                INC     DPTR
+001212 E0                MOVX    A,@DPTR
+001213 B40F0B            CJNE    A,#0FH,?C0019?SYS
+001216 A3                INC     DPTR
+001217 E0                MOVX    A,@DPTR
+001218 B40F06            CJNE    A,#0FH,?C0019?SYS
+00121B A3                INC     DPTR
+00121C E0                MOVX    A,@DPTR
+00121D 640F              XRL     A,#0FH
+00121F 6041              JZ      ?C0025?SYS
+001221         ?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
+001221 904CBF            MOV     DPTR,#g_variable
+001224 7401              MOV     A,#01H
+001226 F0                MOVX    @DPTR,A
   128: 		}
-001214 22                RET     
-001215         ?C0017?SYS:
+001227 22                RET     
+001228         ?C0017?SYS:
   129: 		else
   130: 		{
   131: 			if(!g_variable.powerOn_timer)
-001215 904CE5            MOV     DPTR,#g_variable+026H
-001218 E0                MOVX    A,@DPTR
-001219 7034              JNZ     ?C0025?SYS
+001228 904CE5            MOV     DPTR,#g_variable+026H
+00122B E0                MOVX    A,@DPTR
+00122C 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
+00122E C201              CLR     ?_GPIO_Setout?BIT
+001230 7F1E              MOV     R7,#01EH
+001232 020784            LJMP    _GPIO_Setout
   133: 		}
   134: 		break;
   135: 	
   136: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
-001222         ?C0022?SYS:
+001235         ?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
+001235 E4                CLR     A
+001236 904CC5            MOV     DPTR,#g_variable+06H
+001239 F0                MOVX    @DPTR,A
   138: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001227 A3                INC     DPTR
-001228 F0                MOVX    @DPTR,A
+00123A A3                INC     DPTR
+00123B 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
+00123C 904CE3            MOV     DPTR,#g_variable+024H
+00123F F0                MOVX    @DPTR,A
+001240 A3                INC     DPTR
+001241 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
+001242 904CEB            MOV     DPTR,#g_variable+02CH
+001245 04                INC     A
+001246 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
+001247 904CED            MOV     DPTR,#g_variable+02EH
+00124A E0                MOVX    A,@DPTR
+00124B 6009              JZ      ?C0023?SYS
   143: 		{
   144: 			YC_clear_reconnect_flag();
-00123A 7100              ACALL   YC_clear_reconnect_flag
+00124D 7113              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
+00124F 904CED            MOV     DPTR,#g_variable+02EH
+001252 E0                MOVX    A,@DPTR
+001253 FF                MOV     R7,A
+001254 012B              AJMP    _YC_key_action_handle
   146: 			break;
   147: 		}
-001243         ?C0023?SYS:
+001256         ?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
+001256 904CEC            MOV     DPTR,#g_variable+02DH
+001259 E0                MOVX    A,@DPTR
+00125A B40105            CJNE    A,#01H,?C0025?SYS
   150: 		{
   151: 			g_variable.lockLpm =0;
-00124A E4                CLR     A
-00124B F0                MOVX    @DPTR,A
+00125D E4                CLR     A
+00125E F0                MOVX    @DPTR,A
   152: 			System_long_sleep();
-00124C 1207F1            LCALL   System_long_sleep
+00125F 1207F1            LCALL   System_long_sleep
   153: 			break;
   154: 		}
   155: 		break;
   156: 	}
   157: }
-00124F         ?C0025?SYS:
-00124F 22                RET     
+001262         ?C0025?SYS:
+001262 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
+001263 904E5C            MOV     DPTR,#len
+001266 EC                MOV     A,R4
+001267 F0                MOVX    @DPTR,A
+001268 A3                INC     DPTR
+001269 ED                MOV     A,R5
+00126A F0                MOVX    @DPTR,A
+00126B A3                INC     DPTR
+00126C EB                MOV     A,R3
+00126D F0                MOVX    @DPTR,A
+00126E A3                INC     DPTR
+00126F EA                MOV     A,R2
+001270 F0                MOVX    @DPTR,A
+001271 A3                INC     DPTR
+001272 E9                MOV     A,R1
+001273 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
+001274 908098            MOV     DPTR,#08098H
+001277 7404              MOV     A,#04H
+001279 F0                MOVX    @DPTR,A
+00127A A3                INC     DPTR
+00127B E4                CLR     A
+00127C F0                MOVX    @DPTR,A
+00127D 900CAF            MOV     DPTR,#YC_IICDTbuf
+001280 74A0              MOV     A,#0A0H
+001282 F0                MOVX    @DPTR,A
+001283 A3                INC     DPTR
+001284 EE                MOV     A,R6
+001285 F0                MOVX    @DPTR,A
+001286 A3                INC     DPTR
+001287 EF                MOV     A,R7
+001288 F0                MOVX    @DPTR,A
+001289 900CB2            MOV     DPTR,#YC_IICDTbuf+03H
+00128C 74A1              MOV     A,#0A1H
+00128E F0                MOVX    @DPTR,A
+00128F 7A0C              MOV     R2,#HIGH YC_IICDTbuf
+001291 79AF              MOV     R1,#LOW YC_IICDTbuf
+001293 7E0C              MOV     R6,#HIGH YC_IICDTbuf
+001295 7FAF              MOV     R7,#LOW YC_IICDTbuf
+001297 74AF              MOV     A,#LOW YC_IICDTbuf
 001299 FC                MOV     R4,A
-00129A A3                INC     DPTR
-00129B E0                MOVX    A,@DPTR
-00129C FA                MOV     R2,A
+00129A 740C              MOV     A,#HIGH YC_IICDTbuf
+00129C FF                MOV     R7,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
-0012F8 E0                MOVX    A,@DPTR
-0012F9 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
-0012FC F0                MOVX    @DPTR,A
-0012FD 0208DA            LJMP    _xmemcpy
+00129E FE                MOV     R6,A
+00129F EF                MOV     A,R7
+0012A0 90809A            MOV     DPTR,#0809AH
+0012A3 EE                MOV     A,R6
+0012A4 F0                MOVX    @DPTR,A
+0012A5 A3                INC     DPTR
+0012A6 EF                MOV     A,R7
+0012A7 F0                MOVX    @DPTR,A
+0012A8 904E5C            MOV     DPTR,#len
+0012AB E0                MOVX    A,@DPTR
+0012AC FC                MOV     R4,A
+0012AD A3                INC     DPTR
+0012AE E0                MOVX    A,@DPTR
+0012AF FA                MOV     R2,A
+0012B0 EC                MOV     A,R4
+0012B1 FF                MOV     R7,A
+0012B2 EA                MOV     A,R2
+0012B3 FE                MOV     R6,A
+0012B4 EF                MOV     A,R7
+0012B5 90809E            MOV     DPTR,#0809EH
+0012B8 EE                MOV     A,R6
+0012B9 F0                MOVX    @DPTR,A
+0012BA A3                INC     DPTR
+0012BB EF                MOV     A,R7
+0012BC F0                MOVX    @DPTR,A
+0012BD 7A0B              MOV     R2,#HIGH IIC_TempBuff
+0012BF 7983              MOV     R1,#LOW IIC_TempBuff
+0012C1 7E0B              MOV     R6,#HIGH IIC_TempBuff
+0012C3 7F83              MOV     R7,#LOW IIC_TempBuff
+0012C5 7483              MOV     A,#LOW IIC_TempBuff
+0012C7 FC                MOV     R4,A
+0012C8 740B              MOV     A,#HIGH IIC_TempBuff
+0012CA FF                MOV     R7,A
+0012CB EC                MOV     A,R4
+0012CC FE                MOV     R6,A
+0012CD EF                MOV     A,R7
+0012CE 90809C            MOV     DPTR,#0809CH
+0012D1 EE                MOV     A,R6
+0012D2 F0                MOVX    @DPTR,A
+0012D3 A3                INC     DPTR
+0012D4 EF                MOV     A,R7
+0012D5 F0                MOVX    @DPTR,A
+0012D6 908090            MOV     DPTR,#08090H
+0012D9 7402              MOV     A,#02H
+0012DB F0                MOVX    @DPTR,A
+0012DC 90809C            MOV     DPTR,#0809CH
+0012DF A3                INC     DPTR
+0012E0 E0                MOVX    A,@DPTR
+0012E1 20E707            JB      ACC.7,?C0004?IIC
+0012E4 908090            MOV     DPTR,#08090H
+0012E7 E0                MOVX    A,@DPTR
+0012E8 4401              ORL     A,#01H
+0012EA F0                MOVX    @DPTR,A
+0012EB         ?C0004?IIC:
+0012EB 908006            MOV     DPTR,#08006H
+0012EE E0                MOVX    A,@DPTR
+0012EF 4404              ORL     A,#04H
+0012F1 F0                MOVX    @DPTR,A
+0012F2 F153              ACALL   IIcWaitDone
+0012F4 904E5E            MOV     DPTR,#pbuff
+0012F7 E0                MOVX    A,@DPTR
+0012F8 A3                INC     DPTR
+0012F9 E0                MOVX    A,@DPTR
+0012FA FA                MOV     R2,A
+0012FB A3                INC     DPTR
+0012FC E0                MOVX    A,@DPTR
+0012FD AE02              MOV     R6,AR2
+0012FF FF                MOV     R7,A
+001300 7B01              MOV     R3,#01H
+001302 7A0B              MOV     R2,#HIGH IIC_TempBuff
+001304 7983              MOV     R1,#LOW IIC_TempBuff
+001306 904E5C            MOV     DPTR,#len
+001309 E0                MOVX    A,@DPTR
+00130A A3                INC     DPTR
+00130B E0                MOVX    A,@DPTR
+00130C 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
+00130F F0                MOVX    @DPTR,A
+001310 0208DA            LJMP    _xmemcpy
 ----- FUNCTION _IIC_Read (END) -------
 
 
@@ -2799,11 +2777,11 @@
    43: {
    44: 	g_variable.recon_count = 0;
    45: }
-001300 E4                CLR     A
-001301 904CF0            MOV     DPTR,#g_variable+031H
-001304 F0                MOVX    @DPTR,A
+001313 E4                CLR     A
+001314 904CF0            MOV     DPTR,#g_variable+031H
+001317 F0                MOVX    @DPTR,A
    46: 
-001305 22                RET     
+001318 22                RET     
 ----- FUNCTION YC_clear_reconnect_flag (END) -------
 
 
@@ -2813,187 +2791,187 @@
    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
+001319 904CBF            MOV     DPTR,#g_variable
+00131C E0                MOVX    A,@DPTR
+00131D 603B              JZ      ?C0015?BLUETOOTH
    71: 		Delay1ms(200);
    72: 		GPIO_Setout(EEPROM_WP_GPIO,0);
-00130C 7FC8              MOV     R7,#0C8H
-00130E 3161              ACALL   _Delay1ms
+00131F 7FC8              MOV     R7,#0C8H
+001321 3175              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
+001323 C201              CLR     ?_GPIO_Setout?BIT
+001325 7FFF              MOV     R7,#0FFH
+001327 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
+00132A 7B01              MOV     R3,#01H
+00132C 7A4C              MOV     R2,#HIGH m_24g_addr
+00132E 7900              MOV     R1,#LOW m_24g_addr
+001330 7D04              MOV     R5,#04H
+001332 7C00              MOV     R4,#00H
+001334 7FF2              MOV     R7,#0F2H
+001336 7E3F              MOV     R6,#03FH
+001338 715B              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
+00133A 7B01              MOV     R3,#01H
+00133C 7A4C              MOV     R2,#HIGH g_variable+02H
+00133E 79C1              MOV     R1,#LOW g_variable+02H
+001340 7D01              MOV     R5,#01H
+001342 7C00              MOV     R4,#00H
+001344 7FF8              MOV     R7,#0F8H
+001346 7E3F              MOV     R6,#03FH
+001348 715B              ACALL   _IIC_WriteBlock
    76: 		Delay1ms(10);
-001337 D201              SETB    ?_GPIO_Setout?BIT
-001339 7FFF              MOV     R7,#0FFH
-00133B 120784            LCALL   _GPIO_Setout
+00134A D201              SETB    ?_GPIO_Setout?BIT
+00134C 7FFF              MOV     R7,#0FFH
+00134E 120784            LCALL   _GPIO_Setout
    77: 		g_variable.update_eeprom_flag = 0;
-00133E 7F0A              MOV     R7,#0AH
-001340 3161              ACALL   _Delay1ms
+001351 7F0A              MOV     R7,#0AH
+001353 3175              ACALL   _Delay1ms
    78: 	}
-001342 E4                CLR     A
-001343 904CBF            MOV     DPTR,#g_variable
-001346 F0                MOVX    @DPTR,A
+001355 E4                CLR     A
+001356 904CBF            MOV     DPTR,#g_variable
+001359 F0                MOVX    @DPTR,A
    79: }
    80: 
-001347         ?C0015?BLUETOOTH:
-001347 22                RET     
+00135A         ?C0015?BLUETOOTH:
+00135A 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
-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
-;---- 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
+00135B 904E20            MOV     DPTR,#addr
+00135E EE                MOV     A,R6
+00135F F0                MOVX    @DPTR,A
+001360 A3                INC     DPTR
+001361 EF                MOV     A,R7
+001362 F0                MOVX    @DPTR,A
+001363 A3                INC     DPTR
+001364 EC                MOV     A,R4
+001365 F0                MOVX    @DPTR,A
+001366 A3                INC     DPTR
+001367 ED                MOV     A,R5
+001368 F0                MOVX    @DPTR,A
+001369 A3                INC     DPTR
+00136A EB                MOV     A,R3
+00136B F0                MOVX    @DPTR,A
+00136C A3                INC     DPTR
+00136D EA                MOV     A,R2
+00136E F0                MOVX    @DPTR,A
+00136F A3                INC     DPTR
+001370 E9                MOV     A,R1
+001371 F0                MOVX    @DPTR,A
+001372         ?C0007?IIC:
+001372 904E22            MOV     DPTR,#len
+001375 E0                MOVX    A,@DPTR
+001376 7002              JNZ     ?C0012?IIC
+001378 A3                INC     DPTR
+001379 E0                MOVX    A,@DPTR
+00137A         ?C0012?IIC:
+00137A 7002              JNZ     $ + 4H
+00137C 8108              AJMP    ?C0011?IIC
+00137E 904E20            MOV     DPTR,#addr
+001381 E0                MOVX    A,@DPTR
+001382 FE                MOV     R6,A
+001383 A3                INC     DPTR
+001384 E0                MOVX    A,@DPTR
+001385 FF                MOV     R7,A
+001386 440F              ORL     A,#0FH
+001388 2401              ADD     A,#01H
+00138A FD                MOV     R5,A
+00138B E4                CLR     A
+00138C 3E                ADDC    A,R6
 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
-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
-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
-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
-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
+;---- Variable 'cris' assigned to Register 'R4/R5' ----
+00138E C3                CLR     C
+00138F ED                MOV     A,R5
+001390 9F                SUBB    A,R7
+001391 FF                MOV     R7,A
+001392 EC                MOV     A,R4
+001393 9E                SUBB    A,R6
+001394 FE                MOV     R6,A
+001395 904E27            MOV     DPTR,#curr_len
+001398 F0                MOVX    @DPTR,A
+001399 A3                INC     DPTR
+00139A EF                MOV     A,R7
+00139B F0                MOVX    @DPTR,A
+00139C 904E22            MOV     DPTR,#len
+00139F E0                MOVX    A,@DPTR
+0013A0 FC                MOV     R4,A
+0013A1 A3                INC     DPTR
+0013A2 E0                MOVX    A,@DPTR
+0013A3 FD                MOV     R5,A
+0013A4 D3                SETB    C
+0013A5 9F                SUBB    A,R7
+0013A6 EC                MOV     A,R4
+0013A7 9E                SUBB    A,R6
+0013A8 400A              JC      ?C0009?IIC
+0013AA 904E27            MOV     DPTR,#curr_len
+0013AD E0                MOVX    A,@DPTR
+0013AE FE                MOV     R6,A
+0013AF A3                INC     DPTR
+0013B0 E0                MOVX    A,@DPTR
+0013B1 FF                MOV     R7,A
+0013B2 8004              SJMP    ?C0010?IIC
+0013B4         ?C0009?IIC:
+0013B4 AE04              MOV     R6,AR4
+0013B6 AF05              MOV     R7,AR5
+0013B8         ?C0010?IIC:
+0013B8 904E27            MOV     DPTR,#curr_len
+0013BB EE                MOV     A,R6
+0013BC F0                MOVX    @DPTR,A
+0013BD FC                MOV     R4,A
+0013BE A3                INC     DPTR
+0013BF EF                MOV     A,R7
+0013C0 F0                MOVX    @DPTR,A
+0013C1 FD                MOV     R5,A
+0013C2 C3                CLR     C
+0013C3 904E23            MOV     DPTR,#len+01H
+0013C6 E0                MOVX    A,@DPTR
+0013C7 9D                SUBB    A,R5
+0013C8 F0                MOVX    @DPTR,A
+0013C9 904E22            MOV     DPTR,#len
+0013CC E0                MOVX    A,@DPTR
+0013CD 9C                SUBB    A,R4
+0013CE F0                MOVX    @DPTR,A
+0013CF 904E20            MOV     DPTR,#addr
+0013D2 E0                MOVX    A,@DPTR
+0013D3 FE                MOV     R6,A
+0013D4 A3                INC     DPTR
+0013D5 E0                MOVX    A,@DPTR
+0013D6 FF                MOV     R7,A
+0013D7 904E24            MOV     DPTR,#pbuff
+0013DA E0                MOVX    A,@DPTR
+0013DB FB                MOV     R3,A
+0013DC A3                INC     DPTR
+0013DD E0                MOVX    A,@DPTR
+0013DE FA                MOV     R2,A
+0013DF A3                INC     DPTR
+0013E0 E0                MOVX    A,@DPTR
+0013E1 F9                MOV     R1,A
+0013E2 1222C5            LCALL   _IIC_write
+0013E5 7F0A              MOV     R7,#0AH
+0013E7 3175              ACALL   _Delay1ms
+0013E9 904E27            MOV     DPTR,#curr_len
+0013EC E0                MOVX    A,@DPTR
+0013ED FE                MOV     R6,A
+0013EE A3                INC     DPTR
 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     
+0013F0 FF                MOV     R7,A
+0013F1 904E25            MOV     DPTR,#pbuff+01H
+0013F4 EE                MOV     A,R6
+0013F5 8FF0              MOV     B,R7
+0013F7 12040E            LCALL   ?C?IILDX
+0013FA 904E21            MOV     DPTR,#addr+01H
+0013FD E0                MOVX    A,@DPTR
+0013FE 2F                ADD     A,R7
+0013FF F0                MOVX    @DPTR,A
+001400 904E20            MOV     DPTR,#addr
+001403 E0                MOVX    A,@DPTR
+001404 3E                ADDC    A,R6
+001405 F0                MOVX    @DPTR,A
+001406 6172              AJMP    ?C0007?IIC
+001408         ?C0011?IIC:
+001408 22                RET     
 ----- FUNCTION _IIC_WriteBlock (END) -------
 
 
@@ -3003,7 +2981,7 @@
    42: {
    43: 	KS_Initialize();
    44: 	LED_all_shutdown();
-0013F5 9129              ACALL   KS_Initialize
+001409 913D              ACALL   KS_Initialize
 ;----                  JMP     LED_all_shutdown
    45: }
 ----- FUNCTION System_Hardware_init (END) -------
@@ -3015,43 +2993,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
+00140B C206              CLR     ?_GPIO_SetOutput?BIT
+00140D 7F1F              MOV     R7,#01FH
+00140F 9121              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
+001411 C206              CLR     ?_GPIO_SetOutput?BIT
+001413 7F1D              MOV     R7,#01DH
+001415 9121              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
+001417 C206              CLR     ?_GPIO_SetOutput?BIT
+001419 7F1E              MOV     R7,#01EH
+00141B 9121              ACALL   _GPIO_SetOutput
    10: }
-001409 C206              CLR     ?_GPIO_SetOutput?BIT
-00140B 7F1E              MOV     R7,#01EH
+00141D C206              CLR     ?_GPIO_SetOutput?BIT
+00141F 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     
+001421 AC07              MOV     R4,AR7
+001423 EC                MOV     A,R4
+001424 F4                CPL     A
+001425 6015              JZ      ?C0017?GPIO
+001427         ?C0016?GPIO:
+001427 AF04              MOV     R7,AR4
+001429 D204              SETB    ?_GPIO_Setoe?BIT
+00142B D193              ACALL   _GPIO_Setoe
+00142D AF04              MOV     R7,AR4
+00142F A206              MOV     C,st
+001431 9201              MOV     ?_GPIO_Setout?BIT,C
+001433 120784            LCALL   _GPIO_Setout
+001436 AF04              MOV     R7,AR4
+001438 C202              CLR     ?_GPIO_SetPu?BIT
+00143A D164              ACALL   _GPIO_SetPu
+00143C         ?C0017?GPIO:
+00143C 22                RET     
 ----- FUNCTION _GPIO_SetOutput (END) -------
 
 
@@ -3061,17 +3039,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
+00143D 908080            MOV     DPTR,#08080H
+001440 E4                CLR     A
+001441 F0                MOVX    @DPTR,A
   210: 	REG_GPIO_SELECT(2) = 0;
-00142E A3                INC     DPTR
-00142F F0                MOVX    @DPTR,A
+001442 A3                INC     DPTR
+001443 F0                MOVX    @DPTR,A
   211: 	ksRawInitialize();
-001430 A3                INC     DPTR
-001431 F0                MOVX    @DPTR,A
+001444 A3                INC     DPTR
+001445 F0                MOVX    @DPTR,A
   212: 	ksColInitialize();
-001432 F102              ACALL   ksRawInitialize
+001446 F116              ACALL   ksRawInitialize
 ;----                  JMP     ksColInitialize
   213: }
 ----- FUNCTION KS_Initialize (END) -------
@@ -3083,30 +3061,30 @@
   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
+001448 E4                CLR     A
+001449 904E91            MOV     DPTR,#i
+00144C 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
+00144D F0                MOVX    @DPTR,A
+00144E         ?C0032?KEYSCAN:
+00144E 904E91            MOV     DPTR,#i
+001451 E0                MOVX    A,@DPTR
+001452 90060C            MOV     DPTR,#col
+001455 93                MOVC    A,@A+DPTR
+001456 FF                MOV     R7,A
+001457 600C              JZ      ?C0035?KEYSCAN
   203: 	}
-001445 C205              CLR     ?_GPIO_SetInput?BIT
-001447 D161              ACALL   _GPIO_SetInput
+001459 C205              CLR     ?_GPIO_SetInput?BIT
+00145B D175              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
+00145D 904E91            MOV     DPTR,#i
+001460 E0                MOVX    A,@DPTR
+001461 04                INC     A
+001462 F0                MOVX    @DPTR,A
+001463 80E9              SJMP    ?C0032?KEYSCAN
   205: 
-001451         ?C0035?KEYSCAN:
-001451 22                RET     
+001465         ?C0035?KEYSCAN:
+001465 22                RET     
 ----- FUNCTION ksColInitialize (END) -------
 
 
@@ -3116,76 +3094,76 @@
   387: {
   388: 	kb_cb_init();
   389: 	while(1) {
-001452 B1EE              ACALL   kb_cb_init
-001454         ?C0081?SYS:
+001466 D102              ACALL   kb_cb_init
+001468         ?C0081?SYS:
   390: 		IPC_DealSingleStep();
   391: 		kb_need_keyscan();
-001454 1221DD            LCALL   IPC_DealSingleStep
+001468 12218D            LCALL   IPC_DealSingleStep
   392: 		YC_update_eeprom_data();
-001457 120F46            LCALL   kb_need_keyscan
+00146B 121806            LCALL   kb_need_keyscan
   393: 		LED_handle();
-00145A 7106              ACALL   YC_update_eeprom_data
+00146E 7119              ACALL   YC_update_eeprom_data
   394: 		
-00145C 1206CF            LCALL   LED_handle
+001470 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
+001473 900B7E            MOV     DPTR,#current_task
+001476 E0                MOVX    A,@DPTR
+001477 14                DEC     A
+001478 600C              JZ      ?C0087?SYS
+00147A 24FE              ADD     A,#0FEH
+00147C 70EA              JNZ     ?C0081?SYS
   396: 		case FIX_ENTER_HIBERNATE:
-00146A         ?C0084?SYS:
+00147E         ?C0084?SYS:
   397: 			KS_Unistall();
-00146A 9197              ACALL   KS_Unistall
+00147E 91AB              ACALL   KS_Unistall
   398: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
   399: 			LED_all_shutdown();
-00146C 71F7              ACALL   LED_all_shutdown
+001480 910B              ACALL   LED_all_shutdown
   400: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-00146E B1E1              ACALL   IPC_WaitLpm
-001470         ?C0085?SYS:
+001482 B1F5              ACALL   IPC_WaitLpm
+001484         ?C0085?SYS:
   401: 			while(1);
-001470 80FE              SJMP    ?C0085?SYS
+001484 80FE              SJMP    ?C0085?SYS
   402: 			break;
   403: 			
   404: 		case FIX_ENTER_LPM:
-001472         ?C0087?SYS:
+001486         ?C0087?SYS:
   405: 			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:
+001486 904CEA            MOV     DPTR,#g_variable+02BH
+001489 E0                MOVX    A,@DPTR
+00148A 7012              JNZ     ?C0089?SYS
+00148C 904CEC            MOV     DPTR,#g_variable+02DH
+00148F E0                MOVX    A,@DPTR
+001490 700C              JNZ     ?C0089?SYS
+001492 904CE5            MOV     DPTR,#g_variable+026H
+001495 E0                MOVX    A,@DPTR
+001496 7006              JNZ     ?C0089?SYS
+001498 904CF8            MOV     DPTR,#g_variable+039H
+00149B E0                MOVX    A,@DPTR
+00149C 6004              JZ      ?C0088?SYS
+00149E         ?C0089?SYS:
   406: 			) 
   407: 			{
   408: 				IPC_AbandonLpm();
-00148A F1C4              ACALL   IPC_AbandonLpm
+00149E F15B              ACALL   IPC_AbandonLpm
   409: 				break;
-00148C 80C6              SJMP    ?C0081?SYS
+0014A0 80C6              SJMP    ?C0081?SYS
   410: 			}
-00148E         ?C0088?SYS:
+0014A2         ?C0088?SYS:
   411: 			else
   412: 			{
   413: 				KS_Unistall();
-00148E 9197              ACALL   KS_Unistall
+0014A2 91AB              ACALL   KS_Unistall
   414: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-001490 B1E1              ACALL   IPC_WaitLpm
+0014A4 B1F5              ACALL   IPC_WaitLpm
   415: 				break;
-001492 80C0              SJMP    ?C0081?SYS
+0014A6 80C0              SJMP    ?C0081?SYS
   416: 			}
   417: 		}
   418: 	}
-001494 80BE              SJMP    ?C0081?SYS
-001496 22                RET     
+0014A8 80BE              SJMP    ?C0081?SYS
+0014AA 22                RET     
 ----- FUNCTION YC_System_Main (END) -------
 
 
@@ -3196,299 +3174,299 @@
   217: 	byte i = 0;
   218: 	byte temp = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-001497 E4                CLR     A
-001498 FF                MOV     R7,A
+0014AB E4                CLR     A
+0014AC FF                MOV     R7,A
   219: 	byte tgroup = 0;
-001499 904E92            MOV     DPTR,#temp
-00149C F0                MOVX    @DPTR,A
+0014AD 904E92            MOV     DPTR,#temp
+0014B0 F0                MOVX    @DPTR,A
   220: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-00149D FE                MOV     R6,A
+0014B1 FE                MOV     R6,A
   221: 	for (i=0; col[i]!=0; i++) {
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-00149E FD                MOV     R5,A
+0014B2 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
+0014B3         ?C0037?KEYSCAN:
+0014B3 EF                MOV     A,R7
+0014B4 90060C            MOV     DPTR,#col
+0014B7 93                MOVC    A,@A+DPTR
+0014B8 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
+0014BA EF                MOV     A,R7
+0014BB 93                MOVC    A,@A+DPTR
+0014BC FD                MOV     R5,A
+0014BD 13                RRC     A
+0014BE 13                RRC     A
+0014BF 13                RRC     A
+0014C0 541F              ANL     A,#01FH
+0014C2 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
+0014C3 ED                MOV     A,R5
+0014C4 5407              ANL     A,#07H
+0014C6 FD                MOV     R5,A
+0014C7 7401              MOV     A,#01H
+0014C9 A805              MOV     R0,AR5
+0014CB 08                INC     R0
+0014CC 8002              SJMP    ?C0093?KEYSCAN
+0014CE         ?C0092?KEYSCAN:
+0014CE C3                CLR     C
+0014CF 33                RLC     A
+0014D0         ?C0093?KEYSCAN:
+0014D0 D8FC              DJNZ    R0,?C0092?KEYSCAN
+0014D2 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
-  226: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
-0014D2 EE                MOV     A,R6
-0014D3 2470              ADD     A,#070H
-0014D5 F582              MOV     DPL,A
+0014D3 EE                MOV     A,R6
+0014D4 2478              ADD     A,#078H
+0014D6 FB                MOV     R3,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
+0014DA 8B82              MOV     DPL,R3
+0014DC F583              MOV     DPH,A
+0014DE E0                MOVX    A,@DPTR
+0014DF FC                MOV     R4,A
+0014E0 ED                MOV     A,R5
+0014E1 F4                CPL     A
+0014E2 FB                MOV     R3,A
+0014E3 EC                MOV     A,R4
+0014E4 5B                ANL     A,R3
+0014E5 F0                MOVX    @DPTR,A
+  226: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
+0014E6 EE                MOV     A,R6
+0014E7 2470              ADD     A,#070H
+0014E9 F582              MOV     DPL,A
+0014EB E4                CLR     A
+0014EC 3480              ADDC    A,#080H
+0014EE F583              MOV     DPH,A
+0014F0 E0                MOVX    A,@DPTR
+0014F1 4D                ORL     A,R5
+0014F2 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
+0014F3 EE                MOV     A,R6
+0014F4 2474              ADD     A,#074H
+0014F6 F582              MOV     DPL,A
+0014F8 E4                CLR     A
+0014F9 3480              ADDC    A,#080H
+0014FB F583              MOV     DPH,A
+0014FD E0                MOVX    A,@DPTR
+0014FE 5B                ANL     A,R3
+0014FF F0                MOVX    @DPTR,A
   228: 	
-0014EC 0F                INC     R7
-0014ED 80B0              SJMP    ?C0037?KEYSCAN
-0014EF         ?C0038?KEYSCAN:
+001500 0F                INC     R7
+001501 80B0              SJMP    ?C0037?KEYSCAN
+001503         ?C0038?KEYSCAN:
   229: 	GPIO_fillpd();
-0014EF 12237D            LCALL   GPIO_fillpd
+001503 1223CC            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
+001506 90811C            MOV     DPTR,#0811CH
+001509 E0                MOVX    A,@DPTR
+00150A 904E92            MOV     DPTR,#temp
+00150D 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
+00150E 904CD5            MOV     DPTR,#g_variable+016H
+001511 E0                MOVX    A,@DPTR
+001512 6402              XRL     A,#02H
+001514 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
+001516 904DD5            MOV     DPTR,#long_press_flag
+001519 E0                MOVX    A,@DPTR
+00151A 6020              JZ      ?C0041?KEYSCAN
   235: 		{
   236: 			GPIO_SetWakeupByCurrentState(0);
-001508 E4                CLR     A
-001509 FF                MOV     R7,A
-00150A B142              ACALL   _GPIO_SetWakeupByCurrentState
+00151C E4                CLR     A
+00151D FF                MOV     R7,A
+00151E B156              ACALL   _GPIO_SetWakeupByCurrentState
   237: 			GPIO_SetWakeupByCurrentState(1);
-00150C 7F01              MOV     R7,#01H
-00150E B142              ACALL   _GPIO_SetWakeupByCurrentState
+001520 7F01              MOV     R7,#01H
+001522 B156              ACALL   _GPIO_SetWakeupByCurrentState
   238: 			GPIO_SetWakeupByCurrentState(2);
-001510 7F02              MOV     R7,#02H
-001512 B142              ACALL   _GPIO_SetWakeupByCurrentState
+001524 7F02              MOV     R7,#02H
+001526 B156              ACALL   _GPIO_SetWakeupByCurrentState
   239: 			GPIO_SetWakeupByCurrentState(3);
-001514 7F03              MOV     R7,#03H
-001516 B142              ACALL   _GPIO_SetWakeupByCurrentState
+001528 7F03              MOV     R7,#03H
+00152A B156              ACALL   _GPIO_SetWakeupByCurrentState
   240: 			GPIO_SetWakeupByCurrentState(4);
-001518 7F04              MOV     R7,#04H
-00151A B142              ACALL   _GPIO_SetWakeupByCurrentState
+00152C 7F04              MOV     R7,#04H
+00152E B156              ACALL   _GPIO_SetWakeupByCurrentState
   241: 			GPIO_SetWakeupByCurrentState(5);
-00151C 7F05              MOV     R7,#05H
-00151E B142              ACALL   _GPIO_SetWakeupByCurrentState
+001530 7F05              MOV     R7,#05H
+001532 B156              ACALL   _GPIO_SetWakeupByCurrentState
   242: 			GPIO_SetWakeupByCurrentState(6);
-001520 7F06              MOV     R7,#06H
-001522 B142              ACALL   _GPIO_SetWakeupByCurrentState
+001534 7F06              MOV     R7,#06H
+001536 B156              ACALL   _GPIO_SetWakeupByCurrentState
   243: 			GPIO_SetWakeupByCurrentState(7);
-001524 7F07              MOV     R7,#07H
-001526 801A              SJMP    _GPIO_SetWakeupByCurrentState
+001538 7F07              MOV     R7,#07H
+00153A 801A              SJMP    _GPIO_SetWakeupByCurrentState
   244: 		}
-001528         ?C0041?KEYSCAN:
+00153C         ?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
+00153C 904E92            MOV     DPTR,#temp
+00153F E0                MOVX    A,@DPTR
+001540 FF                MOV     R7,A
+001541 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+001544 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
+001545 EF                MOV     A,R7
+001546 F4                CPL     A
+001547 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+00154A F0                MOVX    @DPTR,A
   249: 		}
   250: 
   251: 	}
-001537 22                RET     
-001538         ?C0040?KEYSCAN:
+00154B 22                RET     
+00154C         ?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
+00154C E4                CLR     A
+00154D 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+001550 F0                MOVX    @DPTR,A
   255: 		YC_GPIOWakeupH[0] = 0;
-00153D 9000A7            MOV     DPTR,#YC_GPIOWakeupH
-001540 F0                MOVX    @DPTR,A
+001551 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+001554 F0                MOVX    @DPTR,A
   256: 	}
   257: }
-001541 22                RET     
+001555 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
+001556 904E96            MOV     DPTR,#gpio_num
+001559 EF                MOV     A,R7
+00155A F0                MOVX    @DPTR,A
+00155B D115              ACALL   _GPIO_GetInputStatus
+00155D 9208              MOV     st,C
+00155F 904E96            MOV     DPTR,#gpio_num
+001562 E0                MOVX    A,@DPTR
+001563 FF                MOV     R7,A
+001564 A208              MOV     C,st
+001566 B3                CPL     C
+001567 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
+001569 EF                MOV     A,R7
+00156A F4                CPL     A
+00156B 7002              JNZ     $ + 4H
+00156D A1F4              AJMP    ?C0019?GPIO
+00156F         ?C0018?GPIO:
+00156F EF                MOV     A,R7
+001570 5407              ANL     A,#07H
+001572 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
+001573 EF                MOV     A,R7
+001574 13                RRC     A
+001575 13                RRC     A
+001576 13                RRC     A
+001577 5403              ANL     A,#03H
+001579 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     
+00157A 300743            JNB     st,?C0020?GPIO
+00157D 24A3              ADD     A,#LOW YC_GPIOWakeupL
+00157F F582              MOV     DPL,A
+001581 E4                CLR     A
+001582 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+001584 F583              MOV     DPH,A
+001586 C083              PUSH    DPH
+001588 C082              PUSH    DPL
+00158A E0                MOVX    A,@DPTR
+00158B FD                MOV     R5,A
+00158C 7401              MOV     A,#01H
+00158E A806              MOV     R0,AR6
+001590 08                INC     R0
+001591 8002              SJMP    ?C0037?GPIO
+001593         ?C0036?GPIO:
+001593 C3                CLR     C
+001594 33                RLC     A
+001595         ?C0037?GPIO:
+001595 D8FC              DJNZ    R0,?C0036?GPIO
+001597 F4                CPL     A
+001598 5D                ANL     A,R5
+001599 D082              POP     DPL
+00159B D083              POP     DPH
+00159D F0                MOVX    @DPTR,A
+00159E 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0015A0 2F                ADD     A,R7
+0015A1 F582              MOV     DPL,A
+0015A3 E4                CLR     A
+0015A4 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0015A6 F583              MOV     DPH,A
+0015A8 C083              PUSH    DPH
+0015AA C082              PUSH    DPL
+0015AC E0                MOVX    A,@DPTR
+0015AD FF                MOV     R7,A
+0015AE 7401              MOV     A,#01H
+0015B0 A806              MOV     R0,AR6
+0015B2 08                INC     R0
+0015B3 8002              SJMP    ?C0039?GPIO
+0015B5         ?C0038?GPIO:
+0015B5 C3                CLR     C
+0015B6 33                RLC     A
+0015B7         ?C0039?GPIO:
+0015B7 D8FC              DJNZ    R0,?C0038?GPIO
+0015B9 4F                ORL     A,R7
+0015BA D082              POP     DPL
+0015BC D083              POP     DPH
+0015BE F0                MOVX    @DPTR,A
+0015BF 22                RET     
+0015C0         ?C0020?GPIO:
+0015C0 74A3              MOV     A,#LOW YC_GPIOWakeupL
+0015C2 2F                ADD     A,R7
+0015C3 F582              MOV     DPL,A
+0015C5 E4                CLR     A
+0015C6 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0015C8 F583              MOV     DPH,A
+0015CA C083              PUSH    DPH
+0015CC C082              PUSH    DPL
+0015CE E0                MOVX    A,@DPTR
+0015CF FD                MOV     R5,A
+0015D0 7401              MOV     A,#01H
+0015D2 A806              MOV     R0,AR6
+0015D4 08                INC     R0
+0015D5 8002              SJMP    ?C0041?GPIO
+0015D7         ?C0040?GPIO:
+0015D7 C3                CLR     C
+0015D8 33                RLC     A
+0015D9         ?C0041?GPIO:
+0015D9 D8FC              DJNZ    R0,?C0040?GPIO
+0015DB FC                MOV     R4,A
+0015DC 4D                ORL     A,R5
+0015DD D082              POP     DPL
+0015DF D083              POP     DPH
+0015E1 F0                MOVX    @DPTR,A
+0015E2 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0015E4 2F                ADD     A,R7
+0015E5 F582              MOV     DPL,A
+0015E7 E4                CLR     A
+0015E8 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0015EA F583              MOV     DPH,A
+0015EC E0                MOVX    A,@DPTR
+0015ED FF                MOV     R7,A
+0015EE EC                MOV     A,R4
+0015EF F4                CPL     A
+0015F0 FE                MOV     R6,A
+0015F1 EF                MOV     A,R7
+0015F2 5E                ANL     A,R6
+0015F3 F0                MOVX    @DPTR,A
+0015F4         ?C0019?GPIO:
+0015F4 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
+0015F5 E4                CLR     A
+0015F6 900B7F            MOV     DPTR,#lpm_flag
+0015F9 F0                MOVX    @DPTR,A
+0015FA 900B7E            MOV     DPTR,#current_task
+0015FD F0                MOVX    @DPTR,A
+0015FE 7F01              MOV     R7,#01H
+001600 2175              AJMP    _Delay1ms
 ----- FUNCTION IPC_WaitLpm (END) -------
 
 
@@ -3498,83 +3476,83 @@
   380: {
   381: 	IPC_Initialize(&cb);
   382: }
-0015EE 7B01              MOV     R3,#01H
-0015F0 7A4D              MOV     R2,#HIGH cb
-0015F2 79EE              MOV     R1,#LOW cb
+001602 7B01              MOV     R3,#01H
+001604 7A4D              MOV     R2,#HIGH cb
+001606 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
+001608 7800              MOV     R0,#LOW ipcCb
+00160A 7C4E              MOV     R4,#HIGH ipcCb
+00160C 7D01              MOV     R5,#01H
+00160E 7E00              MOV     R6,#00H
+001610 7F12              MOV     R7,#012H
+001612 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
+001615 7B01              MOV     R3,#01H
+001617 7A81              MOV     R2,#081H
+001619 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
+00161B 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
+00161D E4                CLR     A
+00161E 904E95            MOV     DPTR,#queue
+001621 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
-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     
+001622 FE                MOV     R6,A
+001623 EF                MOV     A,R7
+001624 5407              ANL     A,#07H
+001626 F0                MOVX    @DPTR,A
+001627 EF                MOV     A,R7
+001628 13                RRC     A
+001629 13                RRC     A
+00162A 13                RRC     A
+00162B 5403              ANL     A,#03H
+00162D FE                MOV     R6,A
+00162E F582              MOV     DPL,A
+001630 758300            MOV     DPH,#00H
+001633 1203CF            LCALL   ?C?CLDOPTR
+001636 FD                MOV     R5,A
+001637 33                RLC     A
+001638 95E0              SUBB    A,ACC
+00163A FC                MOV     R4,A
+00163B 904E95            MOV     DPTR,#queue
+00163E E0                MOVX    A,@DPTR
+00163F FF                MOV     R7,A
+001640 7401              MOV     A,#01H
+001642 7E00              MOV     R6,#00H
+001644 A807              MOV     R0,AR7
+001646 08                INC     R0
+001647 8005              SJMP    ?C0035?GPIO
+001649         ?C0034?GPIO:
+001649 C3                CLR     C
+00164A 33                RLC     A
+00164B CE                XCH     A,R6
+00164C 33                RLC     A
+00164D CE                XCH     A,R6
+00164E         ?C0035?GPIO:
+00164E D8F9              DJNZ    R0,?C0034?GPIO
+001650 FF                MOV     R7,A
+001651 EE                MOV     A,R6
+001652 5C                ANL     A,R4
+001653 FE                MOV     R6,A
+001654 EF                MOV     A,R7
+001655 5D                ANL     A,R5
+001656 4E                ORL     A,R6
+001657 24FF              ADD     A,#0FFH
+001659 22                RET     
 ----- FUNCTION _gpioGetBit (END) -------
 
 
@@ -3584,170 +3562,170 @@
    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
+00165A 904DE1            MOV     DPTR,#power_on_flag
+00165D 7402              MOV     A,#02H
+00165F F0                MOVX    @DPTR,A
    64: }
-00164C 7F08              MOV     R7,#08H
-00164E 0117              AJMP    _YC_key_action_handle
+001660 7F08              MOV     R7,#08H
+001662 012B              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     
+001664 EF                MOV     A,R7
+001665 F4                CPL     A
+001666 600C              JZ      ?C0009?GPIO
+001668         ?C0008?GPIO:
+001668 7B01              MOV     R3,#01H
+00166A 7A80              MOV     R2,#080H
+00166C 7978              MOV     R1,#078H
+00166E A202              MOV     C,bit_val
+001670 9200              MOV     ?_gpioSetBit?BIT,C
+001672 D1B5              ACALL   _gpioSetBit
+001674         ?C0009?GPIO:
+001674 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     
+001675 AC07              MOV     R4,AR7
+001677 EC                MOV     A,R4
+001678 F4                CPL     A
+001679 6017              JZ      ?C0015?GPIO
+00167B         ?C0014?GPIO:
+00167B AF04              MOV     R7,AR4
+00167D A205              MOV     C,st
+00167F 9203              MOV     ?_GPIO_SetPd?BIT,C
+001681 D1A4              ACALL   _GPIO_SetPd
+001683 AF04              MOV     R7,AR4
+001685 A205              MOV     C,st
+001687 B3                CPL     C
+001688 9202              MOV     ?_GPIO_SetPu?BIT,C
+00168A D164              ACALL   _GPIO_SetPu
+00168C AF04              MOV     R7,AR4
+00168E C204              CLR     ?_GPIO_Setoe?BIT
+001690 D193              ACALL   _GPIO_Setoe
+001692         ?C0015?GPIO:
+001692 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     
+001693 EF                MOV     A,R7
+001694 F4                CPL     A
+001695 600C              JZ      ?C0013?GPIO
+001697         ?C0012?GPIO:
+001697 7B01              MOV     R3,#01H
+001699 7A80              MOV     R2,#080H
+00169B 7970              MOV     R1,#070H
+00169D A204              MOV     C,bit_val
+00169F 9200              MOV     ?_gpioSetBit?BIT,C
+0016A1 D1B5              ACALL   _gpioSetBit
+0016A3         ?C0013?GPIO:
+0016A3 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     
+0016A4 EF                MOV     A,R7
+0016A5 F4                CPL     A
+0016A6 600C              JZ      ?C0011?GPIO
+0016A8         ?C0010?GPIO:
+0016A8 7B01              MOV     R3,#01H
+0016AA 7A80              MOV     R2,#080H
+0016AC 797C              MOV     R1,#07CH
+0016AE A203              MOV     C,bit_val
+0016B0 9200              MOV     ?_gpioSetBit?BIT,C
+0016B2 D1B5              ACALL   _gpioSetBit
+0016B4         ?C0011?GPIO:
+0016B4 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
+0016B5 904E84            MOV     DPTR,#reg_base
+0016B8 EB                MOV     A,R3
+0016B9 F0                MOVX    @DPTR,A
+0016BA A3                INC     DPTR
+0016BB EA                MOV     A,R2
+0016BC F0                MOVX    @DPTR,A
+0016BD A3                INC     DPTR
+0016BE E9                MOV     A,R1
+0016BF 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
+0016C0 E4                CLR     A
+0016C1 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
-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
+0016C2 FD                MOV     R5,A
+0016C3 EF                MOV     A,R7
+0016C4 5407              ANL     A,#07H
+0016C6 FE                MOV     R6,A
+0016C7 EF                MOV     A,R7
+0016C8 13                RRC     A
+0016C9 13                RRC     A
+0016CA 13                RRC     A
+0016CB 5403              ANL     A,#03H
+0016CD FD                MOV     R5,A
+0016CE 300022            JNB     bit_val,?C0001?GPIO
+0016D1 904E84            MOV     DPTR,#reg_base
+0016D4 E0                MOVX    A,@DPTR
+0016D5 FB                MOV     R3,A
+0016D6 A3                INC     DPTR
+0016D7 E0                MOVX    A,@DPTR
+0016D8 FA                MOV     R2,A
+0016D9 A3                INC     DPTR
+0016DA E0                MOVX    A,@DPTR
+0016DB 2D                ADD     A,R5
+0016DC F9                MOV     R1,A
+0016DD E4                CLR     A
+0016DE 3A                ADDC    A,R2
+0016DF FA                MOV     R2,A
+0016E0 1203B6            LCALL   ?C?CLDPTR
+0016E3 FF                MOV     R7,A
+0016E4 7401              MOV     A,#01H
+0016E6 A806              MOV     R0,AR6
+0016E8 08                INC     R0
+0016E9 8002              SJMP    ?C0031?GPIO
+0016EB         ?C0030?GPIO:
+0016EB C3                CLR     C
+0016EC 33                RLC     A
+0016ED         ?C0031?GPIO:
+0016ED D8FC              DJNZ    R0,?C0030?GPIO
+0016EF 4F                ORL     A,R7
+0016F0 0203FC            LJMP    ?C?CSTPTR
+0016F3         ?C0001?GPIO:
+0016F3 904E84            MOV     DPTR,#reg_base
+0016F6 E0                MOVX    A,@DPTR
+0016F7 FB                MOV     R3,A
+0016F8 A3                INC     DPTR
+0016F9 E0                MOVX    A,@DPTR
+0016FA FA                MOV     R2,A
+0016FB A3                INC     DPTR
+0016FC E0                MOVX    A,@DPTR
+0016FD 2D                ADD     A,R5
+0016FE F9                MOV     R1,A
+0016FF E4                CLR     A
+001700 3A                ADDC    A,R2
+001701 FA                MOV     R2,A
+001702 1203B6            LCALL   ?C?CLDPTR
+001705 FF                MOV     R7,A
+001706 7401              MOV     A,#01H
+001708 A806              MOV     R0,AR6
+00170A 08                INC     R0
+00170B 8002              SJMP    ?C0033?GPIO
+00170D         ?C0032?GPIO:
+00170D C3                CLR     C
+00170E 33                RLC     A
+00170F         ?C0033?GPIO:
+00170F D8FC              DJNZ    R0,?C0032?GPIO
+001711 F4                CPL     A
+001712 5F                ANL     A,R7
+001713 0203FC            LJMP    ?C?CSTPTR
 ----- FUNCTION _gpioSetBit (END) -------
 
 
@@ -3757,177 +3735,90 @@
   190: {
   191: 	byte i = 0;
   192: 	
-001702 E4                CLR     A
-001703 904E90            MOV     DPTR,#i
-001706 F0                MOVX    @DPTR,A
+001716 E4                CLR     A
+001717 904E90            MOV     DPTR,#i
+00171A 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
+00171B F0                MOVX    @DPTR,A
+00171C         ?C0028?KEYSCAN:
+00171C 904E90            MOV     DPTR,#i
+00171F E0                MOVX    A,@DPTR
+001720 FF                MOV     R7,A
+001721 C3                CLR     C
+001722 9408              SUBB    A,#08H
+001724 500C              JNC     ?C0031?KEYSCAN
   194: 		GPIO_SetInput(i, 0);
-001712 C205              CLR     ?_GPIO_SetInput?BIT
-001714 D161              ACALL   _GPIO_SetInput
+001726 C205              CLR     ?_GPIO_SetInput?BIT
+001728 D175              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
+00172A 904E90            MOV     DPTR,#i
+00172D E0                MOVX    A,@DPTR
+00172E 04                INC     A
+00172F F0                MOVX    @DPTR,A
+001730 80EA              SJMP    ?C0028?KEYSCAN
   196: }
-00171E         ?C0031?KEYSCAN:
-00171E 22                RET     
+001732         ?C0031?KEYSCAN:
+001732 22                RET     
 ----- FUNCTION ksRawInitialize (END) -------
 
 
+----- FUNCTION System_Software_init (BEGIN) -----
+ FILE: 'sys.c'
+   48: void System_Software_init()
+   49: {
+   50: 	System_clear_mem();
+   51: 	YC_adc_init();
+001733 120E44            LCALL   System_clear_mem
+   52: 	g_variable.release_data =1;
+001736 121F33            LCALL   YC_adc_init
+   53: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
+001739 904CEB            MOV     DPTR,#g_variable+02CH
+00173C 7401              MOV     A,#01H
+00173E F0                MOVX    @DPTR,A
+   54: 	g_variable.recon_count = 0;
+00173F 904CE5            MOV     DPTR,#g_variable+026H
+001742 741E              MOV     A,#01EH
+001744 F0                MOVX    @DPTR,A
+   55: 	g_variable.test_buff = 0xff;
+001745 E4                CLR     A
+001746 904CF0            MOV     DPTR,#g_variable+031H
+001749 F0                MOVX    @DPTR,A
+   56: }
+00174A 904D01            MOV     DPTR,#g_variable+042H
+00174D 74FF              MOV     A,#0FFH
+00174F F0                MOVX    @DPTR,A
+   57: 
+001750 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
+001751 8166              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     
+001753         ?C0001?IIC:
+001753 90812C            MOV     DPTR,#0812CH
+001756 E0                MOVX    A,@DPTR
+001757 30E5F9            JNB     ACC.5,?C0001?IIC
+00175A 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     
+00175B 900B7F            MOV     DPTR,#lpm_flag
+00175E 7401              MOV     A,#01H
+001760 F0                MOVX    @DPTR,A
+001761 E4                CLR     A
+001762 900B7E            MOV     DPTR,#current_task
+001765 F0                MOVX    @DPTR,A
+001766 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
@@ -3937,25 +3828,25 @@
   292: {
   293: 	LED_timer500ms();	
   294: 
-0017D0 120796            LCALL   LED_timer500ms
+001767 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:
+00176A 904CE4            MOV     DPTR,#g_variable+025H
+00176D E0                MOVX    A,@DPTR
+00176E 04                INC     A
+00176F F0                MOVX    @DPTR,A
+001770 7006              JNZ     ?C0095?SYS
+001772 904CE3            MOV     DPTR,#g_variable+024H
+001775 E0                MOVX    A,@DPTR
+001776 04                INC     A
+001777 F0                MOVX    @DPTR,A
+001778         ?C0095?SYS:
   296: 
   297: 	YC_adc_check_timer500ms();
-0017E1 122122            LCALL   YC_adc_check_timer500ms
+001778 F1A2              ACALL   YC_adc_check_timer500ms
   298: 	YC_connect_timeout_500ms();
-0017E4 121E99            LCALL   YC_connect_timeout_500ms
+00177A 121E5A            LCALL   YC_connect_timeout_500ms
   299: 	kb_button_press_timer500ms();
-0017E7 11DD              ACALL   kb_button_press_timer500ms
+00177D 11F1              ACALL   kb_button_press_timer500ms
 ;----                  JMP     YC_pairing_timerout_500ms
   300: 	YC_pairing_timerout_500ms();
   301: 	
@@ -3969,119 +3860,90 @@
   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
+00177F 904CEE            MOV     DPTR,#g_variable+02FH
+001782 E0                MOVX    A,@DPTR
+001783 601C              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
+001785 E4                CLR     A
+001786 904CE3            MOV     DPTR,#g_variable+024H
+001789 F0                MOVX    @DPTR,A
+00178A A3                INC     DPTR
+00178B 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
+00178C 904CEE            MOV     DPTR,#g_variable+02FH
+00178F E0                MOVX    A,@DPTR
+001790 14                DEC     A
+001791 F0                MOVX    @DPTR,A
   234: 		if (g_variable.pairing_g24_timeout == 0)
-0017FC E0                MOVX    A,@DPTR
-0017FD 700D              JNZ     ?C0047?SYS
+001792 E0                MOVX    A,@DPTR
+001793 700C              JNZ     ?C0047?SYS
   235: 		{
   236: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
-0017FF 7F22              MOV     R7,#022H
-001801 1207F8            LCALL   _IPC_TxControlCmd
+001795 7F22              MOV     R7,#022H
+001797 1207F8            LCALL   _IPC_TxControlCmd
   237: 			Delay1ms(10);
-001804 7F0A              MOV     R7,#0AH
-001806 121161            LCALL   _Delay1ms
+00179A 7F0A              MOV     R7,#0AH
+00179C 3175              ACALL   _Delay1ms
   238: 			System_long_sleep();
-001809 1207F1            LCALL   System_long_sleep
+00179E 1207F1            LCALL   System_long_sleep
   239: 		}
   240: 	}
   241: }
-00180C         ?C0047?SYS:
-00180C 22                RET     
+0017A1         ?C0047?SYS:
+0017A1 22                RET     
 ----- FUNCTION YC_pairing_timerout_500ms (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
-  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
-  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
-  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
-  138: 			mult_key_status = 0;
-00183A 904DD0            MOV     DPTR,#get_24g_led_send
-00183D 7402              MOV     A,#02H
-00183F F0                MOVX    @DPTR,A
-  139: 		}	
-001840 E4                CLR     A
-001841 904DE4            MOV     DPTR,#mult_key_status
-001844 F0                MOVX    @DPTR,A
-  140: 	}
-  141: 	else if ((get_24g_led_send == 2) && (repeat_send_24g == 0))
-001845 22                RET     
-001846         ?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
-  143: 		get_24g_led_send = 0;
-  144: 		xmemclear(hidBuff,9);
-001853 904DD0            MOV     DPTR,#get_24g_led_send
-001856 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
-  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
-  147: 	}
-00186E E4                CLR     A
-00186F 904DE4            MOV     DPTR,#mult_key_status
-001872 F0                MOVX    @DPTR,A
-  148: }
-  149: 
-001873         ?C0031?KB_PROCESS:
-001873 22                RET     
------ FUNCTION kb_24g_get_led_status (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)
+0017A2 904CD3            MOV     DPTR,#g_variable+014H
+0017A5 E0                MOVX    A,@DPTR
+0017A6 600B              JZ      ?C0016?ADC
+   81: 	{
+   82: 		g_variable.battery_check_interval--;
+0017A8 14                DEC     A
+0017A9 F0                MOVX    @DPTR,A
+   83: 		if (g_variable.battery_check_interval == 0)
+0017AA E0                MOVX    A,@DPTR
+0017AB 7006              JNZ     ?C0016?ADC
+   84: 		{
+   85: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
+0017AD 7405              MOV     A,#05H
+0017AF F0                MOVX    @DPTR,A
+   86: 			YC_adc_check();
+0017B0 121FF7            LCALL   YC_adc_check
+   87: 		}
+   88: 	}
+   89: #endif	
+   90: }
+0017B3         ?C0016?ADC:
+0017B3 22                RET     
+----- FUNCTION YC_adc_check_timer500ms (END) -------
+
+
+----- FUNCTION _GPIO_FlipOutBit (BEGIN) -----
+0017B4 904E97            MOV     DPTR,#gpio_num
+0017B7 EF                MOV     A,R7
+0017B8 F0                MOVX    @DPTR,A
+0017B9 7B01              MOV     R3,#01H
+0017BB 7A80              MOV     R2,#080H
+0017BD 7974              MOV     R1,#074H
+0017BF D11B              ACALL   _gpioGetBit
+0017C1 9209              MOV     st,C
+0017C3 904E97            MOV     DPTR,#gpio_num
+0017C6 E0                MOVX    A,@DPTR
+0017C7 FF                MOV     R7,A
+0017C8 A209              MOV     C,st
+0017CA B3                CPL     C
+0017CB 9201              MOV     ?_GPIO_Setout?BIT,C
+0017CD 020784            LJMP    _GPIO_Setout
+----- FUNCTION _GPIO_FlipOutBit (END) -------
 
 
 ----- FUNCTION kb_motion (BEGIN) -----
@@ -4090,501 +3952,833 @@
   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
+0017D0 904E75            MOV     DPTR,#pEvt
+0017D3 E4                CLR     A
+0017D4 F0                MOVX    @DPTR,A
+0017D5 A3                INC     DPTR
+0017D6 F0                MOVX    @DPTR,A
+0017D7 A3                INC     DPTR
+0017D8 F0                MOVX    @DPTR,A
   156: 	if (!IPC_IsTxBuffEmpty())
-00187D 51B1              ACALL   IPC_IsTxBuffEmpty
-00187F 5025              JNC     ?C0033?KB_PROCESS
-001881         ?C0032?KB_PROCESS:
+0017D9 122262            LCALL   IPC_IsTxBuffEmpty
+0017DC 5027              JNC     ?C0033?KB_PROCESS
+0017DE         ?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
+0017DE 12195C            LCALL   KS_GetCurrentEvt
+0017E1 904E75            MOV     DPTR,#pEvt
+0017E4 EB                MOV     A,R3
+0017E5 F0                MOVX    @DPTR,A
+0017E6 A3                INC     DPTR
+0017E7 EA                MOV     A,R2
+0017E8 F0                MOVX    @DPTR,A
+0017E9 A3                INC     DPTR
+0017EA E9                MOV     A,R1
+0017EB F0                MOVX    @DPTR,A
   159: 
   160: 	if (pEvt == NULL)
-00188E 4A                ORL     A,R2
-00188F 7007              JNZ     ?C0034?KB_PROCESS
+0017EC 4A                ORL     A,R2
+0017ED 7008              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
+0017EF 904CB6            MOV     DPTR,#m_power_on_flag
+0017F2 04                INC     A
+0017F3 F0                MOVX    @DPTR,A
   163: 		kb_24g_get_led_status();
-001896 010D              AJMP    kb_24g_get_led_status
+0017F4 020F93            LJMP    kb_24g_get_led_status
   164: 		return;
   165: 	}
-001898         ?C0034?KB_PROCESS:
+0017F7         ?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
+0017F7 904E75            MOV     DPTR,#pEvt
+0017FA E0                MOVX    A,@DPTR
+0017FB FB                MOV     R3,A
+0017FC A3                INC     DPTR
+0017FD E0                MOVX    A,@DPTR
+0017FE FA                MOV     R2,A
+0017FF A3                INC     DPTR
+001800 E0                MOVX    A,@DPTR
+001801 F9                MOV     R1,A
+001802 12091D            LCALL   _kb_motion_keyscan
   167: }
-0018A6         ?C0033?KB_PROCESS:
-0018A6 22                RET     
+001805         ?C0033?KB_PROCESS:
+001805 22                RET     
 ----- FUNCTION kb_motion (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)
+001806 904CF4            MOV     DPTR,#g_variable+035H
+001809 E0                MOVX    A,@DPTR
+00180A FF                MOV     R7,A
+00180B 6008              JZ      ?C0036?KB_PROCESS
+00180D 6403              XRL     A,#03H
+00180F 6004              JZ      ?C0036?KB_PROCESS
+001811 EF                MOV     A,R7
+001812 B40502            CJNE    A,#05H,?C0035?KB_PROCESS
+001815         ?C0036?KB_PROCESS:
+  175: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
+  176: 		)
+  177: 			kb_motion();
+001815 80B9              SJMP    kb_motion
+001817         ?C0035?KB_PROCESS:
+  178: 		else
+  179: 		{
+  180: 			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
+001817 904CF4            MOV     DPTR,#g_variable+035H
+00181A E0                MOVX    A,@DPTR
+00181B B4010F            CJNE    A,#01H,?C0038?KB_PROCESS
+  181: 			{
+  182: 				kb_send_combination_key(g_variable.key_combination_ctrl,0);
+00181E A3                INC     DPTR
+00181F E0                MOVX    A,@DPTR
+001820 FF                MOV     R7,A
+001821 E4                CLR     A
+001822 FD                MOV     R5,A
+001823 120F59            LCALL   _kb_send_combination_key
+  183: 				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+001826 904CF4            MOV     DPTR,#g_variable+035H
+001829 7402              MOV     A,#02H
+00182B F0                MOVX    @DPTR,A
+  184: 			}
+00182C 22                RET     
+00182D         ?C0038?KB_PROCESS:
+  185: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
+00182D 904CF4            MOV     DPTR,#g_variable+035H
+001830 E0                MOVX    A,@DPTR
+001831 B4020C            CJNE    A,#02H,?C0040?KB_PROCESS
+  186: 			{	
+  187: 				g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
+001834 7403              MOV     A,#03H
+001836 F0                MOVX    @DPTR,A
+  188: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+001837 A3                INC     DPTR
+001838 E0                MOVX    A,@DPTR
+001839 FF                MOV     R7,A
+00183A A3                INC     DPTR
+00183B E0                MOVX    A,@DPTR
+00183C FD                MOV     R5,A
+00183D 020F59            LJMP    _kb_send_combination_key
+  189: 			}
+001840         ?C0040?KB_PROCESS:
+  190: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
+001840 904CF4            MOV     DPTR,#g_variable+035H
+001843 E0                MOVX    A,@DPTR
+001844 B4041B            CJNE    A,#04H,?C0042?KB_PROCESS
+  191: 			{
+  192: 				g_variable.key_combination_keyvalue = 0;
+001847 E4                CLR     A
+001848 904CF6            MOV     DPTR,#g_variable+037H
+00184B F0                MOVX    @DPTR,A
+  193: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+00184C 904CF5            MOV     DPTR,#g_variable+036H
+00184F E0                MOVX    A,@DPTR
+001850 FF                MOV     R7,A
+001851 E4                CLR     A
+001852 FD                MOV     R5,A
+001853 120F59            LCALL   _kb_send_combination_key
+  194: 				g_variable.key_combination_ctrl = 0;
+001856 E4                CLR     A
+001857 904CF5            MOV     DPTR,#g_variable+036H
+00185A F0                MOVX    @DPTR,A
+  195: 				g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
+00185B 904CF4            MOV     DPTR,#g_variable+035H
+00185E 7405              MOV     A,#05H
+001860 F0                MOVX    @DPTR,A
+  196: 			}
+001861 22                RET     
+001862         ?C0042?KB_PROCESS:
+  197: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_NULL)
+001862 904CF4            MOV     DPTR,#g_variable+035H
+001865 E0                MOVX    A,@DPTR
+001866 B40616            CJNE    A,#06H,?C0045?KB_PROCESS
+  198: 			{
+  199: 				g_variable.key_combination_keyvalue = 0;
+001869 E4                CLR     A
+00186A 904CF6            MOV     DPTR,#g_variable+037H
+00186D F0                MOVX    @DPTR,A
+  200: 				g_variable.key_combination_ctrl = 0;
+00186E 904CF5            MOV     DPTR,#g_variable+036H
+001871 F0                MOVX    @DPTR,A
+  201: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+001872 A3                INC     DPTR
+001873 E0                MOVX    A,@DPTR
+001874 FD                MOV     R5,A
+001875 E4                CLR     A
+001876 FF                MOV     R7,A
+001877 120F59            LCALL   _kb_send_combination_key
+  202: 				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
+00187A E4                CLR     A
+00187B 904CF4            MOV     DPTR,#g_variable+035H
+00187E F0                MOVX    @DPTR,A
+  203: 			}
+  204: 		}
+  205: 
+  206: }
+00187F         ?C0045?KB_PROCESS:
+00187F 22                RET     
+----- FUNCTION kb_need_keyscan (END) -------
+
+
+----- FUNCTION _kb_combination_key_press (BEGIN) -----
+ FILE: 'kb_process.c'
+  331: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
+  332: {
+;---- Variable 'press_state' assigned to Register 'R7' ----
+;---- Variable 'standrad_key' assigned to Register 'R3' ----
+;---- Variable 'special_key' assigned to Register 'R5' ----
+  333: 	g_variable.key_combination_ctrl = special_key;	
+  334: 	g_variable.key_combination_keyvalue = standrad_key;
+001880 904CF5            MOV     DPTR,#g_variable+036H
+001883 ED                MOV     A,R5
+001884 F0                MOVX    @DPTR,A
+  335: 
+001885 A3                INC     DPTR
+001886 EB                MOV     A,R3
+001887 F0                MOVX    @DPTR,A
+  336: 	if(press_state & 1)
+001888 EF                MOV     A,R7
+001889 30E012            JNB     ACC.0,?C0077?KB_PROCESS
+  337: 	{
+  338: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
+00188C 904CF4            MOV     DPTR,#g_variable+035H
+00188F E0                MOVX    A,@DPTR
+001890 B40304            CJNE    A,#03H,?C0078?KB_PROCESS
+  339: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+001893 7402              MOV     A,#02H
+001895 F0                MOVX    @DPTR,A
+001896 22                RET     
+001897         ?C0078?KB_PROCESS:
+  340: 		else	
+  341: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
+001897 904CF4            MOV     DPTR,#g_variable+035H
+00189A 7401              MOV     A,#01H
+00189C F0                MOVX    @DPTR,A
+  342: 	}
+00189D 22                RET     
+00189E         ?C0077?KB_PROCESS:
+  343: 	else
+  344: 	{
+  345: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
+00189E 904CF4            MOV     DPTR,#g_variable+035H
+0018A1 7404              MOV     A,#04H
+0018A3 F0                MOVX    @DPTR,A
+  346: 	}
+  347: 
+  348: }
+0018A4 22                RET     
+----- FUNCTION _kb_combination_key_press (END) -------
+
+
+----- FUNCTION _key_fn_function (BEGIN) -----
+ FILE: 'kb_process.c'
+  353: byte key_fn_function(byte state ,byte key_value)
+  354: {
+;---- Variable 'key_value' assigned to Register 'R5' ----
+;---- Variable 'state' assigned to Register 'R7' ----
+  355: 	byte temp = 0;
+  356: 	byte temp_state = state;
+0018A5 E4                CLR     A
+0018A6 904E89            MOV     DPTR,#temp
+0018A9 F0                MOVX    @DPTR,A
+  357: 	temp = key_value;
+0018AA A3                INC     DPTR
+0018AB EF                MOV     A,R7
+0018AC F0                MOVX    @DPTR,A
+  358: 	if(fn_flag == 1)			// Fn lock
+0018AD 904E89            MOV     DPTR,#temp
+0018B0 ED                MOV     A,R5
+0018B1 F0                MOVX    @DPTR,A
+  359: 	{
+0018B2 904DDB            MOV     DPTR,#fn_flag
+0018B5 E0                MOVX    A,@DPTR
+0018B6 6401              XRL     A,#01H
+0018B8 6002              JZ      $ + 4H
+0018BA 2156              AJMP    ?C0082?KB_PROCESS
+  360: 		
+  361: 		switch (key_value)
+0018BC ED                MOV     A,R5
+0018BD 24C6              ADD     A,#0C6H
+0018BF B40C00            CJNE    A,#0CH,?C0144?KB_PROCESS
+0018C2         ?C0144?KB_PROCESS:
+0018C2 4002              JC      $ + 4H
+0018C4 2156              AJMP    ?C0082?KB_PROCESS
+0018C6 9018D4            MOV     DPTR,#018D4H
+0018C9 75F003            MOV     B,#03H
+0018CC A4                MUL     AB
+0018CD C583              XCH     A,DPH
+0018CF 25F0              ADD     A,B
+0018D1 C583              XCH     A,DPH
+0018D3 73                JMP     @A+DPTR
+0018D4         ?C0145?KB_PROCESS:
+0018D4 0218F8            LJMP    ?C0084?KB_PROCESS
+0018D7 021900            LJMP    ?C0085?KB_PROCESS
+0018DA 021908            LJMP    ?C0086?KB_PROCESS
+0018DD 021910            LJMP    ?C0087?KB_PROCESS
+0018E0 021918            LJMP    ?C0088?KB_PROCESS
+0018E3 021920            LJMP    ?C0089?KB_PROCESS
+0018E6 021928            LJMP    ?C0090?KB_PROCESS
+0018E9 021930            LJMP    ?C0091?KB_PROCESS
+0018EC 021938            LJMP    ?C0092?KB_PROCESS
+0018EF 021940            LJMP    ?C0093?KB_PROCESS
+0018F2 021948            LJMP    ?C0094?KB_PROCESS
+0018F5 021950            LJMP    ?C0095?KB_PROCESS
+  362: 		{ 
+  363: 			case HID_KEY_F1:
+0018F8         ?C0084?KB_PROCESS:
+  364: 				temp = HID_MULTIKEY_MEDIA;
+0018F8 904E89            MOV     DPTR,#temp
+0018FB 74F1              MOV     A,#0F1H
+0018FD F0                MOVX    @DPTR,A
+  365: 				break;
+0018FE 8056              SJMP    ?C0082?KB_PROCESS
+  366: 			case HID_KEY_F2:
+001900         ?C0085?KB_PROCESS:
+  367: 				temp = HID_MULTIKEY_VOL_DOWN;
+001900 904E89            MOV     DPTR,#temp
+001903 74F6              MOV     A,#0F6H
+001905 F0                MOVX    @DPTR,A
+  368: 				break;
+001906 804E              SJMP    ?C0082?KB_PROCESS
+  369: 			case HID_KEY_F3:
+001908         ?C0086?KB_PROCESS:
+  370: 				temp = HID_MULTIKEY_VOL_UP;
+001908 904E89            MOV     DPTR,#temp
+00190B 74F7              MOV     A,#0F7H
+00190D F0                MOVX    @DPTR,A
+  371: 				break;
+00190E 8046              SJMP    ?C0082?KB_PROCESS
+  372: 			case HID_KEY_F4:
+001910         ?C0087?KB_PROCESS:
+  373: 				temp = HID_MULTIKEY_MUTE;
+001910 904E89            MOV     DPTR,#temp
+001913 74F8              MOV     A,#0F8H
+001915 F0                MOVX    @DPTR,A
+  374: 				break;
+001916 803E              SJMP    ?C0082?KB_PROCESS
+  375: 			case HID_KEY_F5:
+001918         ?C0088?KB_PROCESS:
+  376: 				temp = HID_MULTIKEY_PRE_TRACK;
+001918 904E89            MOV     DPTR,#temp
+00191B 74F4              MOV     A,#0F4H
+00191D F0                MOVX    @DPTR,A
+  377: 				break;
+00191E 8036              SJMP    ?C0082?KB_PROCESS
+  378: 			case HID_KEY_F6:
+001920         ?C0089?KB_PROCESS:
+  379: 				temp = HID_MULTIKEY_NEXT_TRACK;
+001920 904E89            MOV     DPTR,#temp
+001923 74F5              MOV     A,#0F5H
+001925 F0                MOVX    @DPTR,A
+  380: 				break;
+001926 802E              SJMP    ?C0082?KB_PROCESS
+  381: 			case HID_KEY_F7:
+001928         ?C0090?KB_PROCESS:
+  382: 				temp = HID_MULTIKEY_PALY;
+001928 904E89            MOV     DPTR,#temp
+00192B 74F2              MOV     A,#0F2H
+00192D F0                MOVX    @DPTR,A
+  383: 				break;
+00192E 8026              SJMP    ?C0082?KB_PROCESS
+  384: 			case HID_KEY_F8:
+001930         ?C0091?KB_PROCESS:
+  385: 				temp = HID_MULTIKEY_STOP;
+001930 904E89            MOV     DPTR,#temp
+001933 74F3              MOV     A,#0F3H
+001935 F0                MOVX    @DPTR,A
+  386: 				break;
+001936 801E              SJMP    ?C0082?KB_PROCESS
+  387: 			case HID_KEY_F9:
+001938         ?C0092?KB_PROCESS:
+  388: 				temp = HID_MULTIKEY_AC_HOME;
+001938 904E89            MOV     DPTR,#temp
+00193B 74D6              MOV     A,#0D6H
+00193D F0                MOVX    @DPTR,A
+  389: 				break;
+00193E 8016              SJMP    ?C0082?KB_PROCESS
+  390: 			case HID_KEY_F10:
+001940         ?C0093?KB_PROCESS:
+  391: 				temp = HID_MULTIKEY_MAIL;
+001940 904E89            MOV     DPTR,#temp
+001943 74FA              MOV     A,#0FAH
+001945 F0                MOVX    @DPTR,A
+  392: 				break;
+001946 800E              SJMP    ?C0082?KB_PROCESS
+  393: 			case HID_KEY_F11:
+001948         ?C0094?KB_PROCESS:
+  394: 				temp = HID_MULTIKEY_MY_COMPUTER;
+001948 904E89            MOV     DPTR,#temp
+00194B 74F9              MOV     A,#0F9H
+00194D F0                MOVX    @DPTR,A
+  395: 				break;
+00194E 8006              SJMP    ?C0082?KB_PROCESS
+  396: 			case HID_KEY_F12:
+001950         ?C0095?KB_PROCESS:
+  397: 				temp = HID_MULTIKEY_AC_FAVORITES;
+001950 904E89            MOV     DPTR,#temp
+001953 74D0              MOV     A,#0D0H
+001955 F0                MOVX    @DPTR,A
+  398: 				break;
+  399: 			default :
+  400: 				break;
+  401: 		}
+  402: 	}
+001956         ?C0082?KB_PROCESS:
+  403: 
+  404: 	return temp;
+001956 904E89            MOV     DPTR,#temp
+001959 E0                MOVX    A,@DPTR
+00195A FF                MOV     R7,A
+  405: }
+00195B 22                RET     
+----- FUNCTION _key_fn_function (END) -------
+
+
 ----- FUNCTION KS_GetCurrentEvt (BEGIN) -----
  FILE: 'keyscan.c'
   300: tKSEVENT *KS_GetCurrentEvt()
   301: {
   302: 	//
   303: 	byte i = 0;
-0018A7 E4                CLR     A
-0018A8 904E12            MOV     DPTR,#i
-0018AB F0                MOVX    @DPTR,A
+00195C E4                CLR     A
+00195D 904E12            MOV     DPTR,#i
+001960 F0                MOVX    @DPTR,A
   304: 	byte j = 0;
-0018AC A3                INC     DPTR
-0018AD F0                MOVX    @DPTR,A
+001961 A3                INC     DPTR
+001962 F0                MOVX    @DPTR,A
   305: 	byte temp = 0;
-0018AE A3                INC     DPTR
-0018AF F0                MOVX    @DPTR,A
+001963 A3                INC     DPTR
+001964 F0                MOVX    @DPTR,A
   306: 	byte flag = 0;
-0018B0 A3                INC     DPTR
-0018B1 F0                MOVX    @DPTR,A
+001965 A3                INC     DPTR
+001966 F0                MOVX    @DPTR,A
   307: 	byte offset = 0;
-0018B2 A3                INC     DPTR
-0018B3 F0                MOVX    @DPTR,A
+001967 A3                INC     DPTR
+001968 F0                MOVX    @DPTR,A
   308: 	byte state = 0;
-0018B4 A3                INC     DPTR
-0018B5 F0                MOVX    @DPTR,A
+001969 A3                INC     DPTR
+00196A F0                MOVX    @DPTR,A
   309: 	byte colCounttemp = 0;
-0018B6 A3                INC     DPTR
-0018B7 F0                MOVX    @DPTR,A
+00196B A3                INC     DPTR
+00196C F0                MOVX    @DPTR,A
   310: 	byte rawSel =0;
-0018B8 A3                INC     DPTR
-0018B9 F0                MOVX    @DPTR,A
+00196D A3                INC     DPTR
+00196E F0                MOVX    @DPTR,A
   311: 	byte keyCounttemp = 0;
-0018BA A3                INC     DPTR
-0018BB F0                MOVX    @DPTR,A
+00196F A3                INC     DPTR
+001970 F0                MOVX    @DPTR,A
   312: 	byte key_value_temp = 0;
-0018BC A3                INC     DPTR
-0018BD F0                MOVX    @DPTR,A
+001971 A3                INC     DPTR
+001972 F0                MOVX    @DPTR,A
   313: 	byte ghost = 0;
-0018BE A3                INC     DPTR
-0018BF F0                MOVX    @DPTR,A
+001973 A3                INC     DPTR
+001974 F0                MOVX    @DPTR,A
   314: 	byte rawCount = 0;
-0018C0 A3                INC     DPTR
-0018C1 F0                MOVX    @DPTR,A
+001975 A3                INC     DPTR
+001976 F0                MOVX    @DPTR,A
   315: 	byte colCount = 0;
-0018C2 A3                INC     DPTR
-0018C3 F0                MOVX    @DPTR,A
+001977 A3                INC     DPTR
+001978 F0                MOVX    @DPTR,A
   316: 	byte keyCount = 0;
-0018C4 A3                INC     DPTR
-0018C5 F0                MOVX    @DPTR,A
+001979 A3                INC     DPTR
+00197A F0                MOVX    @DPTR,A
   317: 	
   318: 	KS_ScanMatrix();
-0018C6 91F9              ACALL   KS_ScanMatrix
+00197B 91DF              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
+00197D 7A4D              MOV     R2,#HIGH ksSelMapCheck
+00197F 79A8              MOV     R1,#LOW ksSelMapCheck
+001981 904E3B            MOV     DPTR,#?_compare_str?BYTE+03H
+001984 7401              MOV     A,#01H
+001986 F0                MOVX    @DPTR,A
+001987 A3                INC     DPTR
+001988 744D              MOV     A,#HIGH ksSelMapCheck
+00198A F0                MOVX    @DPTR,A
+00198B A3                INC     DPTR
+00198C 74A8              MOV     A,#LOW ksSelMapCheck
+00198E F0                MOVX    @DPTR,A
+00198F A3                INC     DPTR
+001990 7414              MOV     A,#014H
+001992 F0                MOVX    @DPTR,A
+001993 7B01              MOV     R3,#01H
+001995 7A4D              MOV     R2,#HIGH ksSelMapCurr
+001997 79BC              MOV     R1,#LOW ksSelMapCurr
+001999 7196              ACALL   _compare_str
+00199B EF                MOV     A,R7
+00199C 6016              JZ      ?C0061?KEYSCAN
+00199E 7B01              MOV     R3,#01H
+0019A0 7A4D              MOV     R2,#HIGH ksSelMapCurr
+0019A2 79BC              MOV     R1,#LOW ksSelMapCurr
+0019A4 7D14              MOV     R5,#014H
+0019A6 7166              ACALL   _array_is_empty
+0019A8 EF                MOV     A,R7
+0019A9 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
+0019AB 904CCE            MOV     DPTR,#g_variable+0FH
+0019AE E0                MOVX    A,@DPTR
+0019AF 4402              ORL     A,#02H
+0019B1 F0                MOVX    @DPTR,A
   324: 	}
-0018FD 800C              SJMP    ?C0062?KEYSCAN
-0018FF         ?C0061?KEYSCAN:
+0019B2 800C              SJMP    ?C0062?KEYSCAN
+0019B4         ?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
+0019B4 904CCE            MOV     DPTR,#g_variable+0FH
+0019B7 E0                MOVX    A,@DPTR
+0019B8 54FD              ANL     A,#0FDH
+0019BA 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
+0019BB E4                CLR     A
+0019BC 904CD0            MOV     DPTR,#g_variable+011H
+0019BF F0                MOVX    @DPTR,A
   329: 	}
-00190B         ?C0062?KEYSCAN:
+0019C0         ?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
+0019C0 E4                CLR     A
+0019C1 904E12            MOV     DPTR,#i
+0019C4 F0                MOVX    @DPTR,A
+0019C5         ?C0063?KEYSCAN:
+0019C5 904E12            MOV     DPTR,#i
+0019C8 E0                MOVX    A,@DPTR
+0019C9 FF                MOV     R7,A
+0019CA 90060C            MOV     DPTR,#col
+0019CD 93                MOVC    A,@A+DPTR
+0019CE 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
+0019D0 74BC              MOV     A,#LOW ksSelMapCurr
+0019D2 2F                ADD     A,R7
+0019D3 F582              MOV     DPL,A
+0019D5 E4                CLR     A
+0019D6 344D              ADDC    A,#HIGH ksSelMapCurr
+0019D8 F583              MOV     DPH,A
+0019DA E0                MOVX    A,@DPTR
+0019DB 904E14            MOV     DPTR,#temp
+0019DE F0                MOVX    @DPTR,A
   333: 		if (temp!=0) {
-00192A E0                MOVX    A,@DPTR
-00192B FD                MOV     R5,A
-00192C 6014              JZ      ?C0065?KEYSCAN
+0019DF E0                MOVX    A,@DPTR
+0019E0 FD                MOV     R5,A
+0019E1 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
+0019E3 904E18            MOV     DPTR,#colCounttemp
+0019E6 E0                MOVX    A,@DPTR
+0019E7 04                INC     A
+0019E8 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
+0019E9 A3                INC     DPTR
+0019EA E0                MOVX    A,@DPTR
+0019EB FE                MOV     R6,A
+0019EC ED                MOV     A,R5
+0019ED 4E                ORL     A,R6
+0019EE 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
+0019EF AF05              MOV     R7,AR5
+0019F1 7158              ACALL   _bit_count
+0019F3 A3                INC     DPTR
+0019F4 E0                MOVX    A,@DPTR
+0019F5 2F                ADD     A,R7
+0019F6 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:
+0019F7         ?C0065?KEYSCAN:
+0019F7 904E12            MOV     DPTR,#i
+0019FA E0                MOVX    A,@DPTR
+0019FB 04                INC     A
+0019FC F0                MOVX    @DPTR,A
+0019FD 80C6              SJMP    ?C0063?KEYSCAN
+0019FF         ?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
+0019FF 904E1A            MOV     DPTR,#keyCounttemp
+001A02 E0                MOVX    A,@DPTR
+001A03 904E1F            MOV     DPTR,#keyCount
+001A06 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
+001A07 904E18            MOV     DPTR,#colCounttemp
+001A0A E0                MOVX    A,@DPTR
+001A0B 904E1E            MOV     DPTR,#colCount
+001A0E 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
+001A0F 904E19            MOV     DPTR,#rawSel
+001A12 E0                MOVX    A,@DPTR
+001A13 FF                MOV     R7,A
+001A14 7158              ACALL   _bit_count
+001A16 904E1D            MOV     DPTR,#rawCount
+001A19 EF                MOV     A,R7
+001A1A 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
+001A1B 904E1F            MOV     DPTR,#keyCount
+001A1E E0                MOVX    A,@DPTR
+001A1F FF                MOV     R7,A
+001A20 D3                SETB    C
+001A21 9402              SUBB    A,#02H
+001A23 401D              JC      ?C0067?KEYSCAN
+001A25 904E1D            MOV     DPTR,#rawCount
+001A28 E0                MOVX    A,@DPTR
+001A29 FE                MOV     R6,A
+001A2A A3                INC     DPTR
+001A2B E0                MOVX    A,@DPTR
+001A2C FD                MOV     R5,A
+001A2D D3                SETB    C
+001A2E 9E                SUBB    A,R6
+001A2F 4004              JC      ?C0068?KEYSCAN
+001A31 AE05              MOV     R6,AR5
+001A33 8000              SJMP    ?C0069?KEYSCAN
+001A35         ?C0068?KEYSCAN:
+001A35         ?C0069?KEYSCAN:
+001A35 EF                MOV     A,R7
+001A36 D3                SETB    C
+001A37 9E                SUBB    A,R6
+001A38 4008              JC      ?C0067?KEYSCAN
   343: 		ghost = 1;
-001985 904E1C            MOV     DPTR,#ghost
-001988 7401              MOV     A,#01H
-00198A F0                MOVX    @DPTR,A
+001A3A 904E1C            MOV     DPTR,#ghost
+001A3D 7401              MOV     A,#01H
+001A3F F0                MOVX    @DPTR,A
   344: 	}
-00198B 8005              SJMP    ?C0070?KEYSCAN
-00198D         ?C0067?KEYSCAN:
+001A40 8005              SJMP    ?C0070?KEYSCAN
+001A42         ?C0067?KEYSCAN:
   345: 	else {
   346: 		ghost = 0;
-00198D E4                CLR     A
-00198E 904E1C            MOV     DPTR,#ghost
-001991 F0                MOVX    @DPTR,A
+001A42 E4                CLR     A
+001A43 904E1C            MOV     DPTR,#ghost
+001A46 F0                MOVX    @DPTR,A
   347: 	}
-001992         ?C0070?KEYSCAN:
+001A47         ?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
+001A47 E4                CLR     A
+001A48 904E12            MOV     DPTR,#i
+001A4B F0                MOVX    @DPTR,A
+001A4C         ?C0071?KEYSCAN:
+001A4C 904E12            MOV     DPTR,#i
+001A4F E0                MOVX    A,@DPTR
+001A50 FF                MOV     R7,A
+001A51 90060C            MOV     DPTR,#col
+001A54 93                MOVC    A,@A+DPTR
+001A55 7002              JNZ     $ + 4H
+001A57 612C              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
+001A59 7493              MOV     A,#LOW ksSelMapOld
+001A5B 2F                ADD     A,R7
+001A5C F582              MOV     DPL,A
+001A5E E4                CLR     A
+001A5F 344D              ADDC    A,#HIGH ksSelMapOld
+001A61 F583              MOV     DPH,A
+001A63 E0                MOVX    A,@DPTR
+001A64 FE                MOV     R6,A
+001A65 74BC              MOV     A,#LOW ksSelMapCurr
+001A67 2F                ADD     A,R7
+001A68 F582              MOV     DPL,A
+001A6A E4                CLR     A
+001A6B 344D              ADDC    A,#HIGH ksSelMapCurr
+001A6D F583              MOV     DPH,A
+001A6F E0                MOVX    A,@DPTR
+001A70 6E                XRL     A,R6
+001A71 904E14            MOV     DPTR,#temp
+001A74 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
+001A75 904E12            MOV     DPTR,#i
+001A78 E0                MOVX    A,@DPTR
+001A79 FF                MOV     R7,A
+001A7A 24BC              ADD     A,#LOW ksSelMapCurr
+001A7C F582              MOV     DPL,A
+001A7E E4                CLR     A
+001A7F 344D              ADDC    A,#HIGH ksSelMapCurr
+001A81 F583              MOV     DPH,A
+001A83 E0                MOVX    A,@DPTR
+001A84 904E17            MOV     DPTR,#state
+001A87 F0                MOVX    @DPTR,A
   353: 		if (temp == 0) 
-0019D3 904E14            MOV     DPTR,#temp
-0019D6 E0                MOVX    A,@DPTR
-0019D7 7004              JNZ     ?C0074?KEYSCAN
+001A88 904E14            MOV     DPTR,#temp
+001A8B E0                MOVX    A,@DPTR
+001A8C 7004              JNZ     ?C0074?KEYSCAN
   354: 		{
   355: 			continue;
-0019D9 416F              AJMP    ?C0073?KEYSCAN
+001A8E 6124              AJMP    ?C0073?KEYSCAN
   356: 		}
-0019DB 416F              AJMP    ?C0073?KEYSCAN
-0019DD         ?C0074?KEYSCAN:
+001A90 6124              AJMP    ?C0073?KEYSCAN
+001A92         ?C0074?KEYSCAN:
   357: 		else 
   358: 		{
   359: 
   360: 			if (ghost) 
-0019DD 904E1C            MOV     DPTR,#ghost
-0019E0 E0                MOVX    A,@DPTR
-0019E1 6007              JZ      ?C0076?KEYSCAN
+001A92 904E1C            MOV     DPTR,#ghost
+001A95 E0                MOVX    A,@DPTR
+001A96 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:
+001A98 7B00              MOV     R3,#00H
+001A9A 7A00              MOV     R2,#00H
+001A9C 7900              MOV     R1,#00H
+001A9E 22                RET     
+001A9F         ?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
+001A9F 74BC              MOV     A,#LOW ksSelMapCurr
+001AA1 2F                ADD     A,R7
+001AA2 F582              MOV     DPL,A
+001AA4 E4                CLR     A
+001AA5 344D              ADDC    A,#HIGH ksSelMapCurr
+001AA7 F583              MOV     DPH,A
+001AA9 E0                MOVX    A,@DPTR
+001AAA FE                MOV     R6,A
+001AAB 7493              MOV     A,#LOW ksSelMapOld
+001AAD 2F                ADD     A,R7
+001AAE F582              MOV     DPL,A
+001AB0 E4                CLR     A
+001AB1 344D              ADDC    A,#HIGH ksSelMapOld
+001AB3 F583              MOV     DPH,A
+001AB5 EE                MOV     A,R6
+001AB6 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
+001AB7 E4                CLR     A
+001AB8 904E13            MOV     DPTR,#j
+001ABB F0                MOVX    @DPTR,A
+001ABC         ?C0078?KEYSCAN:
+001ABC 904E13            MOV     DPTR,#j
+001ABF E0                MOVX    A,@DPTR
+001AC0 FF                MOV     R7,A
+001AC1 C3                CLR     C
+001AC2 9408              SUBB    A,#08H
+001AC4 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
+001AC6 A3                INC     DPTR
+001AC7 E0                MOVX    A,@DPTR
+001AC8 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
+001ACB 904E12            MOV     DPTR,#i
+001ACE E0                MOVX    A,@DPTR
+001ACF FE                MOV     R6,A
+001AD0 33                RLC     A
+001AD1 33                RLC     A
+001AD2 33                RLC     A
+001AD3 54F8              ANL     A,#0F8H
+001AD5 FE                MOV     R6,A
+001AD6 EF                MOV     A,R7
+001AD7 4E                ORL     A,R6
+001AD8 904E16            MOV     DPTR,#offset
+001ADB 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
+001ADC A3                INC     DPTR
+001ADD E0                MOVX    A,@DPTR
+001ADE FF                MOV     R7,A
+001ADF 904E16            MOV     DPTR,#offset
+001AE2 E0                MOVX    A,@DPTR
+001AE3 900621            MOV     DPTR,#ksMap
+001AE6 93                MOVC    A,@A+DPTR
+001AE7 FD                MOV     R5,A
+001AE8 11A5              ACALL   _key_fn_function
+001AEA 904E1B            MOV     DPTR,#key_value_temp
+001AED EF                MOV     A,R7
+001AEE 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
+001AEF 904E17            MOV     DPTR,#state
+001AF2 E0                MOVX    A,@DPTR
+001AF3 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
+001AF6 904E1B            MOV     DPTR,#key_value_temp
+001AF9 E0                MOVX    A,@DPTR
+001AFA FF                MOV     R7,A
+001AFB 71E0              ACALL   _keyIn
   372: 					}
-001A48 8007              SJMP    ?C0081?KEYSCAN
-001A4A         ?C0082?KEYSCAN:
+001AFD 8007              SJMP    ?C0081?KEYSCAN
+001AFF         ?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
+001AFF 904E1B            MOV     DPTR,#key_value_temp
+001B02 E0                MOVX    A,@DPTR
+001B03 FF                MOV     R7,A
+001B04 9136              ACALL   _keyOut
   376: 					}
   377: 				}
-001A51         ?C0081?KEYSCAN:
+001B06         ?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
+001B06 904E14            MOV     DPTR,#temp
+001B09 E0                MOVX    A,@DPTR
+001B0A FF                MOV     R7,A
+001B0B C3                CLR     C
+001B0C 13                RRC     A
+001B0D 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
+001B0E 904E17            MOV     DPTR,#state
+001B11 E0                MOVX    A,@DPTR
+001B12 FF                MOV     R7,A
+001B13 C3                CLR     C
+001B14 13                RRC     A
+001B15 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:
+001B16 904E13            MOV     DPTR,#j
+001B19 E0                MOVX    A,@DPTR
+001B1A 04                INC     A
+001B1B F0                MOVX    @DPTR,A
+001B1C 809E              SJMP    ?C0078?KEYSCAN
+001B1E         ?C0079?KEYSCAN:
   381: 			flag = 1;
-001A69 904E15            MOV     DPTR,#flag
-001A6C 7401              MOV     A,#01H
-001A6E F0                MOVX    @DPTR,A
+001B1E 904E15            MOV     DPTR,#flag
+001B21 7401              MOV     A,#01H
+001B23 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:
+001B24         ?C0073?KEYSCAN:
+001B24 904E12            MOV     DPTR,#i
+001B27 E0                MOVX    A,@DPTR
+001B28 04                INC     A
+001B29 F0                MOVX    @DPTR,A
+001B2A 414C              AJMP    ?C0071?KEYSCAN
+001B2C         ?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
+001B2C 904DE4            MOV     DPTR,#mult_key_status
+001B2F E0                MOVX    A,@DPTR
+001B30 B4030A            CJNE    A,#03H,?C0084?KEYSCAN
+001B33 904DD8            MOV     DPTR,#standard_key_release_flag
+001B36 E0                MOVX    A,@DPTR
+001B37 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
+001B3A 7402              MOV     A,#02H
+001B3C F0                MOVX    @DPTR,A
   388: 	}
-001A88         ?C0084?KEYSCAN:
+001B3D         ?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:
+001B3D 904E15            MOV     DPTR,#flag
+001B40 E0                MOVX    A,@DPTR
+001B41 7007              JNZ     ?C0086?KEYSCAN
+001B43 904DD8            MOV     DPTR,#standard_key_release_flag
+001B46 E0                MOVX    A,@DPTR
+001B47 B40207            CJNE    A,#02H,?C0085?KEYSCAN
+001B4A         ?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     
+001B4A 7B01              MOV     R3,#01H
+001B4C 7A4E              MOV     R2,#HIGH ksEvtPool
+001B4E 7931              MOV     R1,#LOW ksEvtPool
+001B50 22                RET     
   394: 	}
-001A9C         ?C0085?KEYSCAN:
+001B51         ?C0085?KEYSCAN:
   395: 	else
   396: 	{
   397: 		return NULL;
-001A9C 7B00              MOV     R3,#00H
-001A9E 7A00              MOV     R2,#00H
-001AA0 7900              MOV     R1,#00H
+001B51 7B00              MOV     R3,#00H
+001B53 7A00              MOV     R2,#00H
+001B55 7900              MOV     R1,#00H
   398: 	}
   399: 	
   400: 
   401: }
-001AA2 22                RET     
+001B57 22                RET     
 ----- FUNCTION KS_GetCurrentEvt (END) -------
 
 
@@ -4596,157 +4790,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
+001B58 E4                CLR     A
+001B59 FE                MOV     R6,A
+001B5A         ?C0001?KEYSCAN:
+001B5A EF                MOV     A,R7
+001B5B 6006              JZ      ?C0002?KEYSCAN
    28:     	v &= v - 1;
-001AA8 14                DEC     A
-001AA9 5F                ANL     A,R7
-001AAA FF                MOV     R7,A
+001B5D 14                DEC     A
+001B5E 5F                ANL     A,R7
+001B5F FF                MOV     R7,A
    29:     }
-001AAB 0E                INC     R6
-001AAC 80F7              SJMP    ?C0001?KEYSCAN
-001AAE         ?C0002?KEYSCAN:
+001B60 0E                INC     R6
+001B61 80F7              SJMP    ?C0001?KEYSCAN
+001B63         ?C0002?KEYSCAN:
    30:     return c;
-001AAE AF06              MOV     R7,AR6
+001B63 AF06              MOV     R7,AR6
    31: }
-001AB0 22                RET     
+001B65 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
+001B66 904E78            MOV     DPTR,#str1
+001B69 EB                MOV     A,R3
+001B6A F0                MOVX    @DPTR,A
+001B6B A3                INC     DPTR
+001B6C EA                MOV     A,R2
+001B6D F0                MOVX    @DPTR,A
+001B6E A3                INC     DPTR
+001B6F E9                MOV     A,R1
+001B70 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
+001B71 E4                CLR     A
+001B72 FF                MOV     R7,A
+001B73         ?C0056?KEYSCAN:
+001B73 EF                MOV     A,R7
+001B74 C3                CLR     C
+001B75 9D                SUBB    A,R5
+001B76 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
+001B78 904E78            MOV     DPTR,#str1
+001B7B E0                MOVX    A,@DPTR
+001B7C FB                MOV     R3,A
+001B7D A3                INC     DPTR
+001B7E E0                MOVX    A,@DPTR
+001B7F FA                MOV     R2,A
+001B80 A3                INC     DPTR
+001B81 E0                MOVX    A,@DPTR
+001B82 F9                MOV     R1,A
+001B83 8F82              MOV     DPL,R7
+001B85 758300            MOV     DPH,#00H
+001B88 1203CF            LCALL   ?C?CLDOPTR
+001B8B 6003              JZ      ?C0058?KEYSCAN
   294: 			return 0x00;
-001AF0 7F00              MOV     R7,#00H
-001AF2 22                RET     
+001B8D 7F00              MOV     R7,#00H
+001B8F 22                RET     
   295: 	}
-001AF3         ?C0058?KEYSCAN:
-001AF3 0F                INC     R7
-001AF4 80E0              SJMP    ?C0056?KEYSCAN
-001AF6         ?C0057?KEYSCAN:
+001B90         ?C0058?KEYSCAN:
+001B90 0F                INC     R7
+001B91 80E0              SJMP    ?C0056?KEYSCAN
+001B93         ?C0057?KEYSCAN:
   296: 	return 0x01;
-001AF6 7F01              MOV     R7,#01H
+001B93 7F01              MOV     R7,#01H
   297: }
-001AF8 22                RET     
+001B95 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
+001B96 904E38            MOV     DPTR,#str1
+001B99 EB                MOV     A,R3
+001B9A F0                MOVX    @DPTR,A
+001B9B A3                INC     DPTR
+001B9C EA                MOV     A,R2
+001B9D F0                MOVX    @DPTR,A
+001B9E A3                INC     DPTR
+001B9F E9                MOV     A,R1
+001BA0 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     
+001BA1 E4                CLR     A
+001BA2 FF                MOV     R7,A
+001BA3         ?C0021?UTILITIES:
+001BA3 904E3E            MOV     DPTR,#len
+001BA6 E0                MOVX    A,@DPTR
+001BA7 FE                MOV     R6,A
+001BA8 EF                MOV     A,R7
+001BA9 C3                CLR     C
+001BAA 9E                SUBB    A,R6
+001BAB 5030              JNC     ?C0022?UTILITIES
+001BAD 904E3B            MOV     DPTR,#str2
+001BB0 E0                MOVX    A,@DPTR
+001BB1 FB                MOV     R3,A
+001BB2 A3                INC     DPTR
+001BB3 E0                MOVX    A,@DPTR
+001BB4 FA                MOV     R2,A
+001BB5 A3                INC     DPTR
+001BB6 E0                MOVX    A,@DPTR
+001BB7 F9                MOV     R1,A
+001BB8 8F82              MOV     DPL,R7
+001BBA 758300            MOV     DPH,#00H
+001BBD 1203CF            LCALL   ?C?CLDOPTR
+001BC0 FE                MOV     R6,A
+001BC1 904E38            MOV     DPTR,#str1
+001BC4 E0                MOVX    A,@DPTR
+001BC5 FB                MOV     R3,A
+001BC6 A3                INC     DPTR
+001BC7 E0                MOVX    A,@DPTR
+001BC8 FA                MOV     R2,A
+001BC9 A3                INC     DPTR
+001BCA E0                MOVX    A,@DPTR
+001BCB F9                MOV     R1,A
+001BCC 8F82              MOV     DPL,R7
+001BCE 758300            MOV     DPH,#00H
+001BD1 1203CF            LCALL   ?C?CLDOPTR
+001BD4 6E                XRL     A,R6
+001BD5 6003              JZ      ?C0023?UTILITIES
+001BD7 7F00              MOV     R7,#00H
+001BD9 22                RET     
+001BDA         ?C0023?UTILITIES:
+001BDA 0F                INC     R7
+001BDB 80C6              SJMP    ?C0021?UTILITIES
+001BDD         ?C0022?UTILITIES:
+001BDD 7F01              MOV     R7,#01H
+001BDF 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
@@ -4758,41 +4931,41 @@
    37: 	byte i = 0;
    38: 
 ;---- Variable 'i' assigned to Register 'R6' ----
-001B43 E4                CLR     A
-001B44 FE                MOV     R6,A
+001BE0 E4                CLR     A
+001BE1 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
+001BE2 EF                MOV     A,R7
+001BE3 C3                CLR     C
+001BE4 94E0              SUBB    A,#0E0H
+001BE6 4020              JC      ?C0005?KEYSCAN
+001BE8 EF                MOV     A,R7
+001BE9 D3                SETB    C
+001BEA 94E7              SUBB    A,#0E7H
+001BEC 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     
+001BEE 904E31            MOV     DPTR,#ksEvtPool
+001BF1 E0                MOVX    A,@DPTR
+001BF2 FE                MOV     R6,A
+001BF3 EF                MOV     A,R7
+001BF4 5407              ANL     A,#07H
+001BF6 FF                MOV     R7,A
+001BF7 7401              MOV     A,#01H
+001BF9 A807              MOV     R0,AR7
+001BFB 08                INC     R0
+001BFC 8002              SJMP    ?C0089?KEYSCAN
+001BFE         ?C0088?KEYSCAN:
+001BFE C3                CLR     C
+001BFF 33                RLC     A
+001C00         ?C0089?KEYSCAN:
+001C00 D8FC              DJNZ    R0,?C0088?KEYSCAN
+001C02 4E                ORL     A,R6
+001C03 904E31            MOV     DPTR,#ksEvtPool
+001C06 F0                MOVX    @DPTR,A
+001C07 22                RET     
    42: 		return;
    43: 	}
-001B6B         ?C0005?KEYSCAN:
+001C08         ?C0005?KEYSCAN:
    44: 
    45: /*
    46: 
@@ -4840,52 +5013,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:
+001C08 E4                CLR     A
+001C09 FE                MOV     R6,A
+001C0A         ?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
+001C0A 7432              MOV     A,#LOW ksEvtPool+01H
+001C0C 2E                ADD     A,R6
+001C0D F582              MOV     DPL,A
+001C0F E4                CLR     A
+001C10 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C12 F583              MOV     DPH,A
+001C14 E0                MOVX    A,@DPTR
+001C15 FD                MOV     R5,A
+001C16 6F                XRL     A,R7
+001C17 601C              JZ      ?C0006?KEYSCAN
    93: 			break;
-001B7C         ?C0010?KEYSCAN:
+001C19         ?C0010?KEYSCAN:
    94: 		if (ksEvtPool.ksPool[i] == 0) 
-001B7C ED                MOV     A,R5
-001B7D 7014              JNZ     ?C0009?KEYSCAN
+001C19 ED                MOV     A,R5
+001C1A 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
+001C1C 904DE3            MOV     DPTR,#mult_key_value
+001C1F E0                MOVX    A,@DPTR
+001C20 6F                XRL     A,R7
+001C21 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
+001C23 7432              MOV     A,#LOW ksEvtPool+01H
+001C25 2E                ADD     A,R6
+001C26 F582              MOV     DPL,A
+001C28 E4                CLR     A
+001C29 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C2B F583              MOV     DPH,A
+001C2D EF                MOV     A,R7
+001C2E F0                MOVX    @DPTR,A
    98: 			break;
-001B92 22                RET     
+001C2F 22                RET     
    99: 		}
   100: 	}
-001B93         ?C0009?KEYSCAN:
-001B93 0E                INC     R6
-001B94 EE                MOV     A,R6
-001B95 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
+001C30         ?C0009?KEYSCAN:
+001C30 0E                INC     R6
+001C31 EE                MOV     A,R6
+001C32 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
   101: }
-001B98         ?C0006?KEYSCAN:
-001B98 22                RET     
+001C35         ?C0006?KEYSCAN:
+001C35 22                RET     
 ----- FUNCTION _keyIn (END) -------
 
 
@@ -4897,74 +5070,74 @@
   105: 	byte i = 0 ;
   106: 	byte found = 0;
 ;---- Variable 'i' assigned to Register 'R6' ----
-001B99 E4                CLR     A
-001B9A FE                MOV     R6,A
+001C36 E4                CLR     A
+001C37 FE                MOV     R6,A
   107: 
 ;---- Variable 'found' assigned to Register 'R5' ----
-001B9B FD                MOV     R5,A
+001C38 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:
+001C39 EF                MOV     A,R7
+001C3A 54F0              ANL     A,#0F0H
+001C3C 64F0              XRL     A,#0F0H
+001C3E 6007              JZ      ?C0014?KEYSCAN
+001C40 EF                MOV     A,R7
+001C41 54D0              ANL     A,#0D0H
+001C43 FC                MOV     R4,A
+001C44 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
+001C47         ?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
+001C47 904DE4            MOV     DPTR,#mult_key_status
+001C4A E0                MOVX    A,@DPTR
+001C4B B4020B            CJNE    A,#02H,?C0016?KEYSCAN
   111: 		{
   112: 			mult_key_status = KEY_RELEASE;
-001BB1 7403              MOV     A,#03H
-001BB3 F0                MOVX    @DPTR,A
+001C4E 7403              MOV     A,#03H
+001C50 F0                MOVX    @DPTR,A
   113: 		}
   114: 	}
-001BB4 8006              SJMP    ?C0016?KEYSCAN
-001BB6         ?C0013?KEYSCAN:
+001C51 8006              SJMP    ?C0016?KEYSCAN
+001C53         ?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:
+001C53 904DD8            MOV     DPTR,#standard_key_release_flag
+001C56 7401              MOV     A,#01H
+001C58 F0                MOVX    @DPTR,A
+001C59         ?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
+001C59 EF                MOV     A,R7
+001C5A C3                CLR     C
+001C5B 94E0              SUBB    A,#0E0H
+001C5D 4020              JC      ?C0017?KEYSCAN
+001C5F EF                MOV     A,R7
+001C60 D3                SETB    C
+001C61 94E7              SUBB    A,#0E7H
+001C63 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     
+001C65 904E31            MOV     DPTR,#ksEvtPool
+001C68 E0                MOVX    A,@DPTR
+001C69 FE                MOV     R6,A
+001C6A EF                MOV     A,R7
+001C6B 5407              ANL     A,#07H
+001C6D FF                MOV     R7,A
+001C6E 74FE              MOV     A,#0FEH
+001C70 A807              MOV     R0,AR7
+001C72 08                INC     R0
+001C73 8002              SJMP    ?C0091?KEYSCAN
+001C75         ?C0090?KEYSCAN:
+001C75 C3                CLR     C
+001C76 33                RLC     A
+001C77         ?C0091?KEYSCAN:
+001C77 D8FC              DJNZ    R0,?C0090?KEYSCAN
+001C79 5E                ANL     A,R6
+001C7A 904E31            MOV     DPTR,#ksEvtPool
+001C7D F0                MOVX    @DPTR,A
+001C7E 22                RET     
   121: 		return;
   122: 	}
-001BE2         ?C0017?KEYSCAN:
+001C7F         ?C0017?KEYSCAN:
   123: 
   124: /*
   125: 	if (key == HID_KEY_RIGHT_GUI ) 
@@ -5009,261 +5182,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:
+001C7F E4                CLR     A
+001C80 FE                MOV     R6,A
+001C81         ?C0019?KEYSCAN:
   167: 	{
   168: 		if (found == 0) 
-001BE4 ED                MOV     A,R5
-001BE5 7021              JNZ     ?C0022?KEYSCAN
+001C81 ED                MOV     A,R5
+001C82 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
+001C84 7432              MOV     A,#LOW ksEvtPool+01H
+001C86 2E                ADD     A,R6
+001C87 F582              MOV     DPL,A
+001C89 E4                CLR     A
+001C8A 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C8C F583              MOV     DPH,A
+001C8E E0                MOVX    A,@DPTR
+001C8F 6F                XRL     A,R7
+001C90 7047              JNZ     ?C0021?KEYSCAN
   171: 				if (i == KS_BUFF_POLL_LEN-1) {
-001BF5 EE                MOV     A,R6
-001BF6 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
+001C92 EE                MOV     A,R6
+001C93 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
+001C96 2432              ADD     A,#LOW ksEvtPool+01H
+001C98 F582              MOV     DPL,A
+001C9A E4                CLR     A
+001C9B 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C9D F583              MOV     DPH,A
+001C9F E4                CLR     A
+001CA0 F0                MOVX    @DPTR,A
   173: 				}
-001C04         ?C0024?KEYSCAN:
+001CA1         ?C0024?KEYSCAN:
   174: 				found = 1;
-001C04 7D01              MOV     R5,#01H
+001CA1 7D01              MOV     R5,#01H
   175: 			}
   176: 		}
-001C06 8034              SJMP    ?C0021?KEYSCAN
-001C08         ?C0022?KEYSCAN:
+001CA3 8034              SJMP    ?C0021?KEYSCAN
+001CA5         ?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
+001CA5 7432              MOV     A,#LOW ksEvtPool+01H
+001CA7 2E                ADD     A,R6
+001CA8 F582              MOV     DPL,A
+001CAA E4                CLR     A
+001CAB 344E              ADDC    A,#HIGH ksEvtPool+01H
+001CAD F583              MOV     DPH,A
+001CAF E0                MOVX    A,@DPTR
+001CB0 FC                MOV     R4,A
+001CB1 7431              MOV     A,#LOW ksEvtPool
+001CB3 2E                ADD     A,R6
+001CB4 F582              MOV     DPL,A
+001CB6 E4                CLR     A
+001CB7 344E              ADDC    A,#HIGH ksEvtPool
+001CB9 F583              MOV     DPH,A
+001CBB EC                MOV     A,R4
+001CBC 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
+001CBD 7432              MOV     A,#LOW ksEvtPool+01H
+001CBF 2E                ADD     A,R6
+001CC0 F582              MOV     DPL,A
+001CC2 E4                CLR     A
+001CC3 344E              ADDC    A,#HIGH ksEvtPool+01H
+001CC5 F583              MOV     DPH,A
+001CC7 E0                MOVX    A,@DPTR
+001CC8 6014              JZ      ?C0018?KEYSCAN
   181: 				break;
-001C2D         ?C0026?KEYSCAN:
+001CCA         ?C0026?KEYSCAN:
   182: 			if (i == KS_BUFF_POLL_LEN-1) {
-001C2D EE                MOV     A,R6
-001C2E B4050B            CJNE    A,#05H,?C0021?KEYSCAN
+001CCA EE                MOV     A,R6
+001CCB 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
+001CCE 2432              ADD     A,#LOW ksEvtPool+01H
+001CD0 F582              MOV     DPL,A
+001CD2 E4                CLR     A
+001CD3 344E              ADDC    A,#HIGH ksEvtPool+01H
+001CD5 F583              MOV     DPH,A
+001CD7 E4                CLR     A
+001CD8 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
+001CD9         ?C0021?KEYSCAN:
+001CD9 0E                INC     R6
+001CDA EE                MOV     A,R6
+001CDB B406A3            CJNE    A,#06H,?C0019?KEYSCAN
   187: }
-001C41         ?C0018?KEYSCAN:
-001C41 22                RET     
+001CDE         ?C0018?KEYSCAN:
+001CDE 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,361 +5280,311 @@
   262: 	byte i = 0;
   263: 	byte j = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-001CF9 E4                CLR     A
-001CFA FF                MOV     R7,A
+001CDF E4                CLR     A
+001CE0 FF                MOV     R7,A
   264: 	byte tgroup = 0;
-001CFB 904E69            MOV     DPTR,#j
-001CFE F0                MOVX    @DPTR,A
+001CE1 904E69            MOV     DPTR,#j
+001CE4 F0                MOVX    @DPTR,A
   265: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-001CFF FE                MOV     R6,A
+001CE5 FE                MOV     R6,A
   266: 	byte temp = 0;
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-001D00 FD                MOV     R5,A
+001CE6 FD                MOV     R5,A
   267: 	byte check = 0;
-001D01 A3                INC     DPTR
-001D02 F0                MOVX    @DPTR,A
+001CE7 A3                INC     DPTR
+001CE8 F0                MOVX    @DPTR,A
   268: 	byte rawSel = 0;
-001D03 A3                INC     DPTR
-001D04 F0                MOVX    @DPTR,A
+001CE9 A3                INC     DPTR
+001CEA F0                MOVX    @DPTR,A
   269: 	for (i=0; col[i]!=0; i++) {
-001D05 A3                INC     DPTR
-001D06 F0                MOVX    @DPTR,A
+001CEB A3                INC     DPTR
+001CEC 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
+001CED         ?C0045?KEYSCAN:
+001CED EF                MOV     A,R7
+001CEE 90060C            MOV     DPTR,#col
+001CF1 93                MOVC    A,@A+DPTR
+001CF2 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
+001CF4 EF                MOV     A,R7
+001CF5 93                MOVC    A,@A+DPTR
+001CF6 FD                MOV     R5,A
+001CF7 13                RRC     A
+001CF8 13                RRC     A
+001CF9 13                RRC     A
+001CFA 541F              ANL     A,#01FH
+001CFC 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
+001CFD ED                MOV     A,R5
+001CFE 5407              ANL     A,#07H
+001D00 FD                MOV     R5,A
+001D01 7401              MOV     A,#01H
+001D03 A805              MOV     R0,AR5
+001D05 08                INC     R0
+001D06 8002              SJMP    ?C0095?KEYSCAN
+001D08         ?C0094?KEYSCAN:
+001D08 C3                CLR     C
+001D09 33                RLC     A
+001D0A         ?C0095?KEYSCAN:
+001D0A D8FC              DJNZ    R0,?C0094?KEYSCAN
+001D0C 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
+001D0D EE                MOV     A,R6
+001D0E 2478              ADD     A,#078H
+001D10 FB                MOV     R3,A
+001D11 E4                CLR     A
+001D12 3480              ADDC    A,#080H
+001D14 8B82              MOV     DPL,R3
+001D16 F583              MOV     DPH,A
+001D18 E0                MOVX    A,@DPTR
+001D19 FC                MOV     R4,A
+001D1A ED                MOV     A,R5
+001D1B F4                CPL     A
+001D1C FB                MOV     R3,A
+001D1D EC                MOV     A,R4
+001D1E 5B                ANL     A,R3
+001D1F F0                MOVX    @DPTR,A
+001D20 EE                MOV     A,R6
+001D21 2470              ADD     A,#070H
+001D23 F582              MOV     DPL,A
+001D25 E4                CLR     A
+001D26 3480              ADDC    A,#080H
+001D28 F583              MOV     DPH,A
+001D2A E0                MOVX    A,@DPTR
+001D2B 4D                ORL     A,R5
+001D2C F0                MOVX    @DPTR,A
+001D2D EE                MOV     A,R6
+001D2E 2474              ADD     A,#074H
+001D30 F582              MOV     DPL,A
+001D32 E4                CLR     A
+001D33 3480              ADDC    A,#080H
+001D35 F583              MOV     DPH,A
+001D37 E0                MOVX    A,@DPTR
 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
+001D3A 90811C            MOV     DPTR,#0811CH
+001D3D E0                MOVX    A,@DPTR
+001D3E F4                CPL     A
+001D3F FC                MOV     R4,A
+001D40 74BC              MOV     A,#LOW ksSelMapCurr
+001D42 2F                ADD     A,R7
+001D43 F582              MOV     DPL,A
+001D45 E4                CLR     A
+001D46 344D              ADDC    A,#HIGH ksSelMapCurr
+001D48 F583              MOV     DPH,A
+001D4A EC                MOV     A,R4
+001D4B F0                MOVX    @DPTR,A
+001D4C EE                MOV     A,R6
+001D4D 2478              ADD     A,#078H
+001D4F FB                MOV     R3,A
+001D50 E4                CLR     A
+001D51 3480              ADDC    A,#080H
+001D53 8B82              MOV     DPL,R3
+001D55 F583              MOV     DPH,A
 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
+001D58 4D                ORL     A,R5
+001D59 F0                MOVX    @DPTR,A
+001D5A EE                MOV     A,R6
+001D5B 2470              ADD     A,#070H
+001D5D FB                MOV     R3,A
+001D5E E4                CLR     A
+001D5F 3480              ADDC    A,#080H
+001D61 8B82              MOV     DPL,R3
+001D63 F583              MOV     DPH,A
+001D65 E0                MOVX    A,@DPTR
+001D66 FC                MOV     R4,A
+001D67 ED                MOV     A,R5
+001D68 F4                CPL     A
 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
+001D6A EC                MOV     A,R4
+001D6B 5B                ANL     A,R3
+001D6C F0                MOVX    @DPTR,A
   274: 
-001D87 0F                INC     R7
-001D88 A107              AJMP    ?C0045?KEYSCAN
-001D8A         ?C0046?KEYSCAN:
+001D6D 0F                INC     R7
+001D6E 81ED              AJMP    ?C0045?KEYSCAN
+001D70         ?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
+001D70 E4                CLR     A
+001D71 FF                MOV     R7,A
+001D72         ?C0048?KEYSCAN:
+001D72 EF                MOV     A,R7
+001D73 90060C            MOV     DPTR,#col
+001D76 93                MOVC    A,@A+DPTR
+001D77 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
+001D79 EF                MOV     A,R7
+001D7A 93                MOVC    A,@A+DPTR
+001D7B FD                MOV     R5,A
+001D7C 13                RRC     A
+001D7D 13                RRC     A
+001D7E 13                RRC     A
+001D7F 541F              ANL     A,#01FH
+001D81 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
+001D82 ED                MOV     A,R5
+001D83 5407              ANL     A,#07H
+001D85 FD                MOV     R5,A
+001D86 7401              MOV     A,#01H
+001D88 A805              MOV     R0,AR5
+001D8A 08                INC     R0
+001D8B 8002              SJMP    ?C0097?KEYSCAN
+001D8D         ?C0096?KEYSCAN:
+001D8D C3                CLR     C
+001D8E 33                RLC     A
+001D8F         ?C0097?KEYSCAN:
+001D8F D8FC              DJNZ    R0,?C0096?KEYSCAN
+001D91 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
+001D92 EE                MOV     A,R6
+001D93 2478              ADD     A,#078H
+001D95 FB                MOV     R3,A
+001D96 E4                CLR     A
+001D97 3480              ADDC    A,#080H
+001D99 8B82              MOV     DPL,R3
+001D9B F583              MOV     DPH,A
+001D9D E0                MOVX    A,@DPTR
+001D9E FC                MOV     R4,A
+001D9F ED                MOV     A,R5
+001DA0 F4                CPL     A
+001DA1 FB                MOV     R3,A
+001DA2 EC                MOV     A,R4
+001DA3 5B                ANL     A,R3
+001DA4 F0                MOVX    @DPTR,A
+001DA5 EE                MOV     A,R6
+001DA6 2470              ADD     A,#070H
+001DA8 F582              MOV     DPL,A
+001DAA E4                CLR     A
+001DAB 3480              ADDC    A,#080H
+001DAD F583              MOV     DPH,A
+001DAF E0                MOVX    A,@DPTR
+001DB0 4D                ORL     A,R5
+001DB1 F0                MOVX    @DPTR,A
+001DB2 EE                MOV     A,R6
+001DB3 2474              ADD     A,#074H
+001DB5 F582              MOV     DPL,A
+001DB7 E4                CLR     A
+001DB8 3480              ADDC    A,#080H
+001DBA F583              MOV     DPH,A
+001DBC E0                MOVX    A,@DPTR
 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
+001DBF 90811C            MOV     DPTR,#0811CH
+001DC2 E0                MOVX    A,@DPTR
+001DC3 F4                CPL     A
+001DC4 FC                MOV     R4,A
+001DC5 74A8              MOV     A,#LOW ksSelMapCheck
+001DC7 2F                ADD     A,R7
+001DC8 F582              MOV     DPL,A
+001DCA E4                CLR     A
+001DCB 344D              ADDC    A,#HIGH ksSelMapCheck
+001DCD F583              MOV     DPH,A
+001DCF EC                MOV     A,R4
+001DD0 F0                MOVX    @DPTR,A
+001DD1 EE                MOV     A,R6
+001DD2 2478              ADD     A,#078H
+001DD4 FB                MOV     R3,A
+001DD5 E4                CLR     A
+001DD6 3480              ADDC    A,#080H
+001DD8 8B82              MOV     DPL,R3
+001DDA F583              MOV     DPH,A
 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
+001DDD 4D                ORL     A,R5
+001DDE F0                MOVX    @DPTR,A
+001DDF EE                MOV     A,R6
+001DE0 2470              ADD     A,#070H
+001DE2 FB                MOV     R3,A
+001DE3 E4                CLR     A
+001DE4 3480              ADDC    A,#080H
+001DE6 8B82              MOV     DPL,R3
+001DE8 F583              MOV     DPH,A
+001DEA E0                MOVX    A,@DPTR
+001DEB FC                MOV     R4,A
+001DEC ED                MOV     A,R5
+001DED F4                CPL     A
 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
+001DEF EC                MOV     A,R4
+001DF0 5B                ANL     A,R3
+001DF1 F0                MOVX    @DPTR,A
   279: 	}
-001E0C 0F                INC     R7
-001E0D A18C              AJMP    ?C0048?KEYSCAN
-001E0F         ?C0049?KEYSCAN:
+001DF2 0F                INC     R7
+001DF3 A172              AJMP    ?C0048?KEYSCAN
+001DF5         ?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
+001DF5 E4                CLR     A
+001DF6 FF                MOV     R7,A
+001DF7         ?C0051?KEYSCAN:
+001DF7 EF                MOV     A,R7
+001DF8 90060C            MOV     DPTR,#col
+001DFB 93                MOVC    A,@A+DPTR
+001DFC 6040              JZ      ?C0055?KEYSCAN
   282: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
+001DFE 74BC              MOV     A,#LOW ksSelMapCurr
+001E00 2F                ADD     A,R7
+001E01 F582              MOV     DPL,A
+001E03 E4                CLR     A
+001E04 344D              ADDC    A,#HIGH ksSelMapCurr
+001E06 F583              MOV     DPH,A
+001E08 E0                MOVX    A,@DPTR
+001E09 FE                MOV     R6,A
+001E0A 74A8              MOV     A,#LOW ksSelMapCheck
+001E0C 2F                ADD     A,R7
+001E0D F582              MOV     DPL,A
+001E0F E4                CLR     A
+001E10 344D              ADDC    A,#HIGH ksSelMapCheck
+001E12 F583              MOV     DPH,A
+001E14 E0                MOVX    A,@DPTR
+001E15 6E                XRL     A,R6
+001E16 6023              JZ      ?C0053?KEYSCAN
+  283: 			ksSelMapCurr[i] &= ksSelMapCheck[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
-  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
+001E22 C083              PUSH    DPH
+001E24 C082              PUSH    DPL
+001E26 E0                MOVX    A,@DPTR
+001E27 FE                MOV     R6,A
+001E28 74A8              MOV     A,#LOW ksSelMapCheck
+001E2A 2F                ADD     A,R7
+001E2B F582              MOV     DPL,A
+001E2D E4                CLR     A
+001E2E 344D              ADDC    A,#HIGH ksSelMapCheck
+001E30 F583              MOV     DPH,A
+001E32 E0                MOVX    A,@DPTR
+001E33 FD                MOV     R5,A
+001E34 EE                MOV     A,R6
+001E35 5D                ANL     A,R5
+001E36 D082              POP     DPL
+001E38 D083              POP     DPH
+001E3A F0                MOVX    @DPTR,A
   284: 		}
   285: 	}
-001E55         ?C0053?KEYSCAN:
-001E55 0F                INC     R7
-001E56 80B9              SJMP    ?C0051?KEYSCAN
+001E3B         ?C0053?KEYSCAN:
+001E3B 0F                INC     R7
+001E3C 80B9              SJMP    ?C0051?KEYSCAN
   286: }
-001E58         ?C0055?KEYSCAN:
-001E58 22                RET     
+001E3E         ?C0055?KEYSCAN:
+001E3E 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:
+001E3F 908010            MOV     DPTR,#m_reset_reg
+001E42 7401              MOV     A,#01H
+001E44 F0                MOVX    @DPTR,A
+001E45         ?C0004?SYS:
    62: }
-001E84 80FE              SJMP    ?C0004?SYS
-001E86 22                RET     
+001E45 80FE              SJMP    ?C0004?SYS
+001E47 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -5635,7 +5594,7 @@
    71: {
    72: 	System_Hardware_reset();
    73: }
-001E87 80F5              SJMP    System_Hardware_reset
+001E48 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -5643,21 +5602,21 @@
  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
+001E4A 904E8B            MOV     DPTR,#len
+001E4D ED                MOV     A,R5
+001E4E 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
+001E4F 900001            MOV     DPTR,#01H
+001E52 1203CF            LCALL   ?C?CLDOPTR
+001E55 904E8C            MOV     DPTR,#temp
+001E58 F0                MOVX    @DPTR,A
    83: 
    84: 	if (len<2) {
    85: 		return;
    86: 	}
    87: }
-001E98 22                RET     
+001E59 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
@@ -5668,66 +5627,66 @@
   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
+001E5A 904CC5            MOV     DPTR,#g_variable+06H
+001E5D E0                MOVX    A,@DPTR
+001E5E 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
+001E61 904CE3            MOV     DPTR,#g_variable+024H
+001E64 E0                MOVX    A,@DPTR
+001E65 640E              XRL     A,#0EH
+001E67 7004              JNZ     ?C0092?SYS
+001E69 A3                INC     DPTR
+001E6A E0                MOVX    A,@DPTR
+001E6B 6410              XRL     A,#010H
+001E6D         ?C0092?SYS:
+001E6D 702D              JNZ     ?C0044?SYS
   206: 			System_long_sleep();
-001EAE 0207F1            LJMP    System_long_sleep
+001E6F 0207F1            LJMP    System_long_sleep
   207: 	}
-001EB1         ?C0037?SYS:
+001E72         ?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
+001E72 904CC5            MOV     DPTR,#g_variable+06H
+001E75 E0                MOVX    A,@DPTR
+001E76 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
+001E79 904CE3            MOV     DPTR,#g_variable+024H
+001E7C E0                MOVX    A,@DPTR
+001E7D 7004              JNZ     ?C0093?SYS
+001E7F A3                INC     DPTR
+001E80 E0                MOVX    A,@DPTR
+001E81 6428              XRL     A,#028H
+001E83         ?C0093?SYS:
+001E83 7017              JNZ     ?C0044?SYS
   211: 		{
   212: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
-001EC4 7F22              MOV     R7,#022H
-001EC6 1207F8            LCALL   _IPC_TxControlCmd
+001E85 7F22              MOV     R7,#022H
+001E87 1207F8            LCALL   _IPC_TxControlCmd
   213: 			System_long_sleep();
-001EC9 0207F1            LJMP    System_long_sleep
+001E8A 0207F1            LJMP    System_long_sleep
   214: 		}
   215: 	}
-001ECC         ?C0040?SYS:
+001E8D         ?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
+001E8D 904CE3            MOV     DPTR,#g_variable+024H
+001E90 E0                MOVX    A,@DPTR
+001E91 7004              JNZ     ?C0094?SYS
+001E93 A3                INC     DPTR
+001E94 E0                MOVX    A,@DPTR
+001E95 6414              XRL     A,#014H
+001E97         ?C0094?SYS:
+001E97 7003              JNZ     ?C0044?SYS
   219: 		{
   220: 			System_long_sleep();
-001ED8 1207F1            LCALL   System_long_sleep
+001E99 1207F1            LCALL   System_long_sleep
   221: 		}
   222: 	}
   223: }
-001EDB         ?C0044?SYS:
-001EDB 22                RET     
+001E9C         ?C0044?SYS:
+001E9C 22                RET     
 ----- FUNCTION YC_connect_timeout_500ms (END) -------
 
 
@@ -5737,150 +5696,150 @@
   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
+001E9D 904CEA            MOV     DPTR,#g_variable+02BH
+001EA0 E0                MOVX    A,@DPTR
+001EA1 6002              JZ      ?C0063?SYS
   310: 	{
   311: 		g_variable.delay_enter_lpm_timer --;
-001EE2 14                DEC     A
-001EE3 F0                MOVX    @DPTR,A
+001EA3 14                DEC     A
+001EA4 F0                MOVX    @DPTR,A
   312: 	}
-001EE4         ?C0063?SYS:
+001EA5         ?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
+001EA5 904CEF            MOV     DPTR,#g_variable+030H
+001EA8 E0                MOVX    A,@DPTR
+001EA9 6002              JZ      ?C0064?SYS
   315: 		g_variable.recon_delay--;
-001EEA 14                DEC     A
-001EEB F0                MOVX    @DPTR,A
-001EEC         ?C0064?SYS:
+001EAB 14                DEC     A
+001EAC F0                MOVX    @DPTR,A
+001EAD         ?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
+001EAD 904CE5            MOV     DPTR,#g_variable+026H
+001EB0 E0                MOVX    A,@DPTR
+001EB1 6018              JZ      ?C0065?SYS
   318: 	{	
   319: 		g_variable.powerOn_timer--;
-001EF2 14                DEC     A
-001EF3 F0                MOVX    @DPTR,A
+001EB3 14                DEC     A
+001EB4 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
+001EB5 D201              SETB    ?_GPIO_Setout?BIT
+001EB7 7F1E              MOV     R7,#01EH
+001EB9 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
+001EBC 904CE5            MOV     DPTR,#g_variable+026H
+001EBF E0                MOVX    A,@DPTR
+001EC0 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
+001EC2 C201              CLR     ?_GPIO_Setout?BIT
+001EC4 7F1E              MOV     R7,#01EH
+001EC6 120784            LCALL   _GPIO_Setout
   324: 		}
   325: 	}
-001F08 802B              SJMP    ?C0067?SYS
-001F0A         ?C0065?SYS:
+001EC9 802B              SJMP    ?C0067?SYS
+001ECB         ?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
+001ECB 904CEE            MOV     DPTR,#g_variable+02FH
+001ECE E0                MOVX    A,@DPTR
+001ECF 7025              JNZ     ?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
+001ED1 904CE2            MOV     DPTR,#g_variable+023H
+001ED4 E0                MOVX    A,@DPTR
+001ED5 601F              JZ      ?C0067?SYS
   330: 		{
   331: 			g_variable.battery_low_led_flash_interval--;
-001F16 14                DEC     A
-001F17 F0                MOVX    @DPTR,A
+001ED7 14                DEC     A
+001ED8 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
+001ED9 E0                MOVX    A,@DPTR
+001EDA 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
+001EDD D201              SETB    ?_GPIO_Setout?BIT
+001EDF 7F1E              MOV     R7,#01EH
+001EE1 120784            LCALL   _GPIO_Setout
   335: 			}
-001F23 8007              SJMP    ?C0071?SYS
-001F25         ?C0070?SYS:
+001EE4 8007              SJMP    ?C0071?SYS
+001EE6         ?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:
+001EE6 C201              CLR     ?_GPIO_Setout?BIT
+001EE8 7F1E              MOV     R7,#01EH
+001EEA 120784            LCALL   _GPIO_Setout
+001EED         ?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
+001EED 904CE2            MOV     DPTR,#g_variable+023H
+001EF0 E0                MOVX    A,@DPTR
+001EF1 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
+001EF3 7404              MOV     A,#04H
+001EF5 F0                MOVX    @DPTR,A
   340: 		}
   341: 	}
-001F35         ?C0067?SYS:
+001EF6         ?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
+001EF6 904DD5            MOV     DPTR,#long_press_flag
+001EF9 E0                MOVX    A,@DPTR
+001EFA 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
+001EFC 904DD6            MOV     DPTR,#repeat_send_24g
+001EFF E0                MOVX    A,@DPTR
+001F00 6401              XRL     A,#01H
+001F02 7025              JNZ     ?C0073?SYS
   347: 		{
   348: 			repeat_send_24g = 0;
-001F43 F0                MOVX    @DPTR,A
+001F04 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
+001F05 904DE5            MOV     DPTR,#multikey
+001F08 E0                MOVX    A,@DPTR
+001F09 600D              JZ      ?C0075?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
+001F0B 7B01              MOV     R3,#01H
+001F0D 7A4D              MOV     R2,#HIGH multikey
+001F0F 79E5              MOV     R1,#LOW multikey
+001F11 7D03              MOV     R5,#03H
+001F13 120ECE            LCALL   _IPC_TxHidData
   353: 			}
-001F55 8011              SJMP    ?C0073?SYS
-001F57         ?C0075?SYS:
+001F16 8011              SJMP    ?C0073?SYS
+001F18         ?C0075?SYS:
   354: 			else if (hidBuff[0] != 0)
-001F57 904800            MOV     DPTR,#hidBuff
-001F5A E0                MOVX    A,@DPTR
-001F5B 600B              JZ      ?C0073?SYS
+001F18 904800            MOV     DPTR,#hidBuff
+001F1B E0                MOVX    A,@DPTR
+001F1C 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
+001F1E 7B01              MOV     R3,#01H
+001F20 7A48              MOV     R2,#HIGH hidBuff
+001F22 7900              MOV     R1,#LOW hidBuff
+001F24 7D09              MOV     R5,#09H
+001F26 120ECE            LCALL   _IPC_TxHidData
   358: 			}
   359: 		}
   360: 	}
-001F68         ?C0073?SYS:
+001F29         ?C0073?SYS:
   361: 
   362: 	if (delayChgInvTimer != 0){
-001F68 904DDE            MOV     DPTR,#delayChgInvTimer
-001F6B E0                MOVX    A,@DPTR
-001F6C 6003              JZ      ?C0079?SYS
+001F29 904DDE            MOV     DPTR,#delayChgInvTimer
+001F2C E0                MOVX    A,@DPTR
+001F2D 6003              JZ      ?C0079?SYS
   363: 		delayChgInvTimer--;
-001F6E E0                MOVX    A,@DPTR
-001F6F 14                DEC     A
-001F70 F0                MOVX    @DPTR,A
+001F2F E0                MOVX    A,@DPTR
+001F30 14                DEC     A
+001F31 F0                MOVX    @DPTR,A
   364: 	}
   365: }
-001F71         ?C0079?SYS:
-001F71 22                RET     
+001F32         ?C0079?SYS:
+001F32 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
@@ -5892,13 +5851,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
+001F33 904CD3            MOV     DPTR,#g_variable+014H
+001F36 7405              MOV     A,#05H
+001F38 F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-001F78 E4                CLR     A
-001F79 A3                INC     DPTR
-001F7A F0                MOVX    @DPTR,A
+001F39 E4                CLR     A
+001F3A A3                INC     DPTR
+001F3B F0                MOVX    @DPTR,A
    10: 
    11: #ifdef ADC_TYPE_HVIN 	
    12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -5919,130 +5878,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
+001F3C 904C90            MOV     DPTR,#m_adc_channel
+001F3F 7437              MOV     A,#037H
+001F41 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:
+001F42 E4                CLR     A
+001F43 FF                MOV     R7,A
+001F44         ?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
+001F44 EF                MOV     A,R7
+001F45 25E0              ADD     A,ACC
+001F47 24D6              ADD     A,#LOW g_variable+017H
+001F49 F582              MOV     DPL,A
+001F4B E4                CLR     A
+001F4C 344C              ADDC    A,#HIGH g_variable+017H
+001F4E F583              MOV     DPH,A
+001F50 7462              MOV     A,#062H
+001F52 F0                MOVX    @DPTR,A
+001F53 A3                INC     DPTR
+001F54 F0                MOVX    @DPTR,A
    33: 	}
-001F94 0F                INC     R7
-001F95 EF                MOV     A,R7
-001F96 B404EA            CJNE    A,#04H,?C0001?ADC
-001F99         ?C0002?ADC:
+001F55 0F                INC     R7
+001F56 EF                MOV     A,R7
+001F57 B404EA            CJNE    A,#04H,?C0001?ADC
+001F5A         ?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
+001F5A 904C91            MOV     DPTR,#m_adc0vBase
+001F5D E0                MOVX    A,@DPTR
+001F5E FE                MOV     R6,A
+001F5F A3                INC     DPTR
+001F60 E0                MOVX    A,@DPTR
+001F61 FF                MOV     R7,A
+001F62 C3                CLR     C
+001F63 904C94            MOV     DPTR,#m_adc3vValue+01H
+001F66 E0                MOVX    A,@DPTR
+001F67 9F                SUBB    A,R7
+001F68 FD                MOV     R5,A
+001F69 904C93            MOV     DPTR,#m_adc3vValue
+001F6C E0                MOVX    A,@DPTR
+001F6D 9E                SUBB    A,R6
+001F6E FC                MOV     R4,A
+001F6F E4                CLR     A
+001F70 120206            LCALL   ?C?FCASTI
+001F73 7BC3              MOV     R3,#0C3H
+001F75 7AF5              MOV     R2,#0F5H
+001F77 79A8              MOV     R1,#0A8H
+001F79 783E              MOV     R0,#03EH
+001F7B 1200FB            LCALL   ?C?FPMUL
+001F7E C004              PUSH    AR4
+001F80 C005              PUSH    AR5
+001F82 C006              PUSH    AR6
+001F84 C007              PUSH    AR7
+001F86 904C91            MOV     DPTR,#m_adc0vBase
+001F89 E0                MOVX    A,@DPTR
+001F8A FC                MOV     R4,A
+001F8B A3                INC     DPTR
+001F8C E0                MOVX    A,@DPTR
+001F8D FD                MOV     R5,A
+001F8E E4                CLR     A
+001F8F 120206            LCALL   ?C?FCASTI
+001F92 D003              POP     AR3
+001F94 D002              POP     AR2
+001F96 D001              POP     AR1
+001F98 D000              POP     AR0
+001F9A 12000A            LCALL   ?C?FPADD
+001F9D 12023F            LCALL   ?C?CASTF
+001FA0 904CDE            MOV     DPTR,#g_variable+01FH
+001FA3 EE                MOV     A,R6
+001FA4 F0                MOVX    @DPTR,A
+001FA5 A3                INC     DPTR
+001FA6 EF                MOV     A,R7
+001FA7 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
+001FA8 904C91            MOV     DPTR,#m_adc0vBase
+001FAB E0                MOVX    A,@DPTR
+001FAC FE                MOV     R6,A
+001FAD A3                INC     DPTR
+001FAE E0                MOVX    A,@DPTR
+001FAF FF                MOV     R7,A
+001FB0 C3                CLR     C
+001FB1 904C94            MOV     DPTR,#m_adc3vValue+01H
+001FB4 E0                MOVX    A,@DPTR
+001FB5 9F                SUBB    A,R7
+001FB6 FD                MOV     R5,A
+001FB7 904C93            MOV     DPTR,#m_adc3vValue
+001FBA E0                MOVX    A,@DPTR
+001FBB 9E                SUBB    A,R6
+001FBC FC                MOV     R4,A
+001FBD E4                CLR     A
+001FBE 120206            LCALL   ?C?FCASTI
+001FC1 7B5C              MOV     R3,#05CH
+001FC3 7A8F              MOV     R2,#08FH
+001FC5 7942              MOV     R1,#042H
+001FC7 783E              MOV     R0,#03EH
+001FC9 1200FB            LCALL   ?C?FPMUL
+001FCC C004              PUSH    AR4
+001FCE C005              PUSH    AR5
+001FD0 C006              PUSH    AR6
+001FD2 C007              PUSH    AR7
+001FD4 904C91            MOV     DPTR,#m_adc0vBase
+001FD7 E0                MOVX    A,@DPTR
+001FD8 FC                MOV     R4,A
+001FD9 A3                INC     DPTR
+001FDA E0                MOVX    A,@DPTR
+001FDB FD                MOV     R5,A
+001FDC E4                CLR     A
+001FDD 120206            LCALL   ?C?FCASTI
+001FE0 D003              POP     AR3
+001FE2 D002              POP     AR2
+001FE4 D001              POP     AR1
+001FE6 D000              POP     AR0
+001FE8 12000A            LCALL   ?C?FPADD
+001FEB 12023F            LCALL   ?C?CASTF
+001FEE 904CE0            MOV     DPTR,#g_variable+021H
+001FF1 EE                MOV     A,R6
+001FF2 F0                MOVX    @DPTR,A
+001FF3 A3                INC     DPTR
+001FF4 EF                MOV     A,R7
+001FF5 F0                MOVX    @DPTR,A
    36: #endif	
    37: #endif
    38: }
-002035 22                RET     
+001FF6 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -6053,724 +6012,821 @@
    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
+001FF7 904E58            MOV     DPTR,#batValue
+001FFA 120533            LCALL   ?C?LSTKXDATA
+001FFD 00                DB      00H
+001FFE 00                DB      00H
+001FFF 00                DB      00H
+002000 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
+002001 904C95            MOV     DPTR,#m_adcCurrentValue
+002004 E0                MOVX    A,@DPTR
+002005 FE                MOV     R6,A
+002006 A3                INC     DPTR
+002007 E0                MOVX    A,@DPTR
+002008 FF                MOV     R7,A
+002009 904CD4            MOV     DPTR,#g_variable+015H
+00200C E0                MOVX    A,@DPTR
+00200D FD                MOV     R5,A
+00200E 04                INC     A
+00200F F0                MOVX    @DPTR,A
+002010 ED                MOV     A,R5
+002011 25E0              ADD     A,ACC
+002013 24D6              ADD     A,#LOW g_variable+017H
+002015 F582              MOV     DPL,A
+002017 E4                CLR     A
+002018 344C              ADDC    A,#HIGH g_variable+017H
+00201A F583              MOV     DPH,A
+00201C EE                MOV     A,R6
+00201D F0                MOVX    @DPTR,A
+00201E A3                INC     DPTR
+00201F EF                MOV     A,R7
+002020 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
+002021 904CD4            MOV     DPTR,#g_variable+015H
+002024 E0                MOVX    A,@DPTR
+002025 C3                CLR     C
+002026 9404              SUBB    A,#04H
+002028 4002              JC      ?C0005?ADC
    48: 		g_variable.battery_value_index = 0;
-002069 E4                CLR     A
-00206A F0                MOVX    @DPTR,A
-00206B         ?C0005?ADC:
+00202A E4                CLR     A
+00202B F0                MOVX    @DPTR,A
+00202C         ?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:
+00202C E4                CLR     A
+00202D 904E57            MOV     DPTR,#i
+002030 F0                MOVX    @DPTR,A
+002031         ?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
+002031 904E58            MOV     DPTR,#batValue
+002034 E0                MOVX    A,@DPTR
+002035 F8                MOV     R0,A
+002036 A3                INC     DPTR
+002037 E0                MOVX    A,@DPTR
+002038 F9                MOV     R1,A
+002039 A3                INC     DPTR
+00203A E0                MOVX    A,@DPTR
+00203B FA                MOV     R2,A
+00203C A3                INC     DPTR
+00203D E0                MOVX    A,@DPTR
+00203E FB                MOV     R3,A
+00203F 904E57            MOV     DPTR,#i
+002042 E0                MOVX    A,@DPTR
+002043 25E0              ADD     A,ACC
+002045 24D6              ADD     A,#LOW g_variable+017H
+002047 F582              MOV     DPL,A
+002049 E4                CLR     A
+00204A 344C              ADDC    A,#HIGH g_variable+017H
+00204C F583              MOV     DPH,A
+00204E E0                MOVX    A,@DPTR
+00204F FE                MOV     R6,A
+002050 A3                INC     DPTR
+002051 E0                MOVX    A,@DPTR
+002052 FF                MOV     R7,A
+002053 E4                CLR     A
+002054 FC                MOV     R4,A
+002055 FD                MOV     R5,A
+002056 EB                MOV     A,R3
+002057 2F                ADD     A,R7
+002058 FF                MOV     R7,A
+002059 EA                MOV     A,R2
+00205A 3E                ADDC    A,R6
+00205B FE                MOV     R6,A
+00205C ED                MOV     A,R5
+00205D 39                ADDC    A,R1
+00205E FD                MOV     R5,A
+00205F EC                MOV     A,R4
+002060 38                ADDC    A,R0
+002061 FC                MOV     R4,A
+002062 904E58            MOV     DPTR,#batValue
+002065 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:
+002068 904E57            MOV     DPTR,#i
+00206B E0                MOVX    A,@DPTR
+00206C 04                INC     A
+00206D F0                MOVX    @DPTR,A
+00206E E0                MOVX    A,@DPTR
+00206F B404BF            CJNE    A,#04H,?C0006?ADC
+002072         ?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
+002072 904E58            MOV     DPTR,#batValue
+002075 E0                MOVX    A,@DPTR
+002076 FC                MOV     R4,A
+002077 A3                INC     DPTR
+002078 E0                MOVX    A,@DPTR
+002079 FD                MOV     R5,A
+00207A A3                INC     DPTR
+00207B E0                MOVX    A,@DPTR
+00207C FE                MOV     R6,A
+00207D A3                INC     DPTR
+00207E E0                MOVX    A,@DPTR
+00207F FF                MOV     R7,A
+002080 E4                CLR     A
+002081 7B04              MOV     R3,#04H
+002083 FA                MOV     R2,A
+002084 F9                MOV     R1,A
+002085 F8                MOV     R0,A
+002086 120476            LCALL   ?C?ULDIV
+002089 904E58            MOV     DPTR,#batValue
+00208C 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
+00208F 904CE0            MOV     DPTR,#g_variable+021H
+002092 E0                MOVX    A,@DPTR
+002093 FE                MOV     R6,A
+002094 A3                INC     DPTR
+002095 E0                MOVX    A,@DPTR
+002096 FF                MOV     R7,A
+002097 C3                CLR     C
+002098 904CD7            MOV     DPTR,#g_variable+018H
+00209B E0                MOVX    A,@DPTR
+00209C 9F                SUBB    A,R7
+00209D 904CD6            MOV     DPTR,#g_variable+017H
+0020A0 E0                MOVX    A,@DPTR
+0020A1 9E                SUBB    A,R6
+0020A2 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
+0020A4 904CD5            MOV     DPTR,#g_variable+016H
+0020A7 7402              MOV     A,#02H
+0020A9 F0                MOVX    @DPTR,A
    58: 	}
-0020E9 22                RET     
-0020EA         ?C0009?ADC:
+0020AA 22                RET     
+0020AB         ?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
+0020AB 904CDE            MOV     DPTR,#g_variable+01FH
+0020AE E0                MOVX    A,@DPTR
+0020AF FE                MOV     R6,A
+0020B0 A3                INC     DPTR
+0020B1 E0                MOVX    A,@DPTR
+0020B2 FF                MOV     R7,A
+0020B3 E4                CLR     A
+0020B4 FC                MOV     R4,A
+0020B5 FD                MOV     R5,A
+0020B6 904E58            MOV     DPTR,#batValue
+0020B9 E0                MOVX    A,@DPTR
+0020BA F8                MOV     R0,A
+0020BB A3                INC     DPTR
+0020BC E0                MOVX    A,@DPTR
+0020BD F9                MOV     R1,A
+0020BE A3                INC     DPTR
+0020BF E0                MOVX    A,@DPTR
+0020C0 FA                MOV     R2,A
+0020C1 A3                INC     DPTR
+0020C2 E0                MOVX    A,@DPTR
+0020C3 FB                MOV     R3,A
+0020C4 C3                CLR     C
+0020C5 120516            LCALL   ?C?ULCMP
+0020C8 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
+0020CA 904CD5            MOV     DPTR,#g_variable+016H
+0020CD 7401              MOV     A,#01H
+0020CF 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
+0020D0 904D3F            MOV     DPTR,#m_24g_enter_hibernate+02H
+0020D3 7412              MOV     A,#012H
+0020D5 F0                MOVX    @DPTR,A
    65: 		}
-002115 22                RET     
-002116         ?C0011?ADC:
+0020D6 22                RET     
+0020D7         ?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
+0020D7 E4                CLR     A
+0020D8 904CD5            MOV     DPTR,#g_variable+016H
+0020DB 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
+0020DC 904D3F            MOV     DPTR,#m_24g_enter_hibernate+02H
+0020DF 745D              MOV     A,#05DH
+0020E1 F0                MOVX    @DPTR,A
    70: 		}
    71: 	}
    72: #endif	
    73: }
-002121 22                RET     
+0020E2 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
+0020E3 904E6D            MOV     DPTR,#rptr
+0020E6 EE                MOV     A,R6
+0020E7 F0                MOVX    @DPTR,A
+0020E8 A3                INC     DPTR
+0020E9 EF                MOV     A,R7
+0020EA F0                MOVX    @DPTR,A
+0020EB 904E6F            MOV     DPTR,#wptr
+0020EE EC                MOV     A,R4
+0020EF F0                MOVX    @DPTR,A
+0020F0 A3                INC     DPTR
+0020F1 ED                MOV     A,R5
+0020F2 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     
+0020F3 904E6F            MOV     DPTR,#wptr
+0020F6 E0                MOVX    A,@DPTR
+0020F7 FE                MOV     R6,A
+0020F8 A3                INC     DPTR
+0020F9 E0                MOVX    A,@DPTR
+0020FA FF                MOV     R7,A
+0020FB D3                SETB    C
+0020FC 904E6E            MOV     DPTR,#rptr+01H
+0020FF E0                MOVX    A,@DPTR
+002100 9F                SUBB    A,R7
+002101 904E6D            MOV     DPTR,#rptr
+002104 E0                MOVX    A,@DPTR
+002105 9E                SUBB    A,R6
+002106 4016              JC      ?C0001?IPC
+002108 904E6F            MOV     DPTR,#wptr
+00210B E0                MOVX    A,@DPTR
+00210C FE                MOV     R6,A
+00210D A3                INC     DPTR
+00210E E0                MOVX    A,@DPTR
+00210F FF                MOV     R7,A
+002110 904E6E            MOV     DPTR,#rptr+01H
+002113 E0                MOVX    A,@DPTR
+002114 9F                SUBB    A,R7
+002115 FF                MOV     R7,A
+002116 904E6D            MOV     DPTR,#rptr
+002119 E0                MOVX    A,@DPTR
+00211A 9E                SUBB    A,R6
+00211B FE                MOV     R6,A
+00211C 801E              SJMP    ?C0002?IPC
+00211E         ?C0001?IPC:
+00211E 904E6D            MOV     DPTR,#rptr
+002121 E0                MOVX    A,@DPTR
+002122 FE                MOV     R6,A
+002123 A3                INC     DPTR
+002124 E0                MOVX    A,@DPTR
+002125 FF                MOV     R7,A
+002126 C3                CLR     C
+002127 904E70            MOV     DPTR,#wptr+01H
+00212A E0                MOVX    A,@DPTR
+00212B 9F                SUBB    A,R7
+00212C FF                MOV     R7,A
+00212D 904E6F            MOV     DPTR,#wptr
+002130 E0                MOVX    A,@DPTR
+002131 9E                SUBB    A,R6
+002132 FE                MOV     R6,A
+002133 AD03              MOV     R5,AR3
+002135 C3                CLR     C
+002136 EB                MOV     A,R3
+002137 9F                SUBB    A,R7
+002138 FF                MOV     R7,A
+002139 E4                CLR     A
+00213A 9E                SUBB    A,R6
+00213B FE                MOV     R6,A
+00213C         ?C0002?IPC:
+00213C 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
+00213D 904E8D            MOV     DPTR,#dest
+002140 EE                MOV     A,R6
+002141 F0                MOVX    @DPTR,A
+002142 A3                INC     DPTR
+002143 EF                MOV     A,R7
+002144 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
+002145 A905              MOV     R1,AR5
+002147 904B9E            MOV     DPTR,#ipcRxReadPtr
+00214A E0                MOVX    A,@DPTR
+00214B FE                MOV     R6,A
+00214C A3                INC     DPTR
+00214D E0                MOVX    A,@DPTR
+00214E 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     
+00214F         ?C0004?IPC:
+00214F AD01              MOV     R5,AR1
+002151 19                DEC     R1
+002152 ED                MOV     A,R5
+002153 602F              JZ      ?C0005?IPC
+002155 0F                INC     R7
+002156 EF                MOV     A,R7
+002157 AC06              MOV     R4,AR6
+002159 7001              JNZ     ?C0036?IPC
+00215B 0E                INC     R6
+00215C         ?C0036?IPC:
+00215C 14                DEC     A
+00215D F582              MOV     DPL,A
+00215F 8C83              MOV     DPH,R4
+002161 E0                MOVX    A,@DPTR
+002162 FD                MOV     R5,A
+002163 904E8D            MOV     DPTR,#dest
+002166 E4                CLR     A
+002167 75F001            MOV     B,#01H
+00216A 120424            LCALL   ?C?ILDIX
+00216D 85F082            MOV     DPL,B
+002170 F583              MOV     DPH,A
+002172 ED                MOV     A,R5
+002173 F0                MOVX    @DPTR,A
+002174 AD07              MOV     R5,AR7
+002176 AC06              MOV     R4,AR6
+002178 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+00217B BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+00217E 7E4B              MOV     R6,#04BH
+002180 7F36              MOV     R7,#036H
+002182 80CB              SJMP    ?C0004?IPC
+002184         ?C0005?IPC:
+002184 904B9E            MOV     DPTR,#ipcRxReadPtr
+002187 EE                MOV     A,R6
+002188 F0                MOVX    @DPTR,A
+002189 A3                INC     DPTR
+00218A EF                MOV     A,R7
+00218B F0                MOVX    @DPTR,A
+00218C 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
-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
+00218D 7A0C              MOV     R2,#HIGH ipcReadBuff
+00218F 794B              MOV     R1,#LOW ipcReadBuff
+002191 904E7B            MOV     DPTR,#pbuff
+002194 7401              MOV     A,#01H
+002196 F0                MOVX    @DPTR,A
+002197 A3                INC     DPTR
+002198 740C              MOV     A,#HIGH ipcReadBuff
+00219A F0                MOVX    @DPTR,A
+00219B A3                INC     DPTR
+00219C 744B              MOV     A,#LOW ipcReadBuff
+00219E F0                MOVX    @DPTR,A
+00219F 904BA0            MOV     DPTR,#ipcRxWritePtr
+0021A2 E0                MOVX    A,@DPTR
+0021A3 FE                MOV     R6,A
+0021A4 A3                INC     DPTR
+0021A5 E0                MOVX    A,@DPTR
+0021A6 FF                MOV     R7,A
+0021A7 904B9E            MOV     DPTR,#ipcRxReadPtr
+0021AA E0                MOVX    A,@DPTR
+0021AB 6E                XRL     A,R6
+0021AC 7003              JNZ     ?C0038?IPC
+0021AE A3                INC     DPTR
+0021AF E0                MOVX    A,@DPTR
+0021B0 6F                XRL     A,R7
+0021B1         ?C0038?IPC:
+0021B1 6046              JZ      ?C0029?IPC
+0021B3         ?C0023?IPC:
+0021B3 7E0C              MOV     R6,#HIGH ipcReadBuff
+0021B5 7F4B              MOV     R7,#LOW ipcReadBuff
+0021B7 7D03              MOV     R5,#03H
+0021B9 313D              ACALL   _ipcRx
+0021BB 904E7B            MOV     DPTR,#pbuff
+0021BE E0                MOVX    A,@DPTR
+0021BF FB                MOV     R3,A
+0021C0 A3                INC     DPTR
+0021C1 E0                MOVX    A,@DPTR
+0021C2 FA                MOV     R2,A
+0021C3 A3                INC     DPTR
+0021C4 E0                MOVX    A,@DPTR
+0021C5 F9                MOV     R1,A
+0021C6 1203B6            LCALL   ?C?CLDPTR
+0021C9 B4022B            CJNE    A,#02H,?C0027?IPC
+0021CC 904E7C            MOV     DPTR,#pbuff+01H
+0021CF E4                CLR     A
+0021D0 75F002            MOV     B,#02H
+0021D3 12040E            LCALL   ?C?IILDX
+0021D6 904E7B            MOV     DPTR,#pbuff
+0021D9 E0                MOVX    A,@DPTR
+0021DA FB                MOV     R3,A
+0021DB A3                INC     DPTR
+0021DC E0                MOVX    A,@DPTR
+0021DD FA                MOV     R2,A
+0021DE A3                INC     DPTR
+0021DF E0                MOVX    A,@DPTR
+0021E0 F9                MOV     R1,A
+0021E1 1203B6            LCALL   ?C?CLDPTR
+0021E4 FF                MOV     R7,A
+0021E5 904E00            MOV     DPTR,#ipcCb
+0021E8 E0                MOVX    A,@DPTR
+0021E9 A3                INC     DPTR
+0021EA E0                MOVX    A,@DPTR
+0021EB FA                MOV     R2,A
+0021EC A3                INC     DPTR
+0021ED E0                MOVX    A,@DPTR
+0021EE F582              MOV     DPL,A
+0021F0 8A83              MOV     DPH,R2
+0021F2 120568            LCALL   ?C?ICALL2
+0021F5 8002              SJMP    ?C0029?IPC
+0021F7         ?C0027?IPC:
+0021F7 80FE              SJMP    ?C0027?IPC
+0021F9         IPC_TIMER:
+0021F9         ?C0029?IPC:
+0021F9 904BA5            MOV     DPTR,#bttimer
+0021FC E0                MOVX    A,@DPTR
+0021FD FE                MOV     R6,A
 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
-00220E E0                MOVX    A,@DPTR
-00220F FB                MOV     R3,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
-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
+002200 FF                MOV     R7,A
+002201 904C5E            MOV     DPTR,#c51timer
+002204 E0                MOVX    A,@DPTR
+002205 6E                XRL     A,R6
+002206 7003              JNZ     ?C0039?IPC
+002208 A3                INC     DPTR
+002209 E0                MOVX    A,@DPTR
+00220A 6F                XRL     A,R7
+00220B         ?C0039?IPC:
+00220B 6022              JZ      ?C0033?IPC
+00220D 904E06            MOV     DPTR,#ipcCb+06H
+002210 E0                MOVX    A,@DPTR
+002211 FB                MOV     R3,A
+002212 A3                INC     DPTR
+002213 E0                MOVX    A,@DPTR
+002214 FA                MOV     R2,A
+002215 A3                INC     DPTR
+002216 E0                MOVX    A,@DPTR
+002217 F9                MOV     R1,A
+002218 4A                ORL     A,R2
+002219 6037              JZ      ?C0032?IPC
+00221B         ?C0031?IPC:
+00221B 120564            LCALL   ?C?ICALL
+00221E 904BA5            MOV     DPTR,#bttimer
+002221 E0                MOVX    A,@DPTR
+002222 FF                MOV     R7,A
+002223 A3                INC     DPTR
+002224 E0                MOVX    A,@DPTR
+002225 904C5E            MOV     DPTR,#c51timer
+002228 CF                XCH     A,R7
+002229 F0                MOVX    @DPTR,A
+00222A A3                INC     DPTR
+00222B EF                MOV     A,R7
+00222C F0                MOVX    @DPTR,A
+00222D 80CA              SJMP    ?C0029?IPC
+00222F         ?C0033?IPC:
+00222F 904C8D            MOV     DPTR,#btstimer
+002232 E0                MOVX    A,@DPTR
+002233 FF                MOV     R7,A
+002234 A3                INC     DPTR
+002235 E0                MOVX    A,@DPTR
+002236 6F                XRL     A,R7
+002237 6019              JZ      ?C0032?IPC
+002239 904E09            MOV     DPTR,#ipcCb+09H
+00223C E0                MOVX    A,@DPTR
+00223D FB                MOV     R3,A
+00223E A3                INC     DPTR
+00223F E0                MOVX    A,@DPTR
+002240 FA                MOV     R2,A
+002241 A3                INC     DPTR
+002242 E0                MOVX    A,@DPTR
+002243 F9                MOV     R1,A
+002244 4A                ORL     A,R2
+002245 600B              JZ      ?C0032?IPC
+002247         ?C0035?IPC:
+002247 120564            LCALL   ?C?ICALL
+00224A 904C8D            MOV     DPTR,#btstimer
+00224D E0                MOVX    A,@DPTR
 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     
+00224F F0                MOVX    @DPTR,A
+002250 80DD              SJMP    ?C0033?IPC
+002252         ?C0032?IPC:
+002252 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
+----- FUNCTION _IPC_Tx24GData (BEGIN) -----
+;---- Variable 'len' assigned to Register 'R5' ----
+;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
+002253 900BE7            MOV     DPTR,#ipcSendBuff
+002256 7406              MOV     A,#06H
+002258 F0                MOVX    @DPTR,A
+002259 0208B5            LJMP    _IPC_TxData
+----- FUNCTION _IPC_Tx24GData (END) -------
+
+
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-0022A3 900446            MOV     DPTR,#bbDisReason
-0022A6 E0                MOVX    A,@DPTR
-0022A7 FF                MOV     R7,A
-0022A8 22                RET     
+00225C 900446            MOV     DPTR,#bbDisReason
+00225F E0                MOVX    A,@DPTR
+002260 FF                MOV     R7,A
+002261 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
+----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
+002262 904B9C            MOV     DPTR,#ipcTxWritePtr
+002265 E0                MOVX    A,@DPTR
+002266 FE                MOV     R6,A
+002267 A3                INC     DPTR
+002268 E0                MOVX    A,@DPTR
+002269 FF                MOV     R7,A
+00226A 904B9A            MOV     DPTR,#ipcTxReadPtr
+00226D E0                MOVX    A,@DPTR
+00226E B50607            CJNE    A,AR6,?C0021?IPC
+002271 A3                INC     DPTR
+002272 E0                MOVX    A,@DPTR
+002273 B50702            CJNE    A,AR7,?C0021?IPC
+002276 D3                SETB    C
+002277 22                RET     
+002278         ?C0021?IPC:
+002278 C3                CLR     C
+002279 22                RET     
+----- FUNCTION IPC_IsTxBuffEmpty (END) -------
+
+
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-0022A9 908280            MOV     DPTR,#08280H
-0022AC 7401              MOV     A,#01H
-0022AE F0                MOVX    @DPTR,A
-0022AF 22                RET     
+00227A 908280            MOV     DPTR,#08280H
+00227D 7401              MOV     A,#01H
+00227F F0                MOVX    @DPTR,A
+002280 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     
+002281 904E29            MOV     DPTR,#dest
+002284 EB                MOV     A,R3
+002285 F0                MOVX    @DPTR,A
+002286 A3                INC     DPTR
+002287 EA                MOV     A,R2
+002288 F0                MOVX    @DPTR,A
+002289 A3                INC     DPTR
+00228A E9                MOV     A,R1
+00228B F0                MOVX    @DPTR,A
+00228C         ?C0005?UTILITIES:
+00228C 904E2F            MOV     DPTR,#len
+00228F 74FF              MOV     A,#0FFH
+002291 F5F0              MOV     B,A
+002293 120424            LCALL   ?C?ILDIX
+002296 45F0              ORL     A,B
+002298 602A              JZ      ?C0007?UTILITIES
+00229A 904E2C            MOV     DPTR,#src
+00229D E0                MOVX    A,@DPTR
+00229E FB                MOV     R3,A
+00229F A3                INC     DPTR
+0022A0 E4                CLR     A
+0022A1 75F001            MOV     B,#01H
+0022A4 120424            LCALL   ?C?ILDIX
+0022A7 A9F0              MOV     R1,B
+0022A9 FA                MOV     R2,A
+0022AA 1203B6            LCALL   ?C?CLDPTR
+0022AD FF                MOV     R7,A
+0022AE 904E29            MOV     DPTR,#dest
+0022B1 E0                MOVX    A,@DPTR
+0022B2 FB                MOV     R3,A
+0022B3 A3                INC     DPTR
+0022B4 E4                CLR     A
+0022B5 75F001            MOV     B,#01H
+0022B8 120424            LCALL   ?C?ILDIX
+0022BB A9F0              MOV     R1,B
+0022BD FA                MOV     R2,A
+0022BE EF                MOV     A,R7
+0022BF 1203FC            LCALL   ?C?CSTPTR
+0022C2 80C8              SJMP    ?C0005?UTILITIES
+0022C4         ?C0007?UTILITIES:
+0022C4 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
------ FUNCTION _xmemclear_ff (BEGIN) -----
-0022F4 904E81            MOV     DPTR,#dest
-0022F7 EB                MOV     A,R3
+----- FUNCTION _IIC_write (BEGIN) -----
+0022C5 904E3F            MOV     DPTR,#addr
+0022C8 EE                MOV     A,R6
+0022C9 F0                MOVX    @DPTR,A
+0022CA A3                INC     DPTR
+0022CB EF                MOV     A,R7
+0022CC F0                MOVX    @DPTR,A
+0022CD 904E43            MOV     DPTR,#pbuff
+0022D0 EB                MOV     A,R3
+0022D1 F0                MOVX    @DPTR,A
+0022D2 A3                INC     DPTR
+0022D3 EA                MOV     A,R2
+0022D4 F0                MOVX    @DPTR,A
+0022D5 A3                INC     DPTR
+0022D6 E9                MOV     A,R1
+0022D7 F0                MOVX    @DPTR,A
+0022D8 904E41            MOV     DPTR,#len
+0022DB EC                MOV     A,R4
+0022DC F0                MOVX    @DPTR,A
+0022DD A3                INC     DPTR
+0022DE ED                MOV     A,R5
+0022DF F0                MOVX    @DPTR,A
+0022E0 A3                INC     DPTR
+0022E1 E0                MOVX    A,@DPTR
+0022E2 F9                MOV     R1,A
+0022E3 A3                INC     DPTR
+0022E4 E0                MOVX    A,@DPTR
+0022E5 FA                MOV     R2,A
+0022E6 A3                INC     DPTR
+0022E7 E0                MOVX    A,@DPTR
+0022E8 904E2C            MOV     DPTR,#?_dmemcpy?BYTE+03H
+0022EB C9                XCH     A,R1
+0022EC F0                MOVX    @DPTR,A
+0022ED A3                INC     DPTR
+0022EE EA                MOV     A,R2
+0022EF F0                MOVX    @DPTR,A
+0022F0 A3                INC     DPTR
+0022F1 E9                MOV     A,R1
+0022F2 F0                MOVX    @DPTR,A
+0022F3 A3                INC     DPTR
+0022F4 EC                MOV     A,R4
+0022F5 F0                MOVX    @DPTR,A
+0022F6 A3                INC     DPTR
+0022F7 ED                MOV     A,R5
 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
+0022F9 7B01              MOV     R3,#01H
+0022FB 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
+0022FD 7986              MOV     R1,#LOW IIC_TempBuff+03H
+0022FF 5181              ACALL   _dmemcpy
+002301 900B83            MOV     DPTR,#IIC_TempBuff
+002304 74A0              MOV     A,#0A0H
+002306 F0                MOVX    @DPTR,A
+002307 904E3F            MOV     DPTR,#addr
+00230A E0                MOVX    A,@DPTR
+00230B FF                MOV     R7,A
+00230C A3                INC     DPTR
+00230D E0                MOVX    A,@DPTR
+00230E 900B84            MOV     DPTR,#IIC_TempBuff+01H
+002311 CF                XCH     A,R7
+002312 F0                MOVX    @DPTR,A
+002313 A3                INC     DPTR
+002314 EF                MOV     A,R7
+002315 F0                MOVX    @DPTR,A
+002316 904E42            MOV     DPTR,#len+01H
+002319 E0                MOVX    A,@DPTR
+00231A 2403              ADD     A,#03H
+00231C FD                MOV     R5,A
+00231D 904E41            MOV     DPTR,#len
+002320 E0                MOVX    A,@DPTR
+002321 3400              ADDC    A,#00H
+002323 FC                MOV     R4,A
+002324 ED                MOV     A,R5
+002325 FA                MOV     R2,A
+002326 EC                MOV     A,R4
+002327 FF                MOV     R7,A
+002328 EA                MOV     A,R2
+002329 FE                MOV     R6,A
+00232A EF                MOV     A,R7
+00232B 908098            MOV     DPTR,#08098H
+00232E EE                MOV     A,R6
+00232F F0                MOVX    @DPTR,A
+002330 A3                INC     DPTR
+002331 EF                MOV     A,R7
+002332 F0                MOVX    @DPTR,A
+002333 7A0B              MOV     R2,#HIGH IIC_TempBuff
+002335 7983              MOV     R1,#LOW IIC_TempBuff
+002337 7E0B              MOV     R6,#HIGH IIC_TempBuff
+002339 7F83              MOV     R7,#LOW IIC_TempBuff
+00233B 7483              MOV     A,#LOW IIC_TempBuff
+00233D FC                MOV     R4,A
+00233E 740B              MOV     A,#HIGH IIC_TempBuff
+002340 FF                MOV     R7,A
+002341 EC                MOV     A,R4
+002342 FE                MOV     R6,A
+002343 EF                MOV     A,R7
+002344 A3                INC     DPTR
+002345 EE                MOV     A,R6
+002346 F0                MOVX    @DPTR,A
+002347 A3                INC     DPTR
+002348 EF                MOV     A,R7
+002349 F0                MOVX    @DPTR,A
+00234A 90809E            MOV     DPTR,#0809EH
+00234D E4                CLR     A
+00234E F0                MOVX    @DPTR,A
+00234F A3                INC     DPTR
+002350 F0                MOVX    @DPTR,A
+002351 908090            MOV     DPTR,#08090H
+002354 04                INC     A
+002355 F0                MOVX    @DPTR,A
+002356 908006            MOV     DPTR,#08006H
+002359 E0                MOVX    A,@DPTR
+00235A 4404              ORL     A,#04H
+00235C F0                MOVX    @DPTR,A
+00235D 021753            LJMP    IIcWaitDone
+----- FUNCTION _IIC_write (END) -------
+
+
+----- FUNCTION _xmemclear_ff (BEGIN) -----
+002360 904E81            MOV     DPTR,#dest
+002363 EB                MOV     A,R3
+002364 F0                MOVX    @DPTR,A
+002365 A3                INC     DPTR
+002366 EA                MOV     A,R2
+002367 F0                MOVX    @DPTR,A
+002368 A3                INC     DPTR
+002369 E9                MOV     A,R1
+00236A 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     
+00236B         ?C0011?UTILITIES:
+00236B ED                MOV     A,R5
+00236C 1D                DEC     R5
+00236D AE04              MOV     R6,AR4
+00236F 7001              JNZ     ?C0027?UTILITIES
+002371 1C                DEC     R4
+002372         ?C0027?UTILITIES:
+002372 4E                ORL     A,R6
+002373 6017              JZ      ?C0013?UTILITIES
+002375 904E81            MOV     DPTR,#dest
+002378 E0                MOVX    A,@DPTR
+002379 FB                MOV     R3,A
+00237A A3                INC     DPTR
+00237B E4                CLR     A
+00237C 75F001            MOV     B,#01H
+00237F 120424            LCALL   ?C?ILDIX
+002382 A9F0              MOV     R1,B
+002384 FA                MOV     R2,A
+002385 74FF              MOV     A,#0FFH
+002387 1203FC            LCALL   ?C?CSTPTR
+00238A 80DF              SJMP    ?C0011?UTILITIES
+00238C         ?C0013?UTILITIES:
+00238C 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
+00238D EF                MOV     A,R7
+00238E F4                CPL     A
+00238F 603A              JZ      ?C0023?GPIO
+002391         ?C0022?GPIO:
+002391 EF                MOV     A,R7
+002392 5407              ANL     A,#07H
+002394 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
+002395 EF                MOV     A,R7
+002396 13                RRC     A
+002397 13                RRC     A
+002398 13                RRC     A
+002399 5403              ANL     A,#03H
+00239B 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     
+00239C 24A3              ADD     A,#LOW YC_GPIOWakeupL
+00239E F582              MOV     DPL,A
+0023A0 E4                CLR     A
+0023A1 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0023A3 F583              MOV     DPH,A
+0023A5 C083              PUSH    DPH
+0023A7 C082              PUSH    DPL
+0023A9 E0                MOVX    A,@DPTR
+0023AA FD                MOV     R5,A
+0023AB 7401              MOV     A,#01H
+0023AD A806              MOV     R0,AR6
+0023AF 08                INC     R0
+0023B0 8002              SJMP    ?C0043?GPIO
+0023B2         ?C0042?GPIO:
+0023B2 C3                CLR     C
+0023B3 33                RLC     A
+0023B4         ?C0043?GPIO:
+0023B4 D8FC              DJNZ    R0,?C0042?GPIO
+0023B6 F4                CPL     A
+0023B7 FC                MOV     R4,A
+0023B8 5D                ANL     A,R5
+0023B9 D082              POP     DPL
+0023BB D083              POP     DPH
+0023BD F0                MOVX    @DPTR,A
+0023BE 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0023C0 2F                ADD     A,R7
+0023C1 F582              MOV     DPL,A
+0023C3 E4                CLR     A
+0023C4 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0023C6 F583              MOV     DPH,A
+0023C8 E0                MOVX    A,@DPTR
+0023C9 5C                ANL     A,R4
+0023CA F0                MOVX    @DPTR,A
+0023CB         ?C0023?GPIO:
+0023CB 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     
+0023CC E4                CLR     A
+0023CD FF                MOV     R7,A
+0023CE         ?C0026?GPIO:
+0023CE EF                MOV     A,R7
+0023CF FD                MOV     R5,A
+0023D0 7C00              MOV     R4,#00H
+0023D2 2478              ADD     A,#078H
+0023D4 FB                MOV     R3,A
+0023D5 EC                MOV     A,R4
+0023D6 3480              ADDC    A,#080H
+0023D8 8B82              MOV     DPL,R3
+0023DA F583              MOV     DPH,A
+0023DC E0                MOVX    A,@DPTR
+0023DD FE                MOV     R6,A
+0023DE ED                MOV     A,R5
+0023DF 2470              ADD     A,#070H
+0023E1 FD                MOV     R5,A
+0023E2 EC                MOV     A,R4
+0023E3 3480              ADDC    A,#080H
+0023E5 8D82              MOV     DPL,R5
+0023E7 F583              MOV     DPH,A
+0023E9 E0                MOVX    A,@DPTR
+0023EA 4E                ORL     A,R6
+0023EB F4                CPL     A
+0023EC FE                MOV     R6,A
+0023ED EF                MOV     A,R7
+0023EE 247C              ADD     A,#07CH
+0023F0 FD                MOV     R5,A
+0023F1 EC                MOV     A,R4
+0023F2 3480              ADDC    A,#080H
+0023F4 8D82              MOV     DPL,R5
+0023F6 F583              MOV     DPH,A
+0023F8 EE                MOV     A,R6
+0023F9 F0                MOVX    @DPTR,A
+0023FA 0F                INC     R7
+0023FB EF                MOV     A,R7
+0023FC B404CF            CJNE    A,#04H,?C0026?GPIO
+0023FF 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  15:45:24</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:00165AH - C:001663H)</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:001448H - C:001465H)</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:001E3FH - C:001E47H)</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:001E48H - C:001E49H)</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:001E4AH - C:001E59H)</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:00118DH - C:001262H)</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:00177FH - C:0017A1H)</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:001767H - C:00177EH)</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,7 +103,7 @@
 <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:001E9DH - C:001F32H)</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>
@@ -111,7 +111,7 @@
 <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:001466H - C:0014AAH)</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 +131,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:001751H - C:001752H)</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:001608H - C:001614H)</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:002360H - C:00238CH)</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 +159,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:000FF6H - C:00102AH)</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 +171,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:001313H - C:001318H)</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:0010D9H - C:0010F0H)</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 +191,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:001319H - C:00135AH)</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 +205,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:00102BH - C:0010D8H)</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 +223,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:000ECEH - C:000F58H)</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 +235,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:000DFDH - C:000E17H)</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:000F59H - C:000F92H)</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 +260,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:000F93H - C:000FF5H)</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 +273,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:0017D0H - C:001805H)</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 +288,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:001806H - C:00187FH)</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 +301,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:000B9FH)</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 +317,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:0018A5H - C:00195BH)</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:000BA0H - C:000DFCH)</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 +337,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:001B58H - C:001B65H)</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:001BE0H - C:001C35H)</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:001C36H - C:001CDEH)</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:001716H - C:001732H)</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 +370,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:00143DH - C:001447H)</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 +383,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:0014ABH - C:001555H)</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 +396,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:001CDFH - C:001E3EH)</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:001B66H - C:001B95H)</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 +415,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:00195CH - C:001B57H)</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 +433,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:00140BH - C:001420H)</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 +459,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:000E44H - C:000ECDH)</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 +471,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:001409H - C:00140AH)</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 +483,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:001733H - C:001750H)</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 +521,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:001E5AH - C:001E9CH)</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 +534,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:0010F1H - C:001174H)</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 +549,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:001602H - C:001607H)</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:001F33H - C:001FF6H)</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 +568,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:001FF7H - C:0020E2H)</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 +580,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:0017A2H - C:0017B3H)</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 +592,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:0020E3H - C:00213CH)</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:00213DH - C:00218CH)</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>
@@ -650,7 +652,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:002253H - C:00225BH)</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 +664,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:0015F5H - C:001601H)</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 +676,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:00175BH - C:001766H)</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:002262H - C:002279H)</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:00218DH - C:002252H)</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 +717,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:002281H - C:0022C4H)</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 +729,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:000E18H - C:000E43H)</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 +744,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:001175H - C:00118CH)</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 +757,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:001B96H - C:001BDFH)</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 +769,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:0016B5H - C:001715H)</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 +784,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:00161BH - C:001659H)</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 +796,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:001615H - C:00161AH)</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 +821,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:001664H - C:001674H)</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 +834,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:0016A4H - C:0016B4H)</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 +846,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:001693H - C:0016A3H)</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 +859,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:001675H - C:001692H)</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 +874,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:001421H - C:00143CH)</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 +888,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:001556H - C:001568H)</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 +900,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:0017B4H - C:0017CFH)</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 +913,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:0023CCH - C:0023FFH)</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:001753H - C:00175AH)</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 +928,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:001263H - C:001312H)</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 +942,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:0022C5H - C:00235FH)</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 +955,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:00135BH - C:001408H)</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  15:45:24  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -82,7 +82,7 @@
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
 X:000000H   X:004DD0H   X:004F40H   000306H   XDATA
-C:000000H   C:000000H   C:00FFFFH   0022FBH   CODE
+C:000000H   C:000000H   C:00FFFFH   00234AH   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   000B9FH   000283H   BYTE   UNIT     CODE           ?PR?_KB_MOTION_KEYSCAN?KB_PROCESS
+000BA0H   000DFCH   00025DH   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
+000DFDH   000E17H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
+000E18H   000E43H   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
+000E44H   000ECDH   00008AH   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
+000ECEH   000F58H   00008BH   BYTE   UNIT     CODE           ?PR?_IPC_TXHIDDATA?KB_PROCESS
+000F59H   000F92H   00003AH   BYTE   UNIT     CODE           ?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS
+000F93H   000FF5H   000063H   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
+000FF6H   00102AH   000035H   BYTE   UNIT     CODE           ?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
+00102BH   0010D8H   0000AEH   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
+0010D9H   0010F0H   000018H   BYTE   UNIT     CODE           ?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH
+0010F1H   001174H   000084H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
+001175H   00118CH   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
+00118DH   001262H   0000D6H   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
+001263H   001312H   0000B0H   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
+001313H   001318H   000006H   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
+001319H   00135AH   000042H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
+00135BH   001408H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
+001409H   00140AH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
+00140BH   001420H   000016H   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
+001421H   00143CH   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
+00143DH   001447H   00000BH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
+001448H   001465H   00001EH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
+001466H   0014AAH   000045H   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
+0014ABH   001555H   0000ABH   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
+001556H   001568H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+001569H   0015F4H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
+0015F5H   001601H   00000DH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
+001602H   001607H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+001608H   001614H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+001615H   00161AH   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+00161BH   001659H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+00165AH   001663H   00000AH   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
+001664H   001674H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+001675H   001692H   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+001693H   0016A3H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+0016A4H   0016B4H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+0016B5H   001715H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+001716H   001732H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
+001733H   001750H   00001EH   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+001751H   001752H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+001753H   00175AH   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
+00175BH   001766H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+001767H   00177EH   000018H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
+00177FH   0017A1H   000023H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
+0017A2H   0017B3H   000012H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+0017B4H   0017CFH   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
+0017D0H   001805H   000036H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
+001806H   00187FH   00007AH   BYTE   UNIT     CODE           ?PR?KB_NEED_KEYSCAN?KB_PROCESS
+001880H   0018A4H   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
+0018A5H   00195BH   0000B7H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+00195CH   001B57H   0001FCH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
+001B58H   001B65H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+001B66H   001B95H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+001B96H   001BDFH   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+001BE0H   001C35H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
+001C36H   001CDEH   0000A9H   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
+001CDFH   001E3EH   000160H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+001E3FH   001E47H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+001E48H   001E49H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+001E4AH   001E59H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+001E5AH   001E9CH   000043H   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
+001E9DH   001F32H   000096H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+001F33H   001FF6H   0000C4H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+001FF7H   0020E2H   0000ECH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+0020E3H   00213CH   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+00213DH   00218CH   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+00218DH   002252H   0000C6H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+002253H   00225BH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
+00225CH   002261H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+002262H   002279H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+00227AH   002280H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+002281H   0022C4H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+0022C5H   00235FH   00009BH   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
+002360H   00238CH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+00238DH   0023CBH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+0023CCH   0023FFH   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
@@ -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
+      01001B66H   CODE     ---       _array_is_empty
+      01001B96H   CODE     ---       _compare_str
+      01001175H   CODE     ---       _Delay1ms
+      01002281H   CODE     ---       _dmemcpy
+      0100238DH   CODE     ---       _GPIO_ClearWakeup
+      010017B4H   CODE     ---       _GPIO_FlipOutBit
+      01001615H   CODE     ---       _GPIO_GetInputStatus
+      01001675H   CODE     ---       _GPIO_SetInput
+      01001693H   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
+      01001421H   CODE     ---       _GPIO_SetOutput
+      010016A4H   CODE     ---       _GPIO_SetPd
+      01001664H   CODE     ---       _GPIO_SetPu
+      01001569H   CODE     ---       _GPIO_SetWakeup
+      01001556H   CODE     ---       _GPIO_SetWakeupByCurrentState
+      01001263H   CODE     ---       _IIC_Read
+      010022C5H   CODE     ---       _IIC_write
+      0100135BH   CODE     ---       _IIC_WriteBlock
+      01001608H   CODE     ---       _IPC_Initialize
+      01002253H   CODE     ---       _IPC_Tx24GData
       010007F8H   CODE     ---       _IPC_TxControlCmd
       010008B5H   CODE     ---       _IPC_TxData
-      01000EBCH   CODE     ---       _IPC_TxHidData
-      01001E59H   CODE     ---       _kb_combination_key_press
+      01000ECEH   CODE     ---       _IPC_TxHidData
+      01001880H   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
+      01000BA0H   CODE     ---       _kb_multikey_setup
+      01000F59H   CODE     ---       _kb_send_combination_key
+      01000DFDH   CODE     ---       _kb_set_multikey
+      010018A5H   CODE     ---       _key_fn_function
+      01000E18H   CODE     ---       _xmemclear
+      01002360H   CODE     ---       _xmemclear_ff
       010008DAH   CODE     ---       _xmemcpy
-      01001017H   CODE     ---       _YC_key_action_handle
+      0100102BH   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
+      010023CCH   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
+      0100175BH   CODE     ---       IPC_AbandonLpm
+      0100218DH   CODE     ---       IPC_DealSingleStep
+      0100225CH   CODE     ---       IPC_GetBBDIsconnectReason
+      01002262H   CODE     ---       IPC_IsTxBuffEmpty
+      010015F5H   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
+      01000F93H   CODE     ---       kb_24g_get_led_status
+      010010F1H   CODE     ---       kb_button_press_timer500ms
+      01001806H   CODE     ---       kb_need_keyscan
+      0100195CH   CODE     ---       KS_GetCurrentEvt
+      0100143DH   CODE     ---       KS_Initialize
+      01001CDFH   CODE     ---       KS_ScanMatrix
+      010014ABH   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
+      0100140BH   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
+      01001751H   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
+      01001E48H   CODE     ---       System_Reset_Connect
+      01001733H   CODE     ---       System_Software_init
+      01001FF7H   CODE     ---       YC_adc_check
+      010017A2H   CODE     ---       YC_adc_check_timer500ms
+      01001F33H   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
+      01000FF6H   CODE     ---       YC_check_need_reconnected
+      01001313H   CODE     ---       YC_clear_reconnect_flag
+      01001E5AH   CODE     ---       YC_connect_timeout_500ms
+      010010D9H   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
+      0100227AH   CODE     ---       YC_Ice_break
+      0100177FH   CODE     ---       YC_pairing_timerout_500ms
+      0100165AH   CODE     ---       YC_start_reconnect
+      01001466H   CODE     ---       YC_System_Main
+      01001319H   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
+      01001319H   PUBLIC    CODE     ---       YC_update_eeprom_data
+      0100165AH   PUBLIC    CODE     ---       YC_start_reconnect
+      010010D9H   PUBLIC    CODE     ---       YC_disconnect_all_link
+      01001313H   PUBLIC    CODE     ---       YC_clear_reconnect_flag
+      01000FF6H   PUBLIC    CODE     ---       YC_check_need_reconnected
       010006C2H   PUBLIC    CODE     ---       YC_check_is_connected
 
       010006C2H   BLOCK     CODE     ---       LVL=0
@@ -528,75 +528,75 @@
       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
+      01000FF6H   BLOCK     CODE     ---       LVL=0
+      01000FF6H   LINE      ---      ---       #13
+      01000FF6H   LINE      ---      ---       #14
+      01000FF6H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000FF6H   LINE      ---      ---       #15
+      01000FF8H   LINE      ---      ---       #17
+      01000FFEH   LINE      ---      ---       #18
+      01000FFFH   LINE      ---      ---       #20
+      01001007H   LINE      ---      ---       #21
+      01001007H   LINE      ---      ---       #22
+      0100100DH   LINE      ---      ---       #23
+      0100100DH   LINE      ---      ---       #24
+      01001010H   LINE      ---      ---       #25
+      0100101BH   LINE      ---      ---       #27
+      0100101BH   LINE      ---      ---       #28
+      0100101FH   LINE      ---      ---       #29
+      01001021H   LINE      ---      ---       #30
+      01001021H   LINE      ---      ---       #31
+      01001021H   LINE      ---      ---       #32
+      01001023H   LINE      ---      ---       #34
+      01001023H   LINE      ---      ---       #35
+      01001028H   LINE      ---      ---       #36
+      0100102AH   LINE      ---      ---       #37
+      0100102AH   LINE      ---      ---       #38
+      0100102AH   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
+      01001313H   BLOCK     CODE     ---       LVL=0
+      01001313H   LINE      ---      ---       #42
+      01001313H   LINE      ---      ---       #43
+      01001313H   LINE      ---      ---       #44
+      01001318H   LINE      ---      ---       #45
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010010D9H   BLOCK     CODE     ---       LVL=0
+      010010D9H   LINE      ---      ---       #48
+      010010D9H   LINE      ---      ---       #49
+      010010D9H   LINE      ---      ---       #50
+      010010E6H   LINE      ---      ---       #52
+      010010E6H   LINE      ---      ---       #53
+      010010EBH   LINE      ---      ---       #54
+      010010EEH   LINE      ---      ---       #55
+      010010EEH   LINE      ---      ---       #56
+      010010F0H   LINE      ---      ---       #57
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100165AH   BLOCK     CODE     ---       LVL=0
+      0100165AH   LINE      ---      ---       #60
+      0100165AH   LINE      ---      ---       #61
+      0100165AH   LINE      ---      ---       #62
+      01001660H   LINE      ---      ---       #63
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001319H   BLOCK     CODE     ---       LVL=0
+      01001319H   LINE      ---      ---       #67
+      01001319H   LINE      ---      ---       #68
+      01001319H   LINE      ---      ---       #69
+      0100131FH   LINE      ---      ---       #70
+      0100131FH   LINE      ---      ---       #71
+      01001323H   LINE      ---      ---       #72
+      0100132AH   LINE      ---      ---       #73
+      0100133AH   LINE      ---      ---       #74
+      0100134AH   LINE      ---      ---       #75
+      01001351H   LINE      ---      ---       #76
+      01001355H   LINE      ---      ---       #77
+      0100135AH   LINE      ---      ---       #78
+      0100135AH   LINE      ---      ---       #79
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       GLOBAL_VARIABLE
@@ -656,194 +656,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
+      01000BA0H   PUBLIC    CODE     ---       _kb_multikey_setup
+      010018A5H   PUBLIC    CODE     ---       _key_fn_function
+      01001880H   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
+      01001806H   PUBLIC    CODE     ---       kb_need_keyscan
+      01000F93H   PUBLIC    CODE     ---       kb_24g_get_led_status
+      01000F59H   PUBLIC    CODE     ---       _kb_send_combination_key
+      01000DFDH   PUBLIC    CODE     ---       _kb_set_multikey
+      01000ECEH   PUBLIC    CODE     ---       _IPC_TxHidData
+      0100102BH   PUBLIC    CODE     ---       _YC_key_action_handle
+
+      0100102BH   BLOCK     CODE     ---       LVL=0
+      0100102BH   LINE      ---      ---       #3
+      01001030H   LINE      ---      ---       #4
+      01001030H   LINE      ---      ---       #5
+      0100103DH   LINE      ---      ---       #6
+      0100103DH   LINE      ---      ---       #7
+      0100103DH   LINE      ---      ---       #8
+      0100103DH   LINE      ---      ---       #9
+      01001042H   LINE      ---      ---       #10
+      01001047H   LINE      ---      ---       #11
+      01001047H   LINE      ---      ---       #12
+      0100104FH   LINE      ---      ---       #13
+      01001050H   LINE      ---      ---       #15
+      01001050H   LINE      ---      ---       #16
+      01001060H   LINE      ---      ---       #17
+      01001064H   LINE      ---      ---       #18
+      0100107AH   LINE      ---      ---       #19
+      0100107AH   LINE      ---      ---       #20
+      01001080H   LINE      ---      ---       #21
+      01001082H   LINE      ---      ---       #22
+      01001084H   LINE      ---      ---       #23
+      01001086H   LINE      ---      ---       #24
+      01001086H   LINE      ---      ---       #25
+      0100108BH   LINE      ---      ---       #27
+      01001091H   LINE      ---      ---       #28
+      01001094H   LINE      ---      ---       #29
+      01001098H   LINE      ---      ---       #30
+      01001098H   LINE      ---      ---       #31
+      01001099H   LINE      ---      ---       #32
+      01001099H   LINE      ---      ---       #33
+      0100109EH   LINE      ---      ---       #34
+      010010A3H   LINE      ---      ---       #35
+      010010A3H   LINE      ---      ---       #36
+      010010ABH   LINE      ---      ---       #37
+      010010ACH   LINE      ---      ---       #39
+      010010ACH   LINE      ---      ---       #40
+      010010B4H   LINE      ---      ---       #41
+      010010B4H   LINE      ---      ---       #42
+      010010B9H   LINE      ---      ---       #43
+      010010BFH   LINE      ---      ---       #44
+      010010C2H   LINE      ---      ---       #45
+      010010C8H   LINE      ---      ---       #46
+      010010CDH   LINE      ---      ---       #47
+      010010CDH   LINE      ---      ---       #48
+      010010D2H   LINE      ---      ---       #49
+      010010D2H   LINE      ---      ---       #50
+      010010D3H   LINE      ---      ---       #51
+      010010D3H   LINE      ---      ---       #52
+      010010D8H   LINE      ---      ---       #53
+      010010D8H   LINE      ---      ---       #54
+      010010D8H   LINE      ---      ---       #55
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000ECEH   BLOCK     CODE     ---       LVL=0
+      01000ECEH   LINE      ---      ---       #59
+      01000EDCH   LINE      ---      ---       #60
+      01000EDCH   LINE      ---      ---       #61
+      01000EE1H   LINE      ---      ---       #63
+      01000EE7H   LINE      ---      ---       #66
+      01000EEFH   LINE      ---      ---       #67
+      01000EEFH   LINE      ---      ---       #68
+      01000F02H   LINE      ---      ---       #69
+      01000F02H   LINE      ---      ---       #70
+      01000F22H   LINE      ---      ---       #71
+      01000F28H   LINE      ---      ---       #73
+      01000F2EH   LINE      ---      ---       #74
+      01000F30H   LINE      ---      ---       #75
+      01000F34H   LINE      ---      ---       #76
+      01000F34H   LINE      ---      ---       #77
+      01000F44H   LINE      ---      ---       #78
+      01000F44H   LINE      ---      ---       #79
+      01000F48H   LINE      ---      ---       #80
+      01000F4AH   LINE      ---      ---       #82
+      01000F4AH   LINE      ---      ---       #83
+      01000F50H   LINE      ---      ---       #84
+      01000F50H   LINE      ---      ---       #85
+      01000F50H   LINE      ---      ---       #86
+      01000F58H   LINE      ---      ---       #87
+      01000F58H   LINE      ---      ---       #88
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000DFDH   BLOCK     CODE     ---       LVL=0
+      01000DFDH   LINE      ---      ---       #91
+      01000E01H   LINE      ---      ---       #92
+      01000E01H   LINE      ---      ---       #93
+      01000E09H   LINE      ---      ---       #94
+      01000E09H   LINE      ---      ---       #95
+      01000E0CH   LINE      ---      ---       #96
+      01000E11H   LINE      ---      ---       #97
+      01000E14H   LINE      ---      ---       #98
+      01000E17H   LINE      ---      ---       #99
+      01000E17H   LINE      ---      ---       #100
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F59H   BLOCK     CODE     ---       LVL=0
+      01000F59H   LINE      ---      ---       #103
+      01000F61H   LINE      ---      ---       #104
+      01000F61H   LINE      ---      ---       #105
+      01000F6DH   LINE      ---      ---       #106
+      01000F73H   LINE      ---      ---       #107
+      01000F81H   LINE      ---      ---       #108
+      01000F89H   LINE      ---      ---       #109
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F93H   BLOCK     CODE     ---       LVL=0
+      01000F93H   LINE      ---      ---       #129
+      01000F93H   LINE      ---      ---       #130
+      01000F93H   LINE      ---      ---       #131
+      01000FA1H   LINE      ---      ---       #132
+      01000FA1H   LINE      ---      ---       #133
+      01000FA9H   LINE      ---      ---       #134
+      01000FA9H   LINE      ---      ---       #135
+      01000FB4H   LINE      ---      ---       #136
+      01000FBEH   LINE      ---      ---       #137
+      01000FC4H   LINE      ---      ---       #138
+      01000FC9H   LINE      ---      ---       #139
+      01000FC9H   LINE      ---      ---       #140
+      01000FCAH   LINE      ---      ---       #141
+      01000FD7H   LINE      ---      ---       #142
+      01000FD7H   LINE      ---      ---       #143
+      01000FDBH   LINE      ---      ---       #144
+      01000FE6H   LINE      ---      ---       #145
+      01000FF0H   LINE      ---      ---       #146
+      01000FF5H   LINE      ---      ---       #147
+      01000FF5H   LINE      ---      ---       #148
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010017D0H   BLOCK     CODE     ---       LVL=0
+      010017D0H   LINE      ---      ---       #152
+      010017D0H   LINE      ---      ---       #153
+      010017D0H   BLOCK     CODE     NEAR LAB  LVL=1
+      010017D0H   LINE      ---      ---       #154
+      010017D9H   LINE      ---      ---       #156
+      010017DEH   LINE      ---      ---       #158
+      010017ECH   LINE      ---      ---       #160
+      010017EFH   LINE      ---      ---       #161
+      010017EFH   LINE      ---      ---       #162
+      010017F4H   LINE      ---      ---       #163
+      010017F7H   LINE      ---      ---       #165
+      010017F7H   LINE      ---      ---       #166
+      01001805H   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
+      01001806H   BLOCK     CODE     ---       LVL=0
+      01001806H   LINE      ---      ---       #171
+      01001806H   LINE      ---      ---       #172
+      01001806H   LINE      ---      ---       #173
+      01001815H   LINE      ---      ---       #177
+      01001817H   LINE      ---      ---       #179
+      01001817H   LINE      ---      ---       #180
+      0100181EH   LINE      ---      ---       #181
+      0100181EH   LINE      ---      ---       #182
+      01001826H   LINE      ---      ---       #183
+      0100182CH   LINE      ---      ---       #184
+      0100182DH   LINE      ---      ---       #185
+      01001834H   LINE      ---      ---       #186
+      01001834H   LINE      ---      ---       #187
+      01001837H   LINE      ---      ---       #188
+      01001840H   LINE      ---      ---       #189
+      01001840H   LINE      ---      ---       #190
+      01001847H   LINE      ---      ---       #191
+      01001847H   LINE      ---      ---       #192
+      0100184CH   LINE      ---      ---       #193
+      01001856H   LINE      ---      ---       #194
+      0100185BH   LINE      ---      ---       #195
+      01001861H   LINE      ---      ---       #196
+      01001862H   LINE      ---      ---       #197
+      01001869H   LINE      ---      ---       #198
+      01001869H   LINE      ---      ---       #199
+      0100186EH   LINE      ---      ---       #200
+      01001872H   LINE      ---      ---       #201
+      0100187AH   LINE      ---      ---       #202
+      0100187FH   LINE      ---      ---       #203
+      0100187FH   LINE      ---      ---       #204
+      0100187FH   LINE      ---      ---       #206
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100091DH   BLOCK     CODE     ---       LVL=0
@@ -866,413 +866,423 @@
       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      ---      ---       #247
+      01000A1DH   LINE      ---      ---       #250
+      01000A1DH   LINE      ---      ---       #251
+      01000A23H   LINE      ---      ---       #252
+      01000A27H   LINE      ---      ---       #253
+      01000A2BH   LINE      ---      ---       #254
+      01000A2FH   LINE      ---      ---       #255
+      01000A37H   LINE      ---      ---       #256
+      01000A37H   LINE      ---      ---       #257
+      01000A3EH   LINE      ---      ---       #258
+      01000A40H   LINE      ---      ---       #260
+      01000A40H   LINE      ---      ---       #261
+      01000A47H   LINE      ---      ---       #262
+      01000A47H   LINE      ---      ---       #263
+      01000A49H   LINE      ---      ---       #265
+      01000A49H   LINE      ---      ---       #266
+      01000A50H   LINE      ---      ---       #267
+      01000A50H   LINE      ---      ---       #269
+      01000A56H   LINE      ---      ---       #270
+      01000A6FH   LINE      ---      ---       #273
+      01000A6FH   LINE      ---      ---       #275
+      01000A6FH   LINE      ---      ---       #278
+      01000A77H   LINE      ---      ---       #279
+      01000A77H   LINE      ---      ---       #280
+      01000A85H   LINE      ---      ---       #281
+      01000A85H   LINE      ---      ---       #282
+      01000AAEH   LINE      ---      ---       #284
+      01000AAEH   LINE      ---      ---       #285
+      01000AB4H   LINE      ---      ---       #286
+      01000AB4H   LINE      ---      ---       #287
+      01000ABCH   LINE      ---      ---       #288
+      01000ABCH   LINE      ---      ---       #290
+      01000AC9H   LINE      ---      ---       #292
+      01000AD0H   LINE      ---      ---       #293
+      01000AD0H   LINE      ---      ---       #294
+      01000AD3H   LINE      ---      ---       #295
+      01000AD7H   LINE      ---      ---       #296
+      01000AE1H   LINE      ---      ---       #297
+      01000AE1H   LINE      ---      ---       #298
+      01000AE8H   LINE      ---      ---       #299
+      01000AE8H   LINE      ---      ---       #300
+      01000AEAH   LINE      ---      ---       #301
+      01000AEEH   LINE      ---      ---       #302
+      01000AF4H   LINE      ---      ---       #303
+      01000AFEH   LINE      ---      ---       #304
+      01000AFEH   LINE      ---      ---       #306
+      01000AFEH   LINE      ---      ---       #307
+      01000B04H   LINE      ---      ---       #308
+      01000B16H   LINE      ---      ---       #309
+      01000B19H   LINE      ---      ---       #311
+      01000B1DH   LINE      ---      ---       #313
+      01000B26H   LINE      ---      ---       #314
+      01000B44H   LINE      ---      ---       #316
+      01000B60H   LINE      ---      ---       #318
+      01000B70H   LINE      ---      ---       #319
+      01000B70H   LINE      ---      ---       #320
+      01000B7EH   LINE      ---      ---       #321
+      01000B8DH   LINE      ---      ---       #322
+      01000B95H   LINE      ---      ---       #324
+      01000B9FH   LINE      ---      ---       #325
+      01000B9FH   LINE      ---      ---       #327
       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
+      01001880H   BLOCK     CODE     ---       LVL=0
+      01001880H   LINE      ---      ---       #331
+      01001880H   LINE      ---      ---       #332
+      01001880H   LINE      ---      ---       #333
+      01001885H   LINE      ---      ---       #334
+      01001888H   LINE      ---      ---       #336
+      0100188CH   LINE      ---      ---       #337
+      0100188CH   LINE      ---      ---       #338
+      01001893H   LINE      ---      ---       #339
+      01001897H   LINE      ---      ---       #341
+      0100189DH   LINE      ---      ---       #342
+      0100189EH   LINE      ---      ---       #344
+      0100189EH   LINE      ---      ---       #345
+      010018A4H   LINE      ---      ---       #346
+      010018A4H   LINE      ---      ---       #348
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010018A5H   BLOCK     CODE     ---       LVL=0
+      010018A5H   LINE      ---      ---       #353
+      010018A5H   LINE      ---      ---       #354
+      010018A5H   BLOCK     CODE     NEAR LAB  LVL=1
+      010018A5H   LINE      ---      ---       #355
+      010018AAH   LINE      ---      ---       #356
+      010018ADH   LINE      ---      ---       #357
+      010018B2H   LINE      ---      ---       #358
+      010018BCH   LINE      ---      ---       #359
+      010018BCH   LINE      ---      ---       #361
+      010018F8H   LINE      ---      ---       #362
+      010018F8H   LINE      ---      ---       #363
+      010018F8H   LINE      ---      ---       #364
+      010018FEH   LINE      ---      ---       #365
+      01001900H   LINE      ---      ---       #366
+      01001900H   LINE      ---      ---       #367
+      01001906H   LINE      ---      ---       #368
+      01001908H   LINE      ---      ---       #369
+      01001908H   LINE      ---      ---       #370
+      0100190EH   LINE      ---      ---       #371
+      01001910H   LINE      ---      ---       #372
+      01001910H   LINE      ---      ---       #373
+      01001916H   LINE      ---      ---       #374
+      01001918H   LINE      ---      ---       #375
+      01001918H   LINE      ---      ---       #376
+      0100191EH   LINE      ---      ---       #377
+      01001920H   LINE      ---      ---       #378
+      01001920H   LINE      ---      ---       #379
+      01001926H   LINE      ---      ---       #380
+      01001928H   LINE      ---      ---       #381
+      01001928H   LINE      ---      ---       #382
+      0100192EH   LINE      ---      ---       #383
+      01001930H   LINE      ---      ---       #384
+      01001930H   LINE      ---      ---       #385
+      01001936H   LINE      ---      ---       #386
+      01001938H   LINE      ---      ---       #387
+      01001938H   LINE      ---      ---       #388
+      0100193EH   LINE      ---      ---       #389
+      01001940H   LINE      ---      ---       #390
+      01001940H   LINE      ---      ---       #391
+      01001946H   LINE      ---      ---       #392
+      01001948H   LINE      ---      ---       #393
+      01001948H   LINE      ---      ---       #394
+      0100194EH   LINE      ---      ---       #395
+      01001950H   LINE      ---      ---       #396
+      01001950H   LINE      ---      ---       #397
+      01001956H   LINE      ---      ---       #398
+      01001956H   LINE      ---      ---       #399
+      01001956H   LINE      ---      ---       #400
+      01001956H   LINE      ---      ---       #401
+      01001956H   LINE      ---      ---       #402
+      01001956H   LINE      ---      ---       #404
+      0100195BH   LINE      ---      ---       #405
       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
+      01000BA0H   BLOCK     CODE     ---       LVL=0
+      01000BA0H   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
+      01000BABH   BLOCK     CODE     NEAR LAB  LVL=1
+      01000BABH   LINE      ---      ---       #411
+      01000BAEH   LINE      ---      ---       #413
+      01000BBBH   LINE      ---      ---       #414
+      01000BBBH   LINE      ---      ---       #415
+      01000BE6H   LINE      ---      ---       #417
+      01000BE6H   LINE      ---      ---       #418
+      01000BEDH   LINE      ---      ---       #419
+      01000BEDH   LINE      ---      ---       #420
+      01000BF3H   LINE      ---      ---       #421
+      01000BF5H   LINE      ---      ---       #422
+      01000BF9H   LINE      ---      ---       #423
+      01000BF9H   LINE      ---      ---       #424
+      01000BFFH   LINE      ---      ---       #425
+      01000C01H   LINE      ---      ---       #426
+      01000C21H   LINE      ---      ---       #427
+      01000C21H   LINE      ---      ---       #428
+      01000C25H   LINE      ---      ---       #429
+      01000C27H   LINE      ---      ---       #430
+      01000C2BH   LINE      ---      ---       #431
+      01000C2BH   LINE      ---      ---       #432
+      01000C31H   LINE      ---      ---       #433
+      01000C33H   LINE      ---      ---       #434
+      01000C53H   LINE      ---      ---       #435
+      01000C53H   LINE      ---      ---       #436
+      01000C57H   LINE      ---      ---       #437
+      01000C59H   LINE      ---      ---       #438
+      01000C5DH   LINE      ---      ---       #439
+      01000C5DH   LINE      ---      ---       #440
+      01000C63H   LINE      ---      ---       #441
+      01000C65H   LINE      ---      ---       #442
+      01000C85H   LINE      ---      ---       #443
+      01000C85H   LINE      ---      ---       #444
+      01000C89H   LINE      ---      ---       #445
+      01000C8BH   LINE      ---      ---       #446
+      01000C8FH   LINE      ---      ---       #447
+      01000C8FH   LINE      ---      ---       #448
+      01000C95H   LINE      ---      ---       #449
+      01000C97H   LINE      ---      ---       #450
+      01000CB7H   LINE      ---      ---       #451
+      01000CB7H   LINE      ---      ---       #452
+      01000CBCH   LINE      ---      ---       #453
+      01000CBEH   LINE      ---      ---       #454
+      01000CC2H   LINE      ---      ---       #455
+      01000CC2H   LINE      ---      ---       #456
+      01000CC8H   LINE      ---      ---       #457
+      01000CCAH   LINE      ---      ---       #458
+      01000CEAH   LINE      ---      ---       #459
+      01000CEAH   LINE      ---      ---       #460
+      01000CEFH   LINE      ---      ---       #461
+      01000CF1H   LINE      ---      ---       #462
+      01000CF5H   LINE      ---      ---       #463
+      01000CF5H   LINE      ---      ---       #464
+      01000CFBH   LINE      ---      ---       #465
+      01000CFDH   LINE      ---      ---       #466
+      01000D1DH   LINE      ---      ---       #467
+      01000D1DH   LINE      ---      ---       #468
+      01000D23H   LINE      ---      ---       #469
+      01000D25H   LINE      ---      ---       #470
+      01000D29H   LINE      ---      ---       #471
+      01000D29H   LINE      ---      ---       #472
+      01000D2FH   LINE      ---      ---       #473
+      01000D31H   LINE      ---      ---       #474
+      01000D51H   LINE      ---      ---       #475
+      01000D51H   LINE      ---      ---       #476
+      01000D57H   LINE      ---      ---       #477
+      01000D59H   LINE      ---      ---       #478
+      01000D5DH   LINE      ---      ---       #479
+      01000D5DH   LINE      ---      ---       #480
+      01000D63H   LINE      ---      ---       #481
+      01000D65H   LINE      ---      ---       #483
+      01000D85H   LINE      ---      ---       #484
+      01000D85H   LINE      ---      ---       #485
+      01000D8BH   LINE      ---      ---       #486
+      01000D8DH   LINE      ---      ---       #487
+      01000D91H   LINE      ---      ---       #488
+      01000D91H   LINE      ---      ---       #489
+      01000D97H   LINE      ---      ---       #490
+      01000D99H   LINE      ---      ---       #491
+      01000DB9H   LINE      ---      ---       #492
+      01000DB9H   LINE      ---      ---       #493
+      01000DBDH   LINE      ---      ---       #494
+      01000DBFH   LINE      ---      ---       #495
+      01000DC3H   LINE      ---      ---       #496
+      01000DC3H   LINE      ---      ---       #497
+      01000DC9H   LINE      ---      ---       #498
+      01000DC9H   LINE      ---      ---       #500
+      01000DD0H   LINE      ---      ---       #501
+      01000DD0H   LINE      ---      ---       #502
+      01000DF0H   LINE      ---      ---       #503
+      01000DF4H   LINE      ---      ---       #504
+      01000DF4H   LINE      ---      ---       #505
+      01000DF4H   LINE      ---      ---       #506
+      01000DFCH   LINE      ---      ---       #507
       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
+      0100195CH   PUBLIC    CODE     ---       KS_GetCurrentEvt
+      01001B66H   PUBLIC    CODE     ---       _array_is_empty
+      01001CDFH   PUBLIC    CODE     ---       KS_ScanMatrix
+      010014ABH   PUBLIC    CODE     ---       KS_Unistall
+      0100143DH   PUBLIC    CODE     ---       KS_Initialize
+
+      01001B58H   BLOCK     CODE     ---       LVL=0
+      01001B58H   LINE      ---      ---       #24
+      01001B58H   LINE      ---      ---       #25
+      01001B58H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B58H   LINE      ---      ---       #27
+      01001B5DH   LINE      ---      ---       #28
+      01001B60H   LINE      ---      ---       #29
+      01001B63H   LINE      ---      ---       #30
+      01001B65H   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
+      01001BE0H   BLOCK     CODE     ---       LVL=0
+      01001BE0H   LINE      ---      ---       #35
+      01001BE0H   LINE      ---      ---       #36
+      01001BE0H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001BE0H   LINE      ---      ---       #37
+      01001BE2H   LINE      ---      ---       #39
+      01001BEEH   LINE      ---      ---       #40
+      01001BEEH   LINE      ---      ---       #41
+      01001C08H   LINE      ---      ---       #43
+      01001C08H   LINE      ---      ---       #90
+      01001C0AH   LINE      ---      ---       #91
+      01001C0AH   LINE      ---      ---       #92
+      01001C19H   LINE      ---      ---       #93
+      01001C19H   LINE      ---      ---       #94
+      01001C1CH   LINE      ---      ---       #95
+      01001C1CH   LINE      ---      ---       #96
+      01001C23H   LINE      ---      ---       #97
+      01001C2FH   LINE      ---      ---       #98
+      01001C30H   LINE      ---      ---       #99
+      01001C30H   LINE      ---      ---       #100
+      01001C35H   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
+      01001C36H   BLOCK     CODE     ---       LVL=0
+      01001C36H   LINE      ---      ---       #103
+      01001C36H   LINE      ---      ---       #104
+      01001C36H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C36H   LINE      ---      ---       #105
+      01001C38H   LINE      ---      ---       #106
+      01001C39H   LINE      ---      ---       #108
+      01001C47H   LINE      ---      ---       #109
+      01001C47H   LINE      ---      ---       #110
+      01001C4EH   LINE      ---      ---       #111
+      01001C4EH   LINE      ---      ---       #112
+      01001C51H   LINE      ---      ---       #113
+      01001C51H   LINE      ---      ---       #114
+      01001C53H   LINE      ---      ---       #116
+      01001C59H   LINE      ---      ---       #118
+      01001C65H   LINE      ---      ---       #119
+      01001C65H   LINE      ---      ---       #120
+      01001C7FH   LINE      ---      ---       #122
+      01001C7FH   LINE      ---      ---       #166
+      01001C81H   LINE      ---      ---       #167
+      01001C81H   LINE      ---      ---       #168
+      01001C84H   LINE      ---      ---       #169
+      01001C84H   LINE      ---      ---       #170
+      01001C92H   LINE      ---      ---       #171
+      01001C96H   LINE      ---      ---       #172
+      01001CA1H   LINE      ---      ---       #173
+      01001CA1H   LINE      ---      ---       #174
+      01001CA3H   LINE      ---      ---       #175
+      01001CA3H   LINE      ---      ---       #176
+      01001CA5H   LINE      ---      ---       #178
+      01001CA5H   LINE      ---      ---       #179
+      01001CBDH   LINE      ---      ---       #180
+      01001CCAH   LINE      ---      ---       #181
+      01001CCAH   LINE      ---      ---       #182
+      01001CCEH   LINE      ---      ---       #183
+      01001CD9H   LINE      ---      ---       #184
+      01001CD9H   LINE      ---      ---       #185
+      01001CD9H   LINE      ---      ---       #186
+      01001CDEH   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
+      01001716H   BLOCK     CODE     ---       LVL=0
+      01001716H   LINE      ---      ---       #189
+      01001716H   LINE      ---      ---       #190
+      01001716H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001716H   LINE      ---      ---       #191
+      0100171BH   LINE      ---      ---       #193
+      01001726H   LINE      ---      ---       #194
+      0100172AH   LINE      ---      ---       #195
+      01001732H   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
+      01001448H   BLOCK     CODE     ---       LVL=0
+      01001448H   LINE      ---      ---       #198
+      01001448H   LINE      ---      ---       #199
+      01001448H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001448H   LINE      ---      ---       #200
+      0100144DH   LINE      ---      ---       #201
+      01001459H   LINE      ---      ---       #202
+      0100145DH   LINE      ---      ---       #203
+      01001465H   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
+      0100143DH   BLOCK     CODE     ---       LVL=0
+      0100143DH   LINE      ---      ---       #206
+      0100143DH   LINE      ---      ---       #207
+      0100143DH   LINE      ---      ---       #208
+      01001442H   LINE      ---      ---       #209
+      01001444H   LINE      ---      ---       #210
+      01001446H   LINE      ---      ---       #211
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010014ABH   BLOCK     CODE     ---       LVL=0
+      010014ABH   LINE      ---      ---       #215
+      010014ABH   LINE      ---      ---       #216
+      010014ABH   BLOCK     CODE     NEAR LAB  LVL=1
+      010014ABH   LINE      ---      ---       #217
+      010014ADH   LINE      ---      ---       #218
+      010014B1H   LINE      ---      ---       #219
+      010014B2H   LINE      ---      ---       #220
+      010014B3H   LINE      ---      ---       #221
+      010014BAH   LINE      ---      ---       #222
+      010014C3H   LINE      ---      ---       #223
+      010014D3H   LINE      ---      ---       #224
+      010014E6H   LINE      ---      ---       #225
+      010014F3H   LINE      ---      ---       #226
+      01001500H   LINE      ---      ---       #227
+      01001503H   LINE      ---      ---       #229
+      01001506H   LINE      ---      ---       #231
+      0100150EH   LINE      ---      ---       #232
+      01001516H   LINE      ---      ---       #233
+      01001516H   LINE      ---      ---       #234
+      0100151CH   LINE      ---      ---       #235
+      0100151CH   LINE      ---      ---       #236
+      01001520H   LINE      ---      ---       #237
+      01001524H   LINE      ---      ---       #238
+      01001528H   LINE      ---      ---       #239
+      0100152CH   LINE      ---      ---       #240
+      01001530H   LINE      ---      ---       #241
+      01001534H   LINE      ---      ---       #242
+      01001538H   LINE      ---      ---       #243
+      0100153CH   LINE      ---      ---       #244
+      0100153CH   LINE      ---      ---       #246
+      0100153CH   LINE      ---      ---       #247
+      01001545H   LINE      ---      ---       #248
+      0100154BH   LINE      ---      ---       #249
+      0100154BH   LINE      ---      ---       #251
+      0100154CH   LINE      ---      ---       #253
+      0100154CH   LINE      ---      ---       #254
+      01001551H   LINE      ---      ---       #255
+      01001555H   LINE      ---      ---       #256
+      01001555H   LINE      ---      ---       #257
       00000007H   SYMBOL    DATA     VOID      i
       02004E92H   SYMBOL    XDATA    VOID      temp
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1280,33 +1290,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
+      01001CDFH   BLOCK     CODE     ---       LVL=0
+      01001CDFH   LINE      ---      ---       #260
+      01001CDFH   LINE      ---      ---       #261
+      01001CDFH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001CDFH   LINE      ---      ---       #262
+      01001CE1H   LINE      ---      ---       #263
+      01001CE5H   LINE      ---      ---       #264
+      01001CE6H   LINE      ---      ---       #265
+      01001CE7H   LINE      ---      ---       #266
+      01001CE9H   LINE      ---      ---       #267
+      01001CEBH   LINE      ---      ---       #268
+      01001CEDH   LINE      ---      ---       #269
+      01001CF4H   LINE      ---      ---       #270
+      01001CFDH   LINE      ---      ---       #271
+      01001D0DH   LINE      ---      ---       #272
+      01001D6DH   LINE      ---      ---       #273
+      01001D70H   LINE      ---      ---       #275
+      01001D79H   LINE      ---      ---       #276
+      01001D82H   LINE      ---      ---       #277
+      01001D92H   LINE      ---      ---       #278
+      01001DF2H   LINE      ---      ---       #279
+      01001DF5H   LINE      ---      ---       #281
+      01001DFEH   LINE      ---      ---       #282
+      01001E18H   LINE      ---      ---       #283
+      01001E3BH   LINE      ---      ---       #284
+      01001E3BH   LINE      ---      ---       #285
+      01001E3EH   LINE      ---      ---       #286
       00000007H   SYMBOL    DATA     VOID      i
       02004E69H   SYMBOL    XDATA    VOID      j
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1317,109 +1327,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
+      01001B66H   BLOCK     CODE     ---       LVL=0
+      01001B66H   LINE      ---      ---       #288
+      01001B71H   LINE      ---      ---       #289
+      01001B71H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B71H   LINE      ---      ---       #291
+      01001B78H   LINE      ---      ---       #292
+      01001B78H   LINE      ---      ---       #293
+      01001B8DH   LINE      ---      ---       #294
+      01001B90H   LINE      ---      ---       #295
+      01001B93H   LINE      ---      ---       #296
+      01001B95H   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
+      0100195CH   BLOCK     CODE     ---       LVL=0
+      0100195CH   LINE      ---      ---       #300
+      0100195CH   LINE      ---      ---       #301
+      0100195CH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100195CH   LINE      ---      ---       #303
+      01001961H   LINE      ---      ---       #304
+      01001963H   LINE      ---      ---       #305
+      01001965H   LINE      ---      ---       #306
+      01001967H   LINE      ---      ---       #307
+      01001969H   LINE      ---      ---       #308
+      0100196BH   LINE      ---      ---       #309
+      0100196DH   LINE      ---      ---       #310
+      0100196FH   LINE      ---      ---       #311
+      01001971H   LINE      ---      ---       #312
+      01001973H   LINE      ---      ---       #313
+      01001975H   LINE      ---      ---       #314
+      01001977H   LINE      ---      ---       #315
+      01001979H   LINE      ---      ---       #316
+      0100197BH   LINE      ---      ---       #318
+      0100197DH   LINE      ---      ---       #320
+      010019ABH   LINE      ---      ---       #322
+      010019ABH   LINE      ---      ---       #323
+      010019B2H   LINE      ---      ---       #324
+      010019B4H   LINE      ---      ---       #326
+      010019B4H   LINE      ---      ---       #327
+      010019BBH   LINE      ---      ---       #328
+      010019C0H   LINE      ---      ---       #329
+      010019C0H   LINE      ---      ---       #331
+      010019D0H   LINE      ---      ---       #332
+      010019DFH   LINE      ---      ---       #333
+      010019E3H   LINE      ---      ---       #334
+      010019E9H   LINE      ---      ---       #335
+      010019EFH   LINE      ---      ---       #336
+      010019F7H   LINE      ---      ---       #337
+      010019F7H   LINE      ---      ---       #338
+      010019FFH   LINE      ---      ---       #339
+      01001A07H   LINE      ---      ---       #340
+      01001A0FH   LINE      ---      ---       #341
+      01001A1BH   LINE      ---      ---       #342
+      01001A3AH   LINE      ---      ---       #343
+      01001A40H   LINE      ---      ---       #344
+      01001A42H   LINE      ---      ---       #345
+      01001A42H   LINE      ---      ---       #346
+      01001A47H   LINE      ---      ---       #347
+      01001A47H   LINE      ---      ---       #349
+      01001A59H   LINE      ---      ---       #350
+      01001A59H   LINE      ---      ---       #351
+      01001A75H   LINE      ---      ---       #352
+      01001A88H   LINE      ---      ---       #353
+      01001A8EH   LINE      ---      ---       #354
+      01001A8EH   LINE      ---      ---       #355
+      01001A90H   LINE      ---      ---       #356
+      01001A92H   LINE      ---      ---       #358
+      01001A92H   LINE      ---      ---       #360
+      01001A98H   LINE      ---      ---       #361
+      01001A9FH   LINE      ---      ---       #362
+      01001AB7H   LINE      ---      ---       #363
+      01001AC6H   LINE      ---      ---       #364
+      01001AC6H   LINE      ---      ---       #365
+      01001ACBH   LINE      ---      ---       #366
+      01001ACBH   LINE      ---      ---       #367
+      01001ADCH   LINE      ---      ---       #368
+      01001AEFH   LINE      ---      ---       #369
+      01001AF6H   LINE      ---      ---       #370
+      01001AF6H   LINE      ---      ---       #371
+      01001AFDH   LINE      ---      ---       #372
+      01001AFFH   LINE      ---      ---       #374
+      01001AFFH   LINE      ---      ---       #375
+      01001B06H   LINE      ---      ---       #376
+      01001B06H   LINE      ---      ---       #377
+      01001B06H   LINE      ---      ---       #378
+      01001B0EH   LINE      ---      ---       #379
+      01001B16H   LINE      ---      ---       #380
+      01001B1EH   LINE      ---      ---       #381
+      01001B24H   LINE      ---      ---       #382
+      01001B24H   LINE      ---      ---       #383
+      01001B2CH   LINE      ---      ---       #385
+      01001B3AH   LINE      ---      ---       #386
+      01001B3AH   LINE      ---      ---       #387
+      01001B3DH   LINE      ---      ---       #388
+      01001B3DH   LINE      ---      ---       #391
+      01001B4AH   LINE      ---      ---       #392
+      01001B4AH   LINE      ---      ---       #393
+      01001B51H   LINE      ---      ---       #394
+      01001B51H   LINE      ---      ---       #396
+      01001B51H   LINE      ---      ---       #397
+      01001B57H   LINE      ---      ---       #398
+      01001B57H   LINE      ---      ---       #401
       02004E12H   SYMBOL    XDATA    VOID      i
       02004E13H   SYMBOL    XDATA    VOID      j
       02004E14H   SYMBOL    XDATA    VOID      temp
@@ -1439,15 +1449,15 @@
 
       ---         MODULE    ---      ---       LED
       010006CFH   PUBLIC    CODE     ---       LED_handle
-      010013F7H   PUBLIC    CODE     ---       LED_all_shutdown
+      0100140BH   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
+      0100140BH   BLOCK     CODE     ---       LVL=0
+      0100140BH   LINE      ---      ---       #4
+      0100140BH   LINE      ---      ---       #5
+      0100140BH   LINE      ---      ---       #6
+      01001411H   LINE      ---      ---       #7
+      01001417H   LINE      ---      ---       #8
+      0100141DH   LINE      ---      ---       #9
       ---         BLOCKEND  ---      ---       LVL=0
 
       010006CFH   BLOCK     CODE     ---       LVL=0
@@ -1513,66 +1523,66 @@
       ---         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
+      01001466H   PUBLIC    CODE     ---       YC_System_Main
+      010010F1H   PUBLIC    CODE     ---       kb_button_press_timer500ms
+      0100177FH   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
+      01001E5AH   PUBLIC    CODE     ---       YC_connect_timeout_500ms
       01000796H   PUBLIC    CODE     ---       LED_timer500ms
-      01001E87H   PUBLIC    CODE     ---       System_Reset_Connect
+      01001E48H   PUBLIC    CODE     ---       System_Reset_Connect
       010007F1H   PUBLIC    CODE     ---       System_long_sleep
-      01000FC5H   PUBLIC    CODE     ---       System_Software_init
+      01001733H   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
+      01000E44H   BLOCK     CODE     ---       LVL=0
+      01000E44H   LINE      ---      ---       #11
+      01000E44H   LINE      ---      ---       #12
+      01000E44H   LINE      ---      ---       #13
+      01000E50H   LINE      ---      ---       #14
+      01000E5CH   LINE      ---      ---       #15
+      01000E68H   LINE      ---      ---       #16
+      01000E74H   LINE      ---      ---       #17
+      01000E80H   LINE      ---      ---       #18
+      01000E8CH   LINE      ---      ---       #20
+      01000E91H   LINE      ---      ---       #21
+      01000E95H   LINE      ---      ---       #24
+      01000E99H   LINE      ---      ---       #25
+      01000E9DH   LINE      ---      ---       #26
+      01000EA1H   LINE      ---      ---       #27
+      01000EA5H   LINE      ---      ---       #28
+      01000EA9H   LINE      ---      ---       #29
+      01000EADH   LINE      ---      ---       #30
+      01000EB1H   LINE      ---      ---       #31
+      01000EB5H   LINE      ---      ---       #32
+      01000EB9H   LINE      ---      ---       #33
+      01000EBDH   LINE      ---      ---       #34
+      01000EC1H   LINE      ---      ---       #36
+      01000EC5H   LINE      ---      ---       #37
+      01000EC9H   LINE      ---      ---       #38
+      01000ECDH   LINE      ---      ---       #39
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001409H   BLOCK     CODE     ---       LVL=0
+      01001409H   LINE      ---      ---       #41
+      01001409H   LINE      ---      ---       #42
+      01001409H   LINE      ---      ---       #43
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001733H   BLOCK     CODE     ---       LVL=0
+      01001733H   LINE      ---      ---       #48
+      01001733H   LINE      ---      ---       #49
+      01001733H   LINE      ---      ---       #50
+      01001736H   LINE      ---      ---       #51
+      01001739H   LINE      ---      ---       #52
+      0100173FH   LINE      ---      ---       #53
+      01001745H   LINE      ---      ---       #54
+      0100174AH   LINE      ---      ---       #55
+      01001750H   LINE      ---      ---       #56
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001E3FH   BLOCK     CODE     ---       LVL=0
+      01001E3FH   LINE      ---      ---       #58
+      01001E3FH   LINE      ---      ---       #59
+      01001E3FH   LINE      ---      ---       #60
+      01001E45H   LINE      ---      ---       #61
       ---         BLOCKEND  ---      ---       LVL=0
 
       010007F1H   BLOCK     CODE     ---       LVL=0
@@ -1582,81 +1592,81 @@
       010007F6H   LINE      ---      ---       #67
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001E87H   BLOCK     CODE     ---       LVL=0
-      01001E87H   LINE      ---      ---       #70
-      01001E87H   LINE      ---      ---       #71
-      01001E87H   LINE      ---      ---       #72
+      01001E48H   BLOCK     CODE     ---       LVL=0
+      01001E48H   LINE      ---      ---       #70
+      01001E48H   LINE      ---      ---       #71
+      01001E48H   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
+      01001E4AH   BLOCK     CODE     ---       LVL=0
+      01001E4AH   LINE      ---      ---       #80
+      01001E4FH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001E4FH   LINE      ---      ---       #82
+      01001E59H   LINE      ---      ---       #84
+      01001E59H   LINE      ---      ---       #86
+      01001E59H   LINE      ---      ---       #87
       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
+      0100118DH   BLOCK     CODE     ---       LVL=0
+      0100118DH   LINE      ---      ---       #89
+      01001192H   LINE      ---      ---       #90
+      01001192H   LINE      ---      ---       #91
+      010011ABH   LINE      ---      ---       #92
+      010011ABH   LINE      ---      ---       #93
+      010011ABH   LINE      ---      ---       #97
+      010011ABH   LINE      ---      ---       #98
+      010011ADH   LINE      ---      ---       #99
+      010011AFH   LINE      ---      ---       #100
+      010011BFH   LINE      ---      ---       #101
+      010011C3H   LINE      ---      ---       #102
+      010011D6H   LINE      ---      ---       #103
+      010011DAH   LINE      ---      ---       #104
+      010011DCH   LINE      ---      ---       #105
+      010011DCH   LINE      ---      ---       #106
+      010011DCH   LINE      ---      ---       #107
+      010011DEH   LINE      ---      ---       #108
+      010011DEH   LINE      ---      ---       #112
+      010011DEH   LINE      ---      ---       #113
+      010011DEH   LINE      ---      ---       #114
+      010011E4H   LINE      ---      ---       #115
+      010011E7H   LINE      ---      ---       #116
+      010011E9H   LINE      ---      ---       #117
+      010011EEH   LINE      ---      ---       #118
+      010011F2H   LINE      ---      ---       #119
+      010011F8H   LINE      ---      ---       #120
+      010011FCH   LINE      ---      ---       #122
+      01001204H   LINE      ---      ---       #123
+      01001204H   LINE      ---      ---       #124
+      0100120AH   LINE      ---      ---       #125
+      01001221H   LINE      ---      ---       #127
+      01001227H   LINE      ---      ---       #128
+      01001228H   LINE      ---      ---       #130
+      01001228H   LINE      ---      ---       #131
+      0100122EH   LINE      ---      ---       #132
+      01001235H   LINE      ---      ---       #133
+      01001235H   LINE      ---      ---       #134
+      01001235H   LINE      ---      ---       #136
+      01001235H   LINE      ---      ---       #137
+      0100123AH   LINE      ---      ---       #138
+      0100123CH   LINE      ---      ---       #139
+      01001242H   LINE      ---      ---       #140
+      01001247H   LINE      ---      ---       #142
+      0100124DH   LINE      ---      ---       #143
+      0100124DH   LINE      ---      ---       #144
+      0100124FH   LINE      ---      ---       #145
+      01001256H   LINE      ---      ---       #146
+      01001256H   LINE      ---      ---       #147
+      01001256H   LINE      ---      ---       #149
+      0100125DH   LINE      ---      ---       #150
+      0100125DH   LINE      ---      ---       #151
+      0100125FH   LINE      ---      ---       #152
+      01001262H   LINE      ---      ---       #153
+      01001262H   LINE      ---      ---       #154
+      01001262H   LINE      ---      ---       #155
+      01001262H   LINE      ---      ---       #156
+      01001262H   LINE      ---      ---       #157
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000796H   BLOCK     CODE     ---       LVL=0
@@ -1691,269 +1701,269 @@
       010007F0H   LINE      ---      ---       #197
       ---         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
+      01001E5AH   BLOCK     CODE     ---       LVL=0
+      01001E5AH   LINE      ---      ---       #199
+      01001E5AH   LINE      ---      ---       #200
+      01001E5AH   LINE      ---      ---       #203
+      01001E61H   LINE      ---      ---       #204
+      01001E61H   LINE      ---      ---       #205
+      01001E6FH   LINE      ---      ---       #206
+      01001E72H   LINE      ---      ---       #207
+      01001E72H   LINE      ---      ---       #208
+      01001E79H   LINE      ---      ---       #209
+      01001E79H   LINE      ---      ---       #210
+      01001E85H   LINE      ---      ---       #211
+      01001E85H   LINE      ---      ---       #212
+      01001E8AH   LINE      ---      ---       #213
+      01001E8DH   LINE      ---      ---       #214
+      01001E8DH   LINE      ---      ---       #215
+      01001E8DH   LINE      ---      ---       #217
+      01001E8DH   LINE      ---      ---       #218
+      01001E99H   LINE      ---      ---       #219
+      01001E99H   LINE      ---      ---       #220
+      01001E9CH   LINE      ---      ---       #221
+      01001E9CH   LINE      ---      ---       #222
+      01001E9CH   LINE      ---      ---       #223
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100177FH   BLOCK     CODE     ---       LVL=0
+      0100177FH   LINE      ---      ---       #227
+      0100177FH   LINE      ---      ---       #228
+      0100177FH   LINE      ---      ---       #230
+      01001785H   LINE      ---      ---       #231
+      01001785H   LINE      ---      ---       #232
+      0100178CH   LINE      ---      ---       #233
+      01001792H   LINE      ---      ---       #234
+      01001795H   LINE      ---      ---       #235
+      01001795H   LINE      ---      ---       #236
+      0100179AH   LINE      ---      ---       #237
+      0100179EH   LINE      ---      ---       #238
+      010017A1H   LINE      ---      ---       #239
+      010017A1H   LINE      ---      ---       #240
+      010017A1H   LINE      ---      ---       #241
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010010F1H   BLOCK     CODE     ---       LVL=0
+      010010F1H   LINE      ---      ---       #243
+      010010F1H   LINE      ---      ---       #244
+      010010F1H   LINE      ---      ---       #247
+      010010F8H   LINE      ---      ---       #248
+      010010F8H   LINE      ---      ---       #249
+      01001101H   LINE      ---      ---       #250
+      01001104H   LINE      ---      ---       #251
+      0100110CH   LINE      ---      ---       #252
+      0100110CH   LINE      ---      ---       #253
+      01001112H   LINE      ---      ---       #254
+      01001118H   LINE      ---      ---       #255
+      01001118H   LINE      ---      ---       #256
+      0100111DH   LINE      ---      ---       #257
+      0100111FH   LINE      ---      ---       #258
+      01001126H   LINE      ---      ---       #259
+      01001126H   LINE      ---      ---       #260
+      0100112CH   LINE      ---      ---       #261
+      01001131H   LINE      ---      ---       #262
+      01001134H   LINE      ---      ---       #263
+      01001134H   LINE      ---      ---       #264
+      01001134H   LINE      ---      ---       #265
+      01001136H   LINE      ---      ---       #267
+      0100113BH   LINE      ---      ---       #269
+      01001142H   LINE      ---      ---       #270
+      01001142H   LINE      ---      ---       #271
+      01001148H   LINE      ---      ---       #272
+      01001151H   LINE      ---      ---       #273
+      01001154H   LINE      ---      ---       #274
+      0100115BH   LINE      ---      ---       #275
+      0100115BH   LINE      ---      ---       #276
+      01001165H   LINE      ---      ---       #277
+      01001165H   LINE      ---      ---       #278
+      01001167H   LINE      ---      ---       #279
+      0100116BH   LINE      ---      ---       #280
+      0100116FH   LINE      ---      ---       #281
+      0100116FH   LINE      ---      ---       #282
+      0100116FH   LINE      ---      ---       #283
+      0100116FH   LINE      ---      ---       #285
+      01001174H   LINE      ---      ---       #287
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001767H   BLOCK     CODE     ---       LVL=0
+      01001767H   LINE      ---      ---       #291
+      01001767H   LINE      ---      ---       #292
+      01001767H   LINE      ---      ---       #293
+      0100176AH   LINE      ---      ---       #295
+      01001778H   LINE      ---      ---       #297
+      0100177AH   LINE      ---      ---       #298
+      0100177DH   LINE      ---      ---       #299
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001E9DH   BLOCK     CODE     ---       LVL=0
+      01001E9DH   LINE      ---      ---       #306
+      01001E9DH   LINE      ---      ---       #307
+      01001E9DH   LINE      ---      ---       #309
+      01001EA3H   LINE      ---      ---       #310
+      01001EA3H   LINE      ---      ---       #311
+      01001EA5H   LINE      ---      ---       #312
+      01001EA5H   LINE      ---      ---       #314
+      01001EABH   LINE      ---      ---       #315
+      01001EADH   LINE      ---      ---       #317
+      01001EB3H   LINE      ---      ---       #318
+      01001EB3H   LINE      ---      ---       #319
+      01001EB5H   LINE      ---      ---       #320
+      01001EBCH   LINE      ---      ---       #321
+      01001EC2H   LINE      ---      ---       #322
+      01001EC2H   LINE      ---      ---       #323
+      01001EC9H   LINE      ---      ---       #324
+      01001EC9H   LINE      ---      ---       #325
+      01001ECBH   LINE      ---      ---       #327
+      01001ED1H   LINE      ---      ---       #328
+      01001ED1H   LINE      ---      ---       #329
+      01001ED7H   LINE      ---      ---       #330
+      01001ED7H   LINE      ---      ---       #331
+      01001ED9H   LINE      ---      ---       #332
+      01001EDDH   LINE      ---      ---       #333
+      01001EDDH   LINE      ---      ---       #334
+      01001EE4H   LINE      ---      ---       #335
+      01001EE6H   LINE      ---      ---       #337
+      01001EEDH   LINE      ---      ---       #338
+      01001EF3H   LINE      ---      ---       #339
+      01001EF6H   LINE      ---      ---       #340
+      01001EF6H   LINE      ---      ---       #341
+      01001EF6H   LINE      ---      ---       #344
+      01001EFCH   LINE      ---      ---       #345
+      01001EFCH   LINE      ---      ---       #346
+      01001F04H   LINE      ---      ---       #347
+      01001F04H   LINE      ---      ---       #348
+      01001F05H   LINE      ---      ---       #350
+      01001F0BH   LINE      ---      ---       #351
+      01001F0BH   LINE      ---      ---       #352
+      01001F16H   LINE      ---      ---       #353
+      01001F18H   LINE      ---      ---       #354
+      01001F1EH   LINE      ---      ---       #355
+      01001F1EH   LINE      ---      ---       #357
+      01001F29H   LINE      ---      ---       #358
+      01001F29H   LINE      ---      ---       #359
+      01001F29H   LINE      ---      ---       #360
+      01001F29H   LINE      ---      ---       #362
+      01001F2FH   LINE      ---      ---       #363
+      01001F32H   LINE      ---      ---       #364
+      01001F32H   LINE      ---      ---       #365
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001602H   BLOCK     CODE     ---       LVL=0
+      01001602H   LINE      ---      ---       #379
+      01001602H   LINE      ---      ---       #380
+      01001602H   LINE      ---      ---       #381
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001466H   BLOCK     CODE     ---       LVL=0
+      01001466H   LINE      ---      ---       #386
+      01001466H   LINE      ---      ---       #387
+      01001466H   LINE      ---      ---       #388
+      01001468H   LINE      ---      ---       #389
+      01001468H   LINE      ---      ---       #390
+      0100146BH   LINE      ---      ---       #391
+      0100146EH   LINE      ---      ---       #392
+      01001470H   LINE      ---      ---       #393
+      01001473H   LINE      ---      ---       #395
+      0100147EH   LINE      ---      ---       #396
+      0100147EH   LINE      ---      ---       #397
+      01001480H   LINE      ---      ---       #399
+      01001482H   LINE      ---      ---       #400
+      01001484H   LINE      ---      ---       #401
+      01001486H   LINE      ---      ---       #402
+      01001486H   LINE      ---      ---       #404
+      01001486H   LINE      ---      ---       #405
+      0100149EH   LINE      ---      ---       #407
+      0100149EH   LINE      ---      ---       #408
+      010014A0H   LINE      ---      ---       #409
+      010014A2H   LINE      ---      ---       #410
+      010014A2H   LINE      ---      ---       #412
+      010014A2H   LINE      ---      ---       #413
+      010014A4H   LINE      ---      ---       #414
+      010014A6H   LINE      ---      ---       #415
+      010014A8H   LINE      ---      ---       #416
+      010014A8H   LINE      ---      ---       #417
+      010014A8H   LINE      ---      ---       #418
       ---         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
+      010017A2H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      01001FF7H   PUBLIC    CODE     ---       YC_adc_check
+      01001F33H   PUBLIC    CODE     ---       YC_adc_init
+
+      01001F33H   BLOCK     CODE     ---       LVL=0
+      01001F33H   LINE      ---      ---       #3
+      01001F33H   LINE      ---      ---       #4
+      01001F33H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001F33H   LINE      ---      ---       #8
+      01001F39H   LINE      ---      ---       #9
+      01001F3CH   LINE      ---      ---       #29
+      01001F42H   LINE      ---      ---       #30
+      01001F44H   LINE      ---      ---       #31
+      01001F44H   LINE      ---      ---       #32
+      01001F55H   LINE      ---      ---       #33
+      01001F5AH   LINE      ---      ---       #34
+      01001FA8H   LINE      ---      ---       #35
+      01001FF6H   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
+      01001FF7H   BLOCK     CODE     ---       LVL=0
+      01001FF7H   LINE      ---      ---       #40
+      01001FF7H   LINE      ---      ---       #41
+      01001FF7H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001FF7H   LINE      ---      ---       #44
+      01002001H   LINE      ---      ---       #46
+      01002021H   LINE      ---      ---       #47
+      0100202AH   LINE      ---      ---       #48
+      0100202CH   LINE      ---      ---       #49
+      01002031H   LINE      ---      ---       #50
+      01002031H   LINE      ---      ---       #51
+      01002068H   LINE      ---      ---       #52
+      01002072H   LINE      ---      ---       #53
+      0100208FH   LINE      ---      ---       #55
+      010020A4H   LINE      ---      ---       #56
+      010020A4H   LINE      ---      ---       #57
+      010020AAH   LINE      ---      ---       #58
+      010020ABH   LINE      ---      ---       #60
+      010020ABH   LINE      ---      ---       #61
+      010020CAH   LINE      ---      ---       #62
+      010020CAH   LINE      ---      ---       #63
+      010020D0H   LINE      ---      ---       #64
+      010020D6H   LINE      ---      ---       #65
+      010020D7H   LINE      ---      ---       #67
+      010020D7H   LINE      ---      ---       #68
+      010020DCH   LINE      ---      ---       #69
+      010020E2H   LINE      ---      ---       #70
+      010020E2H   LINE      ---      ---       #71
+      010020E2H   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
+      010017A2H   BLOCK     CODE     ---       LVL=0
+      010017A2H   LINE      ---      ---       #76
+      010017A2H   LINE      ---      ---       #77
+      010017A2H   LINE      ---      ---       #80
+      010017A8H   LINE      ---      ---       #81
+      010017A8H   LINE      ---      ---       #82
+      010017AAH   LINE      ---      ---       #83
+      010017ADH   LINE      ---      ---       #84
+      010017ADH   LINE      ---      ---       #85
+      010017B0H   LINE      ---      ---       #86
+      010017B3H   LINE      ---      ---       #87
+      010017B3H   LINE      ---      ---       #88
+      010017B3H   LINE      ---      ---       #90
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      0100171FH   PUBLIC    CODE     ---       main
+      01001751H   PUBLIC    CODE     ---       main
 
-      0100171FH   BLOCK     CODE     ---       LVL=0
-      0100171FH   LINE      ---      ---       #5
-      0100171FH   LINE      ---      ---       #6
-      0100171FH   LINE      ---      ---       #7
+      01001751H   BLOCK     CODE     ---       LVL=0
+      01001751H   LINE      ---      ---       #5
+      01001751H   LINE      ---      ---       #6
+      01001751H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
@@ -1967,36 +1977,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
+      0100218DH   PUBLIC    CODE     ---       IPC_DealSingleStep
+      01002262H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      0100175BH   PUBLIC    CODE     ---       IPC_AbandonLpm
+      010015F5H   PUBLIC    CODE     ---       IPC_WaitLpm
+      01001608H   PUBLIC    CODE     ---       _IPC_Initialize
+      0100225CH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01002253H   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
+      010020E3H   BLOCK     CODE     ---       LVL=0
+      010020E3H   LINE      ---      ---       #44
+      010020F3H   LINE      ---      ---       #45
+      010020F3H   LINE      ---      ---       #46
+      0100213CH   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100213DH   BLOCK     CODE     ---       LVL=0
+      0100213DH   LINE      ---      ---       #49
+      01002147H   LINE      ---      ---       #50
+      01002147H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002147H   LINE      ---      ---       #51
+      0100214FH   LINE      ---      ---       #52
+      01002155H   LINE      ---      ---       #53
+      01002174H   LINE      ---      ---       #54
+      0100217EH   LINE      ---      ---       #55
+      01002182H   LINE      ---      ---       #56
+      01002182H   LINE      ---      ---       #57
+      01002184H   LINE      ---      ---       #58
+      0100218CH   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2038,100 +2048,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
+      01002253H   BLOCK     CODE     ---       LVL=0
+      01002253H   LINE      ---      ---       #90
+      01002253H   LINE      ---      ---       #91
+      01002253H   LINE      ---      ---       #92
+      01002259H   LINE      ---      ---       #93
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100225CH   BLOCK     CODE     ---       LVL=0
+      0100225CH   LINE      ---      ---       #98
+      0100225CH   LINE      ---      ---       #99
+      0100225CH   LINE      ---      ---       #100
+      01002261H   LINE      ---      ---       #101
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001608H   BLOCK     CODE     ---       LVL=0
+      01001608H   LINE      ---      ---       #103
+      01001608H   LINE      ---      ---       #104
+      01001608H   LINE      ---      ---       #105
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010015F5H   BLOCK     CODE     ---       LVL=0
+      010015F5H   LINE      ---      ---       #108
+      010015F5H   LINE      ---      ---       #109
+      010015F5H   LINE      ---      ---       #110
+      010015FAH   LINE      ---      ---       #111
+      010015FEH   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100175BH   BLOCK     CODE     ---       LVL=0
+      0100175BH   LINE      ---      ---       #115
+      0100175BH   LINE      ---      ---       #116
+      0100175BH   LINE      ---      ---       #117
+      01001761H   LINE      ---      ---       #118
+      01001766H   LINE      ---      ---       #119
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002262H   BLOCK     CODE     ---       LVL=0
+      01002262H   LINE      ---      ---       #121
+      01002262H   LINE      ---      ---       #122
+      01002262H   LINE      ---      ---       #123
+      01002276H   LINE      ---      ---       #124
+      01002278H   LINE      ---      ---       #125
+      01002279H   LINE      ---      ---       #126
       ---         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
+      0100218DH   BLOCK     CODE     ---       LVL=0
+      0100218DH   LINE      ---      ---       #129
+      0100218DH   LINE      ---      ---       #130
+      0100218DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100218DH   LINE      ---      ---       #131
+      0100219FH   LINE      ---      ---       #132
+      010021B3H   LINE      ---      ---       #133
+      010021B3H   LINE      ---      ---       #134
+      010021BBH   LINE      ---      ---       #135
+      010021CCH   LINE      ---      ---       #136
+      010021D6H   LINE      ---      ---       #137
+      010021F5H   LINE      ---      ---       #138
+      010021F7H   LINE      ---      ---       #139
+      010021F7H   LINE      ---      ---       #140
+      010021F9H   LINE      ---      ---       #141
+      010021F9H   LINE      ---      ---       #142
+      010021F9H   LINE      ---      ---       #143
+      0100220DH   LINE      ---      ---       #144
+      0100221BH   LINE      ---      ---       #146
+      0100221EH   LINE      ---      ---       #148
+      0100222DH   LINE      ---      ---       #149
+      0100222FH   LINE      ---      ---       #150
+      01002239H   LINE      ---      ---       #151
+      01002247H   LINE      ---      ---       #153
+      0100224AH   LINE      ---      ---       #155
+      01002250H   LINE      ---      ---       #156
+      01002252H   LINE      ---      ---       #158
+      010021F9H   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
+      01001B96H   PUBLIC    CODE     ---       _compare_str
+      01001175H   PUBLIC    CODE     ---       _Delay1ms
+      01002360H   PUBLIC    CODE     ---       _xmemclear_ff
+      01000E18H   PUBLIC    CODE     ---       _xmemclear
       02004E29H   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      010022B0H   PUBLIC    CODE     ---       _dmemcpy
+      01002281H   PUBLIC    CODE     ---       _dmemcpy
       02004E4CH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       010008DAH   PUBLIC    CODE     ---       _xmemcpy
-      010022A9H   PUBLIC    CODE     ---       YC_Ice_break
+      0100227AH   PUBLIC    CODE     ---       YC_Ice_break
 
-      010022A9H   BLOCK     CODE     ---       LVL=0
-      010022A9H   LINE      ---      ---       #3
-      010022A9H   LINE      ---      ---       #4
-      010022A9H   LINE      ---      ---       #5
-      010022AFH   LINE      ---      ---       #7
+      0100227AH   BLOCK     CODE     ---       LVL=0
+      0100227AH   LINE      ---      ---       #3
+      0100227AH   LINE      ---      ---       #4
+      0100227AH   LINE      ---      ---       #5
+      01002280H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       010008DAH   BLOCK     CODE     ---       LVL=0
@@ -2142,52 +2152,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
+      01002281H   BLOCK     CODE     ---       LVL=0
+      01002281H   LINE      ---      ---       #16
+      0100228CH   LINE      ---      ---       #17
+      0100228CH   LINE      ---      ---       #18
+      0100229AH   LINE      ---      ---       #19
+      010022C4H   LINE      ---      ---       #21
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000E18H   BLOCK     CODE     ---       LVL=0
+      01000E18H   LINE      ---      ---       #23
+      01000E23H   LINE      ---      ---       #24
+      01000E23H   LINE      ---      ---       #25
+      01000E2DH   LINE      ---      ---       #26
+      01000E43H   LINE      ---      ---       #28
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002360H   BLOCK     CODE     ---       LVL=0
+      01002360H   LINE      ---      ---       #30
+      0100236BH   LINE      ---      ---       #31
+      0100236BH   LINE      ---      ---       #32
+      01002375H   LINE      ---      ---       #33
+      0100238CH   LINE      ---      ---       #35
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001175H   BLOCK     CODE     ---       LVL=0
+      01001175H   LINE      ---      ---       #46
+      01001175H   LINE      ---      ---       #47
+      01001175H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001175H   LINE      ---      ---       #49
+      0100117BH   LINE      ---      ---       #50
+      01001189H   LINE      ---      ---       #51
+      0100118CH   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
+      01001B96H   BLOCK     CODE     ---       LVL=0
+      01001B96H   LINE      ---      ---       #54
+      01001BA1H   LINE      ---      ---       #55
+      01001BA1H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001BA1H   LINE      ---      ---       #57
+      01001BADH   LINE      ---      ---       #58
+      01001BD7H   LINE      ---      ---       #59
+      01001BDAH   LINE      ---      ---       #60
+      01001BDDH   LINE      ---      ---       #61
+      01001BDFH   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2195,63 +2205,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
+      010023CCH   PUBLIC    CODE     ---       GPIO_fillpd
+      010017B4H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
+      01001556H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
+      0100238DH   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
-      01001555H   PUBLIC    CODE     ---       _GPIO_SetWakeup
+      01001569H   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
-      0100140DH   PUBLIC    CODE     ---       _GPIO_SetOutput
+      01001421H   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
-      01001661H   PUBLIC    CODE     ---       _GPIO_SetInput
+      01001675H   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      0100167FH   PUBLIC    CODE     ---       _GPIO_Setoe
+      01001693H   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      01001690H   PUBLIC    CODE     ---       _GPIO_SetPd
+      010016A4H   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      01001650H   PUBLIC    CODE     ---       _GPIO_SetPu
+      01001664H   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
       01000784H   PUBLIC    CODE     ---       _GPIO_Setout
-      01001601H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      01001615H   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
+      010016B5H   BLOCK     CODE     ---       LVL=0
+      010016B5H   LINE      ---      ---       #9
+      010016C0H   LINE      ---      ---       #10
+      010016C0H   BLOCK     CODE     NEAR LAB  LVL=1
+      010016C0H   LINE      ---      ---       #11
+      010016C2H   LINE      ---      ---       #12
+      010016C3H   LINE      ---      ---       #14
+      010016C7H   LINE      ---      ---       #15
+      010016CEH   LINE      ---      ---       #17
+      010016D1H   LINE      ---      ---       #18
+      010016F3H   LINE      ---      ---       #19
+      010016F3H   LINE      ---      ---       #21
+      010016F3H   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
+      0100161BH   BLOCK     CODE     ---       LVL=0
+      0100161BH   LINE      ---      ---       #26
+      0100161DH   LINE      ---      ---       #27
+      0100161DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100161DH   LINE      ---      ---       #28
+      01001622H   LINE      ---      ---       #29
+      01001623H   LINE      ---      ---       #31
+      01001627H   LINE      ---      ---       #32
+      0100162EH   LINE      ---      ---       #33
+      01001659H   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
+      01001615H   BLOCK     CODE     ---       LVL=0
+      01001615H   LINE      ---      ---       #37
+      01001615H   LINE      ---      ---       #38
+      01001615H   LINE      ---      ---       #39
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000784H   BLOCK     CODE     ---       LVL=0
@@ -2262,181 +2272,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
+      01001664H   BLOCK     CODE     ---       LVL=0
+      01001664H   LINE      ---      ---       #49
+      01001664H   LINE      ---      ---       #50
+      01001664H   LINE      ---      ---       #51
+      01001668H   LINE      ---      ---       #53
+      01001674H   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010016A4H   BLOCK     CODE     ---       LVL=0
+      010016A4H   LINE      ---      ---       #56
+      010016A4H   LINE      ---      ---       #57
+      010016A4H   LINE      ---      ---       #58
+      010016A8H   LINE      ---      ---       #60
+      010016B4H   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001693H   BLOCK     CODE     ---       LVL=0
+      01001693H   LINE      ---      ---       #63
+      01001693H   LINE      ---      ---       #64
+      01001693H   LINE      ---      ---       #65
+      01001697H   LINE      ---      ---       #67
+      010016A3H   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001675H   BLOCK     CODE     ---       LVL=0
+      01001675H   LINE      ---      ---       #70
+      01001677H   LINE      ---      ---       #71
+      01001677H   LINE      ---      ---       #72
+      0100167BH   LINE      ---      ---       #74
+      01001683H   LINE      ---      ---       #75
+      0100168CH   LINE      ---      ---       #76
+      01001692H   LINE      ---      ---       #77
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001421H   BLOCK     CODE     ---       LVL=0
+      01001421H   LINE      ---      ---       #79
+      01001423H   LINE      ---      ---       #80
+      01001423H   LINE      ---      ---       #81
+      01001427H   LINE      ---      ---       #83
+      0100142DH   LINE      ---      ---       #84
+      01001436H   LINE      ---      ---       #85
+      0100143CH   LINE      ---      ---       #86
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001569H   BLOCK     CODE     ---       LVL=0
+      01001569H   LINE      ---      ---       #88
+      01001569H   LINE      ---      ---       #89
+      01001569H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001569H   LINE      ---      ---       #92
+      0100156FH   LINE      ---      ---       #94
+      01001573H   LINE      ---      ---       #95
+      0100157AH   LINE      ---      ---       #96
+      0100157DH   LINE      ---      ---       #97
+      0100159EH   LINE      ---      ---       #98
+      010015BFH   LINE      ---      ---       #99
+      010015C0H   LINE      ---      ---       #101
+      010015C0H   LINE      ---      ---       #102
+      010015E2H   LINE      ---      ---       #103
+      010015F4H   LINE      ---      ---       #104
+      010015F4H   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
+      0100238DH   BLOCK     CODE     ---       LVL=0
+      0100238DH   LINE      ---      ---       #107
+      0100238DH   LINE      ---      ---       #108
+      0100238DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100238DH   LINE      ---      ---       #111
+      01002391H   LINE      ---      ---       #113
+      01002395H   LINE      ---      ---       #114
+      0100239CH   LINE      ---      ---       #115
+      010023BEH   LINE      ---      ---       #116
+      010023CBH   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
+      01001556H   BLOCK     CODE     ---       LVL=0
+      01001556H   LINE      ---      ---       #119
+      0100155BH   LINE      ---      ---       #120
+      0100155BH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100155BH   LINE      ---      ---       #121
+      0100155FH   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
+      010017B4H   BLOCK     CODE     ---       LVL=0
+      010017B4H   LINE      ---      ---       #125
+      010017B9H   LINE      ---      ---       #126
+      010017B9H   BLOCK     CODE     NEAR LAB  LVL=1
+      010017B9H   LINE      ---      ---       #127
+      010017C3H   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
+      010023CCH   BLOCK     CODE     ---       LVL=0
+      010023CCH   LINE      ---      ---       #131
+      010023CCH   LINE      ---      ---       #132
+      010023CCH   BLOCK     CODE     NEAR LAB  LVL=1
+      010023CCH   LINE      ---      ---       #134
+      010023CEH   LINE      ---      ---       #135
+      010023FFH   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
+      0100135BH   PUBLIC    CODE     ---       _IIC_WriteBlock
+      010022C5H   PUBLIC    CODE     ---       _IIC_write
+      01001263H   PUBLIC    CODE     ---       _IIC_Read
+
+      01001753H   BLOCK     CODE     ---       LVL=0
+      01001753H   LINE      ---      ---       #11
+      01001753H   LINE      ---      ---       #12
+      01001753H   LINE      ---      ---       #13
+      0100175AH   LINE      ---      ---       #14
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001263H   BLOCK     CODE     ---       LVL=0
+      01001263H   LINE      ---      ---       #16
+      01001274H   LINE      ---      ---       #17
+      01001274H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001274H   LINE      ---      ---       #18
+      01001274H   LINE      ---      ---       #19
+      0100127DH   LINE      ---      ---       #20
+      01001283H   LINE      ---      ---       #21
+      01001289H   LINE      ---      ---       #22
+      0100128FH   LINE      ---      ---       #23
+      010012A8H   LINE      ---      ---       #24
+      010012BDH   LINE      ---      ---       #25
+      010012D6H   LINE      ---      ---       #26
+      010012DCH   LINE      ---      ---       #27
+      010012E4H   LINE      ---      ---       #28
+      010012EBH   LINE      ---      ---       #29
+      010012EBH   LINE      ---      ---       #30
+      010012F2H   LINE      ---      ---       #31
+      010012F4H   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
+      010022C5H   BLOCK     CODE     ---       LVL=0
+      010022C5H   LINE      ---      ---       #35
+      010022E0H   LINE      ---      ---       #36
+      010022E0H   LINE      ---      ---       #37
+      01002301H   LINE      ---      ---       #38
+      01002307H   LINE      ---      ---       #39
+      01002316H   LINE      ---      ---       #40
+      01002333H   LINE      ---      ---       #41
+      0100234AH   LINE      ---      ---       #42
+      01002351H   LINE      ---      ---       #43
+      01002356H   LINE      ---      ---       #44
+      0100235DH   LINE      ---      ---       #45
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100135BH   BLOCK     CODE     ---       LVL=0
+      0100135BH   LINE      ---      ---       #48
+      01001372H   LINE      ---      ---       #49
+      01001372H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001372H   LINE      ---      ---       #51
+      0100137EH   LINE      ---      ---       #52
+      0100138EH   LINE      ---      ---       #53
+      0100139CH   LINE      ---      ---       #54
+      010013C2H   LINE      ---      ---       #55
+      010013CFH   LINE      ---      ---       #56
+      010013E5H   LINE      ---      ---       #57
+      010013E9H   LINE      ---      ---       #58
+      010013FAH   LINE      ---      ---       #59
+      01001406H   LINE      ---      ---       #60
+      01001408H   LINE      ---      ---       #61
       00000004H   SYMBOL    DATA     VOID      cris
       02004E27H   SYMBOL    XDATA    VOID      curr_len
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -2508,5 +2518,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=774 const=182 code=9034
 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,8 +4004,8 @@
 d1
 aa
 55
-b3
-23
+02
+24
 02
 05
 6a
@@ -5406,7 +5406,7 @@
 b1
 02
 17
-1f
+51
 e4
 93
 a3
@@ -5537,22 +5537,22 @@
 ee
 ff
 11
-79
+8d
 00
 00
 00
 ff
 17
-d0
+67
 ff
 1e
-dc
+9d
 00
 00
 00
 ff
 1e
-89
+4a
 00
 1a
 08
@@ -5946,7 +5946,7 @@
 00
 12
 16
-a1
+b5
 22
 90
 4d
@@ -5965,8 +5965,8 @@
 7f
 1e
 12
-23
-60
+17
+b4
 d1
 c2
 ef
@@ -6134,8 +6134,8 @@
 7b
 64
 12
-21
-33
+20
+e3
 90
 4e
 49
@@ -6438,7 +6438,7 @@
 70
 02
 61
-55
+9f
 90
 4d
 de
@@ -6461,8 +6461,8 @@
 7d
 09
 fc
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -6473,7 +6473,77 @@
 09
 7c
 00
-b1
+d1
+18
+90
+4e
+52
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+90
+00
+01
+12
+03
+cf
+64
+64
+70
+31
+7b
+01
+7a
+48
+79
+00
+7d
+09
+fc
+d1
+18
+90
+48
+00
+74
+01
+f0
+90
+48
+03
+e0
+44
+e2
+f0
+a3
+e0
+44
+59
+f0
+a3
+e0
+44
+5a
+f0
+a3
+e0
+44
+60
+f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+c1
 ce
 90
 4e
@@ -6492,7 +6562,6 @@
 12
 03
 cf
-ff
 b4
 14
 0a
@@ -6505,8 +6574,13 @@
 64
 29
 60
-0f
-ef
+14
+90
+00
+01
+12
+03
+cf
 64
 29
 70
@@ -6588,21 +6662,21 @@
 70
 02
 61
-55
+9f
 ef
 64
 04
 70
 02
 61
-55
+9f
 ef
 64
 02
 70
 02
 61
-55
+9f
 90
 4c
 c5
@@ -6692,7 +6766,7 @@
 e0
 f9
 71
-56
+a0
 90
 4d
 e4
@@ -6716,7 +6790,7 @@
 7d
 03
 c1
-bc
+ce
 90
 4d
 e4
@@ -6745,7 +6819,7 @@
 7d
 03
 c1
-bc
+ce
 90
 48
 00
@@ -6906,7 +6980,7 @@
 7d
 09
 d1
-bc
+ce
 22
 90
 4e
@@ -6934,7 +7008,7 @@
 40
 02
 a1
-b2
+fc
 90
 4e
 65
@@ -6977,7 +7051,7 @@
 60
 02
 a1
-aa
+f4
 12
 03
 b6
@@ -6990,9 +7064,9 @@
 7e
 01
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 f2
@@ -7002,9 +7076,9 @@
 7e
 00
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -7040,9 +7114,9 @@
 7f
 b7
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 f4
@@ -7052,9 +7126,9 @@
 7e
 00
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -7090,9 +7164,9 @@
 7f
 b5
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 f6
@@ -7102,9 +7176,9 @@
 7e
 00
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -7140,9 +7214,9 @@
 7f
 e9
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 f8
@@ -7152,9 +7226,9 @@
 7e
 00
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -7191,9 +7265,9 @@
 94
 0e
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 fa
@@ -7203,9 +7277,9 @@
 7e
 01
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -7242,9 +7316,9 @@
 92
 0e
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 d0
@@ -7254,9 +7328,9 @@
 7e
 02
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -7294,9 +7368,9 @@
 7e
 02
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 d3
@@ -7306,9 +7380,9 @@
 7e
 02
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -7346,7 +7420,7 @@
 7e
 02
 b1
-b3
+fd
 80
 70
 eb
@@ -7358,7 +7432,7 @@
 7e
 02
 b1
-b3
+fd
 80
 64
 90
@@ -7398,7 +7472,7 @@
 7e
 02
 b1
-b3
+fd
 80
 3c
 eb
@@ -7410,7 +7484,7 @@
 7e
 02
 b1
-b3
+fd
 80
 30
 90
@@ -7448,7 +7522,7 @@
 7f
 70
 b1
-b3
+fd
 80
 0a
 eb
@@ -7460,7 +7534,7 @@
 7e
 00
 b1
-b3
+fd
 90
 4d
 e4
@@ -7511,7 +7585,7 @@
 04
 f0
 61
-65
+af
 22
 ad
 07
@@ -7594,8 +7668,8 @@
 43
 7c
 00
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -7606,8 +7680,8 @@
 14
 7c
 00
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -7618,8 +7692,8 @@
 14
 7c
 00
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -7630,8 +7704,8 @@
 14
 7c
 00
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -7642,8 +7716,8 @@
 09
 7c
 00
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -7654,8 +7728,8 @@
 09
 7c
 00
-b1
-ce
+d1
+18
 e4
 90
 4d
@@ -7724,85 +7798,29 @@
 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
+f6
 ef
 60
-76
+77
 90
 4c
 eb
 e0
 70
-70
+71
 90
 4c
 c5
@@ -7810,7 +7828,7 @@
 64
 03
 70
-68
+69
 90
 4e
 61
@@ -7913,173 +7931,175 @@
 64
 e0
 fd
-f1
-bd
+12
+22
+53
 22
 90
-4c
-f4
-e0
-ff
-60
-08
-64
-03
-60
-04
+4e
+87
 ef
-b4
-05
-03
-02
+f0
+a3
+ed
+f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+7c
+00
+d1
 18
-74
 90
-4c
-f4
-e0
-b4
+48
+00
+74
 01
-0e
+f0
 a3
 e0
 ff
-e4
-fd
-d1
-84
 90
-4c
-f4
-74
-02
+4e
+87
+e0
+fe
+ef
+4e
+90
+48
+01
 f0
-22
 90
-4c
-f4
+4e
+88
 e0
-b4
-02
-0b
-74
+90
+48
 03
 f0
-a3
-e0
-ff
-a3
-e0
-fd
+7b
+01
+7a
+48
+79
+00
+7d
+09
 c1
-84
+ce
 90
-4c
-f4
+4d
+d0
 e0
-b4
-04
-1a
-e4
+64
+01
+70
+2f
 90
-4c
-f6
-f0
+4d
+d6
+e0
+70
+29
 90
 4c
-f5
+c5
 e0
-ff
-e4
-fd
+64
+03
+70
+4c
+7b
+01
+7a
+48
+79
+00
+7d
+09
+fc
 d1
-84
-e4
+18
+7b
+01
+7a
+48
+79
+00
+7d
+09
+d1
+ce
 90
-4c
-f5
+4d
+d0
+74
+02
 f0
+e4
 90
-4c
-f4
-74
-05
+4d
+e4
 f0
 22
 90
-4c
-f4
+4d
+d0
 e0
 b4
-06
-15
-e4
+02
+24
 90
-4c
-f6
+4d
+d6
+e0
+70
+1e
+90
+4d
+d0
 f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+fc
+d1
+18
+7b
+01
+7a
+48
+79
+00
+7d
+09
+d1
+ce
+e4
 90
-4c
-f5
+4d
+e4
 f0
-a3
-e0
-fd
+22
 e4
 ff
-d1
-84
-e4
 90
 4c
-f4
-f0
-22
-90
-0b
-e7
-74
-06
-f0
-01
-b5
-b1
-fa
-12
-1f
-72
-90
-4c
-eb
-74
-01
-f0
-90
-4c
-e5
-74
-1e
-f0
-e4
-90
-4c
-f0
-f0
-90
-4d
-01
-74
-ff
-f0
-22
-e4
-ff
-90
-4c
-ee
-e0
-60
-01
+ee
+e0
+60
+01
 22
 90
 4c
@@ -8112,7 +8132,7 @@
 7f
 09
 11
-17
+2b
 7f
 01
 80
@@ -8142,14 +8162,14 @@
 60
 02
 01
-bf
+d3
 e4
 90
 4c
 f0
 f0
 11
-c5
+d9
 ef
 60
 09
@@ -8177,11 +8197,11 @@
 7e
 3f
 51
-50
+63
 7f
 0a
 31
-61
+75
 90
 4c
 00
@@ -8241,7 +8261,7 @@
 f0
 f0
 11
-c5
+d9
 ef
 60
 09
@@ -8440,15 +8460,15 @@
 fe
 0f
 11
-c5
+d9
 7f
 0a
 31
-61
+75
 7f
 0a
 01
-17
+2b
 e4
 90
 4c
@@ -8487,33 +8507,32 @@
 24
 d0
 60
-47
+46
 14
 60
-46
+45
 14
 70
 02
 41
-22
+35
 14
 60
 0a
 24
 f7
 60
-3a
+39
 24
 0d
 60
 02
 41
-4f
-71
-f5
-12
-0f
-c5
+62
+91
+09
+f1
+33
 7b
 01
 7a
@@ -8529,11 +8548,11 @@
 7e
 3f
 51
-50
+63
 7f
 0a
 31
-61
+75
 90
 4c
 c1
@@ -8552,15 +8571,15 @@
 7e
 3f
 51
-50
+63
 7f
 0a
 31
-61
+75
 c1
-46
+5a
 81
-29
+3d
 90
 4c
 c5
@@ -8571,7 +8590,7 @@
 a3
 f0
 71
-00
+13
 e4
 90
 4c
@@ -8673,14 +8692,14 @@
 60
 09
 71
-00
+13
 90
 4c
 ed
 e0
 ff
 01
-17
+2b
 90
 4c
 ec
@@ -8838,7 +8857,7 @@
 04
 f0
 f1
-21
+53
 90
 4e
 5e
@@ -8885,7 +8904,7 @@
 7f
 c8
 31
-61
+75
 c2
 01
 7f
@@ -8908,7 +8927,7 @@
 7e
 3f
 71
-48
+5b
 7b
 01
 7a
@@ -8924,7 +8943,7 @@
 7e
 3f
 71
-48
+5b
 d2
 01
 7f
@@ -8935,7 +8954,7 @@
 7f
 0a
 31
-61
+75
 e4
 90
 4c
@@ -8975,8 +8994,8 @@
 e0
 70
 02
-61
-f4
+81
+08
 90
 4e
 20
@@ -9077,12 +9096,13 @@
 a3
 e0
 f9
-f1
-29
+12
+22
+c5
 7f
 0a
 31
-61
+75
 90
 4e
 27
@@ -9113,28 +9133,28 @@
 3e
 f0
 61
-5f
+72
 22
 91
-29
+3d
 c2
 06
 7f
 1f
 91
-0d
+21
 c2
 06
 7f
 1d
 91
-0d
+21
 c2
 06
 7f
 1e
 91
-0d
+21
 c2
 06
 7f
@@ -9150,7 +9170,7 @@
 d2
 04
 d1
-7f
+93
 af
 04
 a2
@@ -9165,7 +9185,7 @@
 c2
 02
 d1
-50
+64
 22
 90
 80
@@ -9177,7 +9197,7 @@
 a3
 f0
 f1
-02
+16
 e4
 90
 4e
@@ -9198,7 +9218,7 @@
 c2
 05
 d1
-61
+75
 90
 4e
 91
@@ -9208,16 +9228,16 @@
 80
 e9
 22
-b1
-ee
+d1
+02
 12
 21
-dd
+8d
 12
-0f
-46
-71
+18
 06
+71
+19
 12
 06
 cf
@@ -9233,11 +9253,11 @@
 70
 ea
 91
-97
-71
-f7
+ab
+91
+0b
 b1
-e1
+f5
 80
 fe
 90
@@ -9265,13 +9285,13 @@
 60
 04
 f1
-c4
+5b
 80
 c6
 91
-97
+ab
 b1
-e1
+f5
 80
 c0
 80
@@ -9367,7 +9387,7 @@
 b0
 12
 23
-7d
+cc
 90
 81
 1c
@@ -9393,31 +9413,31 @@
 e4
 ff
 b1
-42
+56
 7f
 01
 b1
-42
+56
 7f
 02
 b1
-42
+56
 7f
 03
 b1
-42
+56
 7f
 04
 b1
-42
+56
 7f
 05
 b1
-42
+56
 7f
 06
 b1
-42
+56
 7f
 07
 80
@@ -9454,7 +9474,7 @@
 ef
 f0
 d1
-01
+15
 92
 08
 90
@@ -9472,7 +9492,7 @@
 70
 02
 a1
-e0
+f4
 ef
 54
 07
@@ -9619,7 +9639,7 @@
 7f
 01
 21
-61
+75
 7b
 01
 7a
@@ -9717,7 +9737,7 @@
 7f
 08
 01
-17
+2b
 ef
 f4
 60
@@ -9733,7 +9753,7 @@
 92
 00
 d1
-a1
+b5
 22
 ac
 07
@@ -9748,7 +9768,7 @@
 92
 03
 d1
-90
+a4
 af
 04
 a2
@@ -9757,13 +9777,13 @@
 92
 02
 d1
-50
+64
 af
 04
 c2
 04
 d1
-7f
+93
 22
 ef
 f4
@@ -9780,7 +9800,7 @@
 92
 00
 d1
-a1
+b5
 22
 ef
 f4
@@ -9797,7 +9817,7 @@
 92
 00
 d1
-a1
+b5
 22
 90
 4e
@@ -9915,7 +9935,7 @@
 c2
 05
 d1
-61
+75
 90
 4e
 90
@@ -9925,8 +9945,38 @@
 80
 ea
 22
+12
+0e
+44
+12
+1f
+33
+90
+4c
+eb
+74
+01
+f0
+90
+4c
+e5
+74
+1e
+f0
+e4
+90
+4c
+f0
+f0
+90
+4d
+01
+74
+ff
+f0
+22
 81
-52
+66
 90
 81
 2c
@@ -9936,170 +9986,15 @@
 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
-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
-12
-22
-b0
-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
-e1
-21
-90
-0b
-7f
-74
-01
-f0
-e4
-90
-0b
-7e
+0b
+7e
 f0
 22
 12
@@ -10119,20 +10014,19 @@
 e0
 04
 f0
-12
-21
-22
+f1
+a2
 12
 1e
-99
+5a
 11
-dd
+f1
 90
 4c
 ee
 e0
 60
-1d
+1c
 e4
 90
 4c
@@ -10148,7 +10042,7 @@
 f0
 e0
 70
-0d
+0c
 7f
 22
 12
@@ -10156,131 +10050,75 @@
 f8
 7f
 0a
-12
-11
-61
+31
+75
 12
 07
 f1
 22
 90
-4d
-d0
-e0
-64
-01
-70
-31
-90
-4d
-d6
-e0
-70
-2b
-90
 4c
-c5
+d3
+e0
+60
+0b
+14
+f0
 e0
-64
-03
 70
-50
-7b
-01
-7a
-48
-79
-00
-7d
-09
-fc
+06
+74
+05
+f0
 12
-0d
-ce
+1f
+f7
+22
+90
+4e
+97
+ef
+f0
 7b
 01
 7a
-48
+80
 79
-00
-7d
+74
+d1
+1b
+92
 09
-12
-0e
-bc
 90
-4d
-d0
-74
+4e
+97
+e0
+ff
+a2
+09
+b3
+92
+01
 02
-f0
-e4
+07
+84
 90
-4d
+4e
+75
 e4
 f0
+a3
+f0
+a3
+f0
+12
 22
-90
-4d
-d0
-e0
-b4
-02
-26
-90
-4d
-d6
-e0
-70
-20
-90
-4d
-d0
-f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-fc
-12
-0d
-ce
-7b
-01
-7a
-48
-79
-00
-7d
-09
-12
-0e
-bc
-e4
-90
-4d
-e4
-f0
-22
-90
-4e
-75
-e4
-f0
-a3
-f0
-a3
-f0
-51
-b1
-50
-25
-11
-a7
+62
+50
+27
+12
+19
+5c
 90
 4e
 75
@@ -10294,14 +10132,15 @@
 f0
 4a
 70
-07
+08
 90
 4c
 b6
 04
 f0
-01
-0d
+02
+0f
+93
 90
 4e
 75
@@ -10317,343 +10156,466 @@
 09
 1d
 22
-e4
 90
-4e
-12
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-91
-f9
-7a
-4d
-79
-a8
+4c
+f4
+e0
+ff
+60
+08
+64
+03
+60
+04
+ef
+b4
+05
+02
+80
+b9
 90
-4e
-3b
-74
+4c
+f4
+e0
+b4
 01
-f0
+0f
 a3
+e0
+ff
+e4
+fd
+12
+0f
+59
+90
+4c
+f4
 74
-4d
+02
 f0
-a3
+22
+90
+4c
+f4
+e0
+b4
+02
+0c
 74
-a8
+03
 f0
 a3
-74
-14
-f0
-7b
-01
-7a
-4d
-79
-bc
-51
-f9
-ef
-60
-16
-7b
-01
-7a
-4d
-79
-bc
-7d
-14
-51
-c9
-ef
-70
-09
+e0
+ff
+a3
+e0
+fd
+02
+0f
+59
 90
 4c
-ce
+f4
 e0
-44
-02
+b4
+04
+1b
+e4
+90
+4c
+f6
 f0
-80
-0c
 90
 4c
-ce
+f5
 e0
-54
+ff
+e4
 fd
-f0
+12
+0f
+59
 e4
 90
 4c
-d0
+f5
 f0
-e4
 90
-4e
-12
+4c
+f4
+74
+05
 f0
+22
 90
-4e
-12
+4c
+f4
 e0
-ff
-90
+b4
 06
-0c
-93
-60
-2f
-74
-bc
-2f
-f5
-82
+16
 e4
-34
-4d
-f5
-83
-e0
 90
-4e
-14
+4c
+f6
 f0
-e0
-fd
-60
-14
 90
-4e
-18
-e0
-04
+4c
+f5
 f0
 a3
 e0
-fe
-ed
-4e
-f0
-af
-05
-51
-a3
-a3
-e0
-2f
+fd
+e4
+ff
+12
+0f
+59
+e4
+90
+4c
+f4
 f0
+22
 90
-4e
+4c
+f5
+ed
+f0
+a3
+eb
+f0
+ef
+30
+e0
 12
+90
+4c
+f4
 e0
+b4
+03
 04
+74
+02
 f0
-80
-c6
-90
-4e
-1a
-e0
+22
 90
-4e
-1f
+4c
+f4
+74
+01
 f0
+22
 90
-4e
-18
-e0
-90
-4e
-1e
+4c
+f4
+74
+04
 f0
+22
+e4
 90
 4e
-19
-e0
-ff
-51
+89
+f0
 a3
-90
-4e
-1d
 ef
 f0
 90
 4e
-1f
+89
+ed
+f0
+90
+4d
+db
 e0
-ff
-d3
-94
+64
+01
+60
 02
+21
+56
+ed
+24
+c6
+b4
+0c
+00
 40
-1d
+02
+21
+56
 90
-4e
-1d
-e0
-fe
-a3
-e0
-fd
-d3
-9e
-40
-04
-ae
-05
-80
+18
+d4
+75
+f0
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
+18
+f8
+02
+19
 00
-ef
-d3
-9e
-40
+02
+19
 08
+02
+19
+10
+02
+19
+18
+02
+19
+20
+02
+19
+28
+02
+19
+30
+02
+19
+38
+02
+19
+40
+02
+19
+48
+02
+19
+50
 90
 4e
-1c
+89
 74
-01
+f1
 f0
 80
-05
-e4
+56
 90
 4e
-1c
+89
+74
+f6
 f0
-e4
+80
+4e
 90
 4e
-12
+89
+74
+f7
 f0
+80
+46
 90
 4e
-12
-e0
-ff
-90
-06
-0c
-93
-70
-02
-41
-77
-74
-93
-2f
-f5
-82
-e4
-34
-4d
-f5
-83
-e0
-fe
+89
 74
-bc
-2f
-f5
-82
-e4
-34
-4d
-f5
-83
-e0
-6e
+f8
+f0
+80
+3e
 90
 4e
-14
+89
+74
+f4
 f0
+80
+36
 90
 4e
-12
-e0
-ff
-24
-bc
-f5
-82
-e4
-34
-4d
+89
+74
 f5
-83
-e0
+f0
+80
+2e
 90
 4e
-17
+89
+74
+f2
 f0
+80
+26
 90
 4e
-14
-e0
-70
-04
-41
-6f
-41
-6f
+89
+74
+f3
+f0
+80
+1e
 90
 4e
-1c
+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
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+91
+df
+7a
+4d
+79
+a8
+90
+4e
+3b
+74
+01
+f0
+a3
+74
+4d
+f0
+a3
+74
+a8
+f0
+a3
+74
+14
+f0
+7b
+01
+7a
+4d
+79
+bc
+71
+96
+ef
 60
-07
+16
 7b
-00
+01
 7a
-00
+4d
 79
-00
-22
-74
 bc
-2f
-f5
-82
+7d
+14
+71
+66
+ef
+70
+09
+90
+4c
+ce
+e0
+44
+02
+f0
+80
+0c
+90
+4c
+ce
+e0
+54
+fd
+f0
 e4
-34
-4d
-f5
-83
+90
+4c
+d0
+f0
+e4
+90
+4e
+12
+f0
+90
+4e
+12
 e0
-fe
-74
+ff
+90
+06
+0c
 93
+60
+2f
+74
+bc
 2f
 f5
 82
@@ -10662,98 +10624,317 @@
 4d
 f5
 83
-ee
-f0
-e4
+e0
 90
 4e
-13
+14
 f0
+e0
+fd
+60
+14
 90
 4e
-13
+18
 e0
-ff
-c3
-94
-08
-50
-58
+04
+f0
 a3
 e0
-30
-e0
-3b
-90
-4e
-12
-e0
-fe
-33
-33
-33
-54
-f8
 fe
-ef
-4e
-90
+ed
 4e
-16
 f0
+af
+05
+71
+58
 a3
 e0
-ff
+2f
+f0
 90
 4e
-16
+12
 e0
+04
+f0
+80
+c6
 90
-06
-21
-93
-fd
-91
-42
+4e
+1a
+e0
 90
 4e
-1b
-ef
+1f
 f0
 90
 4e
-17
-e0
-30
+18
 e0
-09
 90
 4e
-1b
-e0
-ff
-71
-43
-80
-07
+1e
+f0
 90
 4e
-1b
+19
 e0
 ff
 71
-99
+58
 90
 4e
-14
-e0
-ff
-c3
-13
+1d
+ef
 f0
 90
 4e
-17
+1f
+e0
+ff
+d3
+94
+02
+40
+1d
+90
+4e
+1d
+e0
+fe
+a3
+e0
+fd
+d3
+9e
+40
+04
+ae
+05
+80
+00
+ef
+d3
+9e
+40
+08
+90
+4e
+1c
+74
+01
+f0
+80
+05
+e4
+90
+4e
+1c
+f0
+e4
+90
+4e
+12
+f0
+90
+4e
+12
+e0
+ff
+90
+06
+0c
+93
+70
+02
+61
+2c
+74
+93
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
+e0
+fe
+74
+bc
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
+e0
+6e
+90
+4e
+14
+f0
+90
+4e
+12
+e0
+ff
+24
+bc
+f5
+82
+e4
+34
+4d
+f5
+83
+e0
+90
+4e
+17
+f0
+90
+4e
+14
+e0
+70
+04
+61
+24
+61
+24
+90
+4e
+1c
+e0
+60
+07
+7b
+00
+7a
+00
+79
+00
+22
+74
+bc
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
+e0
+fe
+74
+93
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
+ee
+f0
+e4
+90
+4e
+13
+f0
+90
+4e
+13
+e0
+ff
+c3
+94
+08
+50
+58
+a3
+e0
+30
+e0
+3b
+90
+4e
+12
+e0
+fe
+33
+33
+33
+54
+f8
+fe
+ef
+4e
+90
+4e
+16
+f0
+a3
+e0
+ff
+90
+4e
+16
+e0
+90
+06
+21
+93
+fd
+11
+a5
+90
+4e
+1b
+ef
+f0
+90
+4e
+17
+e0
+30
+e0
+09
+90
+4e
+1b
+e0
+ff
+71
+e0
+80
+07
+90
+4e
+1b
+e0
+ff
+91
+36
+90
+4e
+14
+e0
+ff
+c3
+13
+f0
+90
+4e
+17
 e0
 ff
 c3
@@ -10779,8 +10960,8 @@
 e0
 04
 f0
-21
-97
+41
+4c
 90
 4d
 e4
@@ -10840,34 +11021,10 @@
 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
-f0
+4e
+78
+eb
+f0
 a3
 ea
 f0
@@ -11241,189 +11398,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
@@ -11566,8 +11540,8 @@
 5b
 f0
 0f
-a1
-07
+81
+ed
 e4
 ff
 ef
@@ -11700,7 +11674,7 @@
 f0
 0f
 a1
-8c
+72
 e4
 ff
 ef
@@ -11776,43 +11750,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
@@ -12026,7 +11963,7 @@
 03
 12
 0e
-bc
+ce
 80
 11
 90
@@ -12045,7 +11982,7 @@
 09
 12
 0e
-bc
+ce
 90
 4d
 de
@@ -12489,23 +12426,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 +12640,7 @@
 7d
 03
 31
-8d
+3d
 90
 4e
 7b
@@ -12874,12 +12794,45 @@
 dd
 22
 90
+0b
+e7
+74
+06
+f0
+02
+08
+b5
+90
 04
 46
 e0
 ff
 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
 82
 80
 74
@@ -12956,6 +12909,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
+81
+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
+53
+90
+4e
 81
 eb
 f0
@@ -13062,35 +13170,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 +13222,8 @@
 04
 cf
 22
-47
-ae
+f1
+44
 aa
 55
 40
@@ -15174,5 +15253,1132 @@
 6c
 59
 50
-ea
-29
+16
+db
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+58
+52
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
+:100570007581CF0205B1021751E493A3F8E493A368
 :100580004003F68001F208DFF48029E493A3F854D5
 :1005900007240CC8C333C4540F4420C8834004F458
 :1005A00056800146F6DFE4800B010204081020406B
@@ -93,8 +93,8 @@
 :1005C00009541FFEE493A360010ECF54C025E060E0
 :1005D000A840B8E493A3FAE493A3F8E493A3C8C5AE
 :1005E00082C8CAC583CAF0A3C8C582C8CAC583CA9F
-:1005F000DFE9DEE780BE524DEEFF1179000000FF1B
-:1006000017D0FF1EDC000000FF1E89001A08090A2F
+:1005F000DFE9DEE780BE524DEEFF118D000000FF07
+:100600001767FF1E9D000000FF1E4A001A08090A16
 :100610000B0C0D0E18191714131211151B1C0000CA
 :100620000048006400E400E03E142B04291D8B35D3
 :100630001E1A3916641B8A3A1F083C073D06883B80
@@ -119,8 +119,8 @@
 :100760001DF184E4904CE7F0904CB7E0904DD9F047
 :1007700022C2017F1FF184C2017F1D8007C2017F59
 :100780001FF18422EFF4600D7B017A807974A2015D
-:1007900092001216A122904DE1E064027052904C3A
-:1007A000EEE060057F1E122360D1C2EF6042904CE4
+:1007900092001216B522904DE1E064027052904C26
+:1007A000EEE060057F1E1217B4D1C2EF6042904C9C
 :1007B000E6E0601614F0D2017F1FF184904CE6E071
 :1007C000700EC2017F1FF1848006C2017F1FF18479
 :1007D000904CE7E0601414F0D2017F1DF184904C3E
@@ -131,7 +131,7 @@
 :10082000904E46EBF0A3EAF0A3E9F0A3EDF0904B75
 :100830009CE0FFA3E0904E4ACFF0A3EFF0904B9ADC
 :10084000E0FEA3E0FF904B9CE0FCA3E0FD7B641284
-:100850002133904E49E0FEEFC39E40E1904E49E0C7
+:1008500020E3904E49E0FEEFC39E40E1904E49E018
 :10086000FF14F0EF603F904E46E0FBA3E475F0010B
 :10087000120424A9F0FA1203B6FF904E4AE475F070
 :100880000112042485F082F583EFF0904E4AE0FED9
@@ -150,424 +150,428 @@
 :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
+:100980009F904DDE740AF0E4904CE3F0A3F07B01FD
+:100990007A4879007D09FCD1187B017A4D79E57D93
+:1009A000097C00D118904E52E0FBA3E0FAA3E0F9D5
+:1009B0009000011203CF646470317B017A487900A2
+:1009C0007D09FCD1189048007401F0904803E04480
+:1009D000E2F0A3E04459F0A3E0445AF0A3E04460FD
+:1009E000F07B017A4879007D09C1CE904E52E0FB40
+:1009F000A3E0FAA3E0F99000011203CFB4140A9027
+:100A000000021203CF642960149000011203CF6426
+:100A10002970369000021203CF6414702C904BEBB7
+:100A20007420F0A37415F0A37410F0A37405F09073
+:100A30004CC5E064016009904CCEE04410F0801099
+:100A4000904CCEE054EFF08007904CCEE054EFF0A5
+:100A5000904CB67401F0904CF4E0FF6401700261B8
+:100A60009FEF64047002619FEF64027002619F90C7
+:100A70004CC5E064037045904E56F0904E56E0FF32
+:100A8000C394055037904E52E0FBA3E0FAA3E02454
+:100A900001F9E43AFA7E00E92FF9EE3AFA1203B6C8
+:100AA000FF64396009EF64536004EFB44706904D6A
+:100AB000D07401F0904E56E004F080BF904E52E0AA
+:100AC000FBA3E0FAA3E0F971A0904DE4E0B40111BA
+:100AD0007402F0904DE5F07B017A4D79E57D03C11C
+:100AE000CE904DE4E0B40316E4F0904DE3F0904D69
+:100AF000E57402F07B017A4D79E57D03C1CE904823
+:100B0000007401F0904E52E0FBA3E0FAA3E0F9126A
+:100B100003B6904801F0E4A3F0904DD8F0900001A6
+:100B20001203CFB4AF1E7E487F03904E52E0FBA36A
+:100B3000E0FAA3E02402F9E43AFA904E517405F089
+:100B400011DA801C7E487F03904E52E0FBA3E0FA4E
+:100B5000A3E02401F9E43AFA904E517406F011DA58
+:100B6000904E567403F0904E56E0FFC39409502502
+:100B700074002FF582E43448F583E0B4AF0F904E53
+:100B800056E02400F582E43448F583E4F0904E56B4
+:100B9000E004F080D17B017A4879007D09D1CE2232
+:100BA000904E65EBF0A3EAF0A3E9F0E4A3F0F09037
+:100BB0004E68E0FFC394064002A1FC904E65E0FB46
+:100BC000A3E0FAA3E02401F9E43AFA7E00E92FF960
+:100BD000EE3AFA1203B6FF54F064F06009EF54D015
+:100BE00064D06002A1F41203B6FBB4F1087F837EE7
+:100BF00001B1FDA1C9EBB4F2087FCD7E00B1FDA12A
+:100C0000C9904E65E0FBA3E0FAA3E02401F9E43AC1
+:100C1000FAA3E07E0029F9EE3AFA1203B6FBB4F328
+:100C2000067FB7B1FDA1C9EBB4F4087FB67E00B171
+:100C3000FDA1C9904E65E0FBA3E0FAA3E02401F911
+:100C4000E43AFAA3E07E0029F9EE3AFA1203B6FB81
+:100C5000B4F5067FB5B1FDA1C9EBB4F6087FEA7E15
+:100C600000B1FDA1C9904E65E0FBA3E0FAA3E0242A
+:100C700001F9E43AFAA3E07E0029F9EE3AFA120308
+:100C8000B6FBB4F7067FE9B1FDA1C9EBB4F8087F64
+:100C9000E27E00B1FDA1C9904E65E0FBA3E0FAA39E
+:100CA000E02401F9E43AFAA3E07E0029F9EE3AFAE9
+:100CB0001203B6FBB4F9077F940EB1FDA1C9EBB4E2
+:100CC000FA087F8A7E01B1FDA1C9904E65E0FBA3C1
+:100CD000E0FAA3E02401F9E43AFAA3E07E0029F95E
+:100CE000EE3AFA1203B6FBB4FB077F920EB1FDA1F8
+:100CF000C9EBB4D0087F2A7E02B1FDA1C9904E6530
+:100D0000E0FBA3E0FAA3E02401F9E43AFAA3E07ED1
+:100D10000029F9EE3AFA1203B6FBB4D1087F257E1A
+:100D200002B1FDA1C9EBB4D3087F267E02B1FDA1BB
+:100D3000C9904E65E0FBA3E0FAA3E02401F9E43A90
+:100D4000FAA3E07E0029F9EE3AFA1203B6FBB4D218
+:100D5000087F247E02B1FD8070EBB4D4087F277E2B
+:100D600002B1FD8064904E65E0FBA3E0FAA3E024AD
+:100D700001F9E43AFAA3E07E0029F9EE3AFA120307
+:100D8000B6FBB4D5087F217E02B1FD803CEBB4D622
+:100D9000087F237E02B1FD8030904E65E0FBA3E02A
+:100DA000FAA3E02401F9E43AFAA3E07E0029F9EE7F
+:100DB0003AFA1203B6FBB4D7067F70B1FD800AEB96
+:100DC000B4D8067F6F7E00B1FD904DE4E0B40224FC
+:100DD000904E65E0FBA3E0FAA3E02401F9E43AFABF
+:100DE000A3E07E0029F9EE3AFA1203B6904DE3F043
+:100DF000E41203FC904E68E004F061AF22AD07AC52
+:100E000006904DE4E06402600E7401F0904DE5043C
+:100E1000F0EFA3F0EEA3F022904E7EEBF0A3EAF009
+:100E2000A3E9F0ED1DAE0470011C4E6016904E7EDD
+:100E3000E0FBA3E475F001120424A9F0FAE4120324
+:100E4000FC80E0227B017A4C79BF7D437C00D11885
+:100E50007B017A4D79937D147C00D1187B017A4D0A
+:100E600079A87D147C00D1187B017A4D79BC7D1462
+:100E70007C00D1187B017A4879007D097C00D1186B
+:100E80007B017A4D79E57D097C00D118E4904DDE37
+:100E9000F0904DE2F0904DE1F0904DD6F0904DD0B5
+:100EA000F0904DDCF0904DE4F0904DD5F0904DD8A1
+:100EB000F0904DDBF0904DE0F0904DD3F0904DDF91
+:100EC000F0904DE3F0904DD9F0904D38F022904ED7
+:100ED00061EBF0A3EAF0A3E9F0A3EDF0F1F6EF6027
+:100EE00077904CEBE07071904CC5E06403706990B2
+:100EF0004E61E0FBA3E0FAA3E0F91203B6FF640140
+:100F0000702E9000011203CF701E9000031203CFC9
+:100F100070169000041203CF700E9000051203CFDC
+:100F20007006904DD6F08028904DD67401F0802048
+:100F3000EFB4021C9000011203CF700E9000021259
+:100F400003CF7006904DD6F08006904DD67401F018
+:100F5000904E64E0FD12225322904E87EFF0A3EDF5
+:100F6000F07B017A4879007D097C00D11890480017
+:100F70007401F0A3E0FF904E87E0FEEF4E90480131
+:100F8000F0904E88E0904803F07B017A4879007D2C
+:100F900009C1CE904DD0E06401702F904DD6E07025
+:100FA00029904CC5E06403704C7B017A4879007D40
+:100FB00009FCD1187B017A4879007D09D1CE904D8A
+:100FC000D07402F0E4904DE4F022904DD0E0B402F1
+:100FD00024904DD6E0701E904DD0F07B017A487978
+:100FE000007D09FCD1187B017A4879007D09D1CEBA
+:100FF000E4904DE4F022E4FF904CEEE0600122909A
+:101000004CC5E06403601C904CEFE0701D740AF066
+:10101000A3E07016904DE1E0B4020F7F09112B7F21
+:10102000018007E4904CEBF07F0122904E8FEFF0AF
+:1010300024F760091460622402600201D3E4904C3A
+:10104000F0F011D9EF6009904E8FE0904CEDF02256
+:101050007B017A4C79007D047C007FF27E3F5163F6
+:101060007F0A3175904C00E0B4FF1BA3E0B4FF167B
+:10107000A3E0B4FF11A3E0B4FF0C904C00740FF098
+:10108000A3F0A3F0A3F07F211207F8904CC57402DF
+:10109000F0E4A3F0904CEDF022E4904CF0F011D984
+:1010A000EF6009904E8FE0904CEDF022904CC5E03F
+:1010B000640160197F231207F8904CC57401F0E4B5
+:1010C000A3F0904CEE74F0F0E4904CE9F0E4904C16
+:1010D000EDF022E4904CEDF022904CC5E0FF64036B
+:1010E0006004EFB402087F221207F87F01227F001C
+:1010F00022904CCEE030E13E904CD0E0C394FA50C8
+:1011000003E004F0904CD0E064B4702F904DDCE02C
+:1011100004F0E0D394025007E4904CD0F0801C908F
+:101120004DDCE0B40315904DD57401F0E4904CD043
+:10113000F01207F18005E4904DDCF0904CCEE030E9
+:10114000E42D904CEA740AF0904CD1E0C394FA502C
+:1011500003E004F0904CD1E0B40619904CC3E0FFDA
+:101160006003B4FE0F11D97F0A31757F0A012BE4A9
+:10117000904CD1F022EFD394004011E4FDFC0DBD62
+:1011800000010CBC04F8BDA6F51F80E922904E9327
+:10119000EFF024D0604614604514700241351460AD
+:1011A0000A24F76039240D600241629109F1337B12
+:1011B000017A4C79007D047C007FF27E3F51637F91
+:1011C0000A3175904CC1E0F97A007B007D017C000A
+:1011D0007FF87E3F51637F0A3175C15A813D904C43
+:1011E000C57403F0E4A3F07113E4904CEEF0904C5E
+:1011F000EBF0904CC074FEF0904CC3F0904E93E036
+:1012000064317024904CE5741EF0904BEBE0B40F09
+:1012100010A3E0B40F0BA3E0B40F06A3E0640F60CB
+:1012200041904CBF7401F022904CE5E07034C20153
+:101230007F1E020784E4904CC5F0A3F0904CE3F0CD
+:10124000A3F0904CEB04F0904CEDE060097113902A
+:101250004CEDE0FF012B904CECE0B40105E4F01202
+:1012600007F122904E5CECF0A3EDF0A3EBF0A3EAC3
+:10127000F0A3E9F09080987404F0A3E4F0900CAF30
+:1012800074A0F0A3EEF0A3EFF0900CB274A1F07A8A
+:101290000C79AF7E0C7FAF74AFFC740CFFECFEEFEB
+:1012A00090809AEEF0A3EFF0904E5CE0FCA3E0FAA1
+:1012B000ECFFEAFEEF90809EEEF0A3EFF07A0B7960
+:1012C000837E0B7F837483FC740BFFECFEEF9080B6
+:1012D0009CEEF0A3EFF09080907402F090809CA3BD
+:1012E000E020E707908090E04401F0908006E04421
+:1012F00004F0F153904E5EE0A3E0FAA3E0AE02FFEB
+:101300007B017A0B7983904E5CE0A3E0904E51F024
+:101310000208DAE4904CF0F022904CBFE0603B7F92
+:10132000C83175C2017FFF1207847B017A4C7900B6
+:101330007D047C007FF27E3F715B7B017A4C79C13A
+:101340007D017C007FF87E3F715BD2017FFF120739
+:10135000847F0A3175E4904CBFF022904E20EEF06D
+:10136000A3EFF0A3ECF0A3EDF0A3EBF0A3EAF0A35E
+:10137000E9F0904E22E07002A3E070028108904EE6
+:1013800020E0FEA3E0FF440F2401FDE43EFCC3ED9A
+:101390009FFFEC9EFE904E27F0A3EFF0904E22E0D0
+:1013A000FCA3E0FDD39FEC9E400A904E27E0FEA3F5
+:1013B000E0FF8004AE04AF05904E27EEF0FCA3EFF3
+:1013C000F0FDC3904E23E09DF0904E22E09CF09003
+:1013D0004E20E0FEA3E0FF904E24E0FBA3E0FAA342
+:1013E000E0F91222C57F0A3175904E27E0FEA3E096
+:1013F000FF904E25EE8FF012040E904E21E02FF05C
+:10140000904E20E03EF0617222913DC2067F1F9116
+:1014100021C2067F1D9121C2067F1E9121C2067F37
+:101420001EAC07ECF46015AF04D204D193AF04A254
+:10143000069201120784AF04C202D1642290808018
+:10144000E4F0A3F0A3F0F116E4904E91F0F0904E8A
+:1014500091E090060C93FF600CC205D175904E91FF
+:10146000E004F080E922D10212218D1218067119D0
+:101470001206CF900B7EE014600C24FE70EA91AB54
+:10148000910BB1F580FE904CEAE07012904CECE0CC
+:10149000700C904CE5E07006904CF8E06004F15B55
+:1014A00080C691ABB1F580C080BE22E4FF904E9221
+:1014B000F0FEFDEF90060C936049EF93FD131313BC
+:1014C000541FFEED5407FD7401A805088002C333C4
+:1014D000D8FCFDEE2478FBE434808B82F583E0FCBD
+:1014E000EDF4FBEC5BF0EE2470F582E43480F583E0
+:1014F000E04DF0EE2474F582E43480F583E05BF097
+:101500000F80B01223CC90811CE0904E92F0904C52
+:10151000D5E064026036904DD5E06020E4FFB1561E
+:101520007F01B1567F02B1567F03B1567F04B15699
+:101530007F05B1567F06B1567F07801A904E92E024
+:10154000FF9000A3F0EFF49000A7F022E49000A336
+:10155000F09000A7F022904E96EFF0D115920890EF
+:101560004E96E0FFA208B39207EFF47002A1F4EFE9
+:101570005407FEEF1313135403FF30074324A3F55E
+:1015800082E43400F583C083C082E0FD7401A806C4
+:10159000088002C333D8FCF45DD082D083F074A7F6
+:1015A0002FF582E43400F583C083C082E0FF74012C
+:1015B000A806088002C333D8FC4FD082D083F02223
+:1015C00074A32FF582E43400F583C083C082E0FD6C
+:1015D0007401A806088002C333D8FCFC4DD082D029
+:1015E00083F074A72FF582E43400F583E0FFECF478
+:1015F000FEEF5EF022E4900B7FF0900B7EF07F0117
+:1016000021757B017A4D79EE78007C4E7D017E005C
+:101610007F120203907B017A81791CAD07E4904E22
+:1016200095F0FEEF5407F0EF1313135403FEF58209
+:101630007583001203CFFD3395E0FC904E95E0FFDB
+:1016400074017E00A807088005C333CE33CED8F9D5
+:10165000FFEE5CFEEF5D4E24FF22904DE17402F040
+:101660007F08012BEFF4600C7B017A807978A2026D
+:101670009200D1B522AC07ECF46017AF04A205923A
+:1016800003D1A4AF04A205B39202D164AF04C20493
+:10169000D19322EFF4600C7B017A807970A20492DE
+:1016A00000D1B522EFF4600C7B017A80797CA20333
+:1016B0009200D1B522904E84EBF0A3EAF0A3E9F0BA
+:1016C000E4FEFDEF5407FEEF1313135403FD300047
+:1016D00022904E84E0FBA3E0FAA3E02DF9E43AFA6D
+:1016E0001203B6FF7401A806088002C333D8FC4F6A
+:1016F0000203FC904E84E0FBA3E0FAA3E02DF9E4A2
+:101700003AFA1203B6FF7401A806088002C333D860
+:10171000FCF45F0203FCE4904E90F0F0904E90E0F9
+:10172000FFC39408500CC205D175904E90E004F0B0
+:1017300080EA22120E44121F33904CEB7401F09099
+:101740004CE5741EF0E4904CF0F0904D0174FFF005
+:1017500022816690812CE030E5F922900B7F7401A4
+:10176000F0E4900B7EF022120796904CE4E004F037
+:101770007006904CE3E004F0F1A2121E5A11F190B1
+:101780004CEEE0601CE4904CE3F0A3F0904CEEE0F3
+:1017900014F0E0700C7F221207F87F0A31751207EF
+:1017A000F122904CD3E0600B14F0E070067405F069
+:1017B000121FF722904E97EFF07B017A807974D157
+:1017C0001B9209904E97E0FFA209B3920102078491
+:1017D000904E75E4F0A3F0A3F01222625027121984
+:1017E0005C904E75EBF0A3EAF0A3E9F04A70089024
+:1017F0004CB604F0020F93904E75E0FBA3E0FAA301
+:10180000E0F912091D22904CF4E0FF6008640360C7
+:1018100004EFB4050280B9904CF4E0B4010FA3E0EA
+:10182000FFE4FD120F59904CF47402F022904CF436
+:10183000E0B4020C7403F0A3E0FFA3E0FD020F5933
+:10184000904CF4E0B4041BE4904CF6F0904CF5E0BE
+:10185000FFE4FD120F59E4904CF5F0904CF4740540
+:10186000F022904CF4E0B40616E4904CF6F0904C64
+:10187000F5F0A3E0FDE4FF120F59E4904CF4F022E0
+:10188000904CF5EDF0A3EBF0EF30E012904CF4E06B
+:10189000B403047402F022904CF47401F022904CD2
+:1018A000F47404F022E4904E89F0A3EFF0904E8996
+:1018B000EDF0904DDBE0640160022156ED24C6B4EA
+:1018C0000C00400221569018D475F003A4C583255E
+:1018D000F0C583730218F8021900021908021910E2
+:1018E00002191802192002192802193002193802A7
+:1018F0001940021948021950904E8974F1F080562F
+:10190000904E8974F6F0804E904E8974F7F08046C0
+:10191000904E8974F8F0803E904E8974F4F08036D1
+:10192000904E8974F5F0802E904E8974F2F08026E6
+:10193000904E8974F3F0801E904E8974D6F0801614
+:10194000904E8974FAF0800E904E8974F9F08006FA
+:10195000904E8974D0F0904E89E0FF22E4904E12B0
+:10196000F0A3F0A3F0A3F0A3F0A3F0A3F0A3F0A3DF
+:10197000F0A3F0A3F0A3F0A3F0A3F091DF7A4D79E8
+:10198000A8904E3B7401F0A3744DF0A374A8F0A38B
+:101990007414F07B017A4D79BC7196EF60167B016F
+:1019A0007A4D79BC7D147166EF7009904CCEE0449D
+:1019B00002F0800C904CCEE054FDF0E4904CD0F05E
+:1019C000E4904E12F0904E12E0FF90060C93602FC0
+:1019D00074BC2FF582E4344DF583E0904E14F0E0B2
+:1019E000FD6014904E18E004F0A3E0FEED4EF0AF61
+:1019F000057158A3E02FF0904E12E004F080C690DD
+:101A00004E1AE0904E1FF0904E18E0904E1EF0904F
+:101A10004E19E0FF7158904E1DEFF0904E1FE0FF01
+:101A2000D39402401D904E1DE0FEA3E0FDD39E40E6
+:101A300004AE058000EFD39E4008904E1C7401F068
+:101A40008005E4904E1CF0E4904E12F0904E12E0AF
+:101A5000FF90060C937002612C74932FF582E4348E
+:101A60004DF583E0FE74BC2FF582E4344DF583E040
+:101A70006E904E14F0904E12E0FF24BCF582E434D8
+:101A80004DF583E0904E17F0904E14E07004612401
+:101A90006124904E1CE060077B007A00790022747C
+:101AA000BC2FF582E4344DF583E0FE74932FF5826C
+:101AB000E4344DF583EEF0E4904E13F0904E13E0D5
+:101AC000FFC394085058A3E030E03B904E12E0FE74
+:101AD00033333354F8FEEF4E904E16F0A3E0FF90F0
+:101AE0004E16E090062193FD11A5904E1BEFF0904D
+:101AF0004E17E030E009904E1BE0FF71E080079048
+:101B00004E1BE0FF9136904E14E0FFC313F0904E51
+:101B100017E0FFC313F0904E13E004F0809E904E48
+:101B2000157401F0904E12E004F0414C904DE4E049
+:101B3000B4030A904DD8E0B401037402F0904E153E
+:101B4000E07007904DD8E0B402077B017A4E7931FE
+:101B5000227B007A00790022E4FEEF6006145FFF2A
+:101B60000E80F7AF0622904E78EBF0A3EAF0A3E9DF
+:101B7000F0E4FFEFC39D501B904E78E0FBA3E0FA2A
+:101B8000A3E0F98F827583001203CF60037F0022E8
+:101B90000F80E07F0122904E38EBF0A3EAF0A3E93A
+:101BA000F0E4FF904E3EE0FEEFC39E5030904E3B7F
+:101BB000E0FBA3E0FAA3E0F98F827583001203CF64
+:101BC000FE904E38E0FBA3E0FAA3E0F98F82758324
+:101BD000001203CF6E60037F00220F80C67F0122B8
+:101BE000E4FEEFC394E04020EFD394E7501A904E08
+:101BF00031E0FEEF5407FF7401A807088002C333E9
+:101C0000D8FC4E904E31F022E4FE74322EF582E480
+:101C1000344EF583E0FD6F601CED7014904DE3E0F1
+:101C20006F601274322EF582E4344EF583EFF022A9
+:101C30000EEEB406D522E4FEFDEF54F064F060072A
+:101C4000EF54D0FCBCD00C904DE4E0B4020B740314
+:101C5000F08006904DD87401F0EFC394E04020EF7F
+:101C6000D394E7501A904E31E0FEEF5407FF74FE14
+:101C7000A807088002C333D8FC5E904E31F022E4FE
+:101C8000FEED702174322EF582E4344EF583E06F60
+:101C90007047EEB4050B2432F582E4344EF583E44C
+:101CA000F07D01803474322EF582E4344EF583E009
+:101CB000FC74312EF582E4344EF583ECF074322E50
+:101CC000F582E4344EF583E06014EEB4050B243263
+:101CD000F582E4344EF583E4F00EEEB406A322E47C
+:101CE000FF904E69F0FEFDA3F0A3F0A3F0EF900685
+:101CF0000C93607CEF93FD131313541FFEED5407F8
+:101D0000FD7401A805088002C333D8FCFDEE2478D9
+:101D1000FBE434808B82F583E0FCEDF4FBEC5BF0BC
+:101D2000EE2470F582E43480F583E04DF0EE247407
+:101D3000F582E43480F583E05BF090811CE0F4FCF4
+:101D400074BC2FF582E4344DF583ECF0EE2478FB7F
+:101D5000E434808B82F583E04DF0EE2470FBE434B4
+:101D6000808B82F583E0FCEDF4FBEC5BF00F81ED02
+:101D7000E4FFEF90060C93607CEF93FD1313135474
+:101D80001FFEED5407FD7401A805088002C333D877
+:101D9000FCFDEE2478FBE434808B82F583E0FCEDDF
+:101DA000F4FBEC5BF0EE2470F582E43480F583E024
+:101DB0004DF0EE2474F582E43480F583E05BF0901E
+:101DC000811CE0F4FC74A82FF582E4344DF583EC1B
+:101DD000F0EE2478FBE434808B82F583E04DF0EE66
+:101DE0002470FBE434808B82F583E0FCEDF4FBECA3
+:101DF0005BF00FA172E4FFEF90060C93604074BC9F
+:101E00002FF582E4344DF583E0FE74A82FF582E4CB
+:101E1000344DF583E06E602374BC2FF582E4344DBD
+:101E2000F583C083C082E0FE74A82FF582E4344DB0
+:101E3000F583E0FDEE5DD082D083F00F80B9229073
+:101E400080107401F080FE2280F5904E8BEDF090B2
+:101E500000011203CF904E8CF022904CC5E0B403E9
+:101E600011904CE3E0640E7004A3E06410702D0246
+:101E700007F1904CC5E0B40114904CE3E07004A36A
+:101E8000E0642870177F221207F80207F1904CE3F4
+:101E9000E07004A3E0641470031207F122904CEA8E
+:101EA000E0600214F0904CEFE0600214F0904CE51A
+:101EB000E0601814F0D2017F1E120784904CE5E018
+:101EC0007034C2017F1E120784802B904CEEE070AC
+:101ED00025904CE2E0601F14F0E030E109D2017F70
+:101EE0001E1207848007C2017F1E120784904CE2F5
+:101EF000E070037404F0904DD5E0702D904DD6E065
+:101F000064017025F0904DE5E0600D7B017A4D791C
+:101F1000E57D03120ECE8011904800E0600B7B013E
+:101F20007A4879007D09120ECE904DDEE06003E024
+:101F300014F022904CD37405F0E4A3F0904C90740C
+:101F400037F0E4FFEF25E024D6F582E4344CF58346
+:101F50007462F0A3F00FEFB404EA904C91E0FEA39A
+:101F6000E0FFC3904C94E09FFD904C93E09EFCE416
+:101F70001202067BC37AF579A8783E1200FBC004F2
+:101F8000C005C006C007904C91E0FCA3E0FDE41240
+:101F90000206D003D002D001D00012000A12023F84
+:101FA000904CDEEEF0A3EFF0904C91E0FEA3E0FF4A
+:101FB000C3904C94E09FFD904C93E09EFCE4120291
+:101FC000067B5C7A8F7942783E1200FBC004C00524
+:101FD000C006C007904C91E0FCA3E0FDE4120206AD
+:101FE000D003D002D001D00012000A12023F904C60
+:101FF000E0EEF0A3EFF022904E58120533000000FF
+:1020000000904C95E0FEA3E0FF904CD4E0FD04F07E
+:10201000ED25E024D6F582E4344CF583EEF0A3EF11
+:10202000F0904CD4E0C394044002E4F0E4904E57A6
+:10203000F0904E58E0F8A3E0F9A3E0FAA3E0FB909B
+:102040004E57E025E024D6F582E4344CF583E0FEDB
+:10205000A3E0FFE4FCFDEB2FFFEA3EFEED39FDECD3
+:1020600038FC904E58120527904E57E004F0E0B42B
+:1020700004BF904E58E0FCA3E0FDA3E0FEA3E0FF08
+:10208000E47B04FAF9F8120476904E581205279072
+:102090004CE0E0FEA3E0FFC3904CD7E09F904CD60D
+:1020A000E09E5007904CD57402F022904CDEE0FE8A
+:1020B000A3E0FFE4FCFD904E58E0F8A3E0F9A3E0B4
+:1020C000FAA3E0FBC3120516500D904CD57401F035
+:1020D000904D3F7412F022E4904CD5F0904D3F7437
+:1020E0005DF022904E6DEEF0A3EFF0904E6FECF0AD
+:1020F000A3EDF0904E6FE0FEA3E0FFD3904E6EE0B4
+:102100009F904E6DE09E4016904E6FE0FEA3E0FF64
+:10211000904E6EE09FFF904E6DE09EFE801E904EB2
+:102120006DE0FEA3E0FFC3904E70E09FFF904E6F06
+:10213000E09EFEAD03C3EB9FFFE49EFE22904E8D1A
+:10214000EEF0A3EFF0A905904B9EE0FEA3E0FFADFB
+:102150000119ED602F0FEFAC0670010E14F5828CA3
+:1021600083E0FD904E8DE475F00112042485F08229
+:10217000F583EDF0AD07AC06BC4BD4BD9AD17E4BD8
+:102180007F3680CB904B9EEEF0A3EFF0227A0C7955
+:102190004B904E7B7401F0A3740CF0A3744BF09041
+:1021A0004BA0E0FEA3E0FF904B9EE06E7003A3E027
+:1021B0006F60467E0C7F4B7D03313D904E7BE0FB94
+:1021C000A3E0FAA3E0F91203B6B4022B904E7CE42C
+:1021D00075F00212040E904E7BE0FBA3E0FAA3E040
+:1021E000F91203B6FF904E00E0A3E0FAA3E0F582F7
+:1021F0008A83120568800280FE904BA5E0FEA3E072
+:10220000FF904C5EE06E7003A3E06F6022904E067C
+:10221000E0FBA3E0FAA3E0F94A6037120564904BB3
+:10222000A5E0FFA3E0904C5ECFF0A3EFF080CA9052
+:102230004C8DE0FFA3E06F6019904E09E0FBA3E036
+:10224000FAA3E0F94A600B120564904C8DE0A3F00C
+:1022500080DD22900BE77406F00208B5900446E09A
+:10226000FF22904B9CE0FEA3E0FF904B9AE0B50666
+:1022700007A3E0B50702D322C3229082807401F045
+:1022800022904E29EBF0A3EAF0A3E9F0904E2F74D0
+:10229000FFF5F012042445F0602A904E2CE0FBA3D9
+:1022A000E475F001120424A9F0FA1203B6FF904E6F
+:1022B00029E0FBA3E475F001120424A9F0FAEF125F
+:1022C00003FC80C822904E3FEEF0A3EFF0904E4307
+:1022D000EBF0A3EAF0A3E9F0904E41ECF0A3EDF0AF
+:1022E000A3E0F9A3E0FAA3E0904E2CC9F0A3EAF032
+:1022F000A3E9F0A3ECF0A3EDF07B017A0B79865112
+:1023000081900B8374A0F0904E3FE0FFA3E0900B10
+:1023100084CFF0A3EFF0904E42E02403FD904E41B5
+:10232000E03400FCEDFAECFFEAFEEF908098EEF06E
+:10233000A3EFF07A0B79837E0B7F837483FC740B9D
+:10234000FFECFEEFA3EEF0A3EFF090809EE4F0A38D
+:10235000F090809004F0908006E04404F00217535F
+:10236000904E81EBF0A3EAF0A3E9F0ED1DAE04700E
+:10237000011C4E6017904E81E0FBA3E475F0011242
+:102380000424A9F0FA74FF1203FC80DF22EFF4604A
+:102390003AEF5407FEEF1313135403FF24A3F582FF
+:1023A000E43400F583C083C082E0FD7401A8060810
+:1023B0008002C333D8FCF4FC5DD082D083F074A7D4
+:1023C0002FF582E43400F583E05CF022E4FFEFFDBA
+:1023D0007C002478FBEC34808B82F583E0FEED24D6
+:1023E00070FDEC34808D82F583E04EF4FEEF247CAA
+:1023F000FDEC34808D82F583EEF00FEFB404CF2234
 :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
+51
 e4
 93
 a3
@@ -1529,22 +1529,22 @@
 ee
 ff
 11
-79
+8d
 00
 00
 00
 ff
 17
-d0
+67
 ff
 1e
-dc
+9d
 00
 00
 00
 ff
 1e
-89
+4a
 00
 1a
 08
@@ -1938,7 +1938,7 @@
 00
 12
 16
-a1
+b5
 22
 90
 4d
@@ -1957,8 +1957,8 @@
 7f
 1e
 12
-23
-60
+17
+b4
 d1
 c2
 ef
@@ -2126,8 +2126,8 @@
 7b
 64
 12
-21
-33
+20
+e3
 90
 4e
 49
@@ -2430,7 +2430,7 @@
 70
 02
 61
-55
+9f
 90
 4d
 de
@@ -2453,8 +2453,8 @@
 7d
 09
 fc
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -2465,7 +2465,77 @@
 09
 7c
 00
-b1
+d1
+18
+90
+4e
+52
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+90
+00
+01
+12
+03
+cf
+64
+64
+70
+31
+7b
+01
+7a
+48
+79
+00
+7d
+09
+fc
+d1
+18
+90
+48
+00
+74
+01
+f0
+90
+48
+03
+e0
+44
+e2
+f0
+a3
+e0
+44
+59
+f0
+a3
+e0
+44
+5a
+f0
+a3
+e0
+44
+60
+f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+c1
 ce
 90
 4e
@@ -2484,7 +2554,6 @@
 12
 03
 cf
-ff
 b4
 14
 0a
@@ -2497,8 +2566,13 @@
 64
 29
 60
-0f
-ef
+14
+90
+00
+01
+12
+03
+cf
 64
 29
 70
@@ -2580,21 +2654,21 @@
 70
 02
 61
-55
+9f
 ef
 64
 04
 70
 02
 61
-55
+9f
 ef
 64
 02
 70
 02
 61
-55
+9f
 90
 4c
 c5
@@ -2684,7 +2758,7 @@
 e0
 f9
 71
-56
+a0
 90
 4d
 e4
@@ -2708,7 +2782,7 @@
 7d
 03
 c1
-bc
+ce
 90
 4d
 e4
@@ -2737,7 +2811,7 @@
 7d
 03
 c1
-bc
+ce
 90
 48
 00
@@ -2898,7 +2972,7 @@
 7d
 09
 d1
-bc
+ce
 22
 90
 4e
@@ -2926,7 +3000,7 @@
 40
 02
 a1
-b2
+fc
 90
 4e
 65
@@ -2969,7 +3043,7 @@
 60
 02
 a1
-aa
+f4
 12
 03
 b6
@@ -2982,9 +3056,9 @@
 7e
 01
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 f2
@@ -2994,9 +3068,9 @@
 7e
 00
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -3032,9 +3106,9 @@
 7f
 b7
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 f4
@@ -3044,9 +3118,9 @@
 7e
 00
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -3082,9 +3156,9 @@
 7f
 b5
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 f6
@@ -3094,9 +3168,9 @@
 7e
 00
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -3132,9 +3206,9 @@
 7f
 e9
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 f8
@@ -3144,9 +3218,9 @@
 7e
 00
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -3183,9 +3257,9 @@
 94
 0e
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 fa
@@ -3195,9 +3269,9 @@
 7e
 01
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -3234,9 +3308,9 @@
 92
 0e
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 d0
@@ -3246,9 +3320,9 @@
 7e
 02
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -3286,9 +3360,9 @@
 7e
 02
 b1
-b3
+fd
 a1
-7f
+c9
 eb
 b4
 d3
@@ -3298,9 +3372,9 @@
 7e
 02
 b1
-b3
+fd
 a1
-7f
+c9
 90
 4e
 65
@@ -3338,7 +3412,7 @@
 7e
 02
 b1
-b3
+fd
 80
 70
 eb
@@ -3350,7 +3424,7 @@
 7e
 02
 b1
-b3
+fd
 80
 64
 90
@@ -3390,7 +3464,7 @@
 7e
 02
 b1
-b3
+fd
 80
 3c
 eb
@@ -3402,7 +3476,7 @@
 7e
 02
 b1
-b3
+fd
 80
 30
 90
@@ -3440,7 +3514,7 @@
 7f
 70
 b1
-b3
+fd
 80
 0a
 eb
@@ -3452,7 +3526,7 @@
 7e
 00
 b1
-b3
+fd
 90
 4d
 e4
@@ -3503,7 +3577,7 @@
 04
 f0
 61
-65
+af
 22
 ad
 07
@@ -3586,8 +3660,8 @@
 43
 7c
 00
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -3598,8 +3672,8 @@
 14
 7c
 00
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -3610,8 +3684,8 @@
 14
 7c
 00
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -3622,8 +3696,8 @@
 14
 7c
 00
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -3634,8 +3708,8 @@
 09
 7c
 00
-b1
-ce
+d1
+18
 7b
 01
 7a
@@ -3646,8 +3720,8 @@
 09
 7c
 00
-b1
-ce
+d1
+18
 e4
 90
 4d
@@ -3716,85 +3790,29 @@
 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
+a3
+e9
 f0
 a3
-e0
-ff
+ed
+f0
+f1
+f6
+ef
+60
+77
 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
-f0
-a3
-ed
-f0
-f1
-e2
-ef
-60
-76
-90
-4c
-eb
+4c
+eb
 e0
 70
-70
+71
 90
 4c
 c5
@@ -3802,7 +3820,7 @@
 64
 03
 70
-68
+69
 90
 4e
 61
@@ -3905,163 +3923,165 @@
 64
 e0
 fd
-f1
-bd
+12
+22
+53
 22
 90
-4c
-f4
-e0
-ff
-60
-08
-64
-03
-60
-04
+4e
+87
 ef
-b4
-05
-03
-02
+f0
+a3
+ed
+f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+7c
+00
+d1
 18
-74
 90
-4c
-f4
-e0
-b4
+48
+00
+74
 01
-0e
+f0
 a3
 e0
 ff
-e4
-fd
-d1
-84
 90
-4c
-f4
-74
-02
+4e
+87
+e0
+fe
+ef
+4e
+90
+48
+01
 f0
-22
 90
-4c
-f4
+4e
+88
 e0
-b4
-02
-0b
-74
+90
+48
 03
 f0
-a3
-e0
-ff
-a3
-e0
-fd
+7b
+01
+7a
+48
+79
+00
+7d
+09
 c1
-84
+ce
 90
-4c
-f4
+4d
+d0
 e0
-b4
-04
-1a
-e4
+64
+01
+70
+2f
 90
-4c
-f6
-f0
+4d
+d6
+e0
+70
+29
 90
 4c
-f5
+c5
 e0
-ff
-e4
-fd
+64
+03
+70
+4c
+7b
+01
+7a
+48
+79
+00
+7d
+09
+fc
 d1
-84
-e4
+18
+7b
+01
+7a
+48
+79
+00
+7d
+09
+d1
+ce
 90
-4c
-f5
+4d
+d0
+74
+02
 f0
+e4
 90
-4c
-f4
-74
-05
+4d
+e4
 f0
 22
 90
-4c
-f4
+4d
+d0
 e0
 b4
-06
-15
-e4
+02
+24
 90
-4c
-f6
-f0
+4d
+d6
+e0
+70
+1e
 90
-4c
-f5
+4d
+d0
 f0
-a3
-e0
-fd
-e4
-ff
+7b
+01
+7a
+48
+79
+00
+7d
+09
+fc
 d1
-84
+18
+7b
+01
+7a
+48
+79
+00
+7d
+09
+d1
+ce
 e4
 90
-4c
-f4
-f0
-22
-90
-0b
-e7
-74
-06
-f0
-01
-b5
-b1
-fa
-12
-1f
-72
-90
-4c
-eb
-74
-01
-f0
-90
-4c
-e5
-74
-1e
-f0
-e4
-90
-4c
-f0
-f0
-90
-4d
-01
-74
-ff
+4d
+e4
 f0
 22
 e4
@@ -4104,7 +4124,7 @@
 7f
 09
 11
-17
+2b
 7f
 01
 80
@@ -4134,14 +4154,14 @@
 60
 02
 01
-bf
+d3
 e4
 90
 4c
 f0
 f0
 11
-c5
+d9
 ef
 60
 09
@@ -4169,11 +4189,11 @@
 7e
 3f
 51
-50
+63
 7f
 0a
 31
-61
+75
 90
 4c
 00
@@ -4233,7 +4253,7 @@
 f0
 f0
 11
-c5
+d9
 ef
 60
 09
@@ -4432,15 +4452,15 @@
 fe
 0f
 11
-c5
+d9
 7f
 0a
 31
-61
+75
 7f
 0a
 01
-17
+2b
 e4
 90
 4c
@@ -4479,33 +4499,32 @@
 24
 d0
 60
-47
+46
 14
 60
-46
+45
 14
 70
 02
 41
-22
+35
 14
 60
 0a
 24
 f7
 60
-3a
+39
 24
 0d
 60
 02
 41
-4f
-71
-f5
-12
-0f
-c5
+62
+91
+09
+f1
+33
 7b
 01
 7a
@@ -4521,11 +4540,11 @@
 7e
 3f
 51
-50
+63
 7f
 0a
 31
-61
+75
 90
 4c
 c1
@@ -4544,15 +4563,15 @@
 7e
 3f
 51
-50
+63
 7f
 0a
 31
-61
+75
 c1
-46
+5a
 81
-29
+3d
 90
 4c
 c5
@@ -4563,7 +4582,7 @@
 a3
 f0
 71
-00
+13
 e4
 90
 4c
@@ -4665,14 +4684,14 @@
 60
 09
 71
-00
+13
 90
 4c
 ed
 e0
 ff
 01
-17
+2b
 90
 4c
 ec
@@ -4830,7 +4849,7 @@
 04
 f0
 f1
-21
+53
 90
 4e
 5e
@@ -4877,7 +4896,7 @@
 7f
 c8
 31
-61
+75
 c2
 01
 7f
@@ -4900,7 +4919,7 @@
 7e
 3f
 71
-48
+5b
 7b
 01
 7a
@@ -4916,7 +4935,7 @@
 7e
 3f
 71
-48
+5b
 d2
 01
 7f
@@ -4927,7 +4946,7 @@
 7f
 0a
 31
-61
+75
 e4
 90
 4c
@@ -4967,8 +4986,8 @@
 e0
 70
 02
-61
-f4
+81
+08
 90
 4e
 20
@@ -5069,12 +5088,13 @@
 a3
 e0
 f9
-f1
-29
+12
+22
+c5
 7f
 0a
 31
-61
+75
 90
 4e
 27
@@ -5105,28 +5125,28 @@
 3e
 f0
 61
-5f
+72
 22
 91
-29
+3d
 c2
 06
 7f
 1f
 91
-0d
+21
 c2
 06
 7f
 1d
 91
-0d
+21
 c2
 06
 7f
 1e
 91
-0d
+21
 c2
 06
 7f
@@ -5142,7 +5162,7 @@
 d2
 04
 d1
-7f
+93
 af
 04
 a2
@@ -5157,7 +5177,7 @@
 c2
 02
 d1
-50
+64
 22
 90
 80
@@ -5169,7 +5189,7 @@
 a3
 f0
 f1
-02
+16
 e4
 90
 4e
@@ -5190,7 +5210,7 @@
 c2
 05
 d1
-61
+75
 90
 4e
 91
@@ -5200,16 +5220,16 @@
 80
 e9
 22
-b1
-ee
+d1
+02
 12
 21
-dd
+8d
 12
-0f
-46
-71
+18
 06
+71
+19
 12
 06
 cf
@@ -5225,11 +5245,11 @@
 70
 ea
 91
-97
-71
-f7
+ab
+91
+0b
 b1
-e1
+f5
 80
 fe
 90
@@ -5257,13 +5277,13 @@
 60
 04
 f1
-c4
+5b
 80
 c6
 91
-97
+ab
 b1
-e1
+f5
 80
 c0
 80
@@ -5359,7 +5379,7 @@
 b0
 12
 23
-7d
+cc
 90
 81
 1c
@@ -5385,31 +5405,31 @@
 e4
 ff
 b1
-42
+56
 7f
 01
 b1
-42
+56
 7f
 02
 b1
-42
+56
 7f
 03
 b1
-42
+56
 7f
 04
 b1
-42
+56
 7f
 05
 b1
-42
+56
 7f
 06
 b1
-42
+56
 7f
 07
 80
@@ -5446,7 +5466,7 @@
 ef
 f0
 d1
-01
+15
 92
 08
 90
@@ -5464,7 +5484,7 @@
 70
 02
 a1
-e0
+f4
 ef
 54
 07
@@ -5611,7 +5631,7 @@
 7f
 01
 21
-61
+75
 7b
 01
 7a
@@ -5709,7 +5729,7 @@
 7f
 08
 01
-17
+2b
 ef
 f4
 60
@@ -5725,7 +5745,7 @@
 92
 00
 d1
-a1
+b5
 22
 ac
 07
@@ -5740,7 +5760,7 @@
 92
 03
 d1
-90
+a4
 af
 04
 a2
@@ -5749,13 +5769,13 @@
 92
 02
 d1
-50
+64
 af
 04
 c2
 04
 d1
-7f
+93
 22
 ef
 f4
@@ -5772,7 +5792,7 @@
 92
 00
 d1
-a1
+b5
 22
 ef
 f4
@@ -5789,7 +5809,7 @@
 92
 00
 d1
-a1
+b5
 22
 90
 4e
@@ -5907,7 +5927,7 @@
 c2
 05
 d1
-61
+75
 90
 4e
 90
@@ -5917,8 +5937,38 @@
 80
 ea
 22
+12
+0e
+44
+12
+1f
+33
+90
+4c
+eb
+74
+01
+f0
+90
+4c
+e5
+74
+1e
+f0
+e4
+90
+4c
+f0
+f0
+90
+4d
+01
+74
+ff
+f0
+22
 81
-52
+66
 90
 81
 2c
@@ -5928,386 +5978,517 @@
 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
+4c
+e4
+e0
+04
 f0
-a3
-ed
-f0
-a3
-e0
-f9
-a3
+70
+06
+90
+4c
+e3
 e0
-fa
-a3
+04
+f0
+f1
+a2
+12
+1e
+5a
+11
+f1
+90
+4c
+ee
 e0
+60
+1c
+e4
 90
-4e
-2c
-c9
+4c
+e3
 f0
 a3
-ea
 f0
-a3
-e9
+90
+4c
+ee
+e0
+14
 f0
-a3
-ec
+e0
+70
+0c
+7f
+22
+12
+07
+f8
+7f
+0a
+31
+75
+12
+07
+f1
+22
+90
+4c
+d3
+e0
+60
+0b
+14
 f0
-a3
-ed
+e0
+70
+06
+74
+05
+f0
+12
+1f
+f7
+22
+90
+4e
+97
+ef
 f0
 7b
 01
 7a
-0b
+80
 79
-86
-12
-22
-b0
-90
-0b
-83
 74
-a0
-f0
+d1
+1b
+92
+09
 90
 4e
-3f
+97
 e0
 ff
-a3
-e0
-90
-0b
+a2
+09
+b3
+92
+01
+02
+07
 84
-cf
+90
+4e
+75
+e4
+f0
+a3
 f0
 a3
-ef
 f0
+12
+22
+62
+50
+27
+12
+19
+5c
 90
 4e
-42
-e0
-24
-03
-fd
+75
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+4a
+70
+08
+90
+4c
+b6
+04
+f0
+02
+0f
+93
 90
 4e
-41
+75
+e0
+fb
+a3
 e0
-34
-00
-fc
-ed
 fa
-ec
+a3
+e0
+f9
+12
+09
+1d
+22
+90
+4c
+f4
+e0
 ff
-ea
-fe
+60
+08
+64
+03
+60
+04
 ef
-90
+b4
+05
+02
 80
-98
-ee
-f0
+b9
+90
+4c
+f4
+e0
+b4
+01
+0f
 a3
-ef
-f0
-7a
-0b
-79
-83
-7e
-0b
-7f
-83
+e0
+ff
+e4
+fd
+12
+0f
+59
+90
+4c
+f4
 74
-83
-fc
+02
+f0
+22
+90
+4c
+f4
+e0
+b4
+02
+0c
 74
-0b
-ff
-ec
-fe
-ef
-a3
-ee
+03
 f0
 a3
-ef
-f0
+e0
+ff
+a3
+e0
+fd
+02
+0f
+59
 90
-80
-9e
+4c
+f4
+e0
+b4
+04
+1b
 e4
-f0
-a3
+90
+4c
+f6
 f0
 90
-80
+4c
+f5
+e0
+ff
+e4
+fd
+12
+0f
+59
+e4
 90
-04
+4c
+f5
 f0
 90
-80
-06
+4c
+f4
+74
+05
+f0
+22
+90
+4c
+f4
 e0
-44
-04
+b4
+06
+16
+e4
+90
+4c
+f6
 f0
-e1
-21
 90
-0b
-7f
-74
-01
+4c
+f5
 f0
+a3
+e0
+fd
+e4
+ff
+12
+0f
+59
 e4
 90
-0b
-7e
+4c
+f4
 f0
 22
+90
+4c
+f5
+ed
+f0
+a3
+eb
+f0
+ef
+30
+e0
 12
-07
-96
 90
 4c
-e4
+f4
 e0
+b4
+03
 04
+74
+02
 f0
-70
-06
+22
 90
 4c
-e3
-e0
-04
+f4
+74
+01
 f0
-12
-21
 22
-12
-1e
-99
-11
-dd
 90
 4c
-ee
-e0
-60
-1d
+f4
+74
+04
+f0
+22
 e4
 90
-4c
-e3
+4e
+89
 f0
 a3
+ef
 f0
 90
-4c
-ee
-e0
-14
+4e
+89
+ed
 f0
-e0
-70
-0d
-7f
-22
-12
-07
-f8
-7f
-0a
-12
-11
-61
-12
-07
-f1
-22
 90
 4d
-d0
+db
 e0
 64
 01
-70
-31
-90
-4d
-d6
-e0
-70
-2b
+60
+02
+21
+56
+ed
+24
+c6
+b4
+0c
+00
+40
+02
+21
+56
 90
-4c
-c5
-e0
-64
+18
+d4
+75
+f0
 03
-70
-50
-7b
-01
-7a
-48
-79
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
+18
+f8
+02
+19
 00
-7d
-09
-fc
-12
-0d
-ce
-7b
-01
-7a
+02
+19
+08
+02
+19
+10
+02
+19
+18
+02
+19
+20
+02
+19
+28
+02
+19
+30
+02
+19
+38
+02
+19
+40
+02
+19
 48
-79
-00
-7d
-09
-12
-0e
-bc
+02
+19
+50
 90
-4d
-d0
+4e
+89
 74
-02
+f1
 f0
-e4
+80
+56
 90
-4d
-e4
+4e
+89
+74
+f6
 f0
-22
-90
-4d
-d0
-e0
-b4
-02
-26
+80
+4e
 90
-4d
-d6
-e0
-70
-20
+4e
+89
+74
+f7
+f0
+80
+46
 90
-4d
-d0
+4e
+89
+74
+f8
 f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-fc
-12
-0d
-ce
-7b
-01
-7a
-48
-79
-00
-7d
-09
-12
-0e
-bc
-e4
+80
+3e
 90
-4d
-e4
+4e
+89
+74
+f4
 f0
-22
+80
+36
 90
 4e
-75
-e4
+89
+74
+f5
 f0
-a3
+80
+2e
+90
+4e
+89
+74
+f2
 f0
-a3
+80
+26
+90
+4e
+89
+74
+f3
 f0
-51
-b1
-50
-25
-11
-a7
+80
+1e
 90
 4e
-75
-eb
+89
+74
+d6
 f0
-a3
-ea
+80
+16
+90
+4e
+89
+74
+fa
 f0
-a3
-e9
+80
+0e
+90
+4e
+89
+74
+f9
 f0
-4a
-70
-07
+80
+06
 90
-4c
-b6
-04
+4e
+89
+74
+d0
 f0
-01
-0d
 90
 4e
-75
-e0
-fb
-a3
-e0
-fa
-a3
+89
 e0
-f9
-12
-09
-1d
+ff
 22
 e4
 90
@@ -6341,7 +6522,7 @@
 a3
 f0
 91
-f9
+df
 7a
 4d
 79
@@ -6370,8 +6551,8 @@
 4d
 79
 bc
-51
-f9
+71
+96
 ef
 60
 16
@@ -6383,8 +6564,8 @@
 bc
 7d
 14
-51
-c9
+71
+66
 ef
 70
 09
@@ -6458,8 +6639,8 @@
 f0
 af
 05
-51
-a3
+71
+58
 a3
 e0
 2f
@@ -6493,8 +6674,8 @@
 19
 e0
 ff
-51
-a3
+71
+58
 90
 4e
 1d
@@ -6560,8 +6741,8 @@
 93
 70
 02
-41
-77
+61
+2c
 74
 93
 2f
@@ -6615,10 +6796,10 @@
 e0
 70
 04
-41
-6f
-41
-6f
+61
+24
+61
+24
 90
 4e
 1c
@@ -6705,8 +6886,8 @@
 21
 93
 fd
-91
-42
+11
+a5
 90
 4e
 1b
@@ -6725,7 +6906,7 @@
 e0
 ff
 71
-43
+e0
 80
 07
 90
@@ -6733,8 +6914,8 @@
 1b
 e0
 ff
-71
-99
+91
+36
 90
 4e
 14
@@ -6771,8 +6952,8 @@
 e0
 04
 f0
-21
-97
+41
+4c
 90
 4d
 e4
@@ -6817,43 +6998,19 @@
 79
 00
 22
-e4
-fe
-ef
-60
-06
-14
-5f
-ff
-0e
-80
-f7
-af
-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
+e4
+fe
+ef
+60
+06
+14
+5f
+ff
+0e
+80
+f7
+af
+06
 22
 90
 4e
@@ -7233,189 +7390,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 +7532,8 @@
 5b
 f0
 0f
-a1
-07
+81
+ed
 e4
 ff
 ef
@@ -7692,7 +7666,7 @@
 f0
 0f
 a1
-8c
+72
 e4
 ff
 ef
@@ -7749,60 +7723,23 @@
 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
+e4
+34
+4d
+f5
+83
+e0
+fd
+ee
+5d
+d0
+82
+d0
+83
 f0
+0f
+80
+b9
 22
 90
 80
@@ -8018,7 +7955,7 @@
 03
 12
 0e
-bc
+ce
 80
 11
 90
@@ -8037,7 +7974,7 @@
 09
 12
 0e
-bc
+ce
 90
 4d
 de
@@ -8481,23 +8418,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 +8632,7 @@
 7d
 03
 31
-8d
+3d
 90
 4e
 7b
@@ -8866,12 +8786,45 @@
 dd
 22
 90
+0b
+e7
+74
+06
+f0
+02
+08
+b5
+90
 04
 46
 e0
 ff
 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
 82
 80
 74
@@ -8948,6 +8901,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
+81
+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
+53
+90
+4e
 81
 eb
 f0
@@ -9054,35 +9162,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
