Index: c51/kb_process.c
===================================================================
--- /XZR_Project/XZR_1086_K09/c51/kb_process.c	(revision 462)
+++ /XZR_Project/XZR_1086_K09/c51/kb_process.c	(working copy)
@@ -492,6 +492,10 @@
 					kb_combination_key_press(state,KS_SEL_LSHIFT|KS_SEL_LGUI,HID_KEY_3);
 					temp = HID_KEY_NULL;
 				}
+				else if(g_variable.system_mode == OSMODE_WINDOWS)
+				{
+					temp = HID_MULTIKEY_MEDIA;
+				}
 				else
 					temp = HID_KEY_PRINT_SCREEN;
 				break;
Index: c51/output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/FW.COD
===================================================================
--- /XZR_Project/XZR_1086_K09/c51/output/FW.COD	(revision 462)
+++ /XZR_Project/XZR_1086_K09/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               06/25/2022  10:47:54  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               06/28/2022  10:49:06  PAGE 1
 
 
 
@@ -809,8 +809,8 @@
 
 ----- FUNCTION _kb_multikey_setup (BEGIN) -----
  FILE: 'kb_process.c'
-  598: void kb_multikey_setup(tKSEVENT *pEvt)
-  599: {
+  602: void kb_multikey_setup(tKSEVENT *pEvt)
+  603: {
 000B13 904E8A            MOV     DPTR,#pEvt
 000B16 EB                MOV     A,R3
 000B17 F0                MOVX    @DPTR,A
@@ -820,23 +820,23 @@
 000B1B A3                INC     DPTR
 000B1C E9                MOV     A,R1
 000B1D F0                MOVX    @DPTR,A
-  600: 	byte i = 0;
-  601: 	
+  604: 	byte i = 0;
+  605: 	
 000B1E E4                CLR     A
 000B1F A3                INC     DPTR
 000B20 F0                MOVX    @DPTR,A
-  602: 	for (i = 0;i < 6;i++)
+  606: 	for (i = 0;i < 6;i++)
 000B21 F0                MOVX    @DPTR,A
-000B22         ?C0123?KB_PROCESS:
+000B22         ?C0125?KB_PROCESS:
 000B22 904E8D            MOV     DPTR,#i
 000B25 E0                MOVX    A,@DPTR
 000B26 FF                MOV     R7,A
 000B27 C3                CLR     C
 000B28 9406              SUBB    A,#06H
 000B2A 4002              JC      $ + 4H
-000B2C 81FA              AJMP    ?C0158?KB_PROCESS
-  603: 	{		
-  604: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+000B2C 81FA              AJMP    ?C0160?KB_PROCESS
+  607: 	{		
+  608: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
 000B2E 904E8A            MOV     DPTR,#pEvt
 000B31 E0                MOVX    A,@DPTR
 000B32 FB                MOV     R3,A
@@ -861,46 +861,46 @@
 000B49 FF                MOV     R7,A
 000B4A 54F0              ANL     A,#0F0H
 000B4C 64F0              XRL     A,#0F0H
-000B4E 6009              JZ      ?C0127?KB_PROCESS
+000B4E 6009              JZ      ?C0129?KB_PROCESS
 000B50 EF                MOV     A,R7
 000B51 54D0              ANL     A,#0D0H
 000B53 64D0              XRL     A,#0D0H
 000B55 6002              JZ      $ + 4H
-000B57 81F2              AJMP    ?C0125?KB_PROCESS
-000B59         ?C0127?KB_PROCESS:
-  605: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  606: 		{
-  607: 			
-  608: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+000B57 81F2              AJMP    ?C0127?KB_PROCESS
+000B59         ?C0129?KB_PROCESS:
+  609: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  610: 		{
+  611: 			
+  612: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
 000B59 1203B6            LCALL   ?C?CLDPTR
 000B5C FB                MOV     R3,A
-000B5D B4F108            CJNE    A,#0F1H,?C0128?KB_PROCESS
-  609: 			{
-  610: 				kb_set_multikey(0x0183); 
+000B5D B4F108            CJNE    A,#0F1H,?C0130?KB_PROCESS
+  613: 			{
+  614: 				kb_set_multikey(0x0183); 
 000B60 7F83              MOV     R7,#083H
 000B62 7E01              MOV     R6,#01H
 000B64 91FB              ACALL   _kb_set_multikey
-  611: 			}
-000B66 81C7              AJMP    ?C0129?KB_PROCESS
-000B68         ?C0128?KB_PROCESS:
-  612: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+  615: 			}
+000B66 81C7              AJMP    ?C0131?KB_PROCESS
+000B68         ?C0130?KB_PROCESS:
+  616: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
 000B68 EB                MOV     A,R3
-000B69 B4F208            CJNE    A,#0F2H,?C0130?KB_PROCESS
-  613: 			{ 
-  614: 				kb_set_multikey(0x00cd);
+000B69 B4F208            CJNE    A,#0F2H,?C0132?KB_PROCESS
+  617: 			{ 
+  618: 				kb_set_multikey(0x00cd);
 000B6C 7FCD              MOV     R7,#0CDH
 000B6E 7E00              MOV     R6,#00H
 000B70 91FB              ACALL   _kb_set_multikey
-  615: 			}
-000B72 81C7              AJMP    ?C0129?KB_PROCESS
-000B74         ?C0130?KB_PROCESS:
-  616: 			/*
-  617: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
-  618: 			{
-  619: 				kb_set_multikey(0x00b7);
-  620: 			}	
-  621: 			*/
-  622: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+  619: 			}
+000B72 81C7              AJMP    ?C0131?KB_PROCESS
+000B74         ?C0132?KB_PROCESS:
+  620: 			/*
+  621: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+  622: 			{
+  623: 				kb_set_multikey(0x00b7);
+  624: 			}	
+  625: 			*/
+  626: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
 000B74 904E8A            MOV     DPTR,#pEvt
 000B77 E0                MOVX    A,@DPTR
 000B78 FB                MOV     R3,A
@@ -924,26 +924,26 @@
 000B8C FA                MOV     R2,A
 000B8D 1203B6            LCALL   ?C?CLDPTR
 000B90 FB                MOV     R3,A
-000B91 B4F406            CJNE    A,#0F4H,?C0132?KB_PROCESS
-  623: 			{
-  624: 				kb_set_multikey(0x00b6);
+000B91 B4F406            CJNE    A,#0F4H,?C0134?KB_PROCESS
+  627: 			{
+  628: 				kb_set_multikey(0x00b6);
 000B94 7FB6              MOV     R7,#0B6H
 000B96 91FB              ACALL   _kb_set_multikey
-  625: 			}
-000B98 81C7              AJMP    ?C0129?KB_PROCESS
-000B9A         ?C0132?KB_PROCESS:
-  626: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+  629: 			}
+000B98 81C7              AJMP    ?C0131?KB_PROCESS
+000B9A         ?C0134?KB_PROCESS:
+  630: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
 000B9A EB                MOV     A,R3
-000B9B B4F508            CJNE    A,#0F5H,?C0134?KB_PROCESS
-  627: 			{
-  628: 				kb_set_multikey(0x00b5);
+000B9B B4F508            CJNE    A,#0F5H,?C0136?KB_PROCESS
+  631: 			{
+  632: 				kb_set_multikey(0x00b5);
 000B9E 7FB5              MOV     R7,#0B5H
 000BA0 7E00              MOV     R6,#00H
 000BA2 91FB              ACALL   _kb_set_multikey
-  629: 			}
-000BA4 81C7              AJMP    ?C0129?KB_PROCESS
-000BA6         ?C0134?KB_PROCESS:
-  630: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+  633: 			}
+000BA4 81C7              AJMP    ?C0131?KB_PROCESS
+000BA6         ?C0136?KB_PROCESS:
+  634: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
 000BA6 904E8A            MOV     DPTR,#pEvt
 000BA9 E0                MOVX    A,@DPTR
 000BAA FB                MOV     R3,A
@@ -967,26 +967,26 @@
 000BBE FA                MOV     R2,A
 000BBF 1203B6            LCALL   ?C?CLDPTR
 000BC2 FB                MOV     R3,A
-000BC3 B4F606            CJNE    A,#0F6H,?C0136?KB_PROCESS
-  631: 			{
-  632: 				kb_set_multikey(0x00ea);
+000BC3 B4F606            CJNE    A,#0F6H,?C0138?KB_PROCESS
+  635: 			{
+  636: 				kb_set_multikey(0x00ea);
 000BC6 7FEA              MOV     R7,#0EAH
 000BC8 91FB              ACALL   _kb_set_multikey
-  633: 			}
-000BCA 81C7              AJMP    ?C0129?KB_PROCESS
-000BCC         ?C0136?KB_PROCESS:
-  634: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+  637: 			}
+000BCA 81C7              AJMP    ?C0131?KB_PROCESS
+000BCC         ?C0138?KB_PROCESS:
+  638: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
 000BCC EB                MOV     A,R3
-000BCD B4F708            CJNE    A,#0F7H,?C0138?KB_PROCESS
-  635: 			{
-  636: 				kb_set_multikey(0x00e9);
+000BCD B4F708            CJNE    A,#0F7H,?C0140?KB_PROCESS
+  639: 			{
+  640: 				kb_set_multikey(0x00e9);
 000BD0 7FE9              MOV     R7,#0E9H
 000BD2 7E00              MOV     R6,#00H
 000BD4 91FB              ACALL   _kb_set_multikey
-  637: 			}
-000BD6 81C7              AJMP    ?C0129?KB_PROCESS
-000BD8         ?C0138?KB_PROCESS:
-  638: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+  641: 			}
+000BD6 81C7              AJMP    ?C0131?KB_PROCESS
+000BD8         ?C0140?KB_PROCESS:
+  642: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
 000BD8 904E8A            MOV     DPTR,#pEvt
 000BDB E0                MOVX    A,@DPTR
 000BDC FB                MOV     R3,A
@@ -1010,50 +1010,50 @@
 000BF0 FA                MOV     R2,A
 000BF1 1203B6            LCALL   ?C?CLDPTR
 000BF4 FB                MOV     R3,A
-000BF5 B4F806            CJNE    A,#0F8H,?C0140?KB_PROCESS
-  639: 			{
-  640: 				kb_set_multikey(0x00e2);
+000BF5 B4F806            CJNE    A,#0F8H,?C0142?KB_PROCESS
+  643: 			{
+  644: 				kb_set_multikey(0x00e2);
 000BF8 7FE2              MOV     R7,#0E2H
 000BFA 91FB              ACALL   _kb_set_multikey
-  641: 			}
-000BFC 81C7              AJMP    ?C0129?KB_PROCESS
-000BFE         ?C0140?KB_PROCESS:
-  642: 			/*
-  643: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
-  644: 			{
-  645: 				kb_set_multikey(0x0194);
-  646: 			}	
-  647: 			*/
-  648: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+  645: 			}
+000BFC 81C7              AJMP    ?C0131?KB_PROCESS
+000BFE         ?C0142?KB_PROCESS:
+  646: 			/*
+  647: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+  648: 			{
+  649: 				kb_set_multikey(0x0194);
+  650: 			}	
+  651: 			*/
+  652: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
 000BFE EB                MOV     A,R3
-000BFF B4FA08            CJNE    A,#0FAH,?C0142?KB_PROCESS
-  649: 			{
-  650: 				kb_set_multikey(0x018a);//mail
+000BFF B4FA08            CJNE    A,#0FAH,?C0144?KB_PROCESS
+  653: 			{
+  654: 				kb_set_multikey(0x018a);//mail
 000C02 7F8A              MOV     R7,#08AH
 000C04 7E01              MOV     R6,#01H
 000C06 91FB              ACALL   _kb_set_multikey
-  651: 			}
-000C08 81C7              AJMP    ?C0129?KB_PROCESS
-000C0A         ?C0142?KB_PROCESS:
-  652: 			/*
-  653: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
-  654: 			{
-  655: 				kb_set_multikey(0x0192);
-  656: 			}
-  657: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+  655: 			}
+000C08 81C7              AJMP    ?C0131?KB_PROCESS
+000C0A         ?C0144?KB_PROCESS:
+  656: 			/*
+  657: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
   658: 			{
-  659: 				kb_set_multikey(0x022a);//www Favorites
+  659: 				kb_set_multikey(0x0192);
   660: 			}
-  661: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+  661: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
   662: 			{
-  663: 				kb_set_multikey(0x0225);
+  663: 				kb_set_multikey(0x022a);//www Favorites
   664: 			}
-  665: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+  665: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
   666: 			{
-  667: 				kb_set_multikey(0x0226);
+  667: 				kb_set_multikey(0x0225);
   668: 			}
-  669: 			*/
-  670: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+  669: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+  670: 			{
+  671: 				kb_set_multikey(0x0226);
+  672: 			}
+  673: 			*/
+  674: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
 000C0A 904E8A            MOV     DPTR,#pEvt
 000C0D E0                MOVX    A,@DPTR
 000C0E FB                MOV     R3,A
@@ -1077,33 +1077,33 @@
 000C22 FA                MOV     R2,A
 000C23 1203B6            LCALL   ?C?CLDPTR
 000C26 FB                MOV     R3,A
-000C27 B4D208            CJNE    A,#0D2H,?C0144?KB_PROCESS
-  671: 			{
-  672: 				kb_set_multikey(0x0224);
+000C27 B4D208            CJNE    A,#0D2H,?C0146?KB_PROCESS
+  675: 			{
+  676: 				kb_set_multikey(0x0224);
 000C2A 7F24              MOV     R7,#024H
 000C2C 7E02              MOV     R6,#02H
 000C2E 91FB              ACALL   _kb_set_multikey
-  673: 			}
-000C30 81C7              AJMP    ?C0129?KB_PROCESS
-000C32         ?C0144?KB_PROCESS:
-  674: 			/*
-  675: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
-  676: 			{
-  677: 				kb_set_multikey(0x0227);
-  678: 			}	
-  679: 			*/
-  680: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+  677: 			}
+000C30 81C7              AJMP    ?C0131?KB_PROCESS
+000C32         ?C0146?KB_PROCESS:
+  678: 			/*
+  679: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+  680: 			{
+  681: 				kb_set_multikey(0x0227);
+  682: 			}	
+  683: 			*/
+  684: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
 000C32 EB                MOV     A,R3
-000C33 B4D508            CJNE    A,#0D5H,?C0146?KB_PROCESS
-  681: 			{
-  682: 				kb_set_multikey(0x0221);
+000C33 B4D508            CJNE    A,#0D5H,?C0148?KB_PROCESS
+  685: 			{
+  686: 				kb_set_multikey(0x0221);
 000C36 7F21              MOV     R7,#021H
 000C38 7E02              MOV     R6,#02H
 000C3A 91FB              ACALL   _kb_set_multikey
-  683: 			}
-000C3C 81C7              AJMP    ?C0129?KB_PROCESS
-000C3E         ?C0146?KB_PROCESS:
-  684: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+  687: 			}
+000C3C 81C7              AJMP    ?C0131?KB_PROCESS
+000C3E         ?C0148?KB_PROCESS:
+  688: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
 000C3E 904E8A            MOV     DPTR,#pEvt
 000C41 E0                MOVX    A,@DPTR
 000C42 FB                MOV     R3,A
@@ -1127,27 +1127,27 @@
 000C56 FA                MOV     R2,A
 000C57 1203B6            LCALL   ?C?CLDPTR
 000C5A FB                MOV     R3,A
-000C5B B4D608            CJNE    A,#0D6H,?C0148?KB_PROCESS
-  685: 			{
-  686: 				kb_set_multikey(0x0223);
+000C5B B4D608            CJNE    A,#0D6H,?C0150?KB_PROCESS
+  689: 			{
+  690: 				kb_set_multikey(0x0223);
 000C5E 7F23              MOV     R7,#023H
 000C60 7E02              MOV     R6,#02H
 000C62 91FB              ACALL   _kb_set_multikey
-  687: 			}
-000C64 8061              SJMP    ?C0129?KB_PROCESS
-000C66         ?C0148?KB_PROCESS:
-  688: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+  691: 			}
+000C64 8061              SJMP    ?C0131?KB_PROCESS
+000C66         ?C0150?KB_PROCESS:
+  692: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
 000C66 EB                MOV     A,R3
-000C67 B4D708            CJNE    A,#0D7H,?C0150?KB_PROCESS
-  689: 			{
-  690: 				kb_set_multikey(0x0070);
+000C67 B4D708            CJNE    A,#0D7H,?C0152?KB_PROCESS
+  693: 			{
+  694: 				kb_set_multikey(0x0070);
 000C6A 7F70              MOV     R7,#070H
 000C6C 7E00              MOV     R6,#00H
 000C6E 91FB              ACALL   _kb_set_multikey
-  691: 			}
-000C70 8055              SJMP    ?C0129?KB_PROCESS
-000C72         ?C0150?KB_PROCESS:
-  692: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+  695: 			}
+000C70 8055              SJMP    ?C0131?KB_PROCESS
+000C72         ?C0152?KB_PROCESS:
+  696: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
 000C72 904E8A            MOV     DPTR,#pEvt
 000C75 E0                MOVX    A,@DPTR
 000C76 FB                MOV     R3,A
@@ -1171,26 +1171,26 @@
 000C8A FA                MOV     R2,A
 000C8B 1203B6            LCALL   ?C?CLDPTR
 000C8E FB                MOV     R3,A
-000C8F B4D806            CJNE    A,#0D8H,?C0152?KB_PROCESS
-  693: 			{
-  694: 				kb_set_multikey(0x006f);
+000C8F B4D806            CJNE    A,#0D8H,?C0154?KB_PROCESS
+  697: 			{
+  698: 				kb_set_multikey(0x006f);
 000C92 7F6F              MOV     R7,#06FH
 000C94 91FB              ACALL   _kb_set_multikey
-  695: 			}	
-000C96 802F              SJMP    ?C0129?KB_PROCESS
-000C98         ?C0152?KB_PROCESS:
-  696: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
+  699: 			}	
+000C96 802F              SJMP    ?C0131?KB_PROCESS
+000C98         ?C0154?KB_PROCESS:
+  700: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
 000C98 EB                MOV     A,R3
-000C99 B4D908            CJNE    A,#0D9H,?C0154?KB_PROCESS
-  697: 		      	{
-  698: 		        	kb_set_multikey(0x01ae);
+000C99 B4D908            CJNE    A,#0D9H,?C0156?KB_PROCESS
+  701: 		      	{
+  702: 		        	kb_set_multikey(0x01ae);
 000C9C 7FAE              MOV     R7,#0AEH
 000C9E 7E01              MOV     R6,#01H
 000CA0 91FB              ACALL   _kb_set_multikey
-  699: 		      	}
-000CA2 8023              SJMP    ?C0129?KB_PROCESS
-000CA4         ?C0154?KB_PROCESS:
-  700: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
+  703: 		      	}
+000CA2 8023              SJMP    ?C0131?KB_PROCESS
+000CA4         ?C0156?KB_PROCESS:
+  704: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
 000CA4 904E8A            MOV     DPTR,#pEvt
 000CA7 E0                MOVX    A,@DPTR
 000CA8 FB                MOV     R3,A
@@ -1213,43 +1213,43 @@
 000CBB 3A                ADDC    A,R2
 000CBC FA                MOV     R2,A
 000CBD 1203B6            LCALL   ?C?CLDPTR
-000CC0 B4DA04            CJNE    A,#0DAH,?C0129?KB_PROCESS
-  701: 		      	{
-  702: 		        	kb_set_multikey(0x0030);
+000CC0 B4DA04            CJNE    A,#0DAH,?C0131?KB_PROCESS
+  705: 		      	{
+  706: 		        	kb_set_multikey(0x0030);
 000CC3 7F30              MOV     R7,#030H
 000CC5 91FB              ACALL   _kb_set_multikey
-  703: 		      	}	
-000CC7         ?C0129?KB_PROCESS:
-  704: 		      	/*
-  705: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
-  706: 		      	{
-  707: 		        	kb_set_multikey(0x0306);
-  708: 		      	}
-  709: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
+  707: 		      	}	
+000CC7         ?C0131?KB_PROCESS:
+  708: 		      	/*
+  709: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
   710: 		      	{
-  711: 		        	kb_set_multikey(0x0307);
+  711: 		        	kb_set_multikey(0x0306);
   712: 		      	}
-  713: 		      	*/
-  714: 		      #ifdef SYSTEM_CONTROL_ENABLE
-  715: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
-  716: 		      	{
-  717: 		        	kb_set_systemkey(0x01);
-  718: 		      	}
-  719: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
+  713: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
+  714: 		      	{
+  715: 		        	kb_set_multikey(0x0307);
+  716: 		      	}
+  717: 		      	*/
+  718: 		      #ifdef SYSTEM_CONTROL_ENABLE
+  719: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
   720: 		      	{
-  721: 		        	kb_set_systemkey(0x02);
+  721: 		        	kb_set_systemkey(0x01);
   722: 		      	}
-  723: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
+  723: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
   724: 		      	{
-  725: 		        	kb_set_systemkey(0x04);
+  725: 		        	kb_set_systemkey(0x02);
   726: 		      	}
-  727: 			#endif
-  728: 			if(mult_key_status == KEY_WAIT_RELEASE)
+  727: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
+  728: 		      	{
+  729: 		        	kb_set_systemkey(0x04);
+  730: 		      	}
+  731: 			#endif
+  732: 			if(mult_key_status == KEY_WAIT_RELEASE)
 000CC7 904E0C            MOV     DPTR,#mult_key_status
 000CCA E0                MOVX    A,@DPTR
-000CCB B40224            CJNE    A,#02H,?C0125?KB_PROCESS
-  729: 			{
-  730: 				mult_key_value = pEvt->ksPool[i];
+000CCB B40224            CJNE    A,#02H,?C0127?KB_PROCESS
+  733: 			{
+  734: 				mult_key_value = pEvt->ksPool[i];
 000CCE 904E8A            MOV     DPTR,#pEvt
 000CD1 E0                MOVX    A,@DPTR
 000CD2 FB                MOV     R3,A
@@ -1274,20 +1274,20 @@
 000CE7 1203B6            LCALL   ?C?CLDPTR
 000CEA 904DED            MOV     DPTR,#mult_key_value
 000CED F0                MOVX    @DPTR,A
-  731: 				pEvt->ksPool[i] = 0;
+  735: 				pEvt->ksPool[i] = 0;
 000CEE E4                CLR     A
 000CEF 1203FC            LCALL   ?C?CSTPTR
-  732: 			}
-  733: 		}
-  734: 	}
-000CF2         ?C0125?KB_PROCESS:
+  736: 			}
+  737: 		}
+  738: 	}
+000CF2         ?C0127?KB_PROCESS:
 000CF2 904E8D            MOV     DPTR,#i
 000CF5 E0                MOVX    A,@DPTR
 000CF6 04                INC     A
 000CF7 F0                MOVX    @DPTR,A
-000CF8 6122              AJMP    ?C0123?KB_PROCESS
-  735: }
-000CFA         ?C0158?KB_PROCESS:
+000CF8 6122              AJMP    ?C0125?KB_PROCESS
+  739: }
+000CFA         ?C0160?KB_PROCESS:
 000CFA 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
@@ -1735,12 +1735,12 @@
 000ECD A3                INC     DPTR
 000ECE F0                MOVX    @DPTR,A
   195: 	if (!IPC_IsTxBuffEmpty())
-000ECF 1226F1            LCALL   IPC_IsTxBuffEmpty
+000ECF 1226FE            LCALL   IPC_IsTxBuffEmpty
 000ED2 5024              JNC     ?C0026?KB_PROCESS
 000ED4         ?C0025?KB_PROCESS:
   196: 		return;
   197: 	pEvt = KS_GetCurrentEvt();
-000ED4 121D25            LCALL   KS_GetCurrentEvt
+000ED4 121D32            LCALL   KS_GetCurrentEvt
 000ED7 904E96            MOV     DPTR,#pEvt
 000EDA EB                MOV     A,R3
 000EDB F0                MOVX    @DPTR,A
@@ -1902,11 +1902,11 @@
   530: {
   531: 	kb_cb_init();
   532: 	while(1) {
-000F75 1223B2            LCALL   kb_cb_init
+000F75 1223BF            LCALL   kb_cb_init
 000F78         ?C0092?SYS:
   533: 		IPC_DealSingleStep();
   534: 		YC_check_connect_button();
-000F78 1225AC            LCALL   IPC_DealSingleStep
+000F78 1225B9            LCALL   IPC_DealSingleStep
   535: 		kb_need_keyscan();
 000F7B 121426            LCALL   YC_check_connect_button
   536: 		YC_update_eeprom_data();
@@ -1962,7 +1962,7 @@
   550: 			) 
   551: 			{
   552: 				IPC_AbandonLpm();
-000FC0 1226E5            LCALL   IPC_AbandonLpm
+000FC0 1226F2            LCALL   IPC_AbandonLpm
   553: 				break;
 000FC3 80B3              SJMP    ?C0092?SYS
   554: 			}
@@ -2673,7 +2673,7 @@
   110: 		System_Software_init();
 001250 71B1              ACALL   System_Hardware_init
   111: 		power_on_flag = 2;
-001252 12220F            LCALL   System_Software_init
+001252 12221C            LCALL   System_Software_init
   112: 		IIC_Read(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD), (byte *)bd_key_record_list);
 001255 904DEB            MOV     DPTR,#power_on_flag
 001258 7402              MOV     A,#02H
@@ -3475,7 +3475,7 @@
 0015A0 80B0              SJMP    ?C0037?KEYSCAN
 0015A2         ?C0038?KEYSCAN:
   230: 	GPIO_fillpu();
-0015A2 1227C6            LCALL   GPIO_fillpu
+0015A2 1227D3            LCALL   GPIO_fillpu
   231: 	
   232: 	temp = REG_GPIO_IN(0);
 0015A5 90811C            MOV     DPTR,#0811CH
@@ -4006,7 +4006,7 @@
   394: 	YC_adc_check_timer500ms();
 0017AC F1B8              ACALL   YC_adc_check_timer500ms
   395: 	YC_connect_timeout_500ms();
-0017AE 12232B            LCALL   YC_connect_timeout_500ms
+0017AE 122338            LCALL   YC_connect_timeout_500ms
   396: 	kb_button_press_timer500ms();
 0017B1 D1A0              ACALL   kb_button_press_timer500ms
   397: 	YC_wait_disconnect_timer500ms();
@@ -4046,7 +4046,7 @@
 0017C3 7405              MOV     A,#05H
 0017C5 F0                MOVX    @DPTR,A
    96: 			YC_adc_check();
-0017C6 1223C5            LCALL   YC_adc_check
+0017C6 1223D2            LCALL   YC_adc_check
    97: 		}
    98: 	}
    99: #endif	
@@ -4743,7 +4743,7 @@
 001AF5 E0                MOVX    A,@DPTR
 001AF6 6401              XRL     A,#01H
 001AF8 6002              JZ      $ + 4H
-001AFA A11F              AJMP    ?C0068?KB_PROCESS
+001AFA A12C              AJMP    ?C0068?KB_PROCESS
   389: 	{
   390: 		switch (key_value)
 001AFC ED                MOV     A,R5
@@ -4764,21 +4764,21 @@
 001B14 3C                DB      03CH
 001B15 1C8A              DW      ?C0104?KB_PROCESS
 001B17 3D                DB      03DH
-001B18 1CA7              DW      ?C0107?KB_PROCESS
+001B18 1CB4              DW      ?C0109?KB_PROCESS
 001B1A 3E                DB      03EH
-001B1B 1CAF              DW      ?C0108?KB_PROCESS
+001B1B 1CBC              DW      ?C0110?KB_PROCESS
 001B1D 3F                DB      03FH
-001B1E 1CF1              DW      ?C0115?KB_PROCESS
+001B1E 1CFE              DW      ?C0117?KB_PROCESS
 001B20 40                DB      040H
-001B21 1CF9              DW      ?C0116?KB_PROCESS
+001B21 1D06              DW      ?C0118?KB_PROCESS
 001B23 41                DB      041H
-001B24 1D01              DW      ?C0117?KB_PROCESS
+001B24 1D0E              DW      ?C0119?KB_PROCESS
 001B26 42                DB      042H
-001B27 1D09              DW      ?C0118?KB_PROCESS
+001B27 1D16              DW      ?C0120?KB_PROCESS
 001B29 43                DB      043H
-001B2A 1D11              DW      ?C0119?KB_PROCESS
+001B2A 1D1E              DW      ?C0121?KB_PROCESS
 001B2C 44                DB      044H
-001B2D 1D19              DW      ?C0120?KB_PROCESS
+001B2D 1D26              DW      ?C0122?KB_PROCESS
 001B2F 45                DB      045H
 001B30 1C22              DW      ?C0091?KB_PROCESS
 001B32 4C                DB      04CH
@@ -4791,7 +4791,7 @@
 001B3C 1BAE              DW      ?C0079?KB_PROCESS
 001B3E 52                DB      052H
 001B3F 0000              DW      00H
-001B41 1D1F              DW      ?C0068?KB_PROCESS
+001B41 1D2C              DW      ?C0068?KB_PROCESS
   391: 		{ 
   392: 			case HID_KEY_E:
 001B43         ?C0070?KB_PROCESS:
@@ -4824,7 +4824,7 @@
 001B62 904EB3            MOV     DPTR,#temp
 001B65 F0                MOVX    @DPTR,A
   401: 			break;
-001B66 A11F              AJMP    ?C0068?KB_PROCESS
+001B66 A12C              AJMP    ?C0068?KB_PROCESS
   402: 			case HID_KEY_Q:
 001B68         ?C0073?KB_PROCESS:
   403: 				if(g_variable.system_mode != OSMODE_IOS)
@@ -4854,7 +4854,7 @@
 001B83 904EB3            MOV     DPTR,#temp
 001B86 F0                MOVX    @DPTR,A
   411: 			break;
-001B87 A11F              AJMP    ?C0068?KB_PROCESS
+001B87 A12C              AJMP    ?C0068?KB_PROCESS
   412: 			case HID_KEY_W:
 001B89         ?C0076?KB_PROCESS:
   413: 				if(g_variable.system_mode != OSMODE_ANDROID)
@@ -4886,7 +4886,7 @@
 001BA8 904EB3            MOV     DPTR,#temp
 001BAB F0                MOVX    @DPTR,A
   421: 			break;		
-001BAC A11F              AJMP    ?C0068?KB_PROCESS
+001BAC A12C              AJMP    ?C0068?KB_PROCESS
   422: 			case HID_KEY_UP_ARROW:
 001BAE         ?C0079?KB_PROCESS:
   423: 				if(g_variable.system_mode == OSMODE_IOS)
@@ -4904,7 +4904,7 @@
 001BBD 904EB3            MOV     DPTR,#temp
 001BC0 F0                MOVX    @DPTR,A
   427: 				}
-001BC1 A11F              AJMP    ?C0068?KB_PROCESS
+001BC1 A12C              AJMP    ?C0068?KB_PROCESS
 001BC3         ?C0080?KB_PROCESS:
   428: 				else
   429: 					temp = HID_KEY_PAGE_UP;
@@ -4912,7 +4912,7 @@
 001BC6 744B              MOV     A,#04BH
 001BC8 F0                MOVX    @DPTR,A
   430: 				break;
-001BC9 A11F              AJMP    ?C0068?KB_PROCESS
+001BC9 A12C              AJMP    ?C0068?KB_PROCESS
   431: 			case HID_KEY_DOWN_ARROW:
 001BCB         ?C0082?KB_PROCESS:
   432: 				if(g_variable.system_mode == OSMODE_IOS)
@@ -4930,7 +4930,7 @@
 001BDA 904EB3            MOV     DPTR,#temp
 001BDD F0                MOVX    @DPTR,A
   436: 				}
-001BDE A11F              AJMP    ?C0068?KB_PROCESS
+001BDE A12C              AJMP    ?C0068?KB_PROCESS
 001BE0         ?C0083?KB_PROCESS:
   437: 				else
   438: 					temp = HID_KEY_PAGE_DOWN;
@@ -4938,7 +4938,7 @@
 001BE3 744E              MOV     A,#04EH
 001BE5 F0                MOVX    @DPTR,A
   439: 				break;
-001BE6 A11F              AJMP    ?C0068?KB_PROCESS
+001BE6 A12C              AJMP    ?C0068?KB_PROCESS
   440: 			case HID_KEY_LEFT_ARROW:
 001BE8         ?C0085?KB_PROCESS:
   441: 				if(g_variable.system_mode == OSMODE_IOS)
@@ -4956,7 +4956,7 @@
 001BF7 904EB3            MOV     DPTR,#temp
 001BFA F0                MOVX    @DPTR,A
   445: 				}
-001BFB A11F              AJMP    ?C0068?KB_PROCESS
+001BFB A12C              AJMP    ?C0068?KB_PROCESS
 001BFD         ?C0086?KB_PROCESS:
   446: 				else
   447: 					temp = HID_KEY_HOME;
@@ -4964,7 +4964,7 @@
 001C00 744A              MOV     A,#04AH
 001C02 F0                MOVX    @DPTR,A
   448: 				break;
-001C03 A11F              AJMP    ?C0068?KB_PROCESS
+001C03 A12C              AJMP    ?C0068?KB_PROCESS
   449: 			case HID_KEY_RIGHT_ARROW:
 001C05         ?C0088?KB_PROCESS:
   450: 				if(g_variable.system_mode == OSMODE_IOS)
@@ -4982,7 +4982,7 @@
 001C14 904EB3            MOV     DPTR,#temp
 001C17 F0                MOVX    @DPTR,A
   454: 				}
-001C18 A11F              AJMP    ?C0068?KB_PROCESS
+001C18 A12C              AJMP    ?C0068?KB_PROCESS
 001C1A         ?C0089?KB_PROCESS:
   455: 				else
   456: 					temp = HID_KEY_END;
@@ -4990,7 +4990,7 @@
 001C1D 744D              MOV     A,#04DH
 001C1F F0                MOVX    @DPTR,A
   457: 				break;
-001C20 A11F              AJMP    ?C0068?KB_PROCESS
+001C20 A12C              AJMP    ?C0068?KB_PROCESS
   458: 			case HID_KEY_DELETE:
 001C22         ?C0091?KB_PROCESS:
   459: 				if(g_variable.system_mode == OSMODE_WINDOWS)
@@ -5008,7 +5008,7 @@
 001C32 904EB3            MOV     DPTR,#temp
 001C35 F0                MOVX    @DPTR,A
   463: 				}
-001C36 A11F              AJMP    ?C0068?KB_PROCESS
+001C36 A12C              AJMP    ?C0068?KB_PROCESS
 001C38         ?C0092?KB_PROCESS:
   464: 				else
   465: 					temp = HID_MULTIKEY_OS_LOCK;
@@ -5016,7 +5016,7 @@
 001C3B 74DA              MOV     A,#0DAH
 001C3D F0                MOVX    @DPTR,A
   466: 				break;	
-001C3E A11F              AJMP    ?C0068?KB_PROCESS
+001C3E A12C              AJMP    ?C0068?KB_PROCESS
   467: 				
   468: 			case HID_KEY_ESC:
 001C40         ?C0094?KB_PROCESS:
@@ -5025,7 +5025,7 @@
 001C43 74D6              MOV     A,#0D6H
 001C45 F0                MOVX    @DPTR,A
   470: 				break;
-001C46 A11F              AJMP    ?C0068?KB_PROCESS
+001C46 A12C              AJMP    ?C0068?KB_PROCESS
   471: 			case HID_KEY_F1:
 001C48         ?C0095?KB_PROCESS:
   472: 				if(g_variable.system_mode == OSMODE_IOS)
@@ -5036,7 +5036,7 @@
 001C4E 904EB3            MOV     DPTR,#temp
 001C51 74D7              MOV     A,#0D7H
 001C53 F0                MOVX    @DPTR,A
-001C54 A11F              AJMP    ?C0068?KB_PROCESS
+001C54 A12C              AJMP    ?C0068?KB_PROCESS
 001C56         ?C0096?KB_PROCESS:
   474: 				else
   475: 					temp = HID_MULTIKEY_AC_BACK;
@@ -5044,7 +5044,7 @@
 001C59 74D2              MOV     A,#0D2H
 001C5B F0                MOVX    @DPTR,A
   476: 				break;
-001C5C A11F              AJMP    ?C0068?KB_PROCESS
+001C5C A12C              AJMP    ?C0068?KB_PROCESS
   477: 			case HID_KEY_F2:
 001C5E         ?C0098?KB_PROCESS:
   478: 				if(g_variable.system_mode == OSMODE_IOS)
@@ -5055,7 +5055,7 @@
 001C64 904EB3            MOV     DPTR,#temp
 001C67 74D8              MOV     A,#0D8H
 001C69 F0                MOVX    @DPTR,A
-001C6A A11F              AJMP    ?C0068?KB_PROCESS
+001C6A A12C              AJMP    ?C0068?KB_PROCESS
 001C6C         ?C0099?KB_PROCESS:
   480: 				else
   481: 					temp = HID_MULTIKEY_MAIL;
@@ -5063,7 +5063,7 @@
 001C6F 74FA              MOV     A,#0FAH
 001C71 F0                MOVX    @DPTR,A
   482: 				break;
-001C72 A11F              AJMP    ?C0068?KB_PROCESS
+001C72 A12C              AJMP    ?C0068?KB_PROCESS
   483: 			case HID_KEY_F3:
 001C74         ?C0101?KB_PROCESS:
   484: 				if(g_variable.system_mode == OSMODE_IOS)
@@ -5074,7 +5074,7 @@
 001C7A 904EB3            MOV     DPTR,#temp
 001C7D 74D9              MOV     A,#0D9H
 001C7F F0                MOVX    @DPTR,A
-001C80 A11F              AJMP    ?C0068?KB_PROCESS
+001C80 A12C              AJMP    ?C0068?KB_PROCESS
 001C82         ?C0102?KB_PROCESS:
   486: 				else
   487: 					temp = HID_KEY_APP;
@@ -5082,207 +5082,219 @@
 001C85 7465              MOV     A,#065H
 001C87 F0                MOVX    @DPTR,A
   488: 				break;
-001C88 A11F              AJMP    ?C0068?KB_PROCESS
+001C88 A12C              AJMP    ?C0068?KB_PROCESS
   489: 			case HID_KEY_F4:
 001C8A         ?C0104?KB_PROCESS:
   490: 				if(g_variable.system_mode == OSMODE_IOS)
 001C8A 904CC1            MOV     DPTR,#g_variable+02H
 001C8D E0                MOVX    A,@DPTR
-001C8E 700F              JNZ     ?C0105?KB_PROCESS
+001C8E FC                MOV     R4,A
+001C8F 700F              JNZ     ?C0105?KB_PROCESS
   491: 				{
   492: 					kb_combination_key_press(state,KS_SEL_LSHIFT|KS_SEL_LGUI,HID_KEY_3);
-001C90 AF06              MOV     R7,AR6
-001C92 7B20              MOV     R3,#020H
-001C94 7D0A              MOV     R5,#0AH
-001C96 51B8              ACALL   _kb_combination_key_press
+001C91 AF06              MOV     R7,AR6
+001C93 7B20              MOV     R3,#020H
+001C95 7D0A              MOV     R5,#0AH
+001C97 51B8              ACALL   _kb_combination_key_press
   493: 					temp = HID_KEY_NULL;
-001C98 E4                CLR     A
-001C99 904EB3            MOV     DPTR,#temp
-001C9C F0                MOVX    @DPTR,A
+001C99 E4                CLR     A
+001C9A 904EB3            MOV     DPTR,#temp
+001C9D F0                MOVX    @DPTR,A
   494: 				}
-001C9D A11F              AJMP    ?C0068?KB_PROCESS
-001C9F         ?C0105?KB_PROCESS:
-  495: 				else
-  496: 					temp = HID_KEY_PRINT_SCREEN;
-001C9F 904EB3            MOV     DPTR,#temp
-001CA2 7446              MOV     A,#046H
-001CA4 F0                MOVX    @DPTR,A
-  497: 				break;
-001CA5 8078              SJMP    ?C0068?KB_PROCESS
-  498: 			case HID_KEY_F5:
-001CA7         ?C0107?KB_PROCESS:
-  499: 				temp = HID_MULTIKEY_AC_SEARCH;
-001CA7 904EB3            MOV     DPTR,#temp
-001CAA 74D5              MOV     A,#0D5H
-001CAC F0                MOVX    @DPTR,A
-  500: 				break;
-001CAD 8070              SJMP    ?C0068?KB_PROCESS
-  501: 			case HID_KEY_F6:
-001CAF         ?C0108?KB_PROCESS:
-  502: 				if(g_variable.system_mode == OSMODE_IOS)
-001CAF 904CC1            MOV     DPTR,#g_variable+02H
-001CB2 E0                MOVX    A,@DPTR
-001CB3 FC                MOV     R4,A
-001CB4 7014              JNZ     ?C0109?KB_PROCESS
-  503: 				{
-  504: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_SPACE);
-001CB6 AF06              MOV     R7,AR6
-001CB8 7B2C              MOV     R3,#02CH
-001CBA 7D01              MOV     R5,#01H
-001CBC 51B8              ACALL   _kb_combination_key_press
-  505: 					if(state & 1)
-001CBE EE                MOV     A,R6
-001CBF 30E028            JNB     ACC.0,?C0111?KB_PROCESS
-  506: 					{						
-  507: 						g_variable.one_key_press_wait_release_timer = 10;
-001CC2 904CF8            MOV     DPTR,#g_variable+039H
-001CC5 740A              MOV     A,#0AH
-001CC7 F0                MOVX    @DPTR,A
-  508: 					}
-  509: 				}	
-001CC8 8020              SJMP    ?C0111?KB_PROCESS
-001CCA         ?C0109?KB_PROCESS:
-  510: 				else if(g_variable.system_mode == OSMODE_ANDROID)
-001CCA EC                MOV     A,R4
-001CCB B4010A            CJNE    A,#01H,?C0112?KB_PROCESS
-  511: 					kb_combination_key_press(state,KS_SEL_LSHIFT,HID_KEY_SPACE);
-001CCE AF06              MOV     R7,AR6
-001CD0 7B2C              MOV     R3,#02CH
-001CD2 7D02              MOV     R5,#02H
-001CD4 51B8              ACALL   _kb_combination_key_press
-001CD6 8012              SJMP    ?C0111?KB_PROCESS
-001CD8         ?C0112?KB_PROCESS:
-  512: 				else
-  513: 				{
-  514: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
-001CD8 AF06              MOV     R7,AR6
-001CDA 7B2C              MOV     R3,#02CH
-001CDC 7D08              MOV     R5,#08H
-001CDE 51B8              ACALL   _kb_combination_key_press
-  515: 					if(state & 1)
-001CE0 EF                MOV     A,R7
-001CE1 30E006            JNB     ACC.0,?C0111?KB_PROCESS
-  516: 					{						
-  517: 						g_variable.one_key_press_wait_release_timer = 10;
-001CE4 904CF8            MOV     DPTR,#g_variable+039H
-001CE7 740A              MOV     A,#0AH
-001CE9 F0                MOVX    @DPTR,A
-  518: 					}
-  519: 				}
-001CEA         ?C0111?KB_PROCESS:
-  520: 								
-  521: 				temp = HID_KEY_NULL;
-001CEA E4                CLR     A
-001CEB 904EB3            MOV     DPTR,#temp
-001CEE F0                MOVX    @DPTR,A
-  522: 				break;
-001CEF 802E              SJMP    ?C0068?KB_PROCESS
-  523: 			case HID_KEY_F7:
-001CF1         ?C0115?KB_PROCESS:
-  524: 				temp = HID_MULTIKEY_PRE_TRACK;
-001CF1 904EB3            MOV     DPTR,#temp
-001CF4 74F4              MOV     A,#0F4H
+001C9E A12C              AJMP    ?C0068?KB_PROCESS
+001CA0         ?C0105?KB_PROCESS:
+  495: 				else if(g_variable.system_mode == OSMODE_WINDOWS)
+001CA0 EC                MOV     A,R4
+001CA1 B40208            CJNE    A,#02H,?C0107?KB_PROCESS
+  496: 				{
+  497: 					temp = HID_MULTIKEY_MEDIA;
+001CA4 904EB3            MOV     DPTR,#temp
+001CA7 74F1              MOV     A,#0F1H
+001CA9 F0                MOVX    @DPTR,A
+  498: 				}
+001CAA A12C              AJMP    ?C0068?KB_PROCESS
+001CAC         ?C0107?KB_PROCESS:
+  499: 				else
+  500: 					temp = HID_KEY_PRINT_SCREEN;
+001CAC 904EB3            MOV     DPTR,#temp
+001CAF 7446              MOV     A,#046H
+001CB1 F0                MOVX    @DPTR,A
+  501: 				break;
+001CB2 8078              SJMP    ?C0068?KB_PROCESS
+  502: 			case HID_KEY_F5:
+001CB4         ?C0109?KB_PROCESS:
+  503: 				temp = HID_MULTIKEY_AC_SEARCH;
+001CB4 904EB3            MOV     DPTR,#temp
+001CB7 74D5              MOV     A,#0D5H
+001CB9 F0                MOVX    @DPTR,A
+  504: 				break;
+001CBA 8070              SJMP    ?C0068?KB_PROCESS
+  505: 			case HID_KEY_F6:
+001CBC         ?C0110?KB_PROCESS:
+  506: 				if(g_variable.system_mode == OSMODE_IOS)
+001CBC 904CC1            MOV     DPTR,#g_variable+02H
+001CBF E0                MOVX    A,@DPTR
+001CC0 FC                MOV     R4,A
+001CC1 7014              JNZ     ?C0111?KB_PROCESS
+  507: 				{
+  508: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_SPACE);
+001CC3 AF06              MOV     R7,AR6
+001CC5 7B2C              MOV     R3,#02CH
+001CC7 7D01              MOV     R5,#01H
+001CC9 51B8              ACALL   _kb_combination_key_press
+  509: 					if(state & 1)
+001CCB EE                MOV     A,R6
+001CCC 30E028            JNB     ACC.0,?C0113?KB_PROCESS
+  510: 					{						
+  511: 						g_variable.one_key_press_wait_release_timer = 10;
+001CCF 904CF8            MOV     DPTR,#g_variable+039H
+001CD2 740A              MOV     A,#0AH
+001CD4 F0                MOVX    @DPTR,A
+  512: 					}
+  513: 				}	
+001CD5 8020              SJMP    ?C0113?KB_PROCESS
+001CD7         ?C0111?KB_PROCESS:
+  514: 				else if(g_variable.system_mode == OSMODE_ANDROID)
+001CD7 EC                MOV     A,R4
+001CD8 B4010A            CJNE    A,#01H,?C0114?KB_PROCESS
+  515: 					kb_combination_key_press(state,KS_SEL_LSHIFT,HID_KEY_SPACE);
+001CDB AF06              MOV     R7,AR6
+001CDD 7B2C              MOV     R3,#02CH
+001CDF 7D02              MOV     R5,#02H
+001CE1 51B8              ACALL   _kb_combination_key_press
+001CE3 8012              SJMP    ?C0113?KB_PROCESS
+001CE5         ?C0114?KB_PROCESS:
+  516: 				else
+  517: 				{
+  518: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
+001CE5 AF06              MOV     R7,AR6
+001CE7 7B2C              MOV     R3,#02CH
+001CE9 7D08              MOV     R5,#08H
+001CEB 51B8              ACALL   _kb_combination_key_press
+  519: 					if(state & 1)
+001CED EF                MOV     A,R7
+001CEE 30E006            JNB     ACC.0,?C0113?KB_PROCESS
+  520: 					{						
+  521: 						g_variable.one_key_press_wait_release_timer = 10;
+001CF1 904CF8            MOV     DPTR,#g_variable+039H
+001CF4 740A              MOV     A,#0AH
 001CF6 F0                MOVX    @DPTR,A
-  525: 				break;
-001CF7 8026              SJMP    ?C0068?KB_PROCESS
-  526: 			case HID_KEY_F8:
-001CF9         ?C0116?KB_PROCESS:
-  527: 				temp = HID_MULTIKEY_PALY;
-001CF9 904EB3            MOV     DPTR,#temp
-001CFC 74F2              MOV     A,#0F2H
-001CFE F0                MOVX    @DPTR,A
-  528: 				break;
-001CFF 801E              SJMP    ?C0068?KB_PROCESS
-  529: 			case HID_KEY_F9:
-001D01         ?C0117?KB_PROCESS:
-  530: 				temp = HID_MULTIKEY_NEXT_TRACK;
-001D01 904EB3            MOV     DPTR,#temp
-001D04 74F5              MOV     A,#0F5H
-001D06 F0                MOVX    @DPTR,A
-  531: 				break;
-001D07 8016              SJMP    ?C0068?KB_PROCESS
-  532: 			case HID_KEY_F10:
-001D09         ?C0118?KB_PROCESS:
-  533: 				temp = HID_MULTIKEY_MUTE;	
-001D09 904EB3            MOV     DPTR,#temp
-001D0C 74F8              MOV     A,#0F8H
-001D0E F0                MOVX    @DPTR,A
-  534: 				break;
-001D0F 800E              SJMP    ?C0068?KB_PROCESS
-  535: 			case HID_KEY_F11:
-001D11         ?C0119?KB_PROCESS:
-  536: 				temp = HID_MULTIKEY_VOL_DOWN;
-001D11 904EB3            MOV     DPTR,#temp
-001D14 74F6              MOV     A,#0F6H
-001D16 F0                MOVX    @DPTR,A
-  537: 				break;
-001D17 8006              SJMP    ?C0068?KB_PROCESS
-  538: 			case HID_KEY_F12:
-001D19         ?C0120?KB_PROCESS:
-  539: 				temp = HID_MULTIKEY_VOL_UP;
-001D19 904EB3            MOV     DPTR,#temp
-001D1C 74F7              MOV     A,#0F7H
-001D1E F0                MOVX    @DPTR,A
-  540: 				break;
-  541: 			/*
-  542: 			case HID_KEY_7:
-  543: 				temp = HID_KEY_KP_7;
+  522: 					}
+  523: 				}
+001CF7         ?C0113?KB_PROCESS:
+  524: 								
+  525: 				temp = HID_KEY_NULL;
+001CF7 E4                CLR     A
+001CF8 904EB3            MOV     DPTR,#temp
+001CFB F0                MOVX    @DPTR,A
+  526: 				break;
+001CFC 802E              SJMP    ?C0068?KB_PROCESS
+  527: 			case HID_KEY_F7:
+001CFE         ?C0117?KB_PROCESS:
+  528: 				temp = HID_MULTIKEY_PRE_TRACK;
+001CFE 904EB3            MOV     DPTR,#temp
+001D01 74F4              MOV     A,#0F4H
+001D03 F0                MOVX    @DPTR,A
+  529: 				break;
+001D04 8026              SJMP    ?C0068?KB_PROCESS
+  530: 			case HID_KEY_F8:
+001D06         ?C0118?KB_PROCESS:
+  531: 				temp = HID_MULTIKEY_PALY;
+001D06 904EB3            MOV     DPTR,#temp
+001D09 74F2              MOV     A,#0F2H
+001D0B F0                MOVX    @DPTR,A
+  532: 				break;
+001D0C 801E              SJMP    ?C0068?KB_PROCESS
+  533: 			case HID_KEY_F9:
+001D0E         ?C0119?KB_PROCESS:
+  534: 				temp = HID_MULTIKEY_NEXT_TRACK;
+001D0E 904EB3            MOV     DPTR,#temp
+001D11 74F5              MOV     A,#0F5H
+001D13 F0                MOVX    @DPTR,A
+  535: 				break;
+001D14 8016              SJMP    ?C0068?KB_PROCESS
+  536: 			case HID_KEY_F10:
+001D16         ?C0120?KB_PROCESS:
+  537: 				temp = HID_MULTIKEY_MUTE;	
+001D16 904EB3            MOV     DPTR,#temp
+001D19 74F8              MOV     A,#0F8H
+001D1B F0                MOVX    @DPTR,A
+  538: 				break;
+001D1C 800E              SJMP    ?C0068?KB_PROCESS
+  539: 			case HID_KEY_F11:
+001D1E         ?C0121?KB_PROCESS:
+  540: 				temp = HID_MULTIKEY_VOL_DOWN;
+001D1E 904EB3            MOV     DPTR,#temp
+001D21 74F6              MOV     A,#0F6H
+001D23 F0                MOVX    @DPTR,A
+  541: 				break;
+001D24 8006              SJMP    ?C0068?KB_PROCESS
+  542: 			case HID_KEY_F12:
+001D26         ?C0122?KB_PROCESS:
+  543: 				temp = HID_MULTIKEY_VOL_UP;
+001D26 904EB3            MOV     DPTR,#temp
+001D29 74F7              MOV     A,#0F7H
+001D2B F0                MOVX    @DPTR,A
   544: 				break;
-  545: 			case HID_KEY_8:
-  546: 				temp = HID_KEY_KP_8;
-  547: 				break;
-  548: 			case HID_KEY_9:
-  549: 				temp = HID_KEY_KP_9;
-  550: 				break;
-  551: 			case HID_KEY_0:
-  552: 				temp = HID_KEY_KP_ASTERISK;
-  553: 				break;
-  554: 			case HID_KEY_U:
-  555: 				temp = HID_KEY_KP_4;
-  556: 				break;
-  557: 			case HID_KEY_I:
-  558: 				temp = HID_KEY_KP_5;	
-  559: 				break;
-  560: 			case HID_KEY_O:
-  561: 				temp = HID_KEY_KP_6;	
-  562: 				break;
-  563: 			case HID_KEY_P:
-  564: 				temp = HID_KEY_KP_MINUS;
-  565: 				break;
-  566: 			case HID_KEY_J:
-  567: 				temp = HID_KEY_KP_1;	
-  568: 				break;
-  569: 			case HID_KEY_K:
-  570: 				temp = HID_KEY_KP_2;	
-  571: 				break;
-  572: 			case HID_KEY_L:
-  573: 				temp = HID_KEY_KP_3;	
-  574: 				break;
-  575: 			case HID_KEY_SEMICOLON:
-  576: 				temp = HID_KEY_KP_PLUS;	
-  577: 				break;
-  578: 			case HID_KEY_M:
-  579: 				temp = HID_KEY_KP_0;	
-  580: 				break;
-  581: 			case HID_KEY_GREAT_THAN:
-  582: 				temp = HID_KEY_KP_DEL;	
-  583: 				break;
-  584: 			case HID_KEY_SLASH:
-  585: 				temp = HID_KEY_KP_SLASH;	
-  586: 				break;	
-  587: 		*/		
-  588: 			default :
-  589: 				break;
-  590: 		}
-  591: 	}
-001D1F         ?C0068?KB_PROCESS:
-  592: 
-  593: 	return temp;
-001D1F 904EB3            MOV     DPTR,#temp
-001D22 E0                MOVX    A,@DPTR
-001D23 FF                MOV     R7,A
-  594: }
-001D24 22                RET     
+  545: 			/*
+  546: 			case HID_KEY_7:
+  547: 				temp = HID_KEY_KP_7;
+  548: 				break;
+  549: 			case HID_KEY_8:
+  550: 				temp = HID_KEY_KP_8;
+  551: 				break;
+  552: 			case HID_KEY_9:
+  553: 				temp = HID_KEY_KP_9;
+  554: 				break;
+  555: 			case HID_KEY_0:
+  556: 				temp = HID_KEY_KP_ASTERISK;
+  557: 				break;
+  558: 			case HID_KEY_U:
+  559: 				temp = HID_KEY_KP_4;
+  560: 				break;
+  561: 			case HID_KEY_I:
+  562: 				temp = HID_KEY_KP_5;	
+  563: 				break;
+  564: 			case HID_KEY_O:
+  565: 				temp = HID_KEY_KP_6;	
+  566: 				break;
+  567: 			case HID_KEY_P:
+  568: 				temp = HID_KEY_KP_MINUS;
+  569: 				break;
+  570: 			case HID_KEY_J:
+  571: 				temp = HID_KEY_KP_1;	
+  572: 				break;
+  573: 			case HID_KEY_K:
+  574: 				temp = HID_KEY_KP_2;	
+  575: 				break;
+  576: 			case HID_KEY_L:
+  577: 				temp = HID_KEY_KP_3;	
+  578: 				break;
+  579: 			case HID_KEY_SEMICOLON:
+  580: 				temp = HID_KEY_KP_PLUS;	
+  581: 				break;
+  582: 			case HID_KEY_M:
+  583: 				temp = HID_KEY_KP_0;	
+  584: 				break;
+  585: 			case HID_KEY_GREAT_THAN:
+  586: 				temp = HID_KEY_KP_DEL;	
+  587: 				break;
+  588: 			case HID_KEY_SLASH:
+  589: 				temp = HID_KEY_KP_SLASH;	
+  590: 				break;	
+  591: 		*/		
+  592: 			default :
+  593: 				break;
+  594: 		}
+  595: 	}
+001D2C         ?C0068?KB_PROCESS:
+  596: 
+  597: 	return temp;
+001D2C 904EB3            MOV     DPTR,#temp
+001D2F E0                MOVX    A,@DPTR
+001D30 FF                MOV     R7,A
+  598: }
+001D31 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
@@ -5292,502 +5304,502 @@
   294: {
   295: 	//
   296: 	byte i = 0;
-001D25 E4                CLR     A
-001D26 904E3A            MOV     DPTR,#i
-001D29 F0                MOVX    @DPTR,A
+001D32 E4                CLR     A
+001D33 904E3A            MOV     DPTR,#i
+001D36 F0                MOVX    @DPTR,A
   297: 	byte j = 0;
-001D2A A3                INC     DPTR
-001D2B F0                MOVX    @DPTR,A
+001D37 A3                INC     DPTR
+001D38 F0                MOVX    @DPTR,A
   298: 	byte k = 0;
-001D2C A3                INC     DPTR
-001D2D F0                MOVX    @DPTR,A
+001D39 A3                INC     DPTR
+001D3A F0                MOVX    @DPTR,A
   299: 	byte temp = 0;
-001D2E A3                INC     DPTR
-001D2F F0                MOVX    @DPTR,A
+001D3B A3                INC     DPTR
+001D3C F0                MOVX    @DPTR,A
   300: 	byte flag = 0;
-001D30 A3                INC     DPTR
-001D31 F0                MOVX    @DPTR,A
+001D3D A3                INC     DPTR
+001D3E F0                MOVX    @DPTR,A
   301: 	byte offset = 0;
-001D32 A3                INC     DPTR
-001D33 F0                MOVX    @DPTR,A
+001D3F A3                INC     DPTR
+001D40 F0                MOVX    @DPTR,A
   302: 	byte state = 0;
-001D34 A3                INC     DPTR
-001D35 F0                MOVX    @DPTR,A
+001D41 A3                INC     DPTR
+001D42 F0                MOVX    @DPTR,A
   303: 	byte keyCounttemp = 0;
-001D36 A3                INC     DPTR
-001D37 F0                MOVX    @DPTR,A
+001D43 A3                INC     DPTR
+001D44 F0                MOVX    @DPTR,A
   304: 	byte key_value_temp = 0;
-001D38 A3                INC     DPTR
-001D39 F0                MOVX    @DPTR,A
+001D45 A3                INC     DPTR
+001D46 F0                MOVX    @DPTR,A
   305: 	byte ghost = 0;
-001D3A A3                INC     DPTR
-001D3B F0                MOVX    @DPTR,A
+001D47 A3                INC     DPTR
+001D48 F0                MOVX    @DPTR,A
   306: 	byte rawCount = 0;
-001D3C A3                INC     DPTR
-001D3D F0                MOVX    @DPTR,A
+001D49 A3                INC     DPTR
+001D4A F0                MOVX    @DPTR,A
   307: 	
   308: 	KS_ScanMatrix();
-001D3E 1220B1            LCALL   KS_ScanMatrix
+001D4B 1220BE            LCALL   KS_ScanMatrix
   309: 
   310: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
-001D41 7A4D              MOV     R2,#HIGH ksSelMapCheck
-001D43 79A8              MOV     R1,#LOW ksSelMapCheck
-001D45 904E60            MOV     DPTR,#?_compare_str?BYTE+03H
-001D48 7401              MOV     A,#01H
-001D4A F0                MOVX    @DPTR,A
-001D4B A3                INC     DPTR
-001D4C 744D              MOV     A,#HIGH ksSelMapCheck
-001D4E F0                MOVX    @DPTR,A
-001D4F A3                INC     DPTR
-001D50 74A8              MOV     A,#LOW ksSelMapCheck
-001D52 F0                MOVX    @DPTR,A
-001D53 A3                INC     DPTR
-001D54 7414              MOV     A,#014H
-001D56 F0                MOVX    @DPTR,A
-001D57 7B01              MOV     R3,#01H
-001D59 7A4D              MOV     R2,#HIGH ksSelMapCurr
-001D5B 79BC              MOV     R1,#LOW ksSelMapCurr
-001D5D 12273D            LCALL   _compare_str
-001D60 EF                MOV     A,R7
-001D61 6016              JZ      ?C0059?KEYSCAN
-001D63 7B01              MOV     R3,#01H
-001D65 7A4D              MOV     R2,#HIGH ksSelMapCurr
-001D67 79BC              MOV     R1,#LOW ksSelMapCurr
-001D69 7D14              MOV     R5,#014H
-001D6B F181              ACALL   _array_is_empty
+001D4E 7A4D              MOV     R2,#HIGH ksSelMapCheck
+001D50 79A8              MOV     R1,#LOW ksSelMapCheck
+001D52 904E60            MOV     DPTR,#?_compare_str?BYTE+03H
+001D55 7401              MOV     A,#01H
+001D57 F0                MOVX    @DPTR,A
+001D58 A3                INC     DPTR
+001D59 744D              MOV     A,#HIGH ksSelMapCheck
+001D5B F0                MOVX    @DPTR,A
+001D5C A3                INC     DPTR
+001D5D 74A8              MOV     A,#LOW ksSelMapCheck
+001D5F F0                MOVX    @DPTR,A
+001D60 A3                INC     DPTR
+001D61 7414              MOV     A,#014H
+001D63 F0                MOVX    @DPTR,A
+001D64 7B01              MOV     R3,#01H
+001D66 7A4D              MOV     R2,#HIGH ksSelMapCurr
+001D68 79BC              MOV     R1,#LOW ksSelMapCurr
+001D6A 12274A            LCALL   _compare_str
 001D6D EF                MOV     A,R7
-001D6E 7009              JNZ     ?C0059?KEYSCAN
+001D6E 6016              JZ      ?C0059?KEYSCAN
+001D70 7B01              MOV     R3,#01H
+001D72 7A4D              MOV     R2,#HIGH ksSelMapCurr
+001D74 79BC              MOV     R1,#LOW ksSelMapCurr
+001D76 7D14              MOV     R5,#014H
+001D78 F18E              ACALL   _array_is_empty
+001D7A EF                MOV     A,R7
+001D7B 7009              JNZ     ?C0059?KEYSCAN
   311: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
   312: 	{
   313: 		g_variable.button_flag |= 0x02;
-001D70 904CCE            MOV     DPTR,#g_variable+0FH
-001D73 E0                MOVX    A,@DPTR
-001D74 4402              ORL     A,#02H
-001D76 F0                MOVX    @DPTR,A
+001D7D 904CCE            MOV     DPTR,#g_variable+0FH
+001D80 E0                MOVX    A,@DPTR
+001D81 4402              ORL     A,#02H
+001D83 F0                MOVX    @DPTR,A
   314: 	}
-001D77 800C              SJMP    ?C0060?KEYSCAN
-001D79         ?C0059?KEYSCAN:
+001D84 800C              SJMP    ?C0060?KEYSCAN
+001D86         ?C0059?KEYSCAN:
   315: 	else
   316: 	{	
   317: 		g_variable.button_flag &= 0xFD;
-001D79 904CCE            MOV     DPTR,#g_variable+0FH
-001D7C E0                MOVX    A,@DPTR
-001D7D 54FD              ANL     A,#0FDH
-001D7F F0                MOVX    @DPTR,A
+001D86 904CCE            MOV     DPTR,#g_variable+0FH
+001D89 E0                MOVX    A,@DPTR
+001D8A 54FD              ANL     A,#0FDH
+001D8C F0                MOVX    @DPTR,A
   318: 		g_variable.button_timer[1] = 0;
-001D80 E4                CLR     A
-001D81 904CD0            MOV     DPTR,#g_variable+011H
-001D84 F0                MOVX    @DPTR,A
+001D8D E4                CLR     A
+001D8E 904CD0            MOV     DPTR,#g_variable+011H
+001D91 F0                MOVX    @DPTR,A
   319: 	}
-001D85         ?C0060?KEYSCAN:
+001D92         ?C0060?KEYSCAN:
   320: 
   321: 	for (i=0; col[i]!=0; i++) 
-001D85 E4                CLR     A
-001D86 904E3A            MOV     DPTR,#i
-001D89 F0                MOVX    @DPTR,A
-001D8A         ?C0061?KEYSCAN:
-001D8A 904E3A            MOV     DPTR,#i
-001D8D E0                MOVX    A,@DPTR
-001D8E FF                MOV     R7,A
-001D8F 900681            MOV     DPTR,#col
-001D92 93                MOVC    A,@A+DPTR
-001D93 7002              JNZ     $ + 4H
-001D95 C157              AJMP    ?C0062?KEYSCAN
+001D92 E4                CLR     A
+001D93 904E3A            MOV     DPTR,#i
+001D96 F0                MOVX    @DPTR,A
+001D97         ?C0061?KEYSCAN:
+001D97 904E3A            MOV     DPTR,#i
+001D9A E0                MOVX    A,@DPTR
+001D9B FF                MOV     R7,A
+001D9C 900681            MOV     DPTR,#col
+001D9F 93                MOVC    A,@A+DPTR
+001DA0 7002              JNZ     $ + 4H
+001DA2 C164              AJMP    ?C0062?KEYSCAN
   322: 	{
   323: 		temp = ksSelMapCurr[i];
-001D97 74BC              MOV     A,#LOW ksSelMapCurr
-001D99 2F                ADD     A,R7
-001D9A F582              MOV     DPL,A
-001D9C E4                CLR     A
-001D9D 344D              ADDC    A,#HIGH ksSelMapCurr
-001D9F F583              MOV     DPH,A
-001DA1 E0                MOVX    A,@DPTR
-001DA2 904E3D            MOV     DPTR,#temp
-001DA5 F0                MOVX    @DPTR,A
+001DA4 74BC              MOV     A,#LOW ksSelMapCurr
+001DA6 2F                ADD     A,R7
+001DA7 F582              MOV     DPL,A
+001DA9 E4                CLR     A
+001DAA 344D              ADDC    A,#HIGH ksSelMapCurr
+001DAC F583              MOV     DPH,A
+001DAE E0                MOVX    A,@DPTR
+001DAF 904E3D            MOV     DPTR,#temp
+001DB2 F0                MOVX    @DPTR,A
   324: 		rawCount = bit_count(temp);
-001DA6 E0                MOVX    A,@DPTR
-001DA7 FF                MOV     R7,A
-001DA8 F173              ACALL   _bit_count
-001DAA 904E44            MOV     DPTR,#rawCount
-001DAD EF                MOV     A,R7
-001DAE F0                MOVX    @DPTR,A
+001DB3 E0                MOVX    A,@DPTR
+001DB4 FF                MOV     R7,A
+001DB5 F180              ACALL   _bit_count
+001DB7 904E44            MOV     DPTR,#rawCount
+001DBA EF                MOV     A,R7
+001DBB F0                MOVX    @DPTR,A
   325: 		if(rawCount >= 2)		// col[i] has more than two key press
-001DAF C3                CLR     C
-001DB0 9402              SUBB    A,#02H
-001DB2 5002              JNC     $ + 4H
-001DB4 C140              AJMP    ?C0064?KEYSCAN
+001DBC C3                CLR     C
+001DBD 9402              SUBB    A,#02H
+001DBF 5002              JNC     $ + 4H
+001DC1 C14D              AJMP    ?C0064?KEYSCAN
   326: 		{
   327: 			for(j=0 ; j<8 ;j++)
-001DB6 E4                CLR     A
-001DB7 904E3B            MOV     DPTR,#j
-001DBA F0                MOVX    @DPTR,A
-001DBB         ?C0065?KEYSCAN:
-001DBB 904E3B            MOV     DPTR,#j
-001DBE E0                MOVX    A,@DPTR
-001DBF FF                MOV     R7,A
-001DC0 C3                CLR     C
-001DC1 9408              SUBB    A,#08H
-001DC3 507B              JNC     ?C0064?KEYSCAN
+001DC3 E4                CLR     A
+001DC4 904E3B            MOV     DPTR,#j
+001DC7 F0                MOVX    @DPTR,A
+001DC8         ?C0065?KEYSCAN:
+001DC8 904E3B            MOV     DPTR,#j
+001DCB E0                MOVX    A,@DPTR
+001DCC FF                MOV     R7,A
+001DCD C3                CLR     C
+001DCE 9408              SUBB    A,#08H
+001DD0 507B              JNC     ?C0064?KEYSCAN
   328: 			{
   329: 				if(temp & (1<<j))	// Ci_Rj press
-001DC5 7401              MOV     A,#01H
-001DC7 7E00              MOV     R6,#00H
-001DC9 A807              MOV     R0,AR7
-001DCB 08                INC     R0
-001DCC 8005              SJMP    ?C0103?KEYSCAN
-001DCE         ?C0102?KEYSCAN:
-001DCE C3                CLR     C
-001DCF 33                RLC     A
-001DD0 CE                XCH     A,R6
-001DD1 33                RLC     A
-001DD2 CE                XCH     A,R6
-001DD3         ?C0103?KEYSCAN:
-001DD3 D8F9              DJNZ    R0,?C0102?KEYSCAN
-001DD5 FF                MOV     R7,A
-001DD6 904E3D            MOV     DPTR,#temp
-001DD9 E0                MOVX    A,@DPTR
-001DDA FD                MOV     R5,A
-001DDB E4                CLR     A
-001DDC EF                MOV     A,R7
-001DDD 5D                ANL     A,R5
-001DDE 6058              JZ      ?C0067?KEYSCAN
+001DD2 7401              MOV     A,#01H
+001DD4 7E00              MOV     R6,#00H
+001DD6 A807              MOV     R0,AR7
+001DD8 08                INC     R0
+001DD9 8005              SJMP    ?C0103?KEYSCAN
+001DDB         ?C0102?KEYSCAN:
+001DDB C3                CLR     C
+001DDC 33                RLC     A
+001DDD CE                XCH     A,R6
+001DDE 33                RLC     A
+001DDF CE                XCH     A,R6
+001DE0         ?C0103?KEYSCAN:
+001DE0 D8F9              DJNZ    R0,?C0102?KEYSCAN
+001DE2 FF                MOV     R7,A
+001DE3 904E3D            MOV     DPTR,#temp
+001DE6 E0                MOVX    A,@DPTR
+001DE7 FD                MOV     R5,A
+001DE8 E4                CLR     A
+001DE9 EF                MOV     A,R7
+001DEA 5D                ANL     A,R5
+001DEB 6058              JZ      ?C0067?KEYSCAN
   330: 				{
   331: 					for(k=0 ; col[k]!=0; k++)
-001DE0 E4                CLR     A
-001DE1 904E3C            MOV     DPTR,#k
-001DE4 F0                MOVX    @DPTR,A
-001DE5         ?C0069?KEYSCAN:
-001DE5 904E3C            MOV     DPTR,#k
-001DE8 E0                MOVX    A,@DPTR
-001DE9 FF                MOV     R7,A
-001DEA 900681            MOV     DPTR,#col
-001DED 93                MOVC    A,@A+DPTR
-001DEE 6048              JZ      ?C0067?KEYSCAN
+001DED E4                CLR     A
+001DEE 904E3C            MOV     DPTR,#k
+001DF1 F0                MOVX    @DPTR,A
+001DF2         ?C0069?KEYSCAN:
+001DF2 904E3C            MOV     DPTR,#k
+001DF5 E0                MOVX    A,@DPTR
+001DF6 FF                MOV     R7,A
+001DF7 900681            MOV     DPTR,#col
+001DFA 93                MOVC    A,@A+DPTR
+001DFB 6048              JZ      ?C0067?KEYSCAN
   332: 					{
   333: 						if(k!= i)
-001DF0 904E3A            MOV     DPTR,#i
-001DF3 E0                MOVX    A,@DPTR
-001DF4 FE                MOV     R6,A
-001DF5 EF                MOV     A,R7
-001DF6 6E                XRL     A,R6
-001DF7 6037              JZ      ?C0071?KEYSCAN
+001DFD 904E3A            MOV     DPTR,#i
+001E00 E0                MOVX    A,@DPTR
+001E01 FE                MOV     R6,A
+001E02 EF                MOV     A,R7
+001E03 6E                XRL     A,R6
+001E04 6037              JZ      ?C0071?KEYSCAN
   334: 						{
   335: 							if(ksSelMapCurr[k] & (1<<j))	// R line has another key press
-001DF9 904E3C            MOV     DPTR,#k
-001DFC E0                MOVX    A,@DPTR
-001DFD 24BC              ADD     A,#LOW ksSelMapCurr
-001DFF F582              MOV     DPL,A
-001E01 E4                CLR     A
-001E02 344D              ADDC    A,#HIGH ksSelMapCurr
-001E04 F583              MOV     DPH,A
-001E06 E0                MOVX    A,@DPTR
-001E07 FD                MOV     R5,A
-001E08 7C00              MOV     R4,#00H
-001E0A 904E3B            MOV     DPTR,#j
-001E0D E0                MOVX    A,@DPTR
-001E0E FF                MOV     R7,A
-001E0F 7401              MOV     A,#01H
-001E11 7E00              MOV     R6,#00H
-001E13 A807              MOV     R0,AR7
-001E15 08                INC     R0
-001E16 8005              SJMP    ?C0105?KEYSCAN
-001E18         ?C0104?KEYSCAN:
-001E18 C3                CLR     C
-001E19 33                RLC     A
-001E1A CE                XCH     A,R6
-001E1B 33                RLC     A
-001E1C CE                XCH     A,R6
-001E1D         ?C0105?KEYSCAN:
-001E1D D8F9              DJNZ    R0,?C0104?KEYSCAN
-001E1F FF                MOV     R7,A
-001E20 EE                MOV     A,R6
-001E21 5C                ANL     A,R4
-001E22 FE                MOV     R6,A
-001E23 EF                MOV     A,R7
-001E24 5D                ANL     A,R5
-001E25 4E                ORL     A,R6
-001E26 6008              JZ      ?C0071?KEYSCAN
+001E06 904E3C            MOV     DPTR,#k
+001E09 E0                MOVX    A,@DPTR
+001E0A 24BC              ADD     A,#LOW ksSelMapCurr
+001E0C F582              MOV     DPL,A
+001E0E E4                CLR     A
+001E0F 344D              ADDC    A,#HIGH ksSelMapCurr
+001E11 F583              MOV     DPH,A
+001E13 E0                MOVX    A,@DPTR
+001E14 FD                MOV     R5,A
+001E15 7C00              MOV     R4,#00H
+001E17 904E3B            MOV     DPTR,#j
+001E1A E0                MOVX    A,@DPTR
+001E1B FF                MOV     R7,A
+001E1C 7401              MOV     A,#01H
+001E1E 7E00              MOV     R6,#00H
+001E20 A807              MOV     R0,AR7
+001E22 08                INC     R0
+001E23 8005              SJMP    ?C0105?KEYSCAN
+001E25         ?C0104?KEYSCAN:
+001E25 C3                CLR     C
+001E26 33                RLC     A
+001E27 CE                XCH     A,R6
+001E28 33                RLC     A
+001E29 CE                XCH     A,R6
+001E2A         ?C0105?KEYSCAN:
+001E2A D8F9              DJNZ    R0,?C0104?KEYSCAN
+001E2C FF                MOV     R7,A
+001E2D EE                MOV     A,R6
+001E2E 5C                ANL     A,R4
+001E2F FE                MOV     R6,A
+001E30 EF                MOV     A,R7
+001E31 5D                ANL     A,R5
+001E32 4E                ORL     A,R6
+001E33 6008              JZ      ?C0071?KEYSCAN
   336: 							{
   337: 								ghost = 1;
-001E28 904E43            MOV     DPTR,#ghost
-001E2B 7401              MOV     A,#01H
-001E2D F0                MOVX    @DPTR,A
+001E35 904E43            MOV     DPTR,#ghost
+001E38 7401              MOV     A,#01H
+001E3A F0                MOVX    @DPTR,A
   338: 								break;
-001E2E 8008              SJMP    ?C0067?KEYSCAN
+001E3B 8008              SJMP    ?C0067?KEYSCAN
   339: 							}	
   340: 						}
   341: 					}
-001E30         ?C0071?KEYSCAN:
-001E30 904E3C            MOV     DPTR,#k
-001E33 E0                MOVX    A,@DPTR
-001E34 04                INC     A
-001E35 F0                MOVX    @DPTR,A
-001E36 80AD              SJMP    ?C0069?KEYSCAN
+001E3D         ?C0071?KEYSCAN:
+001E3D 904E3C            MOV     DPTR,#k
+001E40 E0                MOVX    A,@DPTR
+001E41 04                INC     A
+001E42 F0                MOVX    @DPTR,A
+001E43 80AD              SJMP    ?C0069?KEYSCAN
   342: 				}
   343: 			}
-001E38         ?C0067?KEYSCAN:
-001E38 904E3B            MOV     DPTR,#j
-001E3B E0                MOVX    A,@DPTR
-001E3C 04                INC     A
-001E3D F0                MOVX    @DPTR,A
-001E3E A1BB              AJMP    ?C0065?KEYSCAN
+001E45         ?C0067?KEYSCAN:
+001E45 904E3B            MOV     DPTR,#j
+001E48 E0                MOVX    A,@DPTR
+001E49 04                INC     A
+001E4A F0                MOVX    @DPTR,A
+001E4B A1C8              AJMP    ?C0065?KEYSCAN
   344: 		}
-001E40         ?C0064?KEYSCAN:
+001E4D         ?C0064?KEYSCAN:
   345: 		
   346: 		if (temp!=0)
-001E40 904E3D            MOV     DPTR,#temp
-001E43 E0                MOVX    A,@DPTR
-001E44 FF                MOV     R7,A
-001E45 6008              JZ      ?C0063?KEYSCAN
+001E4D 904E3D            MOV     DPTR,#temp
+001E50 E0                MOVX    A,@DPTR
+001E51 FF                MOV     R7,A
+001E52 6008              JZ      ?C0063?KEYSCAN
   347: 		{
   348: 			keyCounttemp += bit_count(temp);
-001E47 F173              ACALL   _bit_count
-001E49 904E41            MOV     DPTR,#keyCounttemp
-001E4C E0                MOVX    A,@DPTR
-001E4D 2F                ADD     A,R7
-001E4E F0                MOVX    @DPTR,A
+001E54 F180              ACALL   _bit_count
+001E56 904E41            MOV     DPTR,#keyCounttemp
+001E59 E0                MOVX    A,@DPTR
+001E5A 2F                ADD     A,R7
+001E5B F0                MOVX    @DPTR,A
   349: 		}
   350: 	}
-001E4F         ?C0063?KEYSCAN:
-001E4F 904E3A            MOV     DPTR,#i
-001E52 E0                MOVX    A,@DPTR
-001E53 04                INC     A
-001E54 F0                MOVX    @DPTR,A
-001E55 A18A              AJMP    ?C0061?KEYSCAN
-001E57         ?C0062?KEYSCAN:
+001E5C         ?C0063?KEYSCAN:
+001E5C 904E3A            MOV     DPTR,#i
+001E5F E0                MOVX    A,@DPTR
+001E60 04                INC     A
+001E61 F0                MOVX    @DPTR,A
+001E62 A197              AJMP    ?C0061?KEYSCAN
+001E64         ?C0062?KEYSCAN:
   351: 	keyCount = keyCounttemp;
-001E57 904E41            MOV     DPTR,#keyCounttemp
-001E5A E0                MOVX    A,@DPTR
-001E5B 904DE4            MOV     DPTR,#keyCount
-001E5E F0                MOVX    @DPTR,A
+001E64 904E41            MOV     DPTR,#keyCounttemp
+001E67 E0                MOVX    A,@DPTR
+001E68 904DE4            MOV     DPTR,#keyCount
+001E6B F0                MOVX    @DPTR,A
   352: 	
   353: 	for (i=0; col[i]!=0; i++)
-001E5F E4                CLR     A
-001E60 904E3A            MOV     DPTR,#i
-001E63 F0                MOVX    @DPTR,A
-001E64         ?C0075?KEYSCAN:
-001E64 904E3A            MOV     DPTR,#i
-001E67 E0                MOVX    A,@DPTR
-001E68 FF                MOV     R7,A
-001E69 900681            MOV     DPTR,#col
-001E6C 93                MOVC    A,@A+DPTR
-001E6D 7002              JNZ     $ + 4H
-001E6F E147              AJMP    ?C0076?KEYSCAN
+001E6C E4                CLR     A
+001E6D 904E3A            MOV     DPTR,#i
+001E70 F0                MOVX    @DPTR,A
+001E71         ?C0075?KEYSCAN:
+001E71 904E3A            MOV     DPTR,#i
+001E74 E0                MOVX    A,@DPTR
+001E75 FF                MOV     R7,A
+001E76 900681            MOV     DPTR,#col
+001E79 93                MOVC    A,@A+DPTR
+001E7A 7002              JNZ     $ + 4H
+001E7C E154              AJMP    ?C0076?KEYSCAN
   354: 	{
   355: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
-001E71 7493              MOV     A,#LOW ksSelMapOld
-001E73 2F                ADD     A,R7
-001E74 F582              MOV     DPL,A
-001E76 E4                CLR     A
-001E77 344D              ADDC    A,#HIGH ksSelMapOld
-001E79 F583              MOV     DPH,A
-001E7B E0                MOVX    A,@DPTR
-001E7C FE                MOV     R6,A
-001E7D 74BC              MOV     A,#LOW ksSelMapCurr
-001E7F 2F                ADD     A,R7
-001E80 F582              MOV     DPL,A
-001E82 E4                CLR     A
-001E83 344D              ADDC    A,#HIGH ksSelMapCurr
-001E85 F583              MOV     DPH,A
-001E87 E0                MOVX    A,@DPTR
-001E88 6E                XRL     A,R6
-001E89 904E3D            MOV     DPTR,#temp
-001E8C F0                MOVX    @DPTR,A
+001E7E 7493              MOV     A,#LOW ksSelMapOld
+001E80 2F                ADD     A,R7
+001E81 F582              MOV     DPL,A
+001E83 E4                CLR     A
+001E84 344D              ADDC    A,#HIGH ksSelMapOld
+001E86 F583              MOV     DPH,A
+001E88 E0                MOVX    A,@DPTR
+001E89 FE                MOV     R6,A
+001E8A 74BC              MOV     A,#LOW ksSelMapCurr
+001E8C 2F                ADD     A,R7
+001E8D F582              MOV     DPL,A
+001E8F E4                CLR     A
+001E90 344D              ADDC    A,#HIGH ksSelMapCurr
+001E92 F583              MOV     DPH,A
+001E94 E0                MOVX    A,@DPTR
+001E95 6E                XRL     A,R6
+001E96 904E3D            MOV     DPTR,#temp
+001E99 F0                MOVX    @DPTR,A
   356: 		state = ksSelMapCurr[i];
-001E8D 904E3A            MOV     DPTR,#i
-001E90 E0                MOVX    A,@DPTR
-001E91 FF                MOV     R7,A
-001E92 24BC              ADD     A,#LOW ksSelMapCurr
-001E94 F582              MOV     DPL,A
-001E96 E4                CLR     A
-001E97 344D              ADDC    A,#HIGH ksSelMapCurr
-001E99 F583              MOV     DPH,A
-001E9B E0                MOVX    A,@DPTR
-001E9C 904E40            MOV     DPTR,#state
-001E9F F0                MOVX    @DPTR,A
+001E9A 904E3A            MOV     DPTR,#i
+001E9D E0                MOVX    A,@DPTR
+001E9E FF                MOV     R7,A
+001E9F 24BC              ADD     A,#LOW ksSelMapCurr
+001EA1 F582              MOV     DPL,A
+001EA3 E4                CLR     A
+001EA4 344D              ADDC    A,#HIGH ksSelMapCurr
+001EA6 F583              MOV     DPH,A
+001EA8 E0                MOVX    A,@DPTR
+001EA9 904E40            MOV     DPTR,#state
+001EAC F0                MOVX    @DPTR,A
   357: 		if (temp == 0) 
-001EA0 904E3D            MOV     DPTR,#temp
-001EA3 E0                MOVX    A,@DPTR
-001EA4 7004              JNZ     ?C0078?KEYSCAN
+001EAD 904E3D            MOV     DPTR,#temp
+001EB0 E0                MOVX    A,@DPTR
+001EB1 7004              JNZ     ?C0078?KEYSCAN
   358: 		{
   359: 			continue;
-001EA6 E13F              AJMP    ?C0077?KEYSCAN
+001EB3 E14C              AJMP    ?C0077?KEYSCAN
   360: 		}
-001EA8 E13F              AJMP    ?C0077?KEYSCAN
-001EAA         ?C0078?KEYSCAN:
+001EB5 E14C              AJMP    ?C0077?KEYSCAN
+001EB7         ?C0078?KEYSCAN:
   361: 		else 
   362: 		{
   363: 
   364: 			if (ghost) 
-001EAA 904E43            MOV     DPTR,#ghost
-001EAD E0                MOVX    A,@DPTR
-001EAE 6007              JZ      ?C0080?KEYSCAN
+001EB7 904E43            MOV     DPTR,#ghost
+001EBA E0                MOVX    A,@DPTR
+001EBB 6007              JZ      ?C0080?KEYSCAN
   365: 				return NULL;
-001EB0 7B00              MOV     R3,#00H
-001EB2 7A00              MOV     R2,#00H
-001EB4 7900              MOV     R1,#00H
-001EB6 22                RET     
-001EB7         ?C0080?KEYSCAN:
+001EBD 7B00              MOV     R3,#00H
+001EBF 7A00              MOV     R2,#00H
+001EC1 7900              MOV     R1,#00H
+001EC3 22                RET     
+001EC4         ?C0080?KEYSCAN:
   366: 			ksSelMapOld[i] = ksSelMapCurr[i];
-001EB7 74BC              MOV     A,#LOW ksSelMapCurr
-001EB9 2F                ADD     A,R7
-001EBA F582              MOV     DPL,A
-001EBC E4                CLR     A
-001EBD 344D              ADDC    A,#HIGH ksSelMapCurr
-001EBF F583              MOV     DPH,A
-001EC1 E0                MOVX    A,@DPTR
-001EC2 FE                MOV     R6,A
-001EC3 7493              MOV     A,#LOW ksSelMapOld
-001EC5 2F                ADD     A,R7
-001EC6 F582              MOV     DPL,A
-001EC8 E4                CLR     A
-001EC9 344D              ADDC    A,#HIGH ksSelMapOld
-001ECB F583              MOV     DPH,A
-001ECD EE                MOV     A,R6
-001ECE F0                MOVX    @DPTR,A
+001EC4 74BC              MOV     A,#LOW ksSelMapCurr
+001EC6 2F                ADD     A,R7
+001EC7 F582              MOV     DPL,A
+001EC9 E4                CLR     A
+001ECA 344D              ADDC    A,#HIGH ksSelMapCurr
+001ECC F583              MOV     DPH,A
+001ECE E0                MOVX    A,@DPTR
+001ECF FE                MOV     R6,A
+001ED0 7493              MOV     A,#LOW ksSelMapOld
+001ED2 2F                ADD     A,R7
+001ED3 F582              MOV     DPL,A
+001ED5 E4                CLR     A
+001ED6 344D              ADDC    A,#HIGH ksSelMapOld
+001ED8 F583              MOV     DPH,A
+001EDA EE                MOV     A,R6
+001EDB F0                MOVX    @DPTR,A
   367: 			for (j = 0 ; j<8 ; j++) 
-001ECF E4                CLR     A
-001ED0 904E3B            MOV     DPTR,#j
-001ED3 F0                MOVX    @DPTR,A
-001ED4         ?C0082?KEYSCAN:
-001ED4 904E3B            MOV     DPTR,#j
-001ED7 E0                MOVX    A,@DPTR
-001ED8 FF                MOV     R7,A
-001ED9 C3                CLR     C
-001EDA 9408              SUBB    A,#08H
-001EDC 505B              JNC     ?C0083?KEYSCAN
+001EDC E4                CLR     A
+001EDD 904E3B            MOV     DPTR,#j
+001EE0 F0                MOVX    @DPTR,A
+001EE1         ?C0082?KEYSCAN:
+001EE1 904E3B            MOV     DPTR,#j
+001EE4 E0                MOVX    A,@DPTR
+001EE5 FF                MOV     R7,A
+001EE6 C3                CLR     C
+001EE7 9408              SUBB    A,#08H
+001EE9 505B              JNC     ?C0083?KEYSCAN
   368: 			{
   369: 				if (temp&1)
-001EDE 904E3D            MOV     DPTR,#temp
-001EE1 E0                MOVX    A,@DPTR
-001EE2 30E03C            JNB     ACC.0,?C0085?KEYSCAN
+001EEB 904E3D            MOV     DPTR,#temp
+001EEE E0                MOVX    A,@DPTR
+001EEF 30E03C            JNB     ACC.0,?C0085?KEYSCAN
   370: 				{
   371: 					offset = i<<3 |j;
-001EE5 904E3A            MOV     DPTR,#i
-001EE8 E0                MOVX    A,@DPTR
-001EE9 FE                MOV     R6,A
-001EEA 33                RLC     A
-001EEB 33                RLC     A
-001EEC 33                RLC     A
-001EED 54F8              ANL     A,#0F8H
-001EEF FE                MOV     R6,A
-001EF0 EF                MOV     A,R7
-001EF1 4E                ORL     A,R6
-001EF2 904E3F            MOV     DPTR,#offset
-001EF5 F0                MOVX    @DPTR,A
+001EF2 904E3A            MOV     DPTR,#i
+001EF5 E0                MOVX    A,@DPTR
+001EF6 FE                MOV     R6,A
+001EF7 33                RLC     A
+001EF8 33                RLC     A
+001EF9 33                RLC     A
+001EFA 54F8              ANL     A,#0F8H
+001EFC FE                MOV     R6,A
+001EFD EF                MOV     A,R7
+001EFE 4E                ORL     A,R6
+001EFF 904E3F            MOV     DPTR,#offset
+001F02 F0                MOVX    @DPTR,A
   372: 					key_value_temp = key_fn_function(state,ksMap[offset]);
-001EF6 A3                INC     DPTR
-001EF7 E0                MOVX    A,@DPTR
-001EF8 FF                MOV     R7,A
-001EF9 904E3F            MOV     DPTR,#offset
-001EFC E0                MOVX    A,@DPTR
-001EFD 900696            MOV     DPTR,#ksMap
-001F00 93                MOVC    A,@A+DPTR
-001F01 FD                MOV     R5,A
-001F02 51DD              ACALL   _key_fn_function
-001F04 904E42            MOV     DPTR,#key_value_temp
-001F07 EF                MOV     A,R7
-001F08 F0                MOVX    @DPTR,A
+001F03 A3                INC     DPTR
+001F04 E0                MOVX    A,@DPTR
+001F05 FF                MOV     R7,A
+001F06 904E3F            MOV     DPTR,#offset
+001F09 E0                MOVX    A,@DPTR
+001F0A 900696            MOV     DPTR,#ksMap
+001F0D 93                MOVC    A,@A+DPTR
+001F0E FD                MOV     R5,A
+001F0F 51DD              ACALL   _key_fn_function
+001F11 904E42            MOV     DPTR,#key_value_temp
+001F14 EF                MOV     A,R7
+001F15 F0                MOVX    @DPTR,A
   373: 					if (state & 1)
-001F09 904E40            MOV     DPTR,#state
-001F0C E0                MOVX    A,@DPTR
-001F0D 30E009            JNB     ACC.0,?C0086?KEYSCAN
+001F16 904E40            MOV     DPTR,#state
+001F19 E0                MOVX    A,@DPTR
+001F1A 30E009            JNB     ACC.0,?C0086?KEYSCAN
   374: 					{
   375: 						keyIn(key_value_temp);
-001F10 904E42            MOV     DPTR,#key_value_temp
-001F13 E0                MOVX    A,@DPTR
-001F14 FF                MOV     R7,A
-001F15 F1B1              ACALL   _keyIn
+001F1D 904E42            MOV     DPTR,#key_value_temp
+001F20 E0                MOVX    A,@DPTR
+001F21 FF                MOV     R7,A
+001F22 F1BE              ACALL   _keyIn
   376: 					}
-001F17 8008              SJMP    ?C0085?KEYSCAN
-001F19         ?C0086?KEYSCAN:
+001F24 8008              SJMP    ?C0085?KEYSCAN
+001F26         ?C0086?KEYSCAN:
   377: 					else
   378: 					{
   379: 						keyOut(key_value_temp);
-001F19 904E42            MOV     DPTR,#key_value_temp
-001F1C E0                MOVX    A,@DPTR
-001F1D FF                MOV     R7,A
-001F1E 122007            LCALL   _keyOut
+001F26 904E42            MOV     DPTR,#key_value_temp
+001F29 E0                MOVX    A,@DPTR
+001F2A FF                MOV     R7,A
+001F2B 122014            LCALL   _keyOut
   380: 					}
   381: 				}
-001F21         ?C0085?KEYSCAN:
+001F2E         ?C0085?KEYSCAN:
   382: 				temp = temp >>1;
-001F21 904E3D            MOV     DPTR,#temp
-001F24 E0                MOVX    A,@DPTR
-001F25 FF                MOV     R7,A
-001F26 C3                CLR     C
-001F27 13                RRC     A
-001F28 F0                MOVX    @DPTR,A
+001F2E 904E3D            MOV     DPTR,#temp
+001F31 E0                MOVX    A,@DPTR
+001F32 FF                MOV     R7,A
+001F33 C3                CLR     C
+001F34 13                RRC     A
+001F35 F0                MOVX    @DPTR,A
   383: 				state = state>>1;
-001F29 904E40            MOV     DPTR,#state
-001F2C E0                MOVX    A,@DPTR
-001F2D FF                MOV     R7,A
-001F2E C3                CLR     C
-001F2F 13                RRC     A
-001F30 F0                MOVX    @DPTR,A
+001F36 904E40            MOV     DPTR,#state
+001F39 E0                MOVX    A,@DPTR
+001F3A FF                MOV     R7,A
+001F3B C3                CLR     C
+001F3C 13                RRC     A
+001F3D F0                MOVX    @DPTR,A
   384: 			}
-001F31 904E3B            MOV     DPTR,#j
-001F34 E0                MOVX    A,@DPTR
-001F35 04                INC     A
-001F36 F0                MOVX    @DPTR,A
-001F37 809B              SJMP    ?C0082?KEYSCAN
-001F39         ?C0083?KEYSCAN:
+001F3E 904E3B            MOV     DPTR,#j
+001F41 E0                MOVX    A,@DPTR
+001F42 04                INC     A
+001F43 F0                MOVX    @DPTR,A
+001F44 809B              SJMP    ?C0082?KEYSCAN
+001F46         ?C0083?KEYSCAN:
   385: 			flag = 1;
-001F39 904E3E            MOV     DPTR,#flag
-001F3C 7401              MOV     A,#01H
-001F3E F0                MOVX    @DPTR,A
+001F46 904E3E            MOV     DPTR,#flag
+001F49 7401              MOV     A,#01H
+001F4B F0                MOVX    @DPTR,A
   386: 		}
   387: 	}
-001F3F         ?C0077?KEYSCAN:
-001F3F 904E3A            MOV     DPTR,#i
-001F42 E0                MOVX    A,@DPTR
-001F43 04                INC     A
-001F44 F0                MOVX    @DPTR,A
-001F45 C164              AJMP    ?C0075?KEYSCAN
-001F47         ?C0076?KEYSCAN:
+001F4C         ?C0077?KEYSCAN:
+001F4C 904E3A            MOV     DPTR,#i
+001F4F E0                MOVX    A,@DPTR
+001F50 04                INC     A
+001F51 F0                MOVX    @DPTR,A
+001F52 C171              AJMP    ?C0075?KEYSCAN
+001F54         ?C0076?KEYSCAN:
   388: 	
   389: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
-001F47 904E0C            MOV     DPTR,#mult_key_status
-001F4A E0                MOVX    A,@DPTR
-001F4B B4030A            CJNE    A,#03H,?C0088?KEYSCAN
-001F4E 904DDF            MOV     DPTR,#standard_key_release_flag
-001F51 E0                MOVX    A,@DPTR
-001F52 B40103            CJNE    A,#01H,?C0088?KEYSCAN
+001F54 904E0C            MOV     DPTR,#mult_key_status
+001F57 E0                MOVX    A,@DPTR
+001F58 B4030A            CJNE    A,#03H,?C0088?KEYSCAN
+001F5B 904DDF            MOV     DPTR,#standard_key_release_flag
+001F5E E0                MOVX    A,@DPTR
+001F5F B40103            CJNE    A,#01H,?C0088?KEYSCAN
   390: 	{
   391: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
-001F55 7402              MOV     A,#02H
-001F57 F0                MOVX    @DPTR,A
+001F62 7402              MOV     A,#02H
+001F64 F0                MOVX    @DPTR,A
   392: 	}
-001F58         ?C0088?KEYSCAN:
+001F65         ?C0088?KEYSCAN:
   393: 
   394: 	
   395: 	if (flag || standard_key_release_flag == 2) 
-001F58 904E3E            MOV     DPTR,#flag
-001F5B E0                MOVX    A,@DPTR
-001F5C 7007              JNZ     ?C0090?KEYSCAN
-001F5E 904DDF            MOV     DPTR,#standard_key_release_flag
-001F61 E0                MOVX    A,@DPTR
-001F62 B40207            CJNE    A,#02H,?C0089?KEYSCAN
-001F65         ?C0090?KEYSCAN:
+001F65 904E3E            MOV     DPTR,#flag
+001F68 E0                MOVX    A,@DPTR
+001F69 7007              JNZ     ?C0090?KEYSCAN
+001F6B 904DDF            MOV     DPTR,#standard_key_release_flag
+001F6E E0                MOVX    A,@DPTR
+001F6F B40207            CJNE    A,#02H,?C0089?KEYSCAN
+001F72         ?C0090?KEYSCAN:
   396: 	{
   397: 		return &ksEvtPool;
-001F65 7B01              MOV     R3,#01H
-001F67 7A4E              MOV     R2,#HIGH ksEvtPool
-001F69 7956              MOV     R1,#LOW ksEvtPool
-001F6B 22                RET     
+001F72 7B01              MOV     R3,#01H
+001F74 7A4E              MOV     R2,#HIGH ksEvtPool
+001F76 7956              MOV     R1,#LOW ksEvtPool
+001F78 22                RET     
   398: 	}
-001F6C         ?C0089?KEYSCAN:
+001F79         ?C0089?KEYSCAN:
   399: 	else
   400: 	{
   401: 		return NULL;
-001F6C 7B00              MOV     R3,#00H
-001F6E 7A00              MOV     R2,#00H
-001F70 7900              MOV     R1,#00H
+001F79 7B00              MOV     R3,#00H
+001F7B 7A00              MOV     R2,#00H
+001F7D 7900              MOV     R1,#00H
   402: 	}
   403: 	
   404: 
   405: }
-001F72 22                RET     
+001F7F 22                RET     
 ----- FUNCTION KS_GetCurrentEvt (END) -------
 
 
@@ -5799,23 +5811,23 @@
    27: 	unsigned char c;
    28: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-001F73 E4                CLR     A
-001F74 FE                MOV     R6,A
-001F75         ?C0001?KEYSCAN:
-001F75 EF                MOV     A,R7
-001F76 6006              JZ      ?C0002?KEYSCAN
+001F80 E4                CLR     A
+001F81 FE                MOV     R6,A
+001F82         ?C0001?KEYSCAN:
+001F82 EF                MOV     A,R7
+001F83 6006              JZ      ?C0002?KEYSCAN
    29:     	v &= v - 1;
-001F78 14                DEC     A
-001F79 5F                ANL     A,R7
-001F7A FF                MOV     R7,A
+001F85 14                DEC     A
+001F86 5F                ANL     A,R7
+001F87 FF                MOV     R7,A
    30:     }
-001F7B 0E                INC     R6
-001F7C 80F7              SJMP    ?C0001?KEYSCAN
-001F7E         ?C0002?KEYSCAN:
+001F88 0E                INC     R6
+001F89 80F7              SJMP    ?C0001?KEYSCAN
+001F8B         ?C0002?KEYSCAN:
    31:     return c;
-001F7E AF06              MOV     R7,AR6
+001F8B AF06              MOV     R7,AR6
    32: }
-001F80 22                RET     
+001F8D 22                RET     
 ----- FUNCTION _bit_count (END) -------
 
 
@@ -5823,53 +5835,53 @@
  FILE: 'keyscan.c'
   281: byte array_is_empty(byte * str1,byte len)
   282: {
-001F81 904E9C            MOV     DPTR,#str1
-001F84 EB                MOV     A,R3
-001F85 F0                MOVX    @DPTR,A
-001F86 A3                INC     DPTR
-001F87 EA                MOV     A,R2
-001F88 F0                MOVX    @DPTR,A
-001F89 A3                INC     DPTR
-001F8A E9                MOV     A,R1
-001F8B F0                MOVX    @DPTR,A
+001F8E 904E9C            MOV     DPTR,#str1
+001F91 EB                MOV     A,R3
+001F92 F0                MOVX    @DPTR,A
+001F93 A3                INC     DPTR
+001F94 EA                MOV     A,R2
+001F95 F0                MOVX    @DPTR,A
+001F96 A3                INC     DPTR
+001F97 E9                MOV     A,R1
+001F98 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R5' ----
   283: 	byte i;
   284: 	for (i=0;i < len;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-001F8C E4                CLR     A
-001F8D FF                MOV     R7,A
-001F8E         ?C0054?KEYSCAN:
-001F8E EF                MOV     A,R7
-001F8F C3                CLR     C
-001F90 9D                SUBB    A,R5
-001F91 501B              JNC     ?C0055?KEYSCAN
+001F99 E4                CLR     A
+001F9A FF                MOV     R7,A
+001F9B         ?C0054?KEYSCAN:
+001F9B EF                MOV     A,R7
+001F9C C3                CLR     C
+001F9D 9D                SUBB    A,R5
+001F9E 501B              JNC     ?C0055?KEYSCAN
   285: 	{
   286: 		if (str1[i] != 0)
-001F93 904E9C            MOV     DPTR,#str1
-001F96 E0                MOVX    A,@DPTR
-001F97 FB                MOV     R3,A
-001F98 A3                INC     DPTR
-001F99 E0                MOVX    A,@DPTR
-001F9A FA                MOV     R2,A
-001F9B A3                INC     DPTR
-001F9C E0                MOVX    A,@DPTR
-001F9D F9                MOV     R1,A
-001F9E 8F82              MOV     DPL,R7
-001FA0 758300            MOV     DPH,#00H
-001FA3 1203CF            LCALL   ?C?CLDOPTR
-001FA6 6003              JZ      ?C0056?KEYSCAN
+001FA0 904E9C            MOV     DPTR,#str1
+001FA3 E0                MOVX    A,@DPTR
+001FA4 FB                MOV     R3,A
+001FA5 A3                INC     DPTR
+001FA6 E0                MOVX    A,@DPTR
+001FA7 FA                MOV     R2,A
+001FA8 A3                INC     DPTR
+001FA9 E0                MOVX    A,@DPTR
+001FAA F9                MOV     R1,A
+001FAB 8F82              MOV     DPL,R7
+001FAD 758300            MOV     DPH,#00H
+001FB0 1203CF            LCALL   ?C?CLDOPTR
+001FB3 6003              JZ      ?C0056?KEYSCAN
   287: 			return 0x00;
-001FA8 7F00              MOV     R7,#00H
-001FAA 22                RET     
+001FB5 7F00              MOV     R7,#00H
+001FB7 22                RET     
   288: 	}
-001FAB         ?C0056?KEYSCAN:
-001FAB 0F                INC     R7
-001FAC 80E0              SJMP    ?C0054?KEYSCAN
-001FAE         ?C0055?KEYSCAN:
+001FB8         ?C0056?KEYSCAN:
+001FB8 0F                INC     R7
+001FB9 80E0              SJMP    ?C0054?KEYSCAN
+001FBB         ?C0055?KEYSCAN:
   289: 	return 0x01;
-001FAE 7F01              MOV     R7,#01H
+001FBB 7F01              MOV     R7,#01H
   290: }
-001FB0 22                RET     
+001FBD 22                RET     
 ----- FUNCTION _array_is_empty (END) -------
 
 
@@ -5881,41 +5893,41 @@
    38: 	byte i = 0;
    39: 
 ;---- Variable 'i' assigned to Register 'R6' ----
-001FB1 E4                CLR     A
-001FB2 FE                MOV     R6,A
+001FBE E4                CLR     A
+001FBF FE                MOV     R6,A
    40: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-001FB3 EF                MOV     A,R7
-001FB4 C3                CLR     C
-001FB5 94E0              SUBB    A,#0E0H
-001FB7 4020              JC      ?C0005?KEYSCAN
-001FB9 EF                MOV     A,R7
-001FBA D3                SETB    C
-001FBB 94E7              SUBB    A,#0E7H
-001FBD 501A              JNC     ?C0005?KEYSCAN
+001FC0 EF                MOV     A,R7
+001FC1 C3                CLR     C
+001FC2 94E0              SUBB    A,#0E0H
+001FC4 4020              JC      ?C0005?KEYSCAN
+001FC6 EF                MOV     A,R7
+001FC7 D3                SETB    C
+001FC8 94E7              SUBB    A,#0E7H
+001FCA 501A              JNC     ?C0005?KEYSCAN
    41: 	{
    42: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
-001FBF 904E56            MOV     DPTR,#ksEvtPool
-001FC2 E0                MOVX    A,@DPTR
-001FC3 FE                MOV     R6,A
-001FC4 EF                MOV     A,R7
-001FC5 5407              ANL     A,#07H
-001FC7 FF                MOV     R7,A
-001FC8 7401              MOV     A,#01H
-001FCA A807              MOV     R0,AR7
-001FCC 08                INC     R0
-001FCD 8002              SJMP    ?C0093?KEYSCAN
-001FCF         ?C0092?KEYSCAN:
-001FCF C3                CLR     C
-001FD0 33                RLC     A
-001FD1         ?C0093?KEYSCAN:
-001FD1 D8FC              DJNZ    R0,?C0092?KEYSCAN
-001FD3 4E                ORL     A,R6
-001FD4 904E56            MOV     DPTR,#ksEvtPool
-001FD7 F0                MOVX    @DPTR,A
-001FD8 22                RET     
+001FCC 904E56            MOV     DPTR,#ksEvtPool
+001FCF E0                MOVX    A,@DPTR
+001FD0 FE                MOV     R6,A
+001FD1 EF                MOV     A,R7
+001FD2 5407              ANL     A,#07H
+001FD4 FF                MOV     R7,A
+001FD5 7401              MOV     A,#01H
+001FD7 A807              MOV     R0,AR7
+001FD9 08                INC     R0
+001FDA 8002              SJMP    ?C0093?KEYSCAN
+001FDC         ?C0092?KEYSCAN:
+001FDC C3                CLR     C
+001FDD 33                RLC     A
+001FDE         ?C0093?KEYSCAN:
+001FDE D8FC              DJNZ    R0,?C0092?KEYSCAN
+001FE0 4E                ORL     A,R6
+001FE1 904E56            MOV     DPTR,#ksEvtPool
+001FE4 F0                MOVX    @DPTR,A
+001FE5 22                RET     
    43: 		return;
    44: 	}
-001FD9         ?C0005?KEYSCAN:
+001FE6         ?C0005?KEYSCAN:
    45: /*
    46: 
    47: 	if (key == HID_KEY_RIGHT_GUI)
@@ -5962,52 +5974,52 @@
    88: 	//special key
    89: 
    90: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-001FD9 E4                CLR     A
-001FDA FE                MOV     R6,A
-001FDB         ?C0007?KEYSCAN:
+001FE6 E4                CLR     A
+001FE7 FE                MOV     R6,A
+001FE8         ?C0007?KEYSCAN:
    91: 	{
    92: 		if (ksEvtPool.ksPool[i] == key)
-001FDB 7457              MOV     A,#LOW ksEvtPool+01H
-001FDD 2E                ADD     A,R6
-001FDE F582              MOV     DPL,A
-001FE0 E4                CLR     A
-001FE1 344E              ADDC    A,#HIGH ksEvtPool+01H
-001FE3 F583              MOV     DPH,A
-001FE5 E0                MOVX    A,@DPTR
-001FE6 FD                MOV     R5,A
-001FE7 6F                XRL     A,R7
-001FE8 601C              JZ      ?C0006?KEYSCAN
+001FE8 7457              MOV     A,#LOW ksEvtPool+01H
+001FEA 2E                ADD     A,R6
+001FEB F582              MOV     DPL,A
+001FED E4                CLR     A
+001FEE 344E              ADDC    A,#HIGH ksEvtPool+01H
+001FF0 F583              MOV     DPH,A
+001FF2 E0                MOVX    A,@DPTR
+001FF3 FD                MOV     R5,A
+001FF4 6F                XRL     A,R7
+001FF5 601C              JZ      ?C0006?KEYSCAN
    93: 			break;
-001FEA         ?C0010?KEYSCAN:
+001FF7         ?C0010?KEYSCAN:
    94: 		if (ksEvtPool.ksPool[i] == 0) 
-001FEA ED                MOV     A,R5
-001FEB 7014              JNZ     ?C0009?KEYSCAN
+001FF7 ED                MOV     A,R5
+001FF8 7014              JNZ     ?C0009?KEYSCAN
    95: 		{
    96: 			if(mult_key_value != key)
-001FED 904DED            MOV     DPTR,#mult_key_value
-001FF0 E0                MOVX    A,@DPTR
-001FF1 6F                XRL     A,R7
-001FF2 6012              JZ      ?C0006?KEYSCAN
+001FFA 904DED            MOV     DPTR,#mult_key_value
+001FFD E0                MOVX    A,@DPTR
+001FFE 6F                XRL     A,R7
+001FFF 6012              JZ      ?C0006?KEYSCAN
    97: 				ksEvtPool.ksPool[i] = key;
-001FF4 7457              MOV     A,#LOW ksEvtPool+01H
-001FF6 2E                ADD     A,R6
-001FF7 F582              MOV     DPL,A
-001FF9 E4                CLR     A
-001FFA 344E              ADDC    A,#HIGH ksEvtPool+01H
-001FFC F583              MOV     DPH,A
-001FFE EF                MOV     A,R7
-001FFF F0                MOVX    @DPTR,A
+002001 7457              MOV     A,#LOW ksEvtPool+01H
+002003 2E                ADD     A,R6
+002004 F582              MOV     DPL,A
+002006 E4                CLR     A
+002007 344E              ADDC    A,#HIGH ksEvtPool+01H
+002009 F583              MOV     DPH,A
+00200B EF                MOV     A,R7
+00200C F0                MOVX    @DPTR,A
    98: 			break;
-002000 22                RET     
+00200D 22                RET     
    99: 		}
   100: 	}
-002001         ?C0009?KEYSCAN:
-002001 0E                INC     R6
-002002 EE                MOV     A,R6
-002003 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
+00200E         ?C0009?KEYSCAN:
+00200E 0E                INC     R6
+00200F EE                MOV     A,R6
+002010 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
   101: }
-002006         ?C0006?KEYSCAN:
-002006 22                RET     
+002013         ?C0006?KEYSCAN:
+002013 22                RET     
 ----- FUNCTION _keyIn (END) -------
 
 
@@ -6019,75 +6031,75 @@
   105: 	byte i = 0 ;
   106: 	byte found = 0;
 ;---- Variable 'i' assigned to Register 'R6' ----
-002007 E4                CLR     A
-002008 FE                MOV     R6,A
+002014 E4                CLR     A
+002015 FE                MOV     R6,A
   107: 
 ;---- Variable 'found' assigned to Register 'R5' ----
-002009 FD                MOV     R5,A
+002016 FD                MOV     R5,A
   108: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
-00200A EF                MOV     A,R7
-00200B 54F0              ANL     A,#0F0H
-00200D 64F0              XRL     A,#0F0H
-00200F 6007              JZ      ?C0014?KEYSCAN
-002011 EF                MOV     A,R7
-002012 54D0              ANL     A,#0D0H
-002014 FC                MOV     R4,A
-002015 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
-002018         ?C0014?KEYSCAN:
+002017 EF                MOV     A,R7
+002018 54F0              ANL     A,#0F0H
+00201A 64F0              XRL     A,#0F0H
+00201C 6007              JZ      ?C0014?KEYSCAN
+00201E EF                MOV     A,R7
+00201F 54D0              ANL     A,#0D0H
+002021 FC                MOV     R4,A
+002022 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
+002025         ?C0014?KEYSCAN:
   109: 	{
   110: 		if(mult_key_status == KEY_WAIT_RELEASE)
-002018 904E0C            MOV     DPTR,#mult_key_status
-00201B E0                MOVX    A,@DPTR
-00201C B4020B            CJNE    A,#02H,?C0016?KEYSCAN
+002025 904E0C            MOV     DPTR,#mult_key_status
+002028 E0                MOVX    A,@DPTR
+002029 B4020B            CJNE    A,#02H,?C0016?KEYSCAN
   111: 		{
   112: 			mult_key_status = KEY_RELEASE;
-00201F 7403              MOV     A,#03H
-002021 F0                MOVX    @DPTR,A
+00202C 7403              MOV     A,#03H
+00202E F0                MOVX    @DPTR,A
   113: 		}
   114: 	}
-002022 8006              SJMP    ?C0016?KEYSCAN
-002024         ?C0013?KEYSCAN:
+00202F 8006              SJMP    ?C0016?KEYSCAN
+002031         ?C0013?KEYSCAN:
   115: 	else
   116: 		standard_key_release_flag = 1;
-002024 904DDF            MOV     DPTR,#standard_key_release_flag
-002027 7401              MOV     A,#01H
-002029 F0                MOVX    @DPTR,A
-00202A         ?C0016?KEYSCAN:
+002031 904DDF            MOV     DPTR,#standard_key_release_flag
+002034 7401              MOV     A,#01H
+002036 F0                MOVX    @DPTR,A
+002037         ?C0016?KEYSCAN:
   117: 
   118: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-00202A EF                MOV     A,R7
-00202B C3                CLR     C
-00202C 94E0              SUBB    A,#0E0H
-00202E 4021              JC      ?C0017?KEYSCAN
-002030 EF                MOV     A,R7
-002031 D3                SETB    C
-002032 94E7              SUBB    A,#0E7H
-002034 501B              JNC     ?C0017?KEYSCAN
+002037 EF                MOV     A,R7
+002038 C3                CLR     C
+002039 94E0              SUBB    A,#0E0H
+00203B 4021              JC      ?C0017?KEYSCAN
+00203D EF                MOV     A,R7
+00203E D3                SETB    C
+00203F 94E7              SUBB    A,#0E7H
+002041 501B              JNC     ?C0017?KEYSCAN
   119: 	{
   120: 		ksEvtPool.standardSel  &= ~(0x01 << (key & 0x07));
-002036 904E56            MOV     DPTR,#ksEvtPool
-002039 E0                MOVX    A,@DPTR
-00203A FE                MOV     R6,A
-00203B EF                MOV     A,R7
-00203C 5407              ANL     A,#07H
-00203E FF                MOV     R7,A
-00203F 7401              MOV     A,#01H
-002041 A807              MOV     R0,AR7
-002043 08                INC     R0
-002044 8002              SJMP    ?C0095?KEYSCAN
-002046         ?C0094?KEYSCAN:
-002046 C3                CLR     C
-002047 33                RLC     A
-002048         ?C0095?KEYSCAN:
-002048 D8FC              DJNZ    R0,?C0094?KEYSCAN
-00204A F4                CPL     A
-00204B 5E                ANL     A,R6
-00204C 904E56            MOV     DPTR,#ksEvtPool
-00204F F0                MOVX    @DPTR,A
-002050 22                RET     
+002043 904E56            MOV     DPTR,#ksEvtPool
+002046 E0                MOVX    A,@DPTR
+002047 FE                MOV     R6,A
+002048 EF                MOV     A,R7
+002049 5407              ANL     A,#07H
+00204B FF                MOV     R7,A
+00204C 7401              MOV     A,#01H
+00204E A807              MOV     R0,AR7
+002050 08                INC     R0
+002051 8002              SJMP    ?C0095?KEYSCAN
+002053         ?C0094?KEYSCAN:
+002053 C3                CLR     C
+002054 33                RLC     A
+002055         ?C0095?KEYSCAN:
+002055 D8FC              DJNZ    R0,?C0094?KEYSCAN
+002057 F4                CPL     A
+002058 5E                ANL     A,R6
+002059 904E56            MOV     DPTR,#ksEvtPool
+00205C F0                MOVX    @DPTR,A
+00205D 22                RET     
   121: 		return;
   122: 	}
-002051         ?C0017?KEYSCAN:
+00205E         ?C0017?KEYSCAN:
   123: 	
   124: 
   125: /*
@@ -6133,94 +6145,94 @@
   165: 	}
   166: */	
   167: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-002051 E4                CLR     A
-002052 FE                MOV     R6,A
-002053         ?C0019?KEYSCAN:
+00205E E4                CLR     A
+00205F FE                MOV     R6,A
+002060         ?C0019?KEYSCAN:
   168: 	{
   169: 		if (found == 0) 
-002053 ED                MOV     A,R5
-002054 7021              JNZ     ?C0022?KEYSCAN
+002060 ED                MOV     A,R5
+002061 7021              JNZ     ?C0022?KEYSCAN
   170: 		{
   171: 			if (ksEvtPool.ksPool[i] == key) {
-002056 7457              MOV     A,#LOW ksEvtPool+01H
-002058 2E                ADD     A,R6
-002059 F582              MOV     DPL,A
-00205B E4                CLR     A
-00205C 344E              ADDC    A,#HIGH ksEvtPool+01H
-00205E F583              MOV     DPH,A
-002060 E0                MOVX    A,@DPTR
-002061 6F                XRL     A,R7
-002062 7047              JNZ     ?C0021?KEYSCAN
+002063 7457              MOV     A,#LOW ksEvtPool+01H
+002065 2E                ADD     A,R6
+002066 F582              MOV     DPL,A
+002068 E4                CLR     A
+002069 344E              ADDC    A,#HIGH ksEvtPool+01H
+00206B F583              MOV     DPH,A
+00206D E0                MOVX    A,@DPTR
+00206E 6F                XRL     A,R7
+00206F 7047              JNZ     ?C0021?KEYSCAN
   172: 				if (i == KS_BUFF_POLL_LEN-1) {
-002064 EE                MOV     A,R6
-002065 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
+002071 EE                MOV     A,R6
+002072 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
   173: 					ksEvtPool.ksPool[i] = 0;
-002068 2457              ADD     A,#LOW ksEvtPool+01H
-00206A F582              MOV     DPL,A
-00206C E4                CLR     A
-00206D 344E              ADDC    A,#HIGH ksEvtPool+01H
-00206F F583              MOV     DPH,A
-002071 E4                CLR     A
-002072 F0                MOVX    @DPTR,A
+002075 2457              ADD     A,#LOW ksEvtPool+01H
+002077 F582              MOV     DPL,A
+002079 E4                CLR     A
+00207A 344E              ADDC    A,#HIGH ksEvtPool+01H
+00207C F583              MOV     DPH,A
+00207E E4                CLR     A
+00207F F0                MOVX    @DPTR,A
   174: 				}
-002073         ?C0024?KEYSCAN:
+002080         ?C0024?KEYSCAN:
   175: 				found = 1;
-002073 7D01              MOV     R5,#01H
+002080 7D01              MOV     R5,#01H
   176: 			}
   177: 		}
-002075 8034              SJMP    ?C0021?KEYSCAN
-002077         ?C0022?KEYSCAN:
+002082 8034              SJMP    ?C0021?KEYSCAN
+002084         ?C0022?KEYSCAN:
   178: 		else 
   179: 		{
   180: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
-002077 7457              MOV     A,#LOW ksEvtPool+01H
-002079 2E                ADD     A,R6
-00207A F582              MOV     DPL,A
-00207C E4                CLR     A
-00207D 344E              ADDC    A,#HIGH ksEvtPool+01H
-00207F F583              MOV     DPH,A
-002081 E0                MOVX    A,@DPTR
-002082 FC                MOV     R4,A
-002083 7456              MOV     A,#LOW ksEvtPool
-002085 2E                ADD     A,R6
-002086 F582              MOV     DPL,A
-002088 E4                CLR     A
-002089 344E              ADDC    A,#HIGH ksEvtPool
-00208B F583              MOV     DPH,A
-00208D EC                MOV     A,R4
-00208E F0                MOVX    @DPTR,A
+002084 7457              MOV     A,#LOW ksEvtPool+01H
+002086 2E                ADD     A,R6
+002087 F582              MOV     DPL,A
+002089 E4                CLR     A
+00208A 344E              ADDC    A,#HIGH ksEvtPool+01H
+00208C F583              MOV     DPH,A
+00208E E0                MOVX    A,@DPTR
+00208F FC                MOV     R4,A
+002090 7456              MOV     A,#LOW ksEvtPool
+002092 2E                ADD     A,R6
+002093 F582              MOV     DPL,A
+002095 E4                CLR     A
+002096 344E              ADDC    A,#HIGH ksEvtPool
+002098 F583              MOV     DPH,A
+00209A EC                MOV     A,R4
+00209B F0                MOVX    @DPTR,A
   181: 			if (ksEvtPool.ksPool[i] == 0)
-00208F 7457              MOV     A,#LOW ksEvtPool+01H
-002091 2E                ADD     A,R6
-002092 F582              MOV     DPL,A
-002094 E4                CLR     A
-002095 344E              ADDC    A,#HIGH ksEvtPool+01H
-002097 F583              MOV     DPH,A
-002099 E0                MOVX    A,@DPTR
-00209A 6014              JZ      ?C0018?KEYSCAN
+00209C 7457              MOV     A,#LOW ksEvtPool+01H
+00209E 2E                ADD     A,R6
+00209F F582              MOV     DPL,A
+0020A1 E4                CLR     A
+0020A2 344E              ADDC    A,#HIGH ksEvtPool+01H
+0020A4 F583              MOV     DPH,A
+0020A6 E0                MOVX    A,@DPTR
+0020A7 6014              JZ      ?C0018?KEYSCAN
   182: 				break;
-00209C         ?C0026?KEYSCAN:
+0020A9         ?C0026?KEYSCAN:
   183: 			if (i == KS_BUFF_POLL_LEN-1) {
-00209C EE                MOV     A,R6
-00209D B4050B            CJNE    A,#05H,?C0021?KEYSCAN
+0020A9 EE                MOV     A,R6
+0020AA B4050B            CJNE    A,#05H,?C0021?KEYSCAN
   184: 				ksEvtPool.ksPool[i] = 0;
-0020A0 2457              ADD     A,#LOW ksEvtPool+01H
-0020A2 F582              MOV     DPL,A
-0020A4 E4                CLR     A
-0020A5 344E              ADDC    A,#HIGH ksEvtPool+01H
-0020A7 F583              MOV     DPH,A
-0020A9 E4                CLR     A
-0020AA F0                MOVX    @DPTR,A
+0020AD 2457              ADD     A,#LOW ksEvtPool+01H
+0020AF F582              MOV     DPL,A
+0020B1 E4                CLR     A
+0020B2 344E              ADDC    A,#HIGH ksEvtPool+01H
+0020B4 F583              MOV     DPH,A
+0020B6 E4                CLR     A
+0020B7 F0                MOVX    @DPTR,A
   185: 			}
   186: 		}
   187: 	}
-0020AB         ?C0021?KEYSCAN:
-0020AB 0E                INC     R6
-0020AC EE                MOV     A,R6
-0020AD B406A3            CJNE    A,#06H,?C0019?KEYSCAN
+0020B8         ?C0021?KEYSCAN:
+0020B8 0E                INC     R6
+0020B9 EE                MOV     A,R6
+0020BA B406A3            CJNE    A,#06H,?C0019?KEYSCAN
   188: }
-0020B0         ?C0018?KEYSCAN:
-0020B0 22                RET     
+0020BD         ?C0018?KEYSCAN:
+0020BD 22                RET     
 ----- FUNCTION _keyOut (END) -------
 
 
@@ -6231,292 +6243,292 @@
   256: 	byte i = 0;
   257: 	byte j = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-0020B1 E4                CLR     A
-0020B2 FF                MOV     R7,A
+0020BE E4                CLR     A
+0020BF FF                MOV     R7,A
   258: 	byte tgroup = 0;
-0020B3 904E99            MOV     DPTR,#j
-0020B6 F0                MOVX    @DPTR,A
+0020C0 904E99            MOV     DPTR,#j
+0020C3 F0                MOVX    @DPTR,A
   259: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-0020B7 FE                MOV     R6,A
+0020C4 FE                MOV     R6,A
   260: 	byte temp = 0;
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-0020B8 FD                MOV     R5,A
+0020C5 FD                MOV     R5,A
   261: 	byte check = 0;
-0020B9 A3                INC     DPTR
-0020BA F0                MOVX    @DPTR,A
+0020C6 A3                INC     DPTR
+0020C7 F0                MOVX    @DPTR,A
   262: 	for (i=0; col[i]!=0; i++) {
-0020BB A3                INC     DPTR
-0020BC F0                MOVX    @DPTR,A
+0020C8 A3                INC     DPTR
+0020C9 F0                MOVX    @DPTR,A
   263: 		tgroup = col[i]  >> 3;
-0020BD         ?C0043?KEYSCAN:
-0020BD EF                MOV     A,R7
-0020BE 900681            MOV     DPTR,#col
-0020C1 93                MOVC    A,@A+DPTR
-0020C2 607C              JZ      ?C0044?KEYSCAN
+0020CA         ?C0043?KEYSCAN:
+0020CA EF                MOV     A,R7
+0020CB 900681            MOV     DPTR,#col
+0020CE 93                MOVC    A,@A+DPTR
+0020CF 607C              JZ      ?C0044?KEYSCAN
   264: 		tgpionum = 1 << (col[i] & 7);
-0020C4 EF                MOV     A,R7
-0020C5 93                MOVC    A,@A+DPTR
-0020C6 FD                MOV     R5,A
-0020C7 13                RRC     A
-0020C8 13                RRC     A
-0020C9 13                RRC     A
-0020CA 541F              ANL     A,#01FH
-0020CC FE                MOV     R6,A
+0020D1 EF                MOV     A,R7
+0020D2 93                MOVC    A,@A+DPTR
+0020D3 FD                MOV     R5,A
+0020D4 13                RRC     A
+0020D5 13                RRC     A
+0020D6 13                RRC     A
+0020D7 541F              ANL     A,#01FH
+0020D9 FE                MOV     R6,A
   265: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
-0020CD ED                MOV     A,R5
-0020CE 5407              ANL     A,#07H
-0020D0 FD                MOV     R5,A
-0020D1 7401              MOV     A,#01H
-0020D3 A805              MOV     R0,AR5
-0020D5 08                INC     R0
-0020D6 8002              SJMP    ?C0099?KEYSCAN
-0020D8         ?C0098?KEYSCAN:
-0020D8 C3                CLR     C
-0020D9 33                RLC     A
-0020DA         ?C0099?KEYSCAN:
-0020DA D8FC              DJNZ    R0,?C0098?KEYSCAN
-0020DC FD                MOV     R5,A
+0020DA ED                MOV     A,R5
+0020DB 5407              ANL     A,#07H
+0020DD FD                MOV     R5,A
+0020DE 7401              MOV     A,#01H
+0020E0 A805              MOV     R0,AR5
+0020E2 08                INC     R0
+0020E3 8002              SJMP    ?C0099?KEYSCAN
+0020E5         ?C0098?KEYSCAN:
+0020E5 C3                CLR     C
+0020E6 33                RLC     A
+0020E7         ?C0099?KEYSCAN:
+0020E7 D8FC              DJNZ    R0,?C0098?KEYSCAN
+0020E9 FD                MOV     R5,A
   266: 	}
-0020DD EE                MOV     A,R6
-0020DE 2478              ADD     A,#078H
-0020E0 FB                MOV     R3,A
-0020E1 E4                CLR     A
-0020E2 3480              ADDC    A,#080H
-0020E4 8B82              MOV     DPL,R3
-0020E6 F583              MOV     DPH,A
-0020E8 E0                MOVX    A,@DPTR
-0020E9 FC                MOV     R4,A
-0020EA ED                MOV     A,R5
-0020EB F4                CPL     A
-0020EC FB                MOV     R3,A
-0020ED EC                MOV     A,R4
-0020EE 5B                ANL     A,R3
-0020EF F0                MOVX    @DPTR,A
-0020F0 EE                MOV     A,R6
-0020F1 2470              ADD     A,#070H
-0020F3 F582              MOV     DPL,A
-0020F5 E4                CLR     A
-0020F6 3480              ADDC    A,#080H
-0020F8 F583              MOV     DPH,A
-0020FA E0                MOVX    A,@DPTR
-0020FB 4D                ORL     A,R5
+0020EA EE                MOV     A,R6
+0020EB 2478              ADD     A,#078H
+0020ED FB                MOV     R3,A
+0020EE E4                CLR     A
+0020EF 3480              ADDC    A,#080H
+0020F1 8B82              MOV     DPL,R3
+0020F3 F583              MOV     DPH,A
+0020F5 E0                MOVX    A,@DPTR
+0020F6 FC                MOV     R4,A
+0020F7 ED                MOV     A,R5
+0020F8 F4                CPL     A
+0020F9 FB                MOV     R3,A
+0020FA EC                MOV     A,R4
+0020FB 5B                ANL     A,R3
 0020FC F0                MOVX    @DPTR,A
 0020FD EE                MOV     A,R6
-0020FE 2474              ADD     A,#074H
+0020FE 2470              ADD     A,#070H
 002100 F582              MOV     DPL,A
 002102 E4                CLR     A
 002103 3480              ADDC    A,#080H
 002105 F583              MOV     DPH,A
 002107 E0                MOVX    A,@DPTR
-002108 5B                ANL     A,R3
+002108 4D                ORL     A,R5
 002109 F0                MOVX    @DPTR,A
-00210A 90811C            MOV     DPTR,#0811CH
-00210D E0                MOVX    A,@DPTR
-00210E F4                CPL     A
-00210F FC                MOV     R4,A
-002110 74BC              MOV     A,#LOW ksSelMapCurr
-002112 2F                ADD     A,R7
-002113 F582              MOV     DPL,A
-002115 E4                CLR     A
-002116 344D              ADDC    A,#HIGH ksSelMapCurr
-002118 F583              MOV     DPH,A
-00211A EC                MOV     A,R4
-00211B F0                MOVX    @DPTR,A
-00211C EE                MOV     A,R6
-00211D 2478              ADD     A,#078H
-00211F FB                MOV     R3,A
-002120 E4                CLR     A
-002121 3480              ADDC    A,#080H
-002123 8B82              MOV     DPL,R3
+00210A EE                MOV     A,R6
+00210B 2474              ADD     A,#074H
+00210D F582              MOV     DPL,A
+00210F E4                CLR     A
+002110 3480              ADDC    A,#080H
+002112 F583              MOV     DPH,A
+002114 E0                MOVX    A,@DPTR
+002115 5B                ANL     A,R3
+002116 F0                MOVX    @DPTR,A
+002117 90811C            MOV     DPTR,#0811CH
+00211A E0                MOVX    A,@DPTR
+00211B F4                CPL     A
+00211C FC                MOV     R4,A
+00211D 74BC              MOV     A,#LOW ksSelMapCurr
+00211F 2F                ADD     A,R7
+002120 F582              MOV     DPL,A
+002122 E4                CLR     A
+002123 344D              ADDC    A,#HIGH ksSelMapCurr
 002125 F583              MOV     DPH,A
-002127 E0                MOVX    A,@DPTR
-002128 4D                ORL     A,R5
-002129 F0                MOVX    @DPTR,A
-00212A EE                MOV     A,R6
-00212B 2470              ADD     A,#070H
-00212D FB                MOV     R3,A
-00212E E4                CLR     A
-00212F 3480              ADDC    A,#080H
-002131 8B82              MOV     DPL,R3
-002133 F583              MOV     DPH,A
-002135 E0                MOVX    A,@DPTR
-002136 FC                MOV     R4,A
-002137 ED                MOV     A,R5
-002138 F4                CPL     A
-002139 FB                MOV     R3,A
-00213A EC                MOV     A,R4
-00213B 5B                ANL     A,R3
-00213C F0                MOVX    @DPTR,A
+002127 EC                MOV     A,R4
+002128 F0                MOVX    @DPTR,A
+002129 EE                MOV     A,R6
+00212A 2478              ADD     A,#078H
+00212C FB                MOV     R3,A
+00212D E4                CLR     A
+00212E 3480              ADDC    A,#080H
+002130 8B82              MOV     DPL,R3
+002132 F583              MOV     DPH,A
+002134 E0                MOVX    A,@DPTR
+002135 4D                ORL     A,R5
+002136 F0                MOVX    @DPTR,A
+002137 EE                MOV     A,R6
+002138 2470              ADD     A,#070H
+00213A FB                MOV     R3,A
+00213B E4                CLR     A
+00213C 3480              ADDC    A,#080H
+00213E 8B82              MOV     DPL,R3
+002140 F583              MOV     DPH,A
+002142 E0                MOVX    A,@DPTR
+002143 FC                MOV     R4,A
+002144 ED                MOV     A,R5
+002145 F4                CPL     A
+002146 FB                MOV     R3,A
+002147 EC                MOV     A,R4
+002148 5B                ANL     A,R3
+002149 F0                MOVX    @DPTR,A
   267: 
-00213D 0F                INC     R7
-00213E 01BD              AJMP    ?C0043?KEYSCAN
-002140         ?C0044?KEYSCAN:
+00214A 0F                INC     R7
+00214B 01CA              AJMP    ?C0043?KEYSCAN
+00214D         ?C0044?KEYSCAN:
   268: 	for (i=0; col[i]!=0; i++) {
-002140 E4                CLR     A
-002141 FF                MOV     R7,A
-002142         ?C0046?KEYSCAN:
-002142 EF                MOV     A,R7
-002143 900681            MOV     DPTR,#col
-002146 93                MOVC    A,@A+DPTR
-002147 607C              JZ      ?C0047?KEYSCAN
+00214D E4                CLR     A
+00214E FF                MOV     R7,A
+00214F         ?C0046?KEYSCAN:
+00214F EF                MOV     A,R7
+002150 900681            MOV     DPTR,#col
+002153 93                MOVC    A,@A+DPTR
+002154 607C              JZ      ?C0047?KEYSCAN
   269: 		tgroup = col[i]  >> 3;
-002149 EF                MOV     A,R7
-00214A 93                MOVC    A,@A+DPTR
-00214B FD                MOV     R5,A
-00214C 13                RRC     A
-00214D 13                RRC     A
-00214E 13                RRC     A
-00214F 541F              ANL     A,#01FH
-002151 FE                MOV     R6,A
+002156 EF                MOV     A,R7
+002157 93                MOVC    A,@A+DPTR
+002158 FD                MOV     R5,A
+002159 13                RRC     A
+00215A 13                RRC     A
+00215B 13                RRC     A
+00215C 541F              ANL     A,#01FH
+00215E FE                MOV     R6,A
   270: 		tgpionum = 1 << (col[i] & 7);
-002152 ED                MOV     A,R5
-002153 5407              ANL     A,#07H
-002155 FD                MOV     R5,A
-002156 7401              MOV     A,#01H
-002158 A805              MOV     R0,AR5
-00215A 08                INC     R0
-00215B 8002              SJMP    ?C0101?KEYSCAN
-00215D         ?C0100?KEYSCAN:
-00215D C3                CLR     C
-00215E 33                RLC     A
-00215F         ?C0101?KEYSCAN:
-00215F D8FC              DJNZ    R0,?C0100?KEYSCAN
-002161 FD                MOV     R5,A
+00215F ED                MOV     A,R5
+002160 5407              ANL     A,#07H
+002162 FD                MOV     R5,A
+002163 7401              MOV     A,#01H
+002165 A805              MOV     R0,AR5
+002167 08                INC     R0
+002168 8002              SJMP    ?C0101?KEYSCAN
+00216A         ?C0100?KEYSCAN:
+00216A C3                CLR     C
+00216B 33                RLC     A
+00216C         ?C0101?KEYSCAN:
+00216C D8FC              DJNZ    R0,?C0100?KEYSCAN
+00216E FD                MOV     R5,A
   271: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
-002162 EE                MOV     A,R6
-002163 2478              ADD     A,#078H
-002165 FB                MOV     R3,A
-002166 E4                CLR     A
-002167 3480              ADDC    A,#080H
-002169 8B82              MOV     DPL,R3
-00216B F583              MOV     DPH,A
-00216D E0                MOVX    A,@DPTR
-00216E FC                MOV     R4,A
-00216F ED                MOV     A,R5
-002170 F4                CPL     A
-002171 FB                MOV     R3,A
-002172 EC                MOV     A,R4
-002173 5B                ANL     A,R3
-002174 F0                MOVX    @DPTR,A
-002175 EE                MOV     A,R6
-002176 2470              ADD     A,#070H
-002178 F582              MOV     DPL,A
-00217A E4                CLR     A
-00217B 3480              ADDC    A,#080H
-00217D F583              MOV     DPH,A
-00217F E0                MOVX    A,@DPTR
-002180 4D                ORL     A,R5
+00216F EE                MOV     A,R6
+002170 2478              ADD     A,#078H
+002172 FB                MOV     R3,A
+002173 E4                CLR     A
+002174 3480              ADDC    A,#080H
+002176 8B82              MOV     DPL,R3
+002178 F583              MOV     DPH,A
+00217A E0                MOVX    A,@DPTR
+00217B FC                MOV     R4,A
+00217C ED                MOV     A,R5
+00217D F4                CPL     A
+00217E FB                MOV     R3,A
+00217F EC                MOV     A,R4
+002180 5B                ANL     A,R3
 002181 F0                MOVX    @DPTR,A
 002182 EE                MOV     A,R6
-002183 2474              ADD     A,#074H
+002183 2470              ADD     A,#070H
 002185 F582              MOV     DPL,A
 002187 E4                CLR     A
 002188 3480              ADDC    A,#080H
 00218A F583              MOV     DPH,A
 00218C E0                MOVX    A,@DPTR
-00218D 5B                ANL     A,R3
+00218D 4D                ORL     A,R5
 00218E F0                MOVX    @DPTR,A
-00218F 90811C            MOV     DPTR,#0811CH
-002192 E0                MOVX    A,@DPTR
-002193 F4                CPL     A
-002194 FC                MOV     R4,A
-002195 74A8              MOV     A,#LOW ksSelMapCheck
-002197 2F                ADD     A,R7
-002198 F582              MOV     DPL,A
-00219A E4                CLR     A
-00219B 344D              ADDC    A,#HIGH ksSelMapCheck
-00219D F583              MOV     DPH,A
-00219F EC                MOV     A,R4
-0021A0 F0                MOVX    @DPTR,A
-0021A1 EE                MOV     A,R6
-0021A2 2478              ADD     A,#078H
-0021A4 FB                MOV     R3,A
-0021A5 E4                CLR     A
-0021A6 3480              ADDC    A,#080H
-0021A8 8B82              MOV     DPL,R3
+00218F EE                MOV     A,R6
+002190 2474              ADD     A,#074H
+002192 F582              MOV     DPL,A
+002194 E4                CLR     A
+002195 3480              ADDC    A,#080H
+002197 F583              MOV     DPH,A
+002199 E0                MOVX    A,@DPTR
+00219A 5B                ANL     A,R3
+00219B F0                MOVX    @DPTR,A
+00219C 90811C            MOV     DPTR,#0811CH
+00219F E0                MOVX    A,@DPTR
+0021A0 F4                CPL     A
+0021A1 FC                MOV     R4,A
+0021A2 74A8              MOV     A,#LOW ksSelMapCheck
+0021A4 2F                ADD     A,R7
+0021A5 F582              MOV     DPL,A
+0021A7 E4                CLR     A
+0021A8 344D              ADDC    A,#HIGH ksSelMapCheck
 0021AA F583              MOV     DPH,A
-0021AC E0                MOVX    A,@DPTR
-0021AD 4D                ORL     A,R5
-0021AE F0                MOVX    @DPTR,A
-0021AF EE                MOV     A,R6
-0021B0 2470              ADD     A,#070H
-0021B2 FB                MOV     R3,A
-0021B3 E4                CLR     A
-0021B4 3480              ADDC    A,#080H
-0021B6 8B82              MOV     DPL,R3
-0021B8 F583              MOV     DPH,A
-0021BA E0                MOVX    A,@DPTR
-0021BB FC                MOV     R4,A
-0021BC ED                MOV     A,R5
-0021BD F4                CPL     A
-0021BE FB                MOV     R3,A
-0021BF EC                MOV     A,R4
-0021C0 5B                ANL     A,R3
-0021C1 F0                MOVX    @DPTR,A
+0021AC EC                MOV     A,R4
+0021AD F0                MOVX    @DPTR,A
+0021AE EE                MOV     A,R6
+0021AF 2478              ADD     A,#078H
+0021B1 FB                MOV     R3,A
+0021B2 E4                CLR     A
+0021B3 3480              ADDC    A,#080H
+0021B5 8B82              MOV     DPL,R3
+0021B7 F583              MOV     DPH,A
+0021B9 E0                MOVX    A,@DPTR
+0021BA 4D                ORL     A,R5
+0021BB F0                MOVX    @DPTR,A
+0021BC EE                MOV     A,R6
+0021BD 2470              ADD     A,#070H
+0021BF FB                MOV     R3,A
+0021C0 E4                CLR     A
+0021C1 3480              ADDC    A,#080H
+0021C3 8B82              MOV     DPL,R3
+0021C5 F583              MOV     DPH,A
+0021C7 E0                MOVX    A,@DPTR
+0021C8 FC                MOV     R4,A
+0021C9 ED                MOV     A,R5
+0021CA F4                CPL     A
+0021CB FB                MOV     R3,A
+0021CC EC                MOV     A,R4
+0021CD 5B                ANL     A,R3
+0021CE F0                MOVX    @DPTR,A
   272: 	}
-0021C2 0F                INC     R7
-0021C3 2142              AJMP    ?C0046?KEYSCAN
-0021C5         ?C0047?KEYSCAN:
+0021CF 0F                INC     R7
+0021D0 214F              AJMP    ?C0046?KEYSCAN
+0021D2         ?C0047?KEYSCAN:
   273: 
   274: 	for (i=0; col[i]!=0; i++) {
-0021C5 E4                CLR     A
-0021C6 FF                MOV     R7,A
-0021C7         ?C0049?KEYSCAN:
-0021C7 EF                MOV     A,R7
-0021C8 900681            MOV     DPTR,#col
-0021CB 93                MOVC    A,@A+DPTR
-0021CC 6040              JZ      ?C0053?KEYSCAN
+0021D2 E4                CLR     A
+0021D3 FF                MOV     R7,A
+0021D4         ?C0049?KEYSCAN:
+0021D4 EF                MOV     A,R7
+0021D5 900681            MOV     DPTR,#col
+0021D8 93                MOVC    A,@A+DPTR
+0021D9 6040              JZ      ?C0053?KEYSCAN
   275: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
-0021CE 74BC              MOV     A,#LOW ksSelMapCurr
-0021D0 2F                ADD     A,R7
-0021D1 F582              MOV     DPL,A
-0021D3 E4                CLR     A
-0021D4 344D              ADDC    A,#HIGH ksSelMapCurr
-0021D6 F583              MOV     DPH,A
-0021D8 E0                MOVX    A,@DPTR
-0021D9 FE                MOV     R6,A
-0021DA 74A8              MOV     A,#LOW ksSelMapCheck
-0021DC 2F                ADD     A,R7
-0021DD F582              MOV     DPL,A
-0021DF E4                CLR     A
-0021E0 344D              ADDC    A,#HIGH ksSelMapCheck
-0021E2 F583              MOV     DPH,A
-0021E4 E0                MOVX    A,@DPTR
-0021E5 6E                XRL     A,R6
-0021E6 6023              JZ      ?C0051?KEYSCAN
+0021DB 74BC              MOV     A,#LOW ksSelMapCurr
+0021DD 2F                ADD     A,R7
+0021DE F582              MOV     DPL,A
+0021E0 E4                CLR     A
+0021E1 344D              ADDC    A,#HIGH ksSelMapCurr
+0021E3 F583              MOV     DPH,A
+0021E5 E0                MOVX    A,@DPTR
+0021E6 FE                MOV     R6,A
+0021E7 74A8              MOV     A,#LOW ksSelMapCheck
+0021E9 2F                ADD     A,R7
+0021EA F582              MOV     DPL,A
+0021EC E4                CLR     A
+0021ED 344D              ADDC    A,#HIGH ksSelMapCheck
+0021EF F583              MOV     DPH,A
+0021F1 E0                MOVX    A,@DPTR
+0021F2 6E                XRL     A,R6
+0021F3 6023              JZ      ?C0051?KEYSCAN
   276: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
-0021E8 74BC              MOV     A,#LOW ksSelMapCurr
-0021EA 2F                ADD     A,R7
-0021EB F582              MOV     DPL,A
-0021ED E4                CLR     A
-0021EE 344D              ADDC    A,#HIGH ksSelMapCurr
-0021F0 F583              MOV     DPH,A
-0021F2 C083              PUSH    DPH
-0021F4 C082              PUSH    DPL
-0021F6 E0                MOVX    A,@DPTR
-0021F7 FE                MOV     R6,A
-0021F8 74A8              MOV     A,#LOW ksSelMapCheck
-0021FA 2F                ADD     A,R7
-0021FB F582              MOV     DPL,A
-0021FD E4                CLR     A
-0021FE 344D              ADDC    A,#HIGH ksSelMapCheck
-002200 F583              MOV     DPH,A
-002202 E0                MOVX    A,@DPTR
-002203 FD                MOV     R5,A
-002204 EE                MOV     A,R6
-002205 5D                ANL     A,R5
-002206 D082              POP     DPL
-002208 D083              POP     DPH
-00220A F0                MOVX    @DPTR,A
+0021F5 74BC              MOV     A,#LOW ksSelMapCurr
+0021F7 2F                ADD     A,R7
+0021F8 F582              MOV     DPL,A
+0021FA E4                CLR     A
+0021FB 344D              ADDC    A,#HIGH ksSelMapCurr
+0021FD F583              MOV     DPH,A
+0021FF C083              PUSH    DPH
+002201 C082              PUSH    DPL
+002203 E0                MOVX    A,@DPTR
+002204 FE                MOV     R6,A
+002205 74A8              MOV     A,#LOW ksSelMapCheck
+002207 2F                ADD     A,R7
+002208 F582              MOV     DPL,A
+00220A E4                CLR     A
+00220B 344D              ADDC    A,#HIGH ksSelMapCheck
+00220D F583              MOV     DPH,A
+00220F E0                MOVX    A,@DPTR
+002210 FD                MOV     R5,A
+002211 EE                MOV     A,R6
+002212 5D                ANL     A,R5
+002213 D082              POP     DPL
+002215 D083              POP     DPH
+002217 F0                MOVX    @DPTR,A
   277: 		}
   278: 	}
-00220B         ?C0051?KEYSCAN:
-00220B 0F                INC     R7
-00220C 80B9              SJMP    ?C0049?KEYSCAN
+002218         ?C0051?KEYSCAN:
+002218 0F                INC     R7
+002219 80B9              SJMP    ?C0049?KEYSCAN
   279: }
-00220E         ?C0053?KEYSCAN:
-00220E 22                RET     
+00221B         ?C0053?KEYSCAN:
+00221B 22                RET     
 ----- FUNCTION KS_ScanMatrix (END) -------
 
 
@@ -6526,42 +6538,42 @@
    60: {
    61: 	System_clear_mem();
    62: 	YC_adc_init();
-00220F 120D42            LCALL   System_clear_mem
+00221C 120D42            LCALL   System_clear_mem
    63: 	g_variable.release_data =1;
-002212 5144              ACALL   YC_adc_init
+00221F 5151              ACALL   YC_adc_init
    64: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-002214 904CEB            MOV     DPTR,#g_variable+02CH
-002217 7401              MOV     A,#01H
-002219 F0                MOVX    @DPTR,A
+002221 904CEB            MOV     DPTR,#g_variable+02CH
+002224 7401              MOV     A,#01H
+002226 F0                MOVX    @DPTR,A
    65: 	g_variable.recon_count = 0;
-00221A 904CE5            MOV     DPTR,#g_variable+026H
-00221D 741E              MOV     A,#01EH
-00221F F0                MOVX    @DPTR,A
+002227 904CE5            MOV     DPTR,#g_variable+026H
+00222A 741E              MOV     A,#01EH
+00222C F0                MOVX    @DPTR,A
    66: 	g_variable.test_buff = 0xff;
-002220 E4                CLR     A
-002221 904CF0            MOV     DPTR,#g_variable+031H
-002224 F0                MOVX    @DPTR,A
+00222D E4                CLR     A
+00222E 904CF0            MOV     DPTR,#g_variable+031H
+002231 F0                MOVX    @DPTR,A
    67: 	le_lap_temp[0] = m_le_lap[3];
-002225 904D06            MOV     DPTR,#g_variable+047H
-002228 74FF              MOV     A,#0FFH
-00222A F0                MOVX    @DPTR,A
+002232 904D06            MOV     DPTR,#g_variable+047H
+002235 74FF              MOV     A,#0FFH
+002237 F0                MOVX    @DPTR,A
    68: 	le_lap_temp[1] = m_le_lap[4];
-00222B 9044FC            MOV     DPTR,#m_le_lap+03H
-00222E E0                MOVX    A,@DPTR
-00222F 904DD0            MOV     DPTR,#le_lap_temp
-002232 F0                MOVX    @DPTR,A
+002238 9044FC            MOV     DPTR,#m_le_lap+03H
+00223B E0                MOVX    A,@DPTR
+00223C 904DD0            MOV     DPTR,#le_lap_temp
+00223F F0                MOVX    @DPTR,A
    69: 	le_lap_temp[2] = m_le_lap[5];
-002233 9044FD            MOV     DPTR,#m_le_lap+04H
-002236 E0                MOVX    A,@DPTR
-002237 904DD1            MOV     DPTR,#le_lap_temp+01H
-00223A F0                MOVX    @DPTR,A
+002240 9044FD            MOV     DPTR,#m_le_lap+04H
+002243 E0                MOVX    A,@DPTR
+002244 904DD1            MOV     DPTR,#le_lap_temp+01H
+002247 F0                MOVX    @DPTR,A
    70: }
-00223B 9044FE            MOV     DPTR,#m_le_lap+05H
-00223E E0                MOVX    A,@DPTR
-00223F 904DD2            MOV     DPTR,#le_lap_temp+02H
-002242 F0                MOVX    @DPTR,A
+002248 9044FE            MOV     DPTR,#m_le_lap+05H
+00224B E0                MOVX    A,@DPTR
+00224C 904DD2            MOV     DPTR,#le_lap_temp+02H
+00224F F0                MOVX    @DPTR,A
    71: 
-002243 22                RET     
+002250 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -6573,13 +6585,13 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-002244 904CD3            MOV     DPTR,#g_variable+014H
-002247 7405              MOV     A,#05H
-002249 F0                MOVX    @DPTR,A
+002251 904CD3            MOV     DPTR,#g_variable+014H
+002254 7405              MOV     A,#05H
+002256 F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-00224A E4                CLR     A
-00224B A3                INC     DPTR
-00224C F0                MOVX    @DPTR,A
+002257 E4                CLR     A
+002258 A3                INC     DPTR
+002259 F0                MOVX    @DPTR,A
    10: 
    11: #ifdef ADC_TYPE_HVIN 	
    12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -6593,132 +6605,132 @@
    20: #ifdef ADC_TYPE_VINLPM
    21: 		for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-00224D FF                MOV     R7,A
-00224E         ?C0001?ADC:
+00225A FF                MOV     R7,A
+00225B         ?C0001?ADC:
    22: 		{
    23: 			g_variable.battery_value[i] = INIT_BATTERY_VALUE_VINLPM;
-00224E EF                MOV     A,R7
-00224F 25E0              ADD     A,ACC
-002251 24D6              ADD     A,#LOW g_variable+017H
-002253 F582              MOV     DPL,A
-002255 E4                CLR     A
-002256 344C              ADDC    A,#HIGH g_variable+017H
-002258 F583              MOV     DPH,A
-00225A 7451              MOV     A,#051H
-00225C F0                MOVX    @DPTR,A
-00225D A3                INC     DPTR
-00225E F0                MOVX    @DPTR,A
+00225B EF                MOV     A,R7
+00225C 25E0              ADD     A,ACC
+00225E 24D6              ADD     A,#LOW g_variable+017H
+002260 F582              MOV     DPL,A
+002262 E4                CLR     A
+002263 344C              ADDC    A,#HIGH g_variable+017H
+002265 F583              MOV     DPH,A
+002267 7451              MOV     A,#051H
+002269 F0                MOVX    @DPTR,A
+00226A A3                INC     DPTR
+00226B F0                MOVX    @DPTR,A
    24: 		}
-00225F 0F                INC     R7
-002260 EF                MOV     A,R7
-002261 B404EA            CJNE    A,#04H,?C0001?ADC
-002264         ?C0002?ADC:
+00226C 0F                INC     R7
+00226D EF                MOV     A,R7
+00226E B404EA            CJNE    A,#04H,?C0001?ADC
+002271         ?C0002?ADC:
    25: 		g_variable.battery_level_full = m_adc3vValue;
-002264 904C93            MOV     DPTR,#m_adc3vValue
-002267 E0                MOVX    A,@DPTR
-002268 FF                MOV     R7,A
-002269 A3                INC     DPTR
-00226A E0                MOVX    A,@DPTR
-00226B 904CFA            MOV     DPTR,#g_variable+03BH
-00226E CF                XCH     A,R7
-00226F F0                MOVX    @DPTR,A
-002270 A3                INC     DPTR
-002271 EF                MOV     A,R7
-002272 F0                MOVX    @DPTR,A
+002271 904C93            MOV     DPTR,#m_adc3vValue
+002274 E0                MOVX    A,@DPTR
+002275 FF                MOV     R7,A
+002276 A3                INC     DPTR
+002277 E0                MOVX    A,@DPTR
+002278 904CFA            MOV     DPTR,#g_variable+03BH
+00227B CF                XCH     A,R7
+00227C F0                MOVX    @DPTR,A
+00227D A3                INC     DPTR
+00227E EF                MOV     A,R7
+00227F F0                MOVX    @DPTR,A
    26: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V2+m_adc0vBase;
-002273 904C91            MOV     DPTR,#m_adc0vBase
-002276 E0                MOVX    A,@DPTR
-002277 FE                MOV     R6,A
-002278 A3                INC     DPTR
-002279 E0                MOVX    A,@DPTR
-00227A FF                MOV     R7,A
-00227B C3                CLR     C
-00227C 904C94            MOV     DPTR,#m_adc3vValue+01H
-00227F E0                MOVX    A,@DPTR
-002280 9F                SUBB    A,R7
-002281 FD                MOV     R5,A
-002282 904C93            MOV     DPTR,#m_adc3vValue
-002285 E0                MOVX    A,@DPTR
-002286 9E                SUBB    A,R6
-002287 FC                MOV     R4,A
-002288 E4                CLR     A
-002289 120206            LCALL   ?C?FCASTI
-00228C 7BA4              MOV     R3,#0A4H
-00228E 7A70              MOV     R2,#070H
-002290 793D              MOV     R1,#03DH
-002292 783F              MOV     R0,#03FH
-002294 1200FB            LCALL   ?C?FPMUL
-002297 C004              PUSH    AR4
-002299 C005              PUSH    AR5
-00229B C006              PUSH    AR6
-00229D C007              PUSH    AR7
-00229F 904C91            MOV     DPTR,#m_adc0vBase
-0022A2 E0                MOVX    A,@DPTR
-0022A3 FC                MOV     R4,A
-0022A4 A3                INC     DPTR
-0022A5 E0                MOVX    A,@DPTR
-0022A6 FD                MOV     R5,A
-0022A7 E4                CLR     A
-0022A8 120206            LCALL   ?C?FCASTI
-0022AB D003              POP     AR3
-0022AD D002              POP     AR2
-0022AF D001              POP     AR1
-0022B1 D000              POP     AR0
-0022B3 12000A            LCALL   ?C?FPADD
-0022B6 12023F            LCALL   ?C?CASTF
-0022B9 904CDE            MOV     DPTR,#g_variable+01FH
-0022BC EE                MOV     A,R6
-0022BD F0                MOVX    @DPTR,A
-0022BE A3                INC     DPTR
-0022BF EF                MOV     A,R7
-0022C0 F0                MOVX    @DPTR,A
+002280 904C91            MOV     DPTR,#m_adc0vBase
+002283 E0                MOVX    A,@DPTR
+002284 FE                MOV     R6,A
+002285 A3                INC     DPTR
+002286 E0                MOVX    A,@DPTR
+002287 FF                MOV     R7,A
+002288 C3                CLR     C
+002289 904C94            MOV     DPTR,#m_adc3vValue+01H
+00228C E0                MOVX    A,@DPTR
+00228D 9F                SUBB    A,R7
+00228E FD                MOV     R5,A
+00228F 904C93            MOV     DPTR,#m_adc3vValue
+002292 E0                MOVX    A,@DPTR
+002293 9E                SUBB    A,R6
+002294 FC                MOV     R4,A
+002295 E4                CLR     A
+002296 120206            LCALL   ?C?FCASTI
+002299 7BA4              MOV     R3,#0A4H
+00229B 7A70              MOV     R2,#070H
+00229D 793D              MOV     R1,#03DH
+00229F 783F              MOV     R0,#03FH
+0022A1 1200FB            LCALL   ?C?FPMUL
+0022A4 C004              PUSH    AR4
+0022A6 C005              PUSH    AR5
+0022A8 C006              PUSH    AR6
+0022AA C007              PUSH    AR7
+0022AC 904C91            MOV     DPTR,#m_adc0vBase
+0022AF E0                MOVX    A,@DPTR
+0022B0 FC                MOV     R4,A
+0022B1 A3                INC     DPTR
+0022B2 E0                MOVX    A,@DPTR
+0022B3 FD                MOV     R5,A
+0022B4 E4                CLR     A
+0022B5 120206            LCALL   ?C?FCASTI
+0022B8 D003              POP     AR3
+0022BA D002              POP     AR2
+0022BC D001              POP     AR1
+0022BE D000              POP     AR0
+0022C0 12000A            LCALL   ?C?FPADD
+0022C3 12023F            LCALL   ?C?CASTF
+0022C6 904CDE            MOV     DPTR,#g_variable+01FH
+0022C9 EE                MOV     A,R6
+0022CA F0                MOVX    @DPTR,A
+0022CB A3                INC     DPTR
+0022CC EF                MOV     A,R7
+0022CD F0                MOVX    @DPTR,A
    27: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V0+m_adc0vBase;
-0022C1 904C91            MOV     DPTR,#m_adc0vBase
-0022C4 E0                MOVX    A,@DPTR
-0022C5 FE                MOV     R6,A
-0022C6 A3                INC     DPTR
-0022C7 E0                MOVX    A,@DPTR
-0022C8 FF                MOV     R7,A
-0022C9 C3                CLR     C
-0022CA 904C94            MOV     DPTR,#m_adc3vValue+01H
-0022CD E0                MOVX    A,@DPTR
-0022CE 9F                SUBB    A,R7
-0022CF FD                MOV     R5,A
-0022D0 904C93            MOV     DPTR,#m_adc3vValue
-0022D3 E0                MOVX    A,@DPTR
-0022D4 9E                SUBB    A,R6
-0022D5 FC                MOV     R4,A
-0022D6 E4                CLR     A
-0022D7 120206            LCALL   ?C?FCASTI
-0022DA 7B1F              MOV     R3,#01FH
-0022DC 7A85              MOV     R2,#085H
-0022DE 792B              MOV     R1,#02BH
-0022E0 783F              MOV     R0,#03FH
-0022E2 1200FB            LCALL   ?C?FPMUL
-0022E5 C004              PUSH    AR4
-0022E7 C005              PUSH    AR5
-0022E9 C006              PUSH    AR6
-0022EB C007              PUSH    AR7
-0022ED 904C91            MOV     DPTR,#m_adc0vBase
-0022F0 E0                MOVX    A,@DPTR
-0022F1 FC                MOV     R4,A
-0022F2 A3                INC     DPTR
-0022F3 E0                MOVX    A,@DPTR
-0022F4 FD                MOV     R5,A
-0022F5 E4                CLR     A
-0022F6 120206            LCALL   ?C?FCASTI
-0022F9 D003              POP     AR3
-0022FB D002              POP     AR2
-0022FD D001              POP     AR1
-0022FF D000              POP     AR0
-002301 12000A            LCALL   ?C?FPADD
-002304 12023F            LCALL   ?C?CASTF
-002307 904CE0            MOV     DPTR,#g_variable+021H
-00230A EE                MOV     A,R6
-00230B F0                MOVX    @DPTR,A
-00230C A3                INC     DPTR
-00230D EF                MOV     A,R7
-00230E F0                MOVX    @DPTR,A
+0022CE 904C91            MOV     DPTR,#m_adc0vBase
+0022D1 E0                MOVX    A,@DPTR
+0022D2 FE                MOV     R6,A
+0022D3 A3                INC     DPTR
+0022D4 E0                MOVX    A,@DPTR
+0022D5 FF                MOV     R7,A
+0022D6 C3                CLR     C
+0022D7 904C94            MOV     DPTR,#m_adc3vValue+01H
+0022DA E0                MOVX    A,@DPTR
+0022DB 9F                SUBB    A,R7
+0022DC FD                MOV     R5,A
+0022DD 904C93            MOV     DPTR,#m_adc3vValue
+0022E0 E0                MOVX    A,@DPTR
+0022E1 9E                SUBB    A,R6
+0022E2 FC                MOV     R4,A
+0022E3 E4                CLR     A
+0022E4 120206            LCALL   ?C?FCASTI
+0022E7 7B1F              MOV     R3,#01FH
+0022E9 7A85              MOV     R2,#085H
+0022EB 792B              MOV     R1,#02BH
+0022ED 783F              MOV     R0,#03FH
+0022EF 1200FB            LCALL   ?C?FPMUL
+0022F2 C004              PUSH    AR4
+0022F4 C005              PUSH    AR5
+0022F6 C006              PUSH    AR6
+0022F8 C007              PUSH    AR7
+0022FA 904C91            MOV     DPTR,#m_adc0vBase
+0022FD E0                MOVX    A,@DPTR
+0022FE FC                MOV     R4,A
+0022FF A3                INC     DPTR
+002300 E0                MOVX    A,@DPTR
+002301 FD                MOV     R5,A
+002302 E4                CLR     A
+002303 120206            LCALL   ?C?FCASTI
+002306 D003              POP     AR3
+002308 D002              POP     AR2
+00230A D001              POP     AR1
+00230C D000              POP     AR0
+00230E 12000A            LCALL   ?C?FPADD
+002311 12023F            LCALL   ?C?CASTF
+002314 904CE0            MOV     DPTR,#g_variable+021H
+002317 EE                MOV     A,R6
+002318 F0                MOVX    @DPTR,A
+002319 A3                INC     DPTR
+00231A EF                MOV     A,R7
+00231B F0                MOVX    @DPTR,A
    28: #endif
    29: #ifdef ADC_TYPE_GPIO
    30: 	m_adc_channel = ADC_CHANNEL;
@@ -6732,7 +6744,7 @@
    38: #endif	
    39: #endif
    40: }
-00230F 22                RET     
+00231C 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -6742,13 +6754,13 @@
    73: {
    74: 	m_reset_reg = 1;
    75: 	while(1);
-002310 908010            MOV     DPTR,#m_reset_reg
-002313 7401              MOV     A,#01H
-002315 F0                MOVX    @DPTR,A
-002316         ?C0005?SYS:
+00231D 908010            MOV     DPTR,#m_reset_reg
+002320 7401              MOV     A,#01H
+002322 F0                MOVX    @DPTR,A
+002323         ?C0005?SYS:
    76: }
-002316 80FE              SJMP    ?C0005?SYS
-002318 22                RET     
+002323 80FE              SJMP    ?C0005?SYS
+002325 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -6758,7 +6770,7 @@
    85: {
    86: 	System_Hardware_reset();
    87: }
-002319 80F5              SJMP    System_Hardware_reset
+002326 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -6766,21 +6778,21 @@
  FILE: 'sys.c'
    94: static void kb_cb_Hid(byte *p,byte len) {
    95: 	//p[0] is hid type,always is 1(kb) now
-00231B 904EAD            MOV     DPTR,#len
-00231E ED                MOV     A,R5
-00231F F0                MOVX    @DPTR,A
+002328 904EAD            MOV     DPTR,#len
+00232B ED                MOV     A,R5
+00232C F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
    96: 	byte temp = p[1];
-002320 900001            MOV     DPTR,#01H
-002323 1203CF            LCALL   ?C?CLDOPTR
-002326 904EAE            MOV     DPTR,#temp
-002329 F0                MOVX    @DPTR,A
+00232D 900001            MOV     DPTR,#01H
+002330 1203CF            LCALL   ?C?CLDOPTR
+002333 904EAE            MOV     DPTR,#temp
+002336 F0                MOVX    @DPTR,A
    97: 
    98: 	if (len<2) {
    99: 		return;
   100: 	}
   101: }
-00232A 22                RET     
+002337 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
@@ -6790,125 +6802,125 @@
   233: {
   234: 
   235: 	if(le_send_battery_level_delay_count)
-00232B 904DDB            MOV     DPTR,#le_send_battery_level_delay_count
-00232E E0                MOVX    A,@DPTR
-00232F 600F              JZ      ?C0035?SYS
+002338 904DDB            MOV     DPTR,#le_send_battery_level_delay_count
+00233B E0                MOVX    A,@DPTR
+00233C 600F              JZ      ?C0035?SYS
   236: 	{
   237: 		le_send_battery_level_delay_count--;
-002331 E0                MOVX    A,@DPTR
-002332 14                DEC     A
-002333 F0                MOVX    @DPTR,A
+00233E E0                MOVX    A,@DPTR
+00233F 14                DEC     A
+002340 F0                MOVX    @DPTR,A
   238: 		if(!le_send_battery_level_delay_count)
-002334 E0                MOVX    A,@DPTR
-002335 7009              JNZ     ?C0035?SYS
+002341 E0                MOVX    A,@DPTR
+002342 7009              JNZ     ?C0035?SYS
   239: 		{	
   240: 			m_lpm_mode = 1;
-002337 904131            MOV     DPTR,#m_lpm_mode
-00233A 04                INC     A
-00233B F0                MOVX    @DPTR,A
+002344 904131            MOV     DPTR,#m_lpm_mode
+002347 04                INC     A
+002348 F0                MOVX    @DPTR,A
   241: 			le_send_battery_level_flag = 1;
-00233C 904DDA            MOV     DPTR,#le_send_battery_level_flag
-00233F F0                MOVX    @DPTR,A
+002349 904DDA            MOV     DPTR,#le_send_battery_level_flag
+00234C F0                MOVX    @DPTR,A
   242: 		}
   243: 	}
-002340         ?C0035?SYS:
+00234D         ?C0035?SYS:
   244: 	
   245: //system long sleep timer
   246: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-002340 904CC7            MOV     DPTR,#g_variable+08H
-002343 E0                MOVX    A,@DPTR
-002344 6404              XRL     A,#04H
-002346 704A              JNZ     ?C0037?SYS
+00234D 904CC7            MOV     DPTR,#g_variable+08H
+002350 E0                MOVX    A,@DPTR
+002351 6404              XRL     A,#04H
+002353 704A              JNZ     ?C0037?SYS
   247: 	{
   248: 		if(le_send_battery_level_flag || (g_variable.sleepTimer && !(g_variable.sleepTimer & 0x1f)))		// ble battery le
 >> vel updata each 16 second
-002348 904DDA            MOV     DPTR,#le_send_battery_level_flag
-00234B E0                MOVX    A,@DPTR
-00234C 7010              JNZ     ?C0039?SYS
-00234E 904CE3            MOV     DPTR,#g_variable+024H
-002351 E0                MOVX    A,@DPTR
-002352 FE                MOV     R6,A
-002353 A3                INC     DPTR
-002354 E0                MOVX    A,@DPTR
-002355 FF                MOV     R7,A
-002356 4E                ORL     A,R6
-002357 6023              JZ      ?C0038?SYS
-002359 EF                MOV     A,R7
-00235A 541F              ANL     A,#01FH
-00235C 701E              JNZ     ?C0038?SYS
-00235E         ?C0039?SYS:
+002355 904DDA            MOV     DPTR,#le_send_battery_level_flag
+002358 E0                MOVX    A,@DPTR
+002359 7010              JNZ     ?C0039?SYS
+00235B 904CE3            MOV     DPTR,#g_variable+024H
+00235E E0                MOVX    A,@DPTR
+00235F FE                MOV     R6,A
+002360 A3                INC     DPTR
+002361 E0                MOVX    A,@DPTR
+002362 FF                MOV     R7,A
+002363 4E                ORL     A,R6
+002364 6023              JZ      ?C0038?SYS
+002366 EF                MOV     A,R7
+002367 541F              ANL     A,#01FH
+002369 701E              JNZ     ?C0038?SYS
+00236B         ?C0039?SYS:
   249: 		{
   250: 			le_send_battery_level_flag = 0;
-00235E E4                CLR     A
-00235F 904DDA            MOV     DPTR,#le_send_battery_level_flag
-002362 F0                MOVX    @DPTR,A
+00236B E4                CLR     A
+00236C 904DDA            MOV     DPTR,#le_send_battery_level_flag
+00236F F0                MOVX    @DPTR,A
   251: 			multikey[0] = HID_REPORTID_BATTERY;	
-002363 904E0D            MOV     DPTR,#multikey
-002366 7404              MOV     A,#04H
-002368 F0                MOVX    @DPTR,A
+002370 904E0D            MOV     DPTR,#multikey
+002373 7404              MOV     A,#04H
+002375 F0                MOVX    @DPTR,A
   252: 			multikey[1] = g_variable.battery_level_percentage;	
-002369 904CF9            MOV     DPTR,#g_variable+03AH
-00236C E0                MOVX    A,@DPTR
-00236D 904E0E            MOV     DPTR,#multikey+01H
-002370 F0                MOVX    @DPTR,A
+002376 904CF9            MOV     DPTR,#g_variable+03AH
+002379 E0                MOVX    A,@DPTR
+00237A 904E0E            MOV     DPTR,#multikey+01H
+00237D F0                MOVX    @DPTR,A
   253: 			IPC_TxHidData(multikey, 2);
-002371 7B01              MOV     R3,#01H
-002373 7A4E              MOV     R2,#HIGH multikey
-002375 790D              MOV     R1,#LOW multikey
-002377 7D02              MOV     R5,#02H
-002379 120DCC            LCALL   _IPC_TxHidData
+00237E 7B01              MOV     R3,#01H
+002380 7A4E              MOV     R2,#HIGH multikey
+002382 790D              MOV     R1,#LOW multikey
+002384 7D02              MOV     R5,#02H
+002386 120DCC            LCALL   _IPC_TxHidData
   254: 		}
-00237C         ?C0038?SYS:
+002389         ?C0038?SYS:
   255: 		if (g_variable.sleepTimer == STANDBY_TIMER_10MIN) 
-00237C 904CE3            MOV     DPTR,#g_variable+024H
-00237F E0                MOVX    A,@DPTR
-002380 B4042E            CJNE    A,#04H,?C0044?SYS
-002383 A3                INC     DPTR
-002384 E0                MOVX    A,@DPTR
-002385 B4B029            CJNE    A,#0B0H,?C0044?SYS
+002389 904CE3            MOV     DPTR,#g_variable+024H
+00238C E0                MOVX    A,@DPTR
+00238D B4042E            CJNE    A,#04H,?C0044?SYS
+002390 A3                INC     DPTR
+002391 E0                MOVX    A,@DPTR
+002392 B4B029            CJNE    A,#0B0H,?C0044?SYS
   256: 		{
   257: 			YC_disconnect_all_link();
-002388 1217E1            LCALL   YC_disconnect_all_link
+002395 1217E1            LCALL   YC_disconnect_all_link
   258: 			g_variable.lockLpm = 1;
-00238B 904CEC            MOV     DPTR,#g_variable+02DH
-00238E 7401              MOV     A,#01H
-002390 F0                MOVX    @DPTR,A
+002398 904CEC            MOV     DPTR,#g_variable+02DH
+00239B 7401              MOV     A,#01H
+00239D F0                MOVX    @DPTR,A
   259: 		}
   260: 	}
-002391 22                RET     
-002392         ?C0037?SYS:
+00239E 22                RET     
+00239F         ?C0037?SYS:
   261: 	else
   262: 	{
   263: 		if (g_variable.sleepTimer >= RECONNECT_TIMER_10S)
-002392 C3                CLR     C
-002393 904CE4            MOV     DPTR,#g_variable+025H
-002396 E0                MOVX    A,@DPTR
-002397 9414              SUBB    A,#014H
-002399 904CE3            MOV     DPTR,#g_variable+024H
-00239C E0                MOVX    A,@DPTR
-00239D 9400              SUBB    A,#00H
-00239F 4010              JC      ?C0044?SYS
+00239F C3                CLR     C
+0023A0 904CE4            MOV     DPTR,#g_variable+025H
+0023A3 E0                MOVX    A,@DPTR
+0023A4 9414              SUBB    A,#014H
+0023A6 904CE3            MOV     DPTR,#g_variable+024H
+0023A9 E0                MOVX    A,@DPTR
+0023AA 9400              SUBB    A,#00H
+0023AC 4010              JC      ?C0044?SYS
   264: 		{
   265: 			if(ble_reconnect_flag)
-0023A1 904DE5            MOV     DPTR,#ble_reconnect_flag
-0023A4 E0                MOVX    A,@DPTR
-0023A5 6007              JZ      ?C0043?SYS
+0023AE 904DE5            MOV     DPTR,#ble_reconnect_flag
+0023B1 E0                MOVX    A,@DPTR
+0023B2 6007              JZ      ?C0043?SYS
   266: 			{
   267: 				ble_reconnect_flag = 0;
-0023A7 E4                CLR     A
-0023A8 F0                MOVX    @DPTR,A
+0023B4 E4                CLR     A
+0023B5 F0                MOVX    @DPTR,A
   268: 				IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-0023A9 7F0E              MOV     R7,#0EH
-0023AB 1207C1            LCALL   _IPC_TxControlCmd
+0023B6 7F0E              MOV     R7,#0EH
+0023B8 1207C1            LCALL   _IPC_TxControlCmd
   269: 			}
-0023AE         ?C0043?SYS:
+0023BB         ?C0043?SYS:
   270: 			System_long_sleep();
-0023AE 1210B6            LCALL   System_long_sleep
+0023BB 1210B6            LCALL   System_long_sleep
   271: 		}
   272: 	}
   273: }
-0023B1         ?C0044?SYS:
-0023B1 22                RET     
+0023BE         ?C0044?SYS:
+0023BE 22                RET     
 ----- FUNCTION YC_connect_timeout_500ms (END) -------
 
 
@@ -6918,21 +6930,21 @@
   523: {
   524: 	IPC_Initialize(&cb);
   525: }
-0023B2 7B01              MOV     R3,#01H
-0023B4 7A4E              MOV     R2,#HIGH cb
-0023B6 7916              MOV     R1,#LOW cb
+0023BF 7B01              MOV     R3,#01H
+0023C1 7A4E              MOV     R2,#HIGH cb
+0023C3 7916              MOV     R1,#LOW cb
 ;----                  JMP     _IPC_Initialize
 ----- FUNCTION kb_cb_init (END) -------
 
 
 ----- FUNCTION _IPC_Initialize (BEGIN) -----
 ;---- Variable 'cb' assigned to Register 'R1/R2/R3' ----
-0023B8 7828              MOV     R0,#LOW ipcCb
-0023BA 7C4E              MOV     R4,#HIGH ipcCb
-0023BC 7D01              MOV     R5,#01H
-0023BE 7E00              MOV     R6,#00H
-0023C0 7F12              MOV     R7,#012H
-0023C2 020390            LJMP    ?C?COPY
+0023C5 7828              MOV     R0,#LOW ipcCb
+0023C7 7C4E              MOV     R4,#HIGH ipcCb
+0023C9 7D01              MOV     R5,#01H
+0023CB 7E00              MOV     R6,#00H
+0023CD 7F12              MOV     R7,#012H
+0023CF 020390            LJMP    ?C?COPY
 ----- FUNCTION _IPC_Initialize (END) -------
 
 
@@ -6943,341 +6955,341 @@
    44: #ifdef  ADC_ENABLE
    45: 	byte i;
    46: 	ulong batValue = 0;
-0023C5 904E7D            MOV     DPTR,#batValue
-0023C8 120582            LCALL   ?C?LSTKXDATA
-0023CB 00                DB      00H
-0023CC 00                DB      00H
-0023CD 00                DB      00H
-0023CE 00                DB      00H
+0023D2 904E7D            MOV     DPTR,#batValue
+0023D5 120582            LCALL   ?C?LSTKXDATA
+0023D8 00                DB      00H
+0023D9 00                DB      00H
+0023DA 00                DB      00H
+0023DB 00                DB      00H
    47: 
    48: 	if(!m_adcCurrentValue)
-0023CF 904C95            MOV     DPTR,#m_adcCurrentValue
-0023D2 E0                MOVX    A,@DPTR
-0023D3 7002              JNZ     ?C0022?ADC
-0023D5 A3                INC     DPTR
-0023D6 E0                MOVX    A,@DPTR
-0023D7         ?C0022?ADC:
-0023D7 7002              JNZ     $ + 4H
-0023D9 A158              AJMP    ?C0006?ADC
-0023DB         ?C0005?ADC:
+0023DC 904C95            MOV     DPTR,#m_adcCurrentValue
+0023DF E0                MOVX    A,@DPTR
+0023E0 7002              JNZ     ?C0022?ADC
+0023E2 A3                INC     DPTR
+0023E3 E0                MOVX    A,@DPTR
+0023E4         ?C0022?ADC:
+0023E4 7002              JNZ     $ + 4H
+0023E6 A165              AJMP    ?C0006?ADC
+0023E8         ?C0005?ADC:
    49: 		return;
    50: 
    51: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
-0023DB 904C95            MOV     DPTR,#m_adcCurrentValue
-0023DE E0                MOVX    A,@DPTR
-0023DF FE                MOV     R6,A
-0023E0 A3                INC     DPTR
-0023E1 E0                MOVX    A,@DPTR
-0023E2 FF                MOV     R7,A
-0023E3 904CD4            MOV     DPTR,#g_variable+015H
-0023E6 E0                MOVX    A,@DPTR
-0023E7 FD                MOV     R5,A
-0023E8 04                INC     A
-0023E9 F0                MOVX    @DPTR,A
-0023EA ED                MOV     A,R5
-0023EB 25E0              ADD     A,ACC
-0023ED 24D6              ADD     A,#LOW g_variable+017H
-0023EF F582              MOV     DPL,A
-0023F1 E4                CLR     A
-0023F2 344C              ADDC    A,#HIGH g_variable+017H
-0023F4 F583              MOV     DPH,A
-0023F6 EE                MOV     A,R6
-0023F7 F0                MOVX    @DPTR,A
-0023F8 A3                INC     DPTR
-0023F9 EF                MOV     A,R7
-0023FA F0                MOVX    @DPTR,A
+0023E8 904C95            MOV     DPTR,#m_adcCurrentValue
+0023EB E0                MOVX    A,@DPTR
+0023EC FE                MOV     R6,A
+0023ED A3                INC     DPTR
+0023EE E0                MOVX    A,@DPTR
+0023EF FF                MOV     R7,A
+0023F0 904CD4            MOV     DPTR,#g_variable+015H
+0023F3 E0                MOVX    A,@DPTR
+0023F4 FD                MOV     R5,A
+0023F5 04                INC     A
+0023F6 F0                MOVX    @DPTR,A
+0023F7 ED                MOV     A,R5
+0023F8 25E0              ADD     A,ACC
+0023FA 24D6              ADD     A,#LOW g_variable+017H
+0023FC F582              MOV     DPL,A
+0023FE E4                CLR     A
+0023FF 344C              ADDC    A,#HIGH g_variable+017H
+002401 F583              MOV     DPH,A
+002403 EE                MOV     A,R6
+002404 F0                MOVX    @DPTR,A
+002405 A3                INC     DPTR
+002406 EF                MOV     A,R7
+002407 F0                MOVX    @DPTR,A
    52: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
-0023FB 904CD4            MOV     DPTR,#g_variable+015H
-0023FE E0                MOVX    A,@DPTR
-0023FF C3                CLR     C
-002400 9404              SUBB    A,#04H
-002402 4002              JC      ?C0007?ADC
+002408 904CD4            MOV     DPTR,#g_variable+015H
+00240B E0                MOVX    A,@DPTR
+00240C C3                CLR     C
+00240D 9404              SUBB    A,#04H
+00240F 4002              JC      ?C0007?ADC
    53: 		g_variable.battery_value_index = 0;
-002404 E4                CLR     A
-002405 F0                MOVX    @DPTR,A
-002406         ?C0007?ADC:
+002411 E4                CLR     A
+002412 F0                MOVX    @DPTR,A
+002413         ?C0007?ADC:
    54: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-002406 E4                CLR     A
-002407 904E7C            MOV     DPTR,#i
-00240A F0                MOVX    @DPTR,A
-00240B         ?C0008?ADC:
+002413 E4                CLR     A
+002414 904E7C            MOV     DPTR,#i
+002417 F0                MOVX    @DPTR,A
+002418         ?C0008?ADC:
    55: 	{
    56: 		batValue += g_variable.battery_value[i];
-00240B 904E7D            MOV     DPTR,#batValue
-00240E E0                MOVX    A,@DPTR
-00240F F8                MOV     R0,A
-002410 A3                INC     DPTR
-002411 E0                MOVX    A,@DPTR
-002412 F9                MOV     R1,A
-002413 A3                INC     DPTR
-002414 E0                MOVX    A,@DPTR
-002415 FA                MOV     R2,A
-002416 A3                INC     DPTR
-002417 E0                MOVX    A,@DPTR
-002418 FB                MOV     R3,A
-002419 904E7C            MOV     DPTR,#i
-00241C E0                MOVX    A,@DPTR
-00241D 25E0              ADD     A,ACC
-00241F 24D6              ADD     A,#LOW g_variable+017H
-002421 F582              MOV     DPL,A
-002423 E4                CLR     A
-002424 344C              ADDC    A,#HIGH g_variable+017H
-002426 F583              MOV     DPH,A
-002428 E0                MOVX    A,@DPTR
-002429 FE                MOV     R6,A
-00242A A3                INC     DPTR
-00242B E0                MOVX    A,@DPTR
-00242C FF                MOV     R7,A
-00242D E4                CLR     A
-00242E FC                MOV     R4,A
-00242F FD                MOV     R5,A
-002430 EB                MOV     A,R3
-002431 2F                ADD     A,R7
-002432 FF                MOV     R7,A
-002433 EA                MOV     A,R2
-002434 3E                ADDC    A,R6
-002435 FE                MOV     R6,A
-002436 ED                MOV     A,R5
-002437 39                ADDC    A,R1
-002438 FD                MOV     R5,A
-002439 EC                MOV     A,R4
-00243A 38                ADDC    A,R0
+002418 904E7D            MOV     DPTR,#batValue
+00241B E0                MOVX    A,@DPTR
+00241C F8                MOV     R0,A
+00241D A3                INC     DPTR
+00241E E0                MOVX    A,@DPTR
+00241F F9                MOV     R1,A
+002420 A3                INC     DPTR
+002421 E0                MOVX    A,@DPTR
+002422 FA                MOV     R2,A
+002423 A3                INC     DPTR
+002424 E0                MOVX    A,@DPTR
+002425 FB                MOV     R3,A
+002426 904E7C            MOV     DPTR,#i
+002429 E0                MOVX    A,@DPTR
+00242A 25E0              ADD     A,ACC
+00242C 24D6              ADD     A,#LOW g_variable+017H
+00242E F582              MOV     DPL,A
+002430 E4                CLR     A
+002431 344C              ADDC    A,#HIGH g_variable+017H
+002433 F583              MOV     DPH,A
+002435 E0                MOVX    A,@DPTR
+002436 FE                MOV     R6,A
+002437 A3                INC     DPTR
+002438 E0                MOVX    A,@DPTR
+002439 FF                MOV     R7,A
+00243A E4                CLR     A
 00243B FC                MOV     R4,A
-00243C 904E7D            MOV     DPTR,#batValue
-00243F 120576            LCALL   ?C?LSTXDATA
+00243C FD                MOV     R5,A
+00243D EB                MOV     A,R3
+00243E 2F                ADD     A,R7
+00243F FF                MOV     R7,A
+002440 EA                MOV     A,R2
+002441 3E                ADDC    A,R6
+002442 FE                MOV     R6,A
+002443 ED                MOV     A,R5
+002444 39                ADDC    A,R1
+002445 FD                MOV     R5,A
+002446 EC                MOV     A,R4
+002447 38                ADDC    A,R0
+002448 FC                MOV     R4,A
+002449 904E7D            MOV     DPTR,#batValue
+00244C 120576            LCALL   ?C?LSTXDATA
    57: 	}
-002442 904E7C            MOV     DPTR,#i
-002445 E0                MOVX    A,@DPTR
-002446 04                INC     A
-002447 F0                MOVX    @DPTR,A
-002448 E0                MOVX    A,@DPTR
-002449 B404BF            CJNE    A,#04H,?C0008?ADC
-00244C         ?C0009?ADC:
-   58: 	batValue = batValue/BAT_ARRAY_LEN;
-00244C 904E7D            MOV     DPTR,#batValue
-00244F E0                MOVX    A,@DPTR
-002450 FC                MOV     R4,A
-002451 A3                INC     DPTR
+00244F 904E7C            MOV     DPTR,#i
 002452 E0                MOVX    A,@DPTR
-002453 FD                MOV     R5,A
-002454 A3                INC     DPTR
+002453 04                INC     A
+002454 F0                MOVX    @DPTR,A
 002455 E0                MOVX    A,@DPTR
-002456 FE                MOV     R6,A
-002457 A3                INC     DPTR
-002458 E0                MOVX    A,@DPTR
-002459 FF                MOV     R7,A
-00245A E4                CLR     A
-00245B 7B04              MOV     R3,#04H
-00245D FA                MOV     R2,A
-00245E F9                MOV     R1,A
-00245F F8                MOV     R0,A
-002460 1204C5            LCALL   ?C?ULDIV
-002463 904E7D            MOV     DPTR,#batValue
-002466 120576            LCALL   ?C?LSTXDATA
+002456 B404BF            CJNE    A,#04H,?C0008?ADC
+002459         ?C0009?ADC:
+   58: 	batValue = batValue/BAT_ARRAY_LEN;
+002459 904E7D            MOV     DPTR,#batValue
+00245C E0                MOVX    A,@DPTR
+00245D FC                MOV     R4,A
+00245E A3                INC     DPTR
+00245F E0                MOVX    A,@DPTR
+002460 FD                MOV     R5,A
+002461 A3                INC     DPTR
+002462 E0                MOVX    A,@DPTR
+002463 FE                MOV     R6,A
+002464 A3                INC     DPTR
+002465 E0                MOVX    A,@DPTR
+002466 FF                MOV     R7,A
+002467 E4                CLR     A
+002468 7B04              MOV     R3,#04H
+00246A FA                MOV     R2,A
+00246B F9                MOV     R1,A
+00246C F8                MOV     R0,A
+00246D 1204C5            LCALL   ?C?ULDIV
+002470 904E7D            MOV     DPTR,#batValue
+002473 120576            LCALL   ?C?LSTXDATA
    59: 
    60: 	if(batValue <= g_variable.battery_level_shutdown)
-002469 904CE0            MOV     DPTR,#g_variable+021H
-00246C E0                MOVX    A,@DPTR
-00246D FE                MOV     R6,A
-00246E A3                INC     DPTR
-00246F E0                MOVX    A,@DPTR
-002470 FF                MOV     R7,A
-002471 E4                CLR     A
-002472 FC                MOV     R4,A
-002473 FD                MOV     R5,A
-002474 904E7D            MOV     DPTR,#batValue
-002477 E0                MOVX    A,@DPTR
-002478 F8                MOV     R0,A
-002479 A3                INC     DPTR
-00247A E0                MOVX    A,@DPTR
-00247B F9                MOV     R1,A
-00247C A3                INC     DPTR
-00247D E0                MOVX    A,@DPTR
-00247E FA                MOV     R2,A
-00247F A3                INC     DPTR
-002480 E0                MOVX    A,@DPTR
-002481 FB                MOV     R3,A
-002482 D3                SETB    C
-002483 120565            LCALL   ?C?ULCMP
-002486 5007              JNC     ?C0011?ADC
+002476 904CE0            MOV     DPTR,#g_variable+021H
+002479 E0                MOVX    A,@DPTR
+00247A FE                MOV     R6,A
+00247B A3                INC     DPTR
+00247C E0                MOVX    A,@DPTR
+00247D FF                MOV     R7,A
+00247E E4                CLR     A
+00247F FC                MOV     R4,A
+002480 FD                MOV     R5,A
+002481 904E7D            MOV     DPTR,#batValue
+002484 E0                MOVX    A,@DPTR
+002485 F8                MOV     R0,A
+002486 A3                INC     DPTR
+002487 E0                MOVX    A,@DPTR
+002488 F9                MOV     R1,A
+002489 A3                INC     DPTR
+00248A E0                MOVX    A,@DPTR
+00248B FA                MOV     R2,A
+00248C A3                INC     DPTR
+00248D E0                MOVX    A,@DPTR
+00248E FB                MOV     R3,A
+00248F D3                SETB    C
+002490 120565            LCALL   ?C?ULCMP
+002493 5007              JNC     ?C0011?ADC
    61: 		g_variable.battery_level_percentage = 0;
-002488 E4                CLR     A
-002489 904CF9            MOV     DPTR,#g_variable+03AH
-00248C F0                MOVX    @DPTR,A
-00248D A111              AJMP    ?C0012?ADC
-00248F         ?C0011?ADC:
+002495 E4                CLR     A
+002496 904CF9            MOV     DPTR,#g_variable+03AH
+002499 F0                MOVX    @DPTR,A
+00249A A11E              AJMP    ?C0012?ADC
+00249C         ?C0011?ADC:
    62: 	else	if(batValue >= g_variable.battery_level_full)
-00248F 904CFA            MOV     DPTR,#g_variable+03BH
-002492 E0                MOVX    A,@DPTR
-002493 FE                MOV     R6,A
-002494 A3                INC     DPTR
-002495 E0                MOVX    A,@DPTR
-002496 FF                MOV     R7,A
-002497 E4                CLR     A
-002498 FC                MOV     R4,A
-002499 FD                MOV     R5,A
-00249A 904E7D            MOV     DPTR,#batValue
-00249D E0                MOVX    A,@DPTR
-00249E F8                MOV     R0,A
-00249F A3                INC     DPTR
-0024A0 E0                MOVX    A,@DPTR
-0024A1 F9                MOV     R1,A
-0024A2 A3                INC     DPTR
-0024A3 E0                MOVX    A,@DPTR
-0024A4 FA                MOV     R2,A
-0024A5 A3                INC     DPTR
-0024A6 E0                MOVX    A,@DPTR
-0024A7 FB                MOV     R3,A
-0024A8 C3                CLR     C
-0024A9 120565            LCALL   ?C?ULCMP
-0024AC 4008              JC      ?C0013?ADC
+00249C 904CFA            MOV     DPTR,#g_variable+03BH
+00249F E0                MOVX    A,@DPTR
+0024A0 FE                MOV     R6,A
+0024A1 A3                INC     DPTR
+0024A2 E0                MOVX    A,@DPTR
+0024A3 FF                MOV     R7,A
+0024A4 E4                CLR     A
+0024A5 FC                MOV     R4,A
+0024A6 FD                MOV     R5,A
+0024A7 904E7D            MOV     DPTR,#batValue
+0024AA E0                MOVX    A,@DPTR
+0024AB F8                MOV     R0,A
+0024AC A3                INC     DPTR
+0024AD E0                MOVX    A,@DPTR
+0024AE F9                MOV     R1,A
+0024AF A3                INC     DPTR
+0024B0 E0                MOVX    A,@DPTR
+0024B1 FA                MOV     R2,A
+0024B2 A3                INC     DPTR
+0024B3 E0                MOVX    A,@DPTR
+0024B4 FB                MOV     R3,A
+0024B5 C3                CLR     C
+0024B6 120565            LCALL   ?C?ULCMP
+0024B9 4008              JC      ?C0013?ADC
    63: 		g_variable.battery_level_percentage = 100;
-0024AE 904CF9            MOV     DPTR,#g_variable+03AH
-0024B1 7464              MOV     A,#064H
-0024B3 F0                MOVX    @DPTR,A
-0024B4 805B              SJMP    ?C0012?ADC
-0024B6         ?C0013?ADC:
+0024BB 904CF9            MOV     DPTR,#g_variable+03AH
+0024BE 7464              MOV     A,#064H
+0024C0 F0                MOVX    @DPTR,A
+0024C1 805B              SJMP    ?C0012?ADC
+0024C3         ?C0013?ADC:
    64: 	else	
    65: 		g_variable.battery_level_percentage = (byte)(((batValue - g_variable.battery_level_shutdown)*100)/(g_variable.b
 >> attery_level_full -g_variable.battery_level_shutdown) );
-0024B6 904CE0            MOV     DPTR,#g_variable+021H
-0024B9 E0                MOVX    A,@DPTR
-0024BA FE                MOV     R6,A
-0024BB A3                INC     DPTR
-0024BC E0                MOVX    A,@DPTR
-0024BD FF                MOV     R7,A
-0024BE FB                MOV     R3,A
-0024BF AA06              MOV     R2,AR6
-0024C1 E4                CLR     A
-0024C2 904E7D            MOV     DPTR,#batValue
-0024C5 E0                MOVX    A,@DPTR
-0024C6 FC                MOV     R4,A
-0024C7 A3                INC     DPTR
-0024C8 E0                MOVX    A,@DPTR
-0024C9 FD                MOV     R5,A
-0024CA A3                INC     DPTR
-0024CB E0                MOVX    A,@DPTR
-0024CC FE                MOV     R6,A
-0024CD A3                INC     DPTR
-0024CE E0                MOVX    A,@DPTR
-0024CF C3                CLR     C
-0024D0 9B                SUBB    A,R3
-0024D1 FF                MOV     R7,A
-0024D2 EE                MOV     A,R6
-0024D3 9A                SUBB    A,R2
-0024D4 FE                MOV     R6,A
-0024D5 ED                MOV     A,R5
-0024D6 9400              SUBB    A,#00H
-0024D8 FD                MOV     R5,A
-0024D9 EC                MOV     A,R4
-0024DA 9400              SUBB    A,#00H
-0024DC FC                MOV     R4,A
-0024DD E4                CLR     A
-0024DE 7B64              MOV     R3,#064H
-0024E0 FA                MOV     R2,A
-0024E1 F9                MOV     R1,A
-0024E2 F8                MOV     R0,A
-0024E3 12043A            LCALL   ?C?LMUL
-0024E6 C006              PUSH    AR6
-0024E8 C007              PUSH    AR7
-0024EA 904CE0            MOV     DPTR,#g_variable+021H
-0024ED E0                MOVX    A,@DPTR
-0024EE FE                MOV     R6,A
-0024EF A3                INC     DPTR
-0024F0 E0                MOVX    A,@DPTR
-0024F1 FF                MOV     R7,A
-0024F2 C3                CLR     C
-0024F3 904CFB            MOV     DPTR,#g_variable+03CH
-0024F6 E0                MOVX    A,@DPTR
-0024F7 9F                SUBB    A,R7
-0024F8 FF                MOV     R7,A
-0024F9 904CFA            MOV     DPTR,#g_variable+03BH
-0024FC E0                MOVX    A,@DPTR
-0024FD 9E                SUBB    A,R6
-0024FE FE                MOV     R6,A
-0024FF AB07              MOV     R3,AR7
-002501 FA                MOV     R2,A
-002502 E4                CLR     A
-002503 F9                MOV     R1,A
-002504 F8                MOV     R0,A
-002505 D007              POP     AR7
-002507 D006              POP     AR6
-002509 1204C5            LCALL   ?C?ULDIV
-00250C 904CF9            MOV     DPTR,#g_variable+03AH
-00250F EF                MOV     A,R7
-002510 F0                MOVX    @DPTR,A
-002511         ?C0012?ADC:
+0024C3 904CE0            MOV     DPTR,#g_variable+021H
+0024C6 E0                MOVX    A,@DPTR
+0024C7 FE                MOV     R6,A
+0024C8 A3                INC     DPTR
+0024C9 E0                MOVX    A,@DPTR
+0024CA FF                MOV     R7,A
+0024CB FB                MOV     R3,A
+0024CC AA06              MOV     R2,AR6
+0024CE E4                CLR     A
+0024CF 904E7D            MOV     DPTR,#batValue
+0024D2 E0                MOVX    A,@DPTR
+0024D3 FC                MOV     R4,A
+0024D4 A3                INC     DPTR
+0024D5 E0                MOVX    A,@DPTR
+0024D6 FD                MOV     R5,A
+0024D7 A3                INC     DPTR
+0024D8 E0                MOVX    A,@DPTR
+0024D9 FE                MOV     R6,A
+0024DA A3                INC     DPTR
+0024DB E0                MOVX    A,@DPTR
+0024DC C3                CLR     C
+0024DD 9B                SUBB    A,R3
+0024DE FF                MOV     R7,A
+0024DF EE                MOV     A,R6
+0024E0 9A                SUBB    A,R2
+0024E1 FE                MOV     R6,A
+0024E2 ED                MOV     A,R5
+0024E3 9400              SUBB    A,#00H
+0024E5 FD                MOV     R5,A
+0024E6 EC                MOV     A,R4
+0024E7 9400              SUBB    A,#00H
+0024E9 FC                MOV     R4,A
+0024EA E4                CLR     A
+0024EB 7B64              MOV     R3,#064H
+0024ED FA                MOV     R2,A
+0024EE F9                MOV     R1,A
+0024EF F8                MOV     R0,A
+0024F0 12043A            LCALL   ?C?LMUL
+0024F3 C006              PUSH    AR6
+0024F5 C007              PUSH    AR7
+0024F7 904CE0            MOV     DPTR,#g_variable+021H
+0024FA E0                MOVX    A,@DPTR
+0024FB FE                MOV     R6,A
+0024FC A3                INC     DPTR
+0024FD E0                MOVX    A,@DPTR
+0024FE FF                MOV     R7,A
+0024FF C3                CLR     C
+002500 904CFB            MOV     DPTR,#g_variable+03CH
+002503 E0                MOVX    A,@DPTR
+002504 9F                SUBB    A,R7
+002505 FF                MOV     R7,A
+002506 904CFA            MOV     DPTR,#g_variable+03BH
+002509 E0                MOVX    A,@DPTR
+00250A 9E                SUBB    A,R6
+00250B FE                MOV     R6,A
+00250C AB07              MOV     R3,AR7
+00250E FA                MOV     R2,A
+00250F E4                CLR     A
+002510 F9                MOV     R1,A
+002511 F8                MOV     R0,A
+002512 D007              POP     AR7
+002514 D006              POP     AR6
+002516 1204C5            LCALL   ?C?ULDIV
+002519 904CF9            MOV     DPTR,#g_variable+03AH
+00251C EF                MOV     A,R7
+00251D F0                MOVX    @DPTR,A
+00251E         ?C0012?ADC:
    66: 	
    67: 	if(g_variable.battery_value[0] < g_variable.battery_level_shutdown)
-002511 904CE0            MOV     DPTR,#g_variable+021H
-002514 E0                MOVX    A,@DPTR
-002515 FE                MOV     R6,A
-002516 A3                INC     DPTR
-002517 E0                MOVX    A,@DPTR
-002518 FF                MOV     R7,A
-002519 C3                CLR     C
-00251A 904CD7            MOV     DPTR,#g_variable+018H
-00251D E0                MOVX    A,@DPTR
-00251E 9F                SUBB    A,R7
-00251F 904CD6            MOV     DPTR,#g_variable+017H
-002522 E0                MOVX    A,@DPTR
-002523 9E                SUBB    A,R6
-002524 5007              JNC     ?C0015?ADC
+00251E 904CE0            MOV     DPTR,#g_variable+021H
+002521 E0                MOVX    A,@DPTR
+002522 FE                MOV     R6,A
+002523 A3                INC     DPTR
+002524 E0                MOVX    A,@DPTR
+002525 FF                MOV     R7,A
+002526 C3                CLR     C
+002527 904CD7            MOV     DPTR,#g_variable+018H
+00252A E0                MOVX    A,@DPTR
+00252B 9F                SUBB    A,R7
+00252C 904CD6            MOV     DPTR,#g_variable+017H
+00252F E0                MOVX    A,@DPTR
+002530 9E                SUBB    A,R6
+002531 5007              JNC     ?C0015?ADC
    68: 	{
    69: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
-002526 904CD5            MOV     DPTR,#g_variable+016H
-002529 7402              MOV     A,#02H
-00252B F0                MOVX    @DPTR,A
+002533 904CD5            MOV     DPTR,#g_variable+016H
+002536 7402              MOV     A,#02H
+002538 F0                MOVX    @DPTR,A
    70: 	}
-00252C 22                RET     
-00252D         ?C0015?ADC:
+002539 22                RET     
+00253A         ?C0015?ADC:
    71: 	else
    72: 	{
    73: 		if (batValue < g_variable.battery_level_low)
-00252D 904CDE            MOV     DPTR,#g_variable+01FH
-002530 E0                MOVX    A,@DPTR
-002531 FE                MOV     R6,A
-002532 A3                INC     DPTR
-002533 E0                MOVX    A,@DPTR
-002534 FF                MOV     R7,A
-002535 E4                CLR     A
-002536 FC                MOV     R4,A
-002537 FD                MOV     R5,A
-002538 904E7D            MOV     DPTR,#batValue
-00253B E0                MOVX    A,@DPTR
-00253C F8                MOV     R0,A
-00253D A3                INC     DPTR
-00253E E0                MOVX    A,@DPTR
-00253F F9                MOV     R1,A
-002540 A3                INC     DPTR
-002541 E0                MOVX    A,@DPTR
-002542 FA                MOV     R2,A
-002543 A3                INC     DPTR
-002544 E0                MOVX    A,@DPTR
-002545 FB                MOV     R3,A
-002546 C3                CLR     C
-002547 120565            LCALL   ?C?ULCMP
-00254A 5007              JNC     ?C0017?ADC
+00253A 904CDE            MOV     DPTR,#g_variable+01FH
+00253D E0                MOVX    A,@DPTR
+00253E FE                MOV     R6,A
+00253F A3                INC     DPTR
+002540 E0                MOVX    A,@DPTR
+002541 FF                MOV     R7,A
+002542 E4                CLR     A
+002543 FC                MOV     R4,A
+002544 FD                MOV     R5,A
+002545 904E7D            MOV     DPTR,#batValue
+002548 E0                MOVX    A,@DPTR
+002549 F8                MOV     R0,A
+00254A A3                INC     DPTR
+00254B E0                MOVX    A,@DPTR
+00254C F9                MOV     R1,A
+00254D A3                INC     DPTR
+00254E E0                MOVX    A,@DPTR
+00254F FA                MOV     R2,A
+002550 A3                INC     DPTR
+002551 E0                MOVX    A,@DPTR
+002552 FB                MOV     R3,A
+002553 C3                CLR     C
+002554 120565            LCALL   ?C?ULCMP
+002557 5007              JNC     ?C0017?ADC
    74: 		{
    75: 			g_variable.battery_status = BAT_STATUS_LOW;
-00254C 904CD5            MOV     DPTR,#g_variable+016H
-00254F 7401              MOV     A,#01H
-002551 F0                MOVX    @DPTR,A
+002559 904CD5            MOV     DPTR,#g_variable+016H
+00255C 7401              MOV     A,#01H
+00255E F0                MOVX    @DPTR,A
    76: 		}
-002552 22                RET     
-002553         ?C0017?ADC:
+00255F 22                RET     
+002560         ?C0017?ADC:
    77: 		else
    78: 		{
    79: 			g_variable.battery_status = BAT_STATUS_NONE;
-002553 E4                CLR     A
-002554 904CD5            MOV     DPTR,#g_variable+016H
-002557 F0                MOVX    @DPTR,A
+002560 E4                CLR     A
+002561 904CD5            MOV     DPTR,#g_variable+016H
+002564 F0                MOVX    @DPTR,A
    80: 		}
    81: 	}
    82: #endif	
    83: }
-002558         ?C0006?ADC:
-002558 22                RET     
+002565         ?C0006?ADC:
+002565 22                RET     
 ----- FUNCTION YC_adc_check (END) -------
 
 
@@ -7287,522 +7299,522 @@
     6: {
     7: 	YC_System_Main();
     8: }
-002559 020F75            LJMP    YC_System_Main
+002566 020F75            LJMP    YC_System_Main
 ----- FUNCTION main (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-00255C 904EAF            MOV     DPTR,#dest
-00255F EE                MOV     A,R6
-002560 F0                MOVX    @DPTR,A
-002561 A3                INC     DPTR
-002562 EF                MOV     A,R7
-002563 F0                MOVX    @DPTR,A
+002569 904EAF            MOV     DPTR,#dest
+00256C EE                MOV     A,R6
+00256D F0                MOVX    @DPTR,A
+00256E A3                INC     DPTR
+00256F EF                MOV     A,R7
+002570 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-002564 A905              MOV     R1,AR5
-002566 904B9E            MOV     DPTR,#ipcRxReadPtr
-002569 E0                MOVX    A,@DPTR
-00256A FE                MOV     R6,A
-00256B A3                INC     DPTR
-00256C E0                MOVX    A,@DPTR
-00256D FF                MOV     R7,A
+002571 A905              MOV     R1,AR5
+002573 904B9E            MOV     DPTR,#ipcRxReadPtr
+002576 E0                MOVX    A,@DPTR
+002577 FE                MOV     R6,A
+002578 A3                INC     DPTR
+002579 E0                MOVX    A,@DPTR
+00257A FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-00256E         ?C0004?IPC:
-00256E AD01              MOV     R5,AR1
-002570 19                DEC     R1
-002571 ED                MOV     A,R5
-002572 602F              JZ      ?C0005?IPC
-002574 0F                INC     R7
-002575 EF                MOV     A,R7
-002576 AC06              MOV     R4,AR6
-002578 7001              JNZ     ?C0038?IPC
-00257A 0E                INC     R6
-00257B         ?C0038?IPC:
-00257B 14                DEC     A
-00257C F582              MOV     DPL,A
-00257E 8C83              MOV     DPH,R4
-002580 E0                MOVX    A,@DPTR
-002581 FD                MOV     R5,A
-002582 904EAF            MOV     DPTR,#dest
-002585 E4                CLR     A
-002586 75F001            MOV     B,#01H
-002589 120424            LCALL   ?C?ILDIX
-00258C 85F082            MOV     DPL,B
-00258F F583              MOV     DPH,A
-002591 ED                MOV     A,R5
-002592 F0                MOVX    @DPTR,A
-002593 AD07              MOV     R5,AR7
-002595 AC06              MOV     R4,AR6
-002597 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-00259A BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-00259D 7E4B              MOV     R6,#04BH
-00259F 7F36              MOV     R7,#036H
-0025A1 80CB              SJMP    ?C0004?IPC
-0025A3         ?C0005?IPC:
-0025A3 904B9E            MOV     DPTR,#ipcRxReadPtr
-0025A6 EE                MOV     A,R6
-0025A7 F0                MOVX    @DPTR,A
-0025A8 A3                INC     DPTR
-0025A9 EF                MOV     A,R7
-0025AA F0                MOVX    @DPTR,A
-0025AB 22                RET     
+00257B         ?C0004?IPC:
+00257B AD01              MOV     R5,AR1
+00257D 19                DEC     R1
+00257E ED                MOV     A,R5
+00257F 602F              JZ      ?C0005?IPC
+002581 0F                INC     R7
+002582 EF                MOV     A,R7
+002583 AC06              MOV     R4,AR6
+002585 7001              JNZ     ?C0038?IPC
+002587 0E                INC     R6
+002588         ?C0038?IPC:
+002588 14                DEC     A
+002589 F582              MOV     DPL,A
+00258B 8C83              MOV     DPH,R4
+00258D E0                MOVX    A,@DPTR
+00258E FD                MOV     R5,A
+00258F 904EAF            MOV     DPTR,#dest
+002592 E4                CLR     A
+002593 75F001            MOV     B,#01H
+002596 120424            LCALL   ?C?ILDIX
+002599 85F082            MOV     DPL,B
+00259C F583              MOV     DPH,A
+00259E ED                MOV     A,R5
+00259F F0                MOVX    @DPTR,A
+0025A0 AD07              MOV     R5,AR7
+0025A2 AC06              MOV     R4,AR6
+0025A4 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+0025A7 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+0025AA 7E4B              MOV     R6,#04BH
+0025AC 7F36              MOV     R7,#036H
+0025AE 80CB              SJMP    ?C0004?IPC
+0025B0         ?C0005?IPC:
+0025B0 904B9E            MOV     DPTR,#ipcRxReadPtr
+0025B3 EE                MOV     A,R6
+0025B4 F0                MOVX    @DPTR,A
+0025B5 A3                INC     DPTR
+0025B6 EF                MOV     A,R7
+0025B7 F0                MOVX    @DPTR,A
+0025B8 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION IPC_DealSingleStep (BEGIN) -----
-0025AC 7A0C              MOV     R2,#HIGH ipcReadBuff
-0025AE 794B              MOV     R1,#LOW ipcReadBuff
-0025B0 904E9F            MOV     DPTR,#pbuff
-0025B3 7401              MOV     A,#01H
-0025B5 F0                MOVX    @DPTR,A
-0025B6 A3                INC     DPTR
-0025B7 740C              MOV     A,#HIGH ipcReadBuff
-0025B9 F0                MOVX    @DPTR,A
-0025BA A3                INC     DPTR
-0025BB 744B              MOV     A,#LOW ipcReadBuff
-0025BD F0                MOVX    @DPTR,A
-0025BE 904BA0            MOV     DPTR,#ipcRxWritePtr
-0025C1 E0                MOVX    A,@DPTR
-0025C2 FE                MOV     R6,A
+0025B9 7A0C              MOV     R2,#HIGH ipcReadBuff
+0025BB 794B              MOV     R1,#LOW ipcReadBuff
+0025BD 904E9F            MOV     DPTR,#pbuff
+0025C0 7401              MOV     A,#01H
+0025C2 F0                MOVX    @DPTR,A
 0025C3 A3                INC     DPTR
-0025C4 E0                MOVX    A,@DPTR
-0025C5 FF                MOV     R7,A
-0025C6 904B9E            MOV     DPTR,#ipcRxReadPtr
-0025C9 E0                MOVX    A,@DPTR
-0025CA 6E                XRL     A,R6
-0025CB 7003              JNZ     ?C0040?IPC
-0025CD A3                INC     DPTR
+0025C4 740C              MOV     A,#HIGH ipcReadBuff
+0025C6 F0                MOVX    @DPTR,A
+0025C7 A3                INC     DPTR
+0025C8 744B              MOV     A,#LOW ipcReadBuff
+0025CA F0                MOVX    @DPTR,A
+0025CB 904BA0            MOV     DPTR,#ipcRxWritePtr
 0025CE E0                MOVX    A,@DPTR
-0025CF 6F                XRL     A,R7
-0025D0         ?C0040?IPC:
-0025D0 7002              JNZ     $ + 4H
-0025D2 C185              AJMP    ?C0031?IPC
-0025D4         ?C0023?IPC:
-0025D4 7E0C              MOV     R6,#HIGH ipcReadBuff
-0025D6 7F4B              MOV     R7,#LOW ipcReadBuff
-0025D8 7D03              MOV     R5,#03H
-0025DA B15C              ACALL   _ipcRx
-0025DC 904E9F            MOV     DPTR,#pbuff
-0025DF E0                MOVX    A,@DPTR
-0025E0 FB                MOV     R3,A
-0025E1 A3                INC     DPTR
-0025E2 E0                MOVX    A,@DPTR
-0025E3 FA                MOV     R2,A
-0025E4 A3                INC     DPTR
-0025E5 E0                MOVX    A,@DPTR
-0025E6 F9                MOV     R1,A
-0025E7 1203B6            LCALL   ?C?CLDPTR
-0025EA B4022B            CJNE    A,#02H,?C0025?IPC
-0025ED 904EA0            MOV     DPTR,#pbuff+01H
-0025F0 E4                CLR     A
-0025F1 75F002            MOV     B,#02H
-0025F4 12040E            LCALL   ?C?IILDX
-0025F7 904E9F            MOV     DPTR,#pbuff
-0025FA E0                MOVX    A,@DPTR
-0025FB FB                MOV     R3,A
-0025FC A3                INC     DPTR
-0025FD E0                MOVX    A,@DPTR
-0025FE FA                MOV     R2,A
-0025FF A3                INC     DPTR
-002600 E0                MOVX    A,@DPTR
-002601 F9                MOV     R1,A
-002602 1203B6            LCALL   ?C?CLDPTR
-002605 FF                MOV     R7,A
-002606 904E28            MOV     DPTR,#ipcCb
-002609 E0                MOVX    A,@DPTR
-00260A A3                INC     DPTR
-00260B E0                MOVX    A,@DPTR
-00260C FA                MOV     R2,A
-00260D A3                INC     DPTR
-00260E E0                MOVX    A,@DPTR
-00260F F582              MOV     DPL,A
-002611 8A83              MOV     DPH,R2
-002613 1205DD            LCALL   ?C?ICALL2
-002616 806D              SJMP    ?C0031?IPC
-002618         ?C0025?IPC:
-002618 904E9F            MOV     DPTR,#pbuff
+0025CF FE                MOV     R6,A
+0025D0 A3                INC     DPTR
+0025D1 E0                MOVX    A,@DPTR
+0025D2 FF                MOV     R7,A
+0025D3 904B9E            MOV     DPTR,#ipcRxReadPtr
+0025D6 E0                MOVX    A,@DPTR
+0025D7 6E                XRL     A,R6
+0025D8 7003              JNZ     ?C0040?IPC
+0025DA A3                INC     DPTR
+0025DB E0                MOVX    A,@DPTR
+0025DC 6F                XRL     A,R7
+0025DD         ?C0040?IPC:
+0025DD 7002              JNZ     $ + 4H
+0025DF C192              AJMP    ?C0031?IPC
+0025E1         ?C0023?IPC:
+0025E1 7E0C              MOV     R6,#HIGH ipcReadBuff
+0025E3 7F4B              MOV     R7,#LOW ipcReadBuff
+0025E5 7D03              MOV     R5,#03H
+0025E7 B169              ACALL   _ipcRx
+0025E9 904E9F            MOV     DPTR,#pbuff
+0025EC E0                MOVX    A,@DPTR
+0025ED FB                MOV     R3,A
+0025EE A3                INC     DPTR
+0025EF E0                MOVX    A,@DPTR
+0025F0 FA                MOV     R2,A
+0025F1 A3                INC     DPTR
+0025F2 E0                MOVX    A,@DPTR
+0025F3 F9                MOV     R1,A
+0025F4 1203B6            LCALL   ?C?CLDPTR
+0025F7 B4022B            CJNE    A,#02H,?C0025?IPC
+0025FA 904EA0            MOV     DPTR,#pbuff+01H
+0025FD E4                CLR     A
+0025FE 75F002            MOV     B,#02H
+002601 12040E            LCALL   ?C?IILDX
+002604 904E9F            MOV     DPTR,#pbuff
+002607 E0                MOVX    A,@DPTR
+002608 FB                MOV     R3,A
+002609 A3                INC     DPTR
+00260A E0                MOVX    A,@DPTR
+00260B FA                MOV     R2,A
+00260C A3                INC     DPTR
+00260D E0                MOVX    A,@DPTR
+00260E F9                MOV     R1,A
+00260F 1203B6            LCALL   ?C?CLDPTR
+002612 FF                MOV     R7,A
+002613 904E28            MOV     DPTR,#ipcCb
+002616 E0                MOVX    A,@DPTR
+002617 A3                INC     DPTR
+002618 E0                MOVX    A,@DPTR
+002619 FA                MOV     R2,A
+00261A A3                INC     DPTR
 00261B E0                MOVX    A,@DPTR
-00261C FB                MOV     R3,A
-00261D A3                INC     DPTR
-00261E E0                MOVX    A,@DPTR
-00261F FA                MOV     R2,A
-002620 A3                INC     DPTR
-002621 E0                MOVX    A,@DPTR
-002622 F9                MOV     R1,A
-002623 1203B6            LCALL   ?C?CLDPTR
-002626 6405              XRL     A,#05H
-002628 7059              JNZ     ?C0029?IPC
-00262A 904EA0            MOV     DPTR,#pbuff+01H
-00262D 75F001            MOV     B,#01H
-002630 12040E            LCALL   ?C?IILDX
-002633 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-002635 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-002637 904E9F            MOV     DPTR,#pbuff
-00263A E0                MOVX    A,@DPTR
-00263B FB                MOV     R3,A
-00263C A3                INC     DPTR
-00263D E0                MOVX    A,@DPTR
-00263E FA                MOV     R2,A
-00263F A3                INC     DPTR
-002640 E0                MOVX    A,@DPTR
-002641 F9                MOV     R1,A
-002642 1203B6            LCALL   ?C?CLDPTR
-002645 14                DEC     A
-002646 FD                MOV     R5,A
-002647 B15C              ACALL   _ipcRx
-002649 904E9F            MOV     DPTR,#pbuff
-00264C E0                MOVX    A,@DPTR
-00264D FB                MOV     R3,A
-00264E A3                INC     DPTR
-00264F E0                MOVX    A,@DPTR
-002650 FA                MOV     R2,A
-002651 A3                INC     DPTR
-002652 E0                MOVX    A,@DPTR
-002653 2401              ADD     A,#01H
-002655 F9                MOV     R1,A
-002656 E4                CLR     A
-002657 3A                ADDC    A,R2
-002658 FA                MOV     R2,A
-002659 C002              PUSH    AR2
-00265B C001              PUSH    AR1
-00265D 904E9F            MOV     DPTR,#pbuff
-002660 E0                MOVX    A,@DPTR
-002661 A3                INC     DPTR
-002662 E0                MOVX    A,@DPTR
-002663 FA                MOV     R2,A
-002664 A3                INC     DPTR
-002665 E0                MOVX    A,@DPTR
-002666 F9                MOV     R1,A
-002667 1203B6            LCALL   ?C?CLDPTR
-00266A FD                MOV     R5,A
-00266B 7C00              MOV     R4,#00H
-00266D 904E34            MOV     DPTR,#ipcCb+0CH
-002670 E0                MOVX    A,@DPTR
+00261C F582              MOV     DPL,A
+00261E 8A83              MOV     DPH,R2
+002620 1205DD            LCALL   ?C?ICALL2
+002623 806D              SJMP    ?C0031?IPC
+002625         ?C0025?IPC:
+002625 904E9F            MOV     DPTR,#pbuff
+002628 E0                MOVX    A,@DPTR
+002629 FB                MOV     R3,A
+00262A A3                INC     DPTR
+00262B E0                MOVX    A,@DPTR
+00262C FA                MOV     R2,A
+00262D A3                INC     DPTR
+00262E E0                MOVX    A,@DPTR
+00262F F9                MOV     R1,A
+002630 1203B6            LCALL   ?C?CLDPTR
+002633 6405              XRL     A,#05H
+002635 7059              JNZ     ?C0029?IPC
+002637 904EA0            MOV     DPTR,#pbuff+01H
+00263A 75F001            MOV     B,#01H
+00263D 12040E            LCALL   ?C?IILDX
+002640 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+002642 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+002644 904E9F            MOV     DPTR,#pbuff
+002647 E0                MOVX    A,@DPTR
+002648 FB                MOV     R3,A
+002649 A3                INC     DPTR
+00264A E0                MOVX    A,@DPTR
+00264B FA                MOV     R2,A
+00264C A3                INC     DPTR
+00264D E0                MOVX    A,@DPTR
+00264E F9                MOV     R1,A
+00264F 1203B6            LCALL   ?C?CLDPTR
+002652 14                DEC     A
+002653 FD                MOV     R5,A
+002654 B169              ACALL   _ipcRx
+002656 904E9F            MOV     DPTR,#pbuff
+002659 E0                MOVX    A,@DPTR
+00265A FB                MOV     R3,A
+00265B A3                INC     DPTR
+00265C E0                MOVX    A,@DPTR
+00265D FA                MOV     R2,A
+00265E A3                INC     DPTR
+00265F E0                MOVX    A,@DPTR
+002660 2401              ADD     A,#01H
+002662 F9                MOV     R1,A
+002663 E4                CLR     A
+002664 3A                ADDC    A,R2
+002665 FA                MOV     R2,A
+002666 C002              PUSH    AR2
+002668 C001              PUSH    AR1
+00266A 904E9F            MOV     DPTR,#pbuff
+00266D E0                MOVX    A,@DPTR
+00266E A3                INC     DPTR
+00266F E0                MOVX    A,@DPTR
+002670 FA                MOV     R2,A
 002671 A3                INC     DPTR
 002672 E0                MOVX    A,@DPTR
-002673 FA                MOV     R2,A
-002674 A3                INC     DPTR
-002675 E0                MOVX    A,@DPTR
-002676 F582              MOV     DPL,A
-002678 8A83              MOV     DPH,R2
-00267A D001              POP     AR1
-00267C D002              POP     AR2
-00267E 1205DD            LCALL   ?C?ICALL2
-002681 8002              SJMP    ?C0031?IPC
-002683         ?C0029?IPC:
-002683 80FE              SJMP    ?C0029?IPC
-002685         IPC_TIMER:
-002685         ?C0031?IPC:
-002685 904BA5            MOV     DPTR,#bttimer
-002688 E0                MOVX    A,@DPTR
-002689 FE                MOV     R6,A
-00268A A3                INC     DPTR
-00268B E0                MOVX    A,@DPTR
-00268C FF                MOV     R7,A
-00268D 904C5E            MOV     DPTR,#c51timer
-002690 E0                MOVX    A,@DPTR
-002691 6E                XRL     A,R6
-002692 7003              JNZ     ?C0041?IPC
-002694 A3                INC     DPTR
+002673 F9                MOV     R1,A
+002674 1203B6            LCALL   ?C?CLDPTR
+002677 FD                MOV     R5,A
+002678 7C00              MOV     R4,#00H
+00267A 904E34            MOV     DPTR,#ipcCb+0CH
+00267D E0                MOVX    A,@DPTR
+00267E A3                INC     DPTR
+00267F E0                MOVX    A,@DPTR
+002680 FA                MOV     R2,A
+002681 A3                INC     DPTR
+002682 E0                MOVX    A,@DPTR
+002683 F582              MOV     DPL,A
+002685 8A83              MOV     DPH,R2
+002687 D001              POP     AR1
+002689 D002              POP     AR2
+00268B 1205DD            LCALL   ?C?ICALL2
+00268E 8002              SJMP    ?C0031?IPC
+002690         ?C0029?IPC:
+002690 80FE              SJMP    ?C0029?IPC
+002692         IPC_TIMER:
+002692         ?C0031?IPC:
+002692 904BA5            MOV     DPTR,#bttimer
 002695 E0                MOVX    A,@DPTR
-002696 6F                XRL     A,R7
-002697         ?C0041?IPC:
-002697 6022              JZ      ?C0035?IPC
-002699 904E2E            MOV     DPTR,#ipcCb+06H
-00269C E0                MOVX    A,@DPTR
-00269D FB                MOV     R3,A
-00269E A3                INC     DPTR
-00269F E0                MOVX    A,@DPTR
-0026A0 FA                MOV     R2,A
+002696 FE                MOV     R6,A
+002697 A3                INC     DPTR
+002698 E0                MOVX    A,@DPTR
+002699 FF                MOV     R7,A
+00269A 904C5E            MOV     DPTR,#c51timer
+00269D E0                MOVX    A,@DPTR
+00269E 6E                XRL     A,R6
+00269F 7003              JNZ     ?C0041?IPC
 0026A1 A3                INC     DPTR
 0026A2 E0                MOVX    A,@DPTR
-0026A3 F9                MOV     R1,A
-0026A4 4A                ORL     A,R2
-0026A5 6037              JZ      ?C0034?IPC
-0026A7         ?C0033?IPC:
-0026A7 1205D9            LCALL   ?C?ICALL
-0026AA 904BA5            MOV     DPTR,#bttimer
-0026AD E0                MOVX    A,@DPTR
-0026AE FF                MOV     R7,A
-0026AF A3                INC     DPTR
-0026B0 E0                MOVX    A,@DPTR
-0026B1 904C5E            MOV     DPTR,#c51timer
-0026B4 CF                XCH     A,R7
-0026B5 F0                MOVX    @DPTR,A
-0026B6 A3                INC     DPTR
-0026B7 EF                MOV     A,R7
-0026B8 F0                MOVX    @DPTR,A
-0026B9 80CA              SJMP    ?C0031?IPC
-0026BB         ?C0035?IPC:
-0026BB 904C8D            MOV     DPTR,#btstimer
-0026BE E0                MOVX    A,@DPTR
-0026BF FF                MOV     R7,A
-0026C0 A3                INC     DPTR
-0026C1 E0                MOVX    A,@DPTR
-0026C2 6F                XRL     A,R7
-0026C3 6019              JZ      ?C0034?IPC
-0026C5 904E31            MOV     DPTR,#ipcCb+09H
-0026C8 E0                MOVX    A,@DPTR
-0026C9 FB                MOV     R3,A
-0026CA A3                INC     DPTR
+0026A3 6F                XRL     A,R7
+0026A4         ?C0041?IPC:
+0026A4 6022              JZ      ?C0035?IPC
+0026A6 904E2E            MOV     DPTR,#ipcCb+06H
+0026A9 E0                MOVX    A,@DPTR
+0026AA FB                MOV     R3,A
+0026AB A3                INC     DPTR
+0026AC E0                MOVX    A,@DPTR
+0026AD FA                MOV     R2,A
+0026AE A3                INC     DPTR
+0026AF E0                MOVX    A,@DPTR
+0026B0 F9                MOV     R1,A
+0026B1 4A                ORL     A,R2
+0026B2 6037              JZ      ?C0034?IPC
+0026B4         ?C0033?IPC:
+0026B4 1205D9            LCALL   ?C?ICALL
+0026B7 904BA5            MOV     DPTR,#bttimer
+0026BA E0                MOVX    A,@DPTR
+0026BB FF                MOV     R7,A
+0026BC A3                INC     DPTR
+0026BD E0                MOVX    A,@DPTR
+0026BE 904C5E            MOV     DPTR,#c51timer
+0026C1 CF                XCH     A,R7
+0026C2 F0                MOVX    @DPTR,A
+0026C3 A3                INC     DPTR
+0026C4 EF                MOV     A,R7
+0026C5 F0                MOVX    @DPTR,A
+0026C6 80CA              SJMP    ?C0031?IPC
+0026C8         ?C0035?IPC:
+0026C8 904C8D            MOV     DPTR,#btstimer
 0026CB E0                MOVX    A,@DPTR
-0026CC FA                MOV     R2,A
+0026CC FF                MOV     R7,A
 0026CD A3                INC     DPTR
 0026CE E0                MOVX    A,@DPTR
-0026CF F9                MOV     R1,A
-0026D0 4A                ORL     A,R2
-0026D1 600B              JZ      ?C0034?IPC
-0026D3         ?C0037?IPC:
-0026D3 1205D9            LCALL   ?C?ICALL
-0026D6 904C8D            MOV     DPTR,#btstimer
-0026D9 E0                MOVX    A,@DPTR
+0026CF 6F                XRL     A,R7
+0026D0 6019              JZ      ?C0034?IPC
+0026D2 904E31            MOV     DPTR,#ipcCb+09H
+0026D5 E0                MOVX    A,@DPTR
+0026D6 FB                MOV     R3,A
+0026D7 A3                INC     DPTR
+0026D8 E0                MOVX    A,@DPTR
+0026D9 FA                MOV     R2,A
 0026DA A3                INC     DPTR
-0026DB F0                MOVX    @DPTR,A
-0026DC 80DD              SJMP    ?C0035?IPC
-0026DE         ?C0034?IPC:
-0026DE 22                RET     
+0026DB E0                MOVX    A,@DPTR
+0026DC F9                MOV     R1,A
+0026DD 4A                ORL     A,R2
+0026DE 600B              JZ      ?C0034?IPC
+0026E0         ?C0037?IPC:
+0026E0 1205D9            LCALL   ?C?ICALL
+0026E3 904C8D            MOV     DPTR,#btstimer
+0026E6 E0                MOVX    A,@DPTR
+0026E7 A3                INC     DPTR
+0026E8 F0                MOVX    @DPTR,A
+0026E9 80DD              SJMP    ?C0035?IPC
+0026EB         ?C0034?IPC:
+0026EB 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-0026DF 900446            MOV     DPTR,#bbDisReason
-0026E2 E0                MOVX    A,@DPTR
-0026E3 FF                MOV     R7,A
-0026E4 22                RET     
+0026EC 900446            MOV     DPTR,#bbDisReason
+0026EF E0                MOVX    A,@DPTR
+0026F0 FF                MOV     R7,A
+0026F1 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-0026E5 900B7F            MOV     DPTR,#lpm_flag
-0026E8 7401              MOV     A,#01H
-0026EA F0                MOVX    @DPTR,A
-0026EB E4                CLR     A
-0026EC 900B7E            MOV     DPTR,#current_task
-0026EF F0                MOVX    @DPTR,A
-0026F0 22                RET     
+0026F2 900B7F            MOV     DPTR,#lpm_flag
+0026F5 7401              MOV     A,#01H
+0026F7 F0                MOVX    @DPTR,A
+0026F8 E4                CLR     A
+0026F9 900B7E            MOV     DPTR,#current_task
+0026FC F0                MOVX    @DPTR,A
+0026FD 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
 ----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-0026F1 904B9C            MOV     DPTR,#ipcTxWritePtr
-0026F4 E0                MOVX    A,@DPTR
-0026F5 FE                MOV     R6,A
-0026F6 A3                INC     DPTR
-0026F7 E0                MOVX    A,@DPTR
-0026F8 FF                MOV     R7,A
-0026F9 904B9A            MOV     DPTR,#ipcTxReadPtr
-0026FC E0                MOVX    A,@DPTR
-0026FD B50607            CJNE    A,AR6,?C0021?IPC
-002700 A3                INC     DPTR
+0026FE 904B9C            MOV     DPTR,#ipcTxWritePtr
 002701 E0                MOVX    A,@DPTR
-002702 B50702            CJNE    A,AR7,?C0021?IPC
-002705 D3                SETB    C
-002706 22                RET     
-002707         ?C0021?IPC:
-002707 C3                CLR     C
-002708 22                RET     
+002702 FE                MOV     R6,A
+002703 A3                INC     DPTR
+002704 E0                MOVX    A,@DPTR
+002705 FF                MOV     R7,A
+002706 904B9A            MOV     DPTR,#ipcTxReadPtr
+002709 E0                MOVX    A,@DPTR
+00270A B50607            CJNE    A,AR6,?C0021?IPC
+00270D A3                INC     DPTR
+00270E E0                MOVX    A,@DPTR
+00270F B50702            CJNE    A,AR7,?C0021?IPC
+002712 D3                SETB    C
+002713 22                RET     
+002714         ?C0021?IPC:
+002714 C3                CLR     C
+002715 22                RET     
 ----- FUNCTION IPC_IsTxBuffEmpty (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-002709 908280            MOV     DPTR,#08280H
-00270C 7401              MOV     A,#01H
-00270E F0                MOVX    @DPTR,A
-00270F 22                RET     
+002716 908280            MOV     DPTR,#08280H
+002719 7401              MOV     A,#01H
+00271B F0                MOVX    @DPTR,A
+00271C 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _xmemclear_ff (BEGIN) -----
-002710 904EA5            MOV     DPTR,#dest
-002713 EB                MOV     A,R3
-002714 F0                MOVX    @DPTR,A
-002715 A3                INC     DPTR
-002716 EA                MOV     A,R2
-002717 F0                MOVX    @DPTR,A
-002718 A3                INC     DPTR
-002719 E9                MOV     A,R1
-00271A F0                MOVX    @DPTR,A
+00271D 904EA5            MOV     DPTR,#dest
+002720 EB                MOV     A,R3
+002721 F0                MOVX    @DPTR,A
+002722 A3                INC     DPTR
+002723 EA                MOV     A,R2
+002724 F0                MOVX    @DPTR,A
+002725 A3                INC     DPTR
+002726 E9                MOV     A,R1
+002727 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
-00271B         ?C0011?UTILITIES:
-00271B ED                MOV     A,R5
-00271C 1D                DEC     R5
-00271D AE04              MOV     R6,AR4
-00271F 7001              JNZ     ?C0027?UTILITIES
-002721 1C                DEC     R4
-002722         ?C0027?UTILITIES:
-002722 4E                ORL     A,R6
-002723 6017              JZ      ?C0013?UTILITIES
-002725 904EA5            MOV     DPTR,#dest
-002728 E0                MOVX    A,@DPTR
-002729 FB                MOV     R3,A
-00272A A3                INC     DPTR
-00272B E4                CLR     A
-00272C 75F001            MOV     B,#01H
-00272F 120424            LCALL   ?C?ILDIX
-002732 A9F0              MOV     R1,B
-002734 FA                MOV     R2,A
-002735 74FF              MOV     A,#0FFH
-002737 1203FC            LCALL   ?C?CSTPTR
-00273A 80DF              SJMP    ?C0011?UTILITIES
-00273C         ?C0013?UTILITIES:
-00273C 22                RET     
+002728         ?C0011?UTILITIES:
+002728 ED                MOV     A,R5
+002729 1D                DEC     R5
+00272A AE04              MOV     R6,AR4
+00272C 7001              JNZ     ?C0027?UTILITIES
+00272E 1C                DEC     R4
+00272F         ?C0027?UTILITIES:
+00272F 4E                ORL     A,R6
+002730 6017              JZ      ?C0013?UTILITIES
+002732 904EA5            MOV     DPTR,#dest
+002735 E0                MOVX    A,@DPTR
+002736 FB                MOV     R3,A
+002737 A3                INC     DPTR
+002738 E4                CLR     A
+002739 75F001            MOV     B,#01H
+00273C 120424            LCALL   ?C?ILDIX
+00273F A9F0              MOV     R1,B
+002741 FA                MOV     R2,A
+002742 74FF              MOV     A,#0FFH
+002744 1203FC            LCALL   ?C?CSTPTR
+002747 80DF              SJMP    ?C0011?UTILITIES
+002749         ?C0013?UTILITIES:
+002749 22                RET     
 ----- FUNCTION _xmemclear_ff (END) -------
 
 
 ----- FUNCTION _compare_str (BEGIN) -----
-00273D 904E5D            MOV     DPTR,#str1
-002740 EB                MOV     A,R3
-002741 F0                MOVX    @DPTR,A
-002742 A3                INC     DPTR
-002743 EA                MOV     A,R2
-002744 F0                MOVX    @DPTR,A
-002745 A3                INC     DPTR
-002746 E9                MOV     A,R1
-002747 F0                MOVX    @DPTR,A
+00274A 904E5D            MOV     DPTR,#str1
+00274D EB                MOV     A,R3
+00274E F0                MOVX    @DPTR,A
+00274F A3                INC     DPTR
+002750 EA                MOV     A,R2
+002751 F0                MOVX    @DPTR,A
+002752 A3                INC     DPTR
+002753 E9                MOV     A,R1
+002754 F0                MOVX    @DPTR,A
 ;---- Variable 'i' assigned to Register 'R7' ----
-002748 E4                CLR     A
-002749 FF                MOV     R7,A
-00274A         ?C0021?UTILITIES:
-00274A 904E63            MOV     DPTR,#len
-00274D E0                MOVX    A,@DPTR
-00274E FE                MOV     R6,A
-00274F EF                MOV     A,R7
-002750 C3                CLR     C
-002751 9E                SUBB    A,R6
-002752 5030              JNC     ?C0022?UTILITIES
-002754 904E60            MOV     DPTR,#str2
-002757 E0                MOVX    A,@DPTR
-002758 FB                MOV     R3,A
-002759 A3                INC     DPTR
+002755 E4                CLR     A
+002756 FF                MOV     R7,A
+002757         ?C0021?UTILITIES:
+002757 904E63            MOV     DPTR,#len
 00275A E0                MOVX    A,@DPTR
-00275B FA                MOV     R2,A
-00275C A3                INC     DPTR
-00275D E0                MOVX    A,@DPTR
-00275E F9                MOV     R1,A
-00275F 8F82              MOV     DPL,R7
-002761 758300            MOV     DPH,#00H
-002764 1203CF            LCALL   ?C?CLDOPTR
-002767 FE                MOV     R6,A
-002768 904E5D            MOV     DPTR,#str1
-00276B E0                MOVX    A,@DPTR
-00276C FB                MOV     R3,A
-00276D A3                INC     DPTR
-00276E E0                MOVX    A,@DPTR
-00276F FA                MOV     R2,A
-002770 A3                INC     DPTR
-002771 E0                MOVX    A,@DPTR
-002772 F9                MOV     R1,A
-002773 8F82              MOV     DPL,R7
-002775 758300            MOV     DPH,#00H
-002778 1203CF            LCALL   ?C?CLDOPTR
-00277B 6E                XRL     A,R6
-00277C 6003              JZ      ?C0023?UTILITIES
-00277E 7F00              MOV     R7,#00H
-002780 22                RET     
-002781         ?C0023?UTILITIES:
-002781 0F                INC     R7
-002782 80C6              SJMP    ?C0021?UTILITIES
-002784         ?C0022?UTILITIES:
-002784 7F01              MOV     R7,#01H
-002786 22                RET     
+00275B FE                MOV     R6,A
+00275C EF                MOV     A,R7
+00275D C3                CLR     C
+00275E 9E                SUBB    A,R6
+00275F 5030              JNC     ?C0022?UTILITIES
+002761 904E60            MOV     DPTR,#str2
+002764 E0                MOVX    A,@DPTR
+002765 FB                MOV     R3,A
+002766 A3                INC     DPTR
+002767 E0                MOVX    A,@DPTR
+002768 FA                MOV     R2,A
+002769 A3                INC     DPTR
+00276A E0                MOVX    A,@DPTR
+00276B F9                MOV     R1,A
+00276C 8F82              MOV     DPL,R7
+00276E 758300            MOV     DPH,#00H
+002771 1203CF            LCALL   ?C?CLDOPTR
+002774 FE                MOV     R6,A
+002775 904E5D            MOV     DPTR,#str1
+002778 E0                MOVX    A,@DPTR
+002779 FB                MOV     R3,A
+00277A A3                INC     DPTR
+00277B E0                MOVX    A,@DPTR
+00277C FA                MOV     R2,A
+00277D A3                INC     DPTR
+00277E E0                MOVX    A,@DPTR
+00277F F9                MOV     R1,A
+002780 8F82              MOV     DPL,R7
+002782 758300            MOV     DPH,#00H
+002785 1203CF            LCALL   ?C?CLDOPTR
+002788 6E                XRL     A,R6
+002789 6003              JZ      ?C0023?UTILITIES
+00278B 7F00              MOV     R7,#00H
+00278D 22                RET     
+00278E         ?C0023?UTILITIES:
+00278E 0F                INC     R7
+00278F 80C6              SJMP    ?C0021?UTILITIES
+002791         ?C0022?UTILITIES:
+002791 7F01              MOV     R7,#01H
+002793 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-002787 EF                MOV     A,R7
-002788 F4                CPL     A
-002789 603A              JZ      ?C0023?GPIO
-00278B         ?C0022?GPIO:
-00278B EF                MOV     A,R7
-00278C 5407              ANL     A,#07H
-00278E FE                MOV     R6,A
+002794 EF                MOV     A,R7
+002795 F4                CPL     A
+002796 603A              JZ      ?C0023?GPIO
+002798         ?C0022?GPIO:
+002798 EF                MOV     A,R7
+002799 5407              ANL     A,#07H
+00279B FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-00278F EF                MOV     A,R7
-002790 13                RRC     A
-002791 13                RRC     A
-002792 13                RRC     A
-002793 5403              ANL     A,#03H
-002795 FF                MOV     R7,A
+00279C EF                MOV     A,R7
+00279D 13                RRC     A
+00279E 13                RRC     A
+00279F 13                RRC     A
+0027A0 5403              ANL     A,#03H
+0027A2 FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-002796 24A3              ADD     A,#LOW YC_GPIOWakeupL
-002798 F582              MOV     DPL,A
-00279A E4                CLR     A
-00279B 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-00279D F583              MOV     DPH,A
-00279F C083              PUSH    DPH
-0027A1 C082              PUSH    DPL
-0027A3 E0                MOVX    A,@DPTR
-0027A4 FD                MOV     R5,A
-0027A5 7401              MOV     A,#01H
-0027A7 A806              MOV     R0,AR6
-0027A9 08                INC     R0
-0027AA 8002              SJMP    ?C0043?GPIO
-0027AC         ?C0042?GPIO:
-0027AC C3                CLR     C
-0027AD 33                RLC     A
-0027AE         ?C0043?GPIO:
-0027AE D8FC              DJNZ    R0,?C0042?GPIO
-0027B0 F4                CPL     A
-0027B1 FC                MOV     R4,A
-0027B2 5D                ANL     A,R5
-0027B3 D082              POP     DPL
-0027B5 D083              POP     DPH
-0027B7 F0                MOVX    @DPTR,A
-0027B8 74A7              MOV     A,#LOW YC_GPIOWakeupH
-0027BA 2F                ADD     A,R7
-0027BB F582              MOV     DPL,A
-0027BD E4                CLR     A
-0027BE 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-0027C0 F583              MOV     DPH,A
-0027C2 E0                MOVX    A,@DPTR
-0027C3 5C                ANL     A,R4
+0027A3 24A3              ADD     A,#LOW YC_GPIOWakeupL
+0027A5 F582              MOV     DPL,A
+0027A7 E4                CLR     A
+0027A8 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0027AA F583              MOV     DPH,A
+0027AC C083              PUSH    DPH
+0027AE C082              PUSH    DPL
+0027B0 E0                MOVX    A,@DPTR
+0027B1 FD                MOV     R5,A
+0027B2 7401              MOV     A,#01H
+0027B4 A806              MOV     R0,AR6
+0027B6 08                INC     R0
+0027B7 8002              SJMP    ?C0043?GPIO
+0027B9         ?C0042?GPIO:
+0027B9 C3                CLR     C
+0027BA 33                RLC     A
+0027BB         ?C0043?GPIO:
+0027BB D8FC              DJNZ    R0,?C0042?GPIO
+0027BD F4                CPL     A
+0027BE FC                MOV     R4,A
+0027BF 5D                ANL     A,R5
+0027C0 D082              POP     DPL
+0027C2 D083              POP     DPH
 0027C4 F0                MOVX    @DPTR,A
-0027C5         ?C0023?GPIO:
-0027C5 22                RET     
+0027C5 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0027C7 2F                ADD     A,R7
+0027C8 F582              MOV     DPL,A
+0027CA E4                CLR     A
+0027CB 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0027CD F583              MOV     DPH,A
+0027CF E0                MOVX    A,@DPTR
+0027D0 5C                ANL     A,R4
+0027D1 F0                MOVX    @DPTR,A
+0027D2         ?C0023?GPIO:
+0027D2 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
 ----- FUNCTION GPIO_fillpu (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-0027C6 E4                CLR     A
-0027C7 FF                MOV     R7,A
-0027C8         ?C0026?GPIO:
-0027C8 EF                MOV     A,R7
-0027C9 FD                MOV     R5,A
-0027CA 7C00              MOV     R4,#00H
-0027CC 247C              ADD     A,#07CH
-0027CE FB                MOV     R3,A
-0027CF EC                MOV     A,R4
-0027D0 3480              ADDC    A,#080H
-0027D2 8B82              MOV     DPL,R3
-0027D4 F583              MOV     DPH,A
-0027D6 E0                MOVX    A,@DPTR
-0027D7 FE                MOV     R6,A
-0027D8 ED                MOV     A,R5
-0027D9 2470              ADD     A,#070H
-0027DB FD                MOV     R5,A
+0027D3 E4                CLR     A
+0027D4 FF                MOV     R7,A
+0027D5         ?C0026?GPIO:
+0027D5 EF                MOV     A,R7
+0027D6 FD                MOV     R5,A
+0027D7 7C00              MOV     R4,#00H
+0027D9 247C              ADD     A,#07CH
+0027DB FB                MOV     R3,A
 0027DC EC                MOV     A,R4
 0027DD 3480              ADDC    A,#080H
-0027DF 8D82              MOV     DPL,R5
+0027DF 8B82              MOV     DPL,R3
 0027E1 F583              MOV     DPH,A
 0027E3 E0                MOVX    A,@DPTR
-0027E4 4E                ORL     A,R6
-0027E5 F4                CPL     A
-0027E6 FE                MOV     R6,A
-0027E7 EF                MOV     A,R7
-0027E8 2478              ADD     A,#078H
-0027EA FD                MOV     R5,A
-0027EB EC                MOV     A,R4
-0027EC 3480              ADDC    A,#080H
-0027EE 8D82              MOV     DPL,R5
-0027F0 F583              MOV     DPH,A
-0027F2 EE                MOV     A,R6
-0027F3 F0                MOVX    @DPTR,A
-0027F4 0F                INC     R7
-0027F5 EF                MOV     A,R7
-0027F6 B404CF            CJNE    A,#04H,?C0026?GPIO
-0027F9 22                RET     
+0027E4 FE                MOV     R6,A
+0027E5 ED                MOV     A,R5
+0027E6 2470              ADD     A,#070H
+0027E8 FD                MOV     R5,A
+0027E9 EC                MOV     A,R4
+0027EA 3480              ADDC    A,#080H
+0027EC 8D82              MOV     DPL,R5
+0027EE F583              MOV     DPH,A
+0027F0 E0                MOVX    A,@DPTR
+0027F1 4E                ORL     A,R6
+0027F2 F4                CPL     A
+0027F3 FE                MOV     R6,A
+0027F4 EF                MOV     A,R7
+0027F5 2478              ADD     A,#078H
+0027F7 FD                MOV     R5,A
+0027F8 EC                MOV     A,R4
+0027F9 3480              ADDC    A,#080H
+0027FB 8D82              MOV     DPL,R5
+0027FD F583              MOV     DPH,A
+0027FF EE                MOV     A,R6
+002800 F0                MOVX    @DPTR,A
+002801 0F                INC     R7
+002802 EF                MOV     A,R7
+002803 B404CF            CJNE    A,#04H,?C0026?GPIO
+002806 22                RET     
 ----- FUNCTION GPIO_fillpu (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /XZR_Project/XZR_1086_K09/c51/output/FW.HTM	(revision 462)
+++ /XZR_Project/XZR_1086_K09/c51/output/FW.HTM	(working copy)
@@ -25,7 +25,7 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.41</b><br>
-Creation time: <b>06/25/2022  10:47:54</b><p>
+Creation time: <b>06/28/2022  10:49:06</b><p>
 
 <hr>
 
@@ -62,19 +62,19 @@
 <li><a href="#S173">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S90"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:002310H - C:002318H)</h2>
+<h2><a name="S90"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:00231DH - C:002325H)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S92">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
 </ul>
 
-<h2><a name="S92"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:002319H - C:00231AH)</h2>
+<h2><a name="S92"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:002326H - C:002327H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S90">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
 </ul>
 
-<h2><a name="S93"></a>?PR?_KB_CB_HID?SYS (C:00231BH - C:00232AH)</h2>
+<h2><a name="S93"></a>?PR?_KB_CB_HID?SYS (C:002328H - C:002337H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S198">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -157,7 +157,7 @@
 <li><a href="#S111">?PR?MAIN?RAM</a></li>
 </ul>
 
-<h2><a name="S111"></a>?PR?MAIN?RAM (C:002559H - C:00255BH)</h2>
+<h2><a name="S111"></a>?PR?MAIN?RAM (C:002566H - C:002568H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S104">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -185,13 +185,13 @@
 <li><a href="#S148">?PR?_XMEMCPY?UTILITIES</a></li>
 </ul>
 
-<h2><a name="S124"></a>?PR?_IPC_INITIALIZE?IPC (C:0023B8H - C:0023C4H)</h2>
+<h2><a name="S124"></a>?PR?_IPC_INITIALIZE?IPC (C:0023C5H - C:0023D1H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S198">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S154"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:002710H - C:00273CH)</h2>
+<h2><a name="S154"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:00271DH - C:002749H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S198">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -410,7 +410,7 @@
 <li><a href="#S63">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S63"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:001ADDH - C:001D24H)</h2>
+<h2><a name="S63"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:001ADDH - C:001D31H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S198">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -436,21 +436,21 @@
 <li><a href="#S60">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S67"></a>?PR?_BIT_COUNT?KEYSCAN (C:001F73H - C:001F80H)</h2>
+<h2><a name="S67"></a>?PR?_BIT_COUNT?KEYSCAN (C:001F80H - C:001F8DH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S68"></a>?PR?_KEYIN?KEYSCAN (C:001FB1H - C:002006H)</h2>
+<h2><a name="S68"></a>?PR?_KEYIN?KEYSCAN (C:001FBEH - C:002013H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S69"></a>?PR?_KEYOUT?KEYSCAN (C:002007H - C:0020B0H)</h2>
+<h2><a name="S69"></a>?PR?_KEYOUT?KEYSCAN (C:002014H - C:0020BDH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -495,14 +495,14 @@
 <li><a href="#S104">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S77"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:0020B1H - C:00220EH)</h2>
+<h2><a name="S77"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:0020BEH - C:00221BH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S79"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001F81H - C:001FB0H)</h2>
+<h2><a name="S79"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001F8EH - C:001FBDH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S198">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -514,7 +514,7 @@
 <li><a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S81"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:001D25H - C:001F72H)</h2>
+<h2><a name="S81"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:001D32H - C:001F7FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S77">?PR?KS_SCANMATRIX?KEYSCAN</a>) Top=4 Bytes (<a href="#S57">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -596,7 +596,7 @@
 <li><a href="#S95">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S89"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:00220FH - C:002243H)</h2>
+<h2><a name="S89"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:00221CH - C:002250H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S107">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S95">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -637,7 +637,7 @@
 <li><a href="#S101">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S97"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:00232BH - C:0023B1H)</h2>
+<h2><a name="S97"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:002338H - C:0023BEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S51">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S101">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -679,14 +679,14 @@
 <li><a href="#S101">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S103"></a>?PR?KB_CB_INIT?SYS (C:0023B2H - C:0023B7H)</h2>
+<h2><a name="S103"></a>?PR?KB_CB_INIT?SYS (C:0023BFH - C:0023C4H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S104">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S104">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S107"></a>?PR?YC_ADC_INIT?ADC (C:002244H - C:00230FH)</h2>
+<h2><a name="S107"></a>?PR?YC_ADC_INIT?ADC (C:002251H - C:00231CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S198">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S89">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -698,7 +698,7 @@
 <li><a href="#S89">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S108"></a>?PR?YC_ADC_CHECK?ADC (C:0023C5H - C:002558H)</h2>
+<h2><a name="S108"></a>?PR?YC_ADC_CHECK?ADC (C:0023D2H - C:002565H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S198">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S110">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -729,7 +729,7 @@
 <li><a href="#S116">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S114"></a>?PR?_IPCRX?IPC (C:00255CH - C:0025ABH)</h2>
+<h2><a name="S114"></a>?PR?_IPCRX?IPC (C:002569H - C:0025B8H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S198">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S128">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -775,21 +775,21 @@
 <li><a href="#S104">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S126"></a>?PR?IPC_ABANDONLPM?IPC (C:0026E5H - C:0026F0H)</h2>
+<h2><a name="S126"></a>?PR?IPC_ABANDONLPM?IPC (C:0026F2H - C:0026FDH)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S104">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S104">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S127"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:0026F1H - C:002708H)</h2>
+<h2><a name="S127"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:0026FEH - C:002715H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S57">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S57">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S128"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:0025ACH - C:0026DEH)</h2>
+<h2><a name="S128"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:0025B9H - C:0026EBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S114">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S104">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -854,7 +854,7 @@
 <li><a href="#S12">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S157"></a>?PR?_COMPARE_STR?UTILITIES (C:00273DH - C:002786H)</h2>
+<h2><a name="S157"></a>?PR?_COMPARE_STR?UTILITIES (C:00274AH - C:002793H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S198">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S81">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1019,7 +1019,7 @@
 <li><a href="#S96">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S186"></a>?PR?GPIO_FILLPU?GPIO (C:0027C6H - C:0027F9H)</h2>
+<h2><a name="S186"></a>?PR?GPIO_FILLPU?GPIO (C:0027D3H - C:002806H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S75">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
Index: c51/output/FW.MAP
===================================================================
--- /XZR_Project/XZR_1086_K09/c51/output/FW.MAP	(revision 462)
+++ /XZR_Project/XZR_1086_K09/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               06/25/2022  10:47:54  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               06/28/2022  10:49:06  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -86,7 +86,7 @@
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
 X:000000H   X:004DD0H   X:004F40H   000332H   XDATA
-C:000000H   C:000000H   C:00FFFFH   002744H   CODE
+C:000000H   C:000000H   C:00FFFFH   002751H   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
@@ -187,33 +187,33 @@
 001A3CH   001A73H   000038H   BYTE   UNIT     CODE           ?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS
 001A74H   001AB7H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
 001AB8H   001ADCH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-001ADDH   001D24H   000248H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-001D25H   001F72H   00024EH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
-001F73H   001F80H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
-001F81H   001FB0H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
-001FB1H   002006H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
-002007H   0020B0H   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
-0020B1H   00220EH   00015EH   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
-00220FH   002243H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-002244H   00230FH   0000CCH   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-002310H   002318H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-002319H   00231AH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-00231BH   00232AH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-00232BH   0023B1H   000087H   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
-0023B2H   0023B7H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
-0023B8H   0023C4H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
-0023C5H   002558H   000194H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-002559H   00255BH   000003H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
-00255CH   0025ABH   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-0025ACH   0026DEH   000133H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-0026DFH   0026E4H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-0026E5H   0026F0H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-0026F1H   002708H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-002709H   00270FH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-002710H   00273CH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
-00273DH   002786H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
-002787H   0027C5H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-0027C6H   0027F9H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPU?GPIO
+001ADDH   001D31H   000255H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+001D32H   001F7FH   00024EH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
+001F80H   001F8DH   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+001F8EH   001FBDH   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+001FBEH   002013H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
+002014H   0020BDH   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
+0020BEH   00221BH   00015EH   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+00221CH   002250H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+002251H   00231CH   0000CCH   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+00231DH   002325H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+002326H   002327H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+002328H   002337H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+002338H   0023BEH   000087H   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
+0023BFH   0023C4H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+0023C5H   0023D1H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+0023D2H   002565H   000194H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+002566H   002568H   000003H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+002569H   0025B8H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+0025B9H   0026EBH   000133H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+0026ECH   0026F1H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+0026F2H   0026FDH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+0026FEH   002715H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+002716H   00271CH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+00271DH   002749H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+00274AH   002793H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+002794H   0027D2H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+0027D3H   002806H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPU?GPIO
 
 * * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
 000040H   000045H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?28
@@ -387,11 +387,11 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       01000626H   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      01001F81H   CODE     ---       _array_is_empty
-      0100273DH   CODE     ---       _compare_str
+      01001F8EH   CODE     ---       _array_is_empty
+      0100274AH   CODE     ---       _compare_str
       01000FE1H   CODE     ---       _Delay1ms
       01001A74H   CODE     ---       _dmemcpy
-      01002787H   CODE     ---       _GPIO_ClearWakeup
+      01002794H   CODE     ---       _GPIO_ClearWakeup
       01001764H   CODE     ---       _GPIO_FlipOutBit
       01001466H   CODE     ---       _GPIO_GetInputStatus
       010013E6H   CODE     ---       _GPIO_SetInput
@@ -405,7 +405,7 @@
       0100183CH   CODE     ---       _IIC_Read
       010018F4H   CODE     ---       _IIC_write
       0100198EH   CODE     ---       _IIC_WriteBlock
-      010023B8H   CODE     ---       _IPC_Initialize
+      010023C5H   CODE     ---       _IPC_Initialize
       01000EF9H   CODE     ---       _IPC_TxBleData
       010007C1H   CODE     ---       _IPC_TxControlCmd
       01000EFFH   CODE     ---       _IPC_TxData
@@ -417,7 +417,7 @@
       01000CFBH   CODE     ---       _kb_set_multikey
       01001ADDH   CODE     ---       _key_fn_function
       01000D16H   CODE     ---       _xmemclear
-      01002710H   CODE     ---       _xmemclear_ff
+      0100271DH   CODE     ---       _xmemclear_ff
       01000916H   CODE     ---       _xmemcpy
       01001018H   CODE     ---       _YC_key_action_handle
       010008D6H   CODE     ---       _YC_store_record_list
@@ -439,13 +439,13 @@
       02004DD8H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD5H   XDATA    BYTE      get_24g_led_send
-      010027C6H   CODE     ---       GPIO_fillpu
+      010027D3H   CODE     ---       GPIO_fillpu
       02004800H   XDATA    ---       hidBuff
       02004DE1H   XDATA    BYTE      iOS_rec_pinCode
-      010026E5H   CODE     ---       IPC_AbandonLpm
-      010025ACH   CODE     ---       IPC_DealSingleStep
-      010026DFH   CODE     ---       IPC_GetBBDIsconnectReason
-      010026F1H   CODE     ---       IPC_IsTxBuffEmpty
+      010026F2H   CODE     ---       IPC_AbandonLpm
+      010025B9H   CODE     ---       IPC_DealSingleStep
+      010026ECH   CODE     ---       IPC_GetBBDIsconnectReason
+      010026FEH   CODE     ---       IPC_IsTxBuffEmpty
       01000FD6H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
@@ -455,9 +455,9 @@
       01000E43H   CODE     ---       kb_need_keyscan
       02004DE8H   XDATA    BYTE      key_value_temp
       02004DE4H   XDATA    BYTE      keyCount
-      01001D25H   CODE     ---       KS_GetCurrentEvt
+      01001D32H   CODE     ---       KS_GetCurrentEvt
       010013BDH   CODE     ---       KS_Initialize
-      010020B1H   CODE     ---       KS_ScanMatrix
+      010020BEH   CODE     ---       KS_ScanMatrix
       0100154AH   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
       02004E56H   XDATA    ---       ksEvtPool
@@ -503,7 +503,7 @@
       02008010H   XDATA    BYTE      m_reset_reg
       020047F4H   XDATA    WORD      m_ui_state_map
       02000B81H   XDATA    BYTE      m_wakup_from_power_flag
-      01002559H   CODE     ---       main
+      01002566H   CODE     ---       main
       02004E0CH   XDATA    BYTE      mult_key_status
       02004DEDH   XDATA    BYTE      mult_key_value
       02004E0DH   XDATA    ---       multikey
@@ -516,22 +516,22 @@
       02004DD9H   XDATA    BYTE      switch_role_timer
       02004DE9H   XDATA    BYTE      system_key_press
       010010B6H   CODE     ---       System_long_sleep
-      01002319H   CODE     ---       System_Reset_Connect
-      0100220FH   CODE     ---       System_Software_init
-      010023C5H   CODE     ---       YC_adc_check
+      01002326H   CODE     ---       System_Reset_Connect
+      0100221CH   CODE     ---       System_Software_init
+      010023D2H   CODE     ---       YC_adc_check
       010017B8H   CODE     ---       YC_adc_check_timer500ms
-      01002244H   CODE     ---       YC_adc_init
+      01002251H   CODE     ---       YC_adc_init
       01001006H   CODE     ---       YC_cancel_reconnect
       01001426H   CODE     ---       YC_check_connect_button
       01000FF9H   CODE     ---       YC_check_is_connected
       01000F25H   CODE     ---       YC_check_need_reconnected
       01001736H   CODE     ---       YC_clear_reconnect_flag
-      0100232BH   CODE     ---       YC_connect_timeout_500ms
+      01002338H   CODE     ---       YC_connect_timeout_500ms
       010017E1H   CODE     ---       YC_disconnect_all_link
       010017F9H   CODE     ---       YC_get_ble_ramdon_lap
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      01002709H   CODE     ---       YC_Ice_break
+      01002716H   CODE     ---       YC_Ice_break
       01000737H   CODE     ---       YC_load_record_list
       01001099H   CODE     ---       YC_pairing_timerout_500ms
       01001732H   CODE     ---       YC_start_reconnect
@@ -1125,229 +1125,233 @@
       01001C88H   LINE      ---      ---       #488
       01001C8AH   LINE      ---      ---       #489
       01001C8AH   LINE      ---      ---       #490
-      01001C90H   LINE      ---      ---       #491
-      01001C90H   LINE      ---      ---       #492
-      01001C98H   LINE      ---      ---       #493
-      01001C9DH   LINE      ---      ---       #494
-      01001C9FH   LINE      ---      ---       #496
-      01001CA5H   LINE      ---      ---       #497
-      01001CA7H   LINE      ---      ---       #498
-      01001CA7H   LINE      ---      ---       #499
-      01001CADH   LINE      ---      ---       #500
-      01001CAFH   LINE      ---      ---       #501
-      01001CAFH   LINE      ---      ---       #502
-      01001CB6H   LINE      ---      ---       #503
-      01001CB6H   LINE      ---      ---       #504
-      01001CBEH   LINE      ---      ---       #505
-      01001CC2H   LINE      ---      ---       #506
-      01001CC2H   LINE      ---      ---       #507
-      01001CC8H   LINE      ---      ---       #508
-      01001CC8H   LINE      ---      ---       #509
-      01001CCAH   LINE      ---      ---       #510
-      01001CCEH   LINE      ---      ---       #511
-      01001CD8H   LINE      ---      ---       #513
-      01001CD8H   LINE      ---      ---       #514
-      01001CE0H   LINE      ---      ---       #515
-      01001CE4H   LINE      ---      ---       #516
-      01001CE4H   LINE      ---      ---       #517
-      01001CEAH   LINE      ---      ---       #518
-      01001CEAH   LINE      ---      ---       #519
-      01001CEAH   LINE      ---      ---       #521
-      01001CEFH   LINE      ---      ---       #522
-      01001CF1H   LINE      ---      ---       #523
-      01001CF1H   LINE      ---      ---       #524
+      01001C91H   LINE      ---      ---       #491
+      01001C91H   LINE      ---      ---       #492
+      01001C99H   LINE      ---      ---       #493
+      01001C9EH   LINE      ---      ---       #494
+      01001CA0H   LINE      ---      ---       #495
+      01001CA4H   LINE      ---      ---       #496
+      01001CA4H   LINE      ---      ---       #497
+      01001CAAH   LINE      ---      ---       #498
+      01001CACH   LINE      ---      ---       #500
+      01001CB2H   LINE      ---      ---       #501
+      01001CB4H   LINE      ---      ---       #502
+      01001CB4H   LINE      ---      ---       #503
+      01001CBAH   LINE      ---      ---       #504
+      01001CBCH   LINE      ---      ---       #505
+      01001CBCH   LINE      ---      ---       #506
+      01001CC3H   LINE      ---      ---       #507
+      01001CC3H   LINE      ---      ---       #508
+      01001CCBH   LINE      ---      ---       #509
+      01001CCFH   LINE      ---      ---       #510
+      01001CCFH   LINE      ---      ---       #511
+      01001CD5H   LINE      ---      ---       #512
+      01001CD5H   LINE      ---      ---       #513
+      01001CD7H   LINE      ---      ---       #514
+      01001CDBH   LINE      ---      ---       #515
+      01001CE5H   LINE      ---      ---       #517
+      01001CE5H   LINE      ---      ---       #518
+      01001CEDH   LINE      ---      ---       #519
+      01001CF1H   LINE      ---      ---       #520
+      01001CF1H   LINE      ---      ---       #521
+      01001CF7H   LINE      ---      ---       #522
+      01001CF7H   LINE      ---      ---       #523
       01001CF7H   LINE      ---      ---       #525
-      01001CF9H   LINE      ---      ---       #526
-      01001CF9H   LINE      ---      ---       #527
-      01001CFFH   LINE      ---      ---       #528
-      01001D01H   LINE      ---      ---       #529
-      01001D01H   LINE      ---      ---       #530
-      01001D07H   LINE      ---      ---       #531
-      01001D09H   LINE      ---      ---       #532
-      01001D09H   LINE      ---      ---       #533
-      01001D0FH   LINE      ---      ---       #534
-      01001D11H   LINE      ---      ---       #535
-      01001D11H   LINE      ---      ---       #536
-      01001D17H   LINE      ---      ---       #537
-      01001D19H   LINE      ---      ---       #538
-      01001D19H   LINE      ---      ---       #539
-      01001D1FH   LINE      ---      ---       #540
-      01001D1FH   LINE      ---      ---       #588
-      01001D1FH   LINE      ---      ---       #589
-      01001D1FH   LINE      ---      ---       #590
-      01001D1FH   LINE      ---      ---       #591
-      01001D1FH   LINE      ---      ---       #593
-      01001D24H   LINE      ---      ---       #594
+      01001CFCH   LINE      ---      ---       #526
+      01001CFEH   LINE      ---      ---       #527
+      01001CFEH   LINE      ---      ---       #528
+      01001D04H   LINE      ---      ---       #529
+      01001D06H   LINE      ---      ---       #530
+      01001D06H   LINE      ---      ---       #531
+      01001D0CH   LINE      ---      ---       #532
+      01001D0EH   LINE      ---      ---       #533
+      01001D0EH   LINE      ---      ---       #534
+      01001D14H   LINE      ---      ---       #535
+      01001D16H   LINE      ---      ---       #536
+      01001D16H   LINE      ---      ---       #537
+      01001D1CH   LINE      ---      ---       #538
+      01001D1EH   LINE      ---      ---       #539
+      01001D1EH   LINE      ---      ---       #540
+      01001D24H   LINE      ---      ---       #541
+      01001D26H   LINE      ---      ---       #542
+      01001D26H   LINE      ---      ---       #543
+      01001D2CH   LINE      ---      ---       #544
+      01001D2CH   LINE      ---      ---       #592
+      01001D2CH   LINE      ---      ---       #593
+      01001D2CH   LINE      ---      ---       #594
+      01001D2CH   LINE      ---      ---       #595
+      01001D2CH   LINE      ---      ---       #597
+      01001D31H   LINE      ---      ---       #598
       02004EB3H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       01000B13H   BLOCK     CODE     ---       LVL=0
-      01000B13H   LINE      ---      ---       #598
-      01000B1EH   LINE      ---      ---       #599
+      01000B13H   LINE      ---      ---       #602
+      01000B1EH   LINE      ---      ---       #603
       01000B1EH   BLOCK     CODE     NEAR LAB  LVL=1
-      01000B1EH   LINE      ---      ---       #600
-      01000B21H   LINE      ---      ---       #602
-      01000B2EH   LINE      ---      ---       #603
-      01000B2EH   LINE      ---      ---       #604
-      01000B59H   LINE      ---      ---       #606
-      01000B59H   LINE      ---      ---       #608
-      01000B60H   LINE      ---      ---       #609
-      01000B60H   LINE      ---      ---       #610
-      01000B66H   LINE      ---      ---       #611
-      01000B68H   LINE      ---      ---       #612
-      01000B6CH   LINE      ---      ---       #613
-      01000B6CH   LINE      ---      ---       #614
-      01000B72H   LINE      ---      ---       #615
-      01000B74H   LINE      ---      ---       #622
-      01000B94H   LINE      ---      ---       #623
-      01000B94H   LINE      ---      ---       #624
-      01000B98H   LINE      ---      ---       #625
-      01000B9AH   LINE      ---      ---       #626
-      01000B9EH   LINE      ---      ---       #627
-      01000B9EH   LINE      ---      ---       #628
-      01000BA4H   LINE      ---      ---       #629
-      01000BA6H   LINE      ---      ---       #630
-      01000BC6H   LINE      ---      ---       #631
-      01000BC6H   LINE      ---      ---       #632
-      01000BCAH   LINE      ---      ---       #633
-      01000BCCH   LINE      ---      ---       #634
-      01000BD0H   LINE      ---      ---       #635
-      01000BD0H   LINE      ---      ---       #636
-      01000BD6H   LINE      ---      ---       #637
-      01000BD8H   LINE      ---      ---       #638
-      01000BF8H   LINE      ---      ---       #639
-      01000BF8H   LINE      ---      ---       #640
-      01000BFCH   LINE      ---      ---       #641
-      01000BFEH   LINE      ---      ---       #648
-      01000C02H   LINE      ---      ---       #649
-      01000C02H   LINE      ---      ---       #650
-      01000C08H   LINE      ---      ---       #651
-      01000C0AH   LINE      ---      ---       #670
-      01000C2AH   LINE      ---      ---       #671
-      01000C2AH   LINE      ---      ---       #672
-      01000C30H   LINE      ---      ---       #673
-      01000C32H   LINE      ---      ---       #680
-      01000C36H   LINE      ---      ---       #681
-      01000C36H   LINE      ---      ---       #682
-      01000C3CH   LINE      ---      ---       #683
-      01000C3EH   LINE      ---      ---       #684
-      01000C5EH   LINE      ---      ---       #685
-      01000C5EH   LINE      ---      ---       #686
-      01000C64H   LINE      ---      ---       #687
-      01000C66H   LINE      ---      ---       #688
-      01000C6AH   LINE      ---      ---       #689
-      01000C6AH   LINE      ---      ---       #690
-      01000C70H   LINE      ---      ---       #691
-      01000C72H   LINE      ---      ---       #692
-      01000C92H   LINE      ---      ---       #693
-      01000C92H   LINE      ---      ---       #694
-      01000C96H   LINE      ---      ---       #695
-      01000C98H   LINE      ---      ---       #696
-      01000C9CH   LINE      ---      ---       #697
-      01000C9CH   LINE      ---      ---       #698
-      01000CA2H   LINE      ---      ---       #699
-      01000CA4H   LINE      ---      ---       #700
-      01000CC3H   LINE      ---      ---       #701
-      01000CC3H   LINE      ---      ---       #702
-      01000CC7H   LINE      ---      ---       #703
-      01000CC7H   LINE      ---      ---       #728
-      01000CCEH   LINE      ---      ---       #729
-      01000CCEH   LINE      ---      ---       #730
-      01000CEEH   LINE      ---      ---       #731
-      01000CF2H   LINE      ---      ---       #732
-      01000CF2H   LINE      ---      ---       #733
-      01000CF2H   LINE      ---      ---       #734
-      01000CFAH   LINE      ---      ---       #735
+      01000B1EH   LINE      ---      ---       #604
+      01000B21H   LINE      ---      ---       #606
+      01000B2EH   LINE      ---      ---       #607
+      01000B2EH   LINE      ---      ---       #608
+      01000B59H   LINE      ---      ---       #610
+      01000B59H   LINE      ---      ---       #612
+      01000B60H   LINE      ---      ---       #613
+      01000B60H   LINE      ---      ---       #614
+      01000B66H   LINE      ---      ---       #615
+      01000B68H   LINE      ---      ---       #616
+      01000B6CH   LINE      ---      ---       #617
+      01000B6CH   LINE      ---      ---       #618
+      01000B72H   LINE      ---      ---       #619
+      01000B74H   LINE      ---      ---       #626
+      01000B94H   LINE      ---      ---       #627
+      01000B94H   LINE      ---      ---       #628
+      01000B98H   LINE      ---      ---       #629
+      01000B9AH   LINE      ---      ---       #630
+      01000B9EH   LINE      ---      ---       #631
+      01000B9EH   LINE      ---      ---       #632
+      01000BA4H   LINE      ---      ---       #633
+      01000BA6H   LINE      ---      ---       #634
+      01000BC6H   LINE      ---      ---       #635
+      01000BC6H   LINE      ---      ---       #636
+      01000BCAH   LINE      ---      ---       #637
+      01000BCCH   LINE      ---      ---       #638
+      01000BD0H   LINE      ---      ---       #639
+      01000BD0H   LINE      ---      ---       #640
+      01000BD6H   LINE      ---      ---       #641
+      01000BD8H   LINE      ---      ---       #642
+      01000BF8H   LINE      ---      ---       #643
+      01000BF8H   LINE      ---      ---       #644
+      01000BFCH   LINE      ---      ---       #645
+      01000BFEH   LINE      ---      ---       #652
+      01000C02H   LINE      ---      ---       #653
+      01000C02H   LINE      ---      ---       #654
+      01000C08H   LINE      ---      ---       #655
+      01000C0AH   LINE      ---      ---       #674
+      01000C2AH   LINE      ---      ---       #675
+      01000C2AH   LINE      ---      ---       #676
+      01000C30H   LINE      ---      ---       #677
+      01000C32H   LINE      ---      ---       #684
+      01000C36H   LINE      ---      ---       #685
+      01000C36H   LINE      ---      ---       #686
+      01000C3CH   LINE      ---      ---       #687
+      01000C3EH   LINE      ---      ---       #688
+      01000C5EH   LINE      ---      ---       #689
+      01000C5EH   LINE      ---      ---       #690
+      01000C64H   LINE      ---      ---       #691
+      01000C66H   LINE      ---      ---       #692
+      01000C6AH   LINE      ---      ---       #693
+      01000C6AH   LINE      ---      ---       #694
+      01000C70H   LINE      ---      ---       #695
+      01000C72H   LINE      ---      ---       #696
+      01000C92H   LINE      ---      ---       #697
+      01000C92H   LINE      ---      ---       #698
+      01000C96H   LINE      ---      ---       #699
+      01000C98H   LINE      ---      ---       #700
+      01000C9CH   LINE      ---      ---       #701
+      01000C9CH   LINE      ---      ---       #702
+      01000CA2H   LINE      ---      ---       #703
+      01000CA4H   LINE      ---      ---       #704
+      01000CC3H   LINE      ---      ---       #705
+      01000CC3H   LINE      ---      ---       #706
+      01000CC7H   LINE      ---      ---       #707
+      01000CC7H   LINE      ---      ---       #732
+      01000CCEH   LINE      ---      ---       #733
+      01000CCEH   LINE      ---      ---       #734
+      01000CEEH   LINE      ---      ---       #735
+      01000CF2H   LINE      ---      ---       #736
+      01000CF2H   LINE      ---      ---       #737
+      01000CF2H   LINE      ---      ---       #738
+      01000CFAH   LINE      ---      ---       #739
       02004E8DH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
       02004E56H   PUBLIC    XDATA    ---       ksEvtPool
-      01001D25H   PUBLIC    CODE     ---       KS_GetCurrentEvt
-      01001F81H   PUBLIC    CODE     ---       _array_is_empty
-      010020B1H   PUBLIC    CODE     ---       KS_ScanMatrix
+      01001D32H   PUBLIC    CODE     ---       KS_GetCurrentEvt
+      01001F8EH   PUBLIC    CODE     ---       _array_is_empty
+      010020BEH   PUBLIC    CODE     ---       KS_ScanMatrix
       0100154AH   PUBLIC    CODE     ---       KS_Unistall
       010013BDH   PUBLIC    CODE     ---       KS_Initialize
 
-      01001F73H   BLOCK     CODE     ---       LVL=0
-      01001F73H   LINE      ---      ---       #25
-      01001F73H   LINE      ---      ---       #26
-      01001F73H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001F73H   LINE      ---      ---       #28
-      01001F78H   LINE      ---      ---       #29
-      01001F7BH   LINE      ---      ---       #30
-      01001F7EH   LINE      ---      ---       #31
-      01001F80H   LINE      ---      ---       #32
+      01001F80H   BLOCK     CODE     ---       LVL=0
+      01001F80H   LINE      ---      ---       #25
+      01001F80H   LINE      ---      ---       #26
+      01001F80H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001F80H   LINE      ---      ---       #28
+      01001F85H   LINE      ---      ---       #29
+      01001F88H   LINE      ---      ---       #30
+      01001F8BH   LINE      ---      ---       #31
+      01001F8DH   LINE      ---      ---       #32
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001FB1H   BLOCK     CODE     ---       LVL=0
-      01001FB1H   LINE      ---      ---       #36
-      01001FB1H   LINE      ---      ---       #37
-      01001FB1H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001FB1H   LINE      ---      ---       #38
-      01001FB3H   LINE      ---      ---       #40
-      01001FBFH   LINE      ---      ---       #41
-      01001FBFH   LINE      ---      ---       #42
-      01001FD9H   LINE      ---      ---       #44
-      01001FD9H   LINE      ---      ---       #90
-      01001FDBH   LINE      ---      ---       #91
-      01001FDBH   LINE      ---      ---       #92
-      01001FEAH   LINE      ---      ---       #93
-      01001FEAH   LINE      ---      ---       #94
-      01001FEDH   LINE      ---      ---       #95
-      01001FEDH   LINE      ---      ---       #96
-      01001FF4H   LINE      ---      ---       #97
-      01002000H   LINE      ---      ---       #98
-      01002001H   LINE      ---      ---       #99
-      01002001H   LINE      ---      ---       #100
-      01002006H   LINE      ---      ---       #101
+      01001FBEH   BLOCK     CODE     ---       LVL=0
+      01001FBEH   LINE      ---      ---       #36
+      01001FBEH   LINE      ---      ---       #37
+      01001FBEH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001FBEH   LINE      ---      ---       #38
+      01001FC0H   LINE      ---      ---       #40
+      01001FCCH   LINE      ---      ---       #41
+      01001FCCH   LINE      ---      ---       #42
+      01001FE6H   LINE      ---      ---       #44
+      01001FE6H   LINE      ---      ---       #90
+      01001FE8H   LINE      ---      ---       #91
+      01001FE8H   LINE      ---      ---       #92
+      01001FF7H   LINE      ---      ---       #93
+      01001FF7H   LINE      ---      ---       #94
+      01001FFAH   LINE      ---      ---       #95
+      01001FFAH   LINE      ---      ---       #96
+      01002001H   LINE      ---      ---       #97
+      0100200DH   LINE      ---      ---       #98
+      0100200EH   LINE      ---      ---       #99
+      0100200EH   LINE      ---      ---       #100
+      01002013H   LINE      ---      ---       #101
       00000006H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002007H   BLOCK     CODE     ---       LVL=0
-      01002007H   LINE      ---      ---       #103
-      01002007H   LINE      ---      ---       #104
-      01002007H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002007H   LINE      ---      ---       #105
-      01002009H   LINE      ---      ---       #106
-      0100200AH   LINE      ---      ---       #108
-      01002018H   LINE      ---      ---       #109
-      01002018H   LINE      ---      ---       #110
-      0100201FH   LINE      ---      ---       #111
-      0100201FH   LINE      ---      ---       #112
-      01002022H   LINE      ---      ---       #113
-      01002022H   LINE      ---      ---       #114
-      01002024H   LINE      ---      ---       #116
-      0100202AH   LINE      ---      ---       #118
-      01002036H   LINE      ---      ---       #119
-      01002036H   LINE      ---      ---       #120
-      01002051H   LINE      ---      ---       #122
-      01002051H   LINE      ---      ---       #167
-      01002053H   LINE      ---      ---       #168
-      01002053H   LINE      ---      ---       #169
-      01002056H   LINE      ---      ---       #170
-      01002056H   LINE      ---      ---       #171
-      01002064H   LINE      ---      ---       #172
-      01002068H   LINE      ---      ---       #173
-      01002073H   LINE      ---      ---       #174
-      01002073H   LINE      ---      ---       #175
-      01002075H   LINE      ---      ---       #176
-      01002075H   LINE      ---      ---       #177
-      01002077H   LINE      ---      ---       #179
-      01002077H   LINE      ---      ---       #180
-      0100208FH   LINE      ---      ---       #181
-      0100209CH   LINE      ---      ---       #182
-      0100209CH   LINE      ---      ---       #183
-      010020A0H   LINE      ---      ---       #184
-      010020ABH   LINE      ---      ---       #185
-      010020ABH   LINE      ---      ---       #186
-      010020ABH   LINE      ---      ---       #187
-      010020B0H   LINE      ---      ---       #188
+      01002014H   BLOCK     CODE     ---       LVL=0
+      01002014H   LINE      ---      ---       #103
+      01002014H   LINE      ---      ---       #104
+      01002014H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002014H   LINE      ---      ---       #105
+      01002016H   LINE      ---      ---       #106
+      01002017H   LINE      ---      ---       #108
+      01002025H   LINE      ---      ---       #109
+      01002025H   LINE      ---      ---       #110
+      0100202CH   LINE      ---      ---       #111
+      0100202CH   LINE      ---      ---       #112
+      0100202FH   LINE      ---      ---       #113
+      0100202FH   LINE      ---      ---       #114
+      01002031H   LINE      ---      ---       #116
+      01002037H   LINE      ---      ---       #118
+      01002043H   LINE      ---      ---       #119
+      01002043H   LINE      ---      ---       #120
+      0100205EH   LINE      ---      ---       #122
+      0100205EH   LINE      ---      ---       #167
+      01002060H   LINE      ---      ---       #168
+      01002060H   LINE      ---      ---       #169
+      01002063H   LINE      ---      ---       #170
+      01002063H   LINE      ---      ---       #171
+      01002071H   LINE      ---      ---       #172
+      01002075H   LINE      ---      ---       #173
+      01002080H   LINE      ---      ---       #174
+      01002080H   LINE      ---      ---       #175
+      01002082H   LINE      ---      ---       #176
+      01002082H   LINE      ---      ---       #177
+      01002084H   LINE      ---      ---       #179
+      01002084H   LINE      ---      ---       #180
+      0100209CH   LINE      ---      ---       #181
+      010020A9H   LINE      ---      ---       #182
+      010020A9H   LINE      ---      ---       #183
+      010020ADH   LINE      ---      ---       #184
+      010020B8H   LINE      ---      ---       #185
+      010020B8H   LINE      ---      ---       #186
+      010020B8H   LINE      ---      ---       #187
+      010020BDH   LINE      ---      ---       #188
       00000006H   SYMBOL    DATA     VOID      i
       00000005H   SYMBOL    DATA     VOID      found
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -1428,32 +1432,32 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010020B1H   BLOCK     CODE     ---       LVL=0
-      010020B1H   LINE      ---      ---       #254
-      010020B1H   LINE      ---      ---       #255
-      010020B1H   BLOCK     CODE     NEAR LAB  LVL=1
-      010020B1H   LINE      ---      ---       #256
-      010020B3H   LINE      ---      ---       #257
-      010020B7H   LINE      ---      ---       #258
-      010020B8H   LINE      ---      ---       #259
-      010020B9H   LINE      ---      ---       #260
-      010020BBH   LINE      ---      ---       #261
-      010020BDH   LINE      ---      ---       #262
-      010020C4H   LINE      ---      ---       #263
-      010020CDH   LINE      ---      ---       #264
-      010020DDH   LINE      ---      ---       #265
-      0100213DH   LINE      ---      ---       #266
-      01002140H   LINE      ---      ---       #268
-      01002149H   LINE      ---      ---       #269
-      01002152H   LINE      ---      ---       #270
-      01002162H   LINE      ---      ---       #271
-      010021C2H   LINE      ---      ---       #272
-      010021C5H   LINE      ---      ---       #274
-      010021CEH   LINE      ---      ---       #275
-      010021E8H   LINE      ---      ---       #276
-      0100220BH   LINE      ---      ---       #277
-      0100220BH   LINE      ---      ---       #278
-      0100220EH   LINE      ---      ---       #279
+      010020BEH   BLOCK     CODE     ---       LVL=0
+      010020BEH   LINE      ---      ---       #254
+      010020BEH   LINE      ---      ---       #255
+      010020BEH   BLOCK     CODE     NEAR LAB  LVL=1
+      010020BEH   LINE      ---      ---       #256
+      010020C0H   LINE      ---      ---       #257
+      010020C4H   LINE      ---      ---       #258
+      010020C5H   LINE      ---      ---       #259
+      010020C6H   LINE      ---      ---       #260
+      010020C8H   LINE      ---      ---       #261
+      010020CAH   LINE      ---      ---       #262
+      010020D1H   LINE      ---      ---       #263
+      010020DAH   LINE      ---      ---       #264
+      010020EAH   LINE      ---      ---       #265
+      0100214AH   LINE      ---      ---       #266
+      0100214DH   LINE      ---      ---       #268
+      01002156H   LINE      ---      ---       #269
+      0100215FH   LINE      ---      ---       #270
+      0100216FH   LINE      ---      ---       #271
+      010021CFH   LINE      ---      ---       #272
+      010021D2H   LINE      ---      ---       #274
+      010021DBH   LINE      ---      ---       #275
+      010021F5H   LINE      ---      ---       #276
+      01002218H   LINE      ---      ---       #277
+      01002218H   LINE      ---      ---       #278
+      0100221BH   LINE      ---      ---       #279
       00000007H   SYMBOL    DATA     VOID      i
       02004E99H   SYMBOL    XDATA    VOID      j
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1463,119 +1467,119 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001F81H   BLOCK     CODE     ---       LVL=0
-      01001F81H   LINE      ---      ---       #281
-      01001F8CH   LINE      ---      ---       #282
-      01001F8CH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001F8CH   LINE      ---      ---       #284
-      01001F93H   LINE      ---      ---       #285
-      01001F93H   LINE      ---      ---       #286
-      01001FA8H   LINE      ---      ---       #287
-      01001FABH   LINE      ---      ---       #288
-      01001FAEH   LINE      ---      ---       #289
-      01001FB0H   LINE      ---      ---       #290
+      01001F8EH   BLOCK     CODE     ---       LVL=0
+      01001F8EH   LINE      ---      ---       #281
+      01001F99H   LINE      ---      ---       #282
+      01001F99H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001F99H   LINE      ---      ---       #284
+      01001FA0H   LINE      ---      ---       #285
+      01001FA0H   LINE      ---      ---       #286
+      01001FB5H   LINE      ---      ---       #287
+      01001FB8H   LINE      ---      ---       #288
+      01001FBBH   LINE      ---      ---       #289
+      01001FBDH   LINE      ---      ---       #290
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001D25H   BLOCK     CODE     ---       LVL=0
-      01001D25H   LINE      ---      ---       #293
-      01001D25H   LINE      ---      ---       #294
-      01001D25H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001D25H   LINE      ---      ---       #296
-      01001D2AH   LINE      ---      ---       #297
-      01001D2CH   LINE      ---      ---       #298
-      01001D2EH   LINE      ---      ---       #299
-      01001D30H   LINE      ---      ---       #300
-      01001D32H   LINE      ---      ---       #301
-      01001D34H   LINE      ---      ---       #302
-      01001D36H   LINE      ---      ---       #303
-      01001D38H   LINE      ---      ---       #304
-      01001D3AH   LINE      ---      ---       #305
-      01001D3CH   LINE      ---      ---       #306
-      01001D3EH   LINE      ---      ---       #308
-      01001D41H   LINE      ---      ---       #310
-      01001D70H   LINE      ---      ---       #312
-      01001D70H   LINE      ---      ---       #313
-      01001D77H   LINE      ---      ---       #314
-      01001D79H   LINE      ---      ---       #316
-      01001D79H   LINE      ---      ---       #317
-      01001D80H   LINE      ---      ---       #318
-      01001D85H   LINE      ---      ---       #319
-      01001D85H   LINE      ---      ---       #321
-      01001D97H   LINE      ---      ---       #322
-      01001D97H   LINE      ---      ---       #323
-      01001DA6H   LINE      ---      ---       #324
-      01001DAFH   LINE      ---      ---       #325
-      01001DB6H   LINE      ---      ---       #326
-      01001DB6H   LINE      ---      ---       #327
-      01001DC5H   LINE      ---      ---       #328
-      01001DC5H   LINE      ---      ---       #329
-      01001DE0H   LINE      ---      ---       #330
-      01001DE0H   LINE      ---      ---       #331
-      01001DF0H   LINE      ---      ---       #332
-      01001DF0H   LINE      ---      ---       #333
-      01001DF9H   LINE      ---      ---       #334
-      01001DF9H   LINE      ---      ---       #335
-      01001E28H   LINE      ---      ---       #336
-      01001E28H   LINE      ---      ---       #337
-      01001E2EH   LINE      ---      ---       #338
-      01001E30H   LINE      ---      ---       #339
-      01001E30H   LINE      ---      ---       #340
-      01001E30H   LINE      ---      ---       #341
-      01001E38H   LINE      ---      ---       #342
-      01001E38H   LINE      ---      ---       #343
-      01001E40H   LINE      ---      ---       #344
-      01001E40H   LINE      ---      ---       #346
-      01001E47H   LINE      ---      ---       #347
-      01001E47H   LINE      ---      ---       #348
-      01001E4FH   LINE      ---      ---       #349
-      01001E4FH   LINE      ---      ---       #350
-      01001E57H   LINE      ---      ---       #351
-      01001E5FH   LINE      ---      ---       #353
-      01001E71H   LINE      ---      ---       #354
-      01001E71H   LINE      ---      ---       #355
-      01001E8DH   LINE      ---      ---       #356
-      01001EA0H   LINE      ---      ---       #357
-      01001EA6H   LINE      ---      ---       #358
-      01001EA6H   LINE      ---      ---       #359
-      01001EA8H   LINE      ---      ---       #360
-      01001EAAH   LINE      ---      ---       #362
-      01001EAAH   LINE      ---      ---       #364
-      01001EB0H   LINE      ---      ---       #365
-      01001EB7H   LINE      ---      ---       #366
-      01001ECFH   LINE      ---      ---       #367
-      01001EDEH   LINE      ---      ---       #368
-      01001EDEH   LINE      ---      ---       #369
-      01001EE5H   LINE      ---      ---       #370
-      01001EE5H   LINE      ---      ---       #371
-      01001EF6H   LINE      ---      ---       #372
-      01001F09H   LINE      ---      ---       #373
-      01001F10H   LINE      ---      ---       #374
-      01001F10H   LINE      ---      ---       #375
-      01001F17H   LINE      ---      ---       #376
-      01001F19H   LINE      ---      ---       #378
-      01001F19H   LINE      ---      ---       #379
-      01001F21H   LINE      ---      ---       #380
-      01001F21H   LINE      ---      ---       #381
-      01001F21H   LINE      ---      ---       #382
-      01001F29H   LINE      ---      ---       #383
-      01001F31H   LINE      ---      ---       #384
-      01001F39H   LINE      ---      ---       #385
-      01001F3FH   LINE      ---      ---       #386
-      01001F3FH   LINE      ---      ---       #387
-      01001F47H   LINE      ---      ---       #389
-      01001F55H   LINE      ---      ---       #390
-      01001F55H   LINE      ---      ---       #391
-      01001F58H   LINE      ---      ---       #392
-      01001F58H   LINE      ---      ---       #395
-      01001F65H   LINE      ---      ---       #396
-      01001F65H   LINE      ---      ---       #397
-      01001F6CH   LINE      ---      ---       #398
-      01001F6CH   LINE      ---      ---       #400
-      01001F6CH   LINE      ---      ---       #401
-      01001F72H   LINE      ---      ---       #402
-      01001F72H   LINE      ---      ---       #405
+      01001D32H   BLOCK     CODE     ---       LVL=0
+      01001D32H   LINE      ---      ---       #293
+      01001D32H   LINE      ---      ---       #294
+      01001D32H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001D32H   LINE      ---      ---       #296
+      01001D37H   LINE      ---      ---       #297
+      01001D39H   LINE      ---      ---       #298
+      01001D3BH   LINE      ---      ---       #299
+      01001D3DH   LINE      ---      ---       #300
+      01001D3FH   LINE      ---      ---       #301
+      01001D41H   LINE      ---      ---       #302
+      01001D43H   LINE      ---      ---       #303
+      01001D45H   LINE      ---      ---       #304
+      01001D47H   LINE      ---      ---       #305
+      01001D49H   LINE      ---      ---       #306
+      01001D4BH   LINE      ---      ---       #308
+      01001D4EH   LINE      ---      ---       #310
+      01001D7DH   LINE      ---      ---       #312
+      01001D7DH   LINE      ---      ---       #313
+      01001D84H   LINE      ---      ---       #314
+      01001D86H   LINE      ---      ---       #316
+      01001D86H   LINE      ---      ---       #317
+      01001D8DH   LINE      ---      ---       #318
+      01001D92H   LINE      ---      ---       #319
+      01001D92H   LINE      ---      ---       #321
+      01001DA4H   LINE      ---      ---       #322
+      01001DA4H   LINE      ---      ---       #323
+      01001DB3H   LINE      ---      ---       #324
+      01001DBCH   LINE      ---      ---       #325
+      01001DC3H   LINE      ---      ---       #326
+      01001DC3H   LINE      ---      ---       #327
+      01001DD2H   LINE      ---      ---       #328
+      01001DD2H   LINE      ---      ---       #329
+      01001DEDH   LINE      ---      ---       #330
+      01001DEDH   LINE      ---      ---       #331
+      01001DFDH   LINE      ---      ---       #332
+      01001DFDH   LINE      ---      ---       #333
+      01001E06H   LINE      ---      ---       #334
+      01001E06H   LINE      ---      ---       #335
+      01001E35H   LINE      ---      ---       #336
+      01001E35H   LINE      ---      ---       #337
+      01001E3BH   LINE      ---      ---       #338
+      01001E3DH   LINE      ---      ---       #339
+      01001E3DH   LINE      ---      ---       #340
+      01001E3DH   LINE      ---      ---       #341
+      01001E45H   LINE      ---      ---       #342
+      01001E45H   LINE      ---      ---       #343
+      01001E4DH   LINE      ---      ---       #344
+      01001E4DH   LINE      ---      ---       #346
+      01001E54H   LINE      ---      ---       #347
+      01001E54H   LINE      ---      ---       #348
+      01001E5CH   LINE      ---      ---       #349
+      01001E5CH   LINE      ---      ---       #350
+      01001E64H   LINE      ---      ---       #351
+      01001E6CH   LINE      ---      ---       #353
+      01001E7EH   LINE      ---      ---       #354
+      01001E7EH   LINE      ---      ---       #355
+      01001E9AH   LINE      ---      ---       #356
+      01001EADH   LINE      ---      ---       #357
+      01001EB3H   LINE      ---      ---       #358
+      01001EB3H   LINE      ---      ---       #359
+      01001EB5H   LINE      ---      ---       #360
+      01001EB7H   LINE      ---      ---       #362
+      01001EB7H   LINE      ---      ---       #364
+      01001EBDH   LINE      ---      ---       #365
+      01001EC4H   LINE      ---      ---       #366
+      01001EDCH   LINE      ---      ---       #367
+      01001EEBH   LINE      ---      ---       #368
+      01001EEBH   LINE      ---      ---       #369
+      01001EF2H   LINE      ---      ---       #370
+      01001EF2H   LINE      ---      ---       #371
+      01001F03H   LINE      ---      ---       #372
+      01001F16H   LINE      ---      ---       #373
+      01001F1DH   LINE      ---      ---       #374
+      01001F1DH   LINE      ---      ---       #375
+      01001F24H   LINE      ---      ---       #376
+      01001F26H   LINE      ---      ---       #378
+      01001F26H   LINE      ---      ---       #379
+      01001F2EH   LINE      ---      ---       #380
+      01001F2EH   LINE      ---      ---       #381
+      01001F2EH   LINE      ---      ---       #382
+      01001F36H   LINE      ---      ---       #383
+      01001F3EH   LINE      ---      ---       #384
+      01001F46H   LINE      ---      ---       #385
+      01001F4CH   LINE      ---      ---       #386
+      01001F4CH   LINE      ---      ---       #387
+      01001F54H   LINE      ---      ---       #389
+      01001F62H   LINE      ---      ---       #390
+      01001F62H   LINE      ---      ---       #391
+      01001F65H   LINE      ---      ---       #392
+      01001F65H   LINE      ---      ---       #395
+      01001F72H   LINE      ---      ---       #396
+      01001F72H   LINE      ---      ---       #397
+      01001F79H   LINE      ---      ---       #398
+      01001F79H   LINE      ---      ---       #400
+      01001F79H   LINE      ---      ---       #401
+      01001F7FH   LINE      ---      ---       #402
+      01001F7FH   LINE      ---      ---       #405
       02004E3AH   SYMBOL    XDATA    VOID      i
       02004E3BH   SYMBOL    XDATA    VOID      j
       02004E3CH   SYMBOL    XDATA    VOID      k
@@ -1654,11 +1658,11 @@
       010016A0H   PUBLIC    CODE     ---       kb_button_press_timer500ms
       01001099H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
       01001A3CH   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
-      0100232BH   PUBLIC    CODE     ---       YC_connect_timeout_500ms
+      01002338H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
       010017CAH   PUBLIC    CODE     ---       LED_timer500ms
-      01002319H   PUBLIC    CODE     ---       System_Reset_Connect
+      01002326H   PUBLIC    CODE     ---       System_Reset_Connect
       010010B6H   PUBLIC    CODE     ---       System_long_sleep
-      0100220FH   PUBLIC    CODE     ---       System_Software_init
+      0100221CH   PUBLIC    CODE     ---       System_Software_init
 
       01000D42H   BLOCK     CODE     ---       LVL=0
       01000D42H   LINE      ---      ---       #11
@@ -1709,26 +1713,26 @@
       010013BBH   LINE      ---      ---       #55
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100220FH   BLOCK     CODE     ---       LVL=0
-      0100220FH   LINE      ---      ---       #59
-      0100220FH   LINE      ---      ---       #60
-      0100220FH   LINE      ---      ---       #61
-      01002212H   LINE      ---      ---       #62
-      01002214H   LINE      ---      ---       #63
-      0100221AH   LINE      ---      ---       #64
-      01002220H   LINE      ---      ---       #65
-      01002225H   LINE      ---      ---       #66
-      0100222BH   LINE      ---      ---       #67
-      01002233H   LINE      ---      ---       #68
-      0100223BH   LINE      ---      ---       #69
-      01002243H   LINE      ---      ---       #70
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002310H   BLOCK     CODE     ---       LVL=0
-      01002310H   LINE      ---      ---       #72
-      01002310H   LINE      ---      ---       #73
-      01002310H   LINE      ---      ---       #74
-      01002316H   LINE      ---      ---       #75
+      0100221CH   BLOCK     CODE     ---       LVL=0
+      0100221CH   LINE      ---      ---       #59
+      0100221CH   LINE      ---      ---       #60
+      0100221CH   LINE      ---      ---       #61
+      0100221FH   LINE      ---      ---       #62
+      01002221H   LINE      ---      ---       #63
+      01002227H   LINE      ---      ---       #64
+      0100222DH   LINE      ---      ---       #65
+      01002232H   LINE      ---      ---       #66
+      01002238H   LINE      ---      ---       #67
+      01002240H   LINE      ---      ---       #68
+      01002248H   LINE      ---      ---       #69
+      01002250H   LINE      ---      ---       #70
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100231DH   BLOCK     CODE     ---       LVL=0
+      0100231DH   LINE      ---      ---       #72
+      0100231DH   LINE      ---      ---       #73
+      0100231DH   LINE      ---      ---       #74
+      01002323H   LINE      ---      ---       #75
       ---         BLOCKEND  ---      ---       LVL=0
 
       010010B6H   BLOCK     CODE     ---       LVL=0
@@ -1738,19 +1742,19 @@
       010010BBH   LINE      ---      ---       #81
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002319H   BLOCK     CODE     ---       LVL=0
-      01002319H   LINE      ---      ---       #84
-      01002319H   LINE      ---      ---       #85
-      01002319H   LINE      ---      ---       #86
+      01002326H   BLOCK     CODE     ---       LVL=0
+      01002326H   LINE      ---      ---       #84
+      01002326H   LINE      ---      ---       #85
+      01002326H   LINE      ---      ---       #86
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100231BH   BLOCK     CODE     ---       LVL=0
-      0100231BH   LINE      ---      ---       #94
-      01002320H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002320H   LINE      ---      ---       #96
-      0100232AH   LINE      ---      ---       #98
-      0100232AH   LINE      ---      ---       #100
-      0100232AH   LINE      ---      ---       #101
+      01002328H   BLOCK     CODE     ---       LVL=0
+      01002328H   LINE      ---      ---       #94
+      0100232DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100232DH   LINE      ---      ---       #96
+      01002337H   LINE      ---      ---       #98
+      01002337H   LINE      ---      ---       #100
+      01002337H   LINE      ---      ---       #101
       02004EAEH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1864,45 +1868,45 @@
       010017E0H   LINE      ---      ---       #230
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100232BH   BLOCK     CODE     ---       LVL=0
-      0100232BH   LINE      ---      ---       #232
-      0100232BH   LINE      ---      ---       #233
-      0100232BH   LINE      ---      ---       #235
-      01002331H   LINE      ---      ---       #236
-      01002331H   LINE      ---      ---       #237
-      01002334H   LINE      ---      ---       #238
-      01002337H   LINE      ---      ---       #239
-      01002337H   LINE      ---      ---       #240
-      0100233CH   LINE      ---      ---       #241
-      01002340H   LINE      ---      ---       #242
-      01002340H   LINE      ---      ---       #243
-      01002340H   LINE      ---      ---       #246
-      01002348H   LINE      ---      ---       #247
-      01002348H   LINE      ---      ---       #248
-      0100235EH   LINE      ---      ---       #249
-      0100235EH   LINE      ---      ---       #250
-      01002363H   LINE      ---      ---       #251
-      01002369H   LINE      ---      ---       #252
-      01002371H   LINE      ---      ---       #253
-      0100237CH   LINE      ---      ---       #254
-      0100237CH   LINE      ---      ---       #255
-      01002388H   LINE      ---      ---       #256
-      01002388H   LINE      ---      ---       #257
-      0100238BH   LINE      ---      ---       #258
-      01002391H   LINE      ---      ---       #259
-      01002391H   LINE      ---      ---       #260
-      01002392H   LINE      ---      ---       #262
-      01002392H   LINE      ---      ---       #263
-      010023A1H   LINE      ---      ---       #264
-      010023A1H   LINE      ---      ---       #265
-      010023A7H   LINE      ---      ---       #266
-      010023A7H   LINE      ---      ---       #267
-      010023A9H   LINE      ---      ---       #268
-      010023AEH   LINE      ---      ---       #269
-      010023AEH   LINE      ---      ---       #270
-      010023B1H   LINE      ---      ---       #271
-      010023B1H   LINE      ---      ---       #272
-      010023B1H   LINE      ---      ---       #273
+      01002338H   BLOCK     CODE     ---       LVL=0
+      01002338H   LINE      ---      ---       #232
+      01002338H   LINE      ---      ---       #233
+      01002338H   LINE      ---      ---       #235
+      0100233EH   LINE      ---      ---       #236
+      0100233EH   LINE      ---      ---       #237
+      01002341H   LINE      ---      ---       #238
+      01002344H   LINE      ---      ---       #239
+      01002344H   LINE      ---      ---       #240
+      01002349H   LINE      ---      ---       #241
+      0100234DH   LINE      ---      ---       #242
+      0100234DH   LINE      ---      ---       #243
+      0100234DH   LINE      ---      ---       #246
+      01002355H   LINE      ---      ---       #247
+      01002355H   LINE      ---      ---       #248
+      0100236BH   LINE      ---      ---       #249
+      0100236BH   LINE      ---      ---       #250
+      01002370H   LINE      ---      ---       #251
+      01002376H   LINE      ---      ---       #252
+      0100237EH   LINE      ---      ---       #253
+      01002389H   LINE      ---      ---       #254
+      01002389H   LINE      ---      ---       #255
+      01002395H   LINE      ---      ---       #256
+      01002395H   LINE      ---      ---       #257
+      01002398H   LINE      ---      ---       #258
+      0100239EH   LINE      ---      ---       #259
+      0100239EH   LINE      ---      ---       #260
+      0100239FH   LINE      ---      ---       #262
+      0100239FH   LINE      ---      ---       #263
+      010023AEH   LINE      ---      ---       #264
+      010023AEH   LINE      ---      ---       #265
+      010023B4H   LINE      ---      ---       #266
+      010023B4H   LINE      ---      ---       #267
+      010023B6H   LINE      ---      ---       #268
+      010023BBH   LINE      ---      ---       #269
+      010023BBH   LINE      ---      ---       #270
+      010023BEH   LINE      ---      ---       #271
+      010023BEH   LINE      ---      ---       #272
+      010023BEH   LINE      ---      ---       #273
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001A3CH   BLOCK     CODE     ---       LVL=0
@@ -2093,10 +2097,10 @@
       01001222H   LINE      ---      ---       #508
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010023B2H   BLOCK     CODE     ---       LVL=0
-      010023B2H   LINE      ---      ---       #522
-      010023B2H   LINE      ---      ---       #523
-      010023B2H   LINE      ---      ---       #524
+      010023BFH   BLOCK     CODE     ---       LVL=0
+      010023BFH   LINE      ---      ---       #522
+      010023BFH   LINE      ---      ---       #523
+      010023BFH   LINE      ---      ---       #524
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000F75H   BLOCK     CODE     ---       LVL=0
@@ -2135,60 +2139,60 @@
 
       ---         MODULE    ---      ---       ADC
       010017B8H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      010023C5H   PUBLIC    CODE     ---       YC_adc_check
-      01002244H   PUBLIC    CODE     ---       YC_adc_init
+      010023D2H   PUBLIC    CODE     ---       YC_adc_check
+      01002251H   PUBLIC    CODE     ---       YC_adc_init
 
-      01002244H   BLOCK     CODE     ---       LVL=0
-      01002244H   LINE      ---      ---       #3
-      01002244H   LINE      ---      ---       #4
-      01002244H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002244H   LINE      ---      ---       #8
-      0100224AH   LINE      ---      ---       #9
-      0100224DH   LINE      ---      ---       #21
-      0100224EH   LINE      ---      ---       #22
-      0100224EH   LINE      ---      ---       #23
-      0100225FH   LINE      ---      ---       #24
-      01002264H   LINE      ---      ---       #25
-      01002273H   LINE      ---      ---       #26
-      010022C1H   LINE      ---      ---       #27
-      0100230FH   LINE      ---      ---       #40
+      01002251H   BLOCK     CODE     ---       LVL=0
+      01002251H   LINE      ---      ---       #3
+      01002251H   LINE      ---      ---       #4
+      01002251H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002251H   LINE      ---      ---       #8
+      01002257H   LINE      ---      ---       #9
+      0100225AH   LINE      ---      ---       #21
+      0100225BH   LINE      ---      ---       #22
+      0100225BH   LINE      ---      ---       #23
+      0100226CH   LINE      ---      ---       #24
+      01002271H   LINE      ---      ---       #25
+      01002280H   LINE      ---      ---       #26
+      010022CEH   LINE      ---      ---       #27
+      0100231CH   LINE      ---      ---       #40
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010023C5H   BLOCK     CODE     ---       LVL=0
-      010023C5H   LINE      ---      ---       #42
-      010023C5H   LINE      ---      ---       #43
-      010023C5H   BLOCK     CODE     NEAR LAB  LVL=1
-      010023C5H   LINE      ---      ---       #46
-      010023CFH   LINE      ---      ---       #48
-      010023DBH   LINE      ---      ---       #51
-      010023FBH   LINE      ---      ---       #52
-      01002404H   LINE      ---      ---       #53
-      01002406H   LINE      ---      ---       #54
-      0100240BH   LINE      ---      ---       #55
-      0100240BH   LINE      ---      ---       #56
-      01002442H   LINE      ---      ---       #57
-      0100244CH   LINE      ---      ---       #58
-      01002469H   LINE      ---      ---       #60
-      01002488H   LINE      ---      ---       #61
-      0100248FH   LINE      ---      ---       #62
-      010024AEH   LINE      ---      ---       #63
-      010024B6H   LINE      ---      ---       #65
-      01002511H   LINE      ---      ---       #67
-      01002526H   LINE      ---      ---       #68
-      01002526H   LINE      ---      ---       #69
-      0100252CH   LINE      ---      ---       #70
-      0100252DH   LINE      ---      ---       #72
-      0100252DH   LINE      ---      ---       #73
-      0100254CH   LINE      ---      ---       #74
-      0100254CH   LINE      ---      ---       #75
-      01002552H   LINE      ---      ---       #76
-      01002553H   LINE      ---      ---       #78
-      01002553H   LINE      ---      ---       #79
-      01002558H   LINE      ---      ---       #80
-      01002558H   LINE      ---      ---       #81
-      01002558H   LINE      ---      ---       #83
+      010023D2H   BLOCK     CODE     ---       LVL=0
+      010023D2H   LINE      ---      ---       #42
+      010023D2H   LINE      ---      ---       #43
+      010023D2H   BLOCK     CODE     NEAR LAB  LVL=1
+      010023D2H   LINE      ---      ---       #46
+      010023DCH   LINE      ---      ---       #48
+      010023E8H   LINE      ---      ---       #51
+      01002408H   LINE      ---      ---       #52
+      01002411H   LINE      ---      ---       #53
+      01002413H   LINE      ---      ---       #54
+      01002418H   LINE      ---      ---       #55
+      01002418H   LINE      ---      ---       #56
+      0100244FH   LINE      ---      ---       #57
+      01002459H   LINE      ---      ---       #58
+      01002476H   LINE      ---      ---       #60
+      01002495H   LINE      ---      ---       #61
+      0100249CH   LINE      ---      ---       #62
+      010024BBH   LINE      ---      ---       #63
+      010024C3H   LINE      ---      ---       #65
+      0100251EH   LINE      ---      ---       #67
+      01002533H   LINE      ---      ---       #68
+      01002533H   LINE      ---      ---       #69
+      01002539H   LINE      ---      ---       #70
+      0100253AH   LINE      ---      ---       #72
+      0100253AH   LINE      ---      ---       #73
+      01002559H   LINE      ---      ---       #74
+      01002559H   LINE      ---      ---       #75
+      0100255FH   LINE      ---      ---       #76
+      01002560H   LINE      ---      ---       #78
+      01002560H   LINE      ---      ---       #79
+      01002565H   LINE      ---      ---       #80
+      01002565H   LINE      ---      ---       #81
+      01002565H   LINE      ---      ---       #83
       02004E7CH   SYMBOL    XDATA    VOID      i
       02004E7DH   SYMBOL    XDATA    VOID      batValue
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -2210,12 +2214,12 @@
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      01002559H   PUBLIC    CODE     ---       main
+      01002566H   PUBLIC    CODE     ---       main
 
-      01002559H   BLOCK     CODE     ---       LVL=0
-      01002559H   LINE      ---      ---       #5
-      01002559H   LINE      ---      ---       #6
-      01002559H   LINE      ---      ---       #7
+      01002566H   BLOCK     CODE     ---       LVL=0
+      01002566H   LINE      ---      ---       #5
+      01002566H   LINE      ---      ---       #6
+      01002566H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
@@ -2229,12 +2233,12 @@
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      010025ACH   PUBLIC    CODE     ---       IPC_DealSingleStep
-      010026F1H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      010026E5H   PUBLIC    CODE     ---       IPC_AbandonLpm
+      010025B9H   PUBLIC    CODE     ---       IPC_DealSingleStep
+      010026FEH   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      010026F2H   PUBLIC    CODE     ---       IPC_AbandonLpm
       01000FD6H   PUBLIC    CODE     ---       IPC_WaitLpm
-      010023B8H   PUBLIC    CODE     ---       _IPC_Initialize
-      010026DFH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      010023C5H   PUBLIC    CODE     ---       _IPC_Initialize
+      010026ECH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
       01000EF9H   PUBLIC    CODE     ---       _IPC_TxBleData
       01000EFFH   PUBLIC    CODE     ---       _IPC_TxData
       010007C1H   PUBLIC    CODE     ---       _IPC_TxControlCmd
@@ -2246,19 +2250,19 @@
       010008D5H   LINE      ---      ---       #47
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100255CH   BLOCK     CODE     ---       LVL=0
-      0100255CH   LINE      ---      ---       #49
-      01002566H   LINE      ---      ---       #50
-      01002566H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002566H   LINE      ---      ---       #51
-      0100256EH   LINE      ---      ---       #52
-      01002574H   LINE      ---      ---       #53
-      01002593H   LINE      ---      ---       #54
-      0100259DH   LINE      ---      ---       #55
-      010025A1H   LINE      ---      ---       #56
-      010025A1H   LINE      ---      ---       #57
-      010025A3H   LINE      ---      ---       #58
-      010025ABH   LINE      ---      ---       #59
+      01002569H   BLOCK     CODE     ---       LVL=0
+      01002569H   LINE      ---      ---       #49
+      01002573H   LINE      ---      ---       #50
+      01002573H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002573H   LINE      ---      ---       #51
+      0100257BH   LINE      ---      ---       #52
+      01002581H   LINE      ---      ---       #53
+      010025A0H   LINE      ---      ---       #54
+      010025AAH   LINE      ---      ---       #55
+      010025AEH   LINE      ---      ---       #56
+      010025AEH   LINE      ---      ---       #57
+      010025B0H   LINE      ---      ---       #58
+      010025B8H   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2306,17 +2310,17 @@
       01000EF9H   LINE      ---      ---       #93
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010026DFH   BLOCK     CODE     ---       LVL=0
-      010026DFH   LINE      ---      ---       #97
-      010026DFH   LINE      ---      ---       #98
-      010026DFH   LINE      ---      ---       #99
-      010026E4H   LINE      ---      ---       #100
+      010026ECH   BLOCK     CODE     ---       LVL=0
+      010026ECH   LINE      ---      ---       #97
+      010026ECH   LINE      ---      ---       #98
+      010026ECH   LINE      ---      ---       #99
+      010026F1H   LINE      ---      ---       #100
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010023B8H   BLOCK     CODE     ---       LVL=0
-      010023B8H   LINE      ---      ---       #102
-      010023B8H   LINE      ---      ---       #103
-      010023B8H   LINE      ---      ---       #104
+      010023C5H   BLOCK     CODE     ---       LVL=0
+      010023C5H   LINE      ---      ---       #102
+      010023C5H   LINE      ---      ---       #103
+      010023C5H   LINE      ---      ---       #104
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FD6H   BLOCK     CODE     ---       LVL=0
@@ -2327,77 +2331,77 @@
       01000FDFH   LINE      ---      ---       #111
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010026E5H   BLOCK     CODE     ---       LVL=0
-      010026E5H   LINE      ---      ---       #114
-      010026E5H   LINE      ---      ---       #115
-      010026E5H   LINE      ---      ---       #116
-      010026EBH   LINE      ---      ---       #117
-      010026F0H   LINE      ---      ---       #118
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010026F1H   BLOCK     CODE     ---       LVL=0
-      010026F1H   LINE      ---      ---       #120
-      010026F1H   LINE      ---      ---       #121
-      010026F1H   LINE      ---      ---       #122
-      01002705H   LINE      ---      ---       #123
-      01002707H   LINE      ---      ---       #124
-      01002708H   LINE      ---      ---       #125
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010025ACH   BLOCK     CODE     ---       LVL=0
-      010025ACH   LINE      ---      ---       #128
-      010025ACH   LINE      ---      ---       #129
-      010025ACH   BLOCK     CODE     NEAR LAB  LVL=1
-      010025ACH   LINE      ---      ---       #130
-      010025BEH   LINE      ---      ---       #131
-      010025D4H   LINE      ---      ---       #132
-      010025D4H   LINE      ---      ---       #133
-      010025DCH   LINE      ---      ---       #134
-      010025EDH   LINE      ---      ---       #135
-      010025F7H   LINE      ---      ---       #136
-      01002616H   LINE      ---      ---       #137
-      01002618H   LINE      ---      ---       #138
-      0100262AH   LINE      ---      ---       #139
-      01002633H   LINE      ---      ---       #140
-      01002649H   LINE      ---      ---       #141
-      01002681H   LINE      ---      ---       #142
-      01002683H   LINE      ---      ---       #143
-      01002683H   LINE      ---      ---       #144
-      01002685H   LINE      ---      ---       #145
-      01002685H   LINE      ---      ---       #146
-      01002685H   LINE      ---      ---       #147
-      01002699H   LINE      ---      ---       #148
-      010026A7H   LINE      ---      ---       #150
-      010026AAH   LINE      ---      ---       #152
-      010026B9H   LINE      ---      ---       #153
-      010026BBH   LINE      ---      ---       #154
-      010026C5H   LINE      ---      ---       #155
-      010026D3H   LINE      ---      ---       #157
-      010026D6H   LINE      ---      ---       #159
-      010026DCH   LINE      ---      ---       #160
-      010026DEH   LINE      ---      ---       #162
-      01002685H   SYMBOL    ---      ---       IPC_TIMERingleStep
+      010026F2H   BLOCK     CODE     ---       LVL=0
+      010026F2H   LINE      ---      ---       #114
+      010026F2H   LINE      ---      ---       #115
+      010026F2H   LINE      ---      ---       #116
+      010026F8H   LINE      ---      ---       #117
+      010026FDH   LINE      ---      ---       #118
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010026FEH   BLOCK     CODE     ---       LVL=0
+      010026FEH   LINE      ---      ---       #120
+      010026FEH   LINE      ---      ---       #121
+      010026FEH   LINE      ---      ---       #122
+      01002712H   LINE      ---      ---       #123
+      01002714H   LINE      ---      ---       #124
+      01002715H   LINE      ---      ---       #125
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010025B9H   BLOCK     CODE     ---       LVL=0
+      010025B9H   LINE      ---      ---       #128
+      010025B9H   LINE      ---      ---       #129
+      010025B9H   BLOCK     CODE     NEAR LAB  LVL=1
+      010025B9H   LINE      ---      ---       #130
+      010025CBH   LINE      ---      ---       #131
+      010025E1H   LINE      ---      ---       #132
+      010025E1H   LINE      ---      ---       #133
+      010025E9H   LINE      ---      ---       #134
+      010025FAH   LINE      ---      ---       #135
+      01002604H   LINE      ---      ---       #136
+      01002623H   LINE      ---      ---       #137
+      01002625H   LINE      ---      ---       #138
+      01002637H   LINE      ---      ---       #139
+      01002640H   LINE      ---      ---       #140
+      01002656H   LINE      ---      ---       #141
+      0100268EH   LINE      ---      ---       #142
+      01002690H   LINE      ---      ---       #143
+      01002690H   LINE      ---      ---       #144
+      01002692H   LINE      ---      ---       #145
+      01002692H   LINE      ---      ---       #146
+      01002692H   LINE      ---      ---       #147
+      010026A6H   LINE      ---      ---       #148
+      010026B4H   LINE      ---      ---       #150
+      010026B7H   LINE      ---      ---       #152
+      010026C6H   LINE      ---      ---       #153
+      010026C8H   LINE      ---      ---       #154
+      010026D2H   LINE      ---      ---       #155
+      010026E0H   LINE      ---      ---       #157
+      010026E3H   LINE      ---      ---       #159
+      010026E9H   LINE      ---      ---       #160
+      010026EBH   LINE      ---      ---       #162
+      01002692H   SYMBOL    ---      ---       IPC_TIMERingleStep
       02004E9FH   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       UTILITIES
       02004E5DH   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      0100273DH   PUBLIC    CODE     ---       _compare_str
+      0100274AH   PUBLIC    CODE     ---       _compare_str
       01000FE1H   PUBLIC    CODE     ---       _Delay1ms
-      01002710H   PUBLIC    CODE     ---       _xmemclear_ff
+      0100271DH   PUBLIC    CODE     ---       _xmemclear_ff
       01000D16H   PUBLIC    CODE     ---       _xmemclear
       02004E4EH   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
       01001A74H   PUBLIC    CODE     ---       _dmemcpy
       02004E71H   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       01000916H   PUBLIC    CODE     ---       _xmemcpy
-      01002709H   PUBLIC    CODE     ---       YC_Ice_break
+      01002716H   PUBLIC    CODE     ---       YC_Ice_break
 
-      01002709H   BLOCK     CODE     ---       LVL=0
-      01002709H   LINE      ---      ---       #3
-      01002709H   LINE      ---      ---       #4
-      01002709H   LINE      ---      ---       #5
-      0100270FH   LINE      ---      ---       #7
+      01002716H   BLOCK     CODE     ---       LVL=0
+      01002716H   LINE      ---      ---       #3
+      01002716H   LINE      ---      ---       #4
+      01002716H   LINE      ---      ---       #5
+      0100271CH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000916H   BLOCK     CODE     ---       LVL=0
@@ -2424,12 +2428,12 @@
       01000D41H   LINE      ---      ---       #28
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002710H   BLOCK     CODE     ---       LVL=0
-      01002710H   LINE      ---      ---       #30
-      0100271BH   LINE      ---      ---       #31
-      0100271BH   LINE      ---      ---       #32
-      01002725H   LINE      ---      ---       #33
-      0100273CH   LINE      ---      ---       #35
+      0100271DH   BLOCK     CODE     ---       LVL=0
+      0100271DH   LINE      ---      ---       #30
+      01002728H   LINE      ---      ---       #31
+      01002728H   LINE      ---      ---       #32
+      01002732H   LINE      ---      ---       #33
+      01002749H   LINE      ---      ---       #35
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FE1H   BLOCK     CODE     ---       LVL=0
@@ -2444,16 +2448,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100273DH   BLOCK     CODE     ---       LVL=0
-      0100273DH   LINE      ---      ---       #54
-      01002748H   LINE      ---      ---       #55
-      01002748H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002748H   LINE      ---      ---       #57
-      01002754H   LINE      ---      ---       #58
-      0100277EH   LINE      ---      ---       #59
-      01002781H   LINE      ---      ---       #60
-      01002784H   LINE      ---      ---       #61
-      01002786H   LINE      ---      ---       #62
+      0100274AH   BLOCK     CODE     ---       LVL=0
+      0100274AH   LINE      ---      ---       #54
+      01002755H   LINE      ---      ---       #55
+      01002755H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002755H   LINE      ---      ---       #57
+      01002761H   LINE      ---      ---       #58
+      0100278BH   LINE      ---      ---       #59
+      0100278EH   LINE      ---      ---       #60
+      01002791H   LINE      ---      ---       #61
+      01002793H   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2461,10 +2465,10 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      010027C6H   PUBLIC    CODE     ---       GPIO_fillpu
+      010027D3H   PUBLIC    CODE     ---       GPIO_fillpu
       01001764H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
       010014ABH   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01002787H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      01002794H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
       010014BEH   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
@@ -2593,16 +2597,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002787H   BLOCK     CODE     ---       LVL=0
-      01002787H   LINE      ---      ---       #107
-      01002787H   LINE      ---      ---       #108
-      01002787H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002787H   LINE      ---      ---       #111
-      0100278BH   LINE      ---      ---       #113
-      0100278FH   LINE      ---      ---       #114
-      01002796H   LINE      ---      ---       #115
-      010027B8H   LINE      ---      ---       #116
-      010027C5H   LINE      ---      ---       #117
+      01002794H   BLOCK     CODE     ---       LVL=0
+      01002794H   LINE      ---      ---       #107
+      01002794H   LINE      ---      ---       #108
+      01002794H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002794H   LINE      ---      ---       #111
+      01002798H   LINE      ---      ---       #113
+      0100279CH   LINE      ---      ---       #114
+      010027A3H   LINE      ---      ---       #115
+      010027C5H   LINE      ---      ---       #116
+      010027D2H   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -2628,13 +2632,13 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010027C6H   BLOCK     CODE     ---       LVL=0
-      010027C6H   LINE      ---      ---       #131
-      010027C6H   LINE      ---      ---       #132
-      010027C6H   BLOCK     CODE     NEAR LAB  LVL=1
-      010027C6H   LINE      ---      ---       #134
-      010027C8H   LINE      ---      ---       #135
-      010027F9H   LINE      ---      ---       #136
+      010027D3H   BLOCK     CODE     ---       LVL=0
+      010027D3H   LINE      ---      ---       #131
+      010027D3H   LINE      ---      ---       #132
+      010027D3H   BLOCK     CODE     NEAR LAB  LVL=1
+      010027D3H   LINE      ---      ---       #134
+      010027D5H   LINE      ---      ---       #135
+      01002806H   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2780,5 +2784,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       01000626H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=818 const=182 code=10052
+Program Size: data=10.2 xdata=818 const=182 code=10065
 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
===================================================================
--- /XZR_Project/XZR_1086_K09/c51/output/eeprom.dat	(revision 462)
+++ /XZR_Project/XZR_1086_K09/c51/output/eeprom.dat	(working copy)
@@ -4728,8 +4728,8 @@
 d8
 aa
 55
-fc
-27
+09
+28
 02
 05
 df
@@ -6247,7 +6247,7 @@
 26
 02
 25
-59
+66
 e4
 93
 a3
@@ -6393,7 +6393,7 @@
 00
 ff
 23
-1b
+28
 00
 16
 08
@@ -8523,12 +8523,12 @@
 f0
 12
 26
-f1
+fe
 50
 24
 12
 1d
-25
+32
 90
 4e
 96
@@ -8689,10 +8689,10 @@
 22
 12
 23
-b2
+bf
 12
 25
-ac
+b9
 12
 14
 26
@@ -8764,7 +8764,7 @@
 05
 12
 26
-e5
+f2
 80
 b3
 12
@@ -9422,7 +9422,7 @@
 b1
 12
 22
-0f
+1c
 90
 4d
 eb
@@ -10270,7 +10270,7 @@
 b0
 12
 27
-c6
+d3
 90
 81
 1c
@@ -10794,7 +10794,7 @@
 b8
 12
 23
-2b
+38
 d1
 a0
 12
@@ -10818,7 +10818,7 @@
 f0
 12
 23
-c5
+d2
 22
 90
 4d
@@ -11637,7 +11637,7 @@
 60
 02
 a1
-1f
+2c
 ed
 12
 05
@@ -11667,28 +11667,28 @@
 8a
 3d
 1c
-a7
+b4
 3e
 1c
-af
+bc
 3f
 1c
-f1
+fe
 40
-1c
-f9
+1d
+06
 41
 1d
-01
+0e
 42
 1d
-09
+16
 43
 1d
-11
+1e
 44
 1d
-19
+26
 45
 1c
 22
@@ -11708,7 +11708,7 @@
 00
 00
 1d
-1f
+2c
 90
 4c
 c1
@@ -11745,7 +11745,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -11778,7 +11778,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -11815,7 +11815,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -11836,7 +11836,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -11844,7 +11844,7 @@
 4b
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -11865,7 +11865,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -11873,7 +11873,7 @@
 4e
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -11894,7 +11894,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -11902,7 +11902,7 @@
 4a
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -11923,7 +11923,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -11931,7 +11931,7 @@
 4d
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -11953,7 +11953,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -11961,7 +11961,7 @@
 da
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -11969,7 +11969,7 @@
 d6
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -11983,7 +11983,7 @@
 d7
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -11991,7 +11991,7 @@
 d2
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -12005,7 +12005,7 @@
 d8
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -12013,7 +12013,7 @@
 fa
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -12027,7 +12027,7 @@
 d9
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -12035,11 +12035,12 @@
 65
 f0
 a1
-1f
+2c
 90
 4c
 c1
 e0
+fc
 70
 0f
 af
@@ -12056,7 +12057,19 @@
 b3
 f0
 a1
-1f
+2c
+ec
+b4
+02
+08
+90
+4e
+b3
+74
+f1
+f0
+a1
+2c
 90
 4e
 b3
@@ -12218,7 +12231,7 @@
 f0
 12
 20
-b1
+be
 7a
 4d
 79
@@ -12249,7 +12262,7 @@
 bc
 12
 27
-3d
+4a
 ef
 60
 16
@@ -12262,7 +12275,7 @@
 7d
 14
 f1
-81
+8e
 ef
 70
 09
@@ -12304,7 +12317,7 @@
 70
 02
 c1
-57
+64
 74
 bc
 2f
@@ -12323,7 +12336,7 @@
 e0
 ff
 f1
-73
+80
 90
 4e
 44
@@ -12335,7 +12348,7 @@
 50
 02
 c1
-40
+4d
 e4
 90
 4e
@@ -12473,7 +12486,7 @@
 04
 f0
 a1
-bb
+c8
 90
 4e
 3d
@@ -12482,7 +12495,7 @@
 60
 08
 f1
-73
+80
 90
 4e
 41
@@ -12496,7 +12509,7 @@
 04
 f0
 a1
-8a
+97
 90
 4e
 41
@@ -12522,7 +12535,7 @@
 70
 02
 e1
-47
+54
 74
 93
 2f
@@ -12577,9 +12590,9 @@
 70
 04
 e1
-3f
+4c
 e1
-3f
+4c
 90
 4e
 43
@@ -12688,7 +12701,7 @@
 e0
 ff
 f1
-b1
+be
 80
 08
 90
@@ -12698,7 +12711,7 @@
 ff
 12
 20
-07
+14
 90
 4e
 3d
@@ -12736,7 +12749,7 @@
 04
 f0
 c1
-64
+71
 90
 4e
 0c
@@ -13241,7 +13254,7 @@
 f0
 0f
 01
-bd
+ca
 e4
 ff
 ef
@@ -13374,7 +13387,7 @@
 f0
 0f
 21
-42
+4f
 e4
 ff
 ef
@@ -13453,7 +13466,7 @@
 0d
 42
 51
-44
+51
 90
 4c
 eb
@@ -13908,7 +13921,7 @@
 70
 02
 a1
-58
+65
 90
 4c
 95
@@ -14088,7 +14101,7 @@
 f9
 f0
 a1
-11
+1e
 90
 4c
 fa
@@ -14413,7 +14426,7 @@
 70
 02
 c1
-85
+92
 7e
 0c
 7f
@@ -14421,7 +14434,7 @@
 7d
 03
 b1
-5c
+69
 90
 4e
 9f
@@ -14530,7 +14543,7 @@
 14
 fd
 b1
-5c
+69
 90
 4e
 9f
@@ -14964,8 +14977,8 @@
 04
 cf
 22
-be
-96
+6a
+8b
 aa
 55
 40
@@ -16178,21 +16191,8 @@
 6c
 59
 50
-4b
-68
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+df
+d2
 ff
 ff
 ff
@@ -16380,5 +16380,5 @@
 ff
 ff
 ff
-c0
-eb
+d5
+83
Index: c51/output/fw.hex
===================================================================
--- /XZR_Project/XZR_1086_K09/c51/output/fw.hex	(revision 462)
+++ /XZR_Project/XZR_1086_K09/c51/output/fw.hex	(working copy)
@@ -92,7 +92,7 @@
 :1005B00082C822D083D082F8E493701274019370C1
 :1005C0000DA3A393F8740193F5828883E4737402F6
 :1005D000936860EFA3A3A380DF8A838982E47378A2
-:1005E0007FE4F6D8FD7581CF020626022559E493F3
+:1005E0007FE4F6D8FD7581CF020626022566E493E6
 :1005F000A3F8E493A34003F68001F208DFF4802916
 :10060000E493A3F85407240CC8C333C4540F442004
 :10061000C8834004F456800146F6DFE4800B0102F3
@@ -101,7 +101,7 @@
 :1006400054C025E060A840B8E493A3FAE493A3F86B
 :10065000E493A3C8C582C8CAC583CAF0A3C8C5822B
 :10066000C8CAC583CADFE9DEE780BE524E16FF1254
-:1006700023000000FF179CFF113E000000FF231B1A
+:1006700023000000FF179CFF113E000000FF23280D
 :10068000001608090A0B0C0D0E14151311191A1275
 :1006900017000000000036DD05DEE6077F3E142B64
 :1006A00004291DE3351E1A3916061B103A1F083C93
@@ -235,7 +235,7 @@
 :100EA000F022904CF47405F022904CF4E0B4061556
 :100EB000E4904CF6F0904CF5F0A3E0FDE4FFD1098E
 :100EC000E4904CF4F022904E96E4F0A3F0A3F012DC
-:100ED00026F15024121D25904E96EBF0A3EAF0A3C4
+:100ED00026FE5024121D32904E96EBF0A3EAF0A3AA
 :100EE000E9F04A7006904CB604F022904E96E0FB72
 :100EF000A3E0FAA3E0F9315922900BE77405F090D2
 :100F00004EB7EDF0E0FD900BE8F07E0B7FE9904EE0
@@ -245,12 +245,12 @@
 :100F4000B1E0FF22904CC7E0701B904CEFE0701FA7
 :100F5000740AF0A3E07018904DEBE0B402117F0129
 :100F6000121018800AE4904CEBF0904EB104F0900F
-:100F70004EB1E0FF221223B21225AC121426D14347
+:100F70004EB1E0FF221223BF1225B9121426D1432D
 :100F80001215E31210C0900B7EE014601524FE7061
 :100F9000E712154AC2077F1F1214BE121399F1D629
 :100FA00080FE904CEAE07018904CECE07012904D8E
 :100FB000E2E0700C904CE5E07006904CF8E06005C3
-:100FC0001226E580B312154AC2077F1F1214BEF124
+:100FC0001226F280B312154AC2077F1F1214BEF117
 :100FD000D680A580A322E4900B7FF0900B7EF07F5B
 :100FE00001EFD394004011E4FDFC0DBD00010CBCE9
 :100FF00004F8BDA6F51F80E922904CC7E0B40403B5
@@ -291,7 +291,7 @@
 :101220000CF022EF24EC700241D2147002613E24D3
 :10123000EC7002613224F9700241CB24FD6011147C
 :101240007002611524FD700241CF24086002617DA7
-:1012500071B112220F904DEB7402F07B017A4D793F
+:1012500071B112221C904DEB7402F07B017A4D7932
 :10126000EE7D1E7C007FD87E3F12183C7F0A120F55
 :10127000E1904E0BE0904CC1F0D394024002E4F0B8
 :101280007B017A4C79F27D027C007FF67E3F12185A
@@ -344,7 +344,7 @@
 :10157000FCFDEE2478FBE434808B82F583E0FCED07
 :10158000F4FBEC5BF0EE2470F582E43480F583E04C
 :101590004DF0EE2474F582E43480F583E05BF00FC7
-:1015A00080B01227C690811CE0904EB6F0904DDCC2
+:1015A00080B01227D390811CE0904EB6F0904DDCB5
 :1015B000E06020E4FF91AB7F0191AB7F0291AB7FB4
 :1015C0000391AB7F0491AB7F0591AB7F0691AB7F1D
 :1015D0000781AB904EB6E0FF9000A3F0EFF49000CF
@@ -377,8 +377,8 @@
 :10178000904EB4F0F0904EB4E0FFC39408500CC2F9
 :101790000571E6904EB4E004F080EA22F1CA904C64
 :1017A000E4E004F07006904CE3E004F0F1B812239A
-:1017B0002BD1A0121A3C0199904CD3E0600B14F08D
-:1017C000E070067405F01223C522904DEBE0B402E0
+:1017B00038D1A0121A3C0199904CD3E0600B14F080
+:1017C000E070067405F01223D222904DEBE0B402D3
 :1017D0000F904CE9E06009E4904CE6F07F1BF16467
 :1017E00022904CC7E0FF64046004EFB403087F114B
 :1017F0001207C17F01227F00227B017A4C79F27DA2
@@ -429,213 +429,214 @@
 :101AC000EF30E012904CF4E0B403047402F0229082
 :101AD0004CF47401F022904CF47404F022AE07E44C
 :101AE000904EB3F0EE30E005E4904CF8F0904EB339
-:101AF000EDF0904DE2E064016002A11FED1205B32C
+:101AF000EDF0904DE2E064016002A12CED1205B31F
 :101B00001B43081B68141B891A1C40291C483A1CDB
-:101B10005E3B1C743C1C8A3D1CA73E1CAF3F1CF165
-:101B2000401CF9411D01421D09431D11441D194569
+:101B10005E3B1C743C1C8A3D1CB43E1CBC3F1CFE3E
+:101B2000401D06411D0E421D16431D1E441D264527
 :101B30001C224C1C054F1BE8501BCB511BAE520006
-:101B4000001D1F904CC1E064026006904CBF7403FE
+:101B4000001D2C904CC1E064026006904CBF7403F1
 :101B5000F0EE30E006904CE6740CF0904CC174024C
-:101B6000F0E4904EB3F0A11F904CC1E06006904CA1
+:101B6000F0E4904EB3F0A12C904CC1E06006904C94
 :101B7000BF7403F0EE30E006904CE6740CF0E49095
-:101B80004CC1F0904EB3F0A11F904CC1E0640160D5
+:101B80004CC1F0904EB3F0A12C904CC1E0640160C8
 :101B900006904CBF7403F0EE30E006904CE6740CF7
-:101BA000F0904CC17401F0E4904EB3F0A11F904C42
+:101BA000F0904CC17401F0E4904EB3F0A12C904C35
 :101BB000C1E0700FAF067B527D0851B8E4904EB380
-:101BC000F0A11F904EB3744BF0A11F904CC1E07078
-:101BD0000FAF067B517D0851B8E4904EB3F0A11FC2
-:101BE000904EB3744EF0A11F904CC1E0700FAF0641
-:101BF0007B507D0851B8E4904EB3F0A11F904EB3D6
-:101C0000744AF0A11F904CC1E0700FAF067B4F7D6E
-:101C10000851B8E4904EB3F0A11F904EB3744DF04C
-:101C2000A11F904CC1E0B4020FAF067B0F7D08519D
-:101C3000B8E4904EB3F0A11F904EB374DAF0A11F38
-:101C4000904EB374D6F0A11F904CC1E07008904E36
-:101C5000B374D7F0A11F904EB374D2F0A11F904C73
-:101C6000C1E07008904EB374D8F0A11F904EB374C9
-:101C7000FAF0A11F904CC1E07008904EB374D9F0F7
-:101C8000A11F904EB37465F0A11F904CC1E0700F7E
-:101C9000AF067B207D0A51B8E4904EB3F0A11F90AF
-:101CA0004EB37446F08078904EB374D5F080709047
-:101CB0004CC1E0FC7014AF067B2C7D0151B8EE30B6
-:101CC000E028904CF8740AF08020ECB4010AAF06CA
-:101CD0007B2C7D0251B88012AF067B2C7D0851B859
-:101CE000EF30E006904CF8740AF0E4904EB3F080C8
-:101CF0002E904EB374F4F08026904EB374F2F080C0
-:101D00001E904EB374F5F08016904EB374F8F080C8
-:101D10000E904EB374F6F08006904EB374F7F090C8
-:101D20004EB3E0FF22E4904E3AF0A3F0A3F0A3F00C
-:101D3000A3F0A3F0A3F0A3F0A3F0A3F0A3F012206C
-:101D4000B17A4D79A8904E607401F0A3744DF0A360
-:101D500074A8F0A37414F07B017A4D79BC12273D6E
-:101D6000EF60167B017A4D79BC7D14F181EF70092B
-:101D7000904CCEE04402F0800C904CCEE054FDF04C
-:101D8000E4904CD0F0E4904E3AF0904E3AE0FF9060
-:101D90000681937002C15774BC2FF582E4344DF56F
-:101DA00083E0904E3DF0E0FFF173904E44EFF0C3BE
-:101DB00094025002C140E4904E3BF0904E3BE0FF55
-:101DC000C39408507B74017E00A807088005C333C4
-:101DD000CE33CED8F9FF904E3DE0FDE4EF5D605884
-:101DE000E4904E3CF0904E3CE0FF900681936048BA
-:101DF000904E3AE0FEEF6E6037904E3CE024BCF52A
-:101E000082E4344DF583E0FD7C00904E3BE0FF74AE
-:101E1000017E00A807088005C333CE33CED8F9FF72
-:101E2000EE5CFEEF5D4E6008904E437401F080085A
-:101E3000904E3CE004F080AD904E3BE004F0A1BB3E
-:101E4000904E3DE0FF6008F173904E41E02FF0901E
-:101E50004E3AE004F0A18A904E41E0904DE4F0E467
-:101E6000904E3AF0904E3AE0FF900681937002E176
-:101E70004774932FF582E4344DF583E0FE74BC2F54
-:101E8000F582E4344DF583E06E904E3DF0904E3A8D
-:101E9000E0FF24BCF582E4344DF583E0904E40F041
-:101EA000904E3DE07004E13FE13F904E43E060071B
-:101EB0007B007A0079002274BC2FF582E4344DF562
-:101EC00083E0FE74932FF582E4344DF583EEF0E465
-:101ED000904E3BF0904E3BE0FFC39408505B904E19
-:101EE0003DE030E03C904E3AE0FE33333354F8FEB0
-:101EF000EF4E904E3FF0A3E0FF904E3FE0900696ED
-:101F000093FD51DD904E42EFF0904E40E030E009FD
-:101F1000904E42E0FFF1B18008904E42E0FF122067
-:101F200007904E3DE0FFC313F0904E40E0FFC31317
-:101F3000F0904E3BE004F0809B904E3E7401F09098
-:101F40004E3AE004F0C164904E0CE0B4030A904DA8
-:101F5000DFE0B401037402F0904E3EE07007904D54
-:101F6000DFE0B402077B017A4E7956227B007A00CB
-:101F7000790022E4FEEF6006145FFF0E80F7AF06E3
-:101F800022904E9CEBF0A3EAF0A3E9F0E4FFEFC34C
-:101F90009D501B904E9CE0FBA3E0FAA3E0F98F82DA
-:101FA0007583001203CF60037F00220F80E07F0162
-:101FB00022E4FEEFC394E04020EFD394E7501A9060
-:101FC0004E56E0FEEF5407FF7401A807088002C3D5
-:101FD00033D8FC4E904E56F022E4FE74572EF58214
-:101FE000E4344EF583E0FD6F601CED7014904DED10
-:101FF000E06F601274572EF582E4344EF583EFF0F3
-:10200000220EEEB406D522E4FEFDEF54F064F0603B
-:1020100007EF54D0FCBCD00C904E0CE0B4020B7413
-:1020200003F08006904DDF7401F0EFC394E040218F
-:10203000EFD394E7501B904E56E0FEEF5407FF7429
-:1020400001A807088002C333D8FCF45E904E56F016
-:1020500022E4FEED702174572EF582E4344EF583B0
-:10206000E06F7047EEB4050B2457F582E4344EF56B
-:1020700083E4F07D01803474572EF582E4344EF50C
-:1020800083E0FC74562EF582E4344EF583ECF07454
-:10209000572EF582E4344EF583E06014EEB4050B60
-:1020A0002457F582E4344EF583E4F00EEEB406A333
-:1020B00022E4FF904E99F0FEFDA3F0A3F0EF90060E
-:1020C0008193607CEF93FD131313541FFEED5407AF
-:1020D000FD7401A805088002C333D8FCFDEE247806
-:1020E000FBE434808B82F583E0FCEDF4FBEC5BF0E9
-:1020F000EE2470F582E43480F583E04DF0EE247434
-:10210000F582E43480F583E05BF090811CE0F4FC20
-:1021100074BC2FF582E4344DF583ECF0EE2478FBAB
-:10212000E434808B82F583E04DF0EE2470FBE434E0
-:10213000808B82F583E0FCEDF4FBEC5BF00F01BDDE
-:10214000E4FFEF90068193607CEF93FD131313542B
-:102150001FFEED5407FD7401A805088002C333D8A3
-:10216000FCFDEE2478FBE434808B82F583E0FCED0B
-:10217000F4FBEC5BF0EE2470F582E43480F583E050
-:102180004DF0EE2474F582E43480F583E05BF0904A
-:10219000811CE0F4FC74A82FF582E4344DF583EC47
-:1021A000F0EE2478FBE434808B82F583E04DF0EE92
-:1021B0002470FBE434808B82F583E0FCEDF4FBECCF
-:1021C0005BF00F2142E4FFEF90068193604074BC06
-:1021D0002FF582E4344DF583E0FE74A82FF582E4F8
-:1021E000344DF583E06E602374BC2FF582E4344DEA
-:1021F000F583C083C082E0FE74A82FF582E4344DDD
-:10220000F583E0FDEE5DD082D083F00F80B922121D
-:102210000D425144904CEB7401F0904CE5741EF06B
-:10222000E4904CF0F0904D0674FFF09044FCE09088
-:102230004DD0F09044FDE0904DD1F09044FEE09000
-:102240004DD2F022904CD37405F0E4A3F0FFEF25BB
-:10225000E024D6F582E4344CF5837451F0A3F00FFA
-:10226000EFB404EA904C93E0FFA3E0904CFACFF077
-:10227000A3EFF0904C91E0FEA3E0FFC3904C94E0FC
-:102280009FFD904C93E09EFCE41202067BA47A70C2
-:10229000793D783F1200FBC004C005C006C007901E
-:1022A0004C91E0FCA3E0FDE4120206D003D002D082
-:1022B00001D00012000A12023F904CDEEEF0A3EFB4
-:1022C000F0904C91E0FEA3E0FFC3904C94E09FFDA2
-:1022D000904C93E09EFCE41202067B1F7A85792BDA
-:1022E000783F1200FBC004C005C006C007904C91A7
-:1022F000E0FCA3E0FDE4120206D003D002D001D03E
-:102300000012000A12023F904CE0EEF0A3EFF02220
-:102310009080107401F080FE2280F5904EADEDF0BB
-:102320009000011203CF904EAEF022904DDBE060A2
-:102330000FE014F0E0700990413104F0904DDAF0B4
-:10234000904CC7E06404704A904DDAE07010904CF5
-:10235000E3E0FEA3E0FF4E6023EF541F701EE49005
-:102360004DDAF0904E0D7404F0904CF9E0904E0E62
-:10237000F07B017A4E790D7D02120DCC904CE3E09A
-:10238000B4042EA3E0B4B0291217E1904CEC740110
-:10239000F022C3904CE4E09414904CE3E0940040AD
-:1023A00010904DE5E06007E4F07F0E1207C11210B7
-:1023B000B6227B017A4E791678287C4E7D017E000C
-:1023C0007F12020390904E7D120582000000009063
-:1023D0004C95E07002A3E07002A158904C95E0FE8D
-:1023E000A3E0FF904CD4E0FD04F0ED25E024D6F509
-:1023F00082E4344CF583EEF0A3EFF0904CD4E0C3CC
-:1024000094044002E4F0E4904E7CF0904E7DE0F8BD
-:10241000A3E0F9A3E0FAA3E0FB904E7CE025E024E2
-:10242000D6F582E4344CF583E0FEA3E0FFE4FCFD46
-:10243000EB2FFFEA3EFEED39FDEC38FC904E7D12AD
-:102440000576904E7CE004F0E0B404BF904E7DE051
-:10245000FCA3E0FDA3E0FEA3E0FFE47B04FAF9F8AF
-:102460001204C5904E7D120576904CE0E0FEA3E08C
-:10247000FFE4FCFD904E7DE0F8A3E0F9A3E0FAA3B1
-:10248000E0FBD31205655007E4904CF9F0A11190E0
-:102490004CFAE0FEA3E0FFE4FCFD904E7DE0F8A3E3
-:1024A000E0F9A3E0FAA3E0FBC31205654008904CF5
-:1024B000F97464F0805B904CE0E0FEA3E0FFFBAABF
-:1024C00006E4904E7DE0FCA3E0FDA3E0FEA3E0C3A4
-:1024D0009BFFEE9AFEED9400FDEC9400FCE47B641F
-:1024E000FAF9F812043AC006C007904CE0E0FEA3E7
-:1024F000E0FFC3904CFBE09FFF904CFAE09EFEABE8
-:1025000007FAE4F9F8D007D0061204C5904CF9EFA9
-:10251000F0904CE0E0FEA3E0FFC3904CD7E09F902A
-:102520004CD6E09E5007904CD57402F022904CDEC1
-:10253000E0FEA3E0FFE4FCFD904E7DE0F8A3E0F9AF
-:10254000A3E0FAA3E0FBC31205655007904CD574D5
-:1025500001F022E4904CD5F022020F75904EAFEEC0
-:10256000F0A3EFF0A905904B9EE0FEA3E0FFAD01C4
-:1025700019ED602F0FEFAC0670010E14F5828C83FD
-:10258000E0FD904EAFE475F00112042485F082F571
-:1025900083EDF0AD07AC06BC4BD4BD9AD17E4B7F2A
-:1025A0003680CB904B9EEEF0A3EFF0227A0C794B65
-:1025B000904E9F7401F0A3740CF0A3744BF0904BF9
-:1025C000A0E0FEA3E0FF904B9EE06E7003A3E06FDF
-:1025D0007002C1857E0C7F4B7D03B15C904E9FE005
-:1025E000FBA3E0FAA3E0F91203B6B4022B904EA0CD
-:1025F000E475F00212040E904E9FE0FBA3E0FAA3F4
-:10260000E0F91203B6FF904E28E0A3E0FAA3E0F54C
-:10261000828A831205DD806D904E9FE0FBA3E0FA75
-:10262000A3E0F91203B664057059904EA075F0014D
-:1026300012040E7E0C7F4E904E9FE0FBA3E0FAA3A7
-:10264000E0F91203B614FDB15C904E9FE0FBA3E0ED
-:10265000FAA3E02401F9E43AFAC002C001904E9FC7
-:10266000E0A3E0FAA3E0F91203B6FD7C00904E343B
-:10267000E0A3E0FAA3E0F5828A83D001D00212053C
-:10268000DD800280FE904BA5E0FEA3E0FF904C5E53
-:10269000E06E7003A3E06F6022904E2EE0FBA3E09B
-:1026A000FAA3E0F94A60371205D9904BA5E0FFA3E1
-:1026B000E0904C5ECFF0A3EFF080CA904C8DE0FF2D
-:1026C000A3E06F6019904E31E0FBA3E0FAA3E0F9BC
-:1026D0004A600B1205D9904C8DE0A3F080DD22906A
-:1026E0000446E0FF22900B7F7401F0E4900B7EF033
-:1026F00022904B9CE0FEA3E0FF904B9AE0B50607CA
-:10270000A3E0B50702D322C3229082807401F02295
-:10271000904EA5EBF0A3EAF0A3E9F0ED1DAE047036
-:10272000011C4E6017904EA5E0FBA3E475F001126A
-:102730000424A9F0FA74FF1203FC80DF22904E5D9E
-:10274000EBF0A3EAF0A3E9F0E4FF904E63E0FEEFC4
-:10275000C39E5030904E60E0FBA3E0FAA3E0F98FF7
-:10276000827583001203CFFE904E5DE0FBA3E0FA7A
-:10277000A3E0F98F827583001203CF6E60037F00A0
-:10278000220F80C67F0122EFF4603AEF5407FEEF7C
-:102790001313135403FF24A3F582E43400F583C01C
-:1027A00083C082E0FD7401A806088002C333D8FC10
-:1027B000F4FC5DD082D083F074A72FF582E434005E
-:1027C000F583E05CF022E4FFEFFD7C00247CFBEC71
-:1027D00034808B82F583E0FEED2470FDEC34808D37
-:1027E00082F583E04EF4FEEF2478FDEC34808D8298
-:0A27F000F583EEF00FEFB404CF22E2
+:101BC000F0A12C904EB3744BF0A12C904CC1E0705E
+:101BD0000FAF067B517D0851B8E4904EB3F0A12CB5
+:101BE000904EB3744EF0A12C904CC1E0700FAF0634
+:101BF0007B507D0851B8E4904EB3F0A12C904EB3C9
+:101C0000744AF0A12C904CC1E0700FAF067B4F7D61
+:101C10000851B8E4904EB3F0A12C904EB3744DF03F
+:101C2000A12C904CC1E0B4020FAF067B0F7D085190
+:101C3000B8E4904EB3F0A12C904EB374DAF0A12C1E
+:101C4000904EB374D6F0A12C904CC1E07008904E29
+:101C5000B374D7F0A12C904EB374D2F0A12C904C59
+:101C6000C1E07008904EB374D8F0A12C904EB374BC
+:101C7000FAF0A12C904CC1E07008904EB374D9F0EA
+:101C8000A12C904EB37465F0A12C904CC1E0FC7077
+:101C90000FAF067B207D0A51B8E4904EB3F0A12C23
+:101CA000ECB40208904EB374F1F0A12C904EB374D2
+:101CB00046F08078904EB374D5F08070904CC1E0BF
+:101CC000FC7014AF067B2C7D0151B8EE30E02890FB
+:101CD0004CF8740AF08020ECB4010AAF067B2C7D2E
+:101CE0000251B88012AF067B2C7D0851B8EF30E06E
+:101CF00006904CF8740AF0E4904EB3F0802E904EAB
+:101D0000B374F4F08026904EB374F2F0801E904EBF
+:101D1000B374F5F08016904EB374F8F0800E904EC8
+:101D2000B374F6F08006904EB374F7F0904EB3E0C3
+:101D3000FF22E4904E3AF0A3F0A3F0A3F0A3F0A3A7
+:101D4000F0A3F0A3F0A3F0A3F0A3F01220BE7A4D0D
+:101D500079A8904E607401F0A3744DF0A374A8F0BC
+:101D6000A37414F07B017A4D79BC12274AEF6016F8
+:101D70007B017A4D79BC7D14F18EEF7009904CCEC9
+:101D8000E04402F0800C904CCEE054FDF0E4904C26
+:101D9000D0F0E4904E3AF0904E3AE0FF90068193F6
+:101DA0007002C16474BC2FF582E4344DF583E09079
+:101DB0004E3DF0E0FFF180904E44EFF0C3940250AE
+:101DC00002C14DE4904E3BF0904E3BE0FFC39408BF
+:101DD000507B74017E00A807088005C333CE33CE44
+:101DE000D8F9FF904E3DE0FDE4EF5D6058E4904E81
+:101DF0003CF0904E3CE0FF900681936048904E3A54
+:101E0000E0FEEF6E6037904E3CE024BCF582E43497
+:101E10004DF583E0FD7C00904E3BE0FF74017E00B9
+:101E2000A807088005C333CE33CED8F9FFEE5CFE99
+:101E3000EF5D4E6008904E437401F08008904E3C78
+:101E4000E004F080AD904E3BE004F0A1C8904E3D20
+:101E5000E0FF6008F180904E41E02FF0904E3AE0B4
+:101E600004F0A197904E41E0904DE4F0E4904E3A9A
+:101E7000F0904E3AE0FF900681937002E154749323
+:101E80002FF582E4344DF583E0FE74BC2FF582E437
+:101E9000344DF583E06E904E3DF0904E3AE0FF24D5
+:101EA000BCF582E4344DF583E0904E40F0904E3D19
+:101EB000E07004E14CE14C904E43E060077B007A17
+:101EC0000079002274BC2FF582E4344DF583E0FEE6
+:101ED00074932FF582E4344DF583EEF0E4904E3B9D
+:101EE000F0904E3BE0FFC39408505B904E3DE030D5
+:101EF000E03C904E3AE0FE33333354F8FEEF4E9020
+:101F00004E3FF0A3E0FF904E3FE090069693FD51C8
+:101F1000DD904E42EFF0904E40E030E009904E42AE
+:101F2000E0FFF1BE8008904E42E0FF122014904E78
+:101F30003DE0FFC313F0904E40E0FFC313F0904E1E
+:101F40003BE004F0809B904E3E7401F0904E3AE0EE
+:101F500004F0C171904E0CE0B4030A904DDFE0B480
+:101F600001037402F0904E3EE07007904DDFE0B444
+:101F700002077B017A4E7956227B007A0079002293
+:101F8000E4FEEF6006145FFF0E80F7AF0622904E6E
+:101F90009CEBF0A3EAF0A3E9F0E4FFEFC39D501B34
+:101FA000904E9CE0FBA3E0FAA3E0F98F82758300DA
+:101FB0001203CF60037F00220F80E07F0122E4FE46
+:101FC000EFC394E04020EFD394E7501A904E56E0D0
+:101FD000FEEF5407FF7401A807088002C333D8FC42
+:101FE0004E904E56F022E4FE74572EF582E4344EA5
+:101FF000F583E0FD6F601CED7014904DEDE06F60B7
+:102000001274572EF582E4344EF583EFF0220EEE73
+:10201000B406D522E4FEFDEF54F064F06007EF54FF
+:10202000D0FCBCD00C904E0CE0B4020B7403F080DA
+:1020300006904DDF7401F0EFC394E04021EFD3949C
+:10204000E7501B904E56E0FEEF5407FF7401A807BF
+:10205000088002C333D8FCF45E904E56F022E4FEB2
+:10206000ED702174572EF582E4344EF583E06F70E5
+:1020700047EEB4050B2457F582E4344EF583E4F0C3
+:102080007D01803474572EF582E4344EF583E0FCF4
+:1020900074562EF582E4344EF583ECF074572EF529
+:1020A00082E4344EF583E06014EEB4050B2457F55A
+:1020B00082E4344EF583E4F00EEEB406A322E4FF8E
+:1020C000904E99F0FEFDA3F0A3F0EF90068193608F
+:1020D0007CEF93FD131313541FFEED5407FD7401A1
+:1020E000A805088002C333D8FCFDEE2478FBE43455
+:1020F000808B82F583E0FCEDF4FBEC5BF0EE24706A
+:10210000F582E43480F583E04DF0EE2474F582E44A
+:102110003480F583E05BF090811CE0F4FC74BC2F0C
+:10212000F582E4344DF583ECF0EE2478FBE4348062
+:102130008B82F583E04DF0EE2470FBE434808B82DB
+:10214000F583E0FCEDF4FBEC5BF00F01CAE4FFEF7C
+:1021500090068193607CEF93FD131313541FFEEDE3
+:102160005407FD7401A805088002C333D8FCFDEEB6
+:102170002478FBE434808B82F583E0FCEDF4FBEC07
+:102180005BF0EE2470F582E43480F583E04DF0EEF0
+:102190002474F582E43480F583E05BF090811CE0E8
+:1021A000F4FC74A82FF582E4344DF583ECF0EE24B2
+:1021B00078FBE434808B82F583E04DF0EE2470FBF5
+:1021C000E434808B82F583E0FCEDF4FBEC5BF00FF4
+:1021D000214FE4FFEF90068193604074BC2FF5829D
+:1021E000E4344DF583E0FE74A82FF582E4344DF518
+:1021F00083E06E602374BC2FF582E4344DF583C018
+:1022000083C082E0FE74A82FF582E4344DF583E0AC
+:10221000FDEE5DD082D083F00F80B922120D4251C5
+:1022200051904CEB7401F0904CE5741EF0E4904C2E
+:10223000F0F0904D0674FFF09044FCE0904DD0F02B
+:102240009044FDE0904DD1F09044FEE0904DD2F0EE
+:1022500022904CD37405F0E4A3F0FFEF25E024D6E0
+:10226000F582E4344CF5837451F0A3F00FEFB4041D
+:10227000EA904C93E0FFA3E0904CFACFF0A3EFF08C
+:10228000904C91E0FEA3E0FFC3904C94E09FFD9042
+:102290004C93E09EFCE41202067BA47A70793D78B0
+:1022A0003F1200FBC004C005C006C007904C91E07F
+:1022B000FCA3E0FDE4120206D003D002D001D0005E
+:1022C00012000A12023F904CDEEEF0A3EFF0904CA9
+:1022D00091E0FEA3E0FFC3904C94E09FFD904C93EF
+:1022E000E09EFCE41202067B1F7A85792B783F1270
+:1022F00000FBC004C005C006C007904C91E0FCA3E1
+:10230000E0FDE4120206D003D002D001D00012009A
+:102310000A12023F904CE0EEF0A3EFF02290801002
+:102320007401F080FE2280F5904EADEDF09000013A
+:102330001203CF904EAEF022904DDBE0600FE01420
+:10234000F0E0700990413104F0904DDAF0904CC704
+:10235000E06404704A904DDAE07010904CE3E0FEC7
+:10236000A3E0FF4E6023EF541F701EE4904DDAF09F
+:10237000904E0D7404F0904CF9E0904E0EF07B01FD
+:102380007A4E790D7D02120DCC904CE3E0B4042E10
+:10239000A3E0B4B0291217E1904CEC7401F022C311
+:1023A000904CE4E09414904CE3E094004010904D85
+:1023B000E5E06007E4F07F0E1207C11210B6227B41
+:1023C000017A4E791678287C4E7D017E007F1202BC
+:1023D0000390904E7D12058200000000904C95E025
+:1023E0007002A3E07002A165904C95E0FEA3E0FFAF
+:1023F000904CD4E0FD04F0ED25E024D6F582E434E1
+:102400004CF583EEF0A3EFF0904CD4E0C39404407D
+:1024100002E4F0E4904E7CF0904E7DE0F8A3E0F909
+:10242000A3E0FAA3E0FB904E7CE025E024D6F58201
+:10243000E4344CF583E0FEA3E0FFE4FCFDEB2FFF6A
+:10244000EA3EFEED39FDEC38FC904E7D12057690AB
+:102450004E7CE004F0E0B404BF904E7DE0FCA3E0CD
+:10246000FDA3E0FEA3E0FFE47B04FAF9F81204C543
+:10247000904E7D120576904CE0E0FEA3E0FFE4FC78
+:10248000FD904E7DE0F8A3E0F9A3E0FAA3E0FBD3D2
+:102490001205655007E4904CF9F0A11E904CFAE04B
+:1024A000FEA3E0FFE4FCFD904E7DE0F8A3E0F9A37D
+:1024B000E0FAA3E0FBC31205654008904CF9746490
+:1024C000F0805B904CE0E0FEA3E0FFFBAA06E49006
+:1024D0004E7DE0FCA3E0FDA3E0FEA3E0C39BFFEE86
+:1024E0009AFEED9400FDEC9400FCE47B64FAF9F8AC
+:1024F00012043AC006C007904CE0E0FEA3E0FFC320
+:10250000904CFBE09FFF904CFAE09EFEAB07FAE494
+:10251000F9F8D007D0061204C5904CF9EFF0904CB2
+:10252000E0E0FEA3E0FFC3904CD7E09F904CD6E0E4
+:102530009E5007904CD57402F022904CDEE0FEA332
+:10254000E0FFE4FCFD904E7DE0F8A3E0F9A3E0FAA3
+:10255000A3E0FBC31205655007904CD57401F0222F
+:10256000E4904CD5F022020F75904EAFEEF0A3EF41
+:10257000F0A905904B9EE0FEA3E0FFAD0119ED60D0
+:102580002F0FEFAC0670010E14F5828C83E0FD90E6
+:102590004EAFE475F00112042485F082F583EDF06E
+:1025A000AD07AC06BC4BD4BD9AD17E4B7F3680CBF9
+:1025B000904B9EEEF0A3EFF0227A0C794B904E9F59
+:1025C0007401F0A3740CF0A3744BF0904BA0E0FEE8
+:1025D000A3E0FF904B9EE06E7003A3E06F7002C11A
+:1025E000927E0C7F4B7D03B169904E9FE0FBA3E090
+:1025F000FAA3E0F91203B6B4022B904EA0E475F0F2
+:102600000212040E904E9FE0FBA3E0FAA3E0F91241
+:1026100003B6FF904E28E0A3E0FAA3E0F5828A8398
+:102620001205DD806D904E9FE0FBA3E0FAA3E0F978
+:102630001203B664057059904EA075F00112040E95
+:102640007E0C7F4E904E9FE0FBA3E0FAA3E0F912D0
+:1026500003B614FDB169904E9FE0FBA3E0FAA3E03E
+:102660002401F9E43AFAC002C001904E9FE0A3E0D1
+:10267000FAA3E0F91203B6FD7C00904E34E0A3E02B
+:10268000FAA3E0F5828A83D001D0021205DD800230
+:1026900080FE904BA5E0FEA3E0FF904C5EE06E70E4
+:1026A00003A3E06F6022904E2EE0FBA3E0FAA3E0CC
+:1026B000F94A60371205D9904BA5E0FFA3E0904C92
+:1026C0005ECFF0A3EFF080CA904C8DE0FFA3E06FE7
+:1026D0006019904E31E0FBA3E0FAA3E0F94A600BE9
+:1026E0001205D9904C8DE0A3F080DD22900446E0E5
+:1026F000FF22900B7F7401F0E4900B7EF022904B50
+:102700009CE0FEA3E0FF904B9AE0B50607A3E0B57E
+:102710000702D322C3229082807401F022904EA53A
+:10272000EBF0A3EAF0A3E9F0ED1DAE0470011C4E3E
+:102730006017904EA5E0FBA3E475F001120424A9F4
+:10274000F0FA74FF1203FC80DF22904E5DEBF0A3E1
+:10275000EAF0A3E9F0E4FF904E63E0FEEFC39E5081
+:1027600030904E60E0FBA3E0FAA3E0F98F8275831E
+:10277000001203CFFE904E5DE0FBA3E0FAA3E0F968
+:102780008F827583001203CF6E60037F00220F805B
+:10279000C67F0122EFF4603AEF5407FEEF131313E4
+:1027A0005403FF24A3F582E43400F583C083C08280
+:1027B000E0FD7401A806088002C333D8FCF4FC5D78
+:1027C000D082D083F074A72FF582E43400F583E043
+:1027D0005CF022E4FFEFFD7C00247CFBEC34808B7A
+:1027E00082F583E0FEED2470FDEC34808D82F5836C
+:1027F000E04EF4FEEF2478FDEC34808D82F583EE1C
+:07280000F00FEFB404CF223A
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /XZR_Project/XZR_1086_K09/c51/output/fwram.rom	(revision 462)
+++ /XZR_Project/XZR_1086_K09/c51/output/fwram.rom	(working copy)
@@ -1515,7 +1515,7 @@
 26
 02
 25
-59
+66
 e4
 93
 a3
@@ -1661,7 +1661,7 @@
 00
 ff
 23
-1b
+28
 00
 16
 08
@@ -3791,12 +3791,12 @@
 f0
 12
 26
-f1
+fe
 50
 24
 12
 1d
-25
+32
 90
 4e
 96
@@ -3957,10 +3957,10 @@
 22
 12
 23
-b2
+bf
 12
 25
-ac
+b9
 12
 14
 26
@@ -4032,7 +4032,7 @@
 05
 12
 26
-e5
+f2
 80
 b3
 12
@@ -4690,7 +4690,7 @@
 b1
 12
 22
-0f
+1c
 90
 4d
 eb
@@ -5538,7 +5538,7 @@
 b0
 12
 27
-c6
+d3
 90
 81
 1c
@@ -6062,7 +6062,7 @@
 b8
 12
 23
-2b
+38
 d1
 a0
 12
@@ -6086,7 +6086,7 @@
 f0
 12
 23
-c5
+d2
 22
 90
 4d
@@ -6905,7 +6905,7 @@
 60
 02
 a1
-1f
+2c
 ed
 12
 05
@@ -6935,28 +6935,28 @@
 8a
 3d
 1c
-a7
+b4
 3e
 1c
-af
+bc
 3f
 1c
-f1
+fe
 40
-1c
-f9
+1d
+06
 41
 1d
-01
+0e
 42
 1d
-09
+16
 43
 1d
-11
+1e
 44
 1d
-19
+26
 45
 1c
 22
@@ -6976,7 +6976,7 @@
 00
 00
 1d
-1f
+2c
 90
 4c
 c1
@@ -7013,7 +7013,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -7046,7 +7046,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -7083,7 +7083,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -7104,7 +7104,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -7112,7 +7112,7 @@
 4b
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -7133,7 +7133,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -7141,7 +7141,7 @@
 4e
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -7162,7 +7162,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -7170,7 +7170,7 @@
 4a
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -7191,7 +7191,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -7199,7 +7199,7 @@
 4d
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -7221,7 +7221,7 @@
 b3
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -7229,7 +7229,7 @@
 da
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -7237,7 +7237,7 @@
 d6
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -7251,7 +7251,7 @@
 d7
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -7259,7 +7259,7 @@
 d2
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -7273,7 +7273,7 @@
 d8
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -7281,7 +7281,7 @@
 fa
 f0
 a1
-1f
+2c
 90
 4c
 c1
@@ -7295,7 +7295,7 @@
 d9
 f0
 a1
-1f
+2c
 90
 4e
 b3
@@ -7303,11 +7303,12 @@
 65
 f0
 a1
-1f
+2c
 90
 4c
 c1
 e0
+fc
 70
 0f
 af
@@ -7324,7 +7325,19 @@
 b3
 f0
 a1
-1f
+2c
+ec
+b4
+02
+08
+90
+4e
+b3
+74
+f1
+f0
+a1
+2c
 90
 4e
 b3
@@ -7486,7 +7499,7 @@
 f0
 12
 20
-b1
+be
 7a
 4d
 79
@@ -7517,7 +7530,7 @@
 bc
 12
 27
-3d
+4a
 ef
 60
 16
@@ -7530,7 +7543,7 @@
 7d
 14
 f1
-81
+8e
 ef
 70
 09
@@ -7572,7 +7585,7 @@
 70
 02
 c1
-57
+64
 74
 bc
 2f
@@ -7591,7 +7604,7 @@
 e0
 ff
 f1
-73
+80
 90
 4e
 44
@@ -7603,7 +7616,7 @@
 50
 02
 c1
-40
+4d
 e4
 90
 4e
@@ -7741,7 +7754,7 @@
 04
 f0
 a1
-bb
+c8
 90
 4e
 3d
@@ -7750,7 +7763,7 @@
 60
 08
 f1
-73
+80
 90
 4e
 41
@@ -7764,7 +7777,7 @@
 04
 f0
 a1
-8a
+97
 90
 4e
 41
@@ -7790,7 +7803,7 @@
 70
 02
 e1
-47
+54
 74
 93
 2f
@@ -7845,9 +7858,9 @@
 70
 04
 e1
-3f
+4c
 e1
-3f
+4c
 90
 4e
 43
@@ -7956,7 +7969,7 @@
 e0
 ff
 f1
-b1
+be
 80
 08
 90
@@ -7966,7 +7979,7 @@
 ff
 12
 20
-07
+14
 90
 4e
 3d
@@ -8004,7 +8017,7 @@
 04
 f0
 c1
-64
+71
 90
 4e
 0c
@@ -8509,7 +8522,7 @@
 f0
 0f
 01
-bd
+ca
 e4
 ff
 ef
@@ -8642,7 +8655,7 @@
 f0
 0f
 21
-42
+4f
 e4
 ff
 ef
@@ -8721,7 +8734,7 @@
 0d
 42
 51
-44
+51
 90
 4c
 eb
@@ -9176,7 +9189,7 @@
 70
 02
 a1
-58
+65
 90
 4c
 95
@@ -9356,7 +9369,7 @@
 f9
 f0
 a1
-11
+1e
 90
 4c
 fa
@@ -9681,7 +9694,7 @@
 70
 02
 c1
-85
+92
 7e
 0c
 7f
@@ -9689,7 +9702,7 @@
 7d
 03
 b1
-5c
+69
 90
 4e
 9f
@@ -9798,7 +9811,7 @@
 14
 fd
 b1
-5c
+69
 90
 4e
 9f
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
