Index: c51/kb_process.c
===================================================================
--- /XZR_Project/XZR_1086_AK8048/c51/kb_process.c	(revision 779)
+++ /XZR_Project/XZR_1086_AK8048/c51/kb_process.c	(working copy)
@@ -796,6 +796,7 @@
 			temp = HID_KEY_TILDE;
 		}
 	}
+	/*
 	else if(temp == HID_KEY_QUOTE)
 	{
 		if(g_variable.system_mode == OSMODE_IOS)
@@ -828,7 +829,7 @@
 				temp = HID_KEY_2;
 		}		
 	}
-
+	*/
 	
 	if(g_variable.system_mode == OSMODE_IOS)
 	{
@@ -968,14 +969,23 @@
 				temp = HID_KEY_NULL;
 				break;	
 			case HID_KEY_F10:
-				temp = HID_MULTIKEY_AC_SEARCH;
+				if(g_variable.system_mode == OSMODE_IOS)
+				{
+					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
+					temp = HID_KEY_NULL;
+				}
+				else
+					temp = HID_MULTIKEY_AC_SEARCH;
 				break;
 			case HID_KEY_F11:
 				temp = HID_MULTIKEY_AC_HOME;
 				break;
 			case HID_KEY_F12:
 				if(g_variable.system_mode == OSMODE_IOS)
-					temp = HID_MULTIKEY_OS_LOCK;
+				{
+					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_ANDROID)
 					temp = HID_MULTIKEY_OS_LOCK;
 				else
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_AK8048/c51/output/FW.COD	(revision 779)
+++ /XZR_Project/XZR_1086_AK8048/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               09/14/2023  11:21:35  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               10/13/2023  14:15:11  PAGE 1
 
 
 
@@ -1217,7 +1217,7 @@
 000CE1 904E83            MOV     DPTR,#len
 000CE4 E0                MOVX    A,@DPTR
 000CE5 FD                MOV     R5,A
-000CE6 123706            LCALL   _IPC_TxBleData
+000CE6 123696            LCALL   _IPC_TxBleData
   142: 
   143: 	}
 000CE9         ?C0033?KB_PROCESS:
@@ -1830,7 +1830,7 @@
 000F78 7974              MOV     R1,#074H
 000F7A A201              MOV     C,bit_val
 000F7C 9200              MOV     ?_gpioSetBit?BIT,C
-000F7E 1234C0            LCALL   _gpioSetBit
+000F7E 123450            LCALL   _gpioSetBit
 000F81         ?C0007?GPIO:
 000F81 22                RET     
 ----- FUNCTION _GPIO_Setout (END) -------
@@ -1907,14 +1907,14 @@
 000FC8         ?C0016?GPIO:
 000FC8 AF04              MOV     R7,AR4
 000FCA D204              SETB    ?_GPIO_Setoe?BIT
-000FCC 1234AF            LCALL   _GPIO_Setoe
+000FCC 12343F            LCALL   _GPIO_Setoe
 000FCF AF04              MOV     R7,AR4
 000FD1 A206              MOV     C,st
 000FD3 9201              MOV     ?_GPIO_Setout?BIT,C
 000FD5 F170              ACALL   _GPIO_Setout
 000FD7 AF04              MOV     R7,AR4
 000FD9 C202              CLR     ?_GPIO_SetPu?BIT
-000FDB 12346F            LCALL   _GPIO_SetPu
+000FDB 1233FF            LCALL   _GPIO_SetPu
 000FDE         ?C0017?GPIO:
 000FDE 22                RET     
 ----- FUNCTION _GPIO_SetOutput (END) -------
@@ -1994,7 +1994,7 @@
 001033 E0                MOVX    A,@DPTR
 001034 FD                MOV     R5,A
 001035 7B64              MOV     R3,#064H
-001037 123696            LCALL   _bufsize
+001037 123626            LCALL   _bufsize
 00103A 904EC2            MOV     DPTR,#len
 00103D E0                MOVX    A,@DPTR
 00103E FE                MOV     R6,A
@@ -2096,8 +2096,8 @@
     5: 	switch (key_num)
     6: 	{
 0010CC 14                DEC     A
-0010CD B40D00            CJNE    A,#0DH,?C0292?KB_PROCESS
-0010D0         ?C0292?KB_PROCESS:
+0010CD B40D00            CJNE    A,#0DH,?C0274?KB_PROCESS
+0010D0         ?C0274?KB_PROCESS:
 0010D0 4002              JC      $ + 4H
 0010D2 4193              AJMP    ?C0025?KB_PROCESS
 0010D4 9010E2            MOV     DPTR,#010E2H
@@ -2107,7 +2107,7 @@
 0010DD 25F0              ADD     A,B
 0010DF C583              XCH     A,DPH
 0010E1 73                JMP     @A+DPTR
-0010E2         ?C0293?KB_PROCESS:
+0010E2         ?C0275?KB_PROCESS:
 0010E2 021109            LJMP    ?C0004?KB_PROCESS
 0010E5 021109            LJMP    ?C0004?KB_PROCESS
 0010E8 021109            LJMP    ?C0004?KB_PROCESS
@@ -2520,7 +2520,7 @@
   127: 		System_Software_init();
 0012CF 121FE4            LCALL   System_Hardware_init
   128: 		if(evt == IPC_EVT_RESET)
-0012D2 12357A            LCALL   System_Software_init
+0012D2 12350A            LCALL   System_Software_init
   129: 		{
 0012D5 904F0E            MOV     DPTR,#evt
 0012D8 E0                MOVX    A,@DPTR
@@ -2739,9 +2739,9 @@
   183: 	case IPC_EVT_WAKEUP:
 0013FA         ?C0025?SYS:
   184: 		System_IIC_clk_setup();
-0013FA 123567            LCALL   System_IIC_clk_setup
+0013FA 1234F7            LCALL   System_IIC_clk_setup
   185: 		KS_Initialize();
-0013FD 02353D            LJMP    KS_Initialize
+0013FD 0234CD            LJMP    KS_Initialize
   186: 
   187: 		break;
   188: 
@@ -4004,7 +4004,7 @@
   831: 			) 
   832: 			{
   833: 				IPC_AbandonLpm();
-001937 123715            LCALL   IPC_AbandonLpm
+001937 1236A5            LCALL   IPC_AbandonLpm
   834: 				break;
 00193A 80A7              SJMP    ?C0149?SYS
   835: 			}
@@ -4120,7 +4120,7 @@
 0019A4 80B0              SJMP    ?C0043?KEYSCAN
 0019A6         ?C0044?KEYSCAN:
   243: 	GPIO_fillpd();
-0019A6 123767            LCALL   GPIO_fillpd
+0019A6 1236F7            LCALL   GPIO_fillpd
   244: 	
   245: 	temp = REG_GPIO_IN(0);
 0019A9 90811C            MOV     DPTR,#0811CH
@@ -5403,9 +5403,9 @@
    54: {
    55: 	System_IIC_clk_setup();
    56: 	KS_Initialize();
-001FE4 123567            LCALL   System_IIC_clk_setup
+001FE4 1234F7            LCALL   System_IIC_clk_setup
    57: 	LED_all_shutdown();
-001FE7 12353D            LCALL   KS_Initialize
+001FE7 1234CD            LCALL   KS_Initialize
    58: }
 001FEA 4186              AJMP    LED_all_shutdown
 ----- FUNCTION System_Hardware_init (END) -------
@@ -6892,8 +6892,8 @@
 
 ----- FUNCTION _kb_multikey_setup (BEGIN) -----
  FILE: 'kb_process.c'
- 1000: void kb_multikey_setup(tKSEVENT *pEvt)
- 1001: {
+ 1010: void kb_multikey_setup(tKSEVENT *pEvt)
+ 1011: {
 002682 904EDE            MOV     DPTR,#pEvt
 002685 EB                MOV     A,R3
 002686 F0                MOVX    @DPTR,A
@@ -6903,23 +6903,23 @@
 00268A A3                INC     DPTR
 00268B E9                MOV     A,R1
 00268C F0                MOVX    @DPTR,A
- 1002: 	byte i = 0;
- 1003: 	
+ 1012: 	byte i = 0;
+ 1013: 	
 00268D E4                CLR     A
 00268E A3                INC     DPTR
 00268F F0                MOVX    @DPTR,A
- 1004: 	for (i = 0;i < 6;i++)
+ 1014: 	for (i = 0;i < 6;i++)
 002690 F0                MOVX    @DPTR,A
-002691         ?C0232?KB_PROCESS:
+002691         ?C0214?KB_PROCESS:
 002691 904EE1            MOV     DPTR,#i
 002694 E0                MOVX    A,@DPTR
 002695 FF                MOV     R7,A
 002696 C3                CLR     C
 002697 9406              SUBB    A,#06H
 002699 4003              JC      $ + 5H
-00269B 02299B            LJMP    ?C0291?KB_PROCESS
- 1005: 	{		
- 1006: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+00269B 02299B            LJMP    ?C0273?KB_PROCESS
+ 1015: 	{		
+ 1016: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
 00269E 904EDE            MOV     DPTR,#pEvt
 0026A1 E0                MOVX    A,@DPTR
 0026A2 FB                MOV     R3,A
@@ -6944,41 +6944,41 @@
 0026B9 FF                MOV     R7,A
 0026BA 54F0              ANL     A,#0F0H
 0026BC 64F0              XRL     A,#0F0H
-0026BE 600A              JZ      ?C0236?KB_PROCESS
+0026BE 600A              JZ      ?C0218?KB_PROCESS
 0026C0 EF                MOV     A,R7
 0026C1 54D0              ANL     A,#0D0H
 0026C3 64D0              XRL     A,#0D0H
 0026C5 6003              JZ      $ + 5H
-0026C7 022992            LJMP    ?C0234?KB_PROCESS
-0026CA         ?C0236?KB_PROCESS:
- 1007: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
- 1008: 		{
- 1009: 			
- 1010: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+0026C7 022992            LJMP    ?C0216?KB_PROCESS
+0026CA         ?C0218?KB_PROCESS:
+ 1017: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+ 1018: 		{
+ 1019: 			
+ 1020: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
 0026CA 1203B6            LCALL   ?C?CLDPTR
 0026CD FB                MOV     R3,A
-0026CE B4F109            CJNE    A,#0F1H,?C0237?KB_PROCESS
- 1011: 			{
- 1012: 				kb_set_multikey(0x0183); 
+0026CE B4F109            CJNE    A,#0F1H,?C0219?KB_PROCESS
+ 1021: 			{
+ 1022: 				kb_set_multikey(0x0183); 
 0026D1 7F83              MOV     R7,#083H
 0026D3 7E01              MOV     R6,#01H
 0026D5 D167              ACALL   _kb_set_multikey
- 1013: 			}
-0026D7 022967            LJMP    ?C0238?KB_PROCESS
-0026DA         ?C0237?KB_PROCESS:
- 1014: 			else
- 1015: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+ 1023: 			}
+0026D7 022967            LJMP    ?C0220?KB_PROCESS
+0026DA         ?C0219?KB_PROCESS:
+ 1024: 			else
+ 1025: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
 0026DA EB                MOV     A,R3
-0026DB B4F209            CJNE    A,#0F2H,?C0239?KB_PROCESS
- 1016: 			{ 
- 1017: 				kb_set_multikey(0x00cd);
+0026DB B4F209            CJNE    A,#0F2H,?C0221?KB_PROCESS
+ 1026: 			{ 
+ 1027: 				kb_set_multikey(0x00cd);
 0026DE 7FCD              MOV     R7,#0CDH
 0026E0 7E00              MOV     R6,#00H
 0026E2 D167              ACALL   _kb_set_multikey
- 1018: 			}
-0026E4 022967            LJMP    ?C0238?KB_PROCESS
-0026E7         ?C0239?KB_PROCESS:
- 1019: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+ 1028: 			}
+0026E4 022967            LJMP    ?C0220?KB_PROCESS
+0026E7         ?C0221?KB_PROCESS:
+ 1029: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
 0026E7 904EDE            MOV     DPTR,#pEvt
 0026EA E0                MOVX    A,@DPTR
 0026EB FB                MOV     R3,A
@@ -7002,26 +7002,26 @@
 0026FF FA                MOV     R2,A
 002700 1203B6            LCALL   ?C?CLDPTR
 002703 FB                MOV     R3,A
-002704 B4F307            CJNE    A,#0F3H,?C0241?KB_PROCESS
- 1020: 			{
- 1021: 				kb_set_multikey(0x00b7);
+002704 B4F307            CJNE    A,#0F3H,?C0223?KB_PROCESS
+ 1030: 			{
+ 1031: 				kb_set_multikey(0x00b7);
 002707 7FB7              MOV     R7,#0B7H
 002709 D167              ACALL   _kb_set_multikey
- 1022: 			}	
-00270B 022967            LJMP    ?C0238?KB_PROCESS
-00270E         ?C0241?KB_PROCESS:
- 1023: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+ 1032: 			}	
+00270B 022967            LJMP    ?C0220?KB_PROCESS
+00270E         ?C0223?KB_PROCESS:
+ 1033: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
 00270E EB                MOV     A,R3
-00270F B4F409            CJNE    A,#0F4H,?C0243?KB_PROCESS
- 1024: 			{
- 1025: 				kb_set_multikey(0x00b6);
+00270F B4F409            CJNE    A,#0F4H,?C0225?KB_PROCESS
+ 1034: 			{
+ 1035: 				kb_set_multikey(0x00b6);
 002712 7FB6              MOV     R7,#0B6H
 002714 7E00              MOV     R6,#00H
 002716 D167              ACALL   _kb_set_multikey
- 1026: 			}
-002718 022967            LJMP    ?C0238?KB_PROCESS
-00271B         ?C0243?KB_PROCESS:
- 1027: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+ 1036: 			}
+002718 022967            LJMP    ?C0220?KB_PROCESS
+00271B         ?C0225?KB_PROCESS:
+ 1037: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
 00271B 904EDE            MOV     DPTR,#pEvt
 00271E E0                MOVX    A,@DPTR
 00271F FB                MOV     R3,A
@@ -7045,26 +7045,26 @@
 002733 FA                MOV     R2,A
 002734 1203B6            LCALL   ?C?CLDPTR
 002737 FB                MOV     R3,A
-002738 B4F507            CJNE    A,#0F5H,?C0245?KB_PROCESS
- 1028: 			{
- 1029: 				kb_set_multikey(0x00b5);
+002738 B4F507            CJNE    A,#0F5H,?C0227?KB_PROCESS
+ 1038: 			{
+ 1039: 				kb_set_multikey(0x00b5);
 00273B 7FB5              MOV     R7,#0B5H
 00273D D167              ACALL   _kb_set_multikey
- 1030: 			}
-00273F 022967            LJMP    ?C0238?KB_PROCESS
-002742         ?C0245?KB_PROCESS:
- 1031: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+ 1040: 			}
+00273F 022967            LJMP    ?C0220?KB_PROCESS
+002742         ?C0227?KB_PROCESS:
+ 1041: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
 002742 EB                MOV     A,R3
-002743 B4F609            CJNE    A,#0F6H,?C0247?KB_PROCESS
- 1032: 			{
- 1033: 				kb_set_multikey(0x00ea);
+002743 B4F609            CJNE    A,#0F6H,?C0229?KB_PROCESS
+ 1042: 			{
+ 1043: 				kb_set_multikey(0x00ea);
 002746 7FEA              MOV     R7,#0EAH
 002748 7E00              MOV     R6,#00H
 00274A D167              ACALL   _kb_set_multikey
- 1034: 			}
-00274C 022967            LJMP    ?C0238?KB_PROCESS
-00274F         ?C0247?KB_PROCESS:
- 1035: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+ 1044: 			}
+00274C 022967            LJMP    ?C0220?KB_PROCESS
+00274F         ?C0229?KB_PROCESS:
+ 1045: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
 00274F 904EDE            MOV     DPTR,#pEvt
 002752 E0                MOVX    A,@DPTR
 002753 FB                MOV     R3,A
@@ -7088,26 +7088,26 @@
 002767 FA                MOV     R2,A
 002768 1203B6            LCALL   ?C?CLDPTR
 00276B FB                MOV     R3,A
-00276C B4F707            CJNE    A,#0F7H,?C0249?KB_PROCESS
- 1036: 			{
- 1037: 				kb_set_multikey(0x00e9);
+00276C B4F707            CJNE    A,#0F7H,?C0231?KB_PROCESS
+ 1046: 			{
+ 1047: 				kb_set_multikey(0x00e9);
 00276F 7FE9              MOV     R7,#0E9H
 002771 D167              ACALL   _kb_set_multikey
- 1038: 			}
-002773 022967            LJMP    ?C0238?KB_PROCESS
-002776         ?C0249?KB_PROCESS:
- 1039: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+ 1048: 			}
+002773 022967            LJMP    ?C0220?KB_PROCESS
+002776         ?C0231?KB_PROCESS:
+ 1049: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
 002776 EB                MOV     A,R3
-002777 B4F809            CJNE    A,#0F8H,?C0251?KB_PROCESS
- 1040: 			{
- 1041: 				kb_set_multikey(0x00e2);
+002777 B4F809            CJNE    A,#0F8H,?C0233?KB_PROCESS
+ 1050: 			{
+ 1051: 				kb_set_multikey(0x00e2);
 00277A 7FE2              MOV     R7,#0E2H
 00277C 7E00              MOV     R6,#00H
 00277E D167              ACALL   _kb_set_multikey
- 1042: 			}
-002780 022967            LJMP    ?C0238?KB_PROCESS
-002783         ?C0251?KB_PROCESS:
- 1043: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+ 1052: 			}
+002780 022967            LJMP    ?C0220?KB_PROCESS
+002783         ?C0233?KB_PROCESS:
+ 1053: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
 002783 904EDE            MOV     DPTR,#pEvt
 002786 E0                MOVX    A,@DPTR
 002787 FB                MOV     R3,A
@@ -7131,27 +7131,27 @@
 00279B FA                MOV     R2,A
 00279C 1203B6            LCALL   ?C?CLDPTR
 00279F FB                MOV     R3,A
-0027A0 B4F908            CJNE    A,#0F9H,?C0253?KB_PROCESS
- 1044: 			{
- 1045: 				kb_set_multikey(0x0194);
+0027A0 B4F908            CJNE    A,#0F9H,?C0235?KB_PROCESS
+ 1054: 			{
+ 1055: 				kb_set_multikey(0x0194);
 0027A3 7F94              MOV     R7,#094H
 0027A5 0E                INC     R6
 0027A6 D167              ACALL   _kb_set_multikey
- 1046: 			}	
-0027A8 022967            LJMP    ?C0238?KB_PROCESS
-0027AB         ?C0253?KB_PROCESS:
- 1047: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+ 1056: 			}	
+0027A8 022967            LJMP    ?C0220?KB_PROCESS
+0027AB         ?C0235?KB_PROCESS:
+ 1057: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
 0027AB EB                MOV     A,R3
-0027AC B4FA09            CJNE    A,#0FAH,?C0255?KB_PROCESS
- 1048: 			{
- 1049: 				kb_set_multikey(0x018a);//mail
+0027AC B4FA09            CJNE    A,#0FAH,?C0237?KB_PROCESS
+ 1058: 			{
+ 1059: 				kb_set_multikey(0x018a);//mail
 0027AF 7F8A              MOV     R7,#08AH
 0027B1 7E01              MOV     R6,#01H
 0027B3 D167              ACALL   _kb_set_multikey
- 1050: 			}
-0027B5 022967            LJMP    ?C0238?KB_PROCESS
-0027B8         ?C0255?KB_PROCESS:
- 1051: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+ 1060: 			}
+0027B5 022967            LJMP    ?C0220?KB_PROCESS
+0027B8         ?C0237?KB_PROCESS:
+ 1061: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
 0027B8 904EDE            MOV     DPTR,#pEvt
 0027BB E0                MOVX    A,@DPTR
 0027BC FB                MOV     R3,A
@@ -7175,27 +7175,27 @@
 0027D0 FA                MOV     R2,A
 0027D1 1203B6            LCALL   ?C?CLDPTR
 0027D4 FB                MOV     R3,A
-0027D5 B4FB08            CJNE    A,#0FBH,?C0257?KB_PROCESS
- 1052: 			{
- 1053: 				kb_set_multikey(0x0192);
+0027D5 B4FB08            CJNE    A,#0FBH,?C0239?KB_PROCESS
+ 1062: 			{
+ 1063: 				kb_set_multikey(0x0192);
 0027D8 7F92              MOV     R7,#092H
 0027DA 0E                INC     R6
 0027DB D167              ACALL   _kb_set_multikey
- 1054: 			}
-0027DD 022967            LJMP    ?C0238?KB_PROCESS
-0027E0         ?C0257?KB_PROCESS:
- 1055: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+ 1064: 			}
+0027DD 022967            LJMP    ?C0220?KB_PROCESS
+0027E0         ?C0239?KB_PROCESS:
+ 1065: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
 0027E0 EB                MOV     A,R3
-0027E1 B4D009            CJNE    A,#0D0H,?C0259?KB_PROCESS
- 1056: 			{
- 1057: 				kb_set_multikey(0x022a);//www Favorites
+0027E1 B4D009            CJNE    A,#0D0H,?C0241?KB_PROCESS
+ 1066: 			{
+ 1067: 				kb_set_multikey(0x022a);//www Favorites
 0027E4 7F2A              MOV     R7,#02AH
 0027E6 7E02              MOV     R6,#02H
 0027E8 D167              ACALL   _kb_set_multikey
- 1058: 			}
-0027EA 022967            LJMP    ?C0238?KB_PROCESS
-0027ED         ?C0259?KB_PROCESS:
- 1059: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+ 1068: 			}
+0027EA 022967            LJMP    ?C0220?KB_PROCESS
+0027ED         ?C0241?KB_PROCESS:
+ 1069: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
 0027ED 904EDE            MOV     DPTR,#pEvt
 0027F0 E0                MOVX    A,@DPTR
 0027F1 FB                MOV     R3,A
@@ -7219,27 +7219,27 @@
 002805 FA                MOV     R2,A
 002806 1203B6            LCALL   ?C?CLDPTR
 002809 FB                MOV     R3,A
-00280A B4D109            CJNE    A,#0D1H,?C0261?KB_PROCESS
- 1060: 			{
- 1061: 				kb_set_multikey(0x0225);
+00280A B4D109            CJNE    A,#0D1H,?C0243?KB_PROCESS
+ 1070: 			{
+ 1071: 				kb_set_multikey(0x0225);
 00280D 7F25              MOV     R7,#025H
 00280F 7E02              MOV     R6,#02H
 002811 122667            LCALL   _kb_set_multikey
- 1062: 			}
-002814 2167              AJMP    ?C0238?KB_PROCESS
-002816         ?C0261?KB_PROCESS:
- 1063: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+ 1072: 			}
+002814 2167              AJMP    ?C0220?KB_PROCESS
+002816         ?C0243?KB_PROCESS:
+ 1073: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
 002816 EB                MOV     A,R3
-002817 B4D309            CJNE    A,#0D3H,?C0263?KB_PROCESS
- 1064: 			{
- 1065: 				kb_set_multikey(0x0226);
+002817 B4D309            CJNE    A,#0D3H,?C0245?KB_PROCESS
+ 1074: 			{
+ 1075: 				kb_set_multikey(0x0226);
 00281A 7F26              MOV     R7,#026H
 00281C 7E02              MOV     R6,#02H
 00281E 122667            LCALL   _kb_set_multikey
- 1066: 			}
-002821 2167              AJMP    ?C0238?KB_PROCESS
-002823         ?C0263?KB_PROCESS:
- 1067: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+ 1076: 			}
+002821 2167              AJMP    ?C0220?KB_PROCESS
+002823         ?C0245?KB_PROCESS:
+ 1077: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
 002823 904EDE            MOV     DPTR,#pEvt
 002826 E0                MOVX    A,@DPTR
 002827 FB                MOV     R3,A
@@ -7263,27 +7263,27 @@
 00283B FA                MOV     R2,A
 00283C 1203B6            LCALL   ?C?CLDPTR
 00283F FB                MOV     R3,A
-002840 B4D209            CJNE    A,#0D2H,?C0265?KB_PROCESS
- 1068: 			{
- 1069: 				kb_set_multikey(0x0224);
+002840 B4D209            CJNE    A,#0D2H,?C0247?KB_PROCESS
+ 1078: 			{
+ 1079: 				kb_set_multikey(0x0224);
 002843 7F24              MOV     R7,#024H
 002845 7E02              MOV     R6,#02H
 002847 122667            LCALL   _kb_set_multikey
- 1070: 			}
-00284A 2167              AJMP    ?C0238?KB_PROCESS
-00284C         ?C0265?KB_PROCESS:
- 1071: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+ 1080: 			}
+00284A 2167              AJMP    ?C0220?KB_PROCESS
+00284C         ?C0247?KB_PROCESS:
+ 1081: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
 00284C EB                MOV     A,R3
-00284D B4D409            CJNE    A,#0D4H,?C0267?KB_PROCESS
- 1072: 			{
- 1073: 				kb_set_multikey(0x0227);
+00284D B4D409            CJNE    A,#0D4H,?C0249?KB_PROCESS
+ 1082: 			{
+ 1083: 				kb_set_multikey(0x0227);
 002850 7F27              MOV     R7,#027H
 002852 7E02              MOV     R6,#02H
 002854 122667            LCALL   _kb_set_multikey
- 1074: 			}	
-002857 2167              AJMP    ?C0238?KB_PROCESS
-002859         ?C0267?KB_PROCESS:
- 1075: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+ 1084: 			}	
+002857 2167              AJMP    ?C0220?KB_PROCESS
+002859         ?C0249?KB_PROCESS:
+ 1085: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
 002859 904EDE            MOV     DPTR,#pEvt
 00285C E0                MOVX    A,@DPTR
 00285D FB                MOV     R3,A
@@ -7307,27 +7307,27 @@
 002871 FA                MOV     R2,A
 002872 1203B6            LCALL   ?C?CLDPTR
 002875 FB                MOV     R3,A
-002876 B4D509            CJNE    A,#0D5H,?C0269?KB_PROCESS
- 1076: 			{
- 1077: 				kb_set_multikey(0x0221);
+002876 B4D509            CJNE    A,#0D5H,?C0251?KB_PROCESS
+ 1086: 			{
+ 1087: 				kb_set_multikey(0x0221);
 002879 7F21              MOV     R7,#021H
 00287B 7E02              MOV     R6,#02H
 00287D 122667            LCALL   _kb_set_multikey
- 1078: 			}
-002880 2167              AJMP    ?C0238?KB_PROCESS
-002882         ?C0269?KB_PROCESS:
- 1079: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+ 1088: 			}
+002880 2167              AJMP    ?C0220?KB_PROCESS
+002882         ?C0251?KB_PROCESS:
+ 1089: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
 002882 EB                MOV     A,R3
-002883 B4D609            CJNE    A,#0D6H,?C0271?KB_PROCESS
- 1080: 			{
- 1081: 				kb_set_multikey(0x0223);
+002883 B4D609            CJNE    A,#0D6H,?C0253?KB_PROCESS
+ 1090: 			{
+ 1091: 				kb_set_multikey(0x0223);
 002886 7F23              MOV     R7,#023H
 002888 7E02              MOV     R6,#02H
 00288A 122667            LCALL   _kb_set_multikey
- 1082: 			}
-00288D 2167              AJMP    ?C0238?KB_PROCESS
-00288F         ?C0271?KB_PROCESS:
- 1083: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+ 1092: 			}
+00288D 2167              AJMP    ?C0220?KB_PROCESS
+00288F         ?C0253?KB_PROCESS:
+ 1093: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
 00288F 904EDE            MOV     DPTR,#pEvt
 002892 E0                MOVX    A,@DPTR
 002893 FB                MOV     R3,A
@@ -7351,26 +7351,26 @@
 0028A7 FA                MOV     R2,A
 0028A8 1203B6            LCALL   ?C?CLDPTR
 0028AB FB                MOV     R3,A
-0028AC B4D707            CJNE    A,#0D7H,?C0273?KB_PROCESS
- 1084: 			{
- 1085: 				kb_set_multikey(0x0070);
+0028AC B4D707            CJNE    A,#0D7H,?C0255?KB_PROCESS
+ 1094: 			{
+ 1095: 				kb_set_multikey(0x0070);
 0028AF 7F70              MOV     R7,#070H
 0028B1 122667            LCALL   _kb_set_multikey
- 1086: 			}
-0028B4 2167              AJMP    ?C0238?KB_PROCESS
-0028B6         ?C0273?KB_PROCESS:
- 1087: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+ 1096: 			}
+0028B4 2167              AJMP    ?C0220?KB_PROCESS
+0028B6         ?C0255?KB_PROCESS:
+ 1097: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
 0028B6 EB                MOV     A,R3
-0028B7 B4D809            CJNE    A,#0D8H,?C0275?KB_PROCESS
- 1088: 			{
- 1089: 				kb_set_multikey(0x006f);
+0028B7 B4D809            CJNE    A,#0D8H,?C0257?KB_PROCESS
+ 1098: 			{
+ 1099: 				kb_set_multikey(0x006f);
 0028BA 7F6F              MOV     R7,#06FH
 0028BC 7E00              MOV     R6,#00H
 0028BE 122667            LCALL   _kb_set_multikey
- 1090: 			}	
-0028C1 2167              AJMP    ?C0238?KB_PROCESS
-0028C3         ?C0275?KB_PROCESS:
- 1091: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
+ 1100: 			}	
+0028C1 2167              AJMP    ?C0220?KB_PROCESS
+0028C3         ?C0257?KB_PROCESS:
+ 1101: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
 0028C3 904EDE            MOV     DPTR,#pEvt
 0028C6 E0                MOVX    A,@DPTR
 0028C7 FB                MOV     R3,A
@@ -7394,26 +7394,26 @@
 0028DB FA                MOV     R2,A
 0028DC 1203B6            LCALL   ?C?CLDPTR
 0028DF FB                MOV     R3,A
-0028E0 B4D907            CJNE    A,#0D9H,?C0277?KB_PROCESS
- 1092: 		      	{
- 1093: 		        	kb_set_multikey(0x00b8);
+0028E0 B4D907            CJNE    A,#0D9H,?C0259?KB_PROCESS
+ 1102: 		      	{
+ 1103: 		        	kb_set_multikey(0x00b8);
 0028E3 7FB8              MOV     R7,#0B8H
 0028E5 122667            LCALL   _kb_set_multikey
- 1094: 		      	}
-0028E8 807D              SJMP    ?C0238?KB_PROCESS
-0028EA         ?C0277?KB_PROCESS:
- 1095: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
+ 1104: 		      	}
+0028E8 807D              SJMP    ?C0220?KB_PROCESS
+0028EA         ?C0259?KB_PROCESS:
+ 1105: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
 0028EA EB                MOV     A,R3
-0028EB B4DA09            CJNE    A,#0DAH,?C0279?KB_PROCESS
- 1096: 		      	{
- 1097: 		        	kb_set_multikey(0x0030);
+0028EB B4DA09            CJNE    A,#0DAH,?C0261?KB_PROCESS
+ 1106: 		      	{
+ 1107: 		        	kb_set_multikey(0x0030);
 0028EE 7F30              MOV     R7,#030H
 0028F0 7E00              MOV     R6,#00H
 0028F2 122667            LCALL   _kb_set_multikey
- 1098: 		      	}	
-0028F5 8070              SJMP    ?C0238?KB_PROCESS
-0028F7         ?C0279?KB_PROCESS:
- 1099: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
+ 1108: 		      	}	
+0028F5 8070              SJMP    ?C0220?KB_PROCESS
+0028F7         ?C0261?KB_PROCESS:
+ 1109: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
 0028F7 904EDE            MOV     DPTR,#pEvt
 0028FA E0                MOVX    A,@DPTR
 0028FB FB                MOV     R3,A
@@ -7437,27 +7437,27 @@
 00290F FA                MOV     R2,A
 002910 1203B6            LCALL   ?C?CLDPTR
 002913 FB                MOV     R3,A
-002914 B4DB09            CJNE    A,#0DBH,?C0281?KB_PROCESS
- 1100: 		      	{
- 1101: 		        	kb_set_multikey(0x0306);
+002914 B4DB09            CJNE    A,#0DBH,?C0263?KB_PROCESS
+ 1110: 		      	{
+ 1111: 		        	kb_set_multikey(0x0306);
 002917 7F06              MOV     R7,#06H
 002919 7E03              MOV     R6,#03H
 00291B 122667            LCALL   _kb_set_multikey
- 1102: 		      	}
-00291E 8047              SJMP    ?C0238?KB_PROCESS
-002920         ?C0281?KB_PROCESS:
- 1103: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
+ 1112: 		      	}
+00291E 8047              SJMP    ?C0220?KB_PROCESS
+002920         ?C0263?KB_PROCESS:
+ 1113: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
 002920 EB                MOV     A,R3
-002921 B4DC09            CJNE    A,#0DCH,?C0283?KB_PROCESS
- 1104: 		      	{
- 1105: 		        	kb_set_multikey(0x0307);
+002921 B4DC09            CJNE    A,#0DCH,?C0265?KB_PROCESS
+ 1114: 		      	{
+ 1115: 		        	kb_set_multikey(0x0307);
 002924 7F07              MOV     R7,#07H
 002926 7E03              MOV     R6,#03H
 002928 122667            LCALL   _kb_set_multikey
- 1106: 		      	}
-00292B 803A              SJMP    ?C0238?KB_PROCESS
-00292D         ?C0283?KB_PROCESS:
- 1107: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
+ 1116: 		      	}
+00292B 803A              SJMP    ?C0220?KB_PROCESS
+00292D         ?C0265?KB_PROCESS:
+ 1117: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
 00292D 904EDE            MOV     DPTR,#pEvt
 002930 E0                MOVX    A,@DPTR
 002931 FB                MOV     R3,A
@@ -7481,40 +7481,40 @@
 002945 FA                MOV     R2,A
 002946 1203B6            LCALL   ?C?CLDPTR
 002949 FE                MOV     R6,A
-00294A B4DD06            CJNE    A,#0DDH,?C0285?KB_PROCESS
- 1108: 		      	{
- 1109: 		        	kb_set_systemkey(0x01);
+00294A B4DD06            CJNE    A,#0DDH,?C0267?KB_PROCESS
+ 1118: 		      	{
+ 1119: 		        	kb_set_systemkey(0x01);
 00294D 7F01              MOV     R7,#01H
 00294F 319C              ACALL   _kb_set_systemkey
- 1110: 		      	}
-002951 8014              SJMP    ?C0238?KB_PROCESS
-002953         ?C0285?KB_PROCESS:
- 1111: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
+ 1120: 		      	}
+002951 8014              SJMP    ?C0220?KB_PROCESS
+002953         ?C0267?KB_PROCESS:
+ 1121: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
 002953 EE                MOV     A,R6
-002954 B4DE06            CJNE    A,#0DEH,?C0287?KB_PROCESS
- 1112: 		      	{
- 1113: 		        	kb_set_systemkey(0x02);
+002954 B4DE06            CJNE    A,#0DEH,?C0269?KB_PROCESS
+ 1122: 		      	{
+ 1123: 		        	kb_set_systemkey(0x02);
 002957 7F02              MOV     R7,#02H
 002959 319C              ACALL   _kb_set_systemkey
- 1114: 		      	}
-00295B 800A              SJMP    ?C0238?KB_PROCESS
-00295D         ?C0287?KB_PROCESS:
- 1115: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
+ 1124: 		      	}
+00295B 800A              SJMP    ?C0220?KB_PROCESS
+00295D         ?C0269?KB_PROCESS:
+ 1125: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
 00295D 1203B6            LCALL   ?C?CLDPTR
-002960 B4DF04            CJNE    A,#0DFH,?C0238?KB_PROCESS
- 1116: 		      	{
- 1117: 		        	kb_set_systemkey(0x04);
+002960 B4DF04            CJNE    A,#0DFH,?C0220?KB_PROCESS
+ 1126: 		      	{
+ 1127: 		        	kb_set_systemkey(0x04);
 002963 7F04              MOV     R7,#04H
 002965 319C              ACALL   _kb_set_systemkey
- 1118: 		      	}
-002967         ?C0238?KB_PROCESS:
- 1119: 			
- 1120: 			if(mult_key_status == KEY_WAIT_RELEASE)
+ 1128: 		      	}
+002967         ?C0220?KB_PROCESS:
+ 1129: 			
+ 1130: 			if(mult_key_status == KEY_WAIT_RELEASE)
 002967 904E51            MOV     DPTR,#mult_key_status
 00296A E0                MOVX    A,@DPTR
-00296B B40224            CJNE    A,#02H,?C0234?KB_PROCESS
- 1121: 			{
- 1122: 				mult_key_value = pEvt->ksPool[i];
+00296B B40224            CJNE    A,#02H,?C0216?KB_PROCESS
+ 1131: 			{
+ 1132: 				mult_key_value = pEvt->ksPool[i];
 00296E 904EDE            MOV     DPTR,#pEvt
 002971 E0                MOVX    A,@DPTR
 002972 FB                MOV     R3,A
@@ -7539,20 +7539,20 @@
 002987 1203B6            LCALL   ?C?CLDPTR
 00298A 904DF2            MOV     DPTR,#mult_key_value
 00298D F0                MOVX    @DPTR,A
- 1123: 				pEvt->ksPool[i] = 0;
+ 1133: 				pEvt->ksPool[i] = 0;
 00298E E4                CLR     A
 00298F 1203FC            LCALL   ?C?CSTPTR
- 1124: 			}
- 1125: 		}
- 1126: 	}
-002992         ?C0234?KB_PROCESS:
+ 1134: 			}
+ 1135: 		}
+ 1136: 	}
+002992         ?C0216?KB_PROCESS:
 002992 904EE1            MOV     DPTR,#i
 002995 E0                MOVX    A,@DPTR
 002996 04                INC     A
 002997 F0                MOVX    @DPTR,A
-002998 022691            LJMP    ?C0232?KB_PROCESS
- 1127: }
-00299B         ?C0291?KB_PROCESS:
+002998 022691            LJMP    ?C0214?KB_PROCESS
+ 1137: }
+00299B         ?C0273?KB_PROCESS:
 00299B 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
@@ -9543,694 +9543,641 @@
   783: */
   784: 
   785: 	if(temp == HID_KEY_TILDE)
-003127 BF3512            CJNE    R7,#035H,?C0152?KB_PROCESS
+003127 BF350F            CJNE    R7,#035H,?C0152?KB_PROCESS
   786: 	{
   787: 		if(g_variable.system_mode == OSMODE_IOS)
 00312A 904CC1            MOV     DPTR,#g_variable+02H
 00312D E0                MOVX    A,@DPTR
-00312E 6402              XRL     A,#02H
-003130 6002              JZ      $ + 4H
-003132 21DA              AJMP    ?C0154?KB_PROCESS
+00312E B4021C            CJNE    A,#02H,?C0154?KB_PROCESS
   788: 		{
   789: 			temp = HID_KEY_K45;
-003134 904F09            MOV     DPTR,#temp
-003137 7464              MOV     A,#064H
-003139 F0                MOVX    @DPTR,A
+003131 904F09            MOV     DPTR,#temp
+003134 7464              MOV     A,#064H
+003136 F0                MOVX    @DPTR,A
   790: 		}
   791: 	}
-00313A 21DA              AJMP    ?C0154?KB_PROCESS
-00313C         ?C0152?KB_PROCESS:
+003137 8014              SJMP    ?C0154?KB_PROCESS
+003139         ?C0152?KB_PROCESS:
   792: 	else if(temp == HID_KEY_K45)
-00313C 904F09            MOV     DPTR,#temp
-00313F E0                MOVX    A,@DPTR
-003140 FF                MOV     R7,A
-003141 B46412            CJNE    A,#064H,?C0155?KB_PROCESS
+003139 904F09            MOV     DPTR,#temp
+00313C E0                MOVX    A,@DPTR
+00313D B4640D            CJNE    A,#064H,?C0154?KB_PROCESS
   793: 	{
   794: 		if(g_variable.system_mode == OSMODE_IOS)
-003144 904CC1            MOV     DPTR,#g_variable+02H
-003147 E0                MOVX    A,@DPTR
-003148 6402              XRL     A,#02H
-00314A 6002              JZ      $ + 4H
-00314C 21DA              AJMP    ?C0154?KB_PROCESS
+003140 904CC1            MOV     DPTR,#g_variable+02H
+003143 E0                MOVX    A,@DPTR
+003144 B40206            CJNE    A,#02H,?C0154?KB_PROCESS
   795: 		{
   796: 			temp = HID_KEY_TILDE;
-00314E 904F09            MOV     DPTR,#temp
-003151 7435              MOV     A,#035H
-003153 F0                MOVX    @DPTR,A
+003147 904F09            MOV     DPTR,#temp
+00314A 7435              MOV     A,#035H
+00314C F0                MOVX    @DPTR,A
   797: 		}
   798: 	}
-003154 21DA              AJMP    ?C0154?KB_PROCESS
-003156         ?C0155?KB_PROCESS:
-  799: 	else if(temp == HID_KEY_QUOTE)
-003156 EF                MOV     A,R7
-003157 B4341C            CJNE    A,#034H,?C0158?KB_PROCESS
-  800: 	{
-  801: 		if(g_variable.system_mode == OSMODE_IOS)
-00315A 904CC1            MOV     DPTR,#g_variable+02H
-00315D E0                MOVX    A,@DPTR
-00315E 6402              XRL     A,#02H
-003160 7078              JNZ     ?C0154?KB_PROCESS
-  802: 		{
-  803: 			if(shift_l_flag || shift_r_flag)
-003162 904DEE            MOV     DPTR,#shift_l_flag
-003165 E0                MOVX    A,@DPTR
-003166 7006              JNZ     ?C0161?KB_PROCESS
-003168 904DF1            MOV     DPTR,#shift_r_flag
-00316B E0                MOVX    A,@DPTR
-00316C 606C              JZ      ?C0154?KB_PROCESS
-00316E         ?C0161?KB_PROCESS:
-  804: 				temp = HID_KEY_2;
-00316E 904F09            MOV     DPTR,#temp
-003171 741F              MOV     A,#01FH
-003173 F0                MOVX    @DPTR,A
-  805: 		}
-  806: 	}
-003174 8064              SJMP    ?C0154?KB_PROCESS
-003176         ?C0158?KB_PROCESS:
-  807: 	else if(temp == HID_KEY_BACK_SLASH)
-003176 904F09            MOV     DPTR,#temp
-003179 E0                MOVX    A,@DPTR
-00317A FF                MOV     R7,A
-00317B B4311C            CJNE    A,#031H,?C0163?KB_PROCESS
-  808: 	{
-  809: 		if(g_variable.system_mode == OSMODE_IOS)
-00317E 904CC1            MOV     DPTR,#g_variable+02H
-003181 E0                MOVX    A,@DPTR
-003182 6402              XRL     A,#02H
-003184 7054              JNZ     ?C0154?KB_PROCESS
-  810: 		{
-  811: 			if(shift_l_flag || shift_r_flag)
-003186 904DEE            MOV     DPTR,#shift_l_flag
-003189 E0                MOVX    A,@DPTR
-00318A 7006              JNZ     ?C0166?KB_PROCESS
-00318C 904DF1            MOV     DPTR,#shift_r_flag
-00318F E0                MOVX    A,@DPTR
-003190 6048              JZ      ?C0154?KB_PROCESS
-003192         ?C0166?KB_PROCESS:
-  812: 				temp = HID_KEY_TILDE;
-003192 904F09            MOV     DPTR,#temp
-003195 7435              MOV     A,#035H
-003197 F0                MOVX    @DPTR,A
-  813: 		}	
-  814: 	}
-003198 8040              SJMP    ?C0154?KB_PROCESS
-00319A         ?C0163?KB_PROCESS:
-  815: 	else if(temp == HID_KEY_2)
-00319A EF                MOV     A,R7
-00319B B41F1C            CJNE    A,#01FH,?C0168?KB_PROCESS
-  816: 	{
-  817: 		if(g_variable.system_mode == OSMODE_IOS)
-00319E 904CC1            MOV     DPTR,#g_variable+02H
-0031A1 E0                MOVX    A,@DPTR
-0031A2 6402              XRL     A,#02H
-0031A4 7034              JNZ     ?C0154?KB_PROCESS
-  818: 		{
-  819: 			if(shift_l_flag || shift_r_flag)
-0031A6 904DEE            MOV     DPTR,#shift_l_flag
-0031A9 E0                MOVX    A,@DPTR
-0031AA 7006              JNZ     ?C0171?KB_PROCESS
-0031AC 904DF1            MOV     DPTR,#shift_r_flag
-0031AF E0                MOVX    A,@DPTR
-0031B0 6028              JZ      ?C0154?KB_PROCESS
-0031B2         ?C0171?KB_PROCESS:
-  820: 				temp = HID_KEY_QUOTE;
-0031B2 904F09            MOV     DPTR,#temp
-0031B5 7434              MOV     A,#034H
-0031B7 F0                MOVX    @DPTR,A
-  821: 		}		
-  822: 	}
-0031B8 8020              SJMP    ?C0154?KB_PROCESS
-0031BA         ?C0168?KB_PROCESS:
-  823: 	else if(temp == HID_KEY_4)
-0031BA 904F09            MOV     DPTR,#temp
-0031BD E0                MOVX    A,@DPTR
-0031BE B42119            CJNE    A,#021H,?C0154?KB_PROCESS
-  824: 	{
-  825: 		if(g_variable.system_mode == OSMODE_IOS)
-0031C1 904CC1            MOV     DPTR,#g_variable+02H
-0031C4 E0                MOVX    A,@DPTR
-0031C5 B40212            CJNE    A,#02H,?C0154?KB_PROCESS
-  826: 		{
-  827: 			if(alt_l_flag || alt_r_flag)
-0031C8 904DD3            MOV     DPTR,#alt_l_flag
-0031CB E0                MOVX    A,@DPTR
-0031CC 7006              JNZ     ?C0176?KB_PROCESS
-0031CE 904DD4            MOV     DPTR,#alt_r_flag
-0031D1 E0                MOVX    A,@DPTR
-0031D2 6006              JZ      ?C0154?KB_PROCESS
-0031D4         ?C0176?KB_PROCESS:
-  828: 				temp = HID_KEY_2;
-0031D4 904F09            MOV     DPTR,#temp
-0031D7 741F              MOV     A,#01FH
-0031D9 F0                MOVX    @DPTR,A
-  829: 		}		
-  830: 	}
-0031DA         ?C0154?KB_PROCESS:
-  831: 
-  832: 	
-  833: 	if(g_variable.system_mode == OSMODE_IOS)
-0031DA 904CC1            MOV     DPTR,#g_variable+02H
-0031DD E0                MOVX    A,@DPTR
-0031DE 6402              XRL     A,#02H
-0031E0 6002              JZ      $ + 4H
-0031E2 416F              AJMP    ?C0177?KB_PROCESS
-  834: 	{
-  835: 		if(key_value == HID_KEY_LEFT_GUI)
-0031E4 EC                MOV     A,R4
-0031E5 B4E308            CJNE    A,#0E3H,?C0178?KB_PROCESS
-  836: 			temp = HID_KEY_LEFT_ALT;
-0031E8 904F09            MOV     DPTR,#temp
-0031EB 74E2              MOV     A,#0E2H
-0031ED F0                MOVX    @DPTR,A
-0031EE 807F              SJMP    ?C0177?KB_PROCESS
-0031F0         ?C0178?KB_PROCESS:
-  837: 		else if(key_value == HID_KEY_LEFT_ALT)
-0031F0 EC                MOV     A,R4
-0031F1 B4E208            CJNE    A,#0E2H,?C0180?KB_PROCESS
-  838: 			temp = HID_KEY_LEFT_GUI;
-0031F4 904F09            MOV     DPTR,#temp
-0031F7 74E3              MOV     A,#0E3H
-0031F9 F0                MOVX    @DPTR,A
-0031FA 8073              SJMP    ?C0177?KB_PROCESS
-0031FC         ?C0180?KB_PROCESS:
-  839: 		else if(key_value == HID_KEY_RIGHT_ALT)
-0031FC EC                MOV     A,R4
-0031FD B4E608            CJNE    A,#0E6H,?C0182?KB_PROCESS
-  840: 			temp = HID_KEY_RIGHT_GUI;	
-003200 904F09            MOV     DPTR,#temp
-003203 74E7              MOV     A,#0E7H
-003205 F0                MOVX    @DPTR,A
-003206 8067              SJMP    ?C0177?KB_PROCESS
-003208         ?C0182?KB_PROCESS:
-  841: 		else if(key_value == HID_KEY_PAGE_UP)
-003208 EC                MOV     A,R4
-003209 B44B0F            CJNE    A,#04BH,?C0184?KB_PROCESS
-  842: 		{
-  843: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_UP_ARROW);
-00320C AF06              MOV     R7,AR6
-00320E 7B52              MOV     R3,#052H
-003210 7D08              MOV     R5,#08H
-003212 11EA              ACALL   _kb_combination_key_press
-  844: 			temp = HID_KEY_NULL;
-003214 E4                CLR     A
-003215 904F09            MOV     DPTR,#temp
-003218 F0                MOVX    @DPTR,A
-  845: 		}
-003219 8054              SJMP    ?C0177?KB_PROCESS
-00321B         ?C0184?KB_PROCESS:
-  846: 		else if(key_value == HID_KEY_PAGE_DOWN)
-00321B EC                MOV     A,R4
-00321C B44E0F            CJNE    A,#04EH,?C0186?KB_PROCESS
-  847: 		{
-  848: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_DOWN_ARROW);
-00321F AF06              MOV     R7,AR6
-003221 7B51              MOV     R3,#051H
-003223 7D08              MOV     R5,#08H
-003225 11EA              ACALL   _kb_combination_key_press
-  849: 			temp = HID_KEY_NULL;
-003227 E4                CLR     A
-003228 904F09            MOV     DPTR,#temp
-00322B F0                MOVX    @DPTR,A
-  850: 		}
-00322C 8041              SJMP    ?C0177?KB_PROCESS
-00322E         ?C0186?KB_PROCESS:
-  851: 		else if(key_value == HID_KEY_HOME)
-00322E EC                MOV     A,R4
-00322F B44A0F            CJNE    A,#04AH,?C0188?KB_PROCESS
-  852: 		{
-  853: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_LEFT_ARROW);
-003232 AF06              MOV     R7,AR6
-003234 7B50              MOV     R3,#050H
-003236 7D08              MOV     R5,#08H
-003238 11EA              ACALL   _kb_combination_key_press
-  854: 			temp = HID_KEY_NULL;
-00323A E4                CLR     A
-00323B 904F09            MOV     DPTR,#temp
-00323E F0                MOVX    @DPTR,A
-  855: 		}
-00323F 802E              SJMP    ?C0177?KB_PROCESS
-003241         ?C0188?KB_PROCESS:
-  856: 		else if(key_value == HID_KEY_END)
-003241 EC                MOV     A,R4
-003242 B44D0F            CJNE    A,#04DH,?C0190?KB_PROCESS
-  857: 		{
-  858: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_RIGHT_ARROW);
-003245 AF06              MOV     R7,AR6
-003247 7B4F              MOV     R3,#04FH
-003249 7D08              MOV     R5,#08H
-00324B 11EA              ACALL   _kb_combination_key_press
-  859: 			temp = HID_KEY_NULL;
-00324D E4                CLR     A
-00324E 904F09            MOV     DPTR,#temp
-003251 F0                MOVX    @DPTR,A
-  860: 		}
-003252 801B              SJMP    ?C0177?KB_PROCESS
-003254         ?C0190?KB_PROCESS:
-  861: 		else if(key_value == HID_KEY_PRINT_SCREEN)
-003254 EC                MOV     A,R4
-003255 B44617            CJNE    A,#046H,?C0177?KB_PROCESS
-  862: 		{
-  863: 			kb_combination_key_press(state,KS_SEL_LGUI |KS_SEL_LSHIFT,HID_KEY_3);
-003258 AF06              MOV     R7,AR6
-00325A 7B20              MOV     R3,#020H
-00325C 7D0A              MOV     R5,#0AH
-00325E 11EA              ACALL   _kb_combination_key_press
-  864: 			if(state & 1)
-003260 EE                MOV     A,R6
-003261 30E006            JNB     ACC.0,?C0193?KB_PROCESS
-  865: 			{						
-  866: 				g_variable.one_key_press_wait_release_timer = 10;
-003264 904CF8            MOV     DPTR,#g_variable+039H
-003267 740A              MOV     A,#0AH
-003269 F0                MOVX    @DPTR,A
-  867: 			}
-00326A         ?C0193?KB_PROCESS:
-  868: 			temp = HID_KEY_NULL;
-00326A E4                CLR     A
-00326B 904F09            MOV     DPTR,#temp
-00326E F0                MOVX    @DPTR,A
-  869: 		}
-  870: 			
-  871: 	}
-00326F         ?C0177?KB_PROCESS:
-  872: 
+00314D         ?C0154?KB_PROCESS:
+  799: 	/*
+  800: 	else if(temp == HID_KEY_QUOTE)
+  801: 	{
+  802: 		if(g_variable.system_mode == OSMODE_IOS)
+  803: 		{
+  804: 			if(shift_l_flag || shift_r_flag)
+  805: 				temp = HID_KEY_2;
+  806: 		}
+  807: 	}
+  808: 	else if(temp == HID_KEY_BACK_SLASH)
+  809: 	{
+  810: 		if(g_variable.system_mode == OSMODE_IOS)
+  811: 		{
+  812: 			if(shift_l_flag || shift_r_flag)
+  813: 				temp = HID_KEY_TILDE;
+  814: 		}	
+  815: 	}
+  816: 	else if(temp == HID_KEY_2)
+  817: 	{
+  818: 		if(g_variable.system_mode == OSMODE_IOS)
+  819: 		{
+  820: 			if(shift_l_flag || shift_r_flag)
+  821: 				temp = HID_KEY_QUOTE;
+  822: 		}		
+  823: 	}
+  824: 	else if(temp == HID_KEY_4)
+  825: 	{
+  826: 		if(g_variable.system_mode == OSMODE_IOS)
+  827: 		{
+  828: 			if(alt_l_flag || alt_r_flag)
+  829: 				temp = HID_KEY_2;
+  830: 		}		
+  831: 	}
+  832: 	*/
+  833: 	
+  834: 	if(g_variable.system_mode == OSMODE_IOS)
+00314D 904CC1            MOV     DPTR,#g_variable+02H
+003150 E0                MOVX    A,@DPTR
+003151 6402              XRL     A,#02H
+003153 6002              JZ      $ + 4H
+003155 21E2              AJMP    ?C0157?KB_PROCESS
+  835: 	{
+  836: 		if(key_value == HID_KEY_LEFT_GUI)
+003157 EC                MOV     A,R4
+003158 B4E308            CJNE    A,#0E3H,?C0158?KB_PROCESS
+  837: 			temp = HID_KEY_LEFT_ALT;
+00315B 904F09            MOV     DPTR,#temp
+00315E 74E2              MOV     A,#0E2H
+003160 F0                MOVX    @DPTR,A
+003161 807F              SJMP    ?C0157?KB_PROCESS
+003163         ?C0158?KB_PROCESS:
+  838: 		else if(key_value == HID_KEY_LEFT_ALT)
+003163 EC                MOV     A,R4
+003164 B4E208            CJNE    A,#0E2H,?C0160?KB_PROCESS
+  839: 			temp = HID_KEY_LEFT_GUI;
+003167 904F09            MOV     DPTR,#temp
+00316A 74E3              MOV     A,#0E3H
+00316C F0                MOVX    @DPTR,A
+00316D 8073              SJMP    ?C0157?KB_PROCESS
+00316F         ?C0160?KB_PROCESS:
+  840: 		else if(key_value == HID_KEY_RIGHT_ALT)
+00316F EC                MOV     A,R4
+003170 B4E608            CJNE    A,#0E6H,?C0162?KB_PROCESS
+  841: 			temp = HID_KEY_RIGHT_GUI;	
+003173 904F09            MOV     DPTR,#temp
+003176 74E7              MOV     A,#0E7H
+003178 F0                MOVX    @DPTR,A
+003179 8067              SJMP    ?C0157?KB_PROCESS
+00317B         ?C0162?KB_PROCESS:
+  842: 		else if(key_value == HID_KEY_PAGE_UP)
+00317B EC                MOV     A,R4
+00317C B44B0F            CJNE    A,#04BH,?C0164?KB_PROCESS
+  843: 		{
+  844: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_UP_ARROW);
+00317F AF06              MOV     R7,AR6
+003181 7B52              MOV     R3,#052H
+003183 7D08              MOV     R5,#08H
+003185 11EA              ACALL   _kb_combination_key_press
+  845: 			temp = HID_KEY_NULL;
+003187 E4                CLR     A
+003188 904F09            MOV     DPTR,#temp
+00318B F0                MOVX    @DPTR,A
+  846: 		}
+00318C 8054              SJMP    ?C0157?KB_PROCESS
+00318E         ?C0164?KB_PROCESS:
+  847: 		else if(key_value == HID_KEY_PAGE_DOWN)
+00318E EC                MOV     A,R4
+00318F B44E0F            CJNE    A,#04EH,?C0166?KB_PROCESS
+  848: 		{
+  849: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_DOWN_ARROW);
+003192 AF06              MOV     R7,AR6
+003194 7B51              MOV     R3,#051H
+003196 7D08              MOV     R5,#08H
+003198 11EA              ACALL   _kb_combination_key_press
+  850: 			temp = HID_KEY_NULL;
+00319A E4                CLR     A
+00319B 904F09            MOV     DPTR,#temp
+00319E F0                MOVX    @DPTR,A
+  851: 		}
+00319F 8041              SJMP    ?C0157?KB_PROCESS
+0031A1         ?C0166?KB_PROCESS:
+  852: 		else if(key_value == HID_KEY_HOME)
+0031A1 EC                MOV     A,R4
+0031A2 B44A0F            CJNE    A,#04AH,?C0168?KB_PROCESS
+  853: 		{
+  854: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_LEFT_ARROW);
+0031A5 AF06              MOV     R7,AR6
+0031A7 7B50              MOV     R3,#050H
+0031A9 7D08              MOV     R5,#08H
+0031AB 11EA              ACALL   _kb_combination_key_press
+  855: 			temp = HID_KEY_NULL;
+0031AD E4                CLR     A
+0031AE 904F09            MOV     DPTR,#temp
+0031B1 F0                MOVX    @DPTR,A
+  856: 		}
+0031B2 802E              SJMP    ?C0157?KB_PROCESS
+0031B4         ?C0168?KB_PROCESS:
+  857: 		else if(key_value == HID_KEY_END)
+0031B4 EC                MOV     A,R4
+0031B5 B44D0F            CJNE    A,#04DH,?C0170?KB_PROCESS
+  858: 		{
+  859: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_RIGHT_ARROW);
+0031B8 AF06              MOV     R7,AR6
+0031BA 7B4F              MOV     R3,#04FH
+0031BC 7D08              MOV     R5,#08H
+0031BE 11EA              ACALL   _kb_combination_key_press
+  860: 			temp = HID_KEY_NULL;
+0031C0 E4                CLR     A
+0031C1 904F09            MOV     DPTR,#temp
+0031C4 F0                MOVX    @DPTR,A
+  861: 		}
+0031C5 801B              SJMP    ?C0157?KB_PROCESS
+0031C7         ?C0170?KB_PROCESS:
+  862: 		else if(key_value == HID_KEY_PRINT_SCREEN)
+0031C7 EC                MOV     A,R4
+0031C8 B44617            CJNE    A,#046H,?C0157?KB_PROCESS
+  863: 		{
+  864: 			kb_combination_key_press(state,KS_SEL_LGUI |KS_SEL_LSHIFT,HID_KEY_3);
+0031CB AF06              MOV     R7,AR6
+0031CD 7B20              MOV     R3,#020H
+0031CF 7D0A              MOV     R5,#0AH
+0031D1 11EA              ACALL   _kb_combination_key_press
+  865: 			if(state & 1)
+0031D3 EE                MOV     A,R6
+0031D4 30E006            JNB     ACC.0,?C0173?KB_PROCESS
+  866: 			{						
+  867: 				g_variable.one_key_press_wait_release_timer = 10;
+0031D7 904CF8            MOV     DPTR,#g_variable+039H
+0031DA 740A              MOV     A,#0AH
+0031DC F0                MOVX    @DPTR,A
+  868: 			}
+0031DD         ?C0173?KB_PROCESS:
+  869: 			temp = HID_KEY_NULL;
+0031DD E4                CLR     A
+0031DE 904F09            MOV     DPTR,#temp
+0031E1 F0                MOVX    @DPTR,A
+  870: 		}
+  871: 			
+  872: 	}
+0031E2         ?C0157?KB_PROCESS:
   873: 
-  874: 	if(fn_flag == 1)			// Fn lock
-00326F 904DE5            MOV     DPTR,#fn_flag
-003272 E0                MOVX    A,@DPTR
-003273 6401              XRL     A,#01H
-003275 6002              JZ      $ + 4H
-003277 8145              AJMP    ?C0194?KB_PROCESS
-  875: 	{
-  876: 		switch (key_value)
-003279 EC                MOV     A,R4
-00327A 1205B3            LCALL   ?C?CCASE
-00327D 3352              DW      ?C0206?KB_PROCESS
-00327F 08                DB      08H
-003280 32B1              DW      ?C0196?KB_PROCESS
-003282 14                DB      014H
-003283 3303              DW      ?C0201?KB_PROCESS
-003285 1A                DB      01AH
-003286 33A4              DW      ?C0211?KB_PROCESS
-003288 3A                DB      03AH
-003289 33AC              DW      ?C0212?KB_PROCESS
-00328B 3B                DB      03BH
-00328C 33B4              DW      ?C0213?KB_PROCESS
-00328E 3C                DB      03CH
-00328F 33BC              DW      ?C0214?KB_PROCESS
-003291 3D                DB      03DH
-003292 33C4              DW      ?C0215?KB_PROCESS
-003294 3E                DB      03EH
-003295 33CC              DW      ?C0216?KB_PROCESS
-003297 3F                DB      03FH
-003298 33D4              DW      ?C0217?KB_PROCESS
-00329A 40                DB      040H
-00329B 33DC              DW      ?C0218?KB_PROCESS
-00329D 41                DB      041H
-00329E 33E4              DW      ?C0219?KB_PROCESS
-0032A0 42                DB      042H
-0032A1 3404              DW      ?C0222?KB_PROCESS
-0032A3 43                DB      043H
-0032A4 340C              DW      ?C0223?KB_PROCESS
-0032A6 44                DB      044H
-0032A7 3414              DW      ?C0224?KB_PROCESS
-0032A9 45                DB      045H
-0032AA 343F              DW      ?C0229?KB_PROCESS
-0032AC 4C                DB      04CH
-0032AD 0000              DW      00H
-0032AF 3445              DW      ?C0194?KB_PROCESS
-  877: 		{ 	
-  878: 			case HID_KEY_Q:
-0032B1         ?C0196?KB_PROCESS:
-  879: 				if(g_variable.system_mode != OSMODE_ANDROID)
-0032B1 904CC1            MOV     DPTR,#g_variable+02H
-0032B4 E0                MOVX    A,@DPTR
-0032B5 6401              XRL     A,#01H
-0032B7 6039              JZ      ?C0197?KB_PROCESS
-  880: 				{
-  881: 					g_variable.system_mode = OSMODE_ANDROID;
-0032B9 7401              MOV     A,#01H
-0032BB F0                MOVX    @DPTR,A
-  882: 					if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-0032BC 904CC3            MOV     DPTR,#g_variable+04H
-0032BF E0                MOVX    A,@DPTR
-0032C0 FF                MOV     R7,A
-0032C1 D3                SETB    C
-0032C2 9403              SUBB    A,#03H
-0032C4 5026              JNC     ?C0198?KB_PROCESS
-0032C6 EF                MOV     A,R7
-0032C7 C3                CLR     C
-0032C8 9401              SUBB    A,#01H
-0032CA 4020              JC      ?C0198?KB_PROCESS
-  883: 					{
-  884: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-0032CC 904CC1            MOV     DPTR,#g_variable+02H
-0032CF E0                MOVX    A,@DPTR
-0032D0 FF                MOV     R7,A
-0032D1 904CC3            MOV     DPTR,#g_variable+04H
-0032D4 E0                MOVX    A,@DPTR
-0032D5 75F01F            MOV     B,#01FH
-0032D8 A4                MUL     AB
-0032D9 24F2              ADD     A,#LOW bd_key_record_list-02H
-0032DB F582              MOV     DPL,A
-0032DD E4                CLR     A
-0032DE 344D              ADDC    A,#HIGH bd_key_record_list-02H
-0032E0 F583              MOV     DPH,A
-0032E2 EF                MOV     A,R7
-0032E3 F0                MOVX    @DPTR,A
-  885: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-0032E4 904CBF            MOV     DPTR,#g_variable
-0032E7 7403              MOV     A,#03H
-0032E9 F0                MOVX    @DPTR,A
-  886: 					}
-0032EA 8006              SJMP    ?C0197?KB_PROCESS
-0032EC         ?C0198?KB_PROCESS:
-  887: 					else
-  888: 					{
-  889: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-0032EC 904CBF            MOV     DPTR,#g_variable
-0032EF 7402              MOV     A,#02H
-0032F1 F0                MOVX    @DPTR,A
-  890: 					}
-  891: 				}
-0032F2         ?C0197?KB_PROCESS:
-  892: 				if(state & 1)
-0032F2 EE                MOV     A,R6
-0032F3 30E006            JNB     ACC.0,?C0200?KB_PROCESS
-  893: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
-0032F6 904CE8            MOV     DPTR,#g_variable+029H
-0032F9 740C              MOV     A,#0CH
-0032FB F0                MOVX    @DPTR,A
-0032FC         ?C0200?KB_PROCESS:
-  894: 				
-  895: 				temp = HID_KEY_NULL;
-0032FC E4                CLR     A
-0032FD 904F09            MOV     DPTR,#temp
-003300 F0                MOVX    @DPTR,A
-  896: 				break;
-003301 8145              AJMP    ?C0194?KB_PROCESS
-  897: 			case HID_KEY_W:
-003303         ?C0201?KB_PROCESS:
-  898: 				if(g_variable.system_mode != OSMODE_WINDOWS)
-003303 904CC1            MOV     DPTR,#g_variable+02H
-003306 E0                MOVX    A,@DPTR
-003307 6038              JZ      ?C0202?KB_PROCESS
-  899: 				{
-  900: 					g_variable.system_mode = OSMODE_WINDOWS;
-003309 E4                CLR     A
-00330A F0                MOVX    @DPTR,A
-  901: 					if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-00330B 904CC3            MOV     DPTR,#g_variable+04H
-00330E E0                MOVX    A,@DPTR
-00330F FF                MOV     R7,A
-003310 D3                SETB    C
-003311 9403              SUBB    A,#03H
-003313 5026              JNC     ?C0203?KB_PROCESS
-003315 EF                MOV     A,R7
-003316 C3                CLR     C
-003317 9401              SUBB    A,#01H
-003319 4020              JC      ?C0203?KB_PROCESS
-  902: 					{
-  903: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-00331B 904CC1            MOV     DPTR,#g_variable+02H
-00331E E0                MOVX    A,@DPTR
-00331F FF                MOV     R7,A
-003320 904CC3            MOV     DPTR,#g_variable+04H
-003323 E0                MOVX    A,@DPTR
-003324 75F01F            MOV     B,#01FH
-003327 A4                MUL     AB
-003328 24F2              ADD     A,#LOW bd_key_record_list-02H
-00332A F582              MOV     DPL,A
-00332C E4                CLR     A
-00332D 344D              ADDC    A,#HIGH bd_key_record_list-02H
-00332F F583              MOV     DPH,A
-003331 EF                MOV     A,R7
-003332 F0                MOVX    @DPTR,A
-  904: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-003333 904CBF            MOV     DPTR,#g_variable
-003336 7403              MOV     A,#03H
-003338 F0                MOVX    @DPTR,A
-  905: 					}
-003339 8006              SJMP    ?C0202?KB_PROCESS
-00333B         ?C0203?KB_PROCESS:
-  906: 					else
-  907: 					{
-  908: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-00333B 904CBF            MOV     DPTR,#g_variable
-00333E 7402              MOV     A,#02H
-003340 F0                MOVX    @DPTR,A
-  909: 					}
-  910: 				}
-003341         ?C0202?KB_PROCESS:
-  911: 				if(state & 1)
-003341 EE                MOV     A,R6
-003342 30E006            JNB     ACC.0,?C0205?KB_PROCESS
-  912: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
-003345 904CE8            MOV     DPTR,#g_variable+029H
-003348 740C              MOV     A,#0CH
-00334A F0                MOVX    @DPTR,A
-00334B         ?C0205?KB_PROCESS:
-  913: 				
-  914: 				temp = HID_KEY_NULL;
-00334B E4                CLR     A
-00334C 904F09            MOV     DPTR,#temp
-00334F F0                MOVX    @DPTR,A
-  915: 				break;
-003350 8145              AJMP    ?C0194?KB_PROCESS
-  916: 			case HID_KEY_E:
-003352         ?C0206?KB_PROCESS:
-  917: 				if(g_variable.system_mode != OSMODE_IOS)
-003352 904CC1            MOV     DPTR,#g_variable+02H
-003355 E0                MOVX    A,@DPTR
-003356 6402              XRL     A,#02H
-003358 6039              JZ      ?C0207?KB_PROCESS
-  918: 				{
-  919: 					g_variable.system_mode = OSMODE_IOS;
-00335A 7402              MOV     A,#02H
-00335C F0                MOVX    @DPTR,A
-  920: 					if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-00335D 904CC3            MOV     DPTR,#g_variable+04H
-003360 E0                MOVX    A,@DPTR
-003361 FF                MOV     R7,A
-003362 D3                SETB    C
-003363 9403              SUBB    A,#03H
-003365 5026              JNC     ?C0208?KB_PROCESS
-003367 EF                MOV     A,R7
-003368 C3                CLR     C
-003369 9401              SUBB    A,#01H
-00336B 4020              JC      ?C0208?KB_PROCESS
-  921: 					{
-  922: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-00336D 904CC1            MOV     DPTR,#g_variable+02H
-003370 E0                MOVX    A,@DPTR
-003371 FF                MOV     R7,A
-003372 904CC3            MOV     DPTR,#g_variable+04H
-003375 E0                MOVX    A,@DPTR
-003376 75F01F            MOV     B,#01FH
-003379 A4                MUL     AB
-00337A 24F2              ADD     A,#LOW bd_key_record_list-02H
-00337C F582              MOV     DPL,A
-00337E E4                CLR     A
-00337F 344D              ADDC    A,#HIGH bd_key_record_list-02H
-003381 F583              MOV     DPH,A
-003383 EF                MOV     A,R7
-003384 F0                MOVX    @DPTR,A
-  923: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-003385 904CBF            MOV     DPTR,#g_variable
-003388 7403              MOV     A,#03H
+  874: 
+  875: 	if(fn_flag == 1)			// Fn lock
+0031E2 904DE5            MOV     DPTR,#fn_flag
+0031E5 E0                MOVX    A,@DPTR
+0031E6 6401              XRL     A,#01H
+0031E8 6002              JZ      $ + 4H
+0031EA 61D5              AJMP    ?C0174?KB_PROCESS
+  876: 	{
+  877: 		switch (key_value)
+0031EC EC                MOV     A,R4
+0031ED 1205B3            LCALL   ?C?CCASE
+0031F0 32C5              DW      ?C0186?KB_PROCESS
+0031F2 08                DB      08H
+0031F3 3224              DW      ?C0176?KB_PROCESS
+0031F5 14                DB      014H
+0031F6 3276              DW      ?C0181?KB_PROCESS
+0031F8 1A                DB      01AH
+0031F9 3317              DW      ?C0191?KB_PROCESS
+0031FB 3A                DB      03AH
+0031FC 331F              DW      ?C0192?KB_PROCESS
+0031FE 3B                DB      03BH
+0031FF 3327              DW      ?C0193?KB_PROCESS
+003201 3C                DB      03CH
+003202 332F              DW      ?C0194?KB_PROCESS
+003204 3D                DB      03DH
+003205 3337              DW      ?C0195?KB_PROCESS
+003207 3E                DB      03EH
+003208 333F              DW      ?C0196?KB_PROCESS
+00320A 3F                DB      03FH
+00320B 3347              DW      ?C0197?KB_PROCESS
+00320D 40                DB      040H
+00320E 334F              DW      ?C0198?KB_PROCESS
+003210 41                DB      041H
+003211 3357              DW      ?C0199?KB_PROCESS
+003213 42                DB      042H
+003214 3377              DW      ?C0202?KB_PROCESS
+003216 43                DB      043H
+003217 3395              DW      ?C0205?KB_PROCESS
+003219 44                DB      044H
+00321A 339D              DW      ?C0206?KB_PROCESS
+00321C 45                DB      045H
+00321D 33CF              DW      ?C0211?KB_PROCESS
+00321F 4C                DB      04CH
+003220 0000              DW      00H
+003222 33D5              DW      ?C0174?KB_PROCESS
+  878: 		{ 	
+  879: 			case HID_KEY_Q:
+003224         ?C0176?KB_PROCESS:
+  880: 				if(g_variable.system_mode != OSMODE_ANDROID)
+003224 904CC1            MOV     DPTR,#g_variable+02H
+003227 E0                MOVX    A,@DPTR
+003228 6401              XRL     A,#01H
+00322A 6039              JZ      ?C0177?KB_PROCESS
+  881: 				{
+  882: 					g_variable.system_mode = OSMODE_ANDROID;
+00322C 7401              MOV     A,#01H
+00322E F0                MOVX    @DPTR,A
+  883: 					if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+00322F 904CC3            MOV     DPTR,#g_variable+04H
+003232 E0                MOVX    A,@DPTR
+003233 FF                MOV     R7,A
+003234 D3                SETB    C
+003235 9403              SUBB    A,#03H
+003237 5026              JNC     ?C0178?KB_PROCESS
+003239 EF                MOV     A,R7
+00323A C3                CLR     C
+00323B 9401              SUBB    A,#01H
+00323D 4020              JC      ?C0178?KB_PROCESS
+  884: 					{
+  885: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+00323F 904CC1            MOV     DPTR,#g_variable+02H
+003242 E0                MOVX    A,@DPTR
+003243 FF                MOV     R7,A
+003244 904CC3            MOV     DPTR,#g_variable+04H
+003247 E0                MOVX    A,@DPTR
+003248 75F01F            MOV     B,#01FH
+00324B A4                MUL     AB
+00324C 24F2              ADD     A,#LOW bd_key_record_list-02H
+00324E F582              MOV     DPL,A
+003250 E4                CLR     A
+003251 344D              ADDC    A,#HIGH bd_key_record_list-02H
+003253 F583              MOV     DPH,A
+003255 EF                MOV     A,R7
+003256 F0                MOVX    @DPTR,A
+  886: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+003257 904CBF            MOV     DPTR,#g_variable
+00325A 7403              MOV     A,#03H
+00325C F0                MOVX    @DPTR,A
+  887: 					}
+00325D 8006              SJMP    ?C0177?KB_PROCESS
+00325F         ?C0178?KB_PROCESS:
+  888: 					else
+  889: 					{
+  890: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+00325F 904CBF            MOV     DPTR,#g_variable
+003262 7402              MOV     A,#02H
+003264 F0                MOVX    @DPTR,A
+  891: 					}
+  892: 				}
+003265         ?C0177?KB_PROCESS:
+  893: 				if(state & 1)
+003265 EE                MOV     A,R6
+003266 30E006            JNB     ACC.0,?C0180?KB_PROCESS
+  894: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
+003269 904CE8            MOV     DPTR,#g_variable+029H
+00326C 740C              MOV     A,#0CH
+00326E F0                MOVX    @DPTR,A
+00326F         ?C0180?KB_PROCESS:
+  895: 				
+  896: 				temp = HID_KEY_NULL;
+00326F E4                CLR     A
+003270 904F09            MOV     DPTR,#temp
+003273 F0                MOVX    @DPTR,A
+  897: 				break;
+003274 61D5              AJMP    ?C0174?KB_PROCESS
+  898: 			case HID_KEY_W:
+003276         ?C0181?KB_PROCESS:
+  899: 				if(g_variable.system_mode != OSMODE_WINDOWS)
+003276 904CC1            MOV     DPTR,#g_variable+02H
+003279 E0                MOVX    A,@DPTR
+00327A 6038              JZ      ?C0182?KB_PROCESS
+  900: 				{
+  901: 					g_variable.system_mode = OSMODE_WINDOWS;
+00327C E4                CLR     A
+00327D F0                MOVX    @DPTR,A
+  902: 					if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+00327E 904CC3            MOV     DPTR,#g_variable+04H
+003281 E0                MOVX    A,@DPTR
+003282 FF                MOV     R7,A
+003283 D3                SETB    C
+003284 9403              SUBB    A,#03H
+003286 5026              JNC     ?C0183?KB_PROCESS
+003288 EF                MOV     A,R7
+003289 C3                CLR     C
+00328A 9401              SUBB    A,#01H
+00328C 4020              JC      ?C0183?KB_PROCESS
+  903: 					{
+  904: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+00328E 904CC1            MOV     DPTR,#g_variable+02H
+003291 E0                MOVX    A,@DPTR
+003292 FF                MOV     R7,A
+003293 904CC3            MOV     DPTR,#g_variable+04H
+003296 E0                MOVX    A,@DPTR
+003297 75F01F            MOV     B,#01FH
+00329A A4                MUL     AB
+00329B 24F2              ADD     A,#LOW bd_key_record_list-02H
+00329D F582              MOV     DPL,A
+00329F E4                CLR     A
+0032A0 344D              ADDC    A,#HIGH bd_key_record_list-02H
+0032A2 F583              MOV     DPH,A
+0032A4 EF                MOV     A,R7
+0032A5 F0                MOVX    @DPTR,A
+  905: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+0032A6 904CBF            MOV     DPTR,#g_variable
+0032A9 7403              MOV     A,#03H
+0032AB F0                MOVX    @DPTR,A
+  906: 					}
+0032AC 8006              SJMP    ?C0182?KB_PROCESS
+0032AE         ?C0183?KB_PROCESS:
+  907: 					else
+  908: 					{
+  909: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+0032AE 904CBF            MOV     DPTR,#g_variable
+0032B1 7402              MOV     A,#02H
+0032B3 F0                MOVX    @DPTR,A
+  910: 					}
+  911: 				}
+0032B4         ?C0182?KB_PROCESS:
+  912: 				if(state & 1)
+0032B4 EE                MOV     A,R6
+0032B5 30E006            JNB     ACC.0,?C0185?KB_PROCESS
+  913: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
+0032B8 904CE8            MOV     DPTR,#g_variable+029H
+0032BB 740C              MOV     A,#0CH
+0032BD F0                MOVX    @DPTR,A
+0032BE         ?C0185?KB_PROCESS:
+  914: 				
+  915: 				temp = HID_KEY_NULL;
+0032BE E4                CLR     A
+0032BF 904F09            MOV     DPTR,#temp
+0032C2 F0                MOVX    @DPTR,A
+  916: 				break;
+0032C3 61D5              AJMP    ?C0174?KB_PROCESS
+  917: 			case HID_KEY_E:
+0032C5         ?C0186?KB_PROCESS:
+  918: 				if(g_variable.system_mode != OSMODE_IOS)
+0032C5 904CC1            MOV     DPTR,#g_variable+02H
+0032C8 E0                MOVX    A,@DPTR
+0032C9 6402              XRL     A,#02H
+0032CB 6039              JZ      ?C0187?KB_PROCESS
+  919: 				{
+  920: 					g_variable.system_mode = OSMODE_IOS;
+0032CD 7402              MOV     A,#02H
+0032CF F0                MOVX    @DPTR,A
+  921: 					if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+0032D0 904CC3            MOV     DPTR,#g_variable+04H
+0032D3 E0                MOVX    A,@DPTR
+0032D4 FF                MOV     R7,A
+0032D5 D3                SETB    C
+0032D6 9403              SUBB    A,#03H
+0032D8 5026              JNC     ?C0188?KB_PROCESS
+0032DA EF                MOV     A,R7
+0032DB C3                CLR     C
+0032DC 9401              SUBB    A,#01H
+0032DE 4020              JC      ?C0188?KB_PROCESS
+  922: 					{
+  923: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+0032E0 904CC1            MOV     DPTR,#g_variable+02H
+0032E3 E0                MOVX    A,@DPTR
+0032E4 FF                MOV     R7,A
+0032E5 904CC3            MOV     DPTR,#g_variable+04H
+0032E8 E0                MOVX    A,@DPTR
+0032E9 75F01F            MOV     B,#01FH
+0032EC A4                MUL     AB
+0032ED 24F2              ADD     A,#LOW bd_key_record_list-02H
+0032EF F582              MOV     DPL,A
+0032F1 E4                CLR     A
+0032F2 344D              ADDC    A,#HIGH bd_key_record_list-02H
+0032F4 F583              MOV     DPH,A
+0032F6 EF                MOV     A,R7
+0032F7 F0                MOVX    @DPTR,A
+  924: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+0032F8 904CBF            MOV     DPTR,#g_variable
+0032FB 7403              MOV     A,#03H
+0032FD F0                MOVX    @DPTR,A
+  925: 					}
+0032FE 8006              SJMP    ?C0187?KB_PROCESS
+003300         ?C0188?KB_PROCESS:
+  926: 					else
+  927: 					{
+  928: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+003300 904CBF            MOV     DPTR,#g_variable
+003303 7402              MOV     A,#02H
+003305 F0                MOVX    @DPTR,A
+  929: 					}
+  930: 				}
+003306         ?C0187?KB_PROCESS:
+  931: 				if(state & 1)
+003306 EE                MOV     A,R6
+003307 30E006            JNB     ACC.0,?C0190?KB_PROCESS
+  932: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
+00330A 904CE8            MOV     DPTR,#g_variable+029H
+00330D 740C              MOV     A,#0CH
+00330F F0                MOVX    @DPTR,A
+003310         ?C0190?KB_PROCESS:
+  933: 				
+  934: 				temp = HID_KEY_NULL;
+003310 E4                CLR     A
+003311 904F09            MOV     DPTR,#temp
+003314 F0                MOVX    @DPTR,A
+  935: 				break;
+003315 61D5              AJMP    ?C0174?KB_PROCESS
+  936: 			case HID_KEY_F1:
+003317         ?C0191?KB_PROCESS:
+  937: 				temp = HID_MULTIKEY_LIGHT_DOWN;
+003317 904F09            MOV     DPTR,#temp
+00331A 74D7              MOV     A,#0D7H
+00331C F0                MOVX    @DPTR,A
+  938: 				break;
+00331D 61D5              AJMP    ?C0174?KB_PROCESS
+  939: 			case HID_KEY_F2:
+00331F         ?C0192?KB_PROCESS:
+  940: 				temp = HID_MULTIKEY_LIGHT_UP;
+00331F 904F09            MOV     DPTR,#temp
+003322 74D8              MOV     A,#0D8H
+003324 F0                MOVX    @DPTR,A
+  941: 				break;
+003325 61D5              AJMP    ?C0174?KB_PROCESS
+  942: 			case HID_KEY_F3:
+003327         ?C0193?KB_PROCESS:
+  943: 				temp = HID_MULTIKEY_MUTE;
+003327 904F09            MOV     DPTR,#temp
+00332A 74F8              MOV     A,#0F8H
+00332C F0                MOVX    @DPTR,A
+  944: 				break;
+00332D 61D5              AJMP    ?C0174?KB_PROCESS
+  945: 			case HID_KEY_F4:
+00332F         ?C0194?KB_PROCESS:
+  946: 				temp = HID_MULTIKEY_VOL_DOWN;
+00332F 904F09            MOV     DPTR,#temp
+003332 74F6              MOV     A,#0F6H
+003334 F0                MOVX    @DPTR,A
+  947: 				break;
+003335 61D5              AJMP    ?C0174?KB_PROCESS
+  948: 			case HID_KEY_F5:
+003337         ?C0195?KB_PROCESS:
+  949: 				temp = HID_MULTIKEY_VOL_UP;
+003337 904F09            MOV     DPTR,#temp
+00333A 74F7              MOV     A,#0F7H
+00333C F0                MOVX    @DPTR,A
+  950: 				break;	
+00333D 61D5              AJMP    ?C0174?KB_PROCESS
+  951: 			case HID_KEY_F6:
+00333F         ?C0196?KB_PROCESS:
+  952: 				temp = HID_MULTIKEY_PRE_TRACK;
+00333F 904F09            MOV     DPTR,#temp
+003342 74F4              MOV     A,#0F4H
+003344 F0                MOVX    @DPTR,A
+  953: 				break;	
+003345 61D5              AJMP    ?C0174?KB_PROCESS
+  954: 			case HID_KEY_F7:
+003347         ?C0197?KB_PROCESS:
+  955: 				temp = HID_MULTIKEY_PALY;
+003347 904F09            MOV     DPTR,#temp
+00334A 74F2              MOV     A,#0F2H
+00334C F0                MOVX    @DPTR,A
+  956: 				break;
+00334D 61D5              AJMP    ?C0174?KB_PROCESS
+  957: 			case HID_KEY_F8:
+00334F         ?C0198?KB_PROCESS:
+  958: 				temp = HID_MULTIKEY_NEXT_TRACK;
+00334F 904F09            MOV     DPTR,#temp
+003352 74F5              MOV     A,#0F5H
+003354 F0                MOVX    @DPTR,A
+  959: 				break;
+003355 807E              SJMP    ?C0174?KB_PROCESS
+  960: 			case HID_KEY_F9:
+003357         ?C0199?KB_PROCESS:
+  961: 				if(g_variable.system_mode == OSMODE_IOS)
+003357 904CC1            MOV     DPTR,#g_variable+02H
+00335A E0                MOVX    A,@DPTR
+00335B B4020A            CJNE    A,#02H,?C0200?KB_PROCESS
+  962: 				{
+  963: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_A);	
+00335E AF06              MOV     R7,AR6
+003360 7B04              MOV     R3,#04H
+003362 7D08              MOV     R5,#08H
+003364 11EA              ACALL   _kb_combination_key_press
+  964: 				}
+003366 8008              SJMP    ?C0201?KB_PROCESS
+003368         ?C0200?KB_PROCESS:
+  965: 				else 
+  966: 				{
+  967: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_A);	
+003368 AF06              MOV     R7,AR6
+00336A 7B04              MOV     R3,#04H
+00336C 7D01              MOV     R5,#01H
+00336E 11EA              ACALL   _kb_combination_key_press
+  968: 				}
+003370         ?C0201?KB_PROCESS:
+  969: 				temp = HID_KEY_NULL;
+003370 E4                CLR     A
+003371 904F09            MOV     DPTR,#temp
+003374 F0                MOVX    @DPTR,A
+  970: 				break;	
+003375 805E              SJMP    ?C0174?KB_PROCESS
+  971: 			case HID_KEY_F10:
+003377         ?C0202?KB_PROCESS:
+  972: 				if(g_variable.system_mode == OSMODE_IOS)
+003377 904CC1            MOV     DPTR,#g_variable+02H
+00337A E0                MOVX    A,@DPTR
+00337B B4020F            CJNE    A,#02H,?C0203?KB_PROCESS
+  973: 				{
+  974: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
+00337E AF06              MOV     R7,AR6
+003380 7B2C              MOV     R3,#02CH
+003382 7D08              MOV     R5,#08H
+003384 11EA              ACALL   _kb_combination_key_press
+  975: 					temp = HID_KEY_NULL;
+003386 E4                CLR     A
+003387 904F09            MOV     DPTR,#temp
 00338A F0                MOVX    @DPTR,A
-  924: 					}
-00338B 8006              SJMP    ?C0207?KB_PROCESS
-00338D         ?C0208?KB_PROCESS:
-  925: 					else
-  926: 					{
-  927: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-00338D 904CBF            MOV     DPTR,#g_variable
-003390 7402              MOV     A,#02H
+  976: 				}
+00338B 8048              SJMP    ?C0174?KB_PROCESS
+00338D         ?C0203?KB_PROCESS:
+  977: 				else
+  978: 					temp = HID_MULTIKEY_AC_SEARCH;
+00338D 904F09            MOV     DPTR,#temp
+003390 74D5              MOV     A,#0D5H
 003392 F0                MOVX    @DPTR,A
-  928: 					}
-  929: 				}
-003393         ?C0207?KB_PROCESS:
-  930: 				if(state & 1)
-003393 EE                MOV     A,R6
-003394 30E006            JNB     ACC.0,?C0210?KB_PROCESS
-  931: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
-003397 904CE8            MOV     DPTR,#g_variable+029H
-00339A 740C              MOV     A,#0CH
-00339C F0                MOVX    @DPTR,A
-00339D         ?C0210?KB_PROCESS:
-  932: 				
-  933: 				temp = HID_KEY_NULL;
-00339D E4                CLR     A
-00339E 904F09            MOV     DPTR,#temp
-0033A1 F0                MOVX    @DPTR,A
-  934: 				break;
-0033A2 8145              AJMP    ?C0194?KB_PROCESS
-  935: 			case HID_KEY_F1:
-0033A4         ?C0211?KB_PROCESS:
-  936: 				temp = HID_MULTIKEY_LIGHT_DOWN;
-0033A4 904F09            MOV     DPTR,#temp
-0033A7 74D7              MOV     A,#0D7H
-0033A9 F0                MOVX    @DPTR,A
-  937: 				break;
-0033AA 8145              AJMP    ?C0194?KB_PROCESS
-  938: 			case HID_KEY_F2:
-0033AC         ?C0212?KB_PROCESS:
-  939: 				temp = HID_MULTIKEY_LIGHT_UP;
-0033AC 904F09            MOV     DPTR,#temp
-0033AF 74D8              MOV     A,#0D8H
+  979: 				break;
+003393 8040              SJMP    ?C0174?KB_PROCESS
+  980: 			case HID_KEY_F11:
+003395         ?C0205?KB_PROCESS:
+  981: 				temp = HID_MULTIKEY_AC_HOME;
+003395 904F09            MOV     DPTR,#temp
+003398 74D6              MOV     A,#0D6H
+00339A F0                MOVX    @DPTR,A
+  982: 				break;
+00339B 8038              SJMP    ?C0174?KB_PROCESS
+  983: 			case HID_KEY_F12:
+00339D         ?C0206?KB_PROCESS:
+  984: 				if(g_variable.system_mode == OSMODE_IOS)
+00339D 904CC1            MOV     DPTR,#g_variable+02H
+0033A0 E0                MOVX    A,@DPTR
+0033A1 FC                MOV     R4,A
+0033A2 B4020F            CJNE    A,#02H,?C0207?KB_PROCESS
+  985: 				{
+  986: 					kb_combination_key_press(state,KS_SEL_LSHIFT|KS_SEL_LGUI,HID_KEY_3);
+0033A5 AF06              MOV     R7,AR6
+0033A7 7B20              MOV     R3,#020H
+0033A9 7D0A              MOV     R5,#0AH
+0033AB 11EA              ACALL   _kb_combination_key_press
+  987: 					temp = HID_KEY_NULL;
+0033AD E4                CLR     A
+0033AE 904F09            MOV     DPTR,#temp
 0033B1 F0                MOVX    @DPTR,A
-  940: 				break;
-0033B2 8145              AJMP    ?C0194?KB_PROCESS
-  941: 			case HID_KEY_F3:
-0033B4         ?C0213?KB_PROCESS:
-  942: 				temp = HID_MULTIKEY_MUTE;
-0033B4 904F09            MOV     DPTR,#temp
-0033B7 74F8              MOV     A,#0F8H
-0033B9 F0                MOVX    @DPTR,A
-  943: 				break;
-0033BA 8145              AJMP    ?C0194?KB_PROCESS
-  944: 			case HID_KEY_F4:
-0033BC         ?C0214?KB_PROCESS:
-  945: 				temp = HID_MULTIKEY_VOL_DOWN;
-0033BC 904F09            MOV     DPTR,#temp
-0033BF 74F6              MOV     A,#0F6H
-0033C1 F0                MOVX    @DPTR,A
-  946: 				break;
-0033C2 8145              AJMP    ?C0194?KB_PROCESS
-  947: 			case HID_KEY_F5:
-0033C4         ?C0215?KB_PROCESS:
-  948: 				temp = HID_MULTIKEY_VOL_UP;
-0033C4 904F09            MOV     DPTR,#temp
-0033C7 74F7              MOV     A,#0F7H
-0033C9 F0                MOVX    @DPTR,A
-  949: 				break;	
-0033CA 8079              SJMP    ?C0194?KB_PROCESS
-  950: 			case HID_KEY_F6:
-0033CC         ?C0216?KB_PROCESS:
-  951: 				temp = HID_MULTIKEY_PRE_TRACK;
-0033CC 904F09            MOV     DPTR,#temp
-0033CF 74F4              MOV     A,#0F4H
-0033D1 F0                MOVX    @DPTR,A
-  952: 				break;	
-0033D2 8071              SJMP    ?C0194?KB_PROCESS
-  953: 			case HID_KEY_F7:
-0033D4         ?C0217?KB_PROCESS:
-  954: 				temp = HID_MULTIKEY_PALY;
-0033D4 904F09            MOV     DPTR,#temp
-0033D7 74F2              MOV     A,#0F2H
-0033D9 F0                MOVX    @DPTR,A
-  955: 				break;
-0033DA 8069              SJMP    ?C0194?KB_PROCESS
-  956: 			case HID_KEY_F8:
-0033DC         ?C0218?KB_PROCESS:
-  957: 				temp = HID_MULTIKEY_NEXT_TRACK;
-0033DC 904F09            MOV     DPTR,#temp
-0033DF 74F5              MOV     A,#0F5H
-0033E1 F0                MOVX    @DPTR,A
-  958: 				break;
-0033E2 8061              SJMP    ?C0194?KB_PROCESS
-  959: 			case HID_KEY_F9:
-0033E4         ?C0219?KB_PROCESS:
-  960: 				if(g_variable.system_mode == OSMODE_IOS)
-0033E4 904CC1            MOV     DPTR,#g_variable+02H
-0033E7 E0                MOVX    A,@DPTR
-0033E8 B4020A            CJNE    A,#02H,?C0220?KB_PROCESS
-  961: 				{
-  962: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_A);	
-0033EB AF06              MOV     R7,AR6
-0033ED 7B04              MOV     R3,#04H
-0033EF 7D08              MOV     R5,#08H
-0033F1 11EA              ACALL   _kb_combination_key_press
-  963: 				}
-0033F3 8008              SJMP    ?C0221?KB_PROCESS
-0033F5         ?C0220?KB_PROCESS:
-  964: 				else 
-  965: 				{
-  966: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_A);	
-0033F5 AF06              MOV     R7,AR6
-0033F7 7B04              MOV     R3,#04H
-0033F9 7D01              MOV     R5,#01H
-0033FB 11EA              ACALL   _kb_combination_key_press
-  967: 				}
-0033FD         ?C0221?KB_PROCESS:
-  968: 				temp = HID_KEY_NULL;
-0033FD E4                CLR     A
-0033FE 904F09            MOV     DPTR,#temp
-003401 F0                MOVX    @DPTR,A
-  969: 				break;	
-003402 8041              SJMP    ?C0194?KB_PROCESS
-  970: 			case HID_KEY_F10:
-003404         ?C0222?KB_PROCESS:
-  971: 				temp = HID_MULTIKEY_AC_SEARCH;
-003404 904F09            MOV     DPTR,#temp
-003407 74D5              MOV     A,#0D5H
-003409 F0                MOVX    @DPTR,A
-  972: 				break;
-00340A 8039              SJMP    ?C0194?KB_PROCESS
-  973: 			case HID_KEY_F11:
-00340C         ?C0223?KB_PROCESS:
-  974: 				temp = HID_MULTIKEY_AC_HOME;
-00340C 904F09            MOV     DPTR,#temp
-00340F 74D6              MOV     A,#0D6H
-003411 F0                MOVX    @DPTR,A
-  975: 				break;
-003412 8031              SJMP    ?C0194?KB_PROCESS
-  976: 			case HID_KEY_F12:
-003414         ?C0224?KB_PROCESS:
-  977: 				if(g_variable.system_mode == OSMODE_IOS)
-003414 904CC1            MOV     DPTR,#g_variable+02H
-003417 E0                MOVX    A,@DPTR
-003418 FF                MOV     R7,A
-003419 B40208            CJNE    A,#02H,?C0225?KB_PROCESS
-  978: 					temp = HID_MULTIKEY_OS_LOCK;
-00341C 904F09            MOV     DPTR,#temp
-00341F 74DA              MOV     A,#0DAH
-003421 F0                MOVX    @DPTR,A
-003422 8021              SJMP    ?C0194?KB_PROCESS
-003424         ?C0225?KB_PROCESS:
-  979: 				else if(g_variable.system_mode == OSMODE_ANDROID)
-003424 EF                MOV     A,R7
-003425 B40108            CJNE    A,#01H,?C0227?KB_PROCESS
-  980: 					temp = HID_MULTIKEY_OS_LOCK;
-003428 904F09            MOV     DPTR,#temp
-00342B 74DA              MOV     A,#0DAH
-00342D F0                MOVX    @DPTR,A
-00342E 8015              SJMP    ?C0194?KB_PROCESS
-003430         ?C0227?KB_PROCESS:
-  981: 				else
-  982: 				{
-  983: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_L);
-003430 AF06              MOV     R7,AR6
-003432 7B0F              MOV     R3,#0FH
-003434 7D08              MOV     R5,#08H
-003436 11EA              ACALL   _kb_combination_key_press
-  984: 					temp = HID_KEY_NULL;
-003438 E4                CLR     A
-003439 904F09            MOV     DPTR,#temp
-00343C F0                MOVX    @DPTR,A
-  985: 				}
-  986: 				break;
-00343D 8006              SJMP    ?C0194?KB_PROCESS
-  987: 			case HID_KEY_DELETE:
-00343F         ?C0229?KB_PROCESS:
-  988: 				temp = HID_SYSTEM_KEY_SLEEP;
-00343F 904F09            MOV     DPTR,#temp
-003442 74DE              MOV     A,#0DEH
-003444 F0                MOVX    @DPTR,A
-  989: 				break;
-  990: 			default :
-  991: 				break;
-  992: 		}
-  993: 	}
-003445         ?C0194?KB_PROCESS:
-  994: 
-  995: 	return temp;
-003445 904F09            MOV     DPTR,#temp
-003448 E0                MOVX    A,@DPTR
-003449 FF                MOV     R7,A
-  996: }
-00344A 22                RET     
+  988: 				}
+0033B2 8021              SJMP    ?C0174?KB_PROCESS
+0033B4         ?C0207?KB_PROCESS:
+  989: 				else if(g_variable.system_mode == OSMODE_ANDROID)
+0033B4 EC                MOV     A,R4
+0033B5 B40108            CJNE    A,#01H,?C0209?KB_PROCESS
+  990: 					temp = HID_MULTIKEY_OS_LOCK;
+0033B8 904F09            MOV     DPTR,#temp
+0033BB 74DA              MOV     A,#0DAH
+0033BD F0                MOVX    @DPTR,A
+0033BE 8015              SJMP    ?C0174?KB_PROCESS
+0033C0         ?C0209?KB_PROCESS:
+  991: 				else
+  992: 				{
+  993: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_L);
+0033C0 AF06              MOV     R7,AR6
+0033C2 7B0F              MOV     R3,#0FH
+0033C4 7D08              MOV     R5,#08H
+0033C6 11EA              ACALL   _kb_combination_key_press
+  994: 					temp = HID_KEY_NULL;
+0033C8 E4                CLR     A
+0033C9 904F09            MOV     DPTR,#temp
+0033CC F0                MOVX    @DPTR,A
+  995: 				}
+  996: 				break;
+0033CD 8006              SJMP    ?C0174?KB_PROCESS
+  997: 			case HID_KEY_DELETE:
+0033CF         ?C0211?KB_PROCESS:
+  998: 				temp = HID_SYSTEM_KEY_SLEEP;
+0033CF 904F09            MOV     DPTR,#temp
+0033D2 74DE              MOV     A,#0DEH
+0033D4 F0                MOVX    @DPTR,A
+  999: 				break;
+ 1000: 			default :
+ 1001: 				break;
+ 1002: 		}
+ 1003: 	}
+0033D5         ?C0174?KB_PROCESS:
+ 1004: 
+ 1005: 	return temp;
+0033D5 904F09            MOV     DPTR,#temp
+0033D8 E0                MOVX    A,@DPTR
+0033D9 FF                MOV     R7,A
+ 1006: }
+0033DA 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
@@ -10238,193 +10185,193 @@
  FILE: 'keyscan.c'
     7: void GPIO_SetInput_no_pupd(byte gpio_num)
     8: {
-00344B 904F0A            MOV     DPTR,#gpio_num
-00344E EF                MOV     A,R7
-00344F F0                MOVX    @DPTR,A
+0033DB 904F0A            MOV     DPTR,#gpio_num
+0033DE EF                MOV     A,R7
+0033DF F0                MOVX    @DPTR,A
     9: 	if(gpio_num == 0xff)
    10: 		return;
-003450 F4                CPL     A
-003451 601B              JZ      ?C0002?KEYSCAN
-003453         ?C0001?KEYSCAN:
+0033E0 F4                CPL     A
+0033E1 601B              JZ      ?C0002?KEYSCAN
+0033E3         ?C0001?KEYSCAN:
    11: 	GPIO_SetPd(gpio_num, 0);
-003453 904F0A            MOV     DPTR,#gpio_num
-003456 E0                MOVX    A,@DPTR
-003457 FF                MOV     R7,A
-003458 C203              CLR     ?_GPIO_SetPd?BIT
-00345A 9180              ACALL   _GPIO_SetPd
+0033E3 904F0A            MOV     DPTR,#gpio_num
+0033E6 E0                MOVX    A,@DPTR
+0033E7 FF                MOV     R7,A
+0033E8 C203              CLR     ?_GPIO_SetPd?BIT
+0033EA 9110              ACALL   _GPIO_SetPd
    12: 	GPIO_SetPu(gpio_num, 0);
-00345C 904F0A            MOV     DPTR,#gpio_num
-00345F E0                MOVX    A,@DPTR
-003460 FF                MOV     R7,A
-003461 C202              CLR     ?_GPIO_SetPu?BIT
-003463 916F              ACALL   _GPIO_SetPu
+0033EC 904F0A            MOV     DPTR,#gpio_num
+0033EF E0                MOVX    A,@DPTR
+0033F0 FF                MOV     R7,A
+0033F1 C202              CLR     ?_GPIO_SetPu?BIT
+0033F3 71FF              ACALL   _GPIO_SetPu
    13: 	GPIO_Setoe(gpio_num, 0);
-003465 904F0A            MOV     DPTR,#gpio_num
-003468 E0                MOVX    A,@DPTR
-003469 FF                MOV     R7,A
-00346A C204              CLR     ?_GPIO_Setoe?BIT
-00346C 91AF              ACALL   _GPIO_Setoe
+0033F5 904F0A            MOV     DPTR,#gpio_num
+0033F8 E0                MOVX    A,@DPTR
+0033F9 FF                MOV     R7,A
+0033FA C204              CLR     ?_GPIO_Setoe?BIT
+0033FC 913F              ACALL   _GPIO_Setoe
    14: }
-00346E         ?C0002?KEYSCAN:
-00346E 22                RET     
+0033FE         ?C0002?KEYSCAN:
+0033FE 22                RET     
 ----- FUNCTION _GPIO_SetInput_no_pupd (END) -------
 
 
 ----- FUNCTION _GPIO_SetPu (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-00346F EF                MOV     A,R7
-003470 F4                CPL     A
-003471 600C              JZ      ?C0009?GPIO
-003473         ?C0008?GPIO:
-003473 7B01              MOV     R3,#01H
-003475 7A80              MOV     R2,#080H
-003477 7978              MOV     R1,#078H
-003479 A202              MOV     C,bit_val
-00347B 9200              MOV     ?_gpioSetBit?BIT,C
-00347D 91C0              ACALL   _gpioSetBit
-00347F         ?C0009?GPIO:
-00347F 22                RET     
+0033FF EF                MOV     A,R7
+003400 F4                CPL     A
+003401 600C              JZ      ?C0009?GPIO
+003403         ?C0008?GPIO:
+003403 7B01              MOV     R3,#01H
+003405 7A80              MOV     R2,#080H
+003407 7978              MOV     R1,#078H
+003409 A202              MOV     C,bit_val
+00340B 9200              MOV     ?_gpioSetBit?BIT,C
+00340D 9150              ACALL   _gpioSetBit
+00340F         ?C0009?GPIO:
+00340F 22                RET     
 ----- FUNCTION _GPIO_SetPu (END) -------
 
 
 ----- FUNCTION _GPIO_SetPd (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-003480 EF                MOV     A,R7
-003481 F4                CPL     A
-003482 600C              JZ      ?C0011?GPIO
-003484         ?C0010?GPIO:
-003484 7B01              MOV     R3,#01H
-003486 7A80              MOV     R2,#080H
-003488 797C              MOV     R1,#07CH
-00348A A203              MOV     C,bit_val
-00348C 9200              MOV     ?_gpioSetBit?BIT,C
-00348E 91C0              ACALL   _gpioSetBit
-003490         ?C0011?GPIO:
-003490 22                RET     
+003410 EF                MOV     A,R7
+003411 F4                CPL     A
+003412 600C              JZ      ?C0011?GPIO
+003414         ?C0010?GPIO:
+003414 7B01              MOV     R3,#01H
+003416 7A80              MOV     R2,#080H
+003418 797C              MOV     R1,#07CH
+00341A A203              MOV     C,bit_val
+00341C 9200              MOV     ?_gpioSetBit?BIT,C
+00341E 9150              ACALL   _gpioSetBit
+003420         ?C0011?GPIO:
+003420 22                RET     
 ----- FUNCTION _GPIO_SetPd (END) -------
 
 
 ----- FUNCTION _GPIO_SetInput (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R4' ----
-003491 AC07              MOV     R4,AR7
-003493 EC                MOV     A,R4
-003494 F4                CPL     A
-003495 6017              JZ      ?C0015?GPIO
-003497         ?C0014?GPIO:
-003497 AF04              MOV     R7,AR4
-003499 A205              MOV     C,st
-00349B 9203              MOV     ?_GPIO_SetPd?BIT,C
-00349D 9180              ACALL   _GPIO_SetPd
-00349F AF04              MOV     R7,AR4
-0034A1 A205              MOV     C,st
-0034A3 B3                CPL     C
-0034A4 9202              MOV     ?_GPIO_SetPu?BIT,C
-0034A6 916F              ACALL   _GPIO_SetPu
-0034A8 AF04              MOV     R7,AR4
-0034AA C204              CLR     ?_GPIO_Setoe?BIT
-0034AC 91AF              ACALL   _GPIO_Setoe
-0034AE         ?C0015?GPIO:
-0034AE 22                RET     
+003421 AC07              MOV     R4,AR7
+003423 EC                MOV     A,R4
+003424 F4                CPL     A
+003425 6017              JZ      ?C0015?GPIO
+003427         ?C0014?GPIO:
+003427 AF04              MOV     R7,AR4
+003429 A205              MOV     C,st
+00342B 9203              MOV     ?_GPIO_SetPd?BIT,C
+00342D 9110              ACALL   _GPIO_SetPd
+00342F AF04              MOV     R7,AR4
+003431 A205              MOV     C,st
+003433 B3                CPL     C
+003434 9202              MOV     ?_GPIO_SetPu?BIT,C
+003436 71FF              ACALL   _GPIO_SetPu
+003438 AF04              MOV     R7,AR4
+00343A C204              CLR     ?_GPIO_Setoe?BIT
+00343C 913F              ACALL   _GPIO_Setoe
+00343E         ?C0015?GPIO:
+00343E 22                RET     
 ----- FUNCTION _GPIO_SetInput (END) -------
 
 
 ----- FUNCTION _GPIO_Setoe (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0034AF EF                MOV     A,R7
-0034B0 F4                CPL     A
-0034B1 600C              JZ      ?C0013?GPIO
-0034B3         ?C0012?GPIO:
-0034B3 7B01              MOV     R3,#01H
-0034B5 7A80              MOV     R2,#080H
-0034B7 7970              MOV     R1,#070H
-0034B9 A204              MOV     C,bit_val
-0034BB 9200              MOV     ?_gpioSetBit?BIT,C
-0034BD 91C0              ACALL   _gpioSetBit
-0034BF         ?C0013?GPIO:
-0034BF 22                RET     
+00343F EF                MOV     A,R7
+003440 F4                CPL     A
+003441 600C              JZ      ?C0013?GPIO
+003443         ?C0012?GPIO:
+003443 7B01              MOV     R3,#01H
+003445 7A80              MOV     R2,#080H
+003447 7970              MOV     R1,#070H
+003449 A204              MOV     C,bit_val
+00344B 9200              MOV     ?_gpioSetBit?BIT,C
+00344D 9150              ACALL   _gpioSetBit
+00344F         ?C0013?GPIO:
+00344F 22                RET     
 ----- FUNCTION _GPIO_Setoe (END) -------
 
 
 ----- FUNCTION _gpioSetBit (BEGIN) -----
-0034C0 904EFC            MOV     DPTR,#reg_base
-0034C3 EB                MOV     A,R3
-0034C4 F0                MOVX    @DPTR,A
-0034C5 A3                INC     DPTR
-0034C6 EA                MOV     A,R2
-0034C7 F0                MOVX    @DPTR,A
-0034C8 A3                INC     DPTR
-0034C9 E9                MOV     A,R1
-0034CA F0                MOVX    @DPTR,A
+003450 904EFC            MOV     DPTR,#reg_base
+003453 EB                MOV     A,R3
+003454 F0                MOVX    @DPTR,A
+003455 A3                INC     DPTR
+003456 EA                MOV     A,R2
+003457 F0                MOVX    @DPTR,A
+003458 A3                INC     DPTR
+003459 E9                MOV     A,R1
+00345A F0                MOVX    @DPTR,A
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
 ;---- Variable 'queue' assigned to Register 'R6' ----
-0034CB E4                CLR     A
-0034CC FE                MOV     R6,A
+00345B E4                CLR     A
+00345C FE                MOV     R6,A
 ;---- Variable 'group' assigned to Register 'R5' ----
-0034CD FD                MOV     R5,A
-0034CE EF                MOV     A,R7
-0034CF 5407              ANL     A,#07H
-0034D1 FE                MOV     R6,A
-0034D2 EF                MOV     A,R7
-0034D3 13                RRC     A
-0034D4 13                RRC     A
-0034D5 13                RRC     A
-0034D6 5403              ANL     A,#03H
-0034D8 FD                MOV     R5,A
-0034D9 300022            JNB     bit_val,?C0001?GPIO
-0034DC 904EFC            MOV     DPTR,#reg_base
-0034DF E0                MOVX    A,@DPTR
-0034E0 FB                MOV     R3,A
-0034E1 A3                INC     DPTR
-0034E2 E0                MOVX    A,@DPTR
-0034E3 FA                MOV     R2,A
-0034E4 A3                INC     DPTR
-0034E5 E0                MOVX    A,@DPTR
-0034E6 2D                ADD     A,R5
-0034E7 F9                MOV     R1,A
-0034E8 E4                CLR     A
-0034E9 3A                ADDC    A,R2
-0034EA FA                MOV     R2,A
-0034EB 1203B6            LCALL   ?C?CLDPTR
-0034EE FF                MOV     R7,A
-0034EF 7401              MOV     A,#01H
-0034F1 A806              MOV     R0,AR6
-0034F3 08                INC     R0
-0034F4 8002              SJMP    ?C0031?GPIO
-0034F6         ?C0030?GPIO:
-0034F6 C3                CLR     C
-0034F7 33                RLC     A
-0034F8         ?C0031?GPIO:
-0034F8 D8FC              DJNZ    R0,?C0030?GPIO
-0034FA 4F                ORL     A,R7
-0034FB 0203FC            LJMP    ?C?CSTPTR
-0034FE         ?C0001?GPIO:
-0034FE 904EFC            MOV     DPTR,#reg_base
-003501 E0                MOVX    A,@DPTR
-003502 FB                MOV     R3,A
-003503 A3                INC     DPTR
-003504 E0                MOVX    A,@DPTR
-003505 FA                MOV     R2,A
-003506 A3                INC     DPTR
-003507 E0                MOVX    A,@DPTR
-003508 2D                ADD     A,R5
-003509 F9                MOV     R1,A
-00350A E4                CLR     A
-00350B 3A                ADDC    A,R2
-00350C FA                MOV     R2,A
-00350D 1203B6            LCALL   ?C?CLDPTR
-003510 FF                MOV     R7,A
-003511 7401              MOV     A,#01H
-003513 A806              MOV     R0,AR6
-003515 08                INC     R0
-003516 8002              SJMP    ?C0033?GPIO
-003518         ?C0032?GPIO:
-003518 C3                CLR     C
-003519 33                RLC     A
-00351A         ?C0033?GPIO:
-00351A D8FC              DJNZ    R0,?C0032?GPIO
-00351C F4                CPL     A
-00351D 5F                ANL     A,R7
-00351E 0203FC            LJMP    ?C?CSTPTR
+00345D FD                MOV     R5,A
+00345E EF                MOV     A,R7
+00345F 5407              ANL     A,#07H
+003461 FE                MOV     R6,A
+003462 EF                MOV     A,R7
+003463 13                RRC     A
+003464 13                RRC     A
+003465 13                RRC     A
+003466 5403              ANL     A,#03H
+003468 FD                MOV     R5,A
+003469 300022            JNB     bit_val,?C0001?GPIO
+00346C 904EFC            MOV     DPTR,#reg_base
+00346F E0                MOVX    A,@DPTR
+003470 FB                MOV     R3,A
+003471 A3                INC     DPTR
+003472 E0                MOVX    A,@DPTR
+003473 FA                MOV     R2,A
+003474 A3                INC     DPTR
+003475 E0                MOVX    A,@DPTR
+003476 2D                ADD     A,R5
+003477 F9                MOV     R1,A
+003478 E4                CLR     A
+003479 3A                ADDC    A,R2
+00347A FA                MOV     R2,A
+00347B 1203B6            LCALL   ?C?CLDPTR
+00347E FF                MOV     R7,A
+00347F 7401              MOV     A,#01H
+003481 A806              MOV     R0,AR6
+003483 08                INC     R0
+003484 8002              SJMP    ?C0031?GPIO
+003486         ?C0030?GPIO:
+003486 C3                CLR     C
+003487 33                RLC     A
+003488         ?C0031?GPIO:
+003488 D8FC              DJNZ    R0,?C0030?GPIO
+00348A 4F                ORL     A,R7
+00348B 0203FC            LJMP    ?C?CSTPTR
+00348E         ?C0001?GPIO:
+00348E 904EFC            MOV     DPTR,#reg_base
+003491 E0                MOVX    A,@DPTR
+003492 FB                MOV     R3,A
+003493 A3                INC     DPTR
+003494 E0                MOVX    A,@DPTR
+003495 FA                MOV     R2,A
+003496 A3                INC     DPTR
+003497 E0                MOVX    A,@DPTR
+003498 2D                ADD     A,R5
+003499 F9                MOV     R1,A
+00349A E4                CLR     A
+00349B 3A                ADDC    A,R2
+00349C FA                MOV     R2,A
+00349D 1203B6            LCALL   ?C?CLDPTR
+0034A0 FF                MOV     R7,A
+0034A1 7401              MOV     A,#01H
+0034A3 A806              MOV     R0,AR6
+0034A5 08                INC     R0
+0034A6 8002              SJMP    ?C0033?GPIO
+0034A8         ?C0032?GPIO:
+0034A8 C3                CLR     C
+0034A9 33                RLC     A
+0034AA         ?C0033?GPIO:
+0034AA D8FC              DJNZ    R0,?C0032?GPIO
+0034AC F4                CPL     A
+0034AD 5F                ANL     A,R7
+0034AE 0203FC            LJMP    ?C?CSTPTR
 ----- FUNCTION _gpioSetBit (END) -------
 
 
@@ -10434,29 +10381,29 @@
   213: {
   214: 	byte i = 0;
   215: 	for (i=0; col[i]!=0; i++) {
-003521 E4                CLR     A
-003522 904F0C            MOV     DPTR,#i
-003525 F0                MOVX    @DPTR,A
+0034B1 E4                CLR     A
+0034B2 904F0C            MOV     DPTR,#i
+0034B5 F0                MOVX    @DPTR,A
   216: 		GPIO_SetInput_no_pupd(col[i]);
-003526 F0                MOVX    @DPTR,A
-003527         ?C0038?KEYSCAN:
-003527 904F0C            MOV     DPTR,#i
-00352A E0                MOVX    A,@DPTR
-00352B 900681            MOV     DPTR,#col
-00352E 93                MOVC    A,@A+DPTR
-00352F FF                MOV     R7,A
-003530 600A              JZ      ?C0041?KEYSCAN
+0034B6 F0                MOVX    @DPTR,A
+0034B7         ?C0038?KEYSCAN:
+0034B7 904F0C            MOV     DPTR,#i
+0034BA E0                MOVX    A,@DPTR
+0034BB 900681            MOV     DPTR,#col
+0034BE 93                MOVC    A,@A+DPTR
+0034BF FF                MOV     R7,A
+0034C0 600A              JZ      ?C0041?KEYSCAN
   217: 	}
-003532 914B              ACALL   _GPIO_SetInput_no_pupd
+0034C2 71DB              ACALL   _GPIO_SetInput_no_pupd
   218: }
-003534 904F0C            MOV     DPTR,#i
-003537 E0                MOVX    A,@DPTR
-003538 04                INC     A
-003539 F0                MOVX    @DPTR,A
-00353A 80EB              SJMP    ?C0038?KEYSCAN
+0034C4 904F0C            MOV     DPTR,#i
+0034C7 E0                MOVX    A,@DPTR
+0034C8 04                INC     A
+0034C9 F0                MOVX    @DPTR,A
+0034CA 80EB              SJMP    ?C0038?KEYSCAN
   219: 
-00353C         ?C0041?KEYSCAN:
-00353C 22                RET     
+0034CC         ?C0041?KEYSCAN:
+0034CC 22                RET     
 ----- FUNCTION ksColInitialize (END) -------
 
 
@@ -10466,19 +10413,19 @@
   221: {
   222: 	REG_GPIO_SELECT(0) = 0;
   223: 	REG_GPIO_SELECT(1) = 0;
-00353D 908080            MOV     DPTR,#08080H
-003540 E4                CLR     A
-003541 F0                MOVX    @DPTR,A
+0034CD 908080            MOV     DPTR,#08080H
+0034D0 E4                CLR     A
+0034D1 F0                MOVX    @DPTR,A
   224: 	REG_GPIO_SELECT(2) = 0;
-003542 A3                INC     DPTR
-003543 F0                MOVX    @DPTR,A
+0034D2 A3                INC     DPTR
+0034D3 F0                MOVX    @DPTR,A
   225: 	ksRawInitialize();
-003544 A3                INC     DPTR
-003545 F0                MOVX    @DPTR,A
+0034D4 A3                INC     DPTR
+0034D5 F0                MOVX    @DPTR,A
   226: 	ksColInitialize();
-003546 B14A              ACALL   ksRawInitialize
+0034D6 91DA              ACALL   ksRawInitialize
   227: }
-003548 80D7              SJMP    ksColInitialize
+0034D8 80D7              SJMP    ksColInitialize
 ----- FUNCTION KS_Initialize (END) -------
 
 
@@ -10488,30 +10435,30 @@
   204: {
   205: 	byte i = 0;
   206: 	
-00354A E4                CLR     A
-00354B 904F0B            MOV     DPTR,#i
-00354E F0                MOVX    @DPTR,A
+0034DA E4                CLR     A
+0034DB 904F0B            MOV     DPTR,#i
+0034DE F0                MOVX    @DPTR,A
   207: 	for (i=0; i<8; i++) {
-00354F F0                MOVX    @DPTR,A
-003550         ?C0034?KEYSCAN:
-003550 904F0B            MOV     DPTR,#i
-003553 E0                MOVX    A,@DPTR
-003554 FF                MOV     R7,A
-003555 C3                CLR     C
-003556 9408              SUBB    A,#08H
-003558 500C              JNC     ?C0037?KEYSCAN
+0034DF F0                MOVX    @DPTR,A
+0034E0         ?C0034?KEYSCAN:
+0034E0 904F0B            MOV     DPTR,#i
+0034E3 E0                MOVX    A,@DPTR
+0034E4 FF                MOV     R7,A
+0034E5 C3                CLR     C
+0034E6 9408              SUBB    A,#08H
+0034E8 500C              JNC     ?C0037?KEYSCAN
   208: 		GPIO_SetInput(i, 0);
-00355A C205              CLR     ?_GPIO_SetInput?BIT
-00355C 9191              ACALL   _GPIO_SetInput
+0034EA C205              CLR     ?_GPIO_SetInput?BIT
+0034EC 9121              ACALL   _GPIO_SetInput
   209: 	}
-00355E 904F0B            MOV     DPTR,#i
-003561 E0                MOVX    A,@DPTR
-003562 04                INC     A
-003563 F0                MOVX    @DPTR,A
-003564 80EA              SJMP    ?C0034?KEYSCAN
+0034EE 904F0B            MOV     DPTR,#i
+0034F1 E0                MOVX    A,@DPTR
+0034F2 04                INC     A
+0034F3 F0                MOVX    @DPTR,A
+0034F4 80EA              SJMP    ?C0034?KEYSCAN
   210: }
-003566         ?C0037?KEYSCAN:
-003566 22                RET     
+0034F6         ?C0037?KEYSCAN:
+0034F6 22                RET     
 ----- FUNCTION ksRawInitialize (END) -------
 
 
@@ -10521,28 +10468,28 @@
    44: {
    45: 	REG_IICD_SCL_LOW  =  0x0d;
    46:    	REG_IICD_SCL_HIGH  =  0x0e;
-003567 908091            MOV     DPTR,#08091H
-00356A 740D              MOV     A,#0DH
-00356C F0                MOVX    @DPTR,A
+0034F7 908091            MOV     DPTR,#08091H
+0034FA 740D              MOV     A,#0DH
+0034FC F0                MOVX    @DPTR,A
    47:    	REG_IICD_START_SETUP  = 0x0e;
-00356D A3                INC     DPTR
-00356E 04                INC     A
-00356F F0                MOVX    @DPTR,A
+0034FD A3                INC     DPTR
+0034FE 04                INC     A
+0034FF F0                MOVX    @DPTR,A
    48:    	REG_IICD_START_HOLD  = 0x0e;
-003570 A3                INC     DPTR
-003571 F0                MOVX    @DPTR,A
+003500 A3                INC     DPTR
+003501 F0                MOVX    @DPTR,A
    49:   	REG_IICD_STOP_SETUP  = 0x0e;
-003572 A3                INC     DPTR
-003573 F0                MOVX    @DPTR,A
+003502 A3                INC     DPTR
+003503 F0                MOVX    @DPTR,A
    50:    	REG_IICD_DATA_SETUP  = 0x0d;
-003574 A3                INC     DPTR
-003575 F0                MOVX    @DPTR,A
+003504 A3                INC     DPTR
+003505 F0                MOVX    @DPTR,A
    51: }
-003576 A3                INC     DPTR
-003577 14                DEC     A
-003578 F0                MOVX    @DPTR,A
+003506 A3                INC     DPTR
+003507 14                DEC     A
+003508 F0                MOVX    @DPTR,A
    52: 
-003579 22                RET     
+003509 22                RET     
 ----- FUNCTION System_IIC_clk_setup (END) -------
 
 
@@ -10552,42 +10499,42 @@
    62: {
    63: 	System_clear_mem();
    64: 	YC_adc_init();
-00357A 120D80            LCALL   System_clear_mem
+00350A 120D80            LCALL   System_clear_mem
    65: 	g_variable.release_data =1;
-00357D B1AF              ACALL   YC_adc_init
+00350D B13F              ACALL   YC_adc_init
    66: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-00357F 904CEB            MOV     DPTR,#g_variable+02CH
-003582 7401              MOV     A,#01H
-003584 F0                MOVX    @DPTR,A
+00350F 904CEB            MOV     DPTR,#g_variable+02CH
+003512 7401              MOV     A,#01H
+003514 F0                MOVX    @DPTR,A
    67: 	g_variable.recon_count = 0;
-003585 904CE5            MOV     DPTR,#g_variable+026H
-003588 741E              MOV     A,#01EH
-00358A F0                MOVX    @DPTR,A
+003515 904CE5            MOV     DPTR,#g_variable+026H
+003518 741E              MOV     A,#01EH
+00351A F0                MOVX    @DPTR,A
    68: 	g_variable.test_buff = 0xff;
-00358B E4                CLR     A
-00358C 904CF0            MOV     DPTR,#g_variable+031H
-00358F F0                MOVX    @DPTR,A
+00351B E4                CLR     A
+00351C 904CF0            MOV     DPTR,#g_variable+031H
+00351F F0                MOVX    @DPTR,A
    69: 	le_lap_temp[0] = m_le_lap[3];
-003590 904D08            MOV     DPTR,#g_variable+049H
-003593 74FF              MOV     A,#0FFH
-003595 F0                MOVX    @DPTR,A
+003520 904D08            MOV     DPTR,#g_variable+049H
+003523 74FF              MOV     A,#0FFH
+003525 F0                MOVX    @DPTR,A
    70: 	le_lap_temp[1] = m_le_lap[4];
-003596 9044FC            MOV     DPTR,#m_le_lap+03H
-003599 E0                MOVX    A,@DPTR
-00359A 904DD0            MOV     DPTR,#le_lap_temp
-00359D F0                MOVX    @DPTR,A
+003526 9044FC            MOV     DPTR,#m_le_lap+03H
+003529 E0                MOVX    A,@DPTR
+00352A 904DD0            MOV     DPTR,#le_lap_temp
+00352D F0                MOVX    @DPTR,A
    71: 	le_lap_temp[2] = m_le_lap[5];
-00359E 9044FD            MOV     DPTR,#m_le_lap+04H
-0035A1 E0                MOVX    A,@DPTR
-0035A2 904DD1            MOV     DPTR,#le_lap_temp+01H
-0035A5 F0                MOVX    @DPTR,A
+00352E 9044FD            MOV     DPTR,#m_le_lap+04H
+003531 E0                MOVX    A,@DPTR
+003532 904DD1            MOV     DPTR,#le_lap_temp+01H
+003535 F0                MOVX    @DPTR,A
    72: }
-0035A6 9044FE            MOV     DPTR,#m_le_lap+05H
-0035A9 E0                MOVX    A,@DPTR
-0035AA 904DD2            MOV     DPTR,#le_lap_temp+02H
-0035AD F0                MOVX    @DPTR,A
+003536 9044FE            MOV     DPTR,#m_le_lap+05H
+003539 E0                MOVX    A,@DPTR
+00353A 904DD2            MOV     DPTR,#le_lap_temp+02H
+00353D F0                MOVX    @DPTR,A
    73: 
-0035AE 22                RET     
+00353E 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -10599,13 +10546,13 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-0035AF 904CD3            MOV     DPTR,#g_variable+014H
-0035B2 7405              MOV     A,#05H
-0035B4 F0                MOVX    @DPTR,A
+00353F 904CD3            MOV     DPTR,#g_variable+014H
+003542 7405              MOV     A,#05H
+003544 F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-0035B5 E4                CLR     A
-0035B6 A3                INC     DPTR
-0035B7 F0                MOVX    @DPTR,A
+003545 E4                CLR     A
+003546 A3                INC     DPTR
+003547 F0                MOVX    @DPTR,A
    10: 
    11: #ifdef ADC_TYPE_HVIN 	
    12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -10619,132 +10566,132 @@
    20: #ifdef ADC_TYPE_VINLPM
    21: 		for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-0035B8 FF                MOV     R7,A
-0035B9         ?C0001?ADC:
+003548 FF                MOV     R7,A
+003549         ?C0001?ADC:
    22: 		{
    23: 			g_variable.battery_value[i] = INIT_BATTERY_VALUE_VINLPM;
-0035B9 EF                MOV     A,R7
-0035BA 25E0              ADD     A,ACC
-0035BC 24D6              ADD     A,#LOW g_variable+017H
-0035BE F582              MOV     DPL,A
-0035C0 E4                CLR     A
-0035C1 344C              ADDC    A,#HIGH g_variable+017H
-0035C3 F583              MOV     DPH,A
-0035C5 7451              MOV     A,#051H
-0035C7 F0                MOVX    @DPTR,A
-0035C8 A3                INC     DPTR
-0035C9 F0                MOVX    @DPTR,A
+003549 EF                MOV     A,R7
+00354A 25E0              ADD     A,ACC
+00354C 24D6              ADD     A,#LOW g_variable+017H
+00354E F582              MOV     DPL,A
+003550 E4                CLR     A
+003551 344C              ADDC    A,#HIGH g_variable+017H
+003553 F583              MOV     DPH,A
+003555 7451              MOV     A,#051H
+003557 F0                MOVX    @DPTR,A
+003558 A3                INC     DPTR
+003559 F0                MOVX    @DPTR,A
    24: 		}
-0035CA 0F                INC     R7
-0035CB EF                MOV     A,R7
-0035CC B404EA            CJNE    A,#04H,?C0001?ADC
-0035CF         ?C0002?ADC:
+00355A 0F                INC     R7
+00355B EF                MOV     A,R7
+00355C B404EA            CJNE    A,#04H,?C0001?ADC
+00355F         ?C0002?ADC:
    25: 		g_variable.battery_level_full = m_adc3vValue;
-0035CF 904C93            MOV     DPTR,#m_adc3vValue
-0035D2 E0                MOVX    A,@DPTR
-0035D3 FF                MOV     R7,A
-0035D4 A3                INC     DPTR
-0035D5 E0                MOVX    A,@DPTR
-0035D6 904CFA            MOV     DPTR,#g_variable+03BH
-0035D9 CF                XCH     A,R7
-0035DA F0                MOVX    @DPTR,A
-0035DB A3                INC     DPTR
-0035DC EF                MOV     A,R7
-0035DD F0                MOVX    @DPTR,A
+00355F 904C93            MOV     DPTR,#m_adc3vValue
+003562 E0                MOVX    A,@DPTR
+003563 FF                MOV     R7,A
+003564 A3                INC     DPTR
+003565 E0                MOVX    A,@DPTR
+003566 904CFA            MOV     DPTR,#g_variable+03BH
+003569 CF                XCH     A,R7
+00356A F0                MOVX    @DPTR,A
+00356B A3                INC     DPTR
+00356C EF                MOV     A,R7
+00356D F0                MOVX    @DPTR,A
    26: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V2+m_adc0vBase;
-0035DE 904C91            MOV     DPTR,#m_adc0vBase
-0035E1 E0                MOVX    A,@DPTR
-0035E2 FE                MOV     R6,A
-0035E3 A3                INC     DPTR
-0035E4 E0                MOVX    A,@DPTR
-0035E5 FF                MOV     R7,A
-0035E6 C3                CLR     C
-0035E7 904C94            MOV     DPTR,#m_adc3vValue+01H
-0035EA E0                MOVX    A,@DPTR
-0035EB 9F                SUBB    A,R7
-0035EC FD                MOV     R5,A
-0035ED 904C93            MOV     DPTR,#m_adc3vValue
-0035F0 E0                MOVX    A,@DPTR
-0035F1 9E                SUBB    A,R6
-0035F2 FC                MOV     R4,A
-0035F3 E4                CLR     A
-0035F4 120206            LCALL   ?C?FCASTI
-0035F7 7BA4              MOV     R3,#0A4H
-0035F9 7A70              MOV     R2,#070H
-0035FB 793D              MOV     R1,#03DH
-0035FD 783F              MOV     R0,#03FH
-0035FF 1200FB            LCALL   ?C?FPMUL
-003602 C004              PUSH    AR4
-003604 C005              PUSH    AR5
-003606 C006              PUSH    AR6
-003608 C007              PUSH    AR7
-00360A 904C91            MOV     DPTR,#m_adc0vBase
-00360D E0                MOVX    A,@DPTR
-00360E FC                MOV     R4,A
-00360F A3                INC     DPTR
-003610 E0                MOVX    A,@DPTR
-003611 FD                MOV     R5,A
-003612 E4                CLR     A
-003613 120206            LCALL   ?C?FCASTI
-003616 D003              POP     AR3
-003618 D002              POP     AR2
-00361A D001              POP     AR1
-00361C D000              POP     AR0
-00361E 12000A            LCALL   ?C?FPADD
-003621 12023F            LCALL   ?C?CASTF
-003624 904CDE            MOV     DPTR,#g_variable+01FH
-003627 EE                MOV     A,R6
-003628 F0                MOVX    @DPTR,A
-003629 A3                INC     DPTR
-00362A EF                MOV     A,R7
-00362B F0                MOVX    @DPTR,A
+00356E 904C91            MOV     DPTR,#m_adc0vBase
+003571 E0                MOVX    A,@DPTR
+003572 FE                MOV     R6,A
+003573 A3                INC     DPTR
+003574 E0                MOVX    A,@DPTR
+003575 FF                MOV     R7,A
+003576 C3                CLR     C
+003577 904C94            MOV     DPTR,#m_adc3vValue+01H
+00357A E0                MOVX    A,@DPTR
+00357B 9F                SUBB    A,R7
+00357C FD                MOV     R5,A
+00357D 904C93            MOV     DPTR,#m_adc3vValue
+003580 E0                MOVX    A,@DPTR
+003581 9E                SUBB    A,R6
+003582 FC                MOV     R4,A
+003583 E4                CLR     A
+003584 120206            LCALL   ?C?FCASTI
+003587 7BA4              MOV     R3,#0A4H
+003589 7A70              MOV     R2,#070H
+00358B 793D              MOV     R1,#03DH
+00358D 783F              MOV     R0,#03FH
+00358F 1200FB            LCALL   ?C?FPMUL
+003592 C004              PUSH    AR4
+003594 C005              PUSH    AR5
+003596 C006              PUSH    AR6
+003598 C007              PUSH    AR7
+00359A 904C91            MOV     DPTR,#m_adc0vBase
+00359D E0                MOVX    A,@DPTR
+00359E FC                MOV     R4,A
+00359F A3                INC     DPTR
+0035A0 E0                MOVX    A,@DPTR
+0035A1 FD                MOV     R5,A
+0035A2 E4                CLR     A
+0035A3 120206            LCALL   ?C?FCASTI
+0035A6 D003              POP     AR3
+0035A8 D002              POP     AR2
+0035AA D001              POP     AR1
+0035AC D000              POP     AR0
+0035AE 12000A            LCALL   ?C?FPADD
+0035B1 12023F            LCALL   ?C?CASTF
+0035B4 904CDE            MOV     DPTR,#g_variable+01FH
+0035B7 EE                MOV     A,R6
+0035B8 F0                MOVX    @DPTR,A
+0035B9 A3                INC     DPTR
+0035BA EF                MOV     A,R7
+0035BB F0                MOVX    @DPTR,A
    27: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V9+m_adc0vBase;
-00362C 904C91            MOV     DPTR,#m_adc0vBase
-00362F E0                MOVX    A,@DPTR
-003630 FE                MOV     R6,A
-003631 A3                INC     DPTR
-003632 E0                MOVX    A,@DPTR
-003633 FF                MOV     R7,A
-003634 C3                CLR     C
-003635 904C94            MOV     DPTR,#m_adc3vValue+01H
-003638 E0                MOVX    A,@DPTR
-003639 9F                SUBB    A,R7
-00363A FD                MOV     R5,A
-00363B 904C93            MOV     DPTR,#m_adc3vValue
-00363E E0                MOVX    A,@DPTR
-00363F 9E                SUBB    A,R6
-003640 FC                MOV     R4,A
-003641 E4                CLR     A
-003642 120206            LCALL   ?C?FCASTI
-003645 7BAE              MOV     R3,#0AEH
-003647 7A47              MOV     R2,#047H
-003649 7921              MOV     R1,#021H
-00364B 783F              MOV     R0,#03FH
-00364D 1200FB            LCALL   ?C?FPMUL
-003650 C004              PUSH    AR4
-003652 C005              PUSH    AR5
-003654 C006              PUSH    AR6
-003656 C007              PUSH    AR7
-003658 904C91            MOV     DPTR,#m_adc0vBase
-00365B E0                MOVX    A,@DPTR
-00365C FC                MOV     R4,A
-00365D A3                INC     DPTR
-00365E E0                MOVX    A,@DPTR
-00365F FD                MOV     R5,A
-003660 E4                CLR     A
-003661 120206            LCALL   ?C?FCASTI
-003664 D003              POP     AR3
-003666 D002              POP     AR2
-003668 D001              POP     AR1
-00366A D000              POP     AR0
-00366C 12000A            LCALL   ?C?FPADD
-00366F 12023F            LCALL   ?C?CASTF
-003672 904CE0            MOV     DPTR,#g_variable+021H
-003675 EE                MOV     A,R6
-003676 F0                MOVX    @DPTR,A
-003677 A3                INC     DPTR
-003678 EF                MOV     A,R7
-003679 F0                MOVX    @DPTR,A
+0035BC 904C91            MOV     DPTR,#m_adc0vBase
+0035BF E0                MOVX    A,@DPTR
+0035C0 FE                MOV     R6,A
+0035C1 A3                INC     DPTR
+0035C2 E0                MOVX    A,@DPTR
+0035C3 FF                MOV     R7,A
+0035C4 C3                CLR     C
+0035C5 904C94            MOV     DPTR,#m_adc3vValue+01H
+0035C8 E0                MOVX    A,@DPTR
+0035C9 9F                SUBB    A,R7
+0035CA FD                MOV     R5,A
+0035CB 904C93            MOV     DPTR,#m_adc3vValue
+0035CE E0                MOVX    A,@DPTR
+0035CF 9E                SUBB    A,R6
+0035D0 FC                MOV     R4,A
+0035D1 E4                CLR     A
+0035D2 120206            LCALL   ?C?FCASTI
+0035D5 7BAE              MOV     R3,#0AEH
+0035D7 7A47              MOV     R2,#047H
+0035D9 7921              MOV     R1,#021H
+0035DB 783F              MOV     R0,#03FH
+0035DD 1200FB            LCALL   ?C?FPMUL
+0035E0 C004              PUSH    AR4
+0035E2 C005              PUSH    AR5
+0035E4 C006              PUSH    AR6
+0035E6 C007              PUSH    AR7
+0035E8 904C91            MOV     DPTR,#m_adc0vBase
+0035EB E0                MOVX    A,@DPTR
+0035EC FC                MOV     R4,A
+0035ED A3                INC     DPTR
+0035EE E0                MOVX    A,@DPTR
+0035EF FD                MOV     R5,A
+0035F0 E4                CLR     A
+0035F1 120206            LCALL   ?C?FCASTI
+0035F4 D003              POP     AR3
+0035F6 D002              POP     AR2
+0035F8 D001              POP     AR1
+0035FA D000              POP     AR0
+0035FC 12000A            LCALL   ?C?FPADD
+0035FF 12023F            LCALL   ?C?CASTF
+003602 904CE0            MOV     DPTR,#g_variable+021H
+003605 EE                MOV     A,R6
+003606 F0                MOVX    @DPTR,A
+003607 A3                INC     DPTR
+003608 EF                MOV     A,R7
+003609 F0                MOVX    @DPTR,A
    28: #endif
    29: #ifdef ADC_TYPE_GPIO
    30: 	m_adc_channel = ADC_CHANNEL;
@@ -10760,7 +10707,7 @@
    40: 	m_le_battery_level_display_enable = 0;
    41: #endif
    42: }
-00367A 22                RET     
+00360A 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -10770,13 +10717,13 @@
    75: {
    76: 	m_reset_reg = 1;
    77: 	while(1);
-00367B 908010            MOV     DPTR,#m_reset_reg
-00367E 7401              MOV     A,#01H
-003680 F0                MOVX    @DPTR,A
-003681         ?C0005?SYS:
+00360B 908010            MOV     DPTR,#m_reset_reg
+00360E 7401              MOV     A,#01H
+003610 F0                MOVX    @DPTR,A
+003611         ?C0005?SYS:
    78: }
-003681 80FE              SJMP    ?C0005?SYS
-003683 22                RET     
+003611 80FE              SJMP    ?C0005?SYS
+003613 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -10786,7 +10733,7 @@
   102: {
   103: 	System_Hardware_reset();
   104: }
-003684 80F5              SJMP    System_Hardware_reset
+003614 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -10794,253 +10741,253 @@
  FILE: 'sys.c'
   111: static void kb_cb_Hid(byte *p,byte len) {
   112: 	//p[0] is hid type,always is 1(kb) now
-003686 904F01            MOV     DPTR,#len
-003689 ED                MOV     A,R5
-00368A F0                MOVX    @DPTR,A
+003616 904F01            MOV     DPTR,#len
+003619 ED                MOV     A,R5
+00361A F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
   113: 	byte temp = p[1];
-00368B 900001            MOV     DPTR,#01H
-00368E 1203CF            LCALL   ?C?CLDOPTR
-003691 904F02            MOV     DPTR,#temp
-003694 F0                MOVX    @DPTR,A
+00361B 900001            MOV     DPTR,#01H
+00361E 1203CF            LCALL   ?C?CLDOPTR
+003621 904F02            MOV     DPTR,#temp
+003624 F0                MOVX    @DPTR,A
   114: 
   115: 	if (len<2) {
   116: 		return;
   117: 	}
   118: }
-003695 22                RET     
+003625 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-003696 904EE2            MOV     DPTR,#rptr
-003699 EE                MOV     A,R6
-00369A F0                MOVX    @DPTR,A
-00369B A3                INC     DPTR
-00369C EF                MOV     A,R7
-00369D F0                MOVX    @DPTR,A
-00369E 904EE4            MOV     DPTR,#wptr
-0036A1 EC                MOV     A,R4
-0036A2 F0                MOVX    @DPTR,A
-0036A3 A3                INC     DPTR
-0036A4 ED                MOV     A,R5
-0036A5 F0                MOVX    @DPTR,A
+003626 904EE2            MOV     DPTR,#rptr
+003629 EE                MOV     A,R6
+00362A F0                MOVX    @DPTR,A
+00362B A3                INC     DPTR
+00362C EF                MOV     A,R7
+00362D F0                MOVX    @DPTR,A
+00362E 904EE4            MOV     DPTR,#wptr
+003631 EC                MOV     A,R4
+003632 F0                MOVX    @DPTR,A
+003633 A3                INC     DPTR
+003634 ED                MOV     A,R5
+003635 F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-0036A6 904EE4            MOV     DPTR,#wptr
-0036A9 E0                MOVX    A,@DPTR
-0036AA FE                MOV     R6,A
-0036AB A3                INC     DPTR
-0036AC E0                MOVX    A,@DPTR
-0036AD FF                MOV     R7,A
-0036AE D3                SETB    C
-0036AF 904EE3            MOV     DPTR,#rptr+01H
-0036B2 E0                MOVX    A,@DPTR
-0036B3 9F                SUBB    A,R7
-0036B4 904EE2            MOV     DPTR,#rptr
-0036B7 E0                MOVX    A,@DPTR
-0036B8 9E                SUBB    A,R6
-0036B9 4016              JC      ?C0001?IPC
-0036BB 904EE4            MOV     DPTR,#wptr
-0036BE E0                MOVX    A,@DPTR
-0036BF FE                MOV     R6,A
-0036C0 A3                INC     DPTR
-0036C1 E0                MOVX    A,@DPTR
-0036C2 FF                MOV     R7,A
-0036C3 904EE3            MOV     DPTR,#rptr+01H
-0036C6 E0                MOVX    A,@DPTR
-0036C7 9F                SUBB    A,R7
-0036C8 FF                MOV     R7,A
-0036C9 904EE2            MOV     DPTR,#rptr
-0036CC E0                MOVX    A,@DPTR
-0036CD 9E                SUBB    A,R6
-0036CE FE                MOV     R6,A
-0036CF 801E              SJMP    ?C0002?IPC
-0036D1         ?C0001?IPC:
-0036D1 904EE2            MOV     DPTR,#rptr
-0036D4 E0                MOVX    A,@DPTR
-0036D5 FE                MOV     R6,A
-0036D6 A3                INC     DPTR
-0036D7 E0                MOVX    A,@DPTR
-0036D8 FF                MOV     R7,A
-0036D9 C3                CLR     C
-0036DA 904EE5            MOV     DPTR,#wptr+01H
-0036DD E0                MOVX    A,@DPTR
-0036DE 9F                SUBB    A,R7
-0036DF FF                MOV     R7,A
-0036E0 904EE4            MOV     DPTR,#wptr
-0036E3 E0                MOVX    A,@DPTR
-0036E4 9E                SUBB    A,R6
-0036E5 FE                MOV     R6,A
-0036E6 AD03              MOV     R5,AR3
-0036E8 C3                CLR     C
-0036E9 EB                MOV     A,R3
-0036EA 9F                SUBB    A,R7
-0036EB FF                MOV     R7,A
-0036EC E4                CLR     A
-0036ED 9E                SUBB    A,R6
-0036EE FE                MOV     R6,A
-0036EF         ?C0002?IPC:
-0036EF 22                RET     
+003636 904EE4            MOV     DPTR,#wptr
+003639 E0                MOVX    A,@DPTR
+00363A FE                MOV     R6,A
+00363B A3                INC     DPTR
+00363C E0                MOVX    A,@DPTR
+00363D FF                MOV     R7,A
+00363E D3                SETB    C
+00363F 904EE3            MOV     DPTR,#rptr+01H
+003642 E0                MOVX    A,@DPTR
+003643 9F                SUBB    A,R7
+003644 904EE2            MOV     DPTR,#rptr
+003647 E0                MOVX    A,@DPTR
+003648 9E                SUBB    A,R6
+003649 4016              JC      ?C0001?IPC
+00364B 904EE4            MOV     DPTR,#wptr
+00364E E0                MOVX    A,@DPTR
+00364F FE                MOV     R6,A
+003650 A3                INC     DPTR
+003651 E0                MOVX    A,@DPTR
+003652 FF                MOV     R7,A
+003653 904EE3            MOV     DPTR,#rptr+01H
+003656 E0                MOVX    A,@DPTR
+003657 9F                SUBB    A,R7
+003658 FF                MOV     R7,A
+003659 904EE2            MOV     DPTR,#rptr
+00365C E0                MOVX    A,@DPTR
+00365D 9E                SUBB    A,R6
+00365E FE                MOV     R6,A
+00365F 801E              SJMP    ?C0002?IPC
+003661         ?C0001?IPC:
+003661 904EE2            MOV     DPTR,#rptr
+003664 E0                MOVX    A,@DPTR
+003665 FE                MOV     R6,A
+003666 A3                INC     DPTR
+003667 E0                MOVX    A,@DPTR
+003668 FF                MOV     R7,A
+003669 C3                CLR     C
+00366A 904EE5            MOV     DPTR,#wptr+01H
+00366D E0                MOVX    A,@DPTR
+00366E 9F                SUBB    A,R7
+00366F FF                MOV     R7,A
+003670 904EE4            MOV     DPTR,#wptr
+003673 E0                MOVX    A,@DPTR
+003674 9E                SUBB    A,R6
+003675 FE                MOV     R6,A
+003676 AD03              MOV     R5,AR3
+003678 C3                CLR     C
+003679 EB                MOV     A,R3
+00367A 9F                SUBB    A,R7
+00367B FF                MOV     R7,A
+00367C E4                CLR     A
+00367D 9E                SUBB    A,R6
+00367E FE                MOV     R6,A
+00367F         ?C0002?IPC:
+00367F 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _IPC_TxBREDRHidData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-0036F0 900BE7            MOV     DPTR,#ipcSendBuff
-0036F3 7403              MOV     A,#03H
-0036F5 F0                MOVX    @DPTR,A
-0036F6 ED                MOV     A,R5
-0036F7 6003              JZ      ?C0017?IPC
-0036F9         ?C0016?IPC:
-0036F9 120FE5            LCALL   _IPC_TxData
-0036FC         ?C0017?IPC:
-0036FC 22                RET     
+003680 900BE7            MOV     DPTR,#ipcSendBuff
+003683 7403              MOV     A,#03H
+003685 F0                MOVX    @DPTR,A
+003686 ED                MOV     A,R5
+003687 6003              JZ      ?C0017?IPC
+003689         ?C0016?IPC:
+003689 120FE5            LCALL   _IPC_TxData
+00368C         ?C0017?IPC:
+00368C 22                RET     
 ----- FUNCTION _IPC_TxBREDRHidData (END) -------
 
 
 ----- FUNCTION _IPC_TxSppData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-0036FD 900BE7            MOV     DPTR,#ipcSendBuff
-003700 7404              MOV     A,#04H
-003702 F0                MOVX    @DPTR,A
-003703 020FE5            LJMP    _IPC_TxData
+00368D 900BE7            MOV     DPTR,#ipcSendBuff
+003690 7404              MOV     A,#04H
+003692 F0                MOVX    @DPTR,A
+003693 020FE5            LJMP    _IPC_TxData
 ----- FUNCTION _IPC_TxSppData (END) -------
 
 
 ----- FUNCTION _IPC_TxBleData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003706 900BE7            MOV     DPTR,#ipcSendBuff
-003709 7405              MOV     A,#05H
-00370B F0                MOVX    @DPTR,A
-00370C 020FE5            LJMP    _IPC_TxData
+003696 900BE7            MOV     DPTR,#ipcSendBuff
+003699 7405              MOV     A,#05H
+00369B F0                MOVX    @DPTR,A
+00369C 020FE5            LJMP    _IPC_TxData
 ----- FUNCTION _IPC_TxBleData (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-00370F 900446            MOV     DPTR,#bbDisReason
-003712 E0                MOVX    A,@DPTR
-003713 FF                MOV     R7,A
-003714 22                RET     
+00369F 900446            MOV     DPTR,#bbDisReason
+0036A2 E0                MOVX    A,@DPTR
+0036A3 FF                MOV     R7,A
+0036A4 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-003715 900B7F            MOV     DPTR,#lpm_flag
-003718 7401              MOV     A,#01H
-00371A F0                MOVX    @DPTR,A
-00371B E4                CLR     A
-00371C 900B7E            MOV     DPTR,#current_task
-00371F F0                MOVX    @DPTR,A
-003720 22                RET     
+0036A5 900B7F            MOV     DPTR,#lpm_flag
+0036A8 7401              MOV     A,#01H
+0036AA F0                MOVX    @DPTR,A
+0036AB E4                CLR     A
+0036AC 900B7E            MOV     DPTR,#current_task
+0036AF F0                MOVX    @DPTR,A
+0036B0 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-003721 908280            MOV     DPTR,#08280H
-003724 7401              MOV     A,#01H
-003726 F0                MOVX    @DPTR,A
-003727 22                RET     
+0036B1 908280            MOV     DPTR,#08280H
+0036B4 7401              MOV     A,#01H
+0036B6 F0                MOVX    @DPTR,A
+0036B7 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-003728 EF                MOV     A,R7
-003729 F4                CPL     A
-00372A 603A              JZ      ?C0023?GPIO
-00372C         ?C0022?GPIO:
-00372C EF                MOV     A,R7
-00372D 5407              ANL     A,#07H
-00372F FE                MOV     R6,A
+0036B8 EF                MOV     A,R7
+0036B9 F4                CPL     A
+0036BA 603A              JZ      ?C0023?GPIO
+0036BC         ?C0022?GPIO:
+0036BC EF                MOV     A,R7
+0036BD 5407              ANL     A,#07H
+0036BF FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-003730 EF                MOV     A,R7
-003731 13                RRC     A
-003732 13                RRC     A
-003733 13                RRC     A
-003734 5403              ANL     A,#03H
-003736 FF                MOV     R7,A
+0036C0 EF                MOV     A,R7
+0036C1 13                RRC     A
+0036C2 13                RRC     A
+0036C3 13                RRC     A
+0036C4 5403              ANL     A,#03H
+0036C6 FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-003737 24A3              ADD     A,#LOW YC_GPIOWakeupL
-003739 F582              MOV     DPL,A
-00373B E4                CLR     A
-00373C 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-00373E F583              MOV     DPH,A
-003740 C083              PUSH    DPH
-003742 C082              PUSH    DPL
-003744 E0                MOVX    A,@DPTR
-003745 FD                MOV     R5,A
-003746 7401              MOV     A,#01H
-003748 A806              MOV     R0,AR6
-00374A 08                INC     R0
-00374B 8002              SJMP    ?C0043?GPIO
-00374D         ?C0042?GPIO:
-00374D C3                CLR     C
-00374E 33                RLC     A
-00374F         ?C0043?GPIO:
-00374F D8FC              DJNZ    R0,?C0042?GPIO
-003751 F4                CPL     A
-003752 FC                MOV     R4,A
-003753 5D                ANL     A,R5
-003754 D082              POP     DPL
-003756 D083              POP     DPH
-003758 F0                MOVX    @DPTR,A
-003759 74A7              MOV     A,#LOW YC_GPIOWakeupH
-00375B 2F                ADD     A,R7
-00375C F582              MOV     DPL,A
-00375E E4                CLR     A
-00375F 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-003761 F583              MOV     DPH,A
-003763 E0                MOVX    A,@DPTR
-003764 5C                ANL     A,R4
-003765 F0                MOVX    @DPTR,A
-003766         ?C0023?GPIO:
-003766 22                RET     
+0036C7 24A3              ADD     A,#LOW YC_GPIOWakeupL
+0036C9 F582              MOV     DPL,A
+0036CB E4                CLR     A
+0036CC 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0036CE F583              MOV     DPH,A
+0036D0 C083              PUSH    DPH
+0036D2 C082              PUSH    DPL
+0036D4 E0                MOVX    A,@DPTR
+0036D5 FD                MOV     R5,A
+0036D6 7401              MOV     A,#01H
+0036D8 A806              MOV     R0,AR6
+0036DA 08                INC     R0
+0036DB 8002              SJMP    ?C0043?GPIO
+0036DD         ?C0042?GPIO:
+0036DD C3                CLR     C
+0036DE 33                RLC     A
+0036DF         ?C0043?GPIO:
+0036DF D8FC              DJNZ    R0,?C0042?GPIO
+0036E1 F4                CPL     A
+0036E2 FC                MOV     R4,A
+0036E3 5D                ANL     A,R5
+0036E4 D082              POP     DPL
+0036E6 D083              POP     DPH
+0036E8 F0                MOVX    @DPTR,A
+0036E9 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0036EB 2F                ADD     A,R7
+0036EC F582              MOV     DPL,A
+0036EE E4                CLR     A
+0036EF 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0036F1 F583              MOV     DPH,A
+0036F3 E0                MOVX    A,@DPTR
+0036F4 5C                ANL     A,R4
+0036F5 F0                MOVX    @DPTR,A
+0036F6         ?C0023?GPIO:
+0036F6 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-003767 E4                CLR     A
-003768 FF                MOV     R7,A
-003769         ?C0026?GPIO:
-003769 EF                MOV     A,R7
-00376A FD                MOV     R5,A
-00376B 7C00              MOV     R4,#00H
-00376D 2478              ADD     A,#078H
-00376F FB                MOV     R3,A
-003770 EC                MOV     A,R4
-003771 3480              ADDC    A,#080H
-003773 8B82              MOV     DPL,R3
-003775 F583              MOV     DPH,A
-003777 E0                MOVX    A,@DPTR
-003778 FE                MOV     R6,A
-003779 ED                MOV     A,R5
-00377A 2470              ADD     A,#070H
-00377C FD                MOV     R5,A
-00377D EC                MOV     A,R4
-00377E 3480              ADDC    A,#080H
-003780 8D82              MOV     DPL,R5
-003782 F583              MOV     DPH,A
-003784 E0                MOVX    A,@DPTR
-003785 4E                ORL     A,R6
-003786 F4                CPL     A
-003787 FE                MOV     R6,A
-003788 EF                MOV     A,R7
-003789 247C              ADD     A,#07CH
-00378B FD                MOV     R5,A
-00378C EC                MOV     A,R4
-00378D 3480              ADDC    A,#080H
-00378F 8D82              MOV     DPL,R5
-003791 F583              MOV     DPH,A
-003793 EE                MOV     A,R6
-003794 F0                MOVX    @DPTR,A
-003795 0F                INC     R7
-003796 EF                MOV     A,R7
-003797 B404CF            CJNE    A,#04H,?C0026?GPIO
-00379A 22                RET     
+0036F7 E4                CLR     A
+0036F8 FF                MOV     R7,A
+0036F9         ?C0026?GPIO:
+0036F9 EF                MOV     A,R7
+0036FA FD                MOV     R5,A
+0036FB 7C00              MOV     R4,#00H
+0036FD 2478              ADD     A,#078H
+0036FF FB                MOV     R3,A
+003700 EC                MOV     A,R4
+003701 3480              ADDC    A,#080H
+003703 8B82              MOV     DPL,R3
+003705 F583              MOV     DPH,A
+003707 E0                MOVX    A,@DPTR
+003708 FE                MOV     R6,A
+003709 ED                MOV     A,R5
+00370A 2470              ADD     A,#070H
+00370C FD                MOV     R5,A
+00370D EC                MOV     A,R4
+00370E 3480              ADDC    A,#080H
+003710 8D82              MOV     DPL,R5
+003712 F583              MOV     DPH,A
+003714 E0                MOVX    A,@DPTR
+003715 4E                ORL     A,R6
+003716 F4                CPL     A
+003717 FE                MOV     R6,A
+003718 EF                MOV     A,R7
+003719 247C              ADD     A,#07CH
+00371B FD                MOV     R5,A
+00371C EC                MOV     A,R4
+00371D 3480              ADDC    A,#080H
+00371F 8D82              MOV     DPL,R5
+003721 F583              MOV     DPH,A
+003723 EE                MOV     A,R6
+003724 F0                MOVX    @DPTR,A
+003725 0F                INC     R7
+003726 EF                MOV     A,R7
+003727 B404CF            CJNE    A,#04H,?C0026?GPIO
+00372A 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /XZR_Project/XZR_1086_AK8048/c51/output/FW.HTM	(revision 779)
+++ /XZR_Project/XZR_1086_AK8048/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>09/14/2023  11:21:35</b><p>
+Creation time: <b>10/13/2023  14:15:11</b><p>
 
 <hr>
 
@@ -55,19 +55,19 @@
 <li><a href="#S109">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S103"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:00367BH - C:003683H)</h2>
+<h2><a name="S103"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:00360BH - C:003613H)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S106">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
 </ul>
 
-<h2><a name="S106"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:003684H - C:003685H)</h2>
+<h2><a name="S106"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:003614H - C:003615H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S103">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
 </ul>
 
-<h2><a name="S107"></a>?PR?_KB_CB_HID?SYS (C:003686H - C:003695H)</h2>
+<h2><a name="S107"></a>?PR?_KB_CB_HID?SYS (C:003616H - C:003625H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S216">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -162,14 +162,14 @@
 <li><a href="#S119">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S137"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:0036F0H - C:0036FCH)</h2>
+<h2><a name="S137"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:003680H - C:00368CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S135">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S135">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S139"></a>?PR?_IPC_TXSPPDATA?IPC (C:0036FDH - C:003705H)</h2>
+<h2><a name="S139"></a>?PR?_IPC_TXSPPDATA?IPC (C:00368DH - C:003695H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S135">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -437,7 +437,7 @@
 <li><a href="#S71">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S71"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:00310FH - C:00344AH)</h2>
+<h2><a name="S71"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:00310FH - C:0033DAH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S70">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a>) Top=6 Bytes (<a href="#S92">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -464,7 +464,7 @@
 <li><a href="#S66">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S75"></a>?PR?_GPIO_SETINPUT_NO_PUPD?KEYSCAN (C:00344BH - C:00346EH)</h2>
+<h2><a name="S75"></a>?PR?_GPIO_SETINPUT_NO_PUPD?KEYSCAN (C:0033DBH - C:0033FEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S187">?PR?_GPIO_SETPD?GPIO</a>) Top=6 Bytes (<a href="#S83">?PR?KSCOLINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -506,7 +506,7 @@
 <li><a href="#S92">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S81"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:00354AH - C:003566H)</h2>
+<h2><a name="S81"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:0034DAH - C:0034F6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S191">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S85">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -518,7 +518,7 @@
 <li><a href="#S85">?PR?KS_INITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S83"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:003521H - C:00353CH)</h2>
+<h2><a name="S83"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:0034B1H - C:0034CCH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S75">?PR?_GPIO_SETINPUT_NO_PUPD?KEYSCAN</a>) Top=4 Bytes (<a href="#S85">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -530,7 +530,7 @@
 <li><a href="#S85">?PR?KS_INITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S85"></a>?PR?KS_INITIALIZE?KEYSCAN (C:00353DH - C:003549H)</h2>
+<h2><a name="S85"></a>?PR?KS_INITIALIZE?KEYSCAN (C:0034CDH - C:0034D9H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S81">?PR?KSRAWINITIALIZE?KEYSCAN</a>) Top=4 Bytes (<a href="#S101">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -668,7 +668,7 @@
 <li><a href="#S102">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S100"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:003567H - C:003579H)</h2>
+<h2><a name="S100"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:0034F7H - C:003509H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S101">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -690,7 +690,7 @@
 <li><a href="#S109">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S102"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:00357AH - C:0035AEH)</h2>
+<h2><a name="S102"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:00350AH - C:00353EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S122">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S109">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -801,7 +801,7 @@
 <li><a href="#S119">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S122"></a>?PR?YC_ADC_INIT?ADC (C:0035AFH - C:00367AH)</h2>
+<h2><a name="S122"></a>?PR?YC_ADC_INIT?ADC (C:00353FH - C:00360AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S216">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S102">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -839,7 +839,7 @@
 <li><a href="#S116">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S127"></a>?PR?_BUFSIZE?IPC (C:003696H - C:0036EFH)</h2>
+<h2><a name="S127"></a>?PR?_BUFSIZE?IPC (C:003626H - C:00367FH)</h2>
 <p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S131">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -915,7 +915,7 @@
 <li><a href="#S56">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S140"></a>?PR?_IPC_TXBLEDATA?IPC (C:003706H - C:00370EH)</h2>
+<h2><a name="S140"></a>?PR?_IPC_TXBLEDATA?IPC (C:003696H - C:00369EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S135">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S56">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -940,7 +940,7 @@
 <li><a href="#S119">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S144"></a>?PR?IPC_ABANDONLPM?IPC (C:003715H - C:003720H)</h2>
+<h2><a name="S144"></a>?PR?IPC_ABANDONLPM?IPC (C:0036A5H - C:0036B0H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S119">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1049,7 +1049,7 @@
 <li><a href="#S92">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S177"></a>?PR?_GPIOSETBIT?GPIO (C:0034C0H - C:003520H)</h2>
+<h2><a name="S177"></a>?PR?_GPIOSETBIT?GPIO (C:003450H - C:0034B0H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S216">?C?LIB_CODE</a>) Top=14 Bytes (<a href="#S183">?PR?_GPIO_SETOUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1105,7 +1105,7 @@
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S185"></a>?PR?_GPIO_SETPU?GPIO (C:00346FH - C:00347FH)</h2>
+<h2><a name="S185"></a>?PR?_GPIO_SETPU?GPIO (C:0033FFH - C:00340FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S177">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S191">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1119,7 +1119,7 @@
 <li><a href="#S193">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S187"></a>?PR?_GPIO_SETPD?GPIO (C:003480H - C:003490H)</h2>
+<h2><a name="S187"></a>?PR?_GPIO_SETPD?GPIO (C:003410H - C:003420H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S177">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S191">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1132,7 +1132,7 @@
 <li><a href="#S75">?PR?_GPIO_SETINPUT_NO_PUPD?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S189"></a>?PR?_GPIO_SETOE?GPIO (C:0034AFH - C:0034BFH)</h2>
+<h2><a name="S189"></a>?PR?_GPIO_SETOE?GPIO (C:00343FH - C:00344FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S177">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S191">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1146,7 +1146,7 @@
 <li><a href="#S193">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S191"></a>?PR?_GPIO_SETINPUT?GPIO (C:003491H - C:0034AEH)</h2>
+<h2><a name="S191"></a>?PR?_GPIO_SETINPUT?GPIO (C:003421H - C:00343EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S187">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S81">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1200,7 +1200,7 @@
 <li><a href="#S111">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S204"></a>?PR?GPIO_FILLPD?GPIO (C:003767H - C:00379AH)</h2>
+<h2><a name="S204"></a>?PR?GPIO_FILLPD?GPIO (C:0036F7H - C:00372AH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S86">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
Index: c51/output/FW.MAP
===================================================================
--- /XZR_Project/XZR_1086_AK8048/c51/output/FW.MAP	(revision 779)
+++ /XZR_Project/XZR_1086_AK8048/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               09/14/2023  11:21:35  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               10/13/2023  14:15:11  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   00038EH   XDATA
-C:000000H   C:000000H   C:00FFFFH   0036E5H   CODE
+C:000000H   C:000000H   C:00FFFFH   003675H   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
@@ -200,31 +200,31 @@
 002F3BH   002FE4H   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
 002FE5H   0030E9H   000105H   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
 0030EAH   00310EH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-00310FH   00344AH   00033CH   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-00344BH   00346EH   000024H   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT_NO_PUPD?KEYSCAN
-00346FH   00347FH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
-003480H   003490H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
-003491H   0034AEH   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
-0034AFH   0034BFH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
-0034C0H   003520H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
-003521H   00353CH   00001CH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
-00353DH   003549H   00000DH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
-00354AH   003566H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
-003567H   003579H   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
-00357AH   0035AEH   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-0035AFH   00367AH   0000CCH   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-00367BH   003683H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-003684H   003685H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-003686H   003695H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-003696H   0036EFH   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-0036F0H   0036FCH   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
-0036FDH   003705H   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
-003706H   00370EH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
-00370FH   003714H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-003715H   003720H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-003721H   003727H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-003728H   003766H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-003767H   00379AH   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+00310FH   0033DAH   0002CCH   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+0033DBH   0033FEH   000024H   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT_NO_PUPD?KEYSCAN
+0033FFH   00340FH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+003410H   003420H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+003421H   00343EH   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+00343FH   00344FH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+003450H   0034B0H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+0034B1H   0034CCH   00001CH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
+0034CDH   0034D9H   00000DH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
+0034DAH   0034F6H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
+0034F7H   003509H   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
+00350AH   00353EH   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+00353FH   00360AH   0000CCH   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+00360BH   003613H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+003614H   003615H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+003616H   003625H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+003626H   00367FH   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+003680H   00368CH   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
+00368DH   003695H   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
+003696H   00369EH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
+00369FH   0036A4H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+0036A5H   0036B0H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+0036B1H   0036B7H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+0036B8H   0036F6H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+0036F7H   00372AH   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
 
 * * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
 000040H   000045H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?30
@@ -412,16 +412,16 @@
       01002E9BH   CODE     ---       _compare_str
       01001626H   CODE     ---       _Delay1ms
       010022FAH   CODE     ---       _dmemcpy
-      01003728H   CODE     ---       _GPIO_ClearWakeup
+      010036B8H   CODE     ---       _GPIO_ClearWakeup
       01001F80H   CODE     ---       _GPIO_FlipOutBit
       01001F3BH   CODE     ---       _GPIO_GetInputStatus
-      01003491H   CODE     ---       _GPIO_SetInput
-      0100344BH   CODE     ---       _GPIO_SetInput_no_pupd
-      010034AFH   CODE     ---       _GPIO_Setoe
+      01003421H   CODE     ---       _GPIO_SetInput
+      010033DBH   CODE     ---       _GPIO_SetInput_no_pupd
+      0100343FH   CODE     ---       _GPIO_Setoe
       01000F70H   CODE     ---       _GPIO_Setout
       01000FC2H   CODE     ---       _GPIO_SetOutput
-      01003480H   CODE     ---       _GPIO_SetPd
-      0100346FH   CODE     ---       _GPIO_SetPu
+      01003410H   CODE     ---       _GPIO_SetPd
+      010033FFH   CODE     ---       _GPIO_SetPu
       010019FAH   CODE     ---       _GPIO_SetWakeup
       010019E7H   CODE     ---       _GPIO_SetWakeupByCurrentState
       010020F5H   CODE     ---       _IIC_Read
@@ -429,12 +429,12 @@
       01001B3BH   CODE     ---       _IIC_WriteBlock
       01001F2EH   CODE     ---       _IPC_Initialize
       01000FDFH   CODE     ---       _IPC_Tx24GData
-      01003706H   CODE     ---       _IPC_TxBleData
-      010036F0H   CODE     ---       _IPC_TxBREDRHidData
+      01003696H   CODE     ---       _IPC_TxBleData
+      01003680H   CODE     ---       _IPC_TxBREDRHidData
       0100109DH   CODE     ---       _IPC_TxControlCmd
       01000FE5H   CODE     ---       _IPC_TxData
       01000C71H   CODE     ---       _IPC_TxHidData
-      010036FDH   CODE     ---       _IPC_TxSppData
+      0100368DH   CODE     ---       _IPC_TxSppData
       010030EAH   CODE     ---       _kb_combination_key_press
       01002FE5H   CODE     ---       _kb_device_select
       010008C0H   CODE     ---       _kb_motion_keyscan
@@ -473,12 +473,12 @@
       02004DDAH   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD7H   XDATA    BYTE      get_24g_led_send
-      01003767H   CODE     ---       GPIO_fillpd
+      010036F7H   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DE4H   XDATA    BYTE      iOS_rec_pinCode
-      01003715H   CODE     ---       IPC_AbandonLpm
+      010036A5H   CODE     ---       IPC_AbandonLpm
       01001CCFH   CODE     ---       IPC_DealSingleStep
-      0100370FH   CODE     ---       IPC_GetBBDIsconnectReason
+      0100369FH   CODE     ---       IPC_GetBBDIsconnectReason
       01002E53H   CODE     ---       IPC_IsTxBuffEmpty
       010017E7H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
@@ -491,7 +491,7 @@
       02004DEBH   XDATA    BYTE      key_value_temp
       02004DE7H   XDATA    BYTE      keyCount
       01002A3DH   CODE     ---       KS_GetCurrentEvt
-      0100353DH   CODE     ---       KS_Initialize
+      010034CDH   CODE     ---       KS_Initialize
       01002C97H   CODE     ---       KS_ScanMatrix
       0100194EH   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
@@ -558,11 +558,11 @@
       01001BEAH   CODE     ---       System_G24_long_lpm
       02004DECH   XDATA    BYTE      system_key_press
       010017C3H   CODE     ---       System_long_sleep
-      01003684H   CODE     ---       System_Reset_Connect
-      0100357AH   CODE     ---       System_Software_init
+      01003614H   CODE     ---       System_Reset_Connect
+      0100350AH   CODE     ---       System_Software_init
       01002432H   CODE     ---       YC_adc_check
       010022E9H   CODE     ---       YC_adc_check_timer500ms
-      010035AFH   CODE     ---       YC_adc_init
+      0100353FH   CODE     ---       YC_adc_init
       010017D6H   CODE     ---       YC_cancel_reconnect
       01001821H   CODE     ---       YC_check_is_connected
       01001FECH   CODE     ---       YC_check_need_reconnected
@@ -573,7 +573,7 @@
       010020B2H   CODE     ---       YC_get_ble_ramdon_lap
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      01003721H   CODE     ---       YC_Ice_break
+      010036B1H   CODE     ---       YC_Ice_break
       010022A0H   CODE     ---       YC_pairing_timerout_500ms
       01002083H   CODE     ---       YC_start_reconnect
       010018E1H   CODE     ---       YC_System_Main
@@ -1429,330 +1429,306 @@
       01003127H   LINE      ---      ---       #785
       0100312AH   LINE      ---      ---       #786
       0100312AH   LINE      ---      ---       #787
-      01003134H   LINE      ---      ---       #788
-      01003134H   LINE      ---      ---       #789
-      0100313AH   LINE      ---      ---       #790
-      0100313AH   LINE      ---      ---       #791
-      0100313CH   LINE      ---      ---       #792
-      01003144H   LINE      ---      ---       #793
-      01003144H   LINE      ---      ---       #794
-      0100314EH   LINE      ---      ---       #795
-      0100314EH   LINE      ---      ---       #796
-      01003154H   LINE      ---      ---       #797
-      01003154H   LINE      ---      ---       #798
-      01003156H   LINE      ---      ---       #799
-      0100315AH   LINE      ---      ---       #800
-      0100315AH   LINE      ---      ---       #801
-      01003162H   LINE      ---      ---       #802
-      01003162H   LINE      ---      ---       #803
-      0100316EH   LINE      ---      ---       #804
-      01003174H   LINE      ---      ---       #805
-      01003174H   LINE      ---      ---       #806
-      01003176H   LINE      ---      ---       #807
-      0100317EH   LINE      ---      ---       #808
-      0100317EH   LINE      ---      ---       #809
-      01003186H   LINE      ---      ---       #810
-      01003186H   LINE      ---      ---       #811
-      01003192H   LINE      ---      ---       #812
-      01003198H   LINE      ---      ---       #813
-      01003198H   LINE      ---      ---       #814
-      0100319AH   LINE      ---      ---       #815
-      0100319EH   LINE      ---      ---       #816
-      0100319EH   LINE      ---      ---       #817
-      010031A6H   LINE      ---      ---       #818
-      010031A6H   LINE      ---      ---       #819
-      010031B2H   LINE      ---      ---       #820
-      010031B8H   LINE      ---      ---       #821
-      010031B8H   LINE      ---      ---       #822
-      010031BAH   LINE      ---      ---       #823
-      010031C1H   LINE      ---      ---       #824
-      010031C1H   LINE      ---      ---       #825
-      010031C8H   LINE      ---      ---       #826
-      010031C8H   LINE      ---      ---       #827
-      010031D4H   LINE      ---      ---       #828
-      010031DAH   LINE      ---      ---       #829
-      010031DAH   LINE      ---      ---       #830
-      010031DAH   LINE      ---      ---       #833
-      010031E4H   LINE      ---      ---       #834
-      010031E4H   LINE      ---      ---       #835
-      010031E8H   LINE      ---      ---       #836
-      010031F0H   LINE      ---      ---       #837
-      010031F4H   LINE      ---      ---       #838
-      010031FCH   LINE      ---      ---       #839
-      01003200H   LINE      ---      ---       #840
-      01003208H   LINE      ---      ---       #841
-      0100320CH   LINE      ---      ---       #842
-      0100320CH   LINE      ---      ---       #843
-      01003214H   LINE      ---      ---       #844
-      01003219H   LINE      ---      ---       #845
-      0100321BH   LINE      ---      ---       #846
-      0100321FH   LINE      ---      ---       #847
-      0100321FH   LINE      ---      ---       #848
-      01003227H   LINE      ---      ---       #849
-      0100322CH   LINE      ---      ---       #850
-      0100322EH   LINE      ---      ---       #851
-      01003232H   LINE      ---      ---       #852
-      01003232H   LINE      ---      ---       #853
-      0100323AH   LINE      ---      ---       #854
-      0100323FH   LINE      ---      ---       #855
-      01003241H   LINE      ---      ---       #856
-      01003245H   LINE      ---      ---       #857
-      01003245H   LINE      ---      ---       #858
-      0100324DH   LINE      ---      ---       #859
-      01003252H   LINE      ---      ---       #860
-      01003254H   LINE      ---      ---       #861
-      01003258H   LINE      ---      ---       #862
-      01003258H   LINE      ---      ---       #863
-      01003260H   LINE      ---      ---       #864
-      01003264H   LINE      ---      ---       #865
-      01003264H   LINE      ---      ---       #866
-      0100326AH   LINE      ---      ---       #867
-      0100326AH   LINE      ---      ---       #868
-      0100326FH   LINE      ---      ---       #869
-      0100326FH   LINE      ---      ---       #871
-      0100326FH   LINE      ---      ---       #874
-      01003279H   LINE      ---      ---       #875
-      01003279H   LINE      ---      ---       #876
-      010032B1H   LINE      ---      ---       #877
-      010032B1H   LINE      ---      ---       #878
-      010032B1H   LINE      ---      ---       #879
-      010032B9H   LINE      ---      ---       #880
-      010032B9H   LINE      ---      ---       #881
-      010032BCH   LINE      ---      ---       #882
-      010032CCH   LINE      ---      ---       #883
-      010032CCH   LINE      ---      ---       #884
-      010032E4H   LINE      ---      ---       #885
-      010032EAH   LINE      ---      ---       #886
-      010032ECH   LINE      ---      ---       #888
-      010032ECH   LINE      ---      ---       #889
-      010032F2H   LINE      ---      ---       #890
-      010032F2H   LINE      ---      ---       #891
-      010032F2H   LINE      ---      ---       #892
-      010032F6H   LINE      ---      ---       #893
-      010032FCH   LINE      ---      ---       #895
-      01003301H   LINE      ---      ---       #896
-      01003303H   LINE      ---      ---       #897
-      01003303H   LINE      ---      ---       #898
-      01003309H   LINE      ---      ---       #899
-      01003309H   LINE      ---      ---       #900
-      0100330BH   LINE      ---      ---       #901
-      0100331BH   LINE      ---      ---       #902
-      0100331BH   LINE      ---      ---       #903
-      01003333H   LINE      ---      ---       #904
-      01003339H   LINE      ---      ---       #905
-      0100333BH   LINE      ---      ---       #907
-      0100333BH   LINE      ---      ---       #908
-      01003341H   LINE      ---      ---       #909
-      01003341H   LINE      ---      ---       #910
-      01003341H   LINE      ---      ---       #911
-      01003345H   LINE      ---      ---       #912
-      0100334BH   LINE      ---      ---       #914
-      01003350H   LINE      ---      ---       #915
-      01003352H   LINE      ---      ---       #916
-      01003352H   LINE      ---      ---       #917
-      0100335AH   LINE      ---      ---       #918
-      0100335AH   LINE      ---      ---       #919
-      0100335DH   LINE      ---      ---       #920
-      0100336DH   LINE      ---      ---       #921
-      0100336DH   LINE      ---      ---       #922
-      01003385H   LINE      ---      ---       #923
-      0100338BH   LINE      ---      ---       #924
-      0100338DH   LINE      ---      ---       #926
-      0100338DH   LINE      ---      ---       #927
-      01003393H   LINE      ---      ---       #928
-      01003393H   LINE      ---      ---       #929
-      01003393H   LINE      ---      ---       #930
-      01003397H   LINE      ---      ---       #931
-      0100339DH   LINE      ---      ---       #933
-      010033A2H   LINE      ---      ---       #934
-      010033A4H   LINE      ---      ---       #935
-      010033A4H   LINE      ---      ---       #936
-      010033AAH   LINE      ---      ---       #937
-      010033ACH   LINE      ---      ---       #938
-      010033ACH   LINE      ---      ---       #939
-      010033B2H   LINE      ---      ---       #940
-      010033B4H   LINE      ---      ---       #941
-      010033B4H   LINE      ---      ---       #942
-      010033BAH   LINE      ---      ---       #943
-      010033BCH   LINE      ---      ---       #944
-      010033BCH   LINE      ---      ---       #945
-      010033C2H   LINE      ---      ---       #946
-      010033C4H   LINE      ---      ---       #947
-      010033C4H   LINE      ---      ---       #948
-      010033CAH   LINE      ---      ---       #949
-      010033CCH   LINE      ---      ---       #950
-      010033CCH   LINE      ---      ---       #951
-      010033D2H   LINE      ---      ---       #952
-      010033D4H   LINE      ---      ---       #953
-      010033D4H   LINE      ---      ---       #954
-      010033DAH   LINE      ---      ---       #955
-      010033DCH   LINE      ---      ---       #956
-      010033DCH   LINE      ---      ---       #957
-      010033E2H   LINE      ---      ---       #958
-      010033E4H   LINE      ---      ---       #959
-      010033E4H   LINE      ---      ---       #960
-      010033EBH   LINE      ---      ---       #961
-      010033EBH   LINE      ---      ---       #962
-      010033F3H   LINE      ---      ---       #963
-      010033F5H   LINE      ---      ---       #965
-      010033F5H   LINE      ---      ---       #966
-      010033FDH   LINE      ---      ---       #967
-      010033FDH   LINE      ---      ---       #968
-      01003402H   LINE      ---      ---       #969
-      01003404H   LINE      ---      ---       #970
-      01003404H   LINE      ---      ---       #971
-      0100340AH   LINE      ---      ---       #972
-      0100340CH   LINE      ---      ---       #973
-      0100340CH   LINE      ---      ---       #974
-      01003412H   LINE      ---      ---       #975
-      01003414H   LINE      ---      ---       #976
-      01003414H   LINE      ---      ---       #977
-      0100341CH   LINE      ---      ---       #978
-      01003424H   LINE      ---      ---       #979
-      01003428H   LINE      ---      ---       #980
-      01003430H   LINE      ---      ---       #982
-      01003430H   LINE      ---      ---       #983
-      01003438H   LINE      ---      ---       #984
-      0100343DH   LINE      ---      ---       #985
-      0100343DH   LINE      ---      ---       #986
-      0100343FH   LINE      ---      ---       #987
-      0100343FH   LINE      ---      ---       #988
-      01003445H   LINE      ---      ---       #989
-      01003445H   LINE      ---      ---       #990
-      01003445H   LINE      ---      ---       #991
-      01003445H   LINE      ---      ---       #992
-      01003445H   LINE      ---      ---       #993
-      01003445H   LINE      ---      ---       #995
-      0100344AH   LINE      ---      ---       #996
+      01003131H   LINE      ---      ---       #788
+      01003131H   LINE      ---      ---       #789
+      01003137H   LINE      ---      ---       #790
+      01003137H   LINE      ---      ---       #791
+      01003139H   LINE      ---      ---       #792
+      01003140H   LINE      ---      ---       #793
+      01003140H   LINE      ---      ---       #794
+      01003147H   LINE      ---      ---       #795
+      01003147H   LINE      ---      ---       #796
+      0100314DH   LINE      ---      ---       #797
+      0100314DH   LINE      ---      ---       #798
+      0100314DH   LINE      ---      ---       #834
+      01003157H   LINE      ---      ---       #835
+      01003157H   LINE      ---      ---       #836
+      0100315BH   LINE      ---      ---       #837
+      01003163H   LINE      ---      ---       #838
+      01003167H   LINE      ---      ---       #839
+      0100316FH   LINE      ---      ---       #840
+      01003173H   LINE      ---      ---       #841
+      0100317BH   LINE      ---      ---       #842
+      0100317FH   LINE      ---      ---       #843
+      0100317FH   LINE      ---      ---       #844
+      01003187H   LINE      ---      ---       #845
+      0100318CH   LINE      ---      ---       #846
+      0100318EH   LINE      ---      ---       #847
+      01003192H   LINE      ---      ---       #848
+      01003192H   LINE      ---      ---       #849
+      0100319AH   LINE      ---      ---       #850
+      0100319FH   LINE      ---      ---       #851
+      010031A1H   LINE      ---      ---       #852
+      010031A5H   LINE      ---      ---       #853
+      010031A5H   LINE      ---      ---       #854
+      010031ADH   LINE      ---      ---       #855
+      010031B2H   LINE      ---      ---       #856
+      010031B4H   LINE      ---      ---       #857
+      010031B8H   LINE      ---      ---       #858
+      010031B8H   LINE      ---      ---       #859
+      010031C0H   LINE      ---      ---       #860
+      010031C5H   LINE      ---      ---       #861
+      010031C7H   LINE      ---      ---       #862
+      010031CBH   LINE      ---      ---       #863
+      010031CBH   LINE      ---      ---       #864
+      010031D3H   LINE      ---      ---       #865
+      010031D7H   LINE      ---      ---       #866
+      010031D7H   LINE      ---      ---       #867
+      010031DDH   LINE      ---      ---       #868
+      010031DDH   LINE      ---      ---       #869
+      010031E2H   LINE      ---      ---       #870
+      010031E2H   LINE      ---      ---       #872
+      010031E2H   LINE      ---      ---       #875
+      010031ECH   LINE      ---      ---       #876
+      010031ECH   LINE      ---      ---       #877
+      01003224H   LINE      ---      ---       #878
+      01003224H   LINE      ---      ---       #879
+      01003224H   LINE      ---      ---       #880
+      0100322CH   LINE      ---      ---       #881
+      0100322CH   LINE      ---      ---       #882
+      0100322FH   LINE      ---      ---       #883
+      0100323FH   LINE      ---      ---       #884
+      0100323FH   LINE      ---      ---       #885
+      01003257H   LINE      ---      ---       #886
+      0100325DH   LINE      ---      ---       #887
+      0100325FH   LINE      ---      ---       #889
+      0100325FH   LINE      ---      ---       #890
+      01003265H   LINE      ---      ---       #891
+      01003265H   LINE      ---      ---       #892
+      01003265H   LINE      ---      ---       #893
+      01003269H   LINE      ---      ---       #894
+      0100326FH   LINE      ---      ---       #896
+      01003274H   LINE      ---      ---       #897
+      01003276H   LINE      ---      ---       #898
+      01003276H   LINE      ---      ---       #899
+      0100327CH   LINE      ---      ---       #900
+      0100327CH   LINE      ---      ---       #901
+      0100327EH   LINE      ---      ---       #902
+      0100328EH   LINE      ---      ---       #903
+      0100328EH   LINE      ---      ---       #904
+      010032A6H   LINE      ---      ---       #905
+      010032ACH   LINE      ---      ---       #906
+      010032AEH   LINE      ---      ---       #908
+      010032AEH   LINE      ---      ---       #909
+      010032B4H   LINE      ---      ---       #910
+      010032B4H   LINE      ---      ---       #911
+      010032B4H   LINE      ---      ---       #912
+      010032B8H   LINE      ---      ---       #913
+      010032BEH   LINE      ---      ---       #915
+      010032C3H   LINE      ---      ---       #916
+      010032C5H   LINE      ---      ---       #917
+      010032C5H   LINE      ---      ---       #918
+      010032CDH   LINE      ---      ---       #919
+      010032CDH   LINE      ---      ---       #920
+      010032D0H   LINE      ---      ---       #921
+      010032E0H   LINE      ---      ---       #922
+      010032E0H   LINE      ---      ---       #923
+      010032F8H   LINE      ---      ---       #924
+      010032FEH   LINE      ---      ---       #925
+      01003300H   LINE      ---      ---       #927
+      01003300H   LINE      ---      ---       #928
+      01003306H   LINE      ---      ---       #929
+      01003306H   LINE      ---      ---       #930
+      01003306H   LINE      ---      ---       #931
+      0100330AH   LINE      ---      ---       #932
+      01003310H   LINE      ---      ---       #934
+      01003315H   LINE      ---      ---       #935
+      01003317H   LINE      ---      ---       #936
+      01003317H   LINE      ---      ---       #937
+      0100331DH   LINE      ---      ---       #938
+      0100331FH   LINE      ---      ---       #939
+      0100331FH   LINE      ---      ---       #940
+      01003325H   LINE      ---      ---       #941
+      01003327H   LINE      ---      ---       #942
+      01003327H   LINE      ---      ---       #943
+      0100332DH   LINE      ---      ---       #944
+      0100332FH   LINE      ---      ---       #945
+      0100332FH   LINE      ---      ---       #946
+      01003335H   LINE      ---      ---       #947
+      01003337H   LINE      ---      ---       #948
+      01003337H   LINE      ---      ---       #949
+      0100333DH   LINE      ---      ---       #950
+      0100333FH   LINE      ---      ---       #951
+      0100333FH   LINE      ---      ---       #952
+      01003345H   LINE      ---      ---       #953
+      01003347H   LINE      ---      ---       #954
+      01003347H   LINE      ---      ---       #955
+      0100334DH   LINE      ---      ---       #956
+      0100334FH   LINE      ---      ---       #957
+      0100334FH   LINE      ---      ---       #958
+      01003355H   LINE      ---      ---       #959
+      01003357H   LINE      ---      ---       #960
+      01003357H   LINE      ---      ---       #961
+      0100335EH   LINE      ---      ---       #962
+      0100335EH   LINE      ---      ---       #963
+      01003366H   LINE      ---      ---       #964
+      01003368H   LINE      ---      ---       #966
+      01003368H   LINE      ---      ---       #967
+      01003370H   LINE      ---      ---       #968
+      01003370H   LINE      ---      ---       #969
+      01003375H   LINE      ---      ---       #970
+      01003377H   LINE      ---      ---       #971
+      01003377H   LINE      ---      ---       #972
+      0100337EH   LINE      ---      ---       #973
+      0100337EH   LINE      ---      ---       #974
+      01003386H   LINE      ---      ---       #975
+      0100338BH   LINE      ---      ---       #976
+      0100338DH   LINE      ---      ---       #978
+      01003393H   LINE      ---      ---       #979
+      01003395H   LINE      ---      ---       #980
+      01003395H   LINE      ---      ---       #981
+      0100339BH   LINE      ---      ---       #982
+      0100339DH   LINE      ---      ---       #983
+      0100339DH   LINE      ---      ---       #984
+      010033A5H   LINE      ---      ---       #985
+      010033A5H   LINE      ---      ---       #986
+      010033ADH   LINE      ---      ---       #987
+      010033B2H   LINE      ---      ---       #988
+      010033B4H   LINE      ---      ---       #989
+      010033B8H   LINE      ---      ---       #990
+      010033C0H   LINE      ---      ---       #992
+      010033C0H   LINE      ---      ---       #993
+      010033C8H   LINE      ---      ---       #994
+      010033CDH   LINE      ---      ---       #995
+      010033CDH   LINE      ---      ---       #996
+      010033CFH   LINE      ---      ---       #997
+      010033CFH   LINE      ---      ---       #998
+      010033D5H   LINE      ---      ---       #999
+      010033D5H   LINE      ---      ---       #1000
+      010033D5H   LINE      ---      ---       #1001
+      010033D5H   LINE      ---      ---       #1002
+      010033D5H   LINE      ---      ---       #1003
+      010033D5H   LINE      ---      ---       #1005
+      010033DAH   LINE      ---      ---       #1006
       02004F09H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       01002682H   BLOCK     CODE     ---       LVL=0
-      01002682H   LINE      ---      ---       #1000
-      0100268DH   LINE      ---      ---       #1001
+      01002682H   LINE      ---      ---       #1010
+      0100268DH   LINE      ---      ---       #1011
       0100268DH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100268DH   LINE      ---      ---       #1002
-      01002690H   LINE      ---      ---       #1004
-      0100269EH   LINE      ---      ---       #1005
-      0100269EH   LINE      ---      ---       #1006
-      010026CAH   LINE      ---      ---       #1008
-      010026CAH   LINE      ---      ---       #1010
-      010026D1H   LINE      ---      ---       #1011
-      010026D1H   LINE      ---      ---       #1012
-      010026D7H   LINE      ---      ---       #1013
-      010026DAH   LINE      ---      ---       #1015
-      010026DEH   LINE      ---      ---       #1016
-      010026DEH   LINE      ---      ---       #1017
-      010026E4H   LINE      ---      ---       #1018
-      010026E7H   LINE      ---      ---       #1019
-      01002707H   LINE      ---      ---       #1020
-      01002707H   LINE      ---      ---       #1021
-      0100270BH   LINE      ---      ---       #1022
-      0100270EH   LINE      ---      ---       #1023
-      01002712H   LINE      ---      ---       #1024
-      01002712H   LINE      ---      ---       #1025
-      01002718H   LINE      ---      ---       #1026
-      0100271BH   LINE      ---      ---       #1027
-      0100273BH   LINE      ---      ---       #1028
-      0100273BH   LINE      ---      ---       #1029
-      0100273FH   LINE      ---      ---       #1030
-      01002742H   LINE      ---      ---       #1031
-      01002746H   LINE      ---      ---       #1032
-      01002746H   LINE      ---      ---       #1033
-      0100274CH   LINE      ---      ---       #1034
-      0100274FH   LINE      ---      ---       #1035
-      0100276FH   LINE      ---      ---       #1036
-      0100276FH   LINE      ---      ---       #1037
-      01002773H   LINE      ---      ---       #1038
-      01002776H   LINE      ---      ---       #1039
-      0100277AH   LINE      ---      ---       #1040
-      0100277AH   LINE      ---      ---       #1041
-      01002780H   LINE      ---      ---       #1042
-      01002783H   LINE      ---      ---       #1043
-      010027A3H   LINE      ---      ---       #1044
-      010027A3H   LINE      ---      ---       #1045
-      010027A8H   LINE      ---      ---       #1046
-      010027ABH   LINE      ---      ---       #1047
-      010027AFH   LINE      ---      ---       #1048
-      010027AFH   LINE      ---      ---       #1049
-      010027B5H   LINE      ---      ---       #1050
-      010027B8H   LINE      ---      ---       #1051
-      010027D8H   LINE      ---      ---       #1052
-      010027D8H   LINE      ---      ---       #1053
-      010027DDH   LINE      ---      ---       #1054
-      010027E0H   LINE      ---      ---       #1055
-      010027E4H   LINE      ---      ---       #1056
-      010027E4H   LINE      ---      ---       #1057
-      010027EAH   LINE      ---      ---       #1058
-      010027EDH   LINE      ---      ---       #1059
-      0100280DH   LINE      ---      ---       #1060
-      0100280DH   LINE      ---      ---       #1061
-      01002814H   LINE      ---      ---       #1062
-      01002816H   LINE      ---      ---       #1063
-      0100281AH   LINE      ---      ---       #1064
-      0100281AH   LINE      ---      ---       #1065
-      01002821H   LINE      ---      ---       #1066
-      01002823H   LINE      ---      ---       #1067
-      01002843H   LINE      ---      ---       #1068
-      01002843H   LINE      ---      ---       #1069
-      0100284AH   LINE      ---      ---       #1070
-      0100284CH   LINE      ---      ---       #1071
-      01002850H   LINE      ---      ---       #1072
-      01002850H   LINE      ---      ---       #1073
-      01002857H   LINE      ---      ---       #1074
-      01002859H   LINE      ---      ---       #1075
-      01002879H   LINE      ---      ---       #1076
-      01002879H   LINE      ---      ---       #1077
-      01002880H   LINE      ---      ---       #1078
-      01002882H   LINE      ---      ---       #1079
-      01002886H   LINE      ---      ---       #1080
-      01002886H   LINE      ---      ---       #1081
-      0100288DH   LINE      ---      ---       #1082
-      0100288FH   LINE      ---      ---       #1083
-      010028AFH   LINE      ---      ---       #1084
-      010028AFH   LINE      ---      ---       #1085
-      010028B4H   LINE      ---      ---       #1086
-      010028B6H   LINE      ---      ---       #1087
-      010028BAH   LINE      ---      ---       #1088
-      010028BAH   LINE      ---      ---       #1089
-      010028C1H   LINE      ---      ---       #1090
-      010028C3H   LINE      ---      ---       #1091
-      010028E3H   LINE      ---      ---       #1092
-      010028E3H   LINE      ---      ---       #1093
-      010028E8H   LINE      ---      ---       #1094
-      010028EAH   LINE      ---      ---       #1095
-      010028EEH   LINE      ---      ---       #1096
-      010028EEH   LINE      ---      ---       #1097
-      010028F5H   LINE      ---      ---       #1098
-      010028F7H   LINE      ---      ---       #1099
-      01002917H   LINE      ---      ---       #1100
-      01002917H   LINE      ---      ---       #1101
-      0100291EH   LINE      ---      ---       #1102
-      01002920H   LINE      ---      ---       #1103
-      01002924H   LINE      ---      ---       #1104
-      01002924H   LINE      ---      ---       #1105
-      0100292BH   LINE      ---      ---       #1106
-      0100292DH   LINE      ---      ---       #1107
-      0100294DH   LINE      ---      ---       #1108
-      0100294DH   LINE      ---      ---       #1109
-      01002951H   LINE      ---      ---       #1110
-      01002953H   LINE      ---      ---       #1111
-      01002957H   LINE      ---      ---       #1112
-      01002957H   LINE      ---      ---       #1113
-      0100295BH   LINE      ---      ---       #1114
-      0100295DH   LINE      ---      ---       #1115
-      01002963H   LINE      ---      ---       #1116
-      01002963H   LINE      ---      ---       #1117
-      01002967H   LINE      ---      ---       #1118
-      01002967H   LINE      ---      ---       #1120
-      0100296EH   LINE      ---      ---       #1121
-      0100296EH   LINE      ---      ---       #1122
-      0100298EH   LINE      ---      ---       #1123
-      01002992H   LINE      ---      ---       #1124
-      01002992H   LINE      ---      ---       #1125
-      01002992H   LINE      ---      ---       #1126
-      0100299BH   LINE      ---      ---       #1127
+      0100268DH   LINE      ---      ---       #1012
+      01002690H   LINE      ---      ---       #1014
+      0100269EH   LINE      ---      ---       #1015
+      0100269EH   LINE      ---      ---       #1016
+      010026CAH   LINE      ---      ---       #1018
+      010026CAH   LINE      ---      ---       #1020
+      010026D1H   LINE      ---      ---       #1021
+      010026D1H   LINE      ---      ---       #1022
+      010026D7H   LINE      ---      ---       #1023
+      010026DAH   LINE      ---      ---       #1025
+      010026DEH   LINE      ---      ---       #1026
+      010026DEH   LINE      ---      ---       #1027
+      010026E4H   LINE      ---      ---       #1028
+      010026E7H   LINE      ---      ---       #1029
+      01002707H   LINE      ---      ---       #1030
+      01002707H   LINE      ---      ---       #1031
+      0100270BH   LINE      ---      ---       #1032
+      0100270EH   LINE      ---      ---       #1033
+      01002712H   LINE      ---      ---       #1034
+      01002712H   LINE      ---      ---       #1035
+      01002718H   LINE      ---      ---       #1036
+      0100271BH   LINE      ---      ---       #1037
+      0100273BH   LINE      ---      ---       #1038
+      0100273BH   LINE      ---      ---       #1039
+      0100273FH   LINE      ---      ---       #1040
+      01002742H   LINE      ---      ---       #1041
+      01002746H   LINE      ---      ---       #1042
+      01002746H   LINE      ---      ---       #1043
+      0100274CH   LINE      ---      ---       #1044
+      0100274FH   LINE      ---      ---       #1045
+      0100276FH   LINE      ---      ---       #1046
+      0100276FH   LINE      ---      ---       #1047
+      01002773H   LINE      ---      ---       #1048
+      01002776H   LINE      ---      ---       #1049
+      0100277AH   LINE      ---      ---       #1050
+      0100277AH   LINE      ---      ---       #1051
+      01002780H   LINE      ---      ---       #1052
+      01002783H   LINE      ---      ---       #1053
+      010027A3H   LINE      ---      ---       #1054
+      010027A3H   LINE      ---      ---       #1055
+      010027A8H   LINE      ---      ---       #1056
+      010027ABH   LINE      ---      ---       #1057
+      010027AFH   LINE      ---      ---       #1058
+      010027AFH   LINE      ---      ---       #1059
+      010027B5H   LINE      ---      ---       #1060
+      010027B8H   LINE      ---      ---       #1061
+      010027D8H   LINE      ---      ---       #1062
+      010027D8H   LINE      ---      ---       #1063
+      010027DDH   LINE      ---      ---       #1064
+      010027E0H   LINE      ---      ---       #1065
+      010027E4H   LINE      ---      ---       #1066
+      010027E4H   LINE      ---      ---       #1067
+      010027EAH   LINE      ---      ---       #1068
+      010027EDH   LINE      ---      ---       #1069
+      0100280DH   LINE      ---      ---       #1070
+      0100280DH   LINE      ---      ---       #1071
+      01002814H   LINE      ---      ---       #1072
+      01002816H   LINE      ---      ---       #1073
+      0100281AH   LINE      ---      ---       #1074
+      0100281AH   LINE      ---      ---       #1075
+      01002821H   LINE      ---      ---       #1076
+      01002823H   LINE      ---      ---       #1077
+      01002843H   LINE      ---      ---       #1078
+      01002843H   LINE      ---      ---       #1079
+      0100284AH   LINE      ---      ---       #1080
+      0100284CH   LINE      ---      ---       #1081
+      01002850H   LINE      ---      ---       #1082
+      01002850H   LINE      ---      ---       #1083
+      01002857H   LINE      ---      ---       #1084
+      01002859H   LINE      ---      ---       #1085
+      01002879H   LINE      ---      ---       #1086
+      01002879H   LINE      ---      ---       #1087
+      01002880H   LINE      ---      ---       #1088
+      01002882H   LINE      ---      ---       #1089
+      01002886H   LINE      ---      ---       #1090
+      01002886H   LINE      ---      ---       #1091
+      0100288DH   LINE      ---      ---       #1092
+      0100288FH   LINE      ---      ---       #1093
+      010028AFH   LINE      ---      ---       #1094
+      010028AFH   LINE      ---      ---       #1095
+      010028B4H   LINE      ---      ---       #1096
+      010028B6H   LINE      ---      ---       #1097
+      010028BAH   LINE      ---      ---       #1098
+      010028BAH   LINE      ---      ---       #1099
+      010028C1H   LINE      ---      ---       #1100
+      010028C3H   LINE      ---      ---       #1101
+      010028E3H   LINE      ---      ---       #1102
+      010028E3H   LINE      ---      ---       #1103
+      010028E8H   LINE      ---      ---       #1104
+      010028EAH   LINE      ---      ---       #1105
+      010028EEH   LINE      ---      ---       #1106
+      010028EEH   LINE      ---      ---       #1107
+      010028F5H   LINE      ---      ---       #1108
+      010028F7H   LINE      ---      ---       #1109
+      01002917H   LINE      ---      ---       #1110
+      01002917H   LINE      ---      ---       #1111
+      0100291EH   LINE      ---      ---       #1112
+      01002920H   LINE      ---      ---       #1113
+      01002924H   LINE      ---      ---       #1114
+      01002924H   LINE      ---      ---       #1115
+      0100292BH   LINE      ---      ---       #1116
+      0100292DH   LINE      ---      ---       #1117
+      0100294DH   LINE      ---      ---       #1118
+      0100294DH   LINE      ---      ---       #1119
+      01002951H   LINE      ---      ---       #1120
+      01002953H   LINE      ---      ---       #1121
+      01002957H   LINE      ---      ---       #1122
+      01002957H   LINE      ---      ---       #1123
+      0100295BH   LINE      ---      ---       #1124
+      0100295DH   LINE      ---      ---       #1125
+      01002963H   LINE      ---      ---       #1126
+      01002963H   LINE      ---      ---       #1127
+      01002967H   LINE      ---      ---       #1128
+      01002967H   LINE      ---      ---       #1130
+      0100296EH   LINE      ---      ---       #1131
+      0100296EH   LINE      ---      ---       #1132
+      0100298EH   LINE      ---      ---       #1133
+      01002992H   LINE      ---      ---       #1134
+      01002992H   LINE      ---      ---       #1135
+      01002992H   LINE      ---      ---       #1136
+      0100299BH   LINE      ---      ---       #1137
       02004EE1H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1763,18 +1739,18 @@
       01002E6BH   PUBLIC    CODE     ---       _array_is_empty
       01002C97H   PUBLIC    CODE     ---       KS_ScanMatrix
       0100194EH   PUBLIC    CODE     ---       KS_Unistall
-      0100353DH   PUBLIC    CODE     ---       KS_Initialize
+      010034CDH   PUBLIC    CODE     ---       KS_Initialize
       01002E49H   PUBLIC    CODE     ---       _YC_DelayNOP1
-      0100344BH   PUBLIC    CODE     ---       _GPIO_SetInput_no_pupd
+      010033DBH   PUBLIC    CODE     ---       _GPIO_SetInput_no_pupd
 
-      0100344BH   BLOCK     CODE     ---       LVL=0
-      0100344BH   LINE      ---      ---       #7
-      01003450H   LINE      ---      ---       #8
-      01003450H   LINE      ---      ---       #9
-      01003453H   LINE      ---      ---       #11
-      0100345CH   LINE      ---      ---       #12
-      01003465H   LINE      ---      ---       #13
-      0100346EH   LINE      ---      ---       #14
+      010033DBH   BLOCK     CODE     ---       LVL=0
+      010033DBH   LINE      ---      ---       #7
+      010033E0H   LINE      ---      ---       #8
+      010033E0H   LINE      ---      ---       #9
+      010033E3H   LINE      ---      ---       #11
+      010033ECH   LINE      ---      ---       #12
+      010033F5H   LINE      ---      ---       #13
+      010033FEH   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
       01002E49H   BLOCK     CODE     ---       LVL=0
@@ -1866,40 +1842,40 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100354AH   BLOCK     CODE     ---       LVL=0
-      0100354AH   LINE      ---      ---       #203
-      0100354AH   LINE      ---      ---       #204
-      0100354AH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100354AH   LINE      ---      ---       #205
-      0100354FH   LINE      ---      ---       #207
-      0100355AH   LINE      ---      ---       #208
-      0100355EH   LINE      ---      ---       #209
-      01003566H   LINE      ---      ---       #210
+      010034DAH   BLOCK     CODE     ---       LVL=0
+      010034DAH   LINE      ---      ---       #203
+      010034DAH   LINE      ---      ---       #204
+      010034DAH   BLOCK     CODE     NEAR LAB  LVL=1
+      010034DAH   LINE      ---      ---       #205
+      010034DFH   LINE      ---      ---       #207
+      010034EAH   LINE      ---      ---       #208
+      010034EEH   LINE      ---      ---       #209
+      010034F6H   LINE      ---      ---       #210
       02004F0BH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003521H   BLOCK     CODE     ---       LVL=0
-      01003521H   LINE      ---      ---       #212
-      01003521H   LINE      ---      ---       #213
-      01003521H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003521H   LINE      ---      ---       #214
-      01003526H   LINE      ---      ---       #215
-      01003532H   LINE      ---      ---       #216
-      01003534H   LINE      ---      ---       #217
-      0100353CH   LINE      ---      ---       #218
+      010034B1H   BLOCK     CODE     ---       LVL=0
+      010034B1H   LINE      ---      ---       #212
+      010034B1H   LINE      ---      ---       #213
+      010034B1H   BLOCK     CODE     NEAR LAB  LVL=1
+      010034B1H   LINE      ---      ---       #214
+      010034B6H   LINE      ---      ---       #215
+      010034C2H   LINE      ---      ---       #216
+      010034C4H   LINE      ---      ---       #217
+      010034CCH   LINE      ---      ---       #218
       02004F0CH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100353DH   BLOCK     CODE     ---       LVL=0
-      0100353DH   LINE      ---      ---       #220
-      0100353DH   LINE      ---      ---       #221
-      0100353DH   LINE      ---      ---       #222
-      01003542H   LINE      ---      ---       #223
-      01003544H   LINE      ---      ---       #224
-      01003546H   LINE      ---      ---       #225
-      01003548H   LINE      ---      ---       #226
+      010034CDH   BLOCK     CODE     ---       LVL=0
+      010034CDH   LINE      ---      ---       #220
+      010034CDH   LINE      ---      ---       #221
+      010034CDH   LINE      ---      ---       #222
+      010034D2H   LINE      ---      ---       #223
+      010034D4H   LINE      ---      ---       #224
+      010034D6H   LINE      ---      ---       #225
+      010034D8H   LINE      ---      ---       #226
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100194EH   BLOCK     CODE     ---       LVL=0
@@ -2206,10 +2182,10 @@
       01002247H   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
       0100233EH   PUBLIC    CODE     ---       YC_connect_timeout_500ms
       01001F9CH   PUBLIC    CODE     ---       LED_timer500ms
-      01003684H   PUBLIC    CODE     ---       System_Reset_Connect
+      01003614H   PUBLIC    CODE     ---       System_Reset_Connect
       01001BEAH   PUBLIC    CODE     ---       System_G24_long_lpm
       010017C3H   PUBLIC    CODE     ---       System_long_sleep
-      0100357AH   PUBLIC    CODE     ---       System_Software_init
+      0100350AH   PUBLIC    CODE     ---       System_Software_init
 
       01000D80H   BLOCK     CODE     ---       LVL=0
       01000D80H   LINE      ---      ---       #11
@@ -2242,16 +2218,16 @@
       01000E18H   LINE      ---      ---       #41
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003567H   BLOCK     CODE     ---       LVL=0
-      01003567H   LINE      ---      ---       #43
-      01003567H   LINE      ---      ---       #44
-      01003567H   LINE      ---      ---       #45
-      0100356DH   LINE      ---      ---       #46
-      01003570H   LINE      ---      ---       #47
-      01003572H   LINE      ---      ---       #48
-      01003574H   LINE      ---      ---       #49
-      01003576H   LINE      ---      ---       #50
-      01003579H   LINE      ---      ---       #51
+      010034F7H   BLOCK     CODE     ---       LVL=0
+      010034F7H   LINE      ---      ---       #43
+      010034F7H   LINE      ---      ---       #44
+      010034F7H   LINE      ---      ---       #45
+      010034FDH   LINE      ---      ---       #46
+      01003500H   LINE      ---      ---       #47
+      01003502H   LINE      ---      ---       #48
+      01003504H   LINE      ---      ---       #49
+      01003506H   LINE      ---      ---       #50
+      01003509H   LINE      ---      ---       #51
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001FE4H   BLOCK     CODE     ---       LVL=0
@@ -2262,26 +2238,26 @@
       01001FEAH   LINE      ---      ---       #57
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100357AH   BLOCK     CODE     ---       LVL=0
-      0100357AH   LINE      ---      ---       #61
-      0100357AH   LINE      ---      ---       #62
-      0100357AH   LINE      ---      ---       #63
-      0100357DH   LINE      ---      ---       #64
-      0100357FH   LINE      ---      ---       #65
-      01003585H   LINE      ---      ---       #66
-      0100358BH   LINE      ---      ---       #67
-      01003590H   LINE      ---      ---       #68
-      01003596H   LINE      ---      ---       #69
-      0100359EH   LINE      ---      ---       #70
-      010035A6H   LINE      ---      ---       #71
-      010035AEH   LINE      ---      ---       #72
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100367BH   BLOCK     CODE     ---       LVL=0
-      0100367BH   LINE      ---      ---       #74
-      0100367BH   LINE      ---      ---       #75
-      0100367BH   LINE      ---      ---       #76
-      01003681H   LINE      ---      ---       #77
+      0100350AH   BLOCK     CODE     ---       LVL=0
+      0100350AH   LINE      ---      ---       #61
+      0100350AH   LINE      ---      ---       #62
+      0100350AH   LINE      ---      ---       #63
+      0100350DH   LINE      ---      ---       #64
+      0100350FH   LINE      ---      ---       #65
+      01003515H   LINE      ---      ---       #66
+      0100351BH   LINE      ---      ---       #67
+      01003520H   LINE      ---      ---       #68
+      01003526H   LINE      ---      ---       #69
+      0100352EH   LINE      ---      ---       #70
+      01003536H   LINE      ---      ---       #71
+      0100353EH   LINE      ---      ---       #72
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100360BH   BLOCK     CODE     ---       LVL=0
+      0100360BH   LINE      ---      ---       #74
+      0100360BH   LINE      ---      ---       #75
+      0100360BH   LINE      ---      ---       #76
+      01003611H   LINE      ---      ---       #77
       ---         BLOCKEND  ---      ---       LVL=0
 
       010017C3H   BLOCK     CODE     ---       LVL=0
@@ -2306,19 +2282,19 @@
       01001C0EH   LINE      ---      ---       #99
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003684H   BLOCK     CODE     ---       LVL=0
-      01003684H   LINE      ---      ---       #101
-      01003684H   LINE      ---      ---       #102
-      01003684H   LINE      ---      ---       #103
+      01003614H   BLOCK     CODE     ---       LVL=0
+      01003614H   LINE      ---      ---       #101
+      01003614H   LINE      ---      ---       #102
+      01003614H   LINE      ---      ---       #103
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003686H   BLOCK     CODE     ---       LVL=0
-      01003686H   LINE      ---      ---       #111
-      0100368BH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100368BH   LINE      ---      ---       #113
-      01003695H   LINE      ---      ---       #115
-      01003695H   LINE      ---      ---       #117
-      01003695H   LINE      ---      ---       #118
+      01003616H   BLOCK     CODE     ---       LVL=0
+      01003616H   LINE      ---      ---       #111
+      0100361BH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100361BH   LINE      ---      ---       #113
+      01003625H   LINE      ---      ---       #115
+      01003625H   LINE      ---      ---       #117
+      01003625H   LINE      ---      ---       #118
       02004F02H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2937,22 +2913,22 @@
       ---         MODULE    ---      ---       ADC
       010022E9H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
       01002432H   PUBLIC    CODE     ---       YC_adc_check
-      010035AFH   PUBLIC    CODE     ---       YC_adc_init
+      0100353FH   PUBLIC    CODE     ---       YC_adc_init
 
-      010035AFH   BLOCK     CODE     ---       LVL=0
-      010035AFH   LINE      ---      ---       #3
-      010035AFH   LINE      ---      ---       #4
-      010035AFH   BLOCK     CODE     NEAR LAB  LVL=1
-      010035AFH   LINE      ---      ---       #8
-      010035B5H   LINE      ---      ---       #9
-      010035B8H   LINE      ---      ---       #21
-      010035B9H   LINE      ---      ---       #22
-      010035B9H   LINE      ---      ---       #23
-      010035CAH   LINE      ---      ---       #24
-      010035CFH   LINE      ---      ---       #25
-      010035DEH   LINE      ---      ---       #26
-      0100362CH   LINE      ---      ---       #27
-      0100367AH   LINE      ---      ---       #42
+      0100353FH   BLOCK     CODE     ---       LVL=0
+      0100353FH   LINE      ---      ---       #3
+      0100353FH   LINE      ---      ---       #4
+      0100353FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100353FH   LINE      ---      ---       #8
+      01003545H   LINE      ---      ---       #9
+      01003548H   LINE      ---      ---       #21
+      01003549H   LINE      ---      ---       #22
+      01003549H   LINE      ---      ---       #23
+      0100355AH   LINE      ---      ---       #24
+      0100355FH   LINE      ---      ---       #25
+      0100356EH   LINE      ---      ---       #26
+      010035BCH   LINE      ---      ---       #27
+      0100360AH   LINE      ---      ---       #42
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3061,22 +3037,22 @@
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
       01001CCFH   PUBLIC    CODE     ---       IPC_DealSingleStep
       01002E53H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      01003715H   PUBLIC    CODE     ---       IPC_AbandonLpm
+      010036A5H   PUBLIC    CODE     ---       IPC_AbandonLpm
       010017E7H   PUBLIC    CODE     ---       IPC_WaitLpm
       01001F2EH   PUBLIC    CODE     ---       _IPC_Initialize
-      0100370FH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
-      01003706H   PUBLIC    CODE     ---       _IPC_TxBleData
-      010036FDH   PUBLIC    CODE     ---       _IPC_TxSppData
+      0100369FH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01003696H   PUBLIC    CODE     ---       _IPC_TxBleData
+      0100368DH   PUBLIC    CODE     ---       _IPC_TxSppData
       01000FDFH   PUBLIC    CODE     ---       _IPC_Tx24GData
-      010036F0H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
+      01003680H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
       01000FE5H   PUBLIC    CODE     ---       _IPC_TxData
       0100109DH   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      01003696H   BLOCK     CODE     ---       LVL=0
-      01003696H   LINE      ---      ---       #44
-      010036A6H   LINE      ---      ---       #45
-      010036A6H   LINE      ---      ---       #46
-      010036EFH   LINE      ---      ---       #47
+      01003626H   BLOCK     CODE     ---       LVL=0
+      01003626H   LINE      ---      ---       #44
+      01003636H   LINE      ---      ---       #45
+      01003636H   LINE      ---      ---       #46
+      0100367FH   LINE      ---      ---       #47
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001ED8H   BLOCK     CODE     ---       LVL=0
@@ -3133,13 +3109,13 @@
       01000FFBH   LINE      ---      ---       #87
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010036F0H   BLOCK     CODE     ---       LVL=0
-      010036F0H   LINE      ---      ---       #90
-      010036F0H   LINE      ---      ---       #91
-      010036F0H   LINE      ---      ---       #92
-      010036F6H   LINE      ---      ---       #93
-      010036F9H   LINE      ---      ---       #94
-      010036FCH   LINE      ---      ---       #95
+      01003680H   BLOCK     CODE     ---       LVL=0
+      01003680H   LINE      ---      ---       #90
+      01003680H   LINE      ---      ---       #91
+      01003680H   LINE      ---      ---       #92
+      01003686H   LINE      ---      ---       #93
+      01003689H   LINE      ---      ---       #94
+      0100368CH   LINE      ---      ---       #95
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FDFH   BLOCK     CODE     ---       LVL=0
@@ -3148,25 +3124,25 @@
       01000FDFH   LINE      ---      ---       #99
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010036FDH   BLOCK     CODE     ---       LVL=0
-      010036FDH   LINE      ---      ---       #103
-      010036FDH   LINE      ---      ---       #104
-      010036FDH   LINE      ---      ---       #105
-      01003703H   LINE      ---      ---       #106
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003706H   BLOCK     CODE     ---       LVL=0
-      01003706H   LINE      ---      ---       #109
-      01003706H   LINE      ---      ---       #110
-      01003706H   LINE      ---      ---       #111
-      0100370CH   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100370FH   BLOCK     CODE     ---       LVL=0
-      0100370FH   LINE      ---      ---       #115
-      0100370FH   LINE      ---      ---       #116
-      0100370FH   LINE      ---      ---       #117
-      01003714H   LINE      ---      ---       #118
+      0100368DH   BLOCK     CODE     ---       LVL=0
+      0100368DH   LINE      ---      ---       #103
+      0100368DH   LINE      ---      ---       #104
+      0100368DH   LINE      ---      ---       #105
+      01003693H   LINE      ---      ---       #106
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003696H   BLOCK     CODE     ---       LVL=0
+      01003696H   LINE      ---      ---       #109
+      01003696H   LINE      ---      ---       #110
+      01003696H   LINE      ---      ---       #111
+      0100369CH   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100369FH   BLOCK     CODE     ---       LVL=0
+      0100369FH   LINE      ---      ---       #115
+      0100369FH   LINE      ---      ---       #116
+      0100369FH   LINE      ---      ---       #117
+      010036A4H   LINE      ---      ---       #118
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001F2EH   BLOCK     CODE     ---       LVL=0
@@ -3183,12 +3159,12 @@
       010017F0H   LINE      ---      ---       #129
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003715H   BLOCK     CODE     ---       LVL=0
-      01003715H   LINE      ---      ---       #132
-      01003715H   LINE      ---      ---       #133
-      01003715H   LINE      ---      ---       #134
-      0100371BH   LINE      ---      ---       #135
-      01003720H   LINE      ---      ---       #136
+      010036A5H   BLOCK     CODE     ---       LVL=0
+      010036A5H   LINE      ---      ---       #132
+      010036A5H   LINE      ---      ---       #133
+      010036A5H   LINE      ---      ---       #134
+      010036ABH   LINE      ---      ---       #135
+      010036B0H   LINE      ---      ---       #136
       ---         BLOCKEND  ---      ---       LVL=0
 
       01002E53H   BLOCK     CODE     ---       LVL=0
@@ -3257,13 +3233,13 @@
       010022FAH   PUBLIC    CODE     ---       _dmemcpy
       02004EC5H   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       0100087DH   PUBLIC    CODE     ---       _xmemcpy
-      01003721H   PUBLIC    CODE     ---       YC_Ice_break
+      010036B1H   PUBLIC    CODE     ---       YC_Ice_break
 
-      01003721H   BLOCK     CODE     ---       LVL=0
-      01003721H   LINE      ---      ---       #3
-      01003721H   LINE      ---      ---       #4
-      01003721H   LINE      ---      ---       #5
-      01003727H   LINE      ---      ---       #7
+      010036B1H   BLOCK     CODE     ---       LVL=0
+      010036B1H   LINE      ---      ---       #3
+      010036B1H   LINE      ---      ---       #4
+      010036B1H   LINE      ---      ---       #5
+      010036B7H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100087DH   BLOCK     CODE     ---       LVL=0
@@ -3327,39 +3303,39 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      01003767H   PUBLIC    CODE     ---       GPIO_fillpd
+      010036F7H   PUBLIC    CODE     ---       GPIO_fillpd
       01001F80H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
       010019E7H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01003728H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      010036B8H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
       010019FAH   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
       01000FC2H   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
-      01003491H   PUBLIC    CODE     ---       _GPIO_SetInput
+      01003421H   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      010034AFH   PUBLIC    CODE     ---       _GPIO_Setoe
+      0100343FH   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      01003480H   PUBLIC    CODE     ---       _GPIO_SetPd
+      01003410H   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      0100346FH   PUBLIC    CODE     ---       _GPIO_SetPu
+      010033FFH   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
       01000F70H   PUBLIC    CODE     ---       _GPIO_Setout
       01001F3BH   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
-      010034C0H   BLOCK     CODE     ---       LVL=0
-      010034C0H   LINE      ---      ---       #9
-      010034CBH   LINE      ---      ---       #10
-      010034CBH   BLOCK     CODE     NEAR LAB  LVL=1
-      010034CBH   LINE      ---      ---       #11
-      010034CDH   LINE      ---      ---       #12
-      010034CEH   LINE      ---      ---       #14
-      010034D2H   LINE      ---      ---       #15
-      010034D9H   LINE      ---      ---       #17
-      010034DCH   LINE      ---      ---       #18
-      010034FEH   LINE      ---      ---       #19
-      010034FEH   LINE      ---      ---       #21
-      010034FEH   LINE      ---      ---       #22
+      01003450H   BLOCK     CODE     ---       LVL=0
+      01003450H   LINE      ---      ---       #9
+      0100345BH   LINE      ---      ---       #10
+      0100345BH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100345BH   LINE      ---      ---       #11
+      0100345DH   LINE      ---      ---       #12
+      0100345EH   LINE      ---      ---       #14
+      01003462H   LINE      ---      ---       #15
+      01003469H   LINE      ---      ---       #17
+      0100346CH   LINE      ---      ---       #18
+      0100348EH   LINE      ---      ---       #19
+      0100348EH   LINE      ---      ---       #21
+      0100348EH   LINE      ---      ---       #22
       00000006H   SYMBOL    DATA     VOID      queue
       00000005H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -3394,38 +3370,38 @@
       01000F81H   LINE      ---      ---       #47
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100346FH   BLOCK     CODE     ---       LVL=0
-      0100346FH   LINE      ---      ---       #49
-      0100346FH   LINE      ---      ---       #50
-      0100346FH   LINE      ---      ---       #51
-      01003473H   LINE      ---      ---       #53
-      0100347FH   LINE      ---      ---       #54
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003480H   BLOCK     CODE     ---       LVL=0
-      01003480H   LINE      ---      ---       #56
-      01003480H   LINE      ---      ---       #57
-      01003480H   LINE      ---      ---       #58
-      01003484H   LINE      ---      ---       #60
-      01003490H   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010034AFH   BLOCK     CODE     ---       LVL=0
-      010034AFH   LINE      ---      ---       #63
-      010034AFH   LINE      ---      ---       #64
-      010034AFH   LINE      ---      ---       #65
-      010034B3H   LINE      ---      ---       #67
-      010034BFH   LINE      ---      ---       #68
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003491H   BLOCK     CODE     ---       LVL=0
-      01003491H   LINE      ---      ---       #70
-      01003493H   LINE      ---      ---       #71
-      01003493H   LINE      ---      ---       #72
-      01003497H   LINE      ---      ---       #74
-      0100349FH   LINE      ---      ---       #75
-      010034A8H   LINE      ---      ---       #76
-      010034AEH   LINE      ---      ---       #77
+      010033FFH   BLOCK     CODE     ---       LVL=0
+      010033FFH   LINE      ---      ---       #49
+      010033FFH   LINE      ---      ---       #50
+      010033FFH   LINE      ---      ---       #51
+      01003403H   LINE      ---      ---       #53
+      0100340FH   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003410H   BLOCK     CODE     ---       LVL=0
+      01003410H   LINE      ---      ---       #56
+      01003410H   LINE      ---      ---       #57
+      01003410H   LINE      ---      ---       #58
+      01003414H   LINE      ---      ---       #60
+      01003420H   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100343FH   BLOCK     CODE     ---       LVL=0
+      0100343FH   LINE      ---      ---       #63
+      0100343FH   LINE      ---      ---       #64
+      0100343FH   LINE      ---      ---       #65
+      01003443H   LINE      ---      ---       #67
+      0100344FH   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003421H   BLOCK     CODE     ---       LVL=0
+      01003421H   LINE      ---      ---       #70
+      01003423H   LINE      ---      ---       #71
+      01003423H   LINE      ---      ---       #72
+      01003427H   LINE      ---      ---       #74
+      0100342FH   LINE      ---      ---       #75
+      01003438H   LINE      ---      ---       #76
+      0100343EH   LINE      ---      ---       #77
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FC2H   BLOCK     CODE     ---       LVL=0
@@ -3459,16 +3435,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003728H   BLOCK     CODE     ---       LVL=0
-      01003728H   LINE      ---      ---       #107
-      01003728H   LINE      ---      ---       #108
-      01003728H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003728H   LINE      ---      ---       #111
-      0100372CH   LINE      ---      ---       #113
-      01003730H   LINE      ---      ---       #114
-      01003737H   LINE      ---      ---       #115
-      01003759H   LINE      ---      ---       #116
-      01003766H   LINE      ---      ---       #117
+      010036B8H   BLOCK     CODE     ---       LVL=0
+      010036B8H   LINE      ---      ---       #107
+      010036B8H   LINE      ---      ---       #108
+      010036B8H   BLOCK     CODE     NEAR LAB  LVL=1
+      010036B8H   LINE      ---      ---       #111
+      010036BCH   LINE      ---      ---       #113
+      010036C0H   LINE      ---      ---       #114
+      010036C7H   LINE      ---      ---       #115
+      010036E9H   LINE      ---      ---       #116
+      010036F6H   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -3494,13 +3470,13 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003767H   BLOCK     CODE     ---       LVL=0
-      01003767H   LINE      ---      ---       #131
-      01003767H   LINE      ---      ---       #132
-      01003767H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003767H   LINE      ---      ---       #134
-      01003769H   LINE      ---      ---       #135
-      0100379AH   LINE      ---      ---       #136
+      010036F7H   BLOCK     CODE     ---       LVL=0
+      010036F7H   LINE      ---      ---       #131
+      010036F7H   LINE      ---      ---       #132
+      010036F7H   BLOCK     CODE     NEAR LAB  LVL=1
+      010036F7H   LINE      ---      ---       #134
+      010036F9H   LINE      ---      ---       #135
+      0100372AH   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3646,5 +3622,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       01000626H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=910 const=182 code=14053
+Program Size: data=10.2 xdata=910 const=182 code=13941
 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_AK8048/c51/output/eeprom.dat	(revision 779)
+++ /XZR_Project/XZR_1086_AK8048/c51/output/eeprom.dat	(working copy)
@@ -6616,7 +6616,7 @@
 5f
 aa
 55
-9d
+2d
 37
 02
 05
@@ -8281,7 +8281,7 @@
 00
 ff
 36
-86
+16
 00
 19
 09
@@ -9921,8 +9921,8 @@
 e0
 fd
 12
-37
-06
+36
+96
 90
 4c
 c5
@@ -10586,7 +10586,7 @@
 00
 12
 34
-c0
+50
 22
 90
 4c
@@ -10664,7 +10664,7 @@
 04
 12
 34
-af
+3f
 af
 04
 a2
@@ -10678,8 +10678,8 @@
 c2
 02
 12
-34
-6f
+33
+ff
 22
 90
 0b
@@ -10771,7 +10771,7 @@
 64
 12
 36
-96
+26
 90
 4e
 c2
@@ -11438,7 +11438,7 @@
 e4
 12
 35
-7a
+0a
 90
 4f
 0e
@@ -11733,11 +11733,11 @@
 20
 83
 12
-35
-67
+34
+f7
 02
-35
-3d
+34
+cd
 90
 4c
 c3
@@ -13074,8 +13074,8 @@
 60
 05
 12
-37
-15
+36
+a5
 80
 a7
 31
@@ -13185,8 +13185,8 @@
 80
 b0
 12
-37
-67
+36
+f7
 90
 81
 1c
@@ -14783,11 +14783,11 @@
 01
 e1
 12
-35
-67
+34
+f7
 12
-35
-3d
+34
+cd
 41
 86
 e4
@@ -19203,182 +19203,41 @@
 ff
 bf
 35
-12
-90
-4c
-c1
-e0
-64
-02
-60
-02
-21
-da
-90
-4f
-09
-74
-64
-f0
-21
-da
-90
-4f
-09
-e0
-ff
-b4
-64
-12
+0f
 90
 4c
 c1
 e0
-64
-02
-60
-02
-21
-da
-90
-4f
-09
-74
-35
-f0
-21
-da
-ef
 b4
-34
-1c
-90
-4c
-c1
-e0
-64
 02
-70
-78
-90
-4d
-ee
-e0
-70
-06
-90
-4d
-f1
-e0
-60
-6c
-90
-4f
-09
-74
-1f
-f0
-80
-64
-90
-4f
-09
-e0
-ff
-b4
-31
 1c
 90
-4c
-c1
-e0
-64
-02
-70
-54
-90
-4d
-ee
-e0
-70
-06
-90
-4d
-f1
-e0
-60
-48
-90
 4f
 09
 74
-35
-f0
-80
-40
-ef
-b4
-1f
-1c
-90
-4c
-c1
-e0
 64
-02
-70
-34
-90
-4d
-ee
-e0
-70
-06
-90
-4d
-f1
-e0
-60
-28
-90
-4f
-09
-74
-34
 f0
 80
-20
+14
 90
 4f
 09
 e0
 b4
-21
-19
+64
+0d
 90
 4c
 c1
 e0
 b4
 02
-12
-90
-4d
-d3
-e0
-70
-06
-90
-4d
-d4
-e0
-60
 06
 90
 4f
 09
 74
-1f
+35
 f0
 90
 4c
@@ -19388,8 +19247,8 @@
 02
 60
 02
-41
-6f
+21
+e2
 ec
 b4
 e3
@@ -19537,64 +19396,64 @@
 01
 60
 02
-81
-45
+61
+d5
 ec
 12
 05
 b3
-33
-52
+32
+c5
 08
 32
-b1
+24
 14
-33
-03
+32
+76
 1a
 33
-a4
+17
 3a
 33
-ac
+1f
 3b
 33
-b4
+27
 3c
 33
-bc
+2f
 3d
 33
-c4
+37
 3e
 33
-cc
+3f
 3f
 33
-d4
+47
 40
 33
-dc
+4f
 41
 33
-e4
+57
 42
-34
-04
+33
+77
 43
-34
-0c
+33
+95
 44
-34
-14
+33
+9d
 45
-34
-3f
+33
+cf
 4c
 00
 00
-34
-45
+33
+d5
 90
 4c
 c1
@@ -19675,8 +19534,8 @@
 4f
 09
 f0
-81
-45
+61
+d5
 90
 4c
 c1
@@ -19754,8 +19613,8 @@
 4f
 09
 f0
-81
-45
+61
+d5
 90
 4c
 c1
@@ -19836,64 +19695,64 @@
 4f
 09
 f0
-81
-45
+61
+d5
 90
 4f
 09
 74
 d7
 f0
-81
-45
+61
+d5
 90
 4f
 09
 74
 d8
 f0
-81
-45
+61
+d5
 90
 4f
 09
 74
 f8
 f0
-81
-45
+61
+d5
 90
 4f
 09
 74
 f6
 f0
-81
-45
+61
+d5
 90
 4f
 09
 74
 f7
 f0
-80
-79
+61
+d5
 90
 4f
 09
 74
 f4
 f0
-80
-71
+61
+d5
 90
 4f
 09
 74
 f2
 f0
-80
-69
+61
+d5
 90
 4f
 09
@@ -19901,7 +19760,7 @@
 f5
 f0
 80
-61
+7e
 90
 4c
 c1
@@ -19933,7 +19792,29 @@
 09
 f0
 80
-41
+5e
+90
+4c
+c1
+e0
+b4
+02
+0f
+af
+06
+7b
+2c
+7d
+08
+11
+ea
+e4
+90
+4f
+09
+f0
+80
+48
 90
 4f
 09
@@ -19941,7 +19822,7 @@
 d5
 f0
 80
-39
+40
 90
 4f
 09
@@ -19949,24 +19830,31 @@
 d6
 f0
 80
-31
+38
 90
 4c
 c1
 e0
-ff
+fc
 b4
 02
-08
+0f
+af
+06
+7b
+20
+7d
+0a
+11
+ea
+e4
 90
 4f
 09
-74
-da
 f0
 80
 21
-ef
+ec
 b4
 01
 08
@@ -20021,7 +19909,7 @@
 c2
 03
 91
-80
+10
 90
 4f
 0a
@@ -20029,8 +19917,8 @@
 ff
 c2
 02
-91
-6f
+71
+ff
 90
 4f
 0a
@@ -20039,7 +19927,7 @@
 c2
 04
 91
-af
+3f
 22
 ef
 f4
@@ -20056,7 +19944,7 @@
 92
 00
 91
-c0
+50
 22
 ef
 f4
@@ -20073,7 +19961,7 @@
 92
 00
 91
-c0
+50
 22
 ac
 07
@@ -20088,7 +19976,7 @@
 92
 03
 91
-80
+10
 af
 04
 a2
@@ -20096,14 +19984,14 @@
 b3
 92
 02
-91
-6f
+71
+ff
 af
 04
 c2
 04
 91
-af
+3f
 22
 ef
 f4
@@ -20120,7 +20008,7 @@
 92
 00
 91
-c0
+50
 22
 90
 4e
@@ -20236,8 +20124,8 @@
 ff
 60
 0a
-91
-4b
+71
+db
 90
 4f
 0c
@@ -20256,8 +20144,8 @@
 f0
 a3
 f0
-b1
-4a
+91
+da
 80
 d7
 e4
@@ -20279,7 +20167,7 @@
 c2
 05
 91
-91
+21
 90
 4f
 0b
@@ -20312,7 +20200,7 @@
 0d
 80
 b1
-af
+3f
 90
 4c
 eb
@@ -20853,8 +20741,8 @@
 04
 cf
 22
-b6
-ba
+f3
+32
 aa
 55
 40
@@ -22177,8 +22065,8 @@
 6c
 59
 50
-c9
-eb
+09
+58
 ff
 ff
 ff
@@ -32764,5 +32652,117 @@
 ff
 ff
 ff
-a6
-e4
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+8d
+56
Index: c51/output/fw.hex
===================================================================
--- /XZR_Project/XZR_1086_AK8048/c51/output/fw.hex	(revision 779)
+++ /XZR_Project/XZR_1086_AK8048/c51/output/fw.hex	(working copy)
@@ -101,7 +101,7 @@
 :1006400054C025E060A840B8E493A3FAE493A3F86B
 :10065000E493A3C8C582C8CAC583CAF0A3C8C5822B
 :10066000C8CAC583CADFE9DEE780BE524E5CFF120E
-:1006700099000000FF2286FF0E19000000FF368659
+:1006700099000000FF2286FF0E19000000FF3616C9
 :100680000019090A0B0C0D0E0F1718151312111073
 :10069000141A1B0000004C0000006500E03E142B03
 :1006A00004291DEF351E1A3916641B8A3A1F083CAF
@@ -204,7 +204,7 @@
 :100CB000ECEF7002A153904CEBE06002A153904C1A
 :100CC000C7E0FF6404600AEFB4031E904DD5E060F6
 :100CD00018904E84E0B406037403F07B017A4E79D9
-:100CE00084904E83E0FD123706904CC5E06403709B
+:100CE00084904E83E0FD123696904CC5E06403700C
 :100CF00062904E84E0640170237404F0A3E07014E9
 :100D0000904E87E0700EA3E0700AA3E07006904D4D
 :100D1000E0F08032904DE07401F0802A904E84E043
@@ -246,18 +246,18 @@
 :100F5000E9E0601BE014F0E07015904D46E060029F
 :100F6000E4F0904CC7E0B40406904213740CF022F5
 :100F7000EFF4600D7B017A807974A2019200123443
-:100F8000C022904CC3E0B40106D2017F1D80E190E5
+:100F80005022904CC3E0B40106D2017F1D80E19055
 :100F90004CC3E0B40206D2017F1680D4D2017F1E7A
 :100FA00080CE904CC3E0B40106C2017F1D80C19089
 :100FB0004CC3E0B40206C2017F1680B4C2017F1E9A
-:100FC00080AEAC07ECF46016AF04D2041234AFAFBD
-:100FD00004A2069201F170AF04C20212346F229093
+:100FC00080AEAC07ECF46016AF04D20412343FAF2D
+:100FD00004A2069201F170AF04C2021233FF229004
 :100FE0000BE77406F0904F0FEDF0E0FD900BE8F08A
 :100FF0007E0B7FE9904ECAEDF0117D7B017A0B7973
 :10100000E7904F0FE02402FD904EBFEBF0A3EAF013
 :10101000A3E9F0A3EDF0904B9CE0FFA3E0904EC35A
 :10102000CFF0A3EFF0904B9AE0FEA3E0FF904B9C33
-:10103000E0FCA3E0FD7B64123696904EC2E0FEEF2A
+:10103000E0FCA3E0FD7B64123626904EC2E0FEEF9A
 :10104000C39E40E1904EC2E0FF14F0EF603F904E2F
 :10105000BFE0FBA3E475F001120424A9F0FA120327
 :10106000B6FF904EC3E475F00112042485F082F5BA
@@ -299,7 +299,7 @@
 :1012A000B315111415E11514002715A82912CF2F15
 :1012B00013FA3014523114BB3212CF331583341564
 :1012C000C235144A3714003914523C000016251256
-:1012D0001FE412357A904F0EE0B42F0B121A86904D
+:1012D0001FE412350A904F0EE0B42F0B121A8690BD
 :1012E0004CFF741EF0800EC2067FFF120FC2C206B2
 :1012F0007F08120FC27B017A4C79FC7D017C007F54
 :10130000C07E7F1220F5904CFCE06401703D904C53
@@ -317,7 +317,7 @@
 :1013C000D1267B017A4C79007D047C007F527E7FA0
 :1013D0001220F57F0AD1267B017A4C79C17D017CF0
 :1013E000007F577E7F1220F57F0AD126904CC1E006
-:1013F000D394024002E4F002208312356702353DA7
+:1013F000D394024002E4F00220831234F70234CD89
 :10140000904CC3E0D394005002C125E09404400204
 :10141000C125E075F01FA424D5F9744D35F0FA7B91
 :10142000017D1F7C00F1F47FC8D126C2017F1F120D
@@ -401,14 +401,14 @@
 :1019000051861217E780FE904CEAE0702A904CEC6A
 :10191000E07024904CFFE0701E904CE5E070189051
 :101920004DDBE07012904CE8E0700C904DE5E070FB
-:1019300006904CF8E0600512371580A7314E904CA8
+:1019300006904CF8E060051236A580A7314E904C19
 :10194000FEE0600251861217E78098809622E4FF3D
 :10195000904F0DF0FEFDEF900681936049EF93FDEF
 :10196000131313541FFEED5407FD7401A8050880DE
 :1019700002C333D8FCFDEE2478FBE434808B82F57F
 :1019800083E0FCEDF4FBEC5BF0EE2470F582E434D4
 :1019900080F583E04DF0EE2474F582E43480F58325
-:1019A000E05BF00F80B012376790811CE0904F0D24
+:1019A000E05BF00F80B01236F790811CE0904F0D95
 :1019B000F0904DDFE06020E4FF31E77F0131E77F09
 :1019C0000231E77F0331E77F0431E77F0531E77FAD
 :1019D0000631E77F078010904F0DE0FF9000A3F0E5
@@ -508,7 +508,7 @@
 :101FB0006017904CC3E0B401047F1D80C3904CC3F4
 :101FC000E06402701C7F1680B7C2017F1D120F7083
 :101FD000C2017F16020F70904CEEE060047F1EF18C
-:101FE000802201E112356712353D4186E4904F07AA
+:101FE000802201E11234F71234CD4186E4904F078C
 :101FF000F0904CC8E0B40206904F07E0FF229047F3
 :10200000F5E030E306904F07E0FF22904CEEE060F1
 :1020100006904F07E0FF22904CC7E0703F904CC500
@@ -784,108 +784,101 @@
 :1030F000EBF0EF30E012904CF4E0B403047402F013
 :1031000022904CF47401F022904CF47404F022AE3E
 :1031100007AC05E4904F09F0EE30E005E4904CF880
-:10312000F0904F09ECF0FFBF3512904CC1E0640203
-:10313000600221DA904F097464F021DA904F09E0BF
-:10314000FFB46412904CC1E06402600221DA904F37
-:10315000097435F021DAEFB4341C904CC1E06402FC
-:103160007078904DEEE07006904DF1E0606C904FFD
-:1031700009741FF08064904F09E0FFB4311C904C3B
-:10318000C1E064027054904DEEE07006904DF1E0A5
-:103190006048904F097435F08040EFB41F1C904C8C
-:1031A000C1E064027034904DEEE07006904DF1E0A5
-:1031B0006028904F097434F08020904F09E0B421CA
-:1031C00019904CC1E0B40212904DD3E07006904DBE
-:1031D000D4E06006904F09741FF0904CC1E0640287
-:1031E0006002416FECB4E308904F0974E2F0807F15
-:1031F000ECB4E208904F0974E3F08073ECB4E60895
-:10320000904F0974E7F08067ECB44B0FAF067B5228
-:103210007D0811EAE4904F09F08054ECB44E0FAFF2
-:10322000067B517D0811EAE4904F09F08041ECB42F
-:103230004A0FAF067B507D0811EAE4904F09F080F9
-:103240002EECB44D0FAF067B4F7D0811EAE4904F92
-:1032500009F0801BECB44617AF067B207D0A11EA0B
-:10326000EE30E006904CF8740AF0E4904F09F090CC
-:103270004DE5E0640160028145EC1205B33352086C
-:1032800032B11433031A33A43A33AC3B33B43C3376
-:10329000BC3D33C43E33CC3F33D44033DC4133E414
-:1032A00042340443340C44341445343F4C0000345D
-:1032B00045904CC1E0640160397401F0904CC3E06A
-:1032C000FFD394035026EFC394014020904CC1E0FB
-:1032D000FF904CC3E075F01FA424F2F582E4344D56
-:1032E000F583EFF0904CBF7403F08006904CBF74F0
-:1032F00002F0EE30E006904CE8740CF0E4904F09D8
-:10330000F08145904CC1E06038E4F0904CC3E0FFA0
-:10331000D394035026EFC394014020904CC1E0FFAA
-:10332000904CC3E075F01FA424F2F582E4344DF50F
-:1033300083EFF0904CBF7403F08006904CBF740292
-:10334000F0EE30E006904CE8740CF0E4904F09F099
-:103350008145904CC1E0640260397402F0904CC326
-:10336000E0FFD394035026EFC394014020904CC15A
-:10337000E0FF904CC3E075F01FA424F2F582E43422
-:103380004DF583EFF0904CBF7403F08006904CBF76
-:103390007402F0EE30E006904CE8740CF0E4904FCC
-:1033A00009F08145904F0974D7F08145904F097419
-:1033B000D8F08145904F0974F8F08145904F097419
-:1033C000F6F08145904F0974F7F08079904F0974B9
-:1033D000F4F08071904F0974F2F08069904F097495
-:1033E000F5F08061904CC1E0B4020AAF067B047D29
-:1033F0000811EA8008AF067B047D0111EAE4904FD2
-:1034000009F08041904F0974D5F08039904F0974CC
-:10341000D6F08031904CC1E0FFB40208904F09749F
-:10342000DAF08021EFB40108904F0974DAF08015CA
-:10343000AF067B0F7D0811EAE4904F09F0800690FB
-:103440004F0974DEF0904F09E0FF22904F0AEFF031
-:10345000F4601B904F0AE0FFC2039180904F0AE096
-:10346000FFC202916F904F0AE0FFC20491AF22EFBA
-:10347000F4600C7B017A807978A202920091C022DC
-:10348000EFF4600C7B017A80797CA203920091C0FA
-:1034900022AC07ECF46017AF04A20592039180AF51
-:1034A00004A205B39202916FAF04C20491AF22EF60
-:1034B000F4600C7B017A807970A204920091C022A2
-:1034C000904EFCEBF0A3EAF0A3E9F0E4FEFDEF542C
-:1034D00007FEEF1313135403FD300022904EFCE05F
-:1034E000FBA3E0FAA3E02DF9E43AFA1203B6FF7465
-:1034F00001A806088002C333D8FC4F0203FC904E9B
-:10350000FCE0FBA3E0FAA3E02DF9E43AFA1203B6DB
-:10351000FF7401A806088002C333D8FCF45F0203DD
-:10352000FCE4904F0CF0F0904F0CE090068193FF7C
-:10353000600A914B904F0CE004F080EB2290808069
-:10354000E4F0A3F0A3F0B14A80D7E4904F0BF0F081
-:10355000904F0BE0FFC39408500CC2059191904F1F
-:103560000BE004F080EA22908091740DF0A304F047
-:10357000A3F0A3F0A3F0A314F022120D80B1AF903A
-:103580004CEB7401F0904CE5741EF0E4904CF0F0BC
-:10359000904D0874FFF09044FCE0904DD0F09044C2
-:1035A000FDE0904DD1F09044FEE0904DD2F022909D
-:1035B0004CD37405F0E4A3F0FFEF25E024D6F582A8
-:1035C000E4344CF5837451F0A3F00FEFB404EA90A7
-:1035D0004C93E0FFA3E0904CFACFF0A3EFF0904CB7
-:1035E00091E0FEA3E0FFC3904C94E09FFD904C93CC
-:1035F000E09EFCE41202067BA47A70793D783F12CB
-:1036000000FBC004C005C006C007904C91E0FCA3BD
-:10361000E0FDE4120206D003D002D001D000120077
-:103620000A12023F904CDEEEF0A3EFF0904C91E0D6
-:10363000FEA3E0FFC3904C94E09FFD904C93E09E6E
-:10364000FCE41202067BAE7A477921783F1200FB38
-:10365000C004C005C006C007904C91E0FCA3E0FD8B
-:10366000E4120206D003D002D001D00012000A12E8
-:10367000023F904CE0EEF0A3EFF022908010740136
-:10368000F080FE2280F5904F01EDF09000011203D2
-:10369000CF904F02F022904EE2EEF0A3EFF0904E6A
-:1036A000E4ECF0A3EDF0904EE4E0FEA3E0FFD39055
-:1036B0004EE3E09F904EE2E09E4016904EE4E0FE26
-:1036C000A3E0FF904EE3E09FFF904EE2E09EFE807D
-:1036D0001E904EE2E0FEA3E0FFC3904EE5E09FFFA8
-:1036E000904EE4E09EFEAD03C3EB9FFFE49EFE22FE
-:1036F000900BE77403F0ED6003120FE522900BE7E7
-:103700007404F0020FE5900BE77405F0020FE590EA
-:103710000446E0FF22900B7F7401F0E4900B7EF0F2
-:10372000229082807401F022EFF4603AEF5407FE99
-:10373000EF1313135403FF24A3F582E43400F5833D
-:10374000C083C082E0FD7401A806088002C333D89C
-:10375000FCF4FC5DD082D083F074A72FF582E434B2
-:1037600000F583E05CF022E4FFEFFD7C002478FBB1
-:10377000EC34808B82F583E0FEED2470FDEC348028
-:103780008D82F583E04EF4FEEF247CFDEC34808DD9
-:0B37900082F583EEF00FEFB404CF22AF
+:10312000F0904F09ECF0FFBF350F904CC1E0B402B6
+:103130001C904F097464F08014904F09E0B4640D42
+:10314000904CC1E0B40206904F097435F0904CC128
+:10315000E06402600221E2ECB4E308904F0974E2FB
+:10316000F0807FECB4E208904F0974E3F08073ECD8
+:10317000B4E608904F0974E7F08067ECB44B0FAFEA
+:10318000067B527D0811EAE4904F09F08054ECB4BC
+:103190004E0FAF067B517D0811EAE4904F09F08095
+:1031A00041ECB44A0FAF067B507D0811EAE4904F22
+:1031B00009F0802EECB44D0FAF067B4F7D0811EA6D
+:1031C000E4904F09F0801BECB44617AF067B207DDE
+:1031D0000A11EAEE30E006904CF8740AF0E4904FE1
+:1031E00009F0904DE5E06401600261D5EC1205B391
+:1031F00032C50832241432761A33173A331F3B3360
+:10320000273C332F3D33373E333F3F334740334F27
+:1032100041335742337743339544339D4533CF4C45
+:10322000000033D5904CC1E0640160397401F09026
+:103230004CC3E0FFD394035026EFC3940140209089
+:103240004CC1E0FF904CC3E075F01FA424F2F5825E
+:10325000E4344DF583EFF0904CBF7403F08006909A
+:103260004CBF7402F0EE30E006904CE8740CF0E4D1
+:10327000904F09F061D5904CC1E06038E4F0904C7B
+:10328000C3E0FFD394035026EFC394014020904C39
+:10329000C1E0FF904CC3E075F01FA424F2F582E476
+:1032A000344DF583EFF0904CBF7403F08006904CE2
+:1032B000BF7402F0EE30E006904CE8740CF0E4903D
+:1032C0004F09F061D5904CC1E0640260397402F09E
+:1032D000904CC3E0FFD394035026EFC394014020E9
+:1032E000904CC1E0FF904CC3E075F01FA424F2F5B0
+:1032F00082E4344DF583EFF0904CBF7403F0800608
+:10330000904CBF7402F0EE30E006904CE8740CF084
+:10331000E4904F09F061D5904F0974D7F061D590D2
+:103320004F0974D8F061D5904F0974F8F061D590C9
+:103330004F0974F6F061D5904F0974F7F061D5909C
+:103340004F0974F4F061D5904F0974F2F061D59093
+:103350004F0974F5F0807E904CC1E0B4020AAF06CC
+:103360007B047D0811EA8008AF067B047D0111EA29
+:10337000E4904F09F0805E904CC1E0B4020FAF06BC
+:103380007B2C7D0811EAE4904F09F08048904F09AA
+:1033900074D5F08040904F0974D6F08038904CC1BD
+:1033A000E0FCB4020FAF067B207D0A11EAE4904FE7
+:1033B00009F08021ECB40108904F0974DAF080150F
+:1033C000AF067B0F7D0811EAE4904F09F08006906C
+:1033D0004F0974DEF0904F09E0FF22904F0AEFF0A2
+:1033E000F4601B904F0AE0FFC2039110904F0AE077
+:1033F000FFC20271FF904F0AE0FFC204913F22EF2B
+:10340000F4600C7B017A807978A2029200915022BC
+:10341000EFF4600C7B017A80797CA20392009150DA
+:1034200022AC07ECF46017AF04A20592039110AF31
+:1034300004A205B3920271FFAF04C204913F22EFD0
+:10344000F4600C7B017A807970A204920091502282
+:10345000904EFCEBF0A3EAF0A3E9F0E4FEFDEF549C
+:1034600007FEEF1313135403FD300022904EFCE0CF
+:10347000FBA3E0FAA3E02DF9E43AFA1203B6FF74D5
+:1034800001A806088002C333D8FC4F0203FC904E0B
+:10349000FCE0FBA3E0FAA3E02DF9E43AFA1203B64C
+:1034A000FF7401A806088002C333D8FCF45F02034E
+:1034B000FCE4904F0CF0F0904F0CE090068193FFED
+:1034C000600A71DB904F0CE004F080EB229080806A
+:1034D000E4F0A3F0A3F091DA80D7E4904F0BF0F082
+:1034E000904F0BE0FFC39408500CC2059121904F00
+:1034F0000BE004F080EA22908091740DF0A304F0B8
+:10350000A3F0A3F0A3F0A314F022120D80B13F901A
+:103510004CEB7401F0904CE5741EF0E4904CF0F02C
+:10352000904D0874FFF09044FCE0904DD0F0904432
+:10353000FDE0904DD1F09044FEE0904DD2F022900D
+:103540004CD37405F0E4A3F0FFEF25E024D6F58218
+:10355000E4344CF5837451F0A3F00FEFB404EA9017
+:103560004C93E0FFA3E0904CFACFF0A3EFF0904C27
+:1035700091E0FEA3E0FFC3904C94E09FFD904C933C
+:10358000E09EFCE41202067BA47A70793D783F123B
+:1035900000FBC004C005C006C007904C91E0FCA32E
+:1035A000E0FDE4120206D003D002D001D0001200E8
+:1035B0000A12023F904CDEEEF0A3EFF0904C91E047
+:1035C000FEA3E0FFC3904C94E09FFD904C93E09EDF
+:1035D000FCE41202067BAE7A477921783F1200FBA9
+:1035E000C004C005C006C007904C91E0FCA3E0FDFC
+:1035F000E4120206D003D002D001D00012000A1259
+:10360000023F904CE0EEF0A3EFF0229080107401A6
+:10361000F080FE2280F5904F01EDF0900001120342
+:10362000CF904F02F022904EE2EEF0A3EFF0904EDA
+:10363000E4ECF0A3EDF0904EE4E0FEA3E0FFD390C5
+:103640004EE3E09F904EE2E09E4016904EE4E0FE96
+:10365000A3E0FF904EE3E09FFF904EE2E09EFE80ED
+:103660001E904EE2E0FEA3E0FFC3904EE5E09FFF18
+:10367000904EE4E09EFEAD03C3EB9FFFE49EFE226E
+:10368000900BE77403F0ED6003120FE522900BE757
+:103690007404F0020FE5900BE77405F0020FE5905B
+:1036A0000446E0FF22900B7F7401F0E4900B7EF063
+:1036B000229082807401F022EFF4603AEF5407FE0A
+:1036C000EF1313135403FF24A3F582E43400F583AE
+:1036D000C083C082E0FD7401A806088002C333D80D
+:1036E000FCF4FC5DD082D083F074A72FF582E43423
+:1036F00000F583E05CF022E4FFEFFD7C002478FB22
+:10370000EC34808B82F583E0FEED2470FDEC348098
+:103710008D82F583E04EF4FEEF247CFDEC34808D49
+:0B37200082F583EEF00FEFB404CF221F
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /XZR_Project/XZR_1086_AK8048/c51/output/fwram.rom	(revision 779)
+++ /XZR_Project/XZR_1086_AK8048/c51/output/fwram.rom	(working copy)
@@ -1661,7 +1661,7 @@
 00
 ff
 36
-86
+16
 00
 19
 09
@@ -3301,8 +3301,8 @@
 e0
 fd
 12
-37
-06
+36
+96
 90
 4c
 c5
@@ -3966,7 +3966,7 @@
 00
 12
 34
-c0
+50
 22
 90
 4c
@@ -4044,7 +4044,7 @@
 04
 12
 34
-af
+3f
 af
 04
 a2
@@ -4058,8 +4058,8 @@
 c2
 02
 12
-34
-6f
+33
+ff
 22
 90
 0b
@@ -4151,7 +4151,7 @@
 64
 12
 36
-96
+26
 90
 4e
 c2
@@ -4818,7 +4818,7 @@
 e4
 12
 35
-7a
+0a
 90
 4f
 0e
@@ -5113,11 +5113,11 @@
 20
 83
 12
-35
-67
+34
+f7
 02
-35
-3d
+34
+cd
 90
 4c
 c3
@@ -6454,8 +6454,8 @@
 60
 05
 12
-37
-15
+36
+a5
 80
 a7
 31
@@ -6565,8 +6565,8 @@
 80
 b0
 12
-37
-67
+36
+f7
 90
 81
 1c
@@ -8163,11 +8163,11 @@
 01
 e1
 12
-35
-67
+34
+f7
 12
-35
-3d
+34
+cd
 41
 86
 e4
@@ -12583,182 +12583,41 @@
 ff
 bf
 35
-12
+0f
 90
 4c
 c1
 e0
-64
-02
-60
-02
-21
-da
-90
-4f
-09
-74
-64
-f0
-21
-da
-90
-4f
-09
-e0
-ff
 b4
-64
-12
-90
-4c
-c1
-e0
-64
 02
-60
-02
-21
-da
-90
-4f
-09
-74
-35
-f0
-21
-da
-ef
-b4
-34
 1c
 90
-4c
-c1
-e0
-64
-02
-70
-78
-90
-4d
-ee
-e0
-70
-06
-90
-4d
-f1
-e0
-60
-6c
-90
-4f
-09
-74
-1f
-f0
-80
-64
-90
-4f
-09
-e0
-ff
-b4
-31
-1c
-90
-4c
-c1
-e0
-64
-02
-70
-54
-90
-4d
-ee
-e0
-70
-06
-90
-4d
-f1
-e0
-60
-48
-90
 4f
 09
 74
-35
-f0
-80
-40
-ef
-b4
-1f
-1c
-90
-4c
-c1
-e0
 64
-02
-70
-34
-90
-4d
-ee
-e0
-70
-06
-90
-4d
-f1
-e0
-60
-28
-90
-4f
-09
-74
-34
 f0
 80
-20
+14
 90
 4f
 09
 e0
 b4
-21
-19
+64
+0d
 90
 4c
 c1
 e0
 b4
 02
-12
-90
-4d
-d3
-e0
-70
-06
-90
-4d
-d4
-e0
-60
 06
 90
 4f
 09
 74
-1f
+35
 f0
 90
 4c
@@ -12768,8 +12627,8 @@
 02
 60
 02
-41
-6f
+21
+e2
 ec
 b4
 e3
@@ -12917,64 +12776,64 @@
 01
 60
 02
-81
-45
+61
+d5
 ec
 12
 05
 b3
-33
-52
+32
+c5
 08
 32
-b1
+24
 14
-33
-03
+32
+76
 1a
 33
-a4
+17
 3a
 33
-ac
+1f
 3b
 33
-b4
+27
 3c
 33
-bc
+2f
 3d
 33
-c4
+37
 3e
 33
-cc
+3f
 3f
 33
-d4
+47
 40
 33
-dc
+4f
 41
 33
-e4
+57
 42
-34
-04
+33
+77
 43
-34
-0c
+33
+95
 44
-34
-14
+33
+9d
 45
-34
-3f
+33
+cf
 4c
 00
 00
-34
-45
+33
+d5
 90
 4c
 c1
@@ -13055,8 +12914,8 @@
 4f
 09
 f0
-81
-45
+61
+d5
 90
 4c
 c1
@@ -13134,8 +12993,8 @@
 4f
 09
 f0
-81
-45
+61
+d5
 90
 4c
 c1
@@ -13216,64 +13075,64 @@
 4f
 09
 f0
-81
-45
+61
+d5
 90
 4f
 09
 74
 d7
 f0
-81
-45
+61
+d5
 90
 4f
 09
 74
 d8
 f0
-81
-45
+61
+d5
 90
 4f
 09
 74
 f8
 f0
-81
-45
+61
+d5
 90
 4f
 09
 74
 f6
 f0
-81
-45
+61
+d5
 90
 4f
 09
 74
 f7
 f0
-80
-79
+61
+d5
 90
 4f
 09
 74
 f4
 f0
-80
-71
+61
+d5
 90
 4f
 09
 74
 f2
 f0
-80
-69
+61
+d5
 90
 4f
 09
@@ -13281,7 +13140,7 @@
 f5
 f0
 80
-61
+7e
 90
 4c
 c1
@@ -13313,7 +13172,29 @@
 09
 f0
 80
-41
+5e
+90
+4c
+c1
+e0
+b4
+02
+0f
+af
+06
+7b
+2c
+7d
+08
+11
+ea
+e4
+90
+4f
+09
+f0
+80
+48
 90
 4f
 09
@@ -13321,7 +13202,7 @@
 d5
 f0
 80
-39
+40
 90
 4f
 09
@@ -13329,24 +13210,31 @@
 d6
 f0
 80
-31
+38
 90
 4c
 c1
 e0
-ff
+fc
 b4
 02
-08
+0f
+af
+06
+7b
+20
+7d
+0a
+11
+ea
+e4
 90
 4f
 09
-74
-da
 f0
 80
 21
-ef
+ec
 b4
 01
 08
@@ -13401,7 +13289,7 @@
 c2
 03
 91
-80
+10
 90
 4f
 0a
@@ -13409,8 +13297,8 @@
 ff
 c2
 02
-91
-6f
+71
+ff
 90
 4f
 0a
@@ -13419,7 +13307,7 @@
 c2
 04
 91
-af
+3f
 22
 ef
 f4
@@ -13436,7 +13324,7 @@
 92
 00
 91
-c0
+50
 22
 ef
 f4
@@ -13453,7 +13341,7 @@
 92
 00
 91
-c0
+50
 22
 ac
 07
@@ -13468,7 +13356,7 @@
 92
 03
 91
-80
+10
 af
 04
 a2
@@ -13476,14 +13364,14 @@
 b3
 92
 02
-91
-6f
+71
+ff
 af
 04
 c2
 04
 91
-af
+3f
 22
 ef
 f4
@@ -13500,7 +13388,7 @@
 92
 00
 91
-c0
+50
 22
 90
 4e
@@ -13616,8 +13504,8 @@
 ff
 60
 0a
-91
-4b
+71
+db
 90
 4f
 0c
@@ -13636,8 +13524,8 @@
 f0
 a3
 f0
-b1
-4a
+91
+da
 80
 d7
 e4
@@ -13659,7 +13547,7 @@
 c2
 05
 91
-91
+21
 90
 4f
 0b
@@ -13692,7 +13580,7 @@
 0d
 80
 b1
-af
+3f
 90
 4c
 eb
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
