Index: c51/global_variable.h
===================================================================
--- /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/global_variable.h	(revision 327)
+++ /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/global_variable.h	(working copy)
@@ -97,6 +97,7 @@
 	 byte key_numlock_open_flag;			//0x4cf8
 	 byte key_special_release_flag;
 	 byte one_key_press_wait_release_timer;
+	 byte key_numlock_flag_send;
 
 	 byte battery_shutdown_flag;
 	 byte last_battery_status;
Index: c51/kb_process.c
===================================================================
--- /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/kb_process.c	(revision 327)
+++ /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/kb_process.c	(working copy)
@@ -338,8 +338,10 @@
 	
 		hidBuff[0] = HID_REPORTID_1;		// standard key send
 		hidBuff[1] = pEvt->standardSel;
-		if ((g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED) && !g_variable.key_special_release_flag)
+		if ((g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED) && !g_variable.key_special_release_flag && g_variable.key_numlock_flag_send)
+		{
 			hidBuff[2] = g_variable.key_numlock_open_flag;
+		}
 		else
 			hidBuff[2] = 0;
 
@@ -392,6 +394,8 @@
 		g_variable.one_key_press_wait_release_timer = 0;
 	temp = key_value;	
 
+
+	g_variable.key_numlock_flag_send = 0;
 //numloc flag
 //	if (g_variable.key_numlock_open_flag == 0)
 	{
@@ -421,18 +425,24 @@
 				{
 					temp = HID_KEY_F1;
 				}
+				else
+					g_variable.key_numlock_flag_send = 1;
 				break;
 			case HID_KEY_KP_8:
 				if(g_variable.key_numlock_open_flag == 0x80) 
 				{
 					temp = HID_KEY_F2;
 				}
+				else
+					g_variable.key_numlock_flag_send = 1;
 				break;
 			case HID_KEY_KP_9:
 				if(g_variable.key_numlock_open_flag == 0x80) 
 				{
 					temp = HID_KEY_F3;
 				}
+				else
+					g_variable.key_numlock_flag_send = 1;
 				break;
 			case HID_KEY_KP_MINUS:
 				if(g_variable.key_numlock_open_flag == 0x80) 
@@ -445,36 +455,51 @@
 				{
 					temp = HID_KEY_F5;
 				}
+				else
+					g_variable.key_numlock_flag_send = 1;
 				break;
 			case HID_KEY_KP_5:
 				if(g_variable.key_numlock_open_flag == 0x80) 
 				{
 					temp = HID_KEY_F6;
 				}
+				else
+					g_variable.key_numlock_flag_send = 1;
 				break;	
 			case HID_KEY_KP_6:
 				if(g_variable.key_numlock_open_flag == 0x80)  
 				{
 					temp = HID_KEY_F7;
 				}
+				else
+					g_variable.key_numlock_flag_send = 1;
 				break;
 			case HID_KEY_KP_PLUS:
 				if(g_variable.key_numlock_open_flag == 0x80) 
 				{
 					temp = HID_KEY_F8;
 				}
+				break;
+			case HID_KEY_KP_1:
+			case HID_KEY_KP_0:
+			case HID_KEY_KP_DEL:
+					g_variable.key_numlock_flag_send = 1;
 				break;	
 			case HID_KEY_KP_2:
 				if(g_variable.key_numlock_open_flag == 0x80) 
 				{
 					temp = HID_KEY_F11;
 				}
+				else
+					g_variable.key_numlock_flag_send = 1;
 				break;
 			case HID_KEY_KP_3:
 				if(g_variable.key_numlock_open_flag == 0x80) 
 				{
 					temp = HID_KEY_F12;
 				}
+				else
+					g_variable.key_numlock_flag_send = 1;
 				break;
 			case HID_KEY_EQUAL:
 				if(g_variable.key_numlock_open_flag == 0x80) 
@@ -487,7 +512,8 @@
 				{
 					temp = HID_KEY_F10;
 				}
-				break;		
+				break;	
+			
 			default :
 				break;
 		}
Index: c51/output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/FW.COD
===================================================================
--- /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/FW.COD	(revision 327)
+++ /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               01/17/2022  20:07:04  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               01/26/2022  11:37:01  PAGE 1
 
 
 
@@ -109,7 +109,7 @@
 000330 7974              MOV     R1,#074H
 000332 A201              MOV     C,bit_val
 000334 9200              MOV     ?_gpioSetBit?BIT,C
-000336 1217E3            LCALL   _gpioSetBit
+000336 121DBC            LCALL   _gpioSetBit
 000339         ?C0007?GPIO:
 000339 22                RET     
 ----- FUNCTION _GPIO_Setout (END) -------
@@ -122,7 +122,7 @@
 00033F 7B01              MOV     R3,#01H
 000341 7A80              MOV     R2,#080H
 000343 7974              MOV     R1,#074H
-000345 120FC1            LCALL   _gpioGetBit
+000345 120FC7            LCALL   _gpioGetBit
 000348 9209              MOV     st,C
 00034A 904E9F            MOV     DPTR,#gpio_num
 00034D E0                MOVX    A,@DPTR
@@ -143,14 +143,14 @@
 00035C         ?C0016?GPIO:
 00035C AF04              MOV     R7,AR4
 00035E D204              SETB    ?_GPIO_Setoe?BIT
-000360 121E10            LCALL   _GPIO_Setoe
+000360 121E5D            LCALL   _GPIO_Setoe
 000363 AF04              MOV     R7,AR4
 000365 A206              MOV     C,st
 000367 9201              MOV     ?_GPIO_Setout?BIT,C
 000369 7128              ACALL   _GPIO_Setout
 00036B AF04              MOV     R7,AR4
 00036D C202              CLR     ?_GPIO_SetPu?BIT
-00036F 1217C1            LCALL   _GPIO_SetPu
+00036F 121E1D            LCALL   _GPIO_SetPu
 000372         ?C0017?GPIO:
 000372 22                RET     
 ----- FUNCTION _GPIO_SetOutput (END) -------
@@ -218,7 +218,7 @@
   105: 		System_Hardware_init();
 0003A1 717F              ACALL   System_Hardware_init
   106: 		System_Software_init();
-0003A3 121A7C            LCALL   System_Software_init
+0003A3 121A28            LCALL   System_Software_init
   107: 		IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
 0003A6 7B01              MOV     R3,#01H
 0003A8 7A4C              MOV     R2,#HIGH m_24g_addr
@@ -276,7 +276,7 @@
 0003F4 D143              ACALL   KS_Initialize
   119: 		g_variable.g24_long_sleep_flag = 0;	
 0003F6 E4                CLR     A
-0003F7 904CFD            MOV     DPTR,#g_variable+03EH
+0003F7 904CFE            MOV     DPTR,#g_variable+03FH
 0003FA F0                MOVX    @DPTR,A
   120: 		break;
 0003FB 22                RET     
@@ -523,7 +523,7 @@
 000516 E0                MOVX    A,@DPTR
 000517 4404              ORL     A,#04H
 000519 F0                MOVX    @DPTR,A
-00051A 121DDB            LCALL   IIcWaitDone
+00051A 121D87            LCALL   IIcWaitDone
 00051D 904E6B            MOV     DPTR,#pbuff
 000520 E0                MOVX    A,@DPTR
 000521 A3                INC     DPTR
@@ -814,7 +814,7 @@
 00064A A3                INC     DPTR
 00064B F0                MOVX    @DPTR,A
   212: 	ksColInitialize();
-00064C 121785            LCALL   ksRawInitialize
+00064C 1217D1            LCALL   ksRawInitialize
 ;----                  JMP     ksColInitialize
   213: }
 ----- FUNCTION KS_Initialize (END) -------
@@ -840,7 +840,7 @@
 00065E 600D              JZ      ?C0035?KEYSCAN
   203: 	}
 000660 C205              CLR     ?_GPIO_SetInput?BIT
-000662 1217A2            LCALL   _GPIO_SetInput
+000662 121E2E            LCALL   _GPIO_SetInput
   204: }
 000665 904E99            MOV     DPTR,#i
 000668 E0                MOVX    A,@DPTR
@@ -865,7 +865,7 @@
 000673 74FF              MOV     A,#0FFH
 000675 F0                MOVX    @DPTR,A
    71: 	m_24g_enter_hibernate[0]	= 0xff;
-000676 904CFD            MOV     DPTR,#g_variable+03EH
+000676 904CFE            MOV     DPTR,#g_variable+03FH
 000679 7401              MOV     A,#01H
 00067B F0                MOVX    @DPTR,A
    72: 	m_24g_enter_hibernate[1]	= 0xff;
@@ -1117,7 +1117,7 @@
 00077D E0                MOVX    A,@DPTR
 00077E FD                MOV     R5,A
 00077F 7B64              MOV     R3,#064H
-000781 121B2F            LCALL   _bufsize
+000781 121ADB            LCALL   _bufsize
 000784 904E5B            MOV     DPTR,#len
 000787 E0                MOVX    A,@DPTR
 000788 FE                MOV     R6,A
@@ -1434,7 +1434,7 @@
 0008E4 A3                INC     DPTR
 0008E5 E0                MOVX    A,@DPTR
 0008E6 F9                MOV     R1,A
-0008E7 121D43            LCALL   _IIC_write
+0008E7 121CEF            LCALL   _IIC_write
 0008EA 7F0A              MOV     R7,#0AH
 0008EC 120579            LCALL   _Delay1ms
 0008EF 904E39            MOV     DPTR,#curr_len
@@ -1467,17 +1467,17 @@
   406: {
   407: 	kb_cb_init();
   408: 	while(1) {
-00090F F1A8              ACALL   kb_cb_init
+00090F F1AE              ACALL   kb_cb_init
 000911         ?C0080?SYS:
   409: 		IPC_DealSingleStep();
   410: 		kb_need_keyscan();
-000911 121BD9            LCALL   IPC_DealSingleStep
+000911 121B85            LCALL   IPC_DealSingleStep
   411: 		YC_update_eeprom_data();
 000914 5195              ACALL   kb_need_keyscan
   412: 		LED_handle();
 000916 112A              ACALL   YC_update_eeprom_data
   413: //		m_lpm_mode = 0;
-000918 121A3C            LCALL   LED_handle
+000918 1219E8            LCALL   LED_handle
   414: 		
   415: 		switch (current_task) {
 00091B 900B7E            MOV     DPTR,#current_task
@@ -1515,7 +1515,7 @@
 000941         ?C0088?SYS:
   426: 			{
   427: 				IPC_AbandonLpm();
-000941 121CD4            LCALL   IPC_AbandonLpm
+000941 121C80            LCALL   IPC_AbandonLpm
   428: 				break;
 000944 80CB              SJMP    ?C0080?SYS
   429: 			}
@@ -1624,7 +1624,7 @@
 0009A5 80B0              SJMP    ?C0037?KEYSCAN
 0009A7         ?C0038?KEYSCAN:
   229: 	GPIO_fillpd();
-0009A7 121E61            LCALL   GPIO_fillpd
+0009A7 121EAD            LCALL   GPIO_fillpd
   230: 	
   231: 	temp = REG_GPIO_IN(0);
 0009AA 90811C            MOV     DPTR,#0811CH
@@ -1695,7 +1695,7 @@
 0009E8 904E9E            MOV     DPTR,#gpio_num
 0009EB EF                MOV     A,R7
 0009EC F0                MOVX    @DPTR,A
-0009ED F1BB              ACALL   _GPIO_GetInputStatus
+0009ED F1C1              ACALL   _GPIO_GetInputStatus
 0009EF 9208              MOV     st,C
 0009F1 904E9E            MOV     DPTR,#gpio_num
 0009F4 E0                MOVX    A,@DPTR
@@ -1846,7 +1846,7 @@
   197: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
   198: 		)
   199: 			kb_motion();
-000AA4 E138              AJMP    kb_motion
+000AA4 E13E              AJMP    kb_motion
 000AA6         ?C0038?KB_PROCESS:
   200: 		else
   201: 		{
@@ -1974,7 +1974,7 @@
 000B24 7900              MOV     R1,#LOW hidBuff
 000B26 7D09              MOV     R5,#09H
 000B28 7C00              MOV     R4,#00H
-000B2A D17B              ACALL   _xmemclear
+000B2A D181              ACALL   _xmemclear
   133: 	hidBuff[1] |= ctrl_value;
 000B2C 904800            MOV     DPTR,#hidBuff
 000B2F 7401              MOV     A,#01H
@@ -2177,7 +2177,7 @@
 000C0C 904E1A            MOV     DPTR,#len
 000C0F E0                MOVX    A,@DPTR
 000C10 FD                MOV     R5,A
-000C11 121CC6            LCALL   _IPC_Tx24GData
+000C11 121C72            LCALL   _IPC_Tx24GData
   101: 	}
   102: }
 000C14         ?C0015?KB_PROCESS:
@@ -2244,7 +2244,7 @@
 000C4F 1200F9            LCALL   ?C?CLDPTR
 000C52 6453              XRL     A,#053H
 000C54 7002              JNZ     $ + 4H
-000C56 C17A              AJMP    ?C0055?KB_PROCESS
+000C56 C180              AJMP    ?C0055?KB_PROCESS
   244: 		{
   245: 			return;
   246: 		}
@@ -2274,7 +2274,7 @@
 000C70 E0                MOVX    A,@DPTR
 000C71 4A                ORL     A,R2
 000C72 7002              JNZ     $ + 4H
-000C74 C17A              AJMP    ?C0055?KB_PROCESS
+000C74 C180              AJMP    ?C0055?KB_PROCESS
 000C76         ?C0056?KB_PROCESS:
   252: 		return;
   253: 
@@ -2338,14 +2338,14 @@
 000CB0 7900              MOV     R1,#LOW hidBuff
 000CB2 7D09              MOV     R5,#09H
 000CB4 7C00              MOV     R4,#00H
-000CB6 D17B              ACALL   _xmemclear
+000CB6 D181              ACALL   _xmemclear
   271: 	xmemclear(multikey,9);
 000CB8 7B01              MOV     R3,#01H
 000CBA 7A4D              MOV     R2,#HIGH multikey
 000CBC 79E9              MOV     R1,#LOW multikey
 000CBE 7D09              MOV     R5,#09H
 000CC0 7C00              MOV     R4,#00H
-000CC2 D17B              ACALL   _xmemclear
+000CC2 D181              ACALL   _xmemclear
   272: 
   273: 	////////////////////////////2.4g pairing////////////////////////////////////
   274: 	if ((pEvt->ksPool[0]  == HID_KEY_KP_5&& pEvt->ksPool[1]  == HID_KEY_TAB) 
@@ -2440,15 +2440,15 @@
 000D42 FF                MOV     R7,A
 000D43 6401              XRL     A,#01H
 000D45 7002              JNZ     $ + 4H
-000D47 C17A              AJMP    ?C0055?KB_PROCESS
+000D47 C180              AJMP    ?C0055?KB_PROCESS
 000D49 EF                MOV     A,R7
 000D4A 6404              XRL     A,#04H
 000D4C 7002              JNZ     $ + 4H
-000D4E C17A              AJMP    ?C0055?KB_PROCESS
+000D4E C180              AJMP    ?C0055?KB_PROCESS
 000D50 EF                MOV     A,R7
 000D51 6402              XRL     A,#02H
 000D53 7002              JNZ     $ + 4H
-000D55 C17A              AJMP    ?C0055?KB_PROCESS
+000D55 C180              AJMP    ?C0055?KB_PROCESS
   296: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
   297: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
   298: 	{
@@ -2458,7 +2458,7 @@
   301: 
   302: 
   303: 	kb_multikey_setup(pEvt);
-000D57 12101B            LCALL   _kb_multikey_setup
+000D57 121021            LCALL   _kb_multikey_setup
   304: 	
   305: 	if (mult_key_status == KEY_MULIT_PRESS) 
 000D5A 904DE8            MOV     DPTR,#mult_key_status
@@ -2548,7 +2548,7 @@
 000DB2 FA                MOV     R2,A
 000DB3 7D06              MOV     R5,#06H
 000DB5 7C00              MOV     R4,#00H
-000DB7 D17B              ACALL   _xmemclear
+000DB7 D181              ACALL   _xmemclear
 000DB9         ?C0074?KB_PROCESS:
   338: 	
   339: 		hidBuff[0] = HID_REPORTID_1;		// standard key send
@@ -2568,172 +2568,178 @@
 000DCA 1200F9            LCALL   ?C?CLDPTR
 000DCD 904801            MOV     DPTR,#hidBuff+01H
 000DD0 F0                MOVX    @DPTR,A
-  341: 		if ((g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED) && !g_variable.key_special_release_flag)
+  341: 		if ((g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED) && !g_variable.key_special_release_flag && g_varia
+>> ble.key_numlock_flag_send)
 000DD1 904CC5            MOV     DPTR,#g_variable+06H
 000DD4 E0                MOVX    A,@DPTR
-000DD5 B40310            CJNE    A,#03H,?C0075?KB_PROCESS
+000DD5 B40316            CJNE    A,#03H,?C0075?KB_PROCESS
 000DD8 904CF9            MOV     DPTR,#g_variable+03AH
 000DDB E0                MOVX    A,@DPTR
-000DDC 700A              JNZ     ?C0075?KB_PROCESS
-  342: 			hidBuff[2] = g_variable.key_numlock_open_flag;
-000DDE 904CF8            MOV     DPTR,#g_variable+039H
+000DDC 7010              JNZ     ?C0075?KB_PROCESS
+000DDE 904CFB            MOV     DPTR,#g_variable+03CH
 000DE1 E0                MOVX    A,@DPTR
-000DE2 904802            MOV     DPTR,#hidBuff+02H
-000DE5 F0                MOVX    @DPTR,A
-000DE6 8005              SJMP    ?C0076?KB_PROCESS
-000DE8         ?C0075?KB_PROCESS:
-  343: 		else
-  344: 			hidBuff[2] = 0;
-000DE8 E4                CLR     A
-000DE9 904802            MOV     DPTR,#hidBuff+02H
-000DEC F0                MOVX    @DPTR,A
-000DED         ?C0076?KB_PROCESS:
-  345: 
-  346: 		g_variable.key_special_release_flag = 0;
-000DED E4                CLR     A
-000DEE 904CF9            MOV     DPTR,#g_variable+03AH
-000DF1 F0                MOVX    @DPTR,A
-  347: 		standard_key_release_flag = 0;
-000DF2 904DD9            MOV     DPTR,#standard_key_release_flag
-000DF5 F0                MOVX    @DPTR,A
-  348: 
-  349: 		if (pEvt->ksPool[0] == HID_KEY_FN)
-000DF6 900001            MOV     DPTR,#01H
-000DF9 120112            LCALL   ?C?CLDOPTR
-000DFC B47F1F            CJNE    A,#07FH,?C0077?KB_PROCESS
-  350: 			xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
-000DFF 7E48              MOV     R6,#HIGH hidBuff+03H
-000E01 7F03              MOV     R7,#LOW hidBuff+03H
-000E03 904E64            MOV     DPTR,#pEvt
-000E06 E0                MOVX    A,@DPTR
-000E07 FB                MOV     R3,A
-000E08 A3                INC     DPTR
-000E09 E0                MOVX    A,@DPTR
-000E0A FA                MOV     R2,A
-000E0B A3                INC     DPTR
+000DE2 600A              JZ      ?C0075?KB_PROCESS
+  342: 		{
+  343: 			hidBuff[2] = g_variable.key_numlock_open_flag;
+000DE4 904CF8            MOV     DPTR,#g_variable+039H
+000DE7 E0                MOVX    A,@DPTR
+000DE8 904802            MOV     DPTR,#hidBuff+02H
+000DEB F0                MOVX    @DPTR,A
+  344: 		}
+000DEC 8005              SJMP    ?C0076?KB_PROCESS
+000DEE         ?C0075?KB_PROCESS:
+  345: 		else
+  346: 			hidBuff[2] = 0;
+000DEE E4                CLR     A
+000DEF 904802            MOV     DPTR,#hidBuff+02H
+000DF2 F0                MOVX    @DPTR,A
+000DF3         ?C0076?KB_PROCESS:
+  347: 
+  348: 		g_variable.key_special_release_flag = 0;
+000DF3 E4                CLR     A
+000DF4 904CF9            MOV     DPTR,#g_variable+03AH
+000DF7 F0                MOVX    @DPTR,A
+  349: 		standard_key_release_flag = 0;
+000DF8 904DD9            MOV     DPTR,#standard_key_release_flag
+000DFB F0                MOVX    @DPTR,A
+  350: 
+  351: 		if (pEvt->ksPool[0] == HID_KEY_FN)
+000DFC 900001            MOV     DPTR,#01H
+000DFF 120112            LCALL   ?C?CLDOPTR
+000E02 B47F1F            CJNE    A,#07FH,?C0077?KB_PROCESS
+  352: 			xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
+000E05 7E48              MOV     R6,#HIGH hidBuff+03H
+000E07 7F03              MOV     R7,#LOW hidBuff+03H
+000E09 904E64            MOV     DPTR,#pEvt
 000E0C E0                MOVX    A,@DPTR
-000E0D 2402              ADD     A,#02H
-000E0F F9                MOV     R1,A
-000E10 E4                CLR     A
-000E11 3A                ADDC    A,R2
-000E12 FA                MOV     R2,A
-000E13 904E63            MOV     DPTR,#?_xmemcpy?BYTE+05H
-000E16 7405              MOV     A,#05H
-000E18 F0                MOVX    @DPTR,A
-000E19 120539            LCALL   _xmemcpy
-000E1C 801D              SJMP    ?C0078?KB_PROCESS
-000E1E         ?C0077?KB_PROCESS:
-  351: 		else
-  352: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
-000E1E 7E48              MOV     R6,#HIGH hidBuff+03H
-000E20 7F03              MOV     R7,#LOW hidBuff+03H
-000E22 904E64            MOV     DPTR,#pEvt
-000E25 E0                MOVX    A,@DPTR
-000E26 FB                MOV     R3,A
-000E27 A3                INC     DPTR
-000E28 E0                MOVX    A,@DPTR
-000E29 FA                MOV     R2,A
-000E2A A3                INC     DPTR
+000E0D FB                MOV     R3,A
+000E0E A3                INC     DPTR
+000E0F E0                MOVX    A,@DPTR
+000E10 FA                MOV     R2,A
+000E11 A3                INC     DPTR
+000E12 E0                MOVX    A,@DPTR
+000E13 2402              ADD     A,#02H
+000E15 F9                MOV     R1,A
+000E16 E4                CLR     A
+000E17 3A                ADDC    A,R2
+000E18 FA                MOV     R2,A
+000E19 904E63            MOV     DPTR,#?_xmemcpy?BYTE+05H
+000E1C 7405              MOV     A,#05H
+000E1E F0                MOVX    @DPTR,A
+000E1F 120539            LCALL   _xmemcpy
+000E22 801D              SJMP    ?C0078?KB_PROCESS
+000E24         ?C0077?KB_PROCESS:
+  353: 		else
+  354: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
+000E24 7E48              MOV     R6,#HIGH hidBuff+03H
+000E26 7F03              MOV     R7,#LOW hidBuff+03H
+000E28 904E64            MOV     DPTR,#pEvt
 000E2B E0                MOVX    A,@DPTR
-000E2C 2401              ADD     A,#01H
-000E2E F9                MOV     R1,A
-000E2F E4                CLR     A
-000E30 3A                ADDC    A,R2
-000E31 FA                MOV     R2,A
-000E32 904E63            MOV     DPTR,#?_xmemcpy?BYTE+05H
-000E35 7406              MOV     A,#06H
-000E37 F0                MOVX    @DPTR,A
-000E38 120539            LCALL   _xmemcpy
-000E3B         ?C0078?KB_PROCESS:
-  353: 		
-  354: 		for(i = 3; i<9;i++)
-000E3B 904E68            MOV     DPTR,#i
-000E3E 7403              MOV     A,#03H
-000E40 F0                MOVX    @DPTR,A
-000E41         ?C0079?KB_PROCESS:
+000E2C FB                MOV     R3,A
+000E2D A3                INC     DPTR
+000E2E E0                MOVX    A,@DPTR
+000E2F FA                MOV     R2,A
+000E30 A3                INC     DPTR
+000E31 E0                MOVX    A,@DPTR
+000E32 2401              ADD     A,#01H
+000E34 F9                MOV     R1,A
+000E35 E4                CLR     A
+000E36 3A                ADDC    A,R2
+000E37 FA                MOV     R2,A
+000E38 904E63            MOV     DPTR,#?_xmemcpy?BYTE+05H
+000E3B 7406              MOV     A,#06H
+000E3D F0                MOVX    @DPTR,A
+000E3E 120539            LCALL   _xmemcpy
+000E41         ?C0078?KB_PROCESS:
+  355: 		
+  356: 		for(i = 3; i<9;i++)
 000E41 904E68            MOV     DPTR,#i
-000E44 E0                MOVX    A,@DPTR
-000E45 FF                MOV     R7,A
-000E46 C3                CLR     C
-000E47 9409              SUBB    A,#09H
-000E49 5025              JNC     ?C0080?KB_PROCESS
-  355: 		{
-  356: 			if (hidBuff[i] == HID_KEY_FN)
-000E4B 7400              MOV     A,#LOW hidBuff
-000E4D 2F                ADD     A,R7
-000E4E F582              MOV     DPL,A
-000E50 E4                CLR     A
-000E51 3448              ADDC    A,#HIGH hidBuff
-000E53 F583              MOV     DPH,A
-000E55 E0                MOVX    A,@DPTR
-000E56 B47F0F            CJNE    A,#07FH,?C0081?KB_PROCESS
-  357: 				hidBuff[i] = 0;
-000E59 904E68            MOV     DPTR,#i
-000E5C E0                MOVX    A,@DPTR
-000E5D 2400              ADD     A,#LOW hidBuff
-000E5F F582              MOV     DPL,A
-000E61 E4                CLR     A
-000E62 3448              ADDC    A,#HIGH hidBuff
-000E64 F583              MOV     DPH,A
-000E66 E4                CLR     A
-000E67 F0                MOVX    @DPTR,A
-  358: 		}
-000E68         ?C0081?KB_PROCESS:
-000E68 904E68            MOV     DPTR,#i
-000E6B E0                MOVX    A,@DPTR
-000E6C 04                INC     A
+000E44 7403              MOV     A,#03H
+000E46 F0                MOVX    @DPTR,A
+000E47         ?C0079?KB_PROCESS:
+000E47 904E68            MOV     DPTR,#i
+000E4A E0                MOVX    A,@DPTR
+000E4B FF                MOV     R7,A
+000E4C C3                CLR     C
+000E4D 9409              SUBB    A,#09H
+000E4F 5025              JNC     ?C0080?KB_PROCESS
+  357: 		{
+  358: 			if (hidBuff[i] == HID_KEY_FN)
+000E51 7400              MOV     A,#LOW hidBuff
+000E53 2F                ADD     A,R7
+000E54 F582              MOV     DPL,A
+000E56 E4                CLR     A
+000E57 3448              ADDC    A,#HIGH hidBuff
+000E59 F583              MOV     DPH,A
+000E5B E0                MOVX    A,@DPTR
+000E5C B47F0F            CJNE    A,#07FH,?C0081?KB_PROCESS
+  359: 				hidBuff[i] = 0;
+000E5F 904E68            MOV     DPTR,#i
+000E62 E0                MOVX    A,@DPTR
+000E63 2400              ADD     A,#LOW hidBuff
+000E65 F582              MOV     DPL,A
+000E67 E4                CLR     A
+000E68 3448              ADDC    A,#HIGH hidBuff
+000E6A F583              MOV     DPH,A
+000E6C E4                CLR     A
 000E6D F0                MOVX    @DPTR,A
-000E6E 80D1              SJMP    ?C0079?KB_PROCESS
-000E70         ?C0080?KB_PROCESS:
-  359: 		
-  360: 		IPC_TxHidData(hidBuff, 9);
-000E70 7B01              MOV     R3,#01H
-000E72 7A48              MOV     R2,#HIGH hidBuff
-000E74 7900              MOV     R1,#LOW hidBuff
-000E76 7D09              MOV     R5,#09H
-000E78 7150              ACALL   _IPC_TxHidData
-  361: 	}
-  362: 	return;
-  363: }
-000E7A         ?C0055?KB_PROCESS:
-000E7A 22                RET     
+  360: 		}
+000E6E         ?C0081?KB_PROCESS:
+000E6E 904E68            MOV     DPTR,#i
+000E71 E0                MOVX    A,@DPTR
+000E72 04                INC     A
+000E73 F0                MOVX    @DPTR,A
+000E74 80D1              SJMP    ?C0079?KB_PROCESS
+000E76         ?C0080?KB_PROCESS:
+  361: 		
+  362: 		IPC_TxHidData(hidBuff, 9);
+000E76 7B01              MOV     R3,#01H
+000E78 7A48              MOV     R2,#HIGH hidBuff
+000E7A 7900              MOV     R1,#LOW hidBuff
+000E7C 7D09              MOV     R5,#09H
+000E7E 7150              ACALL   _IPC_TxHidData
+  363: 	}
+  364: 	return;
+  365: }
+000E80         ?C0055?KB_PROCESS:
+000E80 22                RET     
 ----- FUNCTION _kb_motion_keyscan (END) -------
 
 
 ----- FUNCTION _xmemclear (BEGIN) -----
-000E7B 904E87            MOV     DPTR,#dest
-000E7E EB                MOV     A,R3
-000E7F F0                MOVX    @DPTR,A
-000E80 A3                INC     DPTR
-000E81 EA                MOV     A,R2
-000E82 F0                MOVX    @DPTR,A
-000E83 A3                INC     DPTR
-000E84 E9                MOV     A,R1
+000E81 904E87            MOV     DPTR,#dest
+000E84 EB                MOV     A,R3
 000E85 F0                MOVX    @DPTR,A
+000E86 A3                INC     DPTR
+000E87 EA                MOV     A,R2
+000E88 F0                MOVX    @DPTR,A
+000E89 A3                INC     DPTR
+000E8A E9                MOV     A,R1
+000E8B F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
-000E86         ?C0008?UTILITIES:
-000E86 ED                MOV     A,R5
-000E87 1D                DEC     R5
-000E88 AE04              MOV     R6,AR4
-000E8A 7001              JNZ     ?C0026?UTILITIES
-000E8C 1C                DEC     R4
-000E8D         ?C0026?UTILITIES:
-000E8D 4E                ORL     A,R6
-000E8E 6016              JZ      ?C0010?UTILITIES
-000E90 904E87            MOV     DPTR,#dest
-000E93 E0                MOVX    A,@DPTR
-000E94 FB                MOV     R3,A
-000E95 A3                INC     DPTR
-000E96 E4                CLR     A
-000E97 75F001            MOV     B,#01H
-000E9A 120167            LCALL   ?C?ILDIX
-000E9D A9F0              MOV     R1,B
-000E9F FA                MOV     R2,A
-000EA0 E4                CLR     A
-000EA1 12013F            LCALL   ?C?CSTPTR
-000EA4 80E0              SJMP    ?C0008?UTILITIES
-000EA6         ?C0010?UTILITIES:
-000EA6 22                RET     
+000E8C         ?C0008?UTILITIES:
+000E8C ED                MOV     A,R5
+000E8D 1D                DEC     R5
+000E8E AE04              MOV     R6,AR4
+000E90 7001              JNZ     ?C0026?UTILITIES
+000E92 1C                DEC     R4
+000E93         ?C0026?UTILITIES:
+000E93 4E                ORL     A,R6
+000E94 6016              JZ      ?C0010?UTILITIES
+000E96 904E87            MOV     DPTR,#dest
+000E99 E0                MOVX    A,@DPTR
+000E9A FB                MOV     R3,A
+000E9B A3                INC     DPTR
+000E9C E4                CLR     A
+000E9D 75F001            MOV     B,#01H
+000EA0 120167            LCALL   ?C?ILDIX
+000EA3 A9F0              MOV     R1,B
+000EA5 FA                MOV     R2,A
+000EA6 E4                CLR     A
+000EA7 12013F            LCALL   ?C?CSTPTR
+000EAA 80E0              SJMP    ?C0008?UTILITIES
+000EAC         ?C0010?UTILITIES:
+000EAC 22                RET     
 ----- FUNCTION _xmemclear (END) -------
 
 
@@ -2743,106 +2749,106 @@
    13: {
    14: 	xmemclear((byte *)&g_variable,sizeof(G_VARIABLE_MAP));
    15: 	xmemclear(ksSelMapOld,KB_KSCAN_COL_NUM);
-000EA7 7B01              MOV     R3,#01H
-000EA9 7A4C              MOV     R2,#HIGH g_variable
-000EAB 79BF              MOV     R1,#LOW g_variable
-000EAD 7D48              MOV     R5,#048H
-000EAF 7C00              MOV     R4,#00H
-000EB1 D17B              ACALL   _xmemclear
+000EAD 7B01              MOV     R3,#01H
+000EAF 7A4C              MOV     R2,#HIGH g_variable
+000EB1 79BF              MOV     R1,#LOW g_variable
+000EB3 7D49              MOV     R5,#049H
+000EB5 7C00              MOV     R4,#00H
+000EB7 D181              ACALL   _xmemclear
    16: 	xmemclear(ksSelMapCheck,KB_KSCAN_COL_NUM);
-000EB3 7B01              MOV     R3,#01H
-000EB5 7A4D              MOV     R2,#HIGH ksSelMapOld
-000EB7 7993              MOV     R1,#LOW ksSelMapOld
-000EB9 7D14              MOV     R5,#014H
-000EBB 7C00              MOV     R4,#00H
-000EBD D17B              ACALL   _xmemclear
+000EB9 7B01              MOV     R3,#01H
+000EBB 7A4D              MOV     R2,#HIGH ksSelMapOld
+000EBD 7993              MOV     R1,#LOW ksSelMapOld
+000EBF 7D14              MOV     R5,#014H
+000EC1 7C00              MOV     R4,#00H
+000EC3 D181              ACALL   _xmemclear
    17: 	xmemclear(ksSelMapCurr,KB_KSCAN_COL_NUM);
-000EBF 7B01              MOV     R3,#01H
-000EC1 7A4D              MOV     R2,#HIGH ksSelMapCheck
-000EC3 79A8              MOV     R1,#LOW ksSelMapCheck
-000EC5 7D14              MOV     R5,#014H
-000EC7 7C00              MOV     R4,#00H
-000EC9 D17B              ACALL   _xmemclear
+000EC5 7B01              MOV     R3,#01H
+000EC7 7A4D              MOV     R2,#HIGH ksSelMapCheck
+000EC9 79A8              MOV     R1,#LOW ksSelMapCheck
+000ECB 7D14              MOV     R5,#014H
+000ECD 7C00              MOV     R4,#00H
+000ECF D181              ACALL   _xmemclear
    18: 	xmemclear(hidBuff,9);
-000ECB 7B01              MOV     R3,#01H
-000ECD 7A4D              MOV     R2,#HIGH ksSelMapCurr
-000ECF 79BC              MOV     R1,#LOW ksSelMapCurr
-000ED1 7D14              MOV     R5,#014H
-000ED3 7C00              MOV     R4,#00H
-000ED5 D17B              ACALL   _xmemclear
+000ED1 7B01              MOV     R3,#01H
+000ED3 7A4D              MOV     R2,#HIGH ksSelMapCurr
+000ED5 79BC              MOV     R1,#LOW ksSelMapCurr
+000ED7 7D14              MOV     R5,#014H
+000ED9 7C00              MOV     R4,#00H
+000EDB D181              ACALL   _xmemclear
    19: 	xmemclear(multikey,9);
-000ED7 7B01              MOV     R3,#01H
-000ED9 7A48              MOV     R2,#HIGH hidBuff
-000EDB 7900              MOV     R1,#LOW hidBuff
-000EDD 7D09              MOV     R5,#09H
-000EDF 7C00              MOV     R4,#00H
-000EE1 D17B              ACALL   _xmemclear
+000EDD 7B01              MOV     R3,#01H
+000EDF 7A48              MOV     R2,#HIGH hidBuff
+000EE1 7900              MOV     R1,#LOW hidBuff
+000EE3 7D09              MOV     R5,#09H
+000EE5 7C00              MOV     R4,#00H
+000EE7 D181              ACALL   _xmemclear
    20:  
-000EE3 7B01              MOV     R3,#01H
-000EE5 7A4D              MOV     R2,#HIGH multikey
-000EE7 79E9              MOV     R1,#LOW multikey
-000EE9 7D09              MOV     R5,#09H
-000EEB 7C00              MOV     R4,#00H
-000EED D17B              ACALL   _xmemclear
+000EE9 7B01              MOV     R3,#01H
+000EEB 7A4D              MOV     R2,#HIGH multikey
+000EED 79E9              MOV     R1,#LOW multikey
+000EEF 7D09              MOV     R5,#09H
+000EF1 7C00              MOV     R4,#00H
+000EF3 D181              ACALL   _xmemclear
    21: 	delayChgInvTimer = 0;
-000EEF E4                CLR     A
-000EF0 904DE0            MOV     DPTR,#delayChgInvTimer
-000EF3 F0                MOVX    @DPTR,A
+000EF5 E4                CLR     A
+000EF6 904DE0            MOV     DPTR,#delayChgInvTimer
+000EF9 F0                MOVX    @DPTR,A
    22: 	action_timeout = 0;
-000EF4 904DE6            MOV     DPTR,#action_timeout
-000EF7 F0                MOVX    @DPTR,A
+000EFA 904DE6            MOV     DPTR,#action_timeout
+000EFD F0                MOVX    @DPTR,A
    23: 
    24: 
    25: 	power_on_flag = 0;
-000EF8 904DE5            MOV     DPTR,#power_on_flag
-000EFB F0                MOVX    @DPTR,A
+000EFE 904DE5            MOV     DPTR,#power_on_flag
+000F01 F0                MOVX    @DPTR,A
    26: 	repeat_send_24g = 0;
-000EFC 904DD7            MOV     DPTR,#repeat_send_24g
-000EFF F0                MOVX    @DPTR,A
+000F02 904DD7            MOV     DPTR,#repeat_send_24g
+000F05 F0                MOVX    @DPTR,A
    27: 	get_24g_led_send = 0;
-000F00 904DD1            MOV     DPTR,#get_24g_led_send
-000F03 F0                MOVX    @DPTR,A
+000F06 904DD1            MOV     DPTR,#get_24g_led_send
+000F09 F0                MOVX    @DPTR,A
    28: 	press_long_time_flag = 0;
-000F04 904DDD            MOV     DPTR,#press_long_time_flag
-000F07 F0                MOVX    @DPTR,A
+000F0A 904DDD            MOV     DPTR,#press_long_time_flag
+000F0D F0                MOVX    @DPTR,A
    29: 	mult_key_status = 0;
-000F08 904DE8            MOV     DPTR,#mult_key_status
-000F0B F0                MOVX    @DPTR,A
+000F0E 904DE8            MOV     DPTR,#mult_key_status
+000F11 F0                MOVX    @DPTR,A
    30: 	long_press_flag = 0;
-000F0C 904DD6            MOV     DPTR,#long_press_flag
-000F0F F0                MOVX    @DPTR,A
+000F12 904DD6            MOV     DPTR,#long_press_flag
+000F15 F0                MOVX    @DPTR,A
    31: 	standard_key_release_flag = 0;
-000F10 904DD9            MOV     DPTR,#standard_key_release_flag
-000F13 F0                MOVX    @DPTR,A
+000F16 904DD9            MOV     DPTR,#standard_key_release_flag
+000F19 F0                MOVX    @DPTR,A
    32: 	fn_flag = 0;
-000F14 904DDC            MOV     DPTR,#fn_flag
-000F17 F0                MOVX    @DPTR,A
+000F1A 904DDC            MOV     DPTR,#fn_flag
+000F1D F0                MOVX    @DPTR,A
    33: 	fn_flag_last = 0;
-000F18 904DE4            MOV     DPTR,#fn_flag_last
-000F1B F0                MOVX    @DPTR,A
+000F1E 904DE4            MOV     DPTR,#fn_flag_last
+000F21 F0                MOVX    @DPTR,A
    34: 	fn_tx_flag = 0;
-000F1C 904DD4            MOV     DPTR,#fn_tx_flag
-000F1F F0                MOVX    @DPTR,A
+000F22 904DD4            MOV     DPTR,#fn_tx_flag
+000F25 F0                MOVX    @DPTR,A
    35: 	fn_lock_flag = 0;
-000F20 904DE1            MOV     DPTR,#fn_lock_flag
-000F23 F0                MOVX    @DPTR,A
+000F26 904DE1            MOV     DPTR,#fn_lock_flag
+000F29 F0                MOVX    @DPTR,A
    36: 
    37: 	mult_key_value = 0;
-000F24 904DE7            MOV     DPTR,#mult_key_value
-000F27 F0                MOVX    @DPTR,A
-   38: 	m_caps_num_lock = 0xf0;
-000F28 904CB7            MOV     DPTR,#m_caps_num_lock
-000F2B 74F0              MOV     A,#0F0H
+000F2A 904DE7            MOV     DPTR,#mult_key_value
 000F2D F0                MOVX    @DPTR,A
+   38: 	m_caps_num_lock = 0xf0;
+000F2E 904CB7            MOV     DPTR,#m_caps_num_lock
+000F31 74F0              MOV     A,#0F0H
+000F33 F0                MOVX    @DPTR,A
    39: 	m_caps_num_lock_last = 0xf0; 
-000F2E 904DDA            MOV     DPTR,#m_caps_num_lock_last
-000F31 F0                MOVX    @DPTR,A
+000F34 904DDA            MOV     DPTR,#m_caps_num_lock_last
+000F37 F0                MOVX    @DPTR,A
    40: 	m_reconnect_continue = 0;
-000F32 E4                CLR     A
-000F33 904D38            MOV     DPTR,#m_reconnect_continue
-000F36 F0                MOVX    @DPTR,A
+000F38 E4                CLR     A
+000F39 904D38            MOV     DPTR,#m_reconnect_continue
+000F3C F0                MOVX    @DPTR,A
    41: }
-000F37 22                RET     
+000F3D 22                RET     
 ----- FUNCTION System_clear_mem (END) -------
 
 
@@ -2852,57 +2858,57 @@
   175: {
   176: 	tKSEVENT *pEvt = NULL;
   177: 	
-000F38 904E7E            MOV     DPTR,#pEvt
-000F3B E4                CLR     A
-000F3C F0                MOVX    @DPTR,A
-000F3D A3                INC     DPTR
-000F3E F0                MOVX    @DPTR,A
-000F3F A3                INC     DPTR
-000F40 F0                MOVX    @DPTR,A
+000F3E 904E7E            MOV     DPTR,#pEvt
+000F41 E4                CLR     A
+000F42 F0                MOVX    @DPTR,A
+000F43 A3                INC     DPTR
+000F44 F0                MOVX    @DPTR,A
+000F45 A3                INC     DPTR
+000F46 F0                MOVX    @DPTR,A
   178: 	if (!IPC_IsTxBuffEmpty())
-000F41 121CE0            LCALL   IPC_IsTxBuffEmpty
-000F44 5025              JNC     ?C0036?KB_PROCESS
-000F46         ?C0035?KB_PROCESS:
+000F47 121C8C            LCALL   IPC_IsTxBuffEmpty
+000F4A 5025              JNC     ?C0036?KB_PROCESS
+000F4C         ?C0035?KB_PROCESS:
   179: 		return;
   180: 	pEvt = KS_GetCurrentEvt();
-000F46 121400            LCALL   KS_GetCurrentEvt
-000F49 904E7E            MOV     DPTR,#pEvt
-000F4C EB                MOV     A,R3
-000F4D F0                MOVX    @DPTR,A
-000F4E A3                INC     DPTR
-000F4F EA                MOV     A,R2
-000F50 F0                MOVX    @DPTR,A
-000F51 A3                INC     DPTR
-000F52 E9                MOV     A,R1
+000F4C 12144D            LCALL   KS_GetCurrentEvt
+000F4F 904E7E            MOV     DPTR,#pEvt
+000F52 EB                MOV     A,R3
 000F53 F0                MOVX    @DPTR,A
+000F54 A3                INC     DPTR
+000F55 EA                MOV     A,R2
+000F56 F0                MOVX    @DPTR,A
+000F57 A3                INC     DPTR
+000F58 E9                MOV     A,R1
+000F59 F0                MOVX    @DPTR,A
   181: 
   182: 	if (pEvt == NULL)
-000F54 4A                ORL     A,R2
-000F55 7007              JNZ     ?C0037?KB_PROCESS
+000F5A 4A                ORL     A,R2
+000F5B 7007              JNZ     ?C0037?KB_PROCESS
   183: 	{
   184: 		m_power_on_flag = 1;
-000F57 904CB6            MOV     DPTR,#m_power_on_flag
-000F5A 04                INC     A
-000F5B F0                MOVX    @DPTR,A
+000F5D 904CB6            MOV     DPTR,#m_power_on_flag
+000F60 04                INC     A
+000F61 F0                MOVX    @DPTR,A
   185: 		kb_24g_get_led_status();
-000F5C 800E              SJMP    kb_24g_get_led_status
+000F62 800E              SJMP    kb_24g_get_led_status
   186: 		return;
   187: 	}
-000F5E         ?C0037?KB_PROCESS:
+000F64         ?C0037?KB_PROCESS:
   188: 	kb_motion_keyscan(pEvt);
-000F5E 904E7E            MOV     DPTR,#pEvt
-000F61 E0                MOVX    A,@DPTR
-000F62 FB                MOV     R3,A
-000F63 A3                INC     DPTR
-000F64 E0                MOVX    A,@DPTR
-000F65 FA                MOV     R2,A
-000F66 A3                INC     DPTR
+000F64 904E7E            MOV     DPTR,#pEvt
 000F67 E0                MOVX    A,@DPTR
-000F68 F9                MOV     R1,A
-000F69 9115              ACALL   _kb_motion_keyscan
+000F68 FB                MOV     R3,A
+000F69 A3                INC     DPTR
+000F6A E0                MOVX    A,@DPTR
+000F6B FA                MOV     R2,A
+000F6C A3                INC     DPTR
+000F6D E0                MOVX    A,@DPTR
+000F6E F9                MOV     R1,A
+000F6F 9115              ACALL   _kb_motion_keyscan
   189: }
-000F6B         ?C0036?KB_PROCESS:
-000F6B 22                RET     
+000F71         ?C0036?KB_PROCESS:
+000F71 22                RET     
 ----- FUNCTION kb_motion (END) -------
 
 
@@ -2912,50 +2918,50 @@
   156: {
   157: 	if((m_24g_led_flag)&& (repeat_send_24g == 0))
   158: 	{
-000F6C 904D47            MOV     DPTR,#m_24g_led_flag
-000F6F E0                MOVX    A,@DPTR
-000F70 6035              JZ      ?C0034?KB_PROCESS
-000F72 904DD7            MOV     DPTR,#repeat_send_24g
+000F72 904D47            MOV     DPTR,#m_24g_led_flag
 000F75 E0                MOVX    A,@DPTR
-000F76 702F              JNZ     ?C0034?KB_PROCESS
+000F76 6035              JZ      ?C0034?KB_PROCESS
+000F78 904DD7            MOV     DPTR,#repeat_send_24g
+000F7B E0                MOVX    A,@DPTR
+000F7C 702F              JNZ     ?C0034?KB_PROCESS
   159: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
   160: 		{
-000F78 904CC5            MOV     DPTR,#g_variable+06H
-000F7B E0                MOVX    A,@DPTR
-000F7C B40328            CJNE    A,#03H,?C0034?KB_PROCESS
+000F7E 904CC5            MOV     DPTR,#g_variable+06H
+000F81 E0                MOVX    A,@DPTR
+000F82 B40328            CJNE    A,#03H,?C0034?KB_PROCESS
   161: 			xmemclear(hidBuff,9);
   162: 
-000F7F 7B01              MOV     R3,#01H
-000F81 7A48              MOV     R2,#HIGH hidBuff
-000F83 7900              MOV     R1,#LOW hidBuff
-000F85 7D09              MOV     R5,#09H
-000F87 7C00              MOV     R4,#00H
-000F89 D17B              ACALL   _xmemclear
+000F85 7B01              MOV     R3,#01H
+000F87 7A48              MOV     R2,#HIGH hidBuff
+000F89 7900              MOV     R1,#LOW hidBuff
+000F8B 7D09              MOV     R5,#09H
+000F8D 7C00              MOV     R4,#00H
+000F8F D181              ACALL   _xmemclear
   163: 			mult_key_status = 0;
-000F8B E4                CLR     A
-000F8C 904DE8            MOV     DPTR,#mult_key_status
-000F8F F0                MOVX    @DPTR,A
+000F91 E4                CLR     A
+000F92 904DE8            MOV     DPTR,#mult_key_status
+000F95 F0                MOVX    @DPTR,A
   164: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
-000F90 904800            MOV     DPTR,#hidBuff
-000F93 04                INC     A
-000F94 F0                MOVX    @DPTR,A
+000F96 904800            MOV     DPTR,#hidBuff
+000F99 04                INC     A
+000F9A F0                MOVX    @DPTR,A
   165: 			hidBuff[2] = m_24g_led_flag;
-000F95 904D47            MOV     DPTR,#m_24g_led_flag
-000F98 E0                MOVX    A,@DPTR
-000F99 904802            MOV     DPTR,#hidBuff+02H
-000F9C F0                MOVX    @DPTR,A
+000F9B 904D47            MOV     DPTR,#m_24g_led_flag
+000F9E E0                MOVX    A,@DPTR
+000F9F 904802            MOV     DPTR,#hidBuff+02H
+000FA2 F0                MOVX    @DPTR,A
   166: 			IPC_TxHidData(hidBuff, 9);
-000F9D 7B01              MOV     R3,#01H
-000F9F 7A48              MOV     R2,#HIGH hidBuff
-000FA1 7900              MOV     R1,#LOW hidBuff
-000FA3 7D09              MOV     R5,#09H
-000FA5 7150              ACALL   _IPC_TxHidData
+000FA3 7B01              MOV     R3,#01H
+000FA5 7A48              MOV     R2,#HIGH hidBuff
+000FA7 7900              MOV     R1,#LOW hidBuff
+000FA9 7D09              MOV     R5,#09H
+000FAB 7150              ACALL   _IPC_TxHidData
   167: 		}	
   168: 	}
   169: 
   170: }
-000FA7         ?C0034?KB_PROCESS:
-000FA7 22                RET     
+000FAD         ?C0034?KB_PROCESS:
+000FAD 22                RET     
 ----- FUNCTION kb_24g_get_led_status (END) -------
 
 
@@ -2965,83 +2971,83 @@
   399: {
   400: 	IPC_Initialize(&cb);
   401: }
-000FA8 7B01              MOV     R3,#01H
-000FAA 7A4D              MOV     R2,#HIGH cb
-000FAC 79F3              MOV     R1,#LOW cb
+000FAE 7B01              MOV     R3,#01H
+000FB0 7A4D              MOV     R2,#HIGH cb
+000FB2 79F3              MOV     R1,#LOW cb
 ;----                  JMP     _IPC_Initialize
 ----- FUNCTION kb_cb_init (END) -------
 
 
 ----- FUNCTION _IPC_Initialize (BEGIN) -----
 ;---- Variable 'cb' assigned to Register 'R1/R2/R3' ----
-000FAE 7805              MOV     R0,#LOW ipcCb
-000FB0 7C4E              MOV     R4,#HIGH ipcCb
-000FB2 7D01              MOV     R5,#01H
-000FB4 7E00              MOV     R6,#00H
-000FB6 7F12              MOV     R7,#012H
-000FB8 0200D3            LJMP    ?C?COPY
+000FB4 7805              MOV     R0,#LOW ipcCb
+000FB6 7C4E              MOV     R4,#HIGH ipcCb
+000FB8 7D01              MOV     R5,#01H
+000FBA 7E00              MOV     R6,#00H
+000FBC 7F12              MOV     R7,#012H
+000FBE 0200D3            LJMP    ?C?COPY
 ----- FUNCTION _IPC_Initialize (END) -------
 
 
 ----- FUNCTION _GPIO_GetInputStatus (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-000FBB 7B01              MOV     R3,#01H
-000FBD 7A81              MOV     R2,#081H
-000FBF 791C              MOV     R1,#01CH
+000FC1 7B01              MOV     R3,#01H
+000FC3 7A81              MOV     R2,#081H
+000FC5 791C              MOV     R1,#01CH
 ;----                  JMP     _gpioGetBit
 ----- FUNCTION _GPIO_GetInputStatus (END) -------
 
 
 ----- FUNCTION _gpioGetBit (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R5' ----
-000FC1 AD07              MOV     R5,AR7
+000FC7 AD07              MOV     R5,AR7
 ;---- Variable 'reg_base' assigned to Register 'R1/R2/R3' ----
-000FC3 E4                CLR     A
-000FC4 904E9D            MOV     DPTR,#queue
-000FC7 F0                MOVX    @DPTR,A
+000FC9 E4                CLR     A
+000FCA 904E9D            MOV     DPTR,#queue
+000FCD F0                MOVX    @DPTR,A
 ;---- Variable 'group' assigned to Register 'R6' ----
-000FC8 FE                MOV     R6,A
-000FC9 EF                MOV     A,R7
-000FCA 5407              ANL     A,#07H
-000FCC F0                MOVX    @DPTR,A
-000FCD EF                MOV     A,R7
-000FCE 13                RRC     A
-000FCF 13                RRC     A
-000FD0 13                RRC     A
-000FD1 5403              ANL     A,#03H
-000FD3 FE                MOV     R6,A
-000FD4 F582              MOV     DPL,A
-000FD6 758300            MOV     DPH,#00H
-000FD9 120112            LCALL   ?C?CLDOPTR
-000FDC FD                MOV     R5,A
-000FDD 33                RLC     A
-000FDE 95E0              SUBB    A,ACC
-000FE0 FC                MOV     R4,A
-000FE1 904E9D            MOV     DPTR,#queue
-000FE4 E0                MOVX    A,@DPTR
-000FE5 FF                MOV     R7,A
-000FE6 7401              MOV     A,#01H
-000FE8 7E00              MOV     R6,#00H
-000FEA A807              MOV     R0,AR7
-000FEC 08                INC     R0
-000FED 8005              SJMP    ?C0035?GPIO
-000FEF         ?C0034?GPIO:
-000FEF C3                CLR     C
-000FF0 33                RLC     A
-000FF1 CE                XCH     A,R6
-000FF2 33                RLC     A
-000FF3 CE                XCH     A,R6
-000FF4         ?C0035?GPIO:
-000FF4 D8F9              DJNZ    R0,?C0034?GPIO
-000FF6 FF                MOV     R7,A
-000FF7 EE                MOV     A,R6
-000FF8 5C                ANL     A,R4
-000FF9 FE                MOV     R6,A
-000FFA EF                MOV     A,R7
-000FFB 5D                ANL     A,R5
-000FFC 4E                ORL     A,R6
-000FFD 24FF              ADD     A,#0FFH
-000FFF 22                RET     
+000FCE FE                MOV     R6,A
+000FCF EF                MOV     A,R7
+000FD0 5407              ANL     A,#07H
+000FD2 F0                MOVX    @DPTR,A
+000FD3 EF                MOV     A,R7
+000FD4 13                RRC     A
+000FD5 13                RRC     A
+000FD6 13                RRC     A
+000FD7 5403              ANL     A,#03H
+000FD9 FE                MOV     R6,A
+000FDA F582              MOV     DPL,A
+000FDC 758300            MOV     DPH,#00H
+000FDF 120112            LCALL   ?C?CLDOPTR
+000FE2 FD                MOV     R5,A
+000FE3 33                RLC     A
+000FE4 95E0              SUBB    A,ACC
+000FE6 FC                MOV     R4,A
+000FE7 904E9D            MOV     DPTR,#queue
+000FEA E0                MOVX    A,@DPTR
+000FEB FF                MOV     R7,A
+000FEC 7401              MOV     A,#01H
+000FEE 7E00              MOV     R6,#00H
+000FF0 A807              MOV     R0,AR7
+000FF2 08                INC     R0
+000FF3 8005              SJMP    ?C0035?GPIO
+000FF5         ?C0034?GPIO:
+000FF5 C3                CLR     C
+000FF6 33                RLC     A
+000FF7 CE                XCH     A,R6
+000FF8 33                RLC     A
+000FF9 CE                XCH     A,R6
+000FFA         ?C0035?GPIO:
+000FFA D8F9              DJNZ    R0,?C0034?GPIO
+000FFC FF                MOV     R7,A
+000FFD EE                MOV     A,R6
+000FFE 5C                ANL     A,R4
+000FFF FE                MOV     R6,A
+001000 EF                MOV     A,R7
+001001 5D                ANL     A,R5
+001002 4E                ORL     A,R6
+001003 24FF              ADD     A,#0FFH
+001005 22                RET     
 ----- FUNCTION _gpioGetBit (END) -------
 
 
@@ -3050,920 +3056,985 @@
   105: void kb_set_multikey(word multikey_value)
   106: {
 ;---- Variable 'multikey_value' assigned to Register 'R4/R5' ----
-001000 AD07              MOV     R5,AR7
-001002 AC06              MOV     R4,AR6
+001006 AD07              MOV     R5,AR7
+001008 AC06              MOV     R4,AR6
   107: 	if(mult_key_status != KEY_WAIT_RELEASE)
   108: 	{
-001004 904DE8            MOV     DPTR,#mult_key_status
-001007 E0                MOVX    A,@DPTR
-001008 6402              XRL     A,#02H
-00100A 600E              JZ      ?C0030?KB_PROCESS
+00100A 904DE8            MOV     DPTR,#mult_key_status
+00100D E0                MOVX    A,@DPTR
+00100E 6402              XRL     A,#02H
+001010 600E              JZ      ?C0030?KB_PROCESS
   109: 		mult_key_status = KEY_MULIT_PRESS;
   110: 		multikey[0] = HID_REPORTID_2;
-00100C 7401              MOV     A,#01H
-00100E F0                MOVX    @DPTR,A
+001012 7401              MOV     A,#01H
+001014 F0                MOVX    @DPTR,A
   111: 		multikey[1] = (multikey_value&0xff);
-00100F 904DE9            MOV     DPTR,#multikey
-001012 04                INC     A
-001013 F0                MOVX    @DPTR,A
+001015 904DE9            MOV     DPTR,#multikey
+001018 04                INC     A
+001019 F0                MOVX    @DPTR,A
   112: 		multikey[2] = ((multikey_value>>8)&0xff);
-001014 EF                MOV     A,R7
-001015 A3                INC     DPTR
-001016 F0                MOVX    @DPTR,A
+00101A EF                MOV     A,R7
+00101B A3                INC     DPTR
+00101C F0                MOVX    @DPTR,A
   113: 	}
-001017 EE                MOV     A,R6
-001018 A3                INC     DPTR
-001019 F0                MOVX    @DPTR,A
+00101D EE                MOV     A,R6
+00101E A3                INC     DPTR
+00101F F0                MOVX    @DPTR,A
   114: }
   115: 
-00101A         ?C0030?KB_PROCESS:
-00101A 22                RET     
+001020         ?C0030?KB_PROCESS:
+001020 22                RET     
 ----- FUNCTION _kb_set_multikey (END) -------
 
 
 ----- FUNCTION _kb_multikey_setup (BEGIN) -----
  FILE: 'kb_process.c'
-  501: void kb_multikey_setup(tKSEVENT *pEvt)
-  502: {
-00101B 904E6E            MOV     DPTR,#pEvt
-00101E EB                MOV     A,R3
-00101F F0                MOVX    @DPTR,A
-001020 A3                INC     DPTR
-001021 EA                MOV     A,R2
-001022 F0                MOVX    @DPTR,A
-001023 A3                INC     DPTR
-001024 E9                MOV     A,R1
+  527: void kb_multikey_setup(tKSEVENT *pEvt)
+  528: {
+001021 904E6E            MOV     DPTR,#pEvt
+001024 EB                MOV     A,R3
 001025 F0                MOVX    @DPTR,A
-  503: 	byte i = 0;
-  504: 	
-001026 E4                CLR     A
-001027 A3                INC     DPTR
+001026 A3                INC     DPTR
+001027 EA                MOV     A,R2
 001028 F0                MOVX    @DPTR,A
-  505: 	for (i = 0;i < 6;i++)
-001029 F0                MOVX    @DPTR,A
-00102A         ?C0121?KB_PROCESS:
-00102A 904E71            MOV     DPTR,#i
-00102D E0                MOVX    A,@DPTR
-00102E FF                MOV     R7,A
-00102F C3                CLR     C
-001030 9406              SUBB    A,#06H
-001032 4002              JC      $ + 4H
-001034 4177              AJMP    ?C0166?KB_PROCESS
-  506: 	{		
-  507: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
-001036 904E6E            MOV     DPTR,#pEvt
-001039 E0                MOVX    A,@DPTR
-00103A FB                MOV     R3,A
-00103B A3                INC     DPTR
-00103C E0                MOVX    A,@DPTR
-00103D FA                MOV     R2,A
-00103E A3                INC     DPTR
+001029 A3                INC     DPTR
+00102A E9                MOV     A,R1
+00102B F0                MOVX    @DPTR,A
+  529: 	byte i = 0;
+  530: 	
+00102C E4                CLR     A
+00102D A3                INC     DPTR
+00102E F0                MOVX    @DPTR,A
+  531: 	for (i = 0;i < 6;i++)
+00102F F0                MOVX    @DPTR,A
+001030         ?C0132?KB_PROCESS:
+001030 904E71            MOV     DPTR,#i
+001033 E0                MOVX    A,@DPTR
+001034 FF                MOV     R7,A
+001035 C3                CLR     C
+001036 9406              SUBB    A,#06H
+001038 4002              JC      $ + 4H
+00103A 417D              AJMP    ?C0177?KB_PROCESS
+  532: 	{		
+  533: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+00103C 904E6E            MOV     DPTR,#pEvt
 00103F E0                MOVX    A,@DPTR
-001040 2401              ADD     A,#01H
-001042 F9                MOV     R1,A
-001043 E4                CLR     A
-001044 3A                ADDC    A,R2
-001045 FA                MOV     R2,A
-001046 7E00              MOV     R6,#00H
-001048 E9                MOV     A,R1
-001049 2F                ADD     A,R7
-00104A F9                MOV     R1,A
-00104B EE                MOV     A,R6
-00104C 3A                ADDC    A,R2
-00104D FA                MOV     R2,A
-00104E 1200F9            LCALL   ?C?CLDPTR
-001051 FF                MOV     R7,A
-001052 54F0              ANL     A,#0F0H
-001054 64F0              XRL     A,#0F0H
-001056 6009              JZ      ?C0125?KB_PROCESS
-001058 EF                MOV     A,R7
-001059 54D0              ANL     A,#0D0H
-00105B 64D0              XRL     A,#0D0H
-00105D 6002              JZ      $ + 4H
-00105F 416F              AJMP    ?C0123?KB_PROCESS
-001061         ?C0125?KB_PROCESS:
-  508: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  509: 		{
-  510: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
-001061 1200F9            LCALL   ?C?CLDPTR
-001064 FB                MOV     R3,A
-001065 B4F108            CJNE    A,#0F1H,?C0126?KB_PROCESS
-  511: 			{
-  512: 				kb_set_multikey(0x0183); 
-001068 7F83              MOV     R7,#083H
-00106A 7E01              MOV     R6,#01H
-00106C 1100              ACALL   _kb_set_multikey
-  513: 			}
-00106E 4144              AJMP    ?C0127?KB_PROCESS
-001070         ?C0126?KB_PROCESS:
-  514: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
-001070 EB                MOV     A,R3
-001071 B4F208            CJNE    A,#0F2H,?C0128?KB_PROCESS
-  515: 			{ 
-  516: 				kb_set_multikey(0x00cd);
-001074 7FCD              MOV     R7,#0CDH
-001076 7E00              MOV     R6,#00H
-001078 1100              ACALL   _kb_set_multikey
-  517: 			}
-00107A 4144              AJMP    ?C0127?KB_PROCESS
-00107C         ?C0128?KB_PROCESS:
-  518: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
-00107C 904E6E            MOV     DPTR,#pEvt
-00107F E0                MOVX    A,@DPTR
-001080 FB                MOV     R3,A
-001081 A3                INC     DPTR
-001082 E0                MOVX    A,@DPTR
-001083 FA                MOV     R2,A
-001084 A3                INC     DPTR
+001040 FB                MOV     R3,A
+001041 A3                INC     DPTR
+001042 E0                MOVX    A,@DPTR
+001043 FA                MOV     R2,A
+001044 A3                INC     DPTR
+001045 E0                MOVX    A,@DPTR
+001046 2401              ADD     A,#01H
+001048 F9                MOV     R1,A
+001049 E4                CLR     A
+00104A 3A                ADDC    A,R2
+00104B FA                MOV     R2,A
+00104C 7E00              MOV     R6,#00H
+00104E E9                MOV     A,R1
+00104F 2F                ADD     A,R7
+001050 F9                MOV     R1,A
+001051 EE                MOV     A,R6
+001052 3A                ADDC    A,R2
+001053 FA                MOV     R2,A
+001054 1200F9            LCALL   ?C?CLDPTR
+001057 FF                MOV     R7,A
+001058 54F0              ANL     A,#0F0H
+00105A 64F0              XRL     A,#0F0H
+00105C 6009              JZ      ?C0136?KB_PROCESS
+00105E EF                MOV     A,R7
+00105F 54D0              ANL     A,#0D0H
+001061 64D0              XRL     A,#0D0H
+001063 6002              JZ      $ + 4H
+001065 4175              AJMP    ?C0134?KB_PROCESS
+001067         ?C0136?KB_PROCESS:
+  534: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  535: 		{
+  536: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+001067 1200F9            LCALL   ?C?CLDPTR
+00106A FB                MOV     R3,A
+00106B B4F108            CJNE    A,#0F1H,?C0137?KB_PROCESS
+  537: 			{
+  538: 				kb_set_multikey(0x0183); 
+00106E 7F83              MOV     R7,#083H
+001070 7E01              MOV     R6,#01H
+001072 1106              ACALL   _kb_set_multikey
+  539: 			}
+001074 414A              AJMP    ?C0138?KB_PROCESS
+001076         ?C0137?KB_PROCESS:
+  540: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+001076 EB                MOV     A,R3
+001077 B4F208            CJNE    A,#0F2H,?C0139?KB_PROCESS
+  541: 			{ 
+  542: 				kb_set_multikey(0x00cd);
+00107A 7FCD              MOV     R7,#0CDH
+00107C 7E00              MOV     R6,#00H
+00107E 1106              ACALL   _kb_set_multikey
+  543: 			}
+001080 414A              AJMP    ?C0138?KB_PROCESS
+001082         ?C0139?KB_PROCESS:
+  544: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+001082 904E6E            MOV     DPTR,#pEvt
 001085 E0                MOVX    A,@DPTR
-001086 2401              ADD     A,#01H
-001088 F9                MOV     R1,A
-001089 E4                CLR     A
-00108A 3A                ADDC    A,R2
-00108B FA                MOV     R2,A
-00108C A3                INC     DPTR
-00108D E0                MOVX    A,@DPTR
-00108E 7E00              MOV     R6,#00H
-001090 29                ADD     A,R1
-001091 F9                MOV     R1,A
-001092 EE                MOV     A,R6
-001093 3A                ADDC    A,R2
-001094 FA                MOV     R2,A
-001095 1200F9            LCALL   ?C?CLDPTR
-001098 FB                MOV     R3,A
-001099 B4F306            CJNE    A,#0F3H,?C0130?KB_PROCESS
-  519: 			{
-  520: 				kb_set_multikey(0x00b7);
-00109C 7FB7              MOV     R7,#0B7H
-00109E 1100              ACALL   _kb_set_multikey
-  521: 			}
-0010A0 4144              AJMP    ?C0127?KB_PROCESS
-0010A2         ?C0130?KB_PROCESS:
-  522: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
-0010A2 EB                MOV     A,R3
-0010A3 B4F408            CJNE    A,#0F4H,?C0132?KB_PROCESS
-  523: 			{
-  524: 				kb_set_multikey(0x00b6);
-0010A6 7FB6              MOV     R7,#0B6H
-0010A8 7E00              MOV     R6,#00H
-0010AA 1100              ACALL   _kb_set_multikey
-  525: 			}
-0010AC 4144              AJMP    ?C0127?KB_PROCESS
-0010AE         ?C0132?KB_PROCESS:
-  526: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
-0010AE 904E6E            MOV     DPTR,#pEvt
-0010B1 E0                MOVX    A,@DPTR
-0010B2 FB                MOV     R3,A
-0010B3 A3                INC     DPTR
-0010B4 E0                MOVX    A,@DPTR
-0010B5 FA                MOV     R2,A
-0010B6 A3                INC     DPTR
+001086 FB                MOV     R3,A
+001087 A3                INC     DPTR
+001088 E0                MOVX    A,@DPTR
+001089 FA                MOV     R2,A
+00108A A3                INC     DPTR
+00108B E0                MOVX    A,@DPTR
+00108C 2401              ADD     A,#01H
+00108E F9                MOV     R1,A
+00108F E4                CLR     A
+001090 3A                ADDC    A,R2
+001091 FA                MOV     R2,A
+001092 A3                INC     DPTR
+001093 E0                MOVX    A,@DPTR
+001094 7E00              MOV     R6,#00H
+001096 29                ADD     A,R1
+001097 F9                MOV     R1,A
+001098 EE                MOV     A,R6
+001099 3A                ADDC    A,R2
+00109A FA                MOV     R2,A
+00109B 1200F9            LCALL   ?C?CLDPTR
+00109E FB                MOV     R3,A
+00109F B4F306            CJNE    A,#0F3H,?C0141?KB_PROCESS
+  545: 			{
+  546: 				kb_set_multikey(0x00b7);
+0010A2 7FB7              MOV     R7,#0B7H
+0010A4 1106              ACALL   _kb_set_multikey
+  547: 			}
+0010A6 414A              AJMP    ?C0138?KB_PROCESS
+0010A8         ?C0141?KB_PROCESS:
+  548: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+0010A8 EB                MOV     A,R3
+0010A9 B4F408            CJNE    A,#0F4H,?C0143?KB_PROCESS
+  549: 			{
+  550: 				kb_set_multikey(0x00b6);
+0010AC 7FB6              MOV     R7,#0B6H
+0010AE 7E00              MOV     R6,#00H
+0010B0 1106              ACALL   _kb_set_multikey
+  551: 			}
+0010B2 414A              AJMP    ?C0138?KB_PROCESS
+0010B4         ?C0143?KB_PROCESS:
+  552: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+0010B4 904E6E            MOV     DPTR,#pEvt
 0010B7 E0                MOVX    A,@DPTR
-0010B8 2401              ADD     A,#01H
-0010BA F9                MOV     R1,A
-0010BB E4                CLR     A
-0010BC 3A                ADDC    A,R2
-0010BD FA                MOV     R2,A
-0010BE A3                INC     DPTR
-0010BF E0                MOVX    A,@DPTR
-0010C0 7E00              MOV     R6,#00H
-0010C2 29                ADD     A,R1
-0010C3 F9                MOV     R1,A
-0010C4 EE                MOV     A,R6
-0010C5 3A                ADDC    A,R2
-0010C6 FA                MOV     R2,A
-0010C7 1200F9            LCALL   ?C?CLDPTR
-0010CA FB                MOV     R3,A
-0010CB B4F506            CJNE    A,#0F5H,?C0134?KB_PROCESS
-  527: 			{
-  528: 				kb_set_multikey(0x00b5);
-0010CE 7FB5              MOV     R7,#0B5H
-0010D0 1100              ACALL   _kb_set_multikey
-  529: 			}
-0010D2 4144              AJMP    ?C0127?KB_PROCESS
-0010D4         ?C0134?KB_PROCESS:
-  530: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
-0010D4 EB                MOV     A,R3
-0010D5 B4F608            CJNE    A,#0F6H,?C0136?KB_PROCESS
-  531: 			{
-  532: 				kb_set_multikey(0x00ea);
-0010D8 7FEA              MOV     R7,#0EAH
-0010DA 7E00              MOV     R6,#00H
-0010DC 1100              ACALL   _kb_set_multikey
-  533: 			}
-0010DE 4144              AJMP    ?C0127?KB_PROCESS
-0010E0         ?C0136?KB_PROCESS:
-  534: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
-0010E0 904E6E            MOV     DPTR,#pEvt
-0010E3 E0                MOVX    A,@DPTR
-0010E4 FB                MOV     R3,A
-0010E5 A3                INC     DPTR
-0010E6 E0                MOVX    A,@DPTR
-0010E7 FA                MOV     R2,A
-0010E8 A3                INC     DPTR
+0010B8 FB                MOV     R3,A
+0010B9 A3                INC     DPTR
+0010BA E0                MOVX    A,@DPTR
+0010BB FA                MOV     R2,A
+0010BC A3                INC     DPTR
+0010BD E0                MOVX    A,@DPTR
+0010BE 2401              ADD     A,#01H
+0010C0 F9                MOV     R1,A
+0010C1 E4                CLR     A
+0010C2 3A                ADDC    A,R2
+0010C3 FA                MOV     R2,A
+0010C4 A3                INC     DPTR
+0010C5 E0                MOVX    A,@DPTR
+0010C6 7E00              MOV     R6,#00H
+0010C8 29                ADD     A,R1
+0010C9 F9                MOV     R1,A
+0010CA EE                MOV     A,R6
+0010CB 3A                ADDC    A,R2
+0010CC FA                MOV     R2,A
+0010CD 1200F9            LCALL   ?C?CLDPTR
+0010D0 FB                MOV     R3,A
+0010D1 B4F506            CJNE    A,#0F5H,?C0145?KB_PROCESS
+  553: 			{
+  554: 				kb_set_multikey(0x00b5);
+0010D4 7FB5              MOV     R7,#0B5H
+0010D6 1106              ACALL   _kb_set_multikey
+  555: 			}
+0010D8 414A              AJMP    ?C0138?KB_PROCESS
+0010DA         ?C0145?KB_PROCESS:
+  556: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+0010DA EB                MOV     A,R3
+0010DB B4F608            CJNE    A,#0F6H,?C0147?KB_PROCESS
+  557: 			{
+  558: 				kb_set_multikey(0x00ea);
+0010DE 7FEA              MOV     R7,#0EAH
+0010E0 7E00              MOV     R6,#00H
+0010E2 1106              ACALL   _kb_set_multikey
+  559: 			}
+0010E4 414A              AJMP    ?C0138?KB_PROCESS
+0010E6         ?C0147?KB_PROCESS:
+  560: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+0010E6 904E6E            MOV     DPTR,#pEvt
 0010E9 E0                MOVX    A,@DPTR
-0010EA 2401              ADD     A,#01H
-0010EC F9                MOV     R1,A
-0010ED E4                CLR     A
-0010EE 3A                ADDC    A,R2
-0010EF FA                MOV     R2,A
-0010F0 A3                INC     DPTR
-0010F1 E0                MOVX    A,@DPTR
-0010F2 7E00              MOV     R6,#00H
-0010F4 29                ADD     A,R1
-0010F5 F9                MOV     R1,A
-0010F6 EE                MOV     A,R6
-0010F7 3A                ADDC    A,R2
-0010F8 FA                MOV     R2,A
-0010F9 1200F9            LCALL   ?C?CLDPTR
-0010FC FB                MOV     R3,A
-0010FD B4F706            CJNE    A,#0F7H,?C0138?KB_PROCESS
-  535: 			{
-  536: 				kb_set_multikey(0x00e9);
-001100 7FE9              MOV     R7,#0E9H
-001102 1100              ACALL   _kb_set_multikey
-  537: 			}
-001104 4144              AJMP    ?C0127?KB_PROCESS
-001106         ?C0138?KB_PROCESS:
-  538: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
-001106 EB                MOV     A,R3
-001107 B4F808            CJNE    A,#0F8H,?C0140?KB_PROCESS
-  539: 			{
-  540: 				kb_set_multikey(0x00e2);
-00110A 7FE2              MOV     R7,#0E2H
-00110C 7E00              MOV     R6,#00H
-00110E 1100              ACALL   _kb_set_multikey
-  541: 			}
-001110 4144              AJMP    ?C0127?KB_PROCESS
-001112         ?C0140?KB_PROCESS:
-  542: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
-001112 904E6E            MOV     DPTR,#pEvt
-001115 E0                MOVX    A,@DPTR
-001116 FB                MOV     R3,A
-001117 A3                INC     DPTR
-001118 E0                MOVX    A,@DPTR
-001119 FA                MOV     R2,A
-00111A A3                INC     DPTR
+0010EA FB                MOV     R3,A
+0010EB A3                INC     DPTR
+0010EC E0                MOVX    A,@DPTR
+0010ED FA                MOV     R2,A
+0010EE A3                INC     DPTR
+0010EF E0                MOVX    A,@DPTR
+0010F0 2401              ADD     A,#01H
+0010F2 F9                MOV     R1,A
+0010F3 E4                CLR     A
+0010F4 3A                ADDC    A,R2
+0010F5 FA                MOV     R2,A
+0010F6 A3                INC     DPTR
+0010F7 E0                MOVX    A,@DPTR
+0010F8 7E00              MOV     R6,#00H
+0010FA 29                ADD     A,R1
+0010FB F9                MOV     R1,A
+0010FC EE                MOV     A,R6
+0010FD 3A                ADDC    A,R2
+0010FE FA                MOV     R2,A
+0010FF 1200F9            LCALL   ?C?CLDPTR
+001102 FB                MOV     R3,A
+001103 B4F706            CJNE    A,#0F7H,?C0149?KB_PROCESS
+  561: 			{
+  562: 				kb_set_multikey(0x00e9);
+001106 7FE9              MOV     R7,#0E9H
+001108 1106              ACALL   _kb_set_multikey
+  563: 			}
+00110A 414A              AJMP    ?C0138?KB_PROCESS
+00110C         ?C0149?KB_PROCESS:
+  564: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+00110C EB                MOV     A,R3
+00110D B4F808            CJNE    A,#0F8H,?C0151?KB_PROCESS
+  565: 			{
+  566: 				kb_set_multikey(0x00e2);
+001110 7FE2              MOV     R7,#0E2H
+001112 7E00              MOV     R6,#00H
+001114 1106              ACALL   _kb_set_multikey
+  567: 			}
+001116 414A              AJMP    ?C0138?KB_PROCESS
+001118         ?C0151?KB_PROCESS:
+  568: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+001118 904E6E            MOV     DPTR,#pEvt
 00111B E0                MOVX    A,@DPTR
-00111C 2401              ADD     A,#01H
-00111E F9                MOV     R1,A
-00111F E4                CLR     A
-001120 3A                ADDC    A,R2
-001121 FA                MOV     R2,A
-001122 A3                INC     DPTR
-001123 E0                MOVX    A,@DPTR
-001124 7E00              MOV     R6,#00H
-001126 29                ADD     A,R1
-001127 F9                MOV     R1,A
-001128 EE                MOV     A,R6
-001129 3A                ADDC    A,R2
-00112A FA                MOV     R2,A
-00112B 1200F9            LCALL   ?C?CLDPTR
-00112E FB                MOV     R3,A
-00112F B4F907            CJNE    A,#0F9H,?C0142?KB_PROCESS
-  543: 			{
-  544: 				kb_set_multikey(0x0194);
-001132 7F94              MOV     R7,#094H
-001134 0E                INC     R6
-001135 1100              ACALL   _kb_set_multikey
-  545: 			}
-001137 4144              AJMP    ?C0127?KB_PROCESS
-001139         ?C0142?KB_PROCESS:
-  546: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
-001139 EB                MOV     A,R3
-00113A B4FA08            CJNE    A,#0FAH,?C0144?KB_PROCESS
-  547: 			{
-  548: 				kb_set_multikey(0x018a);//mail
-00113D 7F8A              MOV     R7,#08AH
-00113F 7E01              MOV     R6,#01H
-001141 1100              ACALL   _kb_set_multikey
-  549: 			}
-001143 4144              AJMP    ?C0127?KB_PROCESS
-001145         ?C0144?KB_PROCESS:
-  550: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
-001145 904E6E            MOV     DPTR,#pEvt
-001148 E0                MOVX    A,@DPTR
-001149 FB                MOV     R3,A
-00114A A3                INC     DPTR
-00114B E0                MOVX    A,@DPTR
-00114C FA                MOV     R2,A
-00114D A3                INC     DPTR
+00111C FB                MOV     R3,A
+00111D A3                INC     DPTR
+00111E E0                MOVX    A,@DPTR
+00111F FA                MOV     R2,A
+001120 A3                INC     DPTR
+001121 E0                MOVX    A,@DPTR
+001122 2401              ADD     A,#01H
+001124 F9                MOV     R1,A
+001125 E4                CLR     A
+001126 3A                ADDC    A,R2
+001127 FA                MOV     R2,A
+001128 A3                INC     DPTR
+001129 E0                MOVX    A,@DPTR
+00112A 7E00              MOV     R6,#00H
+00112C 29                ADD     A,R1
+00112D F9                MOV     R1,A
+00112E EE                MOV     A,R6
+00112F 3A                ADDC    A,R2
+001130 FA                MOV     R2,A
+001131 1200F9            LCALL   ?C?CLDPTR
+001134 FB                MOV     R3,A
+001135 B4F907            CJNE    A,#0F9H,?C0153?KB_PROCESS
+  569: 			{
+  570: 				kb_set_multikey(0x0194);
+001138 7F94              MOV     R7,#094H
+00113A 0E                INC     R6
+00113B 1106              ACALL   _kb_set_multikey
+  571: 			}
+00113D 414A              AJMP    ?C0138?KB_PROCESS
+00113F         ?C0153?KB_PROCESS:
+  572: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+00113F EB                MOV     A,R3
+001140 B4FA08            CJNE    A,#0FAH,?C0155?KB_PROCESS
+  573: 			{
+  574: 				kb_set_multikey(0x018a);//mail
+001143 7F8A              MOV     R7,#08AH
+001145 7E01              MOV     R6,#01H
+001147 1106              ACALL   _kb_set_multikey
+  575: 			}
+001149 414A              AJMP    ?C0138?KB_PROCESS
+00114B         ?C0155?KB_PROCESS:
+  576: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+00114B 904E6E            MOV     DPTR,#pEvt
 00114E E0                MOVX    A,@DPTR
-00114F 2401              ADD     A,#01H
-001151 F9                MOV     R1,A
-001152 E4                CLR     A
-001153 3A                ADDC    A,R2
-001154 FA                MOV     R2,A
-001155 A3                INC     DPTR
-001156 E0                MOVX    A,@DPTR
-001157 7E00              MOV     R6,#00H
-001159 29                ADD     A,R1
-00115A F9                MOV     R1,A
-00115B EE                MOV     A,R6
-00115C 3A                ADDC    A,R2
-00115D FA                MOV     R2,A
-00115E 1200F9            LCALL   ?C?CLDPTR
-001161 FB                MOV     R3,A
-001162 B4FB07            CJNE    A,#0FBH,?C0146?KB_PROCESS
-  551: 			{
-  552: 				kb_set_multikey(0x0192);
-001165 7F92              MOV     R7,#092H
-001167 0E                INC     R6
-001168 1100              ACALL   _kb_set_multikey
-  553: 			}
-00116A 4144              AJMP    ?C0127?KB_PROCESS
-00116C         ?C0146?KB_PROCESS:
-  554: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
-00116C EB                MOV     A,R3
-00116D B4D008            CJNE    A,#0D0H,?C0148?KB_PROCESS
-  555: 			{
-  556: 				kb_set_multikey(0x022a);//www Favorites
-001170 7F2A              MOV     R7,#02AH
-001172 7E02              MOV     R6,#02H
-001174 1100              ACALL   _kb_set_multikey
-  557: 			}
-001176 4144              AJMP    ?C0127?KB_PROCESS
-001178         ?C0148?KB_PROCESS:
-  558: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
-001178 904E6E            MOV     DPTR,#pEvt
-00117B E0                MOVX    A,@DPTR
-00117C FB                MOV     R3,A
-00117D A3                INC     DPTR
-00117E E0                MOVX    A,@DPTR
-00117F FA                MOV     R2,A
-001180 A3                INC     DPTR
+00114F FB                MOV     R3,A
+001150 A3                INC     DPTR
+001151 E0                MOVX    A,@DPTR
+001152 FA                MOV     R2,A
+001153 A3                INC     DPTR
+001154 E0                MOVX    A,@DPTR
+001155 2401              ADD     A,#01H
+001157 F9                MOV     R1,A
+001158 E4                CLR     A
+001159 3A                ADDC    A,R2
+00115A FA                MOV     R2,A
+00115B A3                INC     DPTR
+00115C E0                MOVX    A,@DPTR
+00115D 7E00              MOV     R6,#00H
+00115F 29                ADD     A,R1
+001160 F9                MOV     R1,A
+001161 EE                MOV     A,R6
+001162 3A                ADDC    A,R2
+001163 FA                MOV     R2,A
+001164 1200F9            LCALL   ?C?CLDPTR
+001167 FB                MOV     R3,A
+001168 B4FB07            CJNE    A,#0FBH,?C0157?KB_PROCESS
+  577: 			{
+  578: 				kb_set_multikey(0x0192);
+00116B 7F92              MOV     R7,#092H
+00116D 0E                INC     R6
+00116E 1106              ACALL   _kb_set_multikey
+  579: 			}
+001170 414A              AJMP    ?C0138?KB_PROCESS
+001172         ?C0157?KB_PROCESS:
+  580: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+001172 EB                MOV     A,R3
+001173 B4D008            CJNE    A,#0D0H,?C0159?KB_PROCESS
+  581: 			{
+  582: 				kb_set_multikey(0x022a);//www Favorites
+001176 7F2A              MOV     R7,#02AH
+001178 7E02              MOV     R6,#02H
+00117A 1106              ACALL   _kb_set_multikey
+  583: 			}
+00117C 414A              AJMP    ?C0138?KB_PROCESS
+00117E         ?C0159?KB_PROCESS:
+  584: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+00117E 904E6E            MOV     DPTR,#pEvt
 001181 E0                MOVX    A,@DPTR
-001182 2401              ADD     A,#01H
-001184 F9                MOV     R1,A
-001185 E4                CLR     A
-001186 3A                ADDC    A,R2
-001187 FA                MOV     R2,A
-001188 A3                INC     DPTR
-001189 E0                MOVX    A,@DPTR
-00118A 7E00              MOV     R6,#00H
-00118C 29                ADD     A,R1
-00118D F9                MOV     R1,A
-00118E EE                MOV     A,R6
-00118F 3A                ADDC    A,R2
-001190 FA                MOV     R2,A
-001191 1200F9            LCALL   ?C?CLDPTR
-001194 FB                MOV     R3,A
-001195 B4D108            CJNE    A,#0D1H,?C0150?KB_PROCESS
-  559: 			{
-  560: 				kb_set_multikey(0x0225);
-001198 7F25              MOV     R7,#025H
-00119A 7E02              MOV     R6,#02H
-00119C 1100              ACALL   _kb_set_multikey
-  561: 			}
-00119E 4144              AJMP    ?C0127?KB_PROCESS
-0011A0         ?C0150?KB_PROCESS:
-  562: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
-0011A0 EB                MOV     A,R3
-0011A1 B4D308            CJNE    A,#0D3H,?C0152?KB_PROCESS
-  563: 			{
-  564: 				kb_set_multikey(0x0226);
-0011A4 7F26              MOV     R7,#026H
-0011A6 7E02              MOV     R6,#02H
-0011A8 1100              ACALL   _kb_set_multikey
-  565: 			}
-0011AA 4144              AJMP    ?C0127?KB_PROCESS
-0011AC         ?C0152?KB_PROCESS:
-  566: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
-0011AC 904E6E            MOV     DPTR,#pEvt
-0011AF E0                MOVX    A,@DPTR
-0011B0 FB                MOV     R3,A
-0011B1 A3                INC     DPTR
-0011B2 E0                MOVX    A,@DPTR
-0011B3 FA                MOV     R2,A
-0011B4 A3                INC     DPTR
+001182 FB                MOV     R3,A
+001183 A3                INC     DPTR
+001184 E0                MOVX    A,@DPTR
+001185 FA                MOV     R2,A
+001186 A3                INC     DPTR
+001187 E0                MOVX    A,@DPTR
+001188 2401              ADD     A,#01H
+00118A F9                MOV     R1,A
+00118B E4                CLR     A
+00118C 3A                ADDC    A,R2
+00118D FA                MOV     R2,A
+00118E A3                INC     DPTR
+00118F E0                MOVX    A,@DPTR
+001190 7E00              MOV     R6,#00H
+001192 29                ADD     A,R1
+001193 F9                MOV     R1,A
+001194 EE                MOV     A,R6
+001195 3A                ADDC    A,R2
+001196 FA                MOV     R2,A
+001197 1200F9            LCALL   ?C?CLDPTR
+00119A FB                MOV     R3,A
+00119B B4D108            CJNE    A,#0D1H,?C0161?KB_PROCESS
+  585: 			{
+  586: 				kb_set_multikey(0x0225);
+00119E 7F25              MOV     R7,#025H
+0011A0 7E02              MOV     R6,#02H
+0011A2 1106              ACALL   _kb_set_multikey
+  587: 			}
+0011A4 414A              AJMP    ?C0138?KB_PROCESS
+0011A6         ?C0161?KB_PROCESS:
+  588: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+0011A6 EB                MOV     A,R3
+0011A7 B4D308            CJNE    A,#0D3H,?C0163?KB_PROCESS
+  589: 			{
+  590: 				kb_set_multikey(0x0226);
+0011AA 7F26              MOV     R7,#026H
+0011AC 7E02              MOV     R6,#02H
+0011AE 1106              ACALL   _kb_set_multikey
+  591: 			}
+0011B0 414A              AJMP    ?C0138?KB_PROCESS
+0011B2         ?C0163?KB_PROCESS:
+  592: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+0011B2 904E6E            MOV     DPTR,#pEvt
 0011B5 E0                MOVX    A,@DPTR
-0011B6 2401              ADD     A,#01H
-0011B8 F9                MOV     R1,A
-0011B9 E4                CLR     A
-0011BA 3A                ADDC    A,R2
-0011BB FA                MOV     R2,A
-0011BC A3                INC     DPTR
-0011BD E0                MOVX    A,@DPTR
-0011BE 7E00              MOV     R6,#00H
-0011C0 29                ADD     A,R1
-0011C1 F9                MOV     R1,A
-0011C2 EE                MOV     A,R6
-0011C3 3A                ADDC    A,R2
-0011C4 FA                MOV     R2,A
-0011C5 1200F9            LCALL   ?C?CLDPTR
-0011C8 FB                MOV     R3,A
-0011C9 B4D208            CJNE    A,#0D2H,?C0154?KB_PROCESS
-  567: 			{
-  568: 				kb_set_multikey(0x0224);
-0011CC 7F24              MOV     R7,#024H
-0011CE 7E02              MOV     R6,#02H
-0011D0 1100              ACALL   _kb_set_multikey
-  569: 			}
-0011D2 8070              SJMP    ?C0127?KB_PROCESS
-0011D4         ?C0154?KB_PROCESS:
-  570: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
-0011D4 EB                MOV     A,R3
-0011D5 B4D408            CJNE    A,#0D4H,?C0156?KB_PROCESS
-  571: 			{
-  572: 				kb_set_multikey(0x0227);
-0011D8 7F27              MOV     R7,#027H
-0011DA 7E02              MOV     R6,#02H
-0011DC 1100              ACALL   _kb_set_multikey
-  573: 			}
-0011DE 8064              SJMP    ?C0127?KB_PROCESS
-0011E0         ?C0156?KB_PROCESS:
-  574: 			
-  575: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
-0011E0 904E6E            MOV     DPTR,#pEvt
-0011E3 E0                MOVX    A,@DPTR
-0011E4 FB                MOV     R3,A
-0011E5 A3                INC     DPTR
-0011E6 E0                MOVX    A,@DPTR
-0011E7 FA                MOV     R2,A
-0011E8 A3                INC     DPTR
+0011B6 FB                MOV     R3,A
+0011B7 A3                INC     DPTR
+0011B8 E0                MOVX    A,@DPTR
+0011B9 FA                MOV     R2,A
+0011BA A3                INC     DPTR
+0011BB E0                MOVX    A,@DPTR
+0011BC 2401              ADD     A,#01H
+0011BE F9                MOV     R1,A
+0011BF E4                CLR     A
+0011C0 3A                ADDC    A,R2
+0011C1 FA                MOV     R2,A
+0011C2 A3                INC     DPTR
+0011C3 E0                MOVX    A,@DPTR
+0011C4 7E00              MOV     R6,#00H
+0011C6 29                ADD     A,R1
+0011C7 F9                MOV     R1,A
+0011C8 EE                MOV     A,R6
+0011C9 3A                ADDC    A,R2
+0011CA FA                MOV     R2,A
+0011CB 1200F9            LCALL   ?C?CLDPTR
+0011CE FB                MOV     R3,A
+0011CF B4D208            CJNE    A,#0D2H,?C0165?KB_PROCESS
+  593: 			{
+  594: 				kb_set_multikey(0x0224);
+0011D2 7F24              MOV     R7,#024H
+0011D4 7E02              MOV     R6,#02H
+0011D6 1106              ACALL   _kb_set_multikey
+  595: 			}
+0011D8 8070              SJMP    ?C0138?KB_PROCESS
+0011DA         ?C0165?KB_PROCESS:
+  596: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+0011DA EB                MOV     A,R3
+0011DB B4D408            CJNE    A,#0D4H,?C0167?KB_PROCESS
+  597: 			{
+  598: 				kb_set_multikey(0x0227);
+0011DE 7F27              MOV     R7,#027H
+0011E0 7E02              MOV     R6,#02H
+0011E2 1106              ACALL   _kb_set_multikey
+  599: 			}
+0011E4 8064              SJMP    ?C0138?KB_PROCESS
+0011E6         ?C0167?KB_PROCESS:
+  600: 			
+  601: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+0011E6 904E6E            MOV     DPTR,#pEvt
 0011E9 E0                MOVX    A,@DPTR
-0011EA 2401              ADD     A,#01H
-0011EC F9                MOV     R1,A
-0011ED E4                CLR     A
-0011EE 3A                ADDC    A,R2
-0011EF FA                MOV     R2,A
-0011F0 A3                INC     DPTR
-0011F1 E0                MOVX    A,@DPTR
-0011F2 7E00              MOV     R6,#00H
-0011F4 29                ADD     A,R1
-0011F5 F9                MOV     R1,A
-0011F6 EE                MOV     A,R6
-0011F7 3A                ADDC    A,R2
-0011F8 FA                MOV     R2,A
-0011F9 1200F9            LCALL   ?C?CLDPTR
-0011FC FB                MOV     R3,A
-0011FD B4D508            CJNE    A,#0D5H,?C0158?KB_PROCESS
-  576: 			{
-  577: 				kb_set_multikey(0x0221);
-001200 7F21              MOV     R7,#021H
-001202 7E02              MOV     R6,#02H
-001204 1100              ACALL   _kb_set_multikey
-  578: 			}
-001206 803C              SJMP    ?C0127?KB_PROCESS
-001208         ?C0158?KB_PROCESS:
-  579: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
-001208 EB                MOV     A,R3
-001209 B4D608            CJNE    A,#0D6H,?C0160?KB_PROCESS
-  580: 			{
-  581: 				kb_set_multikey(0x0223);
-00120C 7F23              MOV     R7,#023H
-00120E 7E02              MOV     R6,#02H
-001210 1100              ACALL   _kb_set_multikey
-  582: 			}
-001212 8030              SJMP    ?C0127?KB_PROCESS
-001214         ?C0160?KB_PROCESS:
-  583: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
-001214 904E6E            MOV     DPTR,#pEvt
-001217 E0                MOVX    A,@DPTR
-001218 FB                MOV     R3,A
-001219 A3                INC     DPTR
-00121A E0                MOVX    A,@DPTR
-00121B FA                MOV     R2,A
-00121C A3                INC     DPTR
+0011EA FB                MOV     R3,A
+0011EB A3                INC     DPTR
+0011EC E0                MOVX    A,@DPTR
+0011ED FA                MOV     R2,A
+0011EE A3                INC     DPTR
+0011EF E0                MOVX    A,@DPTR
+0011F0 2401              ADD     A,#01H
+0011F2 F9                MOV     R1,A
+0011F3 E4                CLR     A
+0011F4 3A                ADDC    A,R2
+0011F5 FA                MOV     R2,A
+0011F6 A3                INC     DPTR
+0011F7 E0                MOVX    A,@DPTR
+0011F8 7E00              MOV     R6,#00H
+0011FA 29                ADD     A,R1
+0011FB F9                MOV     R1,A
+0011FC EE                MOV     A,R6
+0011FD 3A                ADDC    A,R2
+0011FE FA                MOV     R2,A
+0011FF 1200F9            LCALL   ?C?CLDPTR
+001202 FB                MOV     R3,A
+001203 B4D508            CJNE    A,#0D5H,?C0169?KB_PROCESS
+  602: 			{
+  603: 				kb_set_multikey(0x0221);
+001206 7F21              MOV     R7,#021H
+001208 7E02              MOV     R6,#02H
+00120A 1106              ACALL   _kb_set_multikey
+  604: 			}
+00120C 803C              SJMP    ?C0138?KB_PROCESS
+00120E         ?C0169?KB_PROCESS:
+  605: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+00120E EB                MOV     A,R3
+00120F B4D608            CJNE    A,#0D6H,?C0171?KB_PROCESS
+  606: 			{
+  607: 				kb_set_multikey(0x0223);
+001212 7F23              MOV     R7,#023H
+001214 7E02              MOV     R6,#02H
+001216 1106              ACALL   _kb_set_multikey
+  608: 			}
+001218 8030              SJMP    ?C0138?KB_PROCESS
+00121A         ?C0171?KB_PROCESS:
+  609: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+00121A 904E6E            MOV     DPTR,#pEvt
 00121D E0                MOVX    A,@DPTR
-00121E 2401              ADD     A,#01H
-001220 F9                MOV     R1,A
-001221 E4                CLR     A
-001222 3A                ADDC    A,R2
-001223 FA                MOV     R2,A
-001224 A3                INC     DPTR
-001225 E0                MOVX    A,@DPTR
-001226 7E00              MOV     R6,#00H
-001228 29                ADD     A,R1
-001229 F9                MOV     R1,A
-00122A EE                MOV     A,R6
-00122B 3A                ADDC    A,R2
-00122C FA                MOV     R2,A
-00122D 1200F9            LCALL   ?C?CLDPTR
-001230 FB                MOV     R3,A
-001231 B4D706            CJNE    A,#0D7H,?C0162?KB_PROCESS
-  584: 			{
-  585: 				kb_set_multikey(0x0070);
-001234 7F70              MOV     R7,#070H
-001236 1100              ACALL   _kb_set_multikey
-  586: 			}
-001238 800A              SJMP    ?C0127?KB_PROCESS
-00123A         ?C0162?KB_PROCESS:
-  587: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
-00123A EB                MOV     A,R3
-00123B B4D806            CJNE    A,#0D8H,?C0127?KB_PROCESS
-  588: 			{
-  589: 				kb_set_multikey(0x006f);
-00123E 7F6F              MOV     R7,#06FH
-001240 7E00              MOV     R6,#00H
-001242 1100              ACALL   _kb_set_multikey
-  590: 			}
-001244         ?C0127?KB_PROCESS:
-  591: 			
-  592: 			if(mult_key_status == KEY_WAIT_RELEASE)
-001244 904DE8            MOV     DPTR,#mult_key_status
-001247 E0                MOVX    A,@DPTR
-001248 B40224            CJNE    A,#02H,?C0123?KB_PROCESS
-  593: 			{
-  594: 				mult_key_value = pEvt->ksPool[i];
-00124B 904E6E            MOV     DPTR,#pEvt
-00124E E0                MOVX    A,@DPTR
-00124F FB                MOV     R3,A
-001250 A3                INC     DPTR
-001251 E0                MOVX    A,@DPTR
-001252 FA                MOV     R2,A
-001253 A3                INC     DPTR
+00121E FB                MOV     R3,A
+00121F A3                INC     DPTR
+001220 E0                MOVX    A,@DPTR
+001221 FA                MOV     R2,A
+001222 A3                INC     DPTR
+001223 E0                MOVX    A,@DPTR
+001224 2401              ADD     A,#01H
+001226 F9                MOV     R1,A
+001227 E4                CLR     A
+001228 3A                ADDC    A,R2
+001229 FA                MOV     R2,A
+00122A A3                INC     DPTR
+00122B E0                MOVX    A,@DPTR
+00122C 7E00              MOV     R6,#00H
+00122E 29                ADD     A,R1
+00122F F9                MOV     R1,A
+001230 EE                MOV     A,R6
+001231 3A                ADDC    A,R2
+001232 FA                MOV     R2,A
+001233 1200F9            LCALL   ?C?CLDPTR
+001236 FB                MOV     R3,A
+001237 B4D706            CJNE    A,#0D7H,?C0173?KB_PROCESS
+  610: 			{
+  611: 				kb_set_multikey(0x0070);
+00123A 7F70              MOV     R7,#070H
+00123C 1106              ACALL   _kb_set_multikey
+  612: 			}
+00123E 800A              SJMP    ?C0138?KB_PROCESS
+001240         ?C0173?KB_PROCESS:
+  613: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+001240 EB                MOV     A,R3
+001241 B4D806            CJNE    A,#0D8H,?C0138?KB_PROCESS
+  614: 			{
+  615: 				kb_set_multikey(0x006f);
+001244 7F6F              MOV     R7,#06FH
+001246 7E00              MOV     R6,#00H
+001248 1106              ACALL   _kb_set_multikey
+  616: 			}
+00124A         ?C0138?KB_PROCESS:
+  617: 			
+  618: 			if(mult_key_status == KEY_WAIT_RELEASE)
+00124A 904DE8            MOV     DPTR,#mult_key_status
+00124D E0                MOVX    A,@DPTR
+00124E B40224            CJNE    A,#02H,?C0134?KB_PROCESS
+  619: 			{
+  620: 				mult_key_value = pEvt->ksPool[i];
+001251 904E6E            MOV     DPTR,#pEvt
 001254 E0                MOVX    A,@DPTR
-001255 2401              ADD     A,#01H
-001257 F9                MOV     R1,A
-001258 E4                CLR     A
-001259 3A                ADDC    A,R2
-00125A FA                MOV     R2,A
-00125B A3                INC     DPTR
-00125C E0                MOVX    A,@DPTR
-00125D 7E00              MOV     R6,#00H
-00125F 29                ADD     A,R1
-001260 F9                MOV     R1,A
-001261 EE                MOV     A,R6
-001262 3A                ADDC    A,R2
-001263 FA                MOV     R2,A
-001264 1200F9            LCALL   ?C?CLDPTR
-001267 904DE7            MOV     DPTR,#mult_key_value
-00126A F0                MOVX    @DPTR,A
-  595: 				pEvt->ksPool[i] = 0;
-00126B E4                CLR     A
-00126C 12013F            LCALL   ?C?CSTPTR
-  596: 			}
-  597: 		}
-  598: 	}
-00126F         ?C0123?KB_PROCESS:
-00126F 904E71            MOV     DPTR,#i
-001272 E0                MOVX    A,@DPTR
-001273 04                INC     A
-001274 F0                MOVX    @DPTR,A
-001275 012A              AJMP    ?C0121?KB_PROCESS
-  599: }
-001277         ?C0166?KB_PROCESS:
-001277 22                RET     
+001255 FB                MOV     R3,A
+001256 A3                INC     DPTR
+001257 E0                MOVX    A,@DPTR
+001258 FA                MOV     R2,A
+001259 A3                INC     DPTR
+00125A E0                MOVX    A,@DPTR
+00125B 2401              ADD     A,#01H
+00125D F9                MOV     R1,A
+00125E E4                CLR     A
+00125F 3A                ADDC    A,R2
+001260 FA                MOV     R2,A
+001261 A3                INC     DPTR
+001262 E0                MOVX    A,@DPTR
+001263 7E00              MOV     R6,#00H
+001265 29                ADD     A,R1
+001266 F9                MOV     R1,A
+001267 EE                MOV     A,R6
+001268 3A                ADDC    A,R2
+001269 FA                MOV     R2,A
+00126A 1200F9            LCALL   ?C?CLDPTR
+00126D 904DE7            MOV     DPTR,#mult_key_value
+001270 F0                MOVX    @DPTR,A
+  621: 				pEvt->ksPool[i] = 0;
+001271 E4                CLR     A
+001272 12013F            LCALL   ?C?CSTPTR
+  622: 			}
+  623: 		}
+  624: 	}
+001275         ?C0134?KB_PROCESS:
+001275 904E71            MOV     DPTR,#i
+001278 E0                MOVX    A,@DPTR
+001279 04                INC     A
+00127A F0                MOVX    @DPTR,A
+00127B 0130              AJMP    ?C0132?KB_PROCESS
+  625: }
+00127D         ?C0177?KB_PROCESS:
+00127D 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
 
 ----- FUNCTION _kb_combination_key_press (BEGIN) -----
  FILE: 'kb_process.c'
-  367: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
-  368: {
+  369: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
+  370: {
 ;---- Variable 'press_state' assigned to Register 'R7' ----
 ;---- Variable 'standrad_key' assigned to Register 'R3' ----
 ;---- Variable 'special_key' assigned to Register 'R5' ----
-  369: 	g_variable.key_combination_ctrl = special_key;	
-  370: 	g_variable.key_combination_keyvalue = standrad_key;
-001278 904CF5            MOV     DPTR,#g_variable+036H
-00127B ED                MOV     A,R5
-00127C F0                MOVX    @DPTR,A
-  371: 
-00127D A3                INC     DPTR
-00127E EB                MOV     A,R3
-00127F F0                MOVX    @DPTR,A
-  372: 	if(press_state & 1)
-001280 EF                MOV     A,R7
-001281 30E012            JNB     ACC.0,?C0083?KB_PROCESS
-  373: 	{
-  374: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
-001284 904CF4            MOV     DPTR,#g_variable+035H
-001287 E0                MOVX    A,@DPTR
-001288 B40304            CJNE    A,#03H,?C0084?KB_PROCESS
-  375: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
-00128B 7402              MOV     A,#02H
-00128D F0                MOVX    @DPTR,A
-00128E 22                RET     
-00128F         ?C0084?KB_PROCESS:
-  376: 		else	
-  377: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-00128F 904CF4            MOV     DPTR,#g_variable+035H
-001292 7401              MOV     A,#01H
-001294 F0                MOVX    @DPTR,A
-  378: 	}
-001295 22                RET     
-001296         ?C0083?KB_PROCESS:
-  379: 	else
-  380: 	{
-  381: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-001296 904CF4            MOV     DPTR,#g_variable+035H
-001299 7404              MOV     A,#04H
-00129B F0                MOVX    @DPTR,A
-  382: 	}
-  383: 
-  384: }
-00129C 22                RET     
+  371: 	g_variable.key_combination_ctrl = special_key;	
+  372: 	g_variable.key_combination_keyvalue = standrad_key;
+00127E 904CF5            MOV     DPTR,#g_variable+036H
+001281 ED                MOV     A,R5
+001282 F0                MOVX    @DPTR,A
+  373: 
+001283 A3                INC     DPTR
+001284 EB                MOV     A,R3
+001285 F0                MOVX    @DPTR,A
+  374: 	if(press_state & 1)
+001286 EF                MOV     A,R7
+001287 30E012            JNB     ACC.0,?C0083?KB_PROCESS
+  375: 	{
+  376: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
+00128A 904CF4            MOV     DPTR,#g_variable+035H
+00128D E0                MOVX    A,@DPTR
+00128E B40304            CJNE    A,#03H,?C0084?KB_PROCESS
+  377: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+001291 7402              MOV     A,#02H
+001293 F0                MOVX    @DPTR,A
+001294 22                RET     
+001295         ?C0084?KB_PROCESS:
+  378: 		else	
+  379: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
+001295 904CF4            MOV     DPTR,#g_variable+035H
+001298 7401              MOV     A,#01H
+00129A F0                MOVX    @DPTR,A
+  380: 	}
+00129B 22                RET     
+00129C         ?C0083?KB_PROCESS:
+  381: 	else
+  382: 	{
+  383: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
+00129C 904CF4            MOV     DPTR,#g_variable+035H
+00129F 7404              MOV     A,#04H
+0012A1 F0                MOVX    @DPTR,A
+  384: 	}
+  385: 
+  386: }
+0012A2 22                RET     
 ----- FUNCTION _kb_combination_key_press (END) -------
 
 
 ----- FUNCTION _key_fn_function (BEGIN) -----
  FILE: 'kb_process.c'
-  387: byte key_fn_function(byte state ,byte key_value)
-  388: {
+  389: byte key_fn_function(byte state ,byte key_value)
+  390: {
 ;---- Variable 'key_value' assigned to Register 'R5' ----
 ;---- Variable 'state' assigned to Register 'R7' ----
-  389: 	byte temp = 0;
-  390: 
-00129D E4                CLR     A
-00129E 904E97            MOV     DPTR,#temp
-0012A1 F0                MOVX    @DPTR,A
-  391: 	if(state & 1)
-0012A2 EF                MOV     A,R7
-0012A3 30E005            JNB     ACC.0,?C0088?KB_PROCESS
-  392: 		g_variable.one_key_press_wait_release_timer = 0;
-0012A6 E4                CLR     A
-0012A7 904CFA            MOV     DPTR,#g_variable+03BH
-0012AA F0                MOVX    @DPTR,A
-0012AB         ?C0088?KB_PROCESS:
-  393: 	temp = key_value;	
-0012AB 904E97            MOV     DPTR,#temp
-0012AE ED                MOV     A,R5
-0012AF F0                MOVX    @DPTR,A
-  394: 
-  395: //numloc flag
-  396: //	if (g_variable.key_numlock_open_flag == 0)
-  397: 	{
-  398: 		switch(key_value)
-0012B0 24D2              ADD     A,#0D2H
-0012B2 7002              JNZ     $ + 4H
-0012B4 61DE              AJMP    ?C0115?KB_PROCESS
-0012B6 24DB              ADD     A,#0DBH
-0012B8 B40F00            CJNE    A,#0FH,?C0167?KB_PROCESS
-0012BB         ?C0167?KB_PROCESS:
-0012BB 4002              JC      $ + 4H
-0012BD 61FA              AJMP    ?C0089?KB_PROCESS
-0012BF 9012CD            MOV     DPTR,#012CDH
-0012C2 75F003            MOV     B,#03H
-0012C5 A4                MUL     AB
-0012C6 C583              XCH     A,DPH
-0012C8 25F0              ADD     A,B
-0012CA C583              XCH     A,DPH
-0012CC 73                JMP     @A+DPTR
-0012CD         ?C0168?KB_PROCESS:
-0012CD 0212FA            LJMP    ?C0090?KB_PROCESS
-0012D0 0213ED            LJMP    ?C0117?KB_PROCESS
-0012D3 0213FA            LJMP    ?C0089?KB_PROCESS
-0012D6 02136D            LJMP    ?C0101?KB_PROCESS
-0012D9 0213AF            LJMP    ?C0109?KB_PROCESS
-0012DC 0213FA            LJMP    ?C0089?KB_PROCESS
-0012DF 0213FA            LJMP    ?C0089?KB_PROCESS
-0012E2 0213BF            LJMP    ?C0111?KB_PROCESS
-0012E5 0213CF            LJMP    ?C0113?KB_PROCESS
-0012E8 02137F            LJMP    ?C0103?KB_PROCESS
-0012EB 02138F            LJMP    ?C0105?KB_PROCESS
-0012EE 02139F            LJMP    ?C0107?KB_PROCESS
-0012F1 021337            LJMP    ?C0095?KB_PROCESS
-0012F4 021349            LJMP    ?C0097?KB_PROCESS
-0012F7 02135B            LJMP    ?C0099?KB_PROCESS
-  399: 		{		
-  400: 			case HID_KEY_NUM_LOCK:
-0012FA         ?C0090?KB_PROCESS:
-  401: 				if(state & 1)
-0012FA EF                MOV     A,R7
-0012FB 30E031            JNB     ACC.0,?C0091?KB_PROCESS
-  402: 				{
-  403: 					if(g_variable.key_numlock_open_flag != 0x81) 
-0012FE 904CF8            MOV     DPTR,#g_variable+039H
-001301 E0                MOVX    A,@DPTR
-001302 6481              XRL     A,#081H
-001304 600B              JZ      ?C0092?KB_PROCESS
-  404: 					{	
-  405: 						g_variable.key_numlock_open_flag = 0x81;
-001306 7481              MOV     A,#081H
-001308 F0                MOVX    @DPTR,A
-  406: 						g_variable.sys_numlockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-001309 904CE6            MOV     DPTR,#g_variable+027H
-00130C 7418              MOV     A,#018H
-00130E F0                MOVX    @DPTR,A
-  407: 					}
-00130F 800B              SJMP    ?C0093?KB_PROCESS
-001311         ?C0092?KB_PROCESS:
-  408: 					else
-  409: 					{
-  410: 						g_variable.key_numlock_open_flag = 0x80;
-001311 904CF8            MOV     DPTR,#g_variable+039H
-001314 7480              MOV     A,#080H
-001316 F0                MOVX    @DPTR,A
-  411: 						g_variable.sys_numlockled_on_timer = 0;
-001317 E4                CLR     A
-001318 904CE6            MOV     DPTR,#g_variable+027H
-00131B F0                MOVX    @DPTR,A
-  412: 					}	
-00131C         ?C0093?KB_PROCESS:
-  413: 
-  414: 					IIC_WriteBlock(EEPROM_RECON_INFO_NUMLOCK_STATUS ,1 ,(byte *)&g_variable.key_numlock_open_flag);
-00131C 7B01              MOV     R3,#01H
-00131E 7A4C              MOV     R2,#HIGH g_variable+039H
-001320 79F8              MOV     R1,#LOW g_variable+039H
-001322 7D01              MOV     R5,#01H
-001324 7C00              MOV     R4,#00H
-001326 7FF9              MOV     R7,#0F9H
-001328 7E3F              MOV     R6,#03FH
-00132A 120860            LCALL   _IIC_WriteBlock
-  415: 				}
-00132D 61FA              AJMP    ?C0089?KB_PROCESS
-00132F         ?C0091?KB_PROCESS:
-  416: 				else
-  417: 					g_variable.key_special_release_flag = 1;
-00132F 904CF9            MOV     DPTR,#g_variable+03AH
-001332 7401              MOV     A,#01H
-001334 F0                MOVX    @DPTR,A
-  418: 				break;
-001335 61FA              AJMP    ?C0089?KB_PROCESS
-  419: 			case HID_KEY_KP_7:
-001337         ?C0095?KB_PROCESS:
-  420: 				if(g_variable.key_numlock_open_flag == 0x80) 
-001337 904CF8            MOV     DPTR,#g_variable+039H
-00133A E0                MOVX    A,@DPTR
-00133B 6480              XRL     A,#080H
-00133D 6002              JZ      $ + 4H
-00133F 61FA              AJMP    ?C0089?KB_PROCESS
-  421: 				{
-  422: 					temp = HID_KEY_F1;
-001341 904E97            MOV     DPTR,#temp
-001344 743A              MOV     A,#03AH
+  391: 	byte temp = 0;
+  392: 
+0012A3 E4                CLR     A
+0012A4 904E97            MOV     DPTR,#temp
+0012A7 F0                MOVX    @DPTR,A
+  393: 	if(state & 1)
+0012A8 EF                MOV     A,R7
+0012A9 30E005            JNB     ACC.0,?C0088?KB_PROCESS
+  394: 		g_variable.one_key_press_wait_release_timer = 0;
+0012AC E4                CLR     A
+0012AD 904CFA            MOV     DPTR,#g_variable+03BH
+0012B0 F0                MOVX    @DPTR,A
+0012B1         ?C0088?KB_PROCESS:
+  395: 	temp = key_value;	
+0012B1 904E97            MOV     DPTR,#temp
+0012B4 ED                MOV     A,R5
+0012B5 F0                MOVX    @DPTR,A
+  396: 
+  397: 
+  398: 	g_variable.key_numlock_flag_send = 0;
+0012B6 E4                CLR     A
+0012B7 904CFB            MOV     DPTR,#g_variable+03CH
+0012BA F0                MOVX    @DPTR,A
+  399: //numloc flag
+  400: //	if (g_variable.key_numlock_open_flag == 0)
+  401: 	{
+  402: 		switch(key_value)
+0012BB ED                MOV     A,R5
+0012BC 24D2              ADD     A,#0D2H
+0012BE 7002              JNZ     $ + 4H
+0012C0 812B              AJMP    ?C0126?KB_PROCESS
+0012C2 24DB              ADD     A,#0DBH
+0012C4 B41100            CJNE    A,#011H,?C0178?KB_PROCESS
+0012C7         ?C0178?KB_PROCESS:
+0012C7 4002              JC      $ + 4H
+0012C9 8147              AJMP    ?C0089?KB_PROCESS
+0012CB 9012D9            MOV     DPTR,#012D9H
+0012CE 75F003            MOV     B,#03H
+0012D1 A4                MUL     AB
+0012D2 C583              XCH     A,DPH
+0012D4 25F0              ADD     A,B
+0012D6 C583              XCH     A,DPH
+0012D8 73                JMP     @A+DPTR
+0012D9         ?C0179?KB_PROCESS:
+0012D9 02130C            LJMP    ?C0090?KB_PROCESS
+0012DC 02143A            LJMP    ?C0128?KB_PROCESS
+0012DF 021447            LJMP    ?C0089?KB_PROCESS
+0012E2 02138E            LJMP    ?C0104?KB_PROCESS
+0012E5 0213E5            LJMP    ?C0115?KB_PROCESS
+0012E8 021447            LJMP    ?C0089?KB_PROCESS
+0012EB 0213F5            LJMP    ?C0119?KB_PROCESS
+0012EE 0213FD            LJMP    ?C0120?KB_PROCESS
+0012F1 021414            LJMP    ?C0123?KB_PROCESS
+0012F4 0213A0            LJMP    ?C0106?KB_PROCESS
+0012F7 0213B7            LJMP    ?C0109?KB_PROCESS
+0012FA 0213CE            LJMP    ?C0112?KB_PROCESS
+0012FD 021349            LJMP    ?C0095?KB_PROCESS
+001300 021360            LJMP    ?C0098?KB_PROCESS
+001303 021377            LJMP    ?C0101?KB_PROCESS
+001306 0213F5            LJMP    ?C0119?KB_PROCESS
+001309 0213F5            LJMP    ?C0119?KB_PROCESS
+  403: 		{		
+  404: 			case HID_KEY_NUM_LOCK:
+00130C         ?C0090?KB_PROCESS:
+  405: 				if(state & 1)
+00130C EF                MOV     A,R7
+00130D 30E031            JNB     ACC.0,?C0091?KB_PROCESS
+  406: 				{
+  407: 					if(g_variable.key_numlock_open_flag != 0x81) 
+001310 904CF8            MOV     DPTR,#g_variable+039H
+001313 E0                MOVX    A,@DPTR
+001314 6481              XRL     A,#081H
+001316 600B              JZ      ?C0092?KB_PROCESS
+  408: 					{	
+  409: 						g_variable.key_numlock_open_flag = 0x81;
+001318 7481              MOV     A,#081H
+00131A F0                MOVX    @DPTR,A
+  410: 						g_variable.sys_numlockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
+00131B 904CE6            MOV     DPTR,#g_variable+027H
+00131E 7418              MOV     A,#018H
+001320 F0                MOVX    @DPTR,A
+  411: 					}
+001321 800B              SJMP    ?C0093?KB_PROCESS
+001323         ?C0092?KB_PROCESS:
+  412: 					else
+  413: 					{
+  414: 						g_variable.key_numlock_open_flag = 0x80;
+001323 904CF8            MOV     DPTR,#g_variable+039H
+001326 7480              MOV     A,#080H
+001328 F0                MOVX    @DPTR,A
+  415: 						g_variable.sys_numlockled_on_timer = 0;
+001329 E4                CLR     A
+00132A 904CE6            MOV     DPTR,#g_variable+027H
+00132D F0                MOVX    @DPTR,A
+  416: 					}	
+00132E         ?C0093?KB_PROCESS:
+  417: 
+  418: 					IIC_WriteBlock(EEPROM_RECON_INFO_NUMLOCK_STATUS ,1 ,(byte *)&g_variable.key_numlock_open_flag);
+00132E 7B01              MOV     R3,#01H
+001330 7A4C              MOV     R2,#HIGH g_variable+039H
+001332 79F8              MOV     R1,#LOW g_variable+039H
+001334 7D01              MOV     R5,#01H
+001336 7C00              MOV     R4,#00H
+001338 7FF9              MOV     R7,#0F9H
+00133A 7E3F              MOV     R6,#03FH
+00133C 120860            LCALL   _IIC_WriteBlock
+  419: 				}
+00133F 8147              AJMP    ?C0089?KB_PROCESS
+001341         ?C0091?KB_PROCESS:
+  420: 				else
+  421: 					g_variable.key_special_release_flag = 1;
+001341 904CF9            MOV     DPTR,#g_variable+03AH
+001344 7401              MOV     A,#01H
 001346 F0                MOVX    @DPTR,A
-  423: 				}
-  424: 				break;
-001347 61FA              AJMP    ?C0089?KB_PROCESS
-  425: 			case HID_KEY_KP_8:
-001349         ?C0097?KB_PROCESS:
-  426: 				if(g_variable.key_numlock_open_flag == 0x80) 
+  422: 				break;
+001347 8147              AJMP    ?C0089?KB_PROCESS
+  423: 			case HID_KEY_KP_7:
+001349         ?C0095?KB_PROCESS:
+  424: 				if(g_variable.key_numlock_open_flag == 0x80) 
 001349 904CF8            MOV     DPTR,#g_variable+039H
 00134C E0                MOVX    A,@DPTR
-00134D 6480              XRL     A,#080H
-00134F 6002              JZ      $ + 4H
-001351 61FA              AJMP    ?C0089?KB_PROCESS
-  427: 				{
-  428: 					temp = HID_KEY_F2;
-001353 904E97            MOV     DPTR,#temp
-001356 743B              MOV     A,#03BH
-001358 F0                MOVX    @DPTR,A
-  429: 				}
+00134D B48008            CJNE    A,#080H,?C0096?KB_PROCESS
+  425: 				{
+  426: 					temp = HID_KEY_F1;
+001350 904E97            MOV     DPTR,#temp
+001353 743A              MOV     A,#03AH
+001355 F0                MOVX    @DPTR,A
+  427: 				}
+001356 8147              AJMP    ?C0089?KB_PROCESS
+001358         ?C0096?KB_PROCESS:
+  428: 				else
+  429: 					g_variable.key_numlock_flag_send = 1;
+001358 904CFB            MOV     DPTR,#g_variable+03CH
+00135B 7401              MOV     A,#01H
+00135D F0                MOVX    @DPTR,A
   430: 				break;
-001359 61FA              AJMP    ?C0089?KB_PROCESS
-  431: 			case HID_KEY_KP_9:
-00135B         ?C0099?KB_PROCESS:
+00135E 8147              AJMP    ?C0089?KB_PROCESS
+  431: 			case HID_KEY_KP_8:
+001360         ?C0098?KB_PROCESS:
   432: 				if(g_variable.key_numlock_open_flag == 0x80) 
-00135B 904CF8            MOV     DPTR,#g_variable+039H
-00135E E0                MOVX    A,@DPTR
-00135F 6480              XRL     A,#080H
-001361 6002              JZ      $ + 4H
-001363 61FA              AJMP    ?C0089?KB_PROCESS
+001360 904CF8            MOV     DPTR,#g_variable+039H
+001363 E0                MOVX    A,@DPTR
+001364 B48008            CJNE    A,#080H,?C0099?KB_PROCESS
   433: 				{
-  434: 					temp = HID_KEY_F3;
-001365 904E97            MOV     DPTR,#temp
-001368 743C              MOV     A,#03CH
-00136A F0                MOVX    @DPTR,A
+  434: 					temp = HID_KEY_F2;
+001367 904E97            MOV     DPTR,#temp
+00136A 743B              MOV     A,#03BH
+00136C F0                MOVX    @DPTR,A
   435: 				}
-  436: 				break;
-00136B 61FA              AJMP    ?C0089?KB_PROCESS
-  437: 			case HID_KEY_KP_MINUS:
-00136D         ?C0101?KB_PROCESS:
-  438: 				if(g_variable.key_numlock_open_flag == 0x80) 
-00136D 904CF8            MOV     DPTR,#g_variable+039H
-001370 E0                MOVX    A,@DPTR
-001371 6480              XRL     A,#080H
-001373 6002              JZ      $ + 4H
-001375 61FA              AJMP    ?C0089?KB_PROCESS
-  439: 				{
-  440: 					temp = HID_KEY_F4;
-001377 904E97            MOV     DPTR,#temp
-00137A 743D              MOV     A,#03DH
-00137C F0                MOVX    @DPTR,A
-  441: 				}
-  442: 				break;	
-00137D 807B              SJMP    ?C0089?KB_PROCESS
-  443: 			case HID_KEY_KP_4:
-00137F         ?C0103?KB_PROCESS:
-  444: 				if(g_variable.key_numlock_open_flag == 0x80) 
-00137F 904CF8            MOV     DPTR,#g_variable+039H
-001382 E0                MOVX    A,@DPTR
-001383 6480              XRL     A,#080H
-001385 7073              JNZ     ?C0089?KB_PROCESS
-  445: 				{
-  446: 					temp = HID_KEY_F5;
-001387 904E97            MOV     DPTR,#temp
-00138A 743E              MOV     A,#03EH
-00138C F0                MOVX    @DPTR,A
-  447: 				}
-  448: 				break;
-00138D 806B              SJMP    ?C0089?KB_PROCESS
-  449: 			case HID_KEY_KP_5:
-00138F         ?C0105?KB_PROCESS:
-  450: 				if(g_variable.key_numlock_open_flag == 0x80) 
-00138F 904CF8            MOV     DPTR,#g_variable+039H
-001392 E0                MOVX    A,@DPTR
-001393 6480              XRL     A,#080H
-001395 7063              JNZ     ?C0089?KB_PROCESS
-  451: 				{
-  452: 					temp = HID_KEY_F6;
-001397 904E97            MOV     DPTR,#temp
-00139A 743F              MOV     A,#03FH
-00139C F0                MOVX    @DPTR,A
-  453: 				}
-  454: 				break;	
-00139D 805B              SJMP    ?C0089?KB_PROCESS
-  455: 			case HID_KEY_KP_6:
-00139F         ?C0107?KB_PROCESS:
-  456: 				if(g_variable.key_numlock_open_flag == 0x80)  
-00139F 904CF8            MOV     DPTR,#g_variable+039H
-0013A2 E0                MOVX    A,@DPTR
-0013A3 6480              XRL     A,#080H
-0013A5 7053              JNZ     ?C0089?KB_PROCESS
-  457: 				{
-  458: 					temp = HID_KEY_F7;
+00136D 8147              AJMP    ?C0089?KB_PROCESS
+00136F         ?C0099?KB_PROCESS:
+  436: 				else
+  437: 					g_variable.key_numlock_flag_send = 1;
+00136F 904CFB            MOV     DPTR,#g_variable+03CH
+001372 7401              MOV     A,#01H
+001374 F0                MOVX    @DPTR,A
+  438: 				break;
+001375 8147              AJMP    ?C0089?KB_PROCESS
+  439: 			case HID_KEY_KP_9:
+001377         ?C0101?KB_PROCESS:
+  440: 				if(g_variable.key_numlock_open_flag == 0x80) 
+001377 904CF8            MOV     DPTR,#g_variable+039H
+00137A E0                MOVX    A,@DPTR
+00137B B48008            CJNE    A,#080H,?C0102?KB_PROCESS
+  441: 				{
+  442: 					temp = HID_KEY_F3;
+00137E 904E97            MOV     DPTR,#temp
+001381 743C              MOV     A,#03CH
+001383 F0                MOVX    @DPTR,A
+  443: 				}
+001384 8147              AJMP    ?C0089?KB_PROCESS
+001386         ?C0102?KB_PROCESS:
+  444: 				else
+  445: 					g_variable.key_numlock_flag_send = 1;
+001386 904CFB            MOV     DPTR,#g_variable+03CH
+001389 7401              MOV     A,#01H
+00138B F0                MOVX    @DPTR,A
+  446: 				break;
+00138C 8147              AJMP    ?C0089?KB_PROCESS
+  447: 			case HID_KEY_KP_MINUS:
+00138E         ?C0104?KB_PROCESS:
+  448: 				if(g_variable.key_numlock_open_flag == 0x80) 
+00138E 904CF8            MOV     DPTR,#g_variable+039H
+001391 E0                MOVX    A,@DPTR
+001392 6480              XRL     A,#080H
+001394 6002              JZ      $ + 4H
+001396 8147              AJMP    ?C0089?KB_PROCESS
+  449: 				{
+  450: 					temp = HID_KEY_F4;
+001398 904E97            MOV     DPTR,#temp
+00139B 743D              MOV     A,#03DH
+00139D F0                MOVX    @DPTR,A
+  451: 				}
+  452: 				break;	
+00139E 8147              AJMP    ?C0089?KB_PROCESS
+  453: 			case HID_KEY_KP_4:
+0013A0         ?C0106?KB_PROCESS:
+  454: 				if(g_variable.key_numlock_open_flag == 0x80) 
+0013A0 904CF8            MOV     DPTR,#g_variable+039H
+0013A3 E0                MOVX    A,@DPTR
+0013A4 B48008            CJNE    A,#080H,?C0107?KB_PROCESS
+  455: 				{
+  456: 					temp = HID_KEY_F5;
 0013A7 904E97            MOV     DPTR,#temp
-0013AA 7440              MOV     A,#040H
+0013AA 743E              MOV     A,#03EH
 0013AC F0                MOVX    @DPTR,A
-  459: 				}
+  457: 				}
+0013AD 8147              AJMP    ?C0089?KB_PROCESS
+0013AF         ?C0107?KB_PROCESS:
+  458: 				else
+  459: 					g_variable.key_numlock_flag_send = 1;
+0013AF 904CFB            MOV     DPTR,#g_variable+03CH
+0013B2 7401              MOV     A,#01H
+0013B4 F0                MOVX    @DPTR,A
   460: 				break;
-0013AD 804B              SJMP    ?C0089?KB_PROCESS
-  461: 			case HID_KEY_KP_PLUS:
-0013AF         ?C0109?KB_PROCESS:
+0013B5 8147              AJMP    ?C0089?KB_PROCESS
+  461: 			case HID_KEY_KP_5:
+0013B7         ?C0109?KB_PROCESS:
   462: 				if(g_variable.key_numlock_open_flag == 0x80) 
-0013AF 904CF8            MOV     DPTR,#g_variable+039H
-0013B2 E0                MOVX    A,@DPTR
-0013B3 6480              XRL     A,#080H
-0013B5 7043              JNZ     ?C0089?KB_PROCESS
+0013B7 904CF8            MOV     DPTR,#g_variable+039H
+0013BA E0                MOVX    A,@DPTR
+0013BB B48008            CJNE    A,#080H,?C0110?KB_PROCESS
   463: 				{
-  464: 					temp = HID_KEY_F8;
-0013B7 904E97            MOV     DPTR,#temp
-0013BA 7441              MOV     A,#041H
-0013BC F0                MOVX    @DPTR,A
+  464: 					temp = HID_KEY_F6;
+0013BE 904E97            MOV     DPTR,#temp
+0013C1 743F              MOV     A,#03FH
+0013C3 F0                MOVX    @DPTR,A
   465: 				}
-  466: 				break;	
-0013BD 803B              SJMP    ?C0089?KB_PROCESS
-  467: 			case HID_KEY_KP_2:
-0013BF         ?C0111?KB_PROCESS:
-  468: 				if(g_variable.key_numlock_open_flag == 0x80) 
-0013BF 904CF8            MOV     DPTR,#g_variable+039H
-0013C2 E0                MOVX    A,@DPTR
-0013C3 6480              XRL     A,#080H
-0013C5 7033              JNZ     ?C0089?KB_PROCESS
-  469: 				{
-  470: 					temp = HID_KEY_F11;
-0013C7 904E97            MOV     DPTR,#temp
-0013CA 7444              MOV     A,#044H
-0013CC F0                MOVX    @DPTR,A
-  471: 				}
-  472: 				break;
-0013CD 802B              SJMP    ?C0089?KB_PROCESS
-  473: 			case HID_KEY_KP_3:
-0013CF         ?C0113?KB_PROCESS:
-  474: 				if(g_variable.key_numlock_open_flag == 0x80) 
-0013CF 904CF8            MOV     DPTR,#g_variable+039H
-0013D2 E0                MOVX    A,@DPTR
-0013D3 B48024            CJNE    A,#080H,?C0089?KB_PROCESS
-  475: 				{
-  476: 					temp = HID_KEY_F12;
-0013D6 904E97            MOV     DPTR,#temp
-0013D9 7445              MOV     A,#045H
-0013DB F0                MOVX    @DPTR,A
-  477: 				}
-  478: 				break;
-0013DC 801C              SJMP    ?C0089?KB_PROCESS
-  479: 			case HID_KEY_EQUAL:
-0013DE         ?C0115?KB_PROCESS:
-  480: 				if(g_variable.key_numlock_open_flag == 0x80) 
-0013DE 904CF8            MOV     DPTR,#g_variable+039H
-0013E1 E0                MOVX    A,@DPTR
-0013E2 B48015            CJNE    A,#080H,?C0089?KB_PROCESS
-  481: 				{
-  482: 					temp = HID_KEY_F9;
-0013E5 904E97            MOV     DPTR,#temp
-0013E8 7442              MOV     A,#042H
-0013EA F0                MOVX    @DPTR,A
-  483: 				}
-  484: 				break;
-0013EB 800D              SJMP    ?C0089?KB_PROCESS
-  485: 			case HID_KEY_KP_SLASH:
-0013ED         ?C0117?KB_PROCESS:
-  486: 				if(g_variable.key_numlock_open_flag == 0x80) 
-0013ED 904CF8            MOV     DPTR,#g_variable+039H
-0013F0 E0                MOVX    A,@DPTR
-0013F1 B48006            CJNE    A,#080H,?C0089?KB_PROCESS
-  487: 				{
-  488: 					temp = HID_KEY_F10;
-0013F4 904E97            MOV     DPTR,#temp
-0013F7 7443              MOV     A,#043H
-0013F9 F0                MOVX    @DPTR,A
-  489: 				}
-  490: 				break;		
-  491: 			default :
-  492: 				break;
-  493: 		}
-0013FA         ?C0089?KB_PROCESS:
-  494: 
-  495: 	}
-  496: 	return temp;
-0013FA 904E97            MOV     DPTR,#temp
-0013FD E0                MOVX    A,@DPTR
-0013FE FF                MOV     R7,A
-  497: }
-0013FF 22                RET     
+0013C4 8147              AJMP    ?C0089?KB_PROCESS
+0013C6         ?C0110?KB_PROCESS:
+  466: 				else
+  467: 					g_variable.key_numlock_flag_send = 1;
+0013C6 904CFB            MOV     DPTR,#g_variable+03CH
+0013C9 7401              MOV     A,#01H
+0013CB F0                MOVX    @DPTR,A
+  468: 				break;	
+0013CC 8079              SJMP    ?C0089?KB_PROCESS
+  469: 			case HID_KEY_KP_6:
+0013CE         ?C0112?KB_PROCESS:
+  470: 				if(g_variable.key_numlock_open_flag == 0x80)  
+0013CE 904CF8            MOV     DPTR,#g_variable+039H
+0013D1 E0                MOVX    A,@DPTR
+0013D2 B48008            CJNE    A,#080H,?C0113?KB_PROCESS
+  471: 				{
+  472: 					temp = HID_KEY_F7;
+0013D5 904E97            MOV     DPTR,#temp
+0013D8 7440              MOV     A,#040H
+0013DA F0                MOVX    @DPTR,A
+  473: 				}
+0013DB 806A              SJMP    ?C0089?KB_PROCESS
+0013DD         ?C0113?KB_PROCESS:
+  474: 				else
+  475: 					g_variable.key_numlock_flag_send = 1;
+0013DD 904CFB            MOV     DPTR,#g_variable+03CH
+0013E0 7401              MOV     A,#01H
+0013E2 F0                MOVX    @DPTR,A
+  476: 				break;
+0013E3 8062              SJMP    ?C0089?KB_PROCESS
+  477: 			case HID_KEY_KP_PLUS:
+0013E5         ?C0115?KB_PROCESS:
+  478: 				if(g_variable.key_numlock_open_flag == 0x80) 
+0013E5 904CF8            MOV     DPTR,#g_variable+039H
+0013E8 E0                MOVX    A,@DPTR
+0013E9 6480              XRL     A,#080H
+0013EB 705A              JNZ     ?C0089?KB_PROCESS
+  479: 				{
+  480: 					temp = HID_KEY_F8;
+0013ED 904E97            MOV     DPTR,#temp
+0013F0 7441              MOV     A,#041H
+0013F2 F0                MOVX    @DPTR,A
+  481: 				}
+  482: 				break;
+0013F3 8052              SJMP    ?C0089?KB_PROCESS
+  483: 			case HID_KEY_KP_1:
+  484: 			case HID_KEY_KP_0:
+  485: 			case HID_KEY_KP_DEL:
+0013F5         ?C0119?KB_PROCESS:
+  486: 					g_variable.key_numlock_flag_send = 1;
+0013F5 904CFB            MOV     DPTR,#g_variable+03CH
+0013F8 7401              MOV     A,#01H
+0013FA F0                MOVX    @DPTR,A
+  487: 				break;	
+0013FB 804A              SJMP    ?C0089?KB_PROCESS
+  488: 			case HID_KEY_KP_2:
+0013FD         ?C0120?KB_PROCESS:
+  489: 				if(g_variable.key_numlock_open_flag == 0x80) 
+0013FD 904CF8            MOV     DPTR,#g_variable+039H
+001400 E0                MOVX    A,@DPTR
+001401 B48008            CJNE    A,#080H,?C0121?KB_PROCESS
+  490: 				{
+  491: 					temp = HID_KEY_F11;
+001404 904E97            MOV     DPTR,#temp
+001407 7444              MOV     A,#044H
+001409 F0                MOVX    @DPTR,A
+  492: 				}
+00140A 803B              SJMP    ?C0089?KB_PROCESS
+00140C         ?C0121?KB_PROCESS:
+  493: 				else
+  494: 					g_variable.key_numlock_flag_send = 1;
+00140C 904CFB            MOV     DPTR,#g_variable+03CH
+00140F 7401              MOV     A,#01H
+001411 F0                MOVX    @DPTR,A
+  495: 				break;
+001412 8033              SJMP    ?C0089?KB_PROCESS
+  496: 			case HID_KEY_KP_3:
+001414         ?C0123?KB_PROCESS:
+  497: 				if(g_variable.key_numlock_open_flag == 0x80) 
+001414 904CF8            MOV     DPTR,#g_variable+039H
+001417 E0                MOVX    A,@DPTR
+001418 B48008            CJNE    A,#080H,?C0124?KB_PROCESS
+  498: 				{
+  499: 					temp = HID_KEY_F12;
+00141B 904E97            MOV     DPTR,#temp
+00141E 7445              MOV     A,#045H
+001420 F0                MOVX    @DPTR,A
+  500: 				}
+001421 8024              SJMP    ?C0089?KB_PROCESS
+001423         ?C0124?KB_PROCESS:
+  501: 				else
+  502: 					g_variable.key_numlock_flag_send = 1;
+001423 904CFB            MOV     DPTR,#g_variable+03CH
+001426 7401              MOV     A,#01H
+001428 F0                MOVX    @DPTR,A
+  503: 				break;
+001429 801C              SJMP    ?C0089?KB_PROCESS
+  504: 			case HID_KEY_EQUAL:
+00142B         ?C0126?KB_PROCESS:
+  505: 				if(g_variable.key_numlock_open_flag == 0x80) 
+00142B 904CF8            MOV     DPTR,#g_variable+039H
+00142E E0                MOVX    A,@DPTR
+00142F B48015            CJNE    A,#080H,?C0089?KB_PROCESS
+  506: 				{
+  507: 					temp = HID_KEY_F9;
+001432 904E97            MOV     DPTR,#temp
+001435 7442              MOV     A,#042H
+001437 F0                MOVX    @DPTR,A
+  508: 				}
+  509: 				break;
+001438 800D              SJMP    ?C0089?KB_PROCESS
+  510: 			case HID_KEY_KP_SLASH:
+00143A         ?C0128?KB_PROCESS:
+  511: 				if(g_variable.key_numlock_open_flag == 0x80) 
+00143A 904CF8            MOV     DPTR,#g_variable+039H
+00143D E0                MOVX    A,@DPTR
+00143E B48006            CJNE    A,#080H,?C0089?KB_PROCESS
+  512: 				{
+  513: 					temp = HID_KEY_F10;
+001441 904E97            MOV     DPTR,#temp
+001444 7443              MOV     A,#043H
+001446 F0                MOVX    @DPTR,A
+  514: 				}
+  515: 				break;	
+  516: 			
+  517: 			default :
+  518: 				break;
+  519: 		}
+001447         ?C0089?KB_PROCESS:
+  520: 
+  521: 	}
+  522: 	return temp;
+001447 904E97            MOV     DPTR,#temp
+00144A E0                MOVX    A,@DPTR
+00144B FF                MOV     R7,A
+  523: }
+00144C 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
@@ -3973,439 +4044,439 @@
   301: {
   302: 	//
   303: 	byte i = 0;
-001400 E4                CLR     A
-001401 904E25            MOV     DPTR,#i
-001404 F0                MOVX    @DPTR,A
+00144D E4                CLR     A
+00144E 904E25            MOV     DPTR,#i
+001451 F0                MOVX    @DPTR,A
   304: 	byte j = 0;
-001405 A3                INC     DPTR
-001406 F0                MOVX    @DPTR,A
+001452 A3                INC     DPTR
+001453 F0                MOVX    @DPTR,A
   305: 	byte temp = 0;
-001407 A3                INC     DPTR
-001408 F0                MOVX    @DPTR,A
+001454 A3                INC     DPTR
+001455 F0                MOVX    @DPTR,A
   306: 	byte flag = 0;
-001409 A3                INC     DPTR
-00140A F0                MOVX    @DPTR,A
+001456 A3                INC     DPTR
+001457 F0                MOVX    @DPTR,A
   307: 	byte offset = 0;
-00140B A3                INC     DPTR
-00140C F0                MOVX    @DPTR,A
+001458 A3                INC     DPTR
+001459 F0                MOVX    @DPTR,A
   308: 	byte state = 0;
-00140D A3                INC     DPTR
-00140E F0                MOVX    @DPTR,A
+00145A A3                INC     DPTR
+00145B F0                MOVX    @DPTR,A
   309: 	byte colCounttemp = 0;
-00140F A3                INC     DPTR
-001410 F0                MOVX    @DPTR,A
+00145C A3                INC     DPTR
+00145D F0                MOVX    @DPTR,A
   310: 	byte rawSel =0;
-001411 A3                INC     DPTR
-001412 F0                MOVX    @DPTR,A
+00145E A3                INC     DPTR
+00145F F0                MOVX    @DPTR,A
   311: 	byte keyCounttemp = 0;
-001413 A3                INC     DPTR
-001414 F0                MOVX    @DPTR,A
+001460 A3                INC     DPTR
+001461 F0                MOVX    @DPTR,A
   312: 	byte key_value_temp = 0;
-001415 A3                INC     DPTR
-001416 F0                MOVX    @DPTR,A
+001462 A3                INC     DPTR
+001463 F0                MOVX    @DPTR,A
   313: 	byte ghost = 0;
-001417 A3                INC     DPTR
-001418 F0                MOVX    @DPTR,A
+001464 A3                INC     DPTR
+001465 F0                MOVX    @DPTR,A
   314: 	byte rawCount = 0;
-001419 A3                INC     DPTR
-00141A F0                MOVX    @DPTR,A
+001466 A3                INC     DPTR
+001467 F0                MOVX    @DPTR,A
   315: 	byte colCount = 0;
-00141B A3                INC     DPTR
-00141C F0                MOVX    @DPTR,A
+001468 A3                INC     DPTR
+001469 F0                MOVX    @DPTR,A
   316: 
   317: 	
   318: 	KS_ScanMatrix();
-00141D 121844            LCALL   KS_ScanMatrix
+00146A F1EF              ACALL   KS_ScanMatrix
   319: 
   320: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
-001420 7A4D              MOV     R2,#HIGH ksSelMapCheck
-001422 79A8              MOV     R1,#LOW ksSelMapCheck
-001424 904E4D            MOV     DPTR,#?_compare_str?BYTE+03H
-001427 7401              MOV     A,#01H
-001429 F0                MOVX    @DPTR,A
-00142A A3                INC     DPTR
-00142B 744D              MOV     A,#HIGH ksSelMapCheck
-00142D F0                MOVX    @DPTR,A
-00142E A3                INC     DPTR
-00142F 74A8              MOV     A,#LOW ksSelMapCheck
-001431 F0                MOVX    @DPTR,A
-001432 A3                INC     DPTR
-001433 7414              MOV     A,#014H
-001435 F0                MOVX    @DPTR,A
-001436 7B01              MOV     R3,#01H
-001438 7A4D              MOV     R2,#HIGH ksSelMapCurr
-00143A 79BC              MOV     R1,#LOW ksSelMapCurr
-00143C D13B              ACALL   _compare_str
-00143E EF                MOV     A,R7
-00143F 6016              JZ      ?C0059?KEYSCAN
-001441 7B01              MOV     R3,#01H
-001443 7A4D              MOV     R2,#HIGH ksSelMapCurr
-001445 79BC              MOV     R1,#LOW ksSelMapCurr
-001447 7D14              MOV     R5,#014H
-001449 D10B              ACALL   _array_is_empty
-00144B EF                MOV     A,R7
-00144C 7009              JNZ     ?C0059?KEYSCAN
+00146C 7A4D              MOV     R2,#HIGH ksSelMapCheck
+00146E 79A8              MOV     R1,#LOW ksSelMapCheck
+001470 904E4D            MOV     DPTR,#?_compare_str?BYTE+03H
+001473 7401              MOV     A,#01H
+001475 F0                MOVX    @DPTR,A
+001476 A3                INC     DPTR
+001477 744D              MOV     A,#HIGH ksSelMapCheck
+001479 F0                MOVX    @DPTR,A
+00147A A3                INC     DPTR
+00147B 74A8              MOV     A,#LOW ksSelMapCheck
+00147D F0                MOVX    @DPTR,A
+00147E A3                INC     DPTR
+00147F 7414              MOV     A,#014H
+001481 F0                MOVX    @DPTR,A
+001482 7B01              MOV     R3,#01H
+001484 7A4D              MOV     R2,#HIGH ksSelMapCurr
+001486 79BC              MOV     R1,#LOW ksSelMapCurr
+001488 D187              ACALL   _compare_str
+00148A EF                MOV     A,R7
+00148B 6016              JZ      ?C0059?KEYSCAN
+00148D 7B01              MOV     R3,#01H
+00148F 7A4D              MOV     R2,#HIGH ksSelMapCurr
+001491 79BC              MOV     R1,#LOW ksSelMapCurr
+001493 7D14              MOV     R5,#014H
+001495 D157              ACALL   _array_is_empty
+001497 EF                MOV     A,R7
+001498 7009              JNZ     ?C0059?KEYSCAN
   321: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
   322: 	{
   323: 		g_variable.button_flag |= 0x02;
-00144E 904CCE            MOV     DPTR,#g_variable+0FH
-001451 E0                MOVX    A,@DPTR
-001452 4402              ORL     A,#02H
-001454 F0                MOVX    @DPTR,A
+00149A 904CCE            MOV     DPTR,#g_variable+0FH
+00149D E0                MOVX    A,@DPTR
+00149E 4402              ORL     A,#02H
+0014A0 F0                MOVX    @DPTR,A
   324: 	}
-001455 800C              SJMP    ?C0060?KEYSCAN
-001457         ?C0059?KEYSCAN:
+0014A1 800C              SJMP    ?C0060?KEYSCAN
+0014A3         ?C0059?KEYSCAN:
   325: 	else
   326: 	{	
   327: 		g_variable.button_flag &= 0xFD;
-001457 904CCE            MOV     DPTR,#g_variable+0FH
-00145A E0                MOVX    A,@DPTR
-00145B 54FD              ANL     A,#0FDH
-00145D F0                MOVX    @DPTR,A
+0014A3 904CCE            MOV     DPTR,#g_variable+0FH
+0014A6 E0                MOVX    A,@DPTR
+0014A7 54FD              ANL     A,#0FDH
+0014A9 F0                MOVX    @DPTR,A
   328: 		g_variable.button_timer[1] = 0;
-00145E E4                CLR     A
-00145F 904CD0            MOV     DPTR,#g_variable+011H
-001462 F0                MOVX    @DPTR,A
+0014AA E4                CLR     A
+0014AB 904CD0            MOV     DPTR,#g_variable+011H
+0014AE F0                MOVX    @DPTR,A
   329: 	}
-001463         ?C0060?KEYSCAN:
+0014AF         ?C0060?KEYSCAN:
   330: 
   331: 	for (i=0; col[i]!=0; i++) {
-001463 E4                CLR     A
-001464 904E25            MOV     DPTR,#i
-001467 F0                MOVX    @DPTR,A
-001468         ?C0061?KEYSCAN:
-001468 904E25            MOV     DPTR,#i
-00146B E0                MOVX    A,@DPTR
-00146C FF                MOV     R7,A
-00146D 900225            MOV     DPTR,#col
-001470 93                MOVC    A,@A+DPTR
-001471 602F              JZ      ?C0062?KEYSCAN
+0014AF E4                CLR     A
+0014B0 904E25            MOV     DPTR,#i
+0014B3 F0                MOVX    @DPTR,A
+0014B4         ?C0061?KEYSCAN:
+0014B4 904E25            MOV     DPTR,#i
+0014B7 E0                MOVX    A,@DPTR
+0014B8 FF                MOV     R7,A
+0014B9 900225            MOV     DPTR,#col
+0014BC 93                MOVC    A,@A+DPTR
+0014BD 602F              JZ      ?C0062?KEYSCAN
   332: 		temp = ksSelMapCurr[i];
-001473 74BC              MOV     A,#LOW ksSelMapCurr
-001475 2F                ADD     A,R7
-001476 F582              MOV     DPL,A
-001478 E4                CLR     A
-001479 344D              ADDC    A,#HIGH ksSelMapCurr
-00147B F583              MOV     DPH,A
-00147D E0                MOVX    A,@DPTR
-00147E 904E27            MOV     DPTR,#temp
-001481 F0                MOVX    @DPTR,A
+0014BF 74BC              MOV     A,#LOW ksSelMapCurr
+0014C1 2F                ADD     A,R7
+0014C2 F582              MOV     DPL,A
+0014C4 E4                CLR     A
+0014C5 344D              ADDC    A,#HIGH ksSelMapCurr
+0014C7 F583              MOV     DPH,A
+0014C9 E0                MOVX    A,@DPTR
+0014CA 904E27            MOV     DPTR,#temp
+0014CD F0                MOVX    @DPTR,A
   333: 		if (temp!=0) {
-001482 E0                MOVX    A,@DPTR
-001483 FD                MOV     R5,A
-001484 6014              JZ      ?C0063?KEYSCAN
+0014CE E0                MOVX    A,@DPTR
+0014CF FD                MOV     R5,A
+0014D0 6014              JZ      ?C0063?KEYSCAN
   334: 			colCounttemp++;
-001486 904E2B            MOV     DPTR,#colCounttemp
-001489 E0                MOVX    A,@DPTR
-00148A 04                INC     A
-00148B F0                MOVX    @DPTR,A
+0014D2 904E2B            MOV     DPTR,#colCounttemp
+0014D5 E0                MOVX    A,@DPTR
+0014D6 04                INC     A
+0014D7 F0                MOVX    @DPTR,A
   335: 			rawSel = temp|rawSel;
-00148C A3                INC     DPTR
-00148D E0                MOVX    A,@DPTR
-00148E FE                MOV     R6,A
-00148F ED                MOV     A,R5
-001490 4E                ORL     A,R6
-001491 F0                MOVX    @DPTR,A
+0014D8 A3                INC     DPTR
+0014D9 E0                MOVX    A,@DPTR
+0014DA FE                MOV     R6,A
+0014DB ED                MOV     A,R5
+0014DC 4E                ORL     A,R6
+0014DD F0                MOVX    @DPTR,A
   336: 			keyCounttemp += bit_count(temp);
-001492 AF05              MOV     R7,AR5
-001494 B1FD              ACALL   _bit_count
-001496 A3                INC     DPTR
-001497 E0                MOVX    A,@DPTR
-001498 2F                ADD     A,R7
-001499 F0                MOVX    @DPTR,A
+0014DE AF05              MOV     R7,AR5
+0014E0 D149              ACALL   _bit_count
+0014E2 A3                INC     DPTR
+0014E3 E0                MOVX    A,@DPTR
+0014E4 2F                ADD     A,R7
+0014E5 F0                MOVX    @DPTR,A
   337: 		}
   338: 	}
-00149A         ?C0063?KEYSCAN:
-00149A 904E25            MOV     DPTR,#i
-00149D E0                MOVX    A,@DPTR
-00149E 04                INC     A
-00149F F0                MOVX    @DPTR,A
-0014A0 80C6              SJMP    ?C0061?KEYSCAN
-0014A2         ?C0062?KEYSCAN:
+0014E6         ?C0063?KEYSCAN:
+0014E6 904E25            MOV     DPTR,#i
+0014E9 E0                MOVX    A,@DPTR
+0014EA 04                INC     A
+0014EB F0                MOVX    @DPTR,A
+0014EC 80C6              SJMP    ?C0061?KEYSCAN
+0014EE         ?C0062?KEYSCAN:
   339: 	keyCount = keyCounttemp;
-0014A2 904E2D            MOV     DPTR,#keyCounttemp
-0014A5 E0                MOVX    A,@DPTR
-0014A6 904DDE            MOV     DPTR,#keyCount
-0014A9 F0                MOVX    @DPTR,A
+0014EE 904E2D            MOV     DPTR,#keyCounttemp
+0014F1 E0                MOVX    A,@DPTR
+0014F2 904DDE            MOV     DPTR,#keyCount
+0014F5 F0                MOVX    @DPTR,A
   340: 	colCount = colCounttemp;
-0014AA 904E2B            MOV     DPTR,#colCounttemp
-0014AD E0                MOVX    A,@DPTR
-0014AE 904E31            MOV     DPTR,#colCount
-0014B1 F0                MOVX    @DPTR,A
+0014F6 904E2B            MOV     DPTR,#colCounttemp
+0014F9 E0                MOVX    A,@DPTR
+0014FA 904E31            MOV     DPTR,#colCount
+0014FD F0                MOVX    @DPTR,A
   341: 	rawCount = bit_count(rawSel);
-0014B2 904E2C            MOV     DPTR,#rawSel
-0014B5 E0                MOVX    A,@DPTR
-0014B6 FF                MOV     R7,A
-0014B7 B1FD              ACALL   _bit_count
-0014B9 904E30            MOV     DPTR,#rawCount
-0014BC EF                MOV     A,R7
-0014BD F0                MOVX    @DPTR,A
+0014FE 904E2C            MOV     DPTR,#rawSel
+001501 E0                MOVX    A,@DPTR
+001502 FF                MOV     R7,A
+001503 D149              ACALL   _bit_count
+001505 904E30            MOV     DPTR,#rawCount
+001508 EF                MOV     A,R7
+001509 F0                MOVX    @DPTR,A
   342: 	if (keyCount >2 && keyCount > MAX(colCount, rawCount)) {
-0014BE 904DDE            MOV     DPTR,#keyCount
-0014C1 E0                MOVX    A,@DPTR
-0014C2 D3                SETB    C
-0014C3 9402              SUBB    A,#02H
-0014C5 4020              JC      ?C0065?KEYSCAN
-0014C7 904E30            MOV     DPTR,#rawCount
-0014CA E0                MOVX    A,@DPTR
-0014CB FF                MOV     R7,A
-0014CC A3                INC     DPTR
-0014CD E0                MOVX    A,@DPTR
-0014CE FE                MOV     R6,A
-0014CF D3                SETB    C
-0014D0 9F                SUBB    A,R7
-0014D1 4004              JC      ?C0066?KEYSCAN
-0014D3 AF06              MOV     R7,AR6
-0014D5 8000              SJMP    ?C0067?KEYSCAN
-0014D7         ?C0066?KEYSCAN:
-0014D7         ?C0067?KEYSCAN:
-0014D7 904DDE            MOV     DPTR,#keyCount
-0014DA E0                MOVX    A,@DPTR
-0014DB D3                SETB    C
-0014DC 9F                SUBB    A,R7
-0014DD 4008              JC      ?C0065?KEYSCAN
+00150A 904DDE            MOV     DPTR,#keyCount
+00150D E0                MOVX    A,@DPTR
+00150E D3                SETB    C
+00150F 9402              SUBB    A,#02H
+001511 4020              JC      ?C0065?KEYSCAN
+001513 904E30            MOV     DPTR,#rawCount
+001516 E0                MOVX    A,@DPTR
+001517 FF                MOV     R7,A
+001518 A3                INC     DPTR
+001519 E0                MOVX    A,@DPTR
+00151A FE                MOV     R6,A
+00151B D3                SETB    C
+00151C 9F                SUBB    A,R7
+00151D 4004              JC      ?C0066?KEYSCAN
+00151F AF06              MOV     R7,AR6
+001521 8000              SJMP    ?C0067?KEYSCAN
+001523         ?C0066?KEYSCAN:
+001523         ?C0067?KEYSCAN:
+001523 904DDE            MOV     DPTR,#keyCount
+001526 E0                MOVX    A,@DPTR
+001527 D3                SETB    C
+001528 9F                SUBB    A,R7
+001529 4008              JC      ?C0065?KEYSCAN
   343: 		ghost = 1;
-0014DF 904E2F            MOV     DPTR,#ghost
-0014E2 7401              MOV     A,#01H
-0014E4 F0                MOVX    @DPTR,A
+00152B 904E2F            MOV     DPTR,#ghost
+00152E 7401              MOV     A,#01H
+001530 F0                MOVX    @DPTR,A
   344: 	}
-0014E5 8005              SJMP    ?C0068?KEYSCAN
-0014E7         ?C0065?KEYSCAN:
+001531 8005              SJMP    ?C0068?KEYSCAN
+001533         ?C0065?KEYSCAN:
   345: 	else {
   346: 		ghost = 0;
-0014E7 E4                CLR     A
-0014E8 904E2F            MOV     DPTR,#ghost
-0014EB F0                MOVX    @DPTR,A
+001533 E4                CLR     A
+001534 904E2F            MOV     DPTR,#ghost
+001537 F0                MOVX    @DPTR,A
   347: 	}
-0014EC         ?C0068?KEYSCAN:
+001538         ?C0068?KEYSCAN:
   348: 	
   349: 	for (i=0; col[i]!=0; i++)
-0014EC E4                CLR     A
-0014ED 904E25            MOV     DPTR,#i
-0014F0 F0                MOVX    @DPTR,A
-0014F1         ?C0069?KEYSCAN:
-0014F1 904E25            MOV     DPTR,#i
-0014F4 E0                MOVX    A,@DPTR
-0014F5 FF                MOV     R7,A
-0014F6 900225            MOV     DPTR,#col
-0014F9 93                MOVC    A,@A+DPTR
-0014FA 7002              JNZ     $ + 4H
-0014FC A1D1              AJMP    ?C0070?KEYSCAN
+001538 E4                CLR     A
+001539 904E25            MOV     DPTR,#i
+00153C F0                MOVX    @DPTR,A
+00153D         ?C0069?KEYSCAN:
+00153D 904E25            MOV     DPTR,#i
+001540 E0                MOVX    A,@DPTR
+001541 FF                MOV     R7,A
+001542 900225            MOV     DPTR,#col
+001545 93                MOVC    A,@A+DPTR
+001546 7002              JNZ     $ + 4H
+001548 C11D              AJMP    ?C0070?KEYSCAN
   350: 	{
   351: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
-0014FE 7493              MOV     A,#LOW ksSelMapOld
-001500 2F                ADD     A,R7
-001501 F582              MOV     DPL,A
-001503 E4                CLR     A
-001504 344D              ADDC    A,#HIGH ksSelMapOld
-001506 F583              MOV     DPH,A
-001508 E0                MOVX    A,@DPTR
-001509 FE                MOV     R6,A
-00150A 74BC              MOV     A,#LOW ksSelMapCurr
-00150C 2F                ADD     A,R7
-00150D F582              MOV     DPL,A
-00150F E4                CLR     A
-001510 344D              ADDC    A,#HIGH ksSelMapCurr
-001512 F583              MOV     DPH,A
-001514 E0                MOVX    A,@DPTR
-001515 6E                XRL     A,R6
-001516 904E27            MOV     DPTR,#temp
-001519 F0                MOVX    @DPTR,A
+00154A 7493              MOV     A,#LOW ksSelMapOld
+00154C 2F                ADD     A,R7
+00154D F582              MOV     DPL,A
+00154F E4                CLR     A
+001550 344D              ADDC    A,#HIGH ksSelMapOld
+001552 F583              MOV     DPH,A
+001554 E0                MOVX    A,@DPTR
+001555 FE                MOV     R6,A
+001556 74BC              MOV     A,#LOW ksSelMapCurr
+001558 2F                ADD     A,R7
+001559 F582              MOV     DPL,A
+00155B E4                CLR     A
+00155C 344D              ADDC    A,#HIGH ksSelMapCurr
+00155E F583              MOV     DPH,A
+001560 E0                MOVX    A,@DPTR
+001561 6E                XRL     A,R6
+001562 904E27            MOV     DPTR,#temp
+001565 F0                MOVX    @DPTR,A
   352: 		state = ksSelMapCurr[i];
-00151A 904E25            MOV     DPTR,#i
-00151D E0                MOVX    A,@DPTR
-00151E FF                MOV     R7,A
-00151F 24BC              ADD     A,#LOW ksSelMapCurr
-001521 F582              MOV     DPL,A
-001523 E4                CLR     A
-001524 344D              ADDC    A,#HIGH ksSelMapCurr
-001526 F583              MOV     DPH,A
-001528 E0                MOVX    A,@DPTR
-001529 904E2A            MOV     DPTR,#state
-00152C F0                MOVX    @DPTR,A
+001566 904E25            MOV     DPTR,#i
+001569 E0                MOVX    A,@DPTR
+00156A FF                MOV     R7,A
+00156B 24BC              ADD     A,#LOW ksSelMapCurr
+00156D F582              MOV     DPL,A
+00156F E4                CLR     A
+001570 344D              ADDC    A,#HIGH ksSelMapCurr
+001572 F583              MOV     DPH,A
+001574 E0                MOVX    A,@DPTR
+001575 904E2A            MOV     DPTR,#state
+001578 F0                MOVX    @DPTR,A
   353: 		if (temp == 0) 
-00152D 904E27            MOV     DPTR,#temp
-001530 E0                MOVX    A,@DPTR
-001531 7004              JNZ     ?C0072?KEYSCAN
+001579 904E27            MOV     DPTR,#temp
+00157C E0                MOVX    A,@DPTR
+00157D 7004              JNZ     ?C0072?KEYSCAN
   354: 		{
   355: 			continue;
-001533 A1C9              AJMP    ?C0071?KEYSCAN
+00157F C115              AJMP    ?C0071?KEYSCAN
   356: 		}
-001535 A1C9              AJMP    ?C0071?KEYSCAN
-001537         ?C0072?KEYSCAN:
+001581 C115              AJMP    ?C0071?KEYSCAN
+001583         ?C0072?KEYSCAN:
   357: 		else 
   358: 		{
   359: 
   360: 			if (ghost) 
-001537 904E2F            MOV     DPTR,#ghost
-00153A E0                MOVX    A,@DPTR
-00153B 6007              JZ      ?C0074?KEYSCAN
+001583 904E2F            MOV     DPTR,#ghost
+001586 E0                MOVX    A,@DPTR
+001587 6007              JZ      ?C0074?KEYSCAN
   361: 				return NULL;
-00153D 7B00              MOV     R3,#00H
-00153F 7A00              MOV     R2,#00H
-001541 7900              MOV     R1,#00H
-001543 22                RET     
-001544         ?C0074?KEYSCAN:
+001589 7B00              MOV     R3,#00H
+00158B 7A00              MOV     R2,#00H
+00158D 7900              MOV     R1,#00H
+00158F 22                RET     
+001590         ?C0074?KEYSCAN:
   362: 			ksSelMapOld[i] = ksSelMapCurr[i];
-001544 74BC              MOV     A,#LOW ksSelMapCurr
-001546 2F                ADD     A,R7
-001547 F582              MOV     DPL,A
-001549 E4                CLR     A
-00154A 344D              ADDC    A,#HIGH ksSelMapCurr
-00154C F583              MOV     DPH,A
-00154E E0                MOVX    A,@DPTR
-00154F FE                MOV     R6,A
-001550 7493              MOV     A,#LOW ksSelMapOld
-001552 2F                ADD     A,R7
-001553 F582              MOV     DPL,A
-001555 E4                CLR     A
-001556 344D              ADDC    A,#HIGH ksSelMapOld
-001558 F583              MOV     DPH,A
-00155A EE                MOV     A,R6
-00155B F0                MOVX    @DPTR,A
+001590 74BC              MOV     A,#LOW ksSelMapCurr
+001592 2F                ADD     A,R7
+001593 F582              MOV     DPL,A
+001595 E4                CLR     A
+001596 344D              ADDC    A,#HIGH ksSelMapCurr
+001598 F583              MOV     DPH,A
+00159A E0                MOVX    A,@DPTR
+00159B FE                MOV     R6,A
+00159C 7493              MOV     A,#LOW ksSelMapOld
+00159E 2F                ADD     A,R7
+00159F F582              MOV     DPL,A
+0015A1 E4                CLR     A
+0015A2 344D              ADDC    A,#HIGH ksSelMapOld
+0015A4 F583              MOV     DPH,A
+0015A6 EE                MOV     A,R6
+0015A7 F0                MOVX    @DPTR,A
   363: 			for (j = 0 ; j<8 ; j++) 
-00155C E4                CLR     A
-00155D 904E26            MOV     DPTR,#j
-001560 F0                MOVX    @DPTR,A
-001561         ?C0076?KEYSCAN:
-001561 904E26            MOV     DPTR,#j
-001564 E0                MOVX    A,@DPTR
-001565 FF                MOV     R7,A
-001566 C3                CLR     C
-001567 9408              SUBB    A,#08H
-001569 5058              JNC     ?C0077?KEYSCAN
+0015A8 E4                CLR     A
+0015A9 904E26            MOV     DPTR,#j
+0015AC F0                MOVX    @DPTR,A
+0015AD         ?C0076?KEYSCAN:
+0015AD 904E26            MOV     DPTR,#j
+0015B0 E0                MOVX    A,@DPTR
+0015B1 FF                MOV     R7,A
+0015B2 C3                CLR     C
+0015B3 9408              SUBB    A,#08H
+0015B5 5058              JNC     ?C0077?KEYSCAN
   364: 			{
   365: 				if (temp&1)
-00156B A3                INC     DPTR
-00156C E0                MOVX    A,@DPTR
-00156D 30E03B            JNB     ACC.0,?C0079?KEYSCAN
+0015B7 A3                INC     DPTR
+0015B8 E0                MOVX    A,@DPTR
+0015B9 30E03B            JNB     ACC.0,?C0079?KEYSCAN
   366: 				{
   367: 					offset = i<<3 |j;
-001570 904E25            MOV     DPTR,#i
-001573 E0                MOVX    A,@DPTR
-001574 FE                MOV     R6,A
-001575 33                RLC     A
-001576 33                RLC     A
-001577 33                RLC     A
-001578 54F8              ANL     A,#0F8H
-00157A FE                MOV     R6,A
-00157B EF                MOV     A,R7
-00157C 4E                ORL     A,R6
-00157D 904E29            MOV     DPTR,#offset
-001580 F0                MOVX    @DPTR,A
+0015BC 904E25            MOV     DPTR,#i
+0015BF E0                MOVX    A,@DPTR
+0015C0 FE                MOV     R6,A
+0015C1 33                RLC     A
+0015C2 33                RLC     A
+0015C3 33                RLC     A
+0015C4 54F8              ANL     A,#0F8H
+0015C6 FE                MOV     R6,A
+0015C7 EF                MOV     A,R7
+0015C8 4E                ORL     A,R6
+0015C9 904E29            MOV     DPTR,#offset
+0015CC F0                MOVX    @DPTR,A
   368: 					key_value_temp = key_fn_function(state,ksMap[offset]);
-001581 A3                INC     DPTR
-001582 E0                MOVX    A,@DPTR
-001583 FF                MOV     R7,A
-001584 904E29            MOV     DPTR,#offset
-001587 E0                MOVX    A,@DPTR
-001588 90023A            MOV     DPTR,#ksMap
-00158B 93                MOVC    A,@A+DPTR
-00158C FD                MOV     R5,A
-00158D 519D              ACALL   _key_fn_function
-00158F 904E2E            MOV     DPTR,#key_value_temp
-001592 EF                MOV     A,R7
-001593 F0                MOVX    @DPTR,A
+0015CD A3                INC     DPTR
+0015CE E0                MOVX    A,@DPTR
+0015CF FF                MOV     R7,A
+0015D0 904E29            MOV     DPTR,#offset
+0015D3 E0                MOVX    A,@DPTR
+0015D4 90023A            MOV     DPTR,#ksMap
+0015D7 93                MOVC    A,@A+DPTR
+0015D8 FD                MOV     R5,A
+0015D9 51A3              ACALL   _key_fn_function
+0015DB 904E2E            MOV     DPTR,#key_value_temp
+0015DE EF                MOV     A,R7
+0015DF F0                MOVX    @DPTR,A
   369: 					if (state & 1)
-001594 904E2A            MOV     DPTR,#state
-001597 E0                MOVX    A,@DPTR
-001598 30E009            JNB     ACC.0,?C0080?KEYSCAN
+0015E0 904E2A            MOV     DPTR,#state
+0015E3 E0                MOVX    A,@DPTR
+0015E4 30E009            JNB     ACC.0,?C0080?KEYSCAN
   370: 					{
   371: 						keyIn(key_value_temp);
-00159B 904E2E            MOV     DPTR,#key_value_temp
-00159E E0                MOVX    A,@DPTR
-00159F FF                MOV     R7,A
-0015A0 D185              ACALL   _keyIn
+0015E7 904E2E            MOV     DPTR,#key_value_temp
+0015EA E0                MOVX    A,@DPTR
+0015EB FF                MOV     R7,A
+0015EC D1D1              ACALL   _keyIn
   372: 					}
-0015A2 8007              SJMP    ?C0079?KEYSCAN
-0015A4         ?C0080?KEYSCAN:
+0015EE 8007              SJMP    ?C0079?KEYSCAN
+0015F0         ?C0080?KEYSCAN:
   373: 					else
   374: 					{
   375: 						keyOut(key_value_temp);
-0015A4 904E2E            MOV     DPTR,#key_value_temp
-0015A7 E0                MOVX    A,@DPTR
-0015A8 FF                MOV     R7,A
-0015A9 D1DB              ACALL   _keyOut
+0015F0 904E2E            MOV     DPTR,#key_value_temp
+0015F3 E0                MOVX    A,@DPTR
+0015F4 FF                MOV     R7,A
+0015F5 F127              ACALL   _keyOut
   376: 					}
   377: 				}
-0015AB         ?C0079?KEYSCAN:
+0015F7         ?C0079?KEYSCAN:
   378: 				temp = temp >>1;
-0015AB 904E27            MOV     DPTR,#temp
-0015AE E0                MOVX    A,@DPTR
-0015AF FF                MOV     R7,A
-0015B0 C3                CLR     C
-0015B1 13                RRC     A
-0015B2 F0                MOVX    @DPTR,A
+0015F7 904E27            MOV     DPTR,#temp
+0015FA E0                MOVX    A,@DPTR
+0015FB FF                MOV     R7,A
+0015FC C3                CLR     C
+0015FD 13                RRC     A
+0015FE F0                MOVX    @DPTR,A
   379: 				state = state>>1;
-0015B3 904E2A            MOV     DPTR,#state
-0015B6 E0                MOVX    A,@DPTR
-0015B7 FF                MOV     R7,A
-0015B8 C3                CLR     C
-0015B9 13                RRC     A
-0015BA F0                MOVX    @DPTR,A
+0015FF 904E2A            MOV     DPTR,#state
+001602 E0                MOVX    A,@DPTR
+001603 FF                MOV     R7,A
+001604 C3                CLR     C
+001605 13                RRC     A
+001606 F0                MOVX    @DPTR,A
   380: 			}
-0015BB 904E26            MOV     DPTR,#j
-0015BE E0                MOVX    A,@DPTR
-0015BF 04                INC     A
-0015C0 F0                MOVX    @DPTR,A
-0015C1 809E              SJMP    ?C0076?KEYSCAN
-0015C3         ?C0077?KEYSCAN:
+001607 904E26            MOV     DPTR,#j
+00160A E0                MOVX    A,@DPTR
+00160B 04                INC     A
+00160C F0                MOVX    @DPTR,A
+00160D 809E              SJMP    ?C0076?KEYSCAN
+00160F         ?C0077?KEYSCAN:
   381: 			flag = 1;
-0015C3 904E28            MOV     DPTR,#flag
-0015C6 7401              MOV     A,#01H
-0015C8 F0                MOVX    @DPTR,A
+00160F 904E28            MOV     DPTR,#flag
+001612 7401              MOV     A,#01H
+001614 F0                MOVX    @DPTR,A
   382: 		}
   383: 	}
-0015C9         ?C0071?KEYSCAN:
-0015C9 904E25            MOV     DPTR,#i
-0015CC E0                MOVX    A,@DPTR
-0015CD 04                INC     A
-0015CE F0                MOVX    @DPTR,A
-0015CF 81F1              AJMP    ?C0069?KEYSCAN
-0015D1         ?C0070?KEYSCAN:
+001615         ?C0071?KEYSCAN:
+001615 904E25            MOV     DPTR,#i
+001618 E0                MOVX    A,@DPTR
+001619 04                INC     A
+00161A F0                MOVX    @DPTR,A
+00161B A13D              AJMP    ?C0069?KEYSCAN
+00161D         ?C0070?KEYSCAN:
   384: 	
   385: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
-0015D1 904DE8            MOV     DPTR,#mult_key_status
-0015D4 E0                MOVX    A,@DPTR
-0015D5 B4030A            CJNE    A,#03H,?C0082?KEYSCAN
-0015D8 904DD9            MOV     DPTR,#standard_key_release_flag
-0015DB E0                MOVX    A,@DPTR
-0015DC B40103            CJNE    A,#01H,?C0082?KEYSCAN
+00161D 904DE8            MOV     DPTR,#mult_key_status
+001620 E0                MOVX    A,@DPTR
+001621 B4030A            CJNE    A,#03H,?C0082?KEYSCAN
+001624 904DD9            MOV     DPTR,#standard_key_release_flag
+001627 E0                MOVX    A,@DPTR
+001628 B40103            CJNE    A,#01H,?C0082?KEYSCAN
   386: 	{
   387: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
-0015DF 7402              MOV     A,#02H
-0015E1 F0                MOVX    @DPTR,A
+00162B 7402              MOV     A,#02H
+00162D F0                MOVX    @DPTR,A
   388: 	}
-0015E2         ?C0082?KEYSCAN:
+00162E         ?C0082?KEYSCAN:
   389: 
   390: 	
   391: 	if (flag || standard_key_release_flag == 2) 
-0015E2 904E28            MOV     DPTR,#flag
-0015E5 E0                MOVX    A,@DPTR
-0015E6 7007              JNZ     ?C0084?KEYSCAN
-0015E8 904DD9            MOV     DPTR,#standard_key_release_flag
-0015EB E0                MOVX    A,@DPTR
-0015EC B40207            CJNE    A,#02H,?C0083?KEYSCAN
-0015EF         ?C0084?KEYSCAN:
+00162E 904E28            MOV     DPTR,#flag
+001631 E0                MOVX    A,@DPTR
+001632 7007              JNZ     ?C0084?KEYSCAN
+001634 904DD9            MOV     DPTR,#standard_key_release_flag
+001637 E0                MOVX    A,@DPTR
+001638 B40207            CJNE    A,#02H,?C0083?KEYSCAN
+00163B         ?C0084?KEYSCAN:
   392: 	{
   393: 		return &ksEvtPool;
-0015EF 7B01              MOV     R3,#01H
-0015F1 7A4E              MOV     R2,#HIGH ksEvtPool
-0015F3 7943              MOV     R1,#LOW ksEvtPool
-0015F5 22                RET     
+00163B 7B01              MOV     R3,#01H
+00163D 7A4E              MOV     R2,#HIGH ksEvtPool
+00163F 7943              MOV     R1,#LOW ksEvtPool
+001641 22                RET     
   394: 	}
-0015F6         ?C0083?KEYSCAN:
+001642         ?C0083?KEYSCAN:
   395: 	else
   396: 	{
   397: 		return NULL;
-0015F6 7B00              MOV     R3,#00H
-0015F8 7A00              MOV     R2,#00H
-0015FA 7900              MOV     R1,#00H
+001642 7B00              MOV     R3,#00H
+001644 7A00              MOV     R2,#00H
+001646 7900              MOV     R1,#00H
   398: 	}
   399: 	
   400: 
   401: }
-0015FC 22                RET     
+001648 22                RET     
 ----- FUNCTION KS_GetCurrentEvt (END) -------
 
 
@@ -4417,23 +4488,23 @@
    26: 	unsigned char c;
    27: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-0015FD E4                CLR     A
-0015FE FE                MOV     R6,A
-0015FF         ?C0001?KEYSCAN:
-0015FF EF                MOV     A,R7
-001600 6006              JZ      ?C0002?KEYSCAN
+001649 E4                CLR     A
+00164A FE                MOV     R6,A
+00164B         ?C0001?KEYSCAN:
+00164B EF                MOV     A,R7
+00164C 6006              JZ      ?C0002?KEYSCAN
    28:     	v &= v - 1;
-001602 14                DEC     A
-001603 5F                ANL     A,R7
-001604 FF                MOV     R7,A
+00164E 14                DEC     A
+00164F 5F                ANL     A,R7
+001650 FF                MOV     R7,A
    29:     }
-001605 0E                INC     R6
-001606 80F7              SJMP    ?C0001?KEYSCAN
-001608         ?C0002?KEYSCAN:
+001651 0E                INC     R6
+001652 80F7              SJMP    ?C0001?KEYSCAN
+001654         ?C0002?KEYSCAN:
    30:     return c;
-001608 AF06              MOV     R7,AR6
+001654 AF06              MOV     R7,AR6
    31: }
-00160A 22                RET     
+001656 22                RET     
 ----- FUNCTION _bit_count (END) -------
 
 
@@ -4441,112 +4512,112 @@
  FILE: 'keyscan.c'
   288: byte array_is_empty(byte * str1,byte len)
   289: {
-00160B 904E81            MOV     DPTR,#str1
-00160E EB                MOV     A,R3
-00160F F0                MOVX    @DPTR,A
-001610 A3                INC     DPTR
-001611 EA                MOV     A,R2
-001612 F0                MOVX    @DPTR,A
-001613 A3                INC     DPTR
-001614 E9                MOV     A,R1
-001615 F0                MOVX    @DPTR,A
+001657 904E81            MOV     DPTR,#str1
+00165A EB                MOV     A,R3
+00165B F0                MOVX    @DPTR,A
+00165C A3                INC     DPTR
+00165D EA                MOV     A,R2
+00165E F0                MOVX    @DPTR,A
+00165F A3                INC     DPTR
+001660 E9                MOV     A,R1
+001661 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R5' ----
   290: 	byte i;
   291: 	for (i=0;i < len;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-001616 E4                CLR     A
-001617 FF                MOV     R7,A
-001618         ?C0054?KEYSCAN:
-001618 EF                MOV     A,R7
-001619 C3                CLR     C
-00161A 9D                SUBB    A,R5
-00161B 501B              JNC     ?C0055?KEYSCAN
+001662 E4                CLR     A
+001663 FF                MOV     R7,A
+001664         ?C0054?KEYSCAN:
+001664 EF                MOV     A,R7
+001665 C3                CLR     C
+001666 9D                SUBB    A,R5
+001667 501B              JNC     ?C0055?KEYSCAN
   292: 	{
   293: 		if (str1[i] != 0)
-00161D 904E81            MOV     DPTR,#str1
-001620 E0                MOVX    A,@DPTR
-001621 FB                MOV     R3,A
-001622 A3                INC     DPTR
-001623 E0                MOVX    A,@DPTR
-001624 FA                MOV     R2,A
-001625 A3                INC     DPTR
-001626 E0                MOVX    A,@DPTR
-001627 F9                MOV     R1,A
-001628 8F82              MOV     DPL,R7
-00162A 758300            MOV     DPH,#00H
-00162D 120112            LCALL   ?C?CLDOPTR
-001630 6003              JZ      ?C0056?KEYSCAN
+001669 904E81            MOV     DPTR,#str1
+00166C E0                MOVX    A,@DPTR
+00166D FB                MOV     R3,A
+00166E A3                INC     DPTR
+00166F E0                MOVX    A,@DPTR
+001670 FA                MOV     R2,A
+001671 A3                INC     DPTR
+001672 E0                MOVX    A,@DPTR
+001673 F9                MOV     R1,A
+001674 8F82              MOV     DPL,R7
+001676 758300            MOV     DPH,#00H
+001679 120112            LCALL   ?C?CLDOPTR
+00167C 6003              JZ      ?C0056?KEYSCAN
   294: 			return 0x00;
-001632 7F00              MOV     R7,#00H
-001634 22                RET     
+00167E 7F00              MOV     R7,#00H
+001680 22                RET     
   295: 	}
-001635         ?C0056?KEYSCAN:
-001635 0F                INC     R7
-001636 80E0              SJMP    ?C0054?KEYSCAN
-001638         ?C0055?KEYSCAN:
+001681         ?C0056?KEYSCAN:
+001681 0F                INC     R7
+001682 80E0              SJMP    ?C0054?KEYSCAN
+001684         ?C0055?KEYSCAN:
   296: 	return 0x01;
-001638 7F01              MOV     R7,#01H
+001684 7F01              MOV     R7,#01H
   297: }
-00163A 22                RET     
+001686 22                RET     
 ----- FUNCTION _array_is_empty (END) -------
 
 
 ----- FUNCTION _compare_str (BEGIN) -----
-00163B 904E4A            MOV     DPTR,#str1
-00163E EB                MOV     A,R3
-00163F F0                MOVX    @DPTR,A
-001640 A3                INC     DPTR
-001641 EA                MOV     A,R2
-001642 F0                MOVX    @DPTR,A
-001643 A3                INC     DPTR
-001644 E9                MOV     A,R1
-001645 F0                MOVX    @DPTR,A
+001687 904E4A            MOV     DPTR,#str1
+00168A EB                MOV     A,R3
+00168B F0                MOVX    @DPTR,A
+00168C A3                INC     DPTR
+00168D EA                MOV     A,R2
+00168E F0                MOVX    @DPTR,A
+00168F A3                INC     DPTR
+001690 E9                MOV     A,R1
+001691 F0                MOVX    @DPTR,A
 ;---- Variable 'i' assigned to Register 'R7' ----
-001646 E4                CLR     A
-001647 FF                MOV     R7,A
-001648         ?C0021?UTILITIES:
-001648 904E50            MOV     DPTR,#len
-00164B E0                MOVX    A,@DPTR
-00164C FE                MOV     R6,A
-00164D EF                MOV     A,R7
-00164E C3                CLR     C
-00164F 9E                SUBB    A,R6
-001650 5030              JNC     ?C0022?UTILITIES
-001652 904E4D            MOV     DPTR,#str2
-001655 E0                MOVX    A,@DPTR
-001656 FB                MOV     R3,A
-001657 A3                INC     DPTR
-001658 E0                MOVX    A,@DPTR
-001659 FA                MOV     R2,A
-00165A A3                INC     DPTR
-00165B E0                MOVX    A,@DPTR
-00165C F9                MOV     R1,A
-00165D 8F82              MOV     DPL,R7
-00165F 758300            MOV     DPH,#00H
-001662 120112            LCALL   ?C?CLDOPTR
-001665 FE                MOV     R6,A
-001666 904E4A            MOV     DPTR,#str1
-001669 E0                MOVX    A,@DPTR
-00166A FB                MOV     R3,A
-00166B A3                INC     DPTR
-00166C E0                MOVX    A,@DPTR
-00166D FA                MOV     R2,A
-00166E A3                INC     DPTR
-00166F E0                MOVX    A,@DPTR
-001670 F9                MOV     R1,A
-001671 8F82              MOV     DPL,R7
-001673 758300            MOV     DPH,#00H
-001676 120112            LCALL   ?C?CLDOPTR
-001679 6E                XRL     A,R6
-00167A 6003              JZ      ?C0023?UTILITIES
-00167C 7F00              MOV     R7,#00H
-00167E 22                RET     
-00167F         ?C0023?UTILITIES:
-00167F 0F                INC     R7
-001680 80C6              SJMP    ?C0021?UTILITIES
-001682         ?C0022?UTILITIES:
-001682 7F01              MOV     R7,#01H
-001684 22                RET     
+001692 E4                CLR     A
+001693 FF                MOV     R7,A
+001694         ?C0021?UTILITIES:
+001694 904E50            MOV     DPTR,#len
+001697 E0                MOVX    A,@DPTR
+001698 FE                MOV     R6,A
+001699 EF                MOV     A,R7
+00169A C3                CLR     C
+00169B 9E                SUBB    A,R6
+00169C 5030              JNC     ?C0022?UTILITIES
+00169E 904E4D            MOV     DPTR,#str2
+0016A1 E0                MOVX    A,@DPTR
+0016A2 FB                MOV     R3,A
+0016A3 A3                INC     DPTR
+0016A4 E0                MOVX    A,@DPTR
+0016A5 FA                MOV     R2,A
+0016A6 A3                INC     DPTR
+0016A7 E0                MOVX    A,@DPTR
+0016A8 F9                MOV     R1,A
+0016A9 8F82              MOV     DPL,R7
+0016AB 758300            MOV     DPH,#00H
+0016AE 120112            LCALL   ?C?CLDOPTR
+0016B1 FE                MOV     R6,A
+0016B2 904E4A            MOV     DPTR,#str1
+0016B5 E0                MOVX    A,@DPTR
+0016B6 FB                MOV     R3,A
+0016B7 A3                INC     DPTR
+0016B8 E0                MOVX    A,@DPTR
+0016B9 FA                MOV     R2,A
+0016BA A3                INC     DPTR
+0016BB E0                MOVX    A,@DPTR
+0016BC F9                MOV     R1,A
+0016BD 8F82              MOV     DPL,R7
+0016BF 758300            MOV     DPH,#00H
+0016C2 120112            LCALL   ?C?CLDOPTR
+0016C5 6E                XRL     A,R6
+0016C6 6003              JZ      ?C0023?UTILITIES
+0016C8 7F00              MOV     R7,#00H
+0016CA 22                RET     
+0016CB         ?C0023?UTILITIES:
+0016CB 0F                INC     R7
+0016CC 80C6              SJMP    ?C0021?UTILITIES
+0016CE         ?C0022?UTILITIES:
+0016CE 7F01              MOV     R7,#01H
+0016D0 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
@@ -4558,41 +4629,41 @@
    37: 	byte i = 0;
    38: 
 ;---- Variable 'i' assigned to Register 'R6' ----
-001685 E4                CLR     A
-001686 FE                MOV     R6,A
+0016D1 E4                CLR     A
+0016D2 FE                MOV     R6,A
    39: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-001687 EF                MOV     A,R7
-001688 C3                CLR     C
-001689 94E0              SUBB    A,#0E0H
-00168B 4020              JC      ?C0005?KEYSCAN
-00168D EF                MOV     A,R7
-00168E D3                SETB    C
-00168F 94E7              SUBB    A,#0E7H
-001691 501A              JNC     ?C0005?KEYSCAN
+0016D3 EF                MOV     A,R7
+0016D4 C3                CLR     C
+0016D5 94E0              SUBB    A,#0E0H
+0016D7 4020              JC      ?C0005?KEYSCAN
+0016D9 EF                MOV     A,R7
+0016DA D3                SETB    C
+0016DB 94E7              SUBB    A,#0E7H
+0016DD 501A              JNC     ?C0005?KEYSCAN
    40: 	{
    41: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
-001693 904E43            MOV     DPTR,#ksEvtPool
-001696 E0                MOVX    A,@DPTR
-001697 FE                MOV     R6,A
-001698 EF                MOV     A,R7
-001699 5407              ANL     A,#07H
-00169B FF                MOV     R7,A
-00169C 7401              MOV     A,#01H
-00169E A807              MOV     R0,AR7
-0016A0 08                INC     R0
-0016A1 8002              SJMP    ?C0087?KEYSCAN
-0016A3         ?C0086?KEYSCAN:
-0016A3 C3                CLR     C
-0016A4 33                RLC     A
-0016A5         ?C0087?KEYSCAN:
-0016A5 D8FC              DJNZ    R0,?C0086?KEYSCAN
-0016A7 4E                ORL     A,R6
-0016A8 904E43            MOV     DPTR,#ksEvtPool
-0016AB F0                MOVX    @DPTR,A
-0016AC 22                RET     
+0016DF 904E43            MOV     DPTR,#ksEvtPool
+0016E2 E0                MOVX    A,@DPTR
+0016E3 FE                MOV     R6,A
+0016E4 EF                MOV     A,R7
+0016E5 5407              ANL     A,#07H
+0016E7 FF                MOV     R7,A
+0016E8 7401              MOV     A,#01H
+0016EA A807              MOV     R0,AR7
+0016EC 08                INC     R0
+0016ED 8002              SJMP    ?C0087?KEYSCAN
+0016EF         ?C0086?KEYSCAN:
+0016EF C3                CLR     C
+0016F0 33                RLC     A
+0016F1         ?C0087?KEYSCAN:
+0016F1 D8FC              DJNZ    R0,?C0086?KEYSCAN
+0016F3 4E                ORL     A,R6
+0016F4 904E43            MOV     DPTR,#ksEvtPool
+0016F7 F0                MOVX    @DPTR,A
+0016F8 22                RET     
    42: 		return;
    43: 	}
-0016AD         ?C0005?KEYSCAN:
+0016F9         ?C0005?KEYSCAN:
    44: 
    45: /*
    46: 
@@ -4640,52 +4711,52 @@
    88: 	//special key
    89: 
    90: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-0016AD E4                CLR     A
-0016AE FE                MOV     R6,A
-0016AF         ?C0007?KEYSCAN:
+0016F9 E4                CLR     A
+0016FA FE                MOV     R6,A
+0016FB         ?C0007?KEYSCAN:
    91: 	{
    92: 		if (ksEvtPool.ksPool[i] == key)
-0016AF 7444              MOV     A,#LOW ksEvtPool+01H
-0016B1 2E                ADD     A,R6
-0016B2 F582              MOV     DPL,A
-0016B4 E4                CLR     A
-0016B5 344E              ADDC    A,#HIGH ksEvtPool+01H
-0016B7 F583              MOV     DPH,A
-0016B9 E0                MOVX    A,@DPTR
-0016BA FD                MOV     R5,A
-0016BB 6F                XRL     A,R7
-0016BC 601C              JZ      ?C0006?KEYSCAN
+0016FB 7444              MOV     A,#LOW ksEvtPool+01H
+0016FD 2E                ADD     A,R6
+0016FE F582              MOV     DPL,A
+001700 E4                CLR     A
+001701 344E              ADDC    A,#HIGH ksEvtPool+01H
+001703 F583              MOV     DPH,A
+001705 E0                MOVX    A,@DPTR
+001706 FD                MOV     R5,A
+001707 6F                XRL     A,R7
+001708 601C              JZ      ?C0006?KEYSCAN
    93: 			break;
-0016BE         ?C0010?KEYSCAN:
+00170A         ?C0010?KEYSCAN:
    94: 		if (ksEvtPool.ksPool[i] == 0) 
-0016BE ED                MOV     A,R5
-0016BF 7014              JNZ     ?C0009?KEYSCAN
+00170A ED                MOV     A,R5
+00170B 7014              JNZ     ?C0009?KEYSCAN
    95: 		{
    96: 			if(mult_key_value != key)
-0016C1 904DE7            MOV     DPTR,#mult_key_value
-0016C4 E0                MOVX    A,@DPTR
-0016C5 6F                XRL     A,R7
-0016C6 6012              JZ      ?C0006?KEYSCAN
+00170D 904DE7            MOV     DPTR,#mult_key_value
+001710 E0                MOVX    A,@DPTR
+001711 6F                XRL     A,R7
+001712 6012              JZ      ?C0006?KEYSCAN
    97: 				ksEvtPool.ksPool[i] = key;
-0016C8 7444              MOV     A,#LOW ksEvtPool+01H
-0016CA 2E                ADD     A,R6
-0016CB F582              MOV     DPL,A
-0016CD E4                CLR     A
-0016CE 344E              ADDC    A,#HIGH ksEvtPool+01H
-0016D0 F583              MOV     DPH,A
-0016D2 EF                MOV     A,R7
-0016D3 F0                MOVX    @DPTR,A
+001714 7444              MOV     A,#LOW ksEvtPool+01H
+001716 2E                ADD     A,R6
+001717 F582              MOV     DPL,A
+001719 E4                CLR     A
+00171A 344E              ADDC    A,#HIGH ksEvtPool+01H
+00171C F583              MOV     DPH,A
+00171E EF                MOV     A,R7
+00171F F0                MOVX    @DPTR,A
    98: 			break;
-0016D4 22                RET     
+001720 22                RET     
    99: 		}
   100: 	}
-0016D5         ?C0009?KEYSCAN:
-0016D5 0E                INC     R6
-0016D6 EE                MOV     A,R6
-0016D7 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
+001721         ?C0009?KEYSCAN:
+001721 0E                INC     R6
+001722 EE                MOV     A,R6
+001723 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
   101: }
-0016DA         ?C0006?KEYSCAN:
-0016DA 22                RET     
+001726         ?C0006?KEYSCAN:
+001726 22                RET     
 ----- FUNCTION _keyIn (END) -------
 
 
@@ -4697,75 +4768,75 @@
   105: 	byte i = 0 ;
   106: 	byte found = 0;
 ;---- Variable 'i' assigned to Register 'R6' ----
-0016DB E4                CLR     A
-0016DC FE                MOV     R6,A
+001727 E4                CLR     A
+001728 FE                MOV     R6,A
   107: 
 ;---- Variable 'found' assigned to Register 'R5' ----
-0016DD FD                MOV     R5,A
+001729 FD                MOV     R5,A
   108: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
-0016DE EF                MOV     A,R7
-0016DF 54F0              ANL     A,#0F0H
-0016E1 64F0              XRL     A,#0F0H
-0016E3 6007              JZ      ?C0014?KEYSCAN
-0016E5 EF                MOV     A,R7
-0016E6 54D0              ANL     A,#0D0H
-0016E8 FC                MOV     R4,A
-0016E9 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
-0016EC         ?C0014?KEYSCAN:
+00172A EF                MOV     A,R7
+00172B 54F0              ANL     A,#0F0H
+00172D 64F0              XRL     A,#0F0H
+00172F 6007              JZ      ?C0014?KEYSCAN
+001731 EF                MOV     A,R7
+001732 54D0              ANL     A,#0D0H
+001734 FC                MOV     R4,A
+001735 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
+001738         ?C0014?KEYSCAN:
   109: 	{
   110: 		if(mult_key_status == KEY_WAIT_RELEASE)
-0016EC 904DE8            MOV     DPTR,#mult_key_status
-0016EF E0                MOVX    A,@DPTR
-0016F0 B4020B            CJNE    A,#02H,?C0016?KEYSCAN
+001738 904DE8            MOV     DPTR,#mult_key_status
+00173B E0                MOVX    A,@DPTR
+00173C B4020B            CJNE    A,#02H,?C0016?KEYSCAN
   111: 		{
   112: 			mult_key_status = KEY_RELEASE;
-0016F3 7403              MOV     A,#03H
-0016F5 F0                MOVX    @DPTR,A
+00173F 7403              MOV     A,#03H
+001741 F0                MOVX    @DPTR,A
   113: 		}
   114: 	}
-0016F6 8006              SJMP    ?C0016?KEYSCAN
-0016F8         ?C0013?KEYSCAN:
+001742 8006              SJMP    ?C0016?KEYSCAN
+001744         ?C0013?KEYSCAN:
   115: 	else
   116: 		standard_key_release_flag = 1;
-0016F8 904DD9            MOV     DPTR,#standard_key_release_flag
-0016FB 7401              MOV     A,#01H
-0016FD F0                MOVX    @DPTR,A
-0016FE         ?C0016?KEYSCAN:
+001744 904DD9            MOV     DPTR,#standard_key_release_flag
+001747 7401              MOV     A,#01H
+001749 F0                MOVX    @DPTR,A
+00174A         ?C0016?KEYSCAN:
   117: 
   118: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-0016FE EF                MOV     A,R7
-0016FF C3                CLR     C
-001700 94E0              SUBB    A,#0E0H
-001702 4021              JC      ?C0017?KEYSCAN
-001704 EF                MOV     A,R7
-001705 D3                SETB    C
-001706 94E7              SUBB    A,#0E7H
-001708 501B              JNC     ?C0017?KEYSCAN
+00174A EF                MOV     A,R7
+00174B C3                CLR     C
+00174C 94E0              SUBB    A,#0E0H
+00174E 4021              JC      ?C0017?KEYSCAN
+001750 EF                MOV     A,R7
+001751 D3                SETB    C
+001752 94E7              SUBB    A,#0E7H
+001754 501B              JNC     ?C0017?KEYSCAN
   119: 	{
   120: 		ksEvtPool.standardSel  &= ~(0x01 << (key & 0x07));
-00170A 904E43            MOV     DPTR,#ksEvtPool
-00170D E0                MOVX    A,@DPTR
-00170E FE                MOV     R6,A
-00170F EF                MOV     A,R7
-001710 5407              ANL     A,#07H
-001712 FF                MOV     R7,A
-001713 7401              MOV     A,#01H
-001715 A807              MOV     R0,AR7
-001717 08                INC     R0
-001718 8002              SJMP    ?C0089?KEYSCAN
-00171A         ?C0088?KEYSCAN:
-00171A C3                CLR     C
-00171B 33                RLC     A
-00171C         ?C0089?KEYSCAN:
-00171C D8FC              DJNZ    R0,?C0088?KEYSCAN
-00171E F4                CPL     A
-00171F 5E                ANL     A,R6
-001720 904E43            MOV     DPTR,#ksEvtPool
-001723 F0                MOVX    @DPTR,A
-001724 22                RET     
+001756 904E43            MOV     DPTR,#ksEvtPool
+001759 E0                MOVX    A,@DPTR
+00175A FE                MOV     R6,A
+00175B EF                MOV     A,R7
+00175C 5407              ANL     A,#07H
+00175E FF                MOV     R7,A
+00175F 7401              MOV     A,#01H
+001761 A807              MOV     R0,AR7
+001763 08                INC     R0
+001764 8002              SJMP    ?C0089?KEYSCAN
+001766         ?C0088?KEYSCAN:
+001766 C3                CLR     C
+001767 33                RLC     A
+001768         ?C0089?KEYSCAN:
+001768 D8FC              DJNZ    R0,?C0088?KEYSCAN
+00176A F4                CPL     A
+00176B 5E                ANL     A,R6
+00176C 904E43            MOV     DPTR,#ksEvtPool
+00176F F0                MOVX    @DPTR,A
+001770 22                RET     
   121: 		return;
   122: 	}
-001725         ?C0017?KEYSCAN:
+001771         ?C0017?KEYSCAN:
   123: 
   124: /*
   125: 	if (key == HID_KEY_RIGHT_GUI ) 
@@ -4810,94 +4881,94 @@
   164: 	}
   165: */	
   166: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-001725 E4                CLR     A
-001726 FE                MOV     R6,A
-001727         ?C0019?KEYSCAN:
+001771 E4                CLR     A
+001772 FE                MOV     R6,A
+001773         ?C0019?KEYSCAN:
   167: 	{
   168: 		if (found == 0) 
-001727 ED                MOV     A,R5
-001728 7021              JNZ     ?C0022?KEYSCAN
+001773 ED                MOV     A,R5
+001774 7021              JNZ     ?C0022?KEYSCAN
   169: 		{
   170: 			if (ksEvtPool.ksPool[i] == key) {
-00172A 7444              MOV     A,#LOW ksEvtPool+01H
-00172C 2E                ADD     A,R6
-00172D F582              MOV     DPL,A
-00172F E4                CLR     A
-001730 344E              ADDC    A,#HIGH ksEvtPool+01H
-001732 F583              MOV     DPH,A
-001734 E0                MOVX    A,@DPTR
-001735 6F                XRL     A,R7
-001736 7047              JNZ     ?C0021?KEYSCAN
+001776 7444              MOV     A,#LOW ksEvtPool+01H
+001778 2E                ADD     A,R6
+001779 F582              MOV     DPL,A
+00177B E4                CLR     A
+00177C 344E              ADDC    A,#HIGH ksEvtPool+01H
+00177E F583              MOV     DPH,A
+001780 E0                MOVX    A,@DPTR
+001781 6F                XRL     A,R7
+001782 7047              JNZ     ?C0021?KEYSCAN
   171: 				if (i == KS_BUFF_POLL_LEN-1) {
-001738 EE                MOV     A,R6
-001739 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
+001784 EE                MOV     A,R6
+001785 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
   172: 					ksEvtPool.ksPool[i] = 0;
-00173C 2444              ADD     A,#LOW ksEvtPool+01H
-00173E F582              MOV     DPL,A
-001740 E4                CLR     A
-001741 344E              ADDC    A,#HIGH ksEvtPool+01H
-001743 F583              MOV     DPH,A
-001745 E4                CLR     A
-001746 F0                MOVX    @DPTR,A
+001788 2444              ADD     A,#LOW ksEvtPool+01H
+00178A F582              MOV     DPL,A
+00178C E4                CLR     A
+00178D 344E              ADDC    A,#HIGH ksEvtPool+01H
+00178F F583              MOV     DPH,A
+001791 E4                CLR     A
+001792 F0                MOVX    @DPTR,A
   173: 				}
-001747         ?C0024?KEYSCAN:
+001793         ?C0024?KEYSCAN:
   174: 				found = 1;
-001747 7D01              MOV     R5,#01H
+001793 7D01              MOV     R5,#01H
   175: 			}
   176: 		}
-001749 8034              SJMP    ?C0021?KEYSCAN
-00174B         ?C0022?KEYSCAN:
+001795 8034              SJMP    ?C0021?KEYSCAN
+001797         ?C0022?KEYSCAN:
   177: 		else 
   178: 		{
   179: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
-00174B 7444              MOV     A,#LOW ksEvtPool+01H
-00174D 2E                ADD     A,R6
-00174E F582              MOV     DPL,A
-001750 E4                CLR     A
-001751 344E              ADDC    A,#HIGH ksEvtPool+01H
-001753 F583              MOV     DPH,A
-001755 E0                MOVX    A,@DPTR
-001756 FC                MOV     R4,A
-001757 7443              MOV     A,#LOW ksEvtPool
-001759 2E                ADD     A,R6
-00175A F582              MOV     DPL,A
-00175C E4                CLR     A
-00175D 344E              ADDC    A,#HIGH ksEvtPool
-00175F F583              MOV     DPH,A
-001761 EC                MOV     A,R4
-001762 F0                MOVX    @DPTR,A
+001797 7444              MOV     A,#LOW ksEvtPool+01H
+001799 2E                ADD     A,R6
+00179A F582              MOV     DPL,A
+00179C E4                CLR     A
+00179D 344E              ADDC    A,#HIGH ksEvtPool+01H
+00179F F583              MOV     DPH,A
+0017A1 E0                MOVX    A,@DPTR
+0017A2 FC                MOV     R4,A
+0017A3 7443              MOV     A,#LOW ksEvtPool
+0017A5 2E                ADD     A,R6
+0017A6 F582              MOV     DPL,A
+0017A8 E4                CLR     A
+0017A9 344E              ADDC    A,#HIGH ksEvtPool
+0017AB F583              MOV     DPH,A
+0017AD EC                MOV     A,R4
+0017AE F0                MOVX    @DPTR,A
   180: 			if (ksEvtPool.ksPool[i] == 0)
-001763 7444              MOV     A,#LOW ksEvtPool+01H
-001765 2E                ADD     A,R6
-001766 F582              MOV     DPL,A
-001768 E4                CLR     A
-001769 344E              ADDC    A,#HIGH ksEvtPool+01H
-00176B F583              MOV     DPH,A
-00176D E0                MOVX    A,@DPTR
-00176E 6014              JZ      ?C0018?KEYSCAN
+0017AF 7444              MOV     A,#LOW ksEvtPool+01H
+0017B1 2E                ADD     A,R6
+0017B2 F582              MOV     DPL,A
+0017B4 E4                CLR     A
+0017B5 344E              ADDC    A,#HIGH ksEvtPool+01H
+0017B7 F583              MOV     DPH,A
+0017B9 E0                MOVX    A,@DPTR
+0017BA 6014              JZ      ?C0018?KEYSCAN
   181: 				break;
-001770         ?C0026?KEYSCAN:
+0017BC         ?C0026?KEYSCAN:
   182: 			if (i == KS_BUFF_POLL_LEN-1) {
-001770 EE                MOV     A,R6
-001771 B4050B            CJNE    A,#05H,?C0021?KEYSCAN
+0017BC EE                MOV     A,R6
+0017BD B4050B            CJNE    A,#05H,?C0021?KEYSCAN
   183: 				ksEvtPool.ksPool[i] = 0;
-001774 2444              ADD     A,#LOW ksEvtPool+01H
-001776 F582              MOV     DPL,A
-001778 E4                CLR     A
-001779 344E              ADDC    A,#HIGH ksEvtPool+01H
-00177B F583              MOV     DPH,A
-00177D E4                CLR     A
-00177E F0                MOVX    @DPTR,A
+0017C0 2444              ADD     A,#LOW ksEvtPool+01H
+0017C2 F582              MOV     DPL,A
+0017C4 E4                CLR     A
+0017C5 344E              ADDC    A,#HIGH ksEvtPool+01H
+0017C7 F583              MOV     DPH,A
+0017C9 E4                CLR     A
+0017CA F0                MOVX    @DPTR,A
   184: 			}
   185: 		}
   186: 	}
-00177F         ?C0021?KEYSCAN:
-00177F 0E                INC     R6
-001780 EE                MOV     A,R6
-001781 B406A3            CJNE    A,#06H,?C0019?KEYSCAN
+0017CB         ?C0021?KEYSCAN:
+0017CB 0E                INC     R6
+0017CC EE                MOV     A,R6
+0017CD B406A3            CJNE    A,#06H,?C0019?KEYSCAN
   187: }
-001784         ?C0018?KEYSCAN:
-001784 22                RET     
+0017D0         ?C0018?KEYSCAN:
+0017D0 22                RET     
 ----- FUNCTION _keyOut (END) -------
 
 
@@ -4907,174 +4978,33 @@
   190: {
   191: 	byte i = 0;
   192: 	
-001785 E4                CLR     A
-001786 904E98            MOV     DPTR,#i
-001789 F0                MOVX    @DPTR,A
+0017D1 E4                CLR     A
+0017D2 904E98            MOV     DPTR,#i
+0017D5 F0                MOVX    @DPTR,A
   193: 	for (i=0; i<8; i++) {
-00178A F0                MOVX    @DPTR,A
-00178B         ?C0028?KEYSCAN:
-00178B 904E98            MOV     DPTR,#i
-00178E E0                MOVX    A,@DPTR
-00178F FF                MOV     R7,A
-001790 C3                CLR     C
-001791 9408              SUBB    A,#08H
-001793 500C              JNC     ?C0031?KEYSCAN
+0017D6 F0                MOVX    @DPTR,A
+0017D7         ?C0028?KEYSCAN:
+0017D7 904E98            MOV     DPTR,#i
+0017DA E0                MOVX    A,@DPTR
+0017DB FF                MOV     R7,A
+0017DC C3                CLR     C
+0017DD 9408              SUBB    A,#08H
+0017DF 500D              JNC     ?C0031?KEYSCAN
   194: 		GPIO_SetInput(i, 0);
-001795 C205              CLR     ?_GPIO_SetInput?BIT
-001797 F1A2              ACALL   _GPIO_SetInput
+0017E1 C205              CLR     ?_GPIO_SetInput?BIT
+0017E3 121E2E            LCALL   _GPIO_SetInput
   195: 	}
-001799 904E98            MOV     DPTR,#i
-00179C E0                MOVX    A,@DPTR
-00179D 04                INC     A
-00179E F0                MOVX    @DPTR,A
-00179F 80EA              SJMP    ?C0028?KEYSCAN
+0017E6 904E98            MOV     DPTR,#i
+0017E9 E0                MOVX    A,@DPTR
+0017EA 04                INC     A
+0017EB F0                MOVX    @DPTR,A
+0017EC 80E9              SJMP    ?C0028?KEYSCAN
   196: }
-0017A1         ?C0031?KEYSCAN:
-0017A1 22                RET     
+0017EE         ?C0031?KEYSCAN:
+0017EE 22                RET     
 ----- FUNCTION ksRawInitialize (END) -------
 
 
------ FUNCTION _GPIO_SetInput (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R4' ----
-0017A2 AC07              MOV     R4,AR7
-0017A4 EC                MOV     A,R4
-0017A5 F4                CPL     A
-0017A6 6018              JZ      ?C0015?GPIO
-0017A8         ?C0014?GPIO:
-0017A8 AF04              MOV     R7,AR4
-0017AA A205              MOV     C,st
-0017AC 9203              MOV     ?_GPIO_SetPd?BIT,C
-0017AE F1D2              ACALL   _GPIO_SetPd
-0017B0 AF04              MOV     R7,AR4
-0017B2 A205              MOV     C,st
-0017B4 B3                CPL     C
-0017B5 9202              MOV     ?_GPIO_SetPu?BIT,C
-0017B7 F1C1              ACALL   _GPIO_SetPu
-0017B9 AF04              MOV     R7,AR4
-0017BB C204              CLR     ?_GPIO_Setoe?BIT
-0017BD 121E10            LCALL   _GPIO_Setoe
-0017C0         ?C0015?GPIO:
-0017C0 22                RET     
------ FUNCTION _GPIO_SetInput (END) -------
-
-
------ FUNCTION _GPIO_SetPu (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0017C1 EF                MOV     A,R7
-0017C2 F4                CPL     A
-0017C3 600C              JZ      ?C0009?GPIO
-0017C5         ?C0008?GPIO:
-0017C5 7B01              MOV     R3,#01H
-0017C7 7A80              MOV     R2,#080H
-0017C9 7978              MOV     R1,#078H
-0017CB A202              MOV     C,bit_val
-0017CD 9200              MOV     ?_gpioSetBit?BIT,C
-0017CF F1E3              ACALL   _gpioSetBit
-0017D1         ?C0009?GPIO:
-0017D1 22                RET     
------ FUNCTION _GPIO_SetPu (END) -------
-
-
------ FUNCTION _GPIO_SetPd (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0017D2 EF                MOV     A,R7
-0017D3 F4                CPL     A
-0017D4 600C              JZ      ?C0011?GPIO
-0017D6         ?C0010?GPIO:
-0017D6 7B01              MOV     R3,#01H
-0017D8 7A80              MOV     R2,#080H
-0017DA 797C              MOV     R1,#07CH
-0017DC A203              MOV     C,bit_val
-0017DE 9200              MOV     ?_gpioSetBit?BIT,C
-0017E0 F1E3              ACALL   _gpioSetBit
-0017E2         ?C0011?GPIO:
-0017E2 22                RET     
------ FUNCTION _GPIO_SetPd (END) -------
-
-
------ FUNCTION _gpioSetBit (BEGIN) -----
-0017E3 904E8D            MOV     DPTR,#reg_base
-0017E6 EB                MOV     A,R3
-0017E7 F0                MOVX    @DPTR,A
-0017E8 A3                INC     DPTR
-0017E9 EA                MOV     A,R2
-0017EA F0                MOVX    @DPTR,A
-0017EB A3                INC     DPTR
-0017EC E9                MOV     A,R1
-0017ED F0                MOVX    @DPTR,A
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-;---- Variable 'queue' assigned to Register 'R6' ----
-0017EE E4                CLR     A
-0017EF FE                MOV     R6,A
-;---- Variable 'group' assigned to Register 'R5' ----
-0017F0 FD                MOV     R5,A
-0017F1 EF                MOV     A,R7
-0017F2 5407              ANL     A,#07H
-0017F4 FE                MOV     R6,A
-0017F5 EF                MOV     A,R7
-0017F6 13                RRC     A
-0017F7 13                RRC     A
-0017F8 13                RRC     A
-0017F9 5403              ANL     A,#03H
-0017FB FD                MOV     R5,A
-0017FC 300022            JNB     bit_val,?C0001?GPIO
-0017FF 904E8D            MOV     DPTR,#reg_base
-001802 E0                MOVX    A,@DPTR
-001803 FB                MOV     R3,A
-001804 A3                INC     DPTR
-001805 E0                MOVX    A,@DPTR
-001806 FA                MOV     R2,A
-001807 A3                INC     DPTR
-001808 E0                MOVX    A,@DPTR
-001809 2D                ADD     A,R5
-00180A F9                MOV     R1,A
-00180B E4                CLR     A
-00180C 3A                ADDC    A,R2
-00180D FA                MOV     R2,A
-00180E 1200F9            LCALL   ?C?CLDPTR
-001811 FF                MOV     R7,A
-001812 7401              MOV     A,#01H
-001814 A806              MOV     R0,AR6
-001816 08                INC     R0
-001817 8002              SJMP    ?C0031?GPIO
-001819         ?C0030?GPIO:
-001819 C3                CLR     C
-00181A 33                RLC     A
-00181B         ?C0031?GPIO:
-00181B D8FC              DJNZ    R0,?C0030?GPIO
-00181D 4F                ORL     A,R7
-00181E 02013F            LJMP    ?C?CSTPTR
-001821         ?C0001?GPIO:
-001821 904E8D            MOV     DPTR,#reg_base
-001824 E0                MOVX    A,@DPTR
-001825 FB                MOV     R3,A
-001826 A3                INC     DPTR
-001827 E0                MOVX    A,@DPTR
-001828 FA                MOV     R2,A
-001829 A3                INC     DPTR
-00182A E0                MOVX    A,@DPTR
-00182B 2D                ADD     A,R5
-00182C F9                MOV     R1,A
-00182D E4                CLR     A
-00182E 3A                ADDC    A,R2
-00182F FA                MOV     R2,A
-001830 1200F9            LCALL   ?C?CLDPTR
-001833 FF                MOV     R7,A
-001834 7401              MOV     A,#01H
-001836 A806              MOV     R0,AR6
-001838 08                INC     R0
-001839 8002              SJMP    ?C0033?GPIO
-00183B         ?C0032?GPIO:
-00183B C3                CLR     C
-00183C 33                RLC     A
-00183D         ?C0033?GPIO:
-00183D D8FC              DJNZ    R0,?C0032?GPIO
-00183F F4                CPL     A
-001840 5F                ANL     A,R7
-001841 02013F            LJMP    ?C?CSTPTR
------ FUNCTION _gpioSetBit (END) -------
-
-
 ----- FUNCTION KS_ScanMatrix (BEGIN) -----
  FILE: 'keyscan.c'
   260: void KS_ScanMatrix()
@@ -5082,295 +5012,295 @@
   262: 	byte i = 0;
   263: 	byte j = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-001844 E4                CLR     A
-001845 FF                MOV     R7,A
+0017EF E4                CLR     A
+0017F0 FF                MOV     R7,A
   264: 	byte tgroup = 0;
-001846 904E72            MOV     DPTR,#j
-001849 F0                MOVX    @DPTR,A
+0017F1 904E72            MOV     DPTR,#j
+0017F4 F0                MOVX    @DPTR,A
   265: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-00184A FE                MOV     R6,A
+0017F5 FE                MOV     R6,A
   266: 	byte temp = 0;
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-00184B FD                MOV     R5,A
+0017F6 FD                MOV     R5,A
   267: 	byte check = 0;
-00184C A3                INC     DPTR
-00184D F0                MOVX    @DPTR,A
+0017F7 A3                INC     DPTR
+0017F8 F0                MOVX    @DPTR,A
   268: 	byte rawSel = 0;
-00184E A3                INC     DPTR
-00184F F0                MOVX    @DPTR,A
+0017F9 A3                INC     DPTR
+0017FA F0                MOVX    @DPTR,A
   269: 	for (i=0; col[i]!=0; i++) {
-001850 A3                INC     DPTR
-001851 F0                MOVX    @DPTR,A
+0017FB A3                INC     DPTR
+0017FC F0                MOVX    @DPTR,A
   270: 		tgroup = col[i]  >> 3;
-001852         ?C0043?KEYSCAN:
-001852 EF                MOV     A,R7
-001853 900225            MOV     DPTR,#col
-001856 93                MOVC    A,@A+DPTR
-001857 607C              JZ      ?C0044?KEYSCAN
+0017FD         ?C0043?KEYSCAN:
+0017FD EF                MOV     A,R7
+0017FE 900225            MOV     DPTR,#col
+001801 93                MOVC    A,@A+DPTR
+001802 607D              JZ      ?C0044?KEYSCAN
   271: 		tgpionum = 1 << (col[i] & 7);
-001859 EF                MOV     A,R7
-00185A 93                MOVC    A,@A+DPTR
-00185B FD                MOV     R5,A
-00185C 13                RRC     A
-00185D 13                RRC     A
-00185E 13                RRC     A
-00185F 541F              ANL     A,#01FH
-001861 FE                MOV     R6,A
+001804 EF                MOV     A,R7
+001805 93                MOVC    A,@A+DPTR
+001806 FD                MOV     R5,A
+001807 13                RRC     A
+001808 13                RRC     A
+001809 13                RRC     A
+00180A 541F              ANL     A,#01FH
+00180C FE                MOV     R6,A
   272: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
-001862 ED                MOV     A,R5
-001863 5407              ANL     A,#07H
-001865 FD                MOV     R5,A
-001866 7401              MOV     A,#01H
-001868 A805              MOV     R0,AR5
-00186A 08                INC     R0
-00186B 8002              SJMP    ?C0093?KEYSCAN
-00186D         ?C0092?KEYSCAN:
-00186D C3                CLR     C
-00186E 33                RLC     A
-00186F         ?C0093?KEYSCAN:
-00186F D8FC              DJNZ    R0,?C0092?KEYSCAN
-001871 FD                MOV     R5,A
+00180D ED                MOV     A,R5
+00180E 5407              ANL     A,#07H
+001810 FD                MOV     R5,A
+001811 7401              MOV     A,#01H
+001813 A805              MOV     R0,AR5
+001815 08                INC     R0
+001816 8002              SJMP    ?C0093?KEYSCAN
+001818         ?C0092?KEYSCAN:
+001818 C3                CLR     C
+001819 33                RLC     A
+00181A         ?C0093?KEYSCAN:
+00181A D8FC              DJNZ    R0,?C0092?KEYSCAN
+00181C FD                MOV     R5,A
   273: 	}
-001872 EE                MOV     A,R6
-001873 2478              ADD     A,#078H
-001875 FB                MOV     R3,A
-001876 E4                CLR     A
-001877 3480              ADDC    A,#080H
-001879 8B82              MOV     DPL,R3
-00187B F583              MOV     DPH,A
-00187D E0                MOVX    A,@DPTR
-00187E FC                MOV     R4,A
-00187F ED                MOV     A,R5
-001880 F4                CPL     A
-001881 FB                MOV     R3,A
-001882 EC                MOV     A,R4
-001883 5B                ANL     A,R3
-001884 F0                MOVX    @DPTR,A
-001885 EE                MOV     A,R6
-001886 2470              ADD     A,#070H
-001888 F582              MOV     DPL,A
-00188A E4                CLR     A
-00188B 3480              ADDC    A,#080H
-00188D F583              MOV     DPH,A
-00188F E0                MOVX    A,@DPTR
-001890 4D                ORL     A,R5
-001891 F0                MOVX    @DPTR,A
-001892 EE                MOV     A,R6
-001893 2474              ADD     A,#074H
-001895 F582              MOV     DPL,A
-001897 E4                CLR     A
-001898 3480              ADDC    A,#080H
-00189A F583              MOV     DPH,A
-00189C E0                MOVX    A,@DPTR
-00189D 5B                ANL     A,R3
-00189E F0                MOVX    @DPTR,A
-00189F 90811C            MOV     DPTR,#0811CH
-0018A2 E0                MOVX    A,@DPTR
-0018A3 F4                CPL     A
-0018A4 FC                MOV     R4,A
-0018A5 74BC              MOV     A,#LOW ksSelMapCurr
-0018A7 2F                ADD     A,R7
-0018A8 F582              MOV     DPL,A
-0018AA E4                CLR     A
-0018AB 344D              ADDC    A,#HIGH ksSelMapCurr
-0018AD F583              MOV     DPH,A
-0018AF EC                MOV     A,R4
-0018B0 F0                MOVX    @DPTR,A
-0018B1 EE                MOV     A,R6
-0018B2 2478              ADD     A,#078H
-0018B4 FB                MOV     R3,A
-0018B5 E4                CLR     A
-0018B6 3480              ADDC    A,#080H
-0018B8 8B82              MOV     DPL,R3
-0018BA F583              MOV     DPH,A
-0018BC E0                MOVX    A,@DPTR
-0018BD 4D                ORL     A,R5
-0018BE F0                MOVX    @DPTR,A
-0018BF EE                MOV     A,R6
-0018C0 2470              ADD     A,#070H
-0018C2 FB                MOV     R3,A
-0018C3 E4                CLR     A
-0018C4 3480              ADDC    A,#080H
-0018C6 8B82              MOV     DPL,R3
-0018C8 F583              MOV     DPH,A
-0018CA E0                MOVX    A,@DPTR
-0018CB FC                MOV     R4,A
-0018CC ED                MOV     A,R5
-0018CD F4                CPL     A
-0018CE FB                MOV     R3,A
-0018CF EC                MOV     A,R4
-0018D0 5B                ANL     A,R3
-0018D1 F0                MOVX    @DPTR,A
+00181D EE                MOV     A,R6
+00181E 2478              ADD     A,#078H
+001820 FB                MOV     R3,A
+001821 E4                CLR     A
+001822 3480              ADDC    A,#080H
+001824 8B82              MOV     DPL,R3
+001826 F583              MOV     DPH,A
+001828 E0                MOVX    A,@DPTR
+001829 FC                MOV     R4,A
+00182A ED                MOV     A,R5
+00182B F4                CPL     A
+00182C FB                MOV     R3,A
+00182D EC                MOV     A,R4
+00182E 5B                ANL     A,R3
+00182F F0                MOVX    @DPTR,A
+001830 EE                MOV     A,R6
+001831 2470              ADD     A,#070H
+001833 F582              MOV     DPL,A
+001835 E4                CLR     A
+001836 3480              ADDC    A,#080H
+001838 F583              MOV     DPH,A
+00183A E0                MOVX    A,@DPTR
+00183B 4D                ORL     A,R5
+00183C F0                MOVX    @DPTR,A
+00183D EE                MOV     A,R6
+00183E 2474              ADD     A,#074H
+001840 F582              MOV     DPL,A
+001842 E4                CLR     A
+001843 3480              ADDC    A,#080H
+001845 F583              MOV     DPH,A
+001847 E0                MOVX    A,@DPTR
+001848 5B                ANL     A,R3
+001849 F0                MOVX    @DPTR,A
+00184A 90811C            MOV     DPTR,#0811CH
+00184D E0                MOVX    A,@DPTR
+00184E F4                CPL     A
+00184F FC                MOV     R4,A
+001850 74BC              MOV     A,#LOW ksSelMapCurr
+001852 2F                ADD     A,R7
+001853 F582              MOV     DPL,A
+001855 E4                CLR     A
+001856 344D              ADDC    A,#HIGH ksSelMapCurr
+001858 F583              MOV     DPH,A
+00185A EC                MOV     A,R4
+00185B F0                MOVX    @DPTR,A
+00185C EE                MOV     A,R6
+00185D 2478              ADD     A,#078H
+00185F FB                MOV     R3,A
+001860 E4                CLR     A
+001861 3480              ADDC    A,#080H
+001863 8B82              MOV     DPL,R3
+001865 F583              MOV     DPH,A
+001867 E0                MOVX    A,@DPTR
+001868 4D                ORL     A,R5
+001869 F0                MOVX    @DPTR,A
+00186A EE                MOV     A,R6
+00186B 2470              ADD     A,#070H
+00186D FB                MOV     R3,A
+00186E E4                CLR     A
+00186F 3480              ADDC    A,#080H
+001871 8B82              MOV     DPL,R3
+001873 F583              MOV     DPH,A
+001875 E0                MOVX    A,@DPTR
+001876 FC                MOV     R4,A
+001877 ED                MOV     A,R5
+001878 F4                CPL     A
+001879 FB                MOV     R3,A
+00187A EC                MOV     A,R4
+00187B 5B                ANL     A,R3
+00187C F0                MOVX    @DPTR,A
   274: 
-0018D2 0F                INC     R7
-0018D3 0152              AJMP    ?C0043?KEYSCAN
-0018D5         ?C0044?KEYSCAN:
+00187D 0F                INC     R7
+00187E 0217FD            LJMP    ?C0043?KEYSCAN
+001881         ?C0044?KEYSCAN:
   275: 	for (i=0; col[i]!=0; i++) {
-0018D5 E4                CLR     A
-0018D6 FF                MOV     R7,A
-0018D7         ?C0046?KEYSCAN:
-0018D7 EF                MOV     A,R7
-0018D8 900225            MOV     DPTR,#col
-0018DB 93                MOVC    A,@A+DPTR
-0018DC 607C              JZ      ?C0047?KEYSCAN
+001881 E4                CLR     A
+001882 FF                MOV     R7,A
+001883         ?C0046?KEYSCAN:
+001883 EF                MOV     A,R7
+001884 900225            MOV     DPTR,#col
+001887 93                MOVC    A,@A+DPTR
+001888 607C              JZ      ?C0047?KEYSCAN
   276: 		tgroup = col[i]  >> 3;
-0018DE EF                MOV     A,R7
-0018DF 93                MOVC    A,@A+DPTR
-0018E0 FD                MOV     R5,A
-0018E1 13                RRC     A
-0018E2 13                RRC     A
-0018E3 13                RRC     A
-0018E4 541F              ANL     A,#01FH
-0018E6 FE                MOV     R6,A
+00188A EF                MOV     A,R7
+00188B 93                MOVC    A,@A+DPTR
+00188C FD                MOV     R5,A
+00188D 13                RRC     A
+00188E 13                RRC     A
+00188F 13                RRC     A
+001890 541F              ANL     A,#01FH
+001892 FE                MOV     R6,A
   277: 		tgpionum = 1 << (col[i] & 7);
-0018E7 ED                MOV     A,R5
-0018E8 5407              ANL     A,#07H
-0018EA FD                MOV     R5,A
-0018EB 7401              MOV     A,#01H
-0018ED A805              MOV     R0,AR5
-0018EF 08                INC     R0
-0018F0 8002              SJMP    ?C0095?KEYSCAN
-0018F2         ?C0094?KEYSCAN:
-0018F2 C3                CLR     C
-0018F3 33                RLC     A
-0018F4         ?C0095?KEYSCAN:
-0018F4 D8FC              DJNZ    R0,?C0094?KEYSCAN
-0018F6 FD                MOV     R5,A
+001893 ED                MOV     A,R5
+001894 5407              ANL     A,#07H
+001896 FD                MOV     R5,A
+001897 7401              MOV     A,#01H
+001899 A805              MOV     R0,AR5
+00189B 08                INC     R0
+00189C 8002              SJMP    ?C0095?KEYSCAN
+00189E         ?C0094?KEYSCAN:
+00189E C3                CLR     C
+00189F 33                RLC     A
+0018A0         ?C0095?KEYSCAN:
+0018A0 D8FC              DJNZ    R0,?C0094?KEYSCAN
+0018A2 FD                MOV     R5,A
   278: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
-0018F7 EE                MOV     A,R6
-0018F8 2478              ADD     A,#078H
-0018FA FB                MOV     R3,A
-0018FB E4                CLR     A
-0018FC 3480              ADDC    A,#080H
-0018FE 8B82              MOV     DPL,R3
-001900 F583              MOV     DPH,A
-001902 E0                MOVX    A,@DPTR
-001903 FC                MOV     R4,A
-001904 ED                MOV     A,R5
-001905 F4                CPL     A
-001906 FB                MOV     R3,A
-001907 EC                MOV     A,R4
-001908 5B                ANL     A,R3
-001909 F0                MOVX    @DPTR,A
-00190A EE                MOV     A,R6
-00190B 2470              ADD     A,#070H
-00190D F582              MOV     DPL,A
-00190F E4                CLR     A
-001910 3480              ADDC    A,#080H
-001912 F583              MOV     DPH,A
-001914 E0                MOVX    A,@DPTR
-001915 4D                ORL     A,R5
-001916 F0                MOVX    @DPTR,A
-001917 EE                MOV     A,R6
-001918 2474              ADD     A,#074H
-00191A F582              MOV     DPL,A
-00191C E4                CLR     A
-00191D 3480              ADDC    A,#080H
-00191F F583              MOV     DPH,A
-001921 E0                MOVX    A,@DPTR
-001922 5B                ANL     A,R3
-001923 F0                MOVX    @DPTR,A
-001924 90811C            MOV     DPTR,#0811CH
-001927 E0                MOVX    A,@DPTR
-001928 F4                CPL     A
-001929 FC                MOV     R4,A
-00192A 74A8              MOV     A,#LOW ksSelMapCheck
-00192C 2F                ADD     A,R7
-00192D F582              MOV     DPL,A
-00192F E4                CLR     A
-001930 344D              ADDC    A,#HIGH ksSelMapCheck
-001932 F583              MOV     DPH,A
-001934 EC                MOV     A,R4
-001935 F0                MOVX    @DPTR,A
-001936 EE                MOV     A,R6
-001937 2478              ADD     A,#078H
-001939 FB                MOV     R3,A
-00193A E4                CLR     A
-00193B 3480              ADDC    A,#080H
-00193D 8B82              MOV     DPL,R3
-00193F F583              MOV     DPH,A
-001941 E0                MOVX    A,@DPTR
-001942 4D                ORL     A,R5
-001943 F0                MOVX    @DPTR,A
-001944 EE                MOV     A,R6
-001945 2470              ADD     A,#070H
-001947 FB                MOV     R3,A
-001948 E4                CLR     A
-001949 3480              ADDC    A,#080H
-00194B 8B82              MOV     DPL,R3
-00194D F583              MOV     DPH,A
-00194F E0                MOVX    A,@DPTR
-001950 FC                MOV     R4,A
-001951 ED                MOV     A,R5
-001952 F4                CPL     A
-001953 FB                MOV     R3,A
-001954 EC                MOV     A,R4
-001955 5B                ANL     A,R3
-001956 F0                MOVX    @DPTR,A
+0018A3 EE                MOV     A,R6
+0018A4 2478              ADD     A,#078H
+0018A6 FB                MOV     R3,A
+0018A7 E4                CLR     A
+0018A8 3480              ADDC    A,#080H
+0018AA 8B82              MOV     DPL,R3
+0018AC F583              MOV     DPH,A
+0018AE E0                MOVX    A,@DPTR
+0018AF FC                MOV     R4,A
+0018B0 ED                MOV     A,R5
+0018B1 F4                CPL     A
+0018B2 FB                MOV     R3,A
+0018B3 EC                MOV     A,R4
+0018B4 5B                ANL     A,R3
+0018B5 F0                MOVX    @DPTR,A
+0018B6 EE                MOV     A,R6
+0018B7 2470              ADD     A,#070H
+0018B9 F582              MOV     DPL,A
+0018BB E4                CLR     A
+0018BC 3480              ADDC    A,#080H
+0018BE F583              MOV     DPH,A
+0018C0 E0                MOVX    A,@DPTR
+0018C1 4D                ORL     A,R5
+0018C2 F0                MOVX    @DPTR,A
+0018C3 EE                MOV     A,R6
+0018C4 2474              ADD     A,#074H
+0018C6 F582              MOV     DPL,A
+0018C8 E4                CLR     A
+0018C9 3480              ADDC    A,#080H
+0018CB F583              MOV     DPH,A
+0018CD E0                MOVX    A,@DPTR
+0018CE 5B                ANL     A,R3
+0018CF F0                MOVX    @DPTR,A
+0018D0 90811C            MOV     DPTR,#0811CH
+0018D3 E0                MOVX    A,@DPTR
+0018D4 F4                CPL     A
+0018D5 FC                MOV     R4,A
+0018D6 74A8              MOV     A,#LOW ksSelMapCheck
+0018D8 2F                ADD     A,R7
+0018D9 F582              MOV     DPL,A
+0018DB E4                CLR     A
+0018DC 344D              ADDC    A,#HIGH ksSelMapCheck
+0018DE F583              MOV     DPH,A
+0018E0 EC                MOV     A,R4
+0018E1 F0                MOVX    @DPTR,A
+0018E2 EE                MOV     A,R6
+0018E3 2478              ADD     A,#078H
+0018E5 FB                MOV     R3,A
+0018E6 E4                CLR     A
+0018E7 3480              ADDC    A,#080H
+0018E9 8B82              MOV     DPL,R3
+0018EB F583              MOV     DPH,A
+0018ED E0                MOVX    A,@DPTR
+0018EE 4D                ORL     A,R5
+0018EF F0                MOVX    @DPTR,A
+0018F0 EE                MOV     A,R6
+0018F1 2470              ADD     A,#070H
+0018F3 FB                MOV     R3,A
+0018F4 E4                CLR     A
+0018F5 3480              ADDC    A,#080H
+0018F7 8B82              MOV     DPL,R3
+0018F9 F583              MOV     DPH,A
+0018FB E0                MOVX    A,@DPTR
+0018FC FC                MOV     R4,A
+0018FD ED                MOV     A,R5
+0018FE F4                CPL     A
+0018FF FB                MOV     R3,A
+001900 EC                MOV     A,R4
+001901 5B                ANL     A,R3
+001902 F0                MOVX    @DPTR,A
   279: 	}
-001957 0F                INC     R7
-001958 01D7              AJMP    ?C0046?KEYSCAN
-00195A         ?C0047?KEYSCAN:
+001903 0F                INC     R7
+001904 0183              AJMP    ?C0046?KEYSCAN
+001906         ?C0047?KEYSCAN:
   280: 
   281: 	for (i=0; col[i]!=0; i++) {
-00195A E4                CLR     A
-00195B FF                MOV     R7,A
-00195C         ?C0049?KEYSCAN:
-00195C EF                MOV     A,R7
-00195D 900225            MOV     DPTR,#col
-001960 93                MOVC    A,@A+DPTR
-001961 6040              JZ      ?C0053?KEYSCAN
+001906 E4                CLR     A
+001907 FF                MOV     R7,A
+001908         ?C0049?KEYSCAN:
+001908 EF                MOV     A,R7
+001909 900225            MOV     DPTR,#col
+00190C 93                MOVC    A,@A+DPTR
+00190D 6040              JZ      ?C0053?KEYSCAN
   282: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
-001963 74BC              MOV     A,#LOW ksSelMapCurr
-001965 2F                ADD     A,R7
-001966 F582              MOV     DPL,A
-001968 E4                CLR     A
-001969 344D              ADDC    A,#HIGH ksSelMapCurr
-00196B F583              MOV     DPH,A
-00196D E0                MOVX    A,@DPTR
-00196E FE                MOV     R6,A
-00196F 74A8              MOV     A,#LOW ksSelMapCheck
-001971 2F                ADD     A,R7
-001972 F582              MOV     DPL,A
-001974 E4                CLR     A
-001975 344D              ADDC    A,#HIGH ksSelMapCheck
-001977 F583              MOV     DPH,A
-001979 E0                MOVX    A,@DPTR
-00197A 6E                XRL     A,R6
-00197B 6023              JZ      ?C0051?KEYSCAN
+00190F 74BC              MOV     A,#LOW ksSelMapCurr
+001911 2F                ADD     A,R7
+001912 F582              MOV     DPL,A
+001914 E4                CLR     A
+001915 344D              ADDC    A,#HIGH ksSelMapCurr
+001917 F583              MOV     DPH,A
+001919 E0                MOVX    A,@DPTR
+00191A FE                MOV     R6,A
+00191B 74A8              MOV     A,#LOW ksSelMapCheck
+00191D 2F                ADD     A,R7
+00191E F582              MOV     DPL,A
+001920 E4                CLR     A
+001921 344D              ADDC    A,#HIGH ksSelMapCheck
+001923 F583              MOV     DPH,A
+001925 E0                MOVX    A,@DPTR
+001926 6E                XRL     A,R6
+001927 6023              JZ      ?C0051?KEYSCAN
   283: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
-00197D 74BC              MOV     A,#LOW ksSelMapCurr
-00197F 2F                ADD     A,R7
-001980 F582              MOV     DPL,A
-001982 E4                CLR     A
-001983 344D              ADDC    A,#HIGH ksSelMapCurr
-001985 F583              MOV     DPH,A
-001987 C083              PUSH    DPH
-001989 C082              PUSH    DPL
-00198B E0                MOVX    A,@DPTR
-00198C FE                MOV     R6,A
-00198D 74A8              MOV     A,#LOW ksSelMapCheck
-00198F 2F                ADD     A,R7
-001990 F582              MOV     DPL,A
-001992 E4                CLR     A
-001993 344D              ADDC    A,#HIGH ksSelMapCheck
-001995 F583              MOV     DPH,A
-001997 E0                MOVX    A,@DPTR
-001998 FD                MOV     R5,A
-001999 EE                MOV     A,R6
-00199A 5D                ANL     A,R5
-00199B D082              POP     DPL
-00199D D083              POP     DPH
-00199F F0                MOVX    @DPTR,A
+001929 74BC              MOV     A,#LOW ksSelMapCurr
+00192B 2F                ADD     A,R7
+00192C F582              MOV     DPL,A
+00192E E4                CLR     A
+00192F 344D              ADDC    A,#HIGH ksSelMapCurr
+001931 F583              MOV     DPH,A
+001933 C083              PUSH    DPH
+001935 C082              PUSH    DPL
+001937 E0                MOVX    A,@DPTR
+001938 FE                MOV     R6,A
+001939 74A8              MOV     A,#LOW ksSelMapCheck
+00193B 2F                ADD     A,R7
+00193C F582              MOV     DPL,A
+00193E E4                CLR     A
+00193F 344D              ADDC    A,#HIGH ksSelMapCheck
+001941 F583              MOV     DPH,A
+001943 E0                MOVX    A,@DPTR
+001944 FD                MOV     R5,A
+001945 EE                MOV     A,R6
+001946 5D                ANL     A,R5
+001947 D082              POP     DPL
+001949 D083              POP     DPH
+00194B F0                MOVX    @DPTR,A
   284: 		}
   285: 	}
-0019A0         ?C0051?KEYSCAN:
-0019A0 0F                INC     R7
-0019A1 80B9              SJMP    ?C0049?KEYSCAN
+00194C         ?C0051?KEYSCAN:
+00194C 0F                INC     R7
+00194D 80B9              SJMP    ?C0049?KEYSCAN
   286: }
-0019A3         ?C0053?KEYSCAN:
-0019A3 22                RET     
+00194F         ?C0053?KEYSCAN:
+00194F 22                RET     
 ----- FUNCTION KS_ScanMatrix (END) -------
 
 
@@ -5380,9 +5310,9 @@
    20: {
    21: 	GPIO_Setout(G24_LED_GPIO,LED_OFF);
    22: }
-0019A4 C201              CLR     ?_GPIO_Setout?BIT
-0019A6 7F1F              MOV     R7,#01FH
-0019A8 020328            LJMP    _GPIO_Setout
+001950 C201              CLR     ?_GPIO_Setout?BIT
+001952 7F1F              MOV     R7,#01FH
+001954 020328            LJMP    _GPIO_Setout
 ----- FUNCTION LED_device_poweroff (END) -------
 
 
@@ -5392,95 +5322,95 @@
   312: {
   313: 
   314: 	if (g_variable.delay_enter_lpm_timer) 
-0019AB 904CEA            MOV     DPTR,#g_variable+02BH
-0019AE E0                MOVX    A,@DPTR
-0019AF 6002              JZ      ?C0062?SYS
+001957 904CEA            MOV     DPTR,#g_variable+02BH
+00195A E0                MOVX    A,@DPTR
+00195B 6002              JZ      ?C0062?SYS
   315: 	{
   316: 		g_variable.delay_enter_lpm_timer --;
-0019B1 14                DEC     A
-0019B2 F0                MOVX    @DPTR,A
+00195D 14                DEC     A
+00195E F0                MOVX    @DPTR,A
   317: 	}
-0019B3         ?C0062?SYS:
+00195F         ?C0062?SYS:
   318: 
   319: 	if(g_variable.recon_delay)
-0019B3 904CEF            MOV     DPTR,#g_variable+030H
-0019B6 E0                MOVX    A,@DPTR
-0019B7 6002              JZ      ?C0063?SYS
+00195F 904CEF            MOV     DPTR,#g_variable+030H
+001962 E0                MOVX    A,@DPTR
+001963 6002              JZ      ?C0063?SYS
   320: 		g_variable.recon_delay--;
-0019B9 14                DEC     A
-0019BA F0                MOVX    @DPTR,A
-0019BB         ?C0063?SYS:
+001965 14                DEC     A
+001966 F0                MOVX    @DPTR,A
+001967         ?C0063?SYS:
   321: 
   322: 
   323: 	if(g_variable.one_key_press_wait_release_timer)
-0019BB 904CFA            MOV     DPTR,#g_variable+03BH
-0019BE E0                MOVX    A,@DPTR
-0019BF 600B              JZ      ?C0064?SYS
+001967 904CFA            MOV     DPTR,#g_variable+03BH
+00196A E0                MOVX    A,@DPTR
+00196B 600B              JZ      ?C0064?SYS
   324: 	{
   325: 		g_variable.one_key_press_wait_release_timer--;
-0019C1 14                DEC     A
-0019C2 F0                MOVX    @DPTR,A
+00196D 14                DEC     A
+00196E F0                MOVX    @DPTR,A
   326: 		if(!g_variable.one_key_press_wait_release_timer)
-0019C3 E0                MOVX    A,@DPTR
-0019C4 7006              JNZ     ?C0064?SYS
+00196F E0                MOVX    A,@DPTR
+001970 7006              JNZ     ?C0064?SYS
   327: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
-0019C6 904CF4            MOV     DPTR,#g_variable+035H
-0019C9 7406              MOV     A,#06H
-0019CB F0                MOVX    @DPTR,A
+001972 904CF4            MOV     DPTR,#g_variable+035H
+001975 7406              MOV     A,#06H
+001977 F0                MOVX    @DPTR,A
   328: 	}
-0019CC         ?C0064?SYS:
+001978         ?C0064?SYS:
   329: 
   330: 	if (g_variable.powerOn_timer != 0)
-0019CC 904CE5            MOV     DPTR,#g_variable+026H
-0019CF E0                MOVX    A,@DPTR
-0019D0 601F              JZ      ?C0066?SYS
+001978 904CE5            MOV     DPTR,#g_variable+026H
+00197B E0                MOVX    A,@DPTR
+00197C 601F              JZ      ?C0066?SYS
   331: 	{	
   332: 		if(g_variable.pairing_g24_timeout)
-0019D2 904CEE            MOV     DPTR,#g_variable+02FH
-0019D5 E0                MOVX    A,@DPTR
-0019D6 6006              JZ      ?C0067?SYS
+00197E 904CEE            MOV     DPTR,#g_variable+02FH
+001981 E0                MOVX    A,@DPTR
+001982 6006              JZ      ?C0067?SYS
   333: 		{
   334: 			g_variable.powerOn_timer = 0;
-0019D8 E4                CLR     A
-0019D9 904CE5            MOV     DPTR,#g_variable+026H
-0019DC F0                MOVX    @DPTR,A
-0019DD 22                RET     
+001984 E4                CLR     A
+001985 904CE5            MOV     DPTR,#g_variable+026H
+001988 F0                MOVX    @DPTR,A
+001989 22                RET     
   335: 			return;
   336: 		}
-0019DE         ?C0067?SYS:
+00198A         ?C0067?SYS:
   337: 			
   338: 		g_variable.powerOn_timer--;
-0019DE 904CE5            MOV     DPTR,#g_variable+026H
-0019E1 E0                MOVX    A,@DPTR
-0019E2 14                DEC     A
-0019E3 F0                MOVX    @DPTR,A
+00198A 904CE5            MOV     DPTR,#g_variable+026H
+00198D E0                MOVX    A,@DPTR
+00198E 14                DEC     A
+00198F F0                MOVX    @DPTR,A
   339: 		LED_device_poweron();
-0019E4 1207EE            LCALL   LED_device_poweron
+001990 1207EE            LCALL   LED_device_poweron
   340: 		if (!g_variable.powerOn_timer)
-0019E7 904CE5            MOV     DPTR,#g_variable+026H
-0019EA E0                MOVX    A,@DPTR
-0019EB 7012              JNZ     ?C0070?SYS
+001993 904CE5            MOV     DPTR,#g_variable+026H
+001996 E0                MOVX    A,@DPTR
+001997 7012              JNZ     ?C0070?SYS
   341: 		{
   342: 			LED_device_poweroff();
-0019ED 31A4              ACALL   LED_device_poweroff
+001999 3150              ACALL   LED_device_poweroff
   343: 		}
   344: 	}
-0019EF 800E              SJMP    ?C0070?SYS
-0019F1         ?C0066?SYS:
+00199B 800E              SJMP    ?C0070?SYS
+00199D         ?C0066?SYS:
   345: 	else
   346: 	if (g_variable.pairing_g24_timeout == 0) //bt  pairing
-0019F1 904CEE            MOV     DPTR,#g_variable+02FH
-0019F4 E0                MOVX    A,@DPTR
-0019F5 7008              JNZ     ?C0070?SYS
+00199D 904CEE            MOV     DPTR,#g_variable+02FH
+0019A0 E0                MOVX    A,@DPTR
+0019A1 7008              JNZ     ?C0070?SYS
   347: 	{
   348: 		if(g_variable.battery_low_led_flash_interval)
-0019F7 904CE2            MOV     DPTR,#g_variable+023H
-0019FA E0                MOVX    A,@DPTR
-0019FB 6002              JZ      ?C0070?SYS
+0019A3 904CE2            MOV     DPTR,#g_variable+023H
+0019A6 E0                MOVX    A,@DPTR
+0019A7 6002              JZ      ?C0070?SYS
   349: 		{
   350: 			g_variable.battery_low_led_flash_interval--;
-0019FD 14                DEC     A
-0019FE F0                MOVX    @DPTR,A
+0019A9 14                DEC     A
+0019AA F0                MOVX    @DPTR,A
   351: //			if(g_variable.battery_low_led_flash_interval & 0x02)
   352: //			{
   353: //				GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
@@ -5491,66 +5421,66 @@
   358: //				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
   359: 		}
   360: 	}
-0019FF         ?C0070?SYS:
+0019AB         ?C0070?SYS:
   361: 	
   362: // The dongle must receive data within 200ms, otherwise it will be forced to lift
   363: 	if(!long_press_flag)
-0019FF 904DD6            MOV     DPTR,#long_press_flag
-001A02 E0                MOVX    A,@DPTR
-001A03 702D              JNZ     ?C0073?SYS
+0019AB 904DD6            MOV     DPTR,#long_press_flag
+0019AE E0                MOVX    A,@DPTR
+0019AF 702D              JNZ     ?C0073?SYS
   364: 	{
   365: 		if (repeat_send_24g == 1)
-001A05 904DD7            MOV     DPTR,#repeat_send_24g
-001A08 E0                MOVX    A,@DPTR
-001A09 6401              XRL     A,#01H
-001A0B 7025              JNZ     ?C0073?SYS
+0019B1 904DD7            MOV     DPTR,#repeat_send_24g
+0019B4 E0                MOVX    A,@DPTR
+0019B5 6401              XRL     A,#01H
+0019B7 7025              JNZ     ?C0073?SYS
   366: 		{
   367: 			repeat_send_24g = 0;
-001A0D F0                MOVX    @DPTR,A
+0019B9 F0                MOVX    @DPTR,A
   368: 
   369: 			 if (multikey[0] != 0)
-001A0E 904DE9            MOV     DPTR,#multikey
-001A11 E0                MOVX    A,@DPTR
-001A12 600D              JZ      ?C0075?SYS
+0019BA 904DE9            MOV     DPTR,#multikey
+0019BD E0                MOVX    A,@DPTR
+0019BE 600D              JZ      ?C0075?SYS
   370: 			{
   371: 				IPC_TxHidData(multikey, 3);
-001A14 7B01              MOV     R3,#01H
-001A16 7A4D              MOV     R2,#HIGH multikey
-001A18 79E9              MOV     R1,#LOW multikey
-001A1A 7D03              MOV     R5,#03H
-001A1C 120B50            LCALL   _IPC_TxHidData
+0019C0 7B01              MOV     R3,#01H
+0019C2 7A4D              MOV     R2,#HIGH multikey
+0019C4 79E9              MOV     R1,#LOW multikey
+0019C6 7D03              MOV     R5,#03H
+0019C8 120B50            LCALL   _IPC_TxHidData
   372: 			}
-001A1F 8011              SJMP    ?C0073?SYS
-001A21         ?C0075?SYS:
+0019CB 8011              SJMP    ?C0073?SYS
+0019CD         ?C0075?SYS:
   373: 			else if (hidBuff[0] != 0)
-001A21 904800            MOV     DPTR,#hidBuff
-001A24 E0                MOVX    A,@DPTR
-001A25 600B              JZ      ?C0073?SYS
+0019CD 904800            MOV     DPTR,#hidBuff
+0019D0 E0                MOVX    A,@DPTR
+0019D1 600B              JZ      ?C0073?SYS
   374: 			{
   375: 
   376: 				IPC_TxHidData(hidBuff,9);
-001A27 7B01              MOV     R3,#01H
-001A29 7A48              MOV     R2,#HIGH hidBuff
-001A2B 7900              MOV     R1,#LOW hidBuff
-001A2D 7D09              MOV     R5,#09H
-001A2F 120B50            LCALL   _IPC_TxHidData
+0019D3 7B01              MOV     R3,#01H
+0019D5 7A48              MOV     R2,#HIGH hidBuff
+0019D7 7900              MOV     R1,#LOW hidBuff
+0019D9 7D09              MOV     R5,#09H
+0019DB 120B50            LCALL   _IPC_TxHidData
   377: 			}
   378: 		}
   379: 	}
-001A32         ?C0073?SYS:
+0019DE         ?C0073?SYS:
   380: 
   381: 	if (delayChgInvTimer != 0){
-001A32 904DE0            MOV     DPTR,#delayChgInvTimer
-001A35 E0                MOVX    A,@DPTR
-001A36 6003              JZ      ?C0068?SYS
+0019DE 904DE0            MOV     DPTR,#delayChgInvTimer
+0019E1 E0                MOVX    A,@DPTR
+0019E2 6003              JZ      ?C0068?SYS
   382: 		delayChgInvTimer--;
-001A38 E0                MOVX    A,@DPTR
-001A39 14                DEC     A
-001A3A F0                MOVX    @DPTR,A
+0019E4 E0                MOVX    A,@DPTR
+0019E5 14                DEC     A
+0019E6 F0                MOVX    @DPTR,A
   383: 	}
   384: }
-001A3B         ?C0068?SYS:
-001A3B 22                RET     
+0019E7         ?C0068?SYS:
+0019E7 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
@@ -5560,62 +5490,62 @@
    26: {
    27: 	if (power_on_flag != 2)
    28: 		return;
-001A3C 904DE5            MOV     DPTR,#power_on_flag
-001A3F E0                MOVX    A,@DPTR
-001A40 6402              XRL     A,#02H
-001A42 7037              JNZ     ?C0005?LED
-001A44         ?C0004?LED:
+0019E8 904DE5            MOV     DPTR,#power_on_flag
+0019EB E0                MOVX    A,@DPTR
+0019EC 6402              XRL     A,#02H
+0019EE 7037              JNZ     ?C0005?LED
+0019F0         ?C0004?LED:
    29: 
    30: 	if(!g_variable.pairing_timeout)
-001A44 904CE9            MOV     DPTR,#g_variable+02AH
-001A47 E0                MOVX    A,@DPTR
-001A48 7031              JNZ     ?C0005?LED
+0019F0 904CE9            MOV     DPTR,#g_variable+02AH
+0019F3 E0                MOVX    A,@DPTR
+0019F4 7031              JNZ     ?C0005?LED
    31: 	{
    32: 		//low battery LED process
    33: 		if (g_variable.battery_status == BAT_STATUS_SHUT_DOWN)
-001A4A 904CD5            MOV     DPTR,#g_variable+016H
-001A4D E0                MOVX    A,@DPTR
-001A4E B40203            CJNE    A,#02H,?C0007?LED
+0019F6 904CD5            MOV     DPTR,#g_variable+016H
+0019F9 E0                MOVX    A,@DPTR
+0019FA B40203            CJNE    A,#02H,?C0007?LED
    34: 		{
    35: 			System_long_sleep();
-001A51 02066E            LJMP    System_long_sleep
+0019FD 02066E            LJMP    System_long_sleep
    36: 		}
-001A54         ?C0007?LED:
+001A00         ?C0007?LED:
    37: 		else if (g_variable.battery_status == BAT_STATUS_LOW)
-001A54 904CD5            MOV     DPTR,#g_variable+016H
-001A57 E0                MOVX    A,@DPTR
-001A58 B40113            CJNE    A,#01H,?C0009?LED
+001A00 904CD5            MOV     DPTR,#g_variable+016H
+001A03 E0                MOVX    A,@DPTR
+001A04 B40113            CJNE    A,#01H,?C0009?LED
    38: 		{
    39: 			if (g_variable.battery_low_led_flash_flag == 0)
-001A5B 904CF7            MOV     DPTR,#g_variable+038H
-001A5E E0                MOVX    A,@DPTR
-001A5F 701A              JNZ     ?C0005?LED
+001A07 904CF7            MOV     DPTR,#g_variable+038H
+001A0A E0                MOVX    A,@DPTR
+001A0B 701A              JNZ     ?C0005?LED
    40: 			{
    41: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-001A61 904CE2            MOV     DPTR,#g_variable+023H
-001A64 740A              MOV     A,#0AH
-001A66 F0                MOVX    @DPTR,A
+001A0D 904CE2            MOV     DPTR,#g_variable+023H
+001A10 740A              MOV     A,#0AH
+001A12 F0                MOVX    @DPTR,A
    42: 				g_variable.battery_low_led_flash_flag = 1;
-001A67 904CF7            MOV     DPTR,#g_variable+038H
-001A6A 7401              MOV     A,#01H
-001A6C F0                MOVX    @DPTR,A
+001A13 904CF7            MOV     DPTR,#g_variable+038H
+001A16 7401              MOV     A,#01H
+001A18 F0                MOVX    @DPTR,A
    43: 			}
    44: 		}
-001A6D 22                RET     
-001A6E         ?C0009?LED:
+001A19 22                RET     
+001A1A         ?C0009?LED:
    45: 		else
    46: 		{
    47: 			if (g_variable.battery_low_led_flash_flag == 1)
-001A6E 904CF7            MOV     DPTR,#g_variable+038H
-001A71 E0                MOVX    A,@DPTR
-001A72 B40106            CJNE    A,#01H,?C0005?LED
+001A1A 904CF7            MOV     DPTR,#g_variable+038H
+001A1D E0                MOVX    A,@DPTR
+001A1E B40106            CJNE    A,#01H,?C0005?LED
    48: 			{
    49: 				g_variable.battery_low_led_flash_flag = 0;
-001A75 E4                CLR     A
-001A76 F0                MOVX    @DPTR,A
+001A21 E4                CLR     A
+001A22 F0                MOVX    @DPTR,A
    50: 				g_variable.battery_low_led_flash_interval = 0;
-001A77 904CE2            MOV     DPTR,#g_variable+023H
-001A7A F0                MOVX    @DPTR,A
+001A23 904CE2            MOV     DPTR,#g_variable+023H
+001A26 F0                MOVX    @DPTR,A
    51: //				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
    52: 			}
    53: 		}
@@ -5627,8 +5557,8 @@
    59: 	}
    60: 
    61: }
-001A7B         ?C0005?LED:
-001A7B 22                RET     
+001A27         ?C0005?LED:
+001A27 22                RET     
 ----- FUNCTION LED_handle (END) -------
 
 
@@ -5638,27 +5568,27 @@
    51: {
    52: 	System_clear_mem();
    53: 	YC_adc_init();
-001A7C 120EA7            LCALL   System_clear_mem
+001A28 120EAD            LCALL   System_clear_mem
    54: 	g_variable.release_data =1;
-001A7F 5199              ACALL   YC_adc_init
+001A2B 5145              ACALL   YC_adc_init
    55: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-001A81 904CEB            MOV     DPTR,#g_variable+02CH
-001A84 7401              MOV     A,#01H
-001A86 F0                MOVX    @DPTR,A
+001A2D 904CEB            MOV     DPTR,#g_variable+02CH
+001A30 7401              MOV     A,#01H
+001A32 F0                MOVX    @DPTR,A
    56: 	g_variable.recon_count = 0;
-001A87 904CE5            MOV     DPTR,#g_variable+026H
-001A8A 741E              MOV     A,#01EH
-001A8C F0                MOVX    @DPTR,A
+001A33 904CE5            MOV     DPTR,#g_variable+026H
+001A36 741E              MOV     A,#01EH
+001A38 F0                MOVX    @DPTR,A
    57: 	g_variable.test_buff = 0xff;
-001A8D E4                CLR     A
-001A8E 904CF0            MOV     DPTR,#g_variable+031H
-001A91 F0                MOVX    @DPTR,A
+001A39 E4                CLR     A
+001A3A 904CF0            MOV     DPTR,#g_variable+031H
+001A3D F0                MOVX    @DPTR,A
    58: }
-001A92 904D06            MOV     DPTR,#g_variable+047H
-001A95 74FF              MOV     A,#0FFH
-001A97 F0                MOVX    @DPTR,A
+001A3E 904D07            MOV     DPTR,#g_variable+048H
+001A41 74FF              MOV     A,#0FFH
+001A43 F0                MOVX    @DPTR,A
    59: 
-001A98 22                RET     
+001A44 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -5700,7 +5630,7 @@
    36: #endif	
    37: #endif
    38: }
-001A99 22                RET     
+001A45 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -5710,13 +5640,13 @@
    61: {
    62: 	m_reset_reg = 1;
    63: 	while(1);
-001A9A 908010            MOV     DPTR,#m_reset_reg
-001A9D 7401              MOV     A,#01H
-001A9F F0                MOVX    @DPTR,A
-001AA0         ?C0004?SYS:
+001A46 908010            MOV     DPTR,#m_reset_reg
+001A49 7401              MOV     A,#01H
+001A4B F0                MOVX    @DPTR,A
+001A4C         ?C0004?SYS:
    64: }
-001AA0 80FE              SJMP    ?C0004?SYS
-001AA2 22                RET     
+001A4C 80FE              SJMP    ?C0004?SYS
+001A4E 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -5726,7 +5656,7 @@
    78: {
    79: 	System_Hardware_reset();
    80: }
-001AA3 80F5              SJMP    System_Hardware_reset
+001A4F 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -5734,21 +5664,21 @@
  FILE: 'sys.c'
    87: static void kb_cb_Hid(byte *p,byte len) {
    88: 	//p[0] is hid type,always is 1(kb) now
-001AA5 904E92            MOV     DPTR,#len
-001AA8 ED                MOV     A,R5
-001AA9 F0                MOVX    @DPTR,A
+001A51 904E92            MOV     DPTR,#len
+001A54 ED                MOV     A,R5
+001A55 F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
    89: 	byte temp = p[1];
-001AAA 900001            MOV     DPTR,#01H
-001AAD 120112            LCALL   ?C?CLDOPTR
-001AB0 904E93            MOV     DPTR,#temp
-001AB3 F0                MOVX    @DPTR,A
+001A56 900001            MOV     DPTR,#01H
+001A59 120112            LCALL   ?C?CLDOPTR
+001A5C 904E93            MOV     DPTR,#temp
+001A5F F0                MOVX    @DPTR,A
    90: 
    91: 	if (len<2) {
    92: 		return;
    93: 	}
    94: }
-001AB4 22                RET     
+001A60 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
@@ -5759,63 +5689,63 @@
   203: 	
   204: //system long sleep timer
   205: 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-001AB5 904CC5            MOV     DPTR,#g_variable+06H
-001AB8 E0                MOVX    A,@DPTR
-001AB9 B40311            CJNE    A,#03H,?C0036?SYS
+001A61 904CC5            MOV     DPTR,#g_variable+06H
+001A64 E0                MOVX    A,@DPTR
+001A65 B40311            CJNE    A,#03H,?C0036?SYS
   206: 	{
   207: 		if (g_variable.sleepTimer == STANDBY_TIMER_10MIN)
-001ABC 904CE3            MOV     DPTR,#g_variable+024H
-001ABF E0                MOVX    A,@DPTR
-001AC0 6404              XRL     A,#04H
-001AC2 7004              JNZ     ?C0091?SYS
-001AC4 A3                INC     DPTR
-001AC5 E0                MOVX    A,@DPTR
-001AC6 64B0              XRL     A,#0B0H
-001AC8         ?C0091?SYS:
-001AC8 7028              JNZ     ?C0043?SYS
+001A68 904CE3            MOV     DPTR,#g_variable+024H
+001A6B E0                MOVX    A,@DPTR
+001A6C 6404              XRL     A,#04H
+001A6E 7004              JNZ     ?C0091?SYS
+001A70 A3                INC     DPTR
+001A71 E0                MOVX    A,@DPTR
+001A72 64B0              XRL     A,#0B0H
+001A74         ?C0091?SYS:
+001A74 7028              JNZ     ?C0043?SYS
   208: 			System_long_sleep();
-001ACA 02066E            LJMP    System_long_sleep
+001A76 02066E            LJMP    System_long_sleep
   209: 	}
-001ACD         ?C0036?SYS:
+001A79         ?C0036?SYS:
   210: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
-001ACD 904CC5            MOV     DPTR,#g_variable+06H
-001AD0 E0                MOVX    A,@DPTR
-001AD1 B4010F            CJNE    A,#01H,?C0039?SYS
+001A79 904CC5            MOV     DPTR,#g_variable+06H
+001A7C E0                MOVX    A,@DPTR
+001A7D B4010F            CJNE    A,#01H,?C0039?SYS
   211: 	{
   212: 		if (g_variable.sleepTimer == G24_PAIRING_TIME_OUT_20S)
-001AD4 904CE3            MOV     DPTR,#g_variable+024H
-001AD7 E0                MOVX    A,@DPTR
-001AD8 7004              JNZ     ?C0092?SYS
-001ADA A3                INC     DPTR
-001ADB E0                MOVX    A,@DPTR
-001ADC 6428              XRL     A,#028H
-001ADE         ?C0092?SYS:
-001ADE 7012              JNZ     ?C0043?SYS
+001A80 904CE3            MOV     DPTR,#g_variable+024H
+001A83 E0                MOVX    A,@DPTR
+001A84 7004              JNZ     ?C0092?SYS
+001A86 A3                INC     DPTR
+001A87 E0                MOVX    A,@DPTR
+001A88 6428              XRL     A,#028H
+001A8A         ?C0092?SYS:
+001A8A 7012              JNZ     ?C0043?SYS
   213: 		{
   214: 			System_long_sleep();
-001AE0 02066E            LJMP    System_long_sleep
+001A8C 02066E            LJMP    System_long_sleep
   215: 		}
   216: 	}
-001AE3         ?C0039?SYS:
+001A8F         ?C0039?SYS:
   217: 	else
   218: 	{
   219: 		if (g_variable.sleepTimer == RECONNECT_TIMER_10S)
-001AE3 904CE3            MOV     DPTR,#g_variable+024H
-001AE6 E0                MOVX    A,@DPTR
-001AE7 7004              JNZ     ?C0093?SYS
-001AE9 A3                INC     DPTR
-001AEA E0                MOVX    A,@DPTR
-001AEB 6414              XRL     A,#014H
-001AED         ?C0093?SYS:
-001AED 7003              JNZ     ?C0043?SYS
+001A8F 904CE3            MOV     DPTR,#g_variable+024H
+001A92 E0                MOVX    A,@DPTR
+001A93 7004              JNZ     ?C0093?SYS
+001A95 A3                INC     DPTR
+001A96 E0                MOVX    A,@DPTR
+001A97 6414              XRL     A,#014H
+001A99         ?C0093?SYS:
+001A99 7003              JNZ     ?C0043?SYS
   220: 		{
   221: 			System_long_sleep();
-001AEF 12066E            LCALL   System_long_sleep
+001A9B 12066E            LCALL   System_long_sleep
   222: 		}
   223: 	}
   224: }
-001AF2         ?C0043?SYS:
-001AF2 22                RET     
+001A9E         ?C0043?SYS:
+001A9E 22                RET     
 ----- FUNCTION YC_connect_timeout_500ms (END) -------
 
 
@@ -5825,25 +5755,25 @@
   297: {
   298: 	LED_timer500ms();	
   299: 
-001AF3 1202E8            LCALL   LED_timer500ms
+001A9F 1202E8            LCALL   LED_timer500ms
   300: 	g_variable.sleepTimer++;
-001AF6 904CE4            MOV     DPTR,#g_variable+025H
-001AF9 E0                MOVX    A,@DPTR
-001AFA 04                INC     A
-001AFB F0                MOVX    @DPTR,A
-001AFC 7006              JNZ     ?C0094?SYS
-001AFE 904CE3            MOV     DPTR,#g_variable+024H
-001B01 E0                MOVX    A,@DPTR
-001B02 04                INC     A
-001B03 F0                MOVX    @DPTR,A
-001B04         ?C0094?SYS:
+001AA2 904CE4            MOV     DPTR,#g_variable+025H
+001AA5 E0                MOVX    A,@DPTR
+001AA6 04                INC     A
+001AA7 F0                MOVX    @DPTR,A
+001AA8 7006              JNZ     ?C0094?SYS
+001AAA 904CE3            MOV     DPTR,#g_variable+024H
+001AAD E0                MOVX    A,@DPTR
+001AAE 04                INC     A
+001AAF F0                MOVX    @DPTR,A
+001AB0         ?C0094?SYS:
   301: 
   302: 	YC_adc_check_timer500ms();
-001B04 712A              ACALL   YC_adc_check_timer500ms
+001AB0 51D6              ACALL   YC_adc_check_timer500ms
   303: 	YC_connect_timeout_500ms();
-001B06 51B5              ACALL   YC_connect_timeout_500ms
+001AB2 5161              ACALL   YC_connect_timeout_500ms
   304: 	kb_button_press_timer500ms();
-001B08 120689            LCALL   kb_button_press_timer500ms
+001AB4 120689            LCALL   kb_button_press_timer500ms
 ;----                  JMP     YC_pairing_timerout_500ms
   305: 	YC_pairing_timerout_500ms();
   306: 	
@@ -5857,36 +5787,36 @@
   229: {
   230: //pairing timer
   231: 	if (g_variable.pairing_g24_timeout != 0)
-001B0B 904CEE            MOV     DPTR,#g_variable+02FH
-001B0E E0                MOVX    A,@DPTR
-001B0F 6018              JZ      ?C0046?SYS
+001AB7 904CEE            MOV     DPTR,#g_variable+02FH
+001ABA E0                MOVX    A,@DPTR
+001ABB 6018              JZ      ?C0046?SYS
   232: 	{
   233: 		g_variable.sleepTimer = 0;
-001B11 E4                CLR     A
-001B12 904CE3            MOV     DPTR,#g_variable+024H
-001B15 F0                MOVX    @DPTR,A
-001B16 A3                INC     DPTR
-001B17 F0                MOVX    @DPTR,A
+001ABD E4                CLR     A
+001ABE 904CE3            MOV     DPTR,#g_variable+024H
+001AC1 F0                MOVX    @DPTR,A
+001AC2 A3                INC     DPTR
+001AC3 F0                MOVX    @DPTR,A
   234: 		g_variable.pairing_g24_timeout--;
-001B18 904CEE            MOV     DPTR,#g_variable+02FH
-001B1B E0                MOVX    A,@DPTR
-001B1C 14                DEC     A
-001B1D F0                MOVX    @DPTR,A
+001AC4 904CEE            MOV     DPTR,#g_variable+02FH
+001AC7 E0                MOVX    A,@DPTR
+001AC8 14                DEC     A
+001AC9 F0                MOVX    @DPTR,A
   235: 		if (g_variable.pairing_g24_timeout == 0)
-001B1E E0                MOVX    A,@DPTR
-001B1F 7008              JNZ     ?C0046?SYS
+001ACA E0                MOVX    A,@DPTR
+001ACB 7008              JNZ     ?C0046?SYS
   236: 		{
   237: //			IPC_TxControlCmd(IPC_CMD_STOP_24G);
   238: 			Delay1ms(10);
-001B21 7F0A              MOV     R7,#0AH
-001B23 120579            LCALL   _Delay1ms
+001ACD 7F0A              MOV     R7,#0AH
+001ACF 120579            LCALL   _Delay1ms
   239: 			System_long_sleep();
-001B26 12066E            LCALL   System_long_sleep
+001AD2 12066E            LCALL   System_long_sleep
   240: 		}
   241: 	}
   242: }
-001B29         ?C0046?SYS:
-001B29 22                RET     
+001AD5         ?C0046?SYS:
+001AD5 22                RET     
 ----- FUNCTION YC_pairing_timerout_500ms (END) -------
 
 
@@ -5907,7 +5837,7 @@
   116: 	}
   117: #endif	
   118: }
-001B2A 22                RET     
+001AD6 22                RET     
 ----- FUNCTION YC_adc_check_timer500ms (END) -------
 
 
@@ -5975,7 +5905,7 @@
    99: 	g_variable.last_battery_status = g_variable.battery_status;
   100: #endif	
   101: }
-001B2B 22                RET     
+001AD7 22                RET     
 ----- FUNCTION YC_adc_check (END) -------
 
 
@@ -5985,688 +5915,829 @@
     6: {
     7: 	YC_System_Main();
     8: }
-001B2C 02090F            LJMP    YC_System_Main
+001AD8 02090F            LJMP    YC_System_Main
 ----- FUNCTION main (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-001B2F 904E76            MOV     DPTR,#rptr
-001B32 EE                MOV     A,R6
-001B33 F0                MOVX    @DPTR,A
-001B34 A3                INC     DPTR
-001B35 EF                MOV     A,R7
-001B36 F0                MOVX    @DPTR,A
-001B37 904E78            MOV     DPTR,#wptr
-001B3A EC                MOV     A,R4
-001B3B F0                MOVX    @DPTR,A
-001B3C A3                INC     DPTR
-001B3D ED                MOV     A,R5
-001B3E F0                MOVX    @DPTR,A
+001ADB 904E76            MOV     DPTR,#rptr
+001ADE EE                MOV     A,R6
+001ADF F0                MOVX    @DPTR,A
+001AE0 A3                INC     DPTR
+001AE1 EF                MOV     A,R7
+001AE2 F0                MOVX    @DPTR,A
+001AE3 904E78            MOV     DPTR,#wptr
+001AE6 EC                MOV     A,R4
+001AE7 F0                MOVX    @DPTR,A
+001AE8 A3                INC     DPTR
+001AE9 ED                MOV     A,R5
+001AEA F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-001B3F 904E78            MOV     DPTR,#wptr
-001B42 E0                MOVX    A,@DPTR
-001B43 FE                MOV     R6,A
-001B44 A3                INC     DPTR
-001B45 E0                MOVX    A,@DPTR
-001B46 FF                MOV     R7,A
-001B47 D3                SETB    C
-001B48 904E77            MOV     DPTR,#rptr+01H
-001B4B E0                MOVX    A,@DPTR
-001B4C 9F                SUBB    A,R7
-001B4D 904E76            MOV     DPTR,#rptr
-001B50 E0                MOVX    A,@DPTR
-001B51 9E                SUBB    A,R6
-001B52 4016              JC      ?C0001?IPC
-001B54 904E78            MOV     DPTR,#wptr
-001B57 E0                MOVX    A,@DPTR
-001B58 FE                MOV     R6,A
-001B59 A3                INC     DPTR
-001B5A E0                MOVX    A,@DPTR
-001B5B FF                MOV     R7,A
-001B5C 904E77            MOV     DPTR,#rptr+01H
-001B5F E0                MOVX    A,@DPTR
-001B60 9F                SUBB    A,R7
-001B61 FF                MOV     R7,A
-001B62 904E76            MOV     DPTR,#rptr
-001B65 E0                MOVX    A,@DPTR
-001B66 9E                SUBB    A,R6
-001B67 FE                MOV     R6,A
-001B68 801E              SJMP    ?C0002?IPC
-001B6A         ?C0001?IPC:
-001B6A 904E76            MOV     DPTR,#rptr
-001B6D E0                MOVX    A,@DPTR
-001B6E FE                MOV     R6,A
-001B6F A3                INC     DPTR
-001B70 E0                MOVX    A,@DPTR
-001B71 FF                MOV     R7,A
-001B72 C3                CLR     C
-001B73 904E79            MOV     DPTR,#wptr+01H
-001B76 E0                MOVX    A,@DPTR
-001B77 9F                SUBB    A,R7
-001B78 FF                MOV     R7,A
-001B79 904E78            MOV     DPTR,#wptr
-001B7C E0                MOVX    A,@DPTR
-001B7D 9E                SUBB    A,R6
-001B7E FE                MOV     R6,A
-001B7F AD03              MOV     R5,AR3
-001B81 C3                CLR     C
-001B82 EB                MOV     A,R3
-001B83 9F                SUBB    A,R7
-001B84 FF                MOV     R7,A
-001B85 E4                CLR     A
-001B86 9E                SUBB    A,R6
-001B87 FE                MOV     R6,A
-001B88         ?C0002?IPC:
-001B88 22                RET     
+001AEB 904E78            MOV     DPTR,#wptr
+001AEE E0                MOVX    A,@DPTR
+001AEF FE                MOV     R6,A
+001AF0 A3                INC     DPTR
+001AF1 E0                MOVX    A,@DPTR
+001AF2 FF                MOV     R7,A
+001AF3 D3                SETB    C
+001AF4 904E77            MOV     DPTR,#rptr+01H
+001AF7 E0                MOVX    A,@DPTR
+001AF8 9F                SUBB    A,R7
+001AF9 904E76            MOV     DPTR,#rptr
+001AFC E0                MOVX    A,@DPTR
+001AFD 9E                SUBB    A,R6
+001AFE 4016              JC      ?C0001?IPC
+001B00 904E78            MOV     DPTR,#wptr
+001B03 E0                MOVX    A,@DPTR
+001B04 FE                MOV     R6,A
+001B05 A3                INC     DPTR
+001B06 E0                MOVX    A,@DPTR
+001B07 FF                MOV     R7,A
+001B08 904E77            MOV     DPTR,#rptr+01H
+001B0B E0                MOVX    A,@DPTR
+001B0C 9F                SUBB    A,R7
+001B0D FF                MOV     R7,A
+001B0E 904E76            MOV     DPTR,#rptr
+001B11 E0                MOVX    A,@DPTR
+001B12 9E                SUBB    A,R6
+001B13 FE                MOV     R6,A
+001B14 801E              SJMP    ?C0002?IPC
+001B16         ?C0001?IPC:
+001B16 904E76            MOV     DPTR,#rptr
+001B19 E0                MOVX    A,@DPTR
+001B1A FE                MOV     R6,A
+001B1B A3                INC     DPTR
+001B1C E0                MOVX    A,@DPTR
+001B1D FF                MOV     R7,A
+001B1E C3                CLR     C
+001B1F 904E79            MOV     DPTR,#wptr+01H
+001B22 E0                MOVX    A,@DPTR
+001B23 9F                SUBB    A,R7
+001B24 FF                MOV     R7,A
+001B25 904E78            MOV     DPTR,#wptr
+001B28 E0                MOVX    A,@DPTR
+001B29 9E                SUBB    A,R6
+001B2A FE                MOV     R6,A
+001B2B AD03              MOV     R5,AR3
+001B2D C3                CLR     C
+001B2E EB                MOV     A,R3
+001B2F 9F                SUBB    A,R7
+001B30 FF                MOV     R7,A
+001B31 E4                CLR     A
+001B32 9E                SUBB    A,R6
+001B33 FE                MOV     R6,A
+001B34         ?C0002?IPC:
+001B34 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-001B89 904E94            MOV     DPTR,#dest
-001B8C EE                MOV     A,R6
-001B8D F0                MOVX    @DPTR,A
-001B8E A3                INC     DPTR
-001B8F EF                MOV     A,R7
-001B90 F0                MOVX    @DPTR,A
+001B35 904E94            MOV     DPTR,#dest
+001B38 EE                MOV     A,R6
+001B39 F0                MOVX    @DPTR,A
+001B3A A3                INC     DPTR
+001B3B EF                MOV     A,R7
+001B3C F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-001B91 A905              MOV     R1,AR5
-001B93 904B9E            MOV     DPTR,#ipcRxReadPtr
-001B96 E0                MOVX    A,@DPTR
-001B97 FE                MOV     R6,A
-001B98 A3                INC     DPTR
-001B99 E0                MOVX    A,@DPTR
-001B9A FF                MOV     R7,A
+001B3D A905              MOV     R1,AR5
+001B3F 904B9E            MOV     DPTR,#ipcRxReadPtr
+001B42 E0                MOVX    A,@DPTR
+001B43 FE                MOV     R6,A
+001B44 A3                INC     DPTR
+001B45 E0                MOVX    A,@DPTR
+001B46 FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-001B9B         ?C0004?IPC:
-001B9B AD01              MOV     R5,AR1
-001B9D 19                DEC     R1
-001B9E ED                MOV     A,R5
-001B9F 602F              JZ      ?C0005?IPC
-001BA1 0F                INC     R7
-001BA2 EF                MOV     A,R7
-001BA3 AC06              MOV     R4,AR6
-001BA5 7001              JNZ     ?C0036?IPC
-001BA7 0E                INC     R6
-001BA8         ?C0036?IPC:
-001BA8 14                DEC     A
-001BA9 F582              MOV     DPL,A
-001BAB 8C83              MOV     DPH,R4
-001BAD E0                MOVX    A,@DPTR
-001BAE FD                MOV     R5,A
-001BAF 904E94            MOV     DPTR,#dest
-001BB2 E4                CLR     A
-001BB3 75F001            MOV     B,#01H
-001BB6 120167            LCALL   ?C?ILDIX
-001BB9 85F082            MOV     DPL,B
-001BBC F583              MOV     DPH,A
-001BBE ED                MOV     A,R5
-001BBF F0                MOVX    @DPTR,A
-001BC0 AD07              MOV     R5,AR7
-001BC2 AC06              MOV     R4,AR6
-001BC4 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-001BC7 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-001BCA 7E4B              MOV     R6,#04BH
-001BCC 7F36              MOV     R7,#036H
-001BCE 80CB              SJMP    ?C0004?IPC
-001BD0         ?C0005?IPC:
-001BD0 904B9E            MOV     DPTR,#ipcRxReadPtr
-001BD3 EE                MOV     A,R6
-001BD4 F0                MOVX    @DPTR,A
-001BD5 A3                INC     DPTR
-001BD6 EF                MOV     A,R7
-001BD7 F0                MOVX    @DPTR,A
-001BD8 22                RET     
+001B47         ?C0004?IPC:
+001B47 AD01              MOV     R5,AR1
+001B49 19                DEC     R1
+001B4A ED                MOV     A,R5
+001B4B 602F              JZ      ?C0005?IPC
+001B4D 0F                INC     R7
+001B4E EF                MOV     A,R7
+001B4F AC06              MOV     R4,AR6
+001B51 7001              JNZ     ?C0036?IPC
+001B53 0E                INC     R6
+001B54         ?C0036?IPC:
+001B54 14                DEC     A
+001B55 F582              MOV     DPL,A
+001B57 8C83              MOV     DPH,R4
+001B59 E0                MOVX    A,@DPTR
+001B5A FD                MOV     R5,A
+001B5B 904E94            MOV     DPTR,#dest
+001B5E E4                CLR     A
+001B5F 75F001            MOV     B,#01H
+001B62 120167            LCALL   ?C?ILDIX
+001B65 85F082            MOV     DPL,B
+001B68 F583              MOV     DPH,A
+001B6A ED                MOV     A,R5
+001B6B F0                MOVX    @DPTR,A
+001B6C AD07              MOV     R5,AR7
+001B6E AC06              MOV     R4,AR6
+001B70 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+001B73 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+001B76 7E4B              MOV     R6,#04BH
+001B78 7F36              MOV     R7,#036H
+001B7A 80CB              SJMP    ?C0004?IPC
+001B7C         ?C0005?IPC:
+001B7C 904B9E            MOV     DPTR,#ipcRxReadPtr
+001B7F EE                MOV     A,R6
+001B80 F0                MOVX    @DPTR,A
+001B81 A3                INC     DPTR
+001B82 EF                MOV     A,R7
+001B83 F0                MOVX    @DPTR,A
+001B84 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION IPC_DealSingleStep (BEGIN) -----
-001BD9 7A0C              MOV     R2,#HIGH ipcReadBuff
-001BDB 794B              MOV     R1,#LOW ipcReadBuff
-001BDD 904E84            MOV     DPTR,#pbuff
-001BE0 7401              MOV     A,#01H
-001BE2 F0                MOVX    @DPTR,A
-001BE3 A3                INC     DPTR
-001BE4 740C              MOV     A,#HIGH ipcReadBuff
-001BE6 F0                MOVX    @DPTR,A
-001BE7 A3                INC     DPTR
-001BE8 744B              MOV     A,#LOW ipcReadBuff
-001BEA F0                MOVX    @DPTR,A
-001BEB 904BA0            MOV     DPTR,#ipcRxWritePtr
-001BEE E0                MOVX    A,@DPTR
-001BEF FE                MOV     R6,A
-001BF0 A3                INC     DPTR
-001BF1 E0                MOVX    A,@DPTR
-001BF2 FF                MOV     R7,A
-001BF3 904B9E            MOV     DPTR,#ipcRxReadPtr
-001BF6 E0                MOVX    A,@DPTR
-001BF7 6E                XRL     A,R6
-001BF8 7003              JNZ     ?C0038?IPC
-001BFA A3                INC     DPTR
-001BFB E0                MOVX    A,@DPTR
-001BFC 6F                XRL     A,R7
-001BFD         ?C0038?IPC:
-001BFD 6046              JZ      ?C0029?IPC
-001BFF         ?C0023?IPC:
-001BFF 7E0C              MOV     R6,#HIGH ipcReadBuff
-001C01 7F4B              MOV     R7,#LOW ipcReadBuff
-001C03 7D03              MOV     R5,#03H
-001C05 7189              ACALL   _ipcRx
-001C07 904E84            MOV     DPTR,#pbuff
-001C0A E0                MOVX    A,@DPTR
-001C0B FB                MOV     R3,A
-001C0C A3                INC     DPTR
-001C0D E0                MOVX    A,@DPTR
-001C0E FA                MOV     R2,A
-001C0F A3                INC     DPTR
-001C10 E0                MOVX    A,@DPTR
-001C11 F9                MOV     R1,A
-001C12 1200F9            LCALL   ?C?CLDPTR
-001C15 B4022B            CJNE    A,#02H,?C0027?IPC
-001C18 904E85            MOV     DPTR,#pbuff+01H
-001C1B E4                CLR     A
-001C1C 75F002            MOV     B,#02H
-001C1F 120151            LCALL   ?C?IILDX
-001C22 904E84            MOV     DPTR,#pbuff
-001C25 E0                MOVX    A,@DPTR
-001C26 FB                MOV     R3,A
-001C27 A3                INC     DPTR
-001C28 E0                MOVX    A,@DPTR
-001C29 FA                MOV     R2,A
-001C2A A3                INC     DPTR
-001C2B E0                MOVX    A,@DPTR
-001C2C F9                MOV     R1,A
-001C2D 1200F9            LCALL   ?C?CLDPTR
-001C30 FF                MOV     R7,A
-001C31 904E05            MOV     DPTR,#ipcCb
+001B85 7A0C              MOV     R2,#HIGH ipcReadBuff
+001B87 794B              MOV     R1,#LOW ipcReadBuff
+001B89 904E84            MOV     DPTR,#pbuff
+001B8C 7401              MOV     A,#01H
+001B8E F0                MOVX    @DPTR,A
+001B8F A3                INC     DPTR
+001B90 740C              MOV     A,#HIGH ipcReadBuff
+001B92 F0                MOVX    @DPTR,A
+001B93 A3                INC     DPTR
+001B94 744B              MOV     A,#LOW ipcReadBuff
+001B96 F0                MOVX    @DPTR,A
+001B97 904BA0            MOV     DPTR,#ipcRxWritePtr
+001B9A E0                MOVX    A,@DPTR
+001B9B FE                MOV     R6,A
+001B9C A3                INC     DPTR
+001B9D E0                MOVX    A,@DPTR
+001B9E FF                MOV     R7,A
+001B9F 904B9E            MOV     DPTR,#ipcRxReadPtr
+001BA2 E0                MOVX    A,@DPTR
+001BA3 6E                XRL     A,R6
+001BA4 7003              JNZ     ?C0038?IPC
+001BA6 A3                INC     DPTR
+001BA7 E0                MOVX    A,@DPTR
+001BA8 6F                XRL     A,R7
+001BA9         ?C0038?IPC:
+001BA9 6046              JZ      ?C0029?IPC
+001BAB         ?C0023?IPC:
+001BAB 7E0C              MOV     R6,#HIGH ipcReadBuff
+001BAD 7F4B              MOV     R7,#LOW ipcReadBuff
+001BAF 7D03              MOV     R5,#03H
+001BB1 7135              ACALL   _ipcRx
+001BB3 904E84            MOV     DPTR,#pbuff
+001BB6 E0                MOVX    A,@DPTR
+001BB7 FB                MOV     R3,A
+001BB8 A3                INC     DPTR
+001BB9 E0                MOVX    A,@DPTR
+001BBA FA                MOV     R2,A
+001BBB A3                INC     DPTR
+001BBC E0                MOVX    A,@DPTR
+001BBD F9                MOV     R1,A
+001BBE 1200F9            LCALL   ?C?CLDPTR
+001BC1 B4022B            CJNE    A,#02H,?C0027?IPC
+001BC4 904E85            MOV     DPTR,#pbuff+01H
+001BC7 E4                CLR     A
+001BC8 75F002            MOV     B,#02H
+001BCB 120151            LCALL   ?C?IILDX
+001BCE 904E84            MOV     DPTR,#pbuff
+001BD1 E0                MOVX    A,@DPTR
+001BD2 FB                MOV     R3,A
+001BD3 A3                INC     DPTR
+001BD4 E0                MOVX    A,@DPTR
+001BD5 FA                MOV     R2,A
+001BD6 A3                INC     DPTR
+001BD7 E0                MOVX    A,@DPTR
+001BD8 F9                MOV     R1,A
+001BD9 1200F9            LCALL   ?C?CLDPTR
+001BDC FF                MOV     R7,A
+001BDD 904E05            MOV     DPTR,#ipcCb
+001BE0 E0                MOVX    A,@DPTR
+001BE1 A3                INC     DPTR
+001BE2 E0                MOVX    A,@DPTR
+001BE3 FA                MOV     R2,A
+001BE4 A3                INC     DPTR
+001BE5 E0                MOVX    A,@DPTR
+001BE6 F582              MOV     DPL,A
+001BE8 8A83              MOV     DPH,R2
+001BEA 120181            LCALL   ?C?ICALL2
+001BED 8002              SJMP    ?C0029?IPC
+001BEF         ?C0027?IPC:
+001BEF 80FE              SJMP    ?C0027?IPC
+001BF1         IPC_TIMER:
+001BF1         ?C0029?IPC:
+001BF1 904BA5            MOV     DPTR,#bttimer
+001BF4 E0                MOVX    A,@DPTR
+001BF5 FE                MOV     R6,A
+001BF6 A3                INC     DPTR
+001BF7 E0                MOVX    A,@DPTR
+001BF8 FF                MOV     R7,A
+001BF9 904C5E            MOV     DPTR,#c51timer
+001BFC E0                MOVX    A,@DPTR
+001BFD 6E                XRL     A,R6
+001BFE 7003              JNZ     ?C0039?IPC
+001C00 A3                INC     DPTR
+001C01 E0                MOVX    A,@DPTR
+001C02 6F                XRL     A,R7
+001C03         ?C0039?IPC:
+001C03 6022              JZ      ?C0033?IPC
+001C05 904E0B            MOV     DPTR,#ipcCb+06H
+001C08 E0                MOVX    A,@DPTR
+001C09 FB                MOV     R3,A
+001C0A A3                INC     DPTR
+001C0B E0                MOVX    A,@DPTR
+001C0C FA                MOV     R2,A
+001C0D A3                INC     DPTR
+001C0E E0                MOVX    A,@DPTR
+001C0F F9                MOV     R1,A
+001C10 4A                ORL     A,R2
+001C11 6037              JZ      ?C0032?IPC
+001C13         ?C0031?IPC:
+001C13 12017D            LCALL   ?C?ICALL
+001C16 904BA5            MOV     DPTR,#bttimer
+001C19 E0                MOVX    A,@DPTR
+001C1A FF                MOV     R7,A
+001C1B A3                INC     DPTR
+001C1C E0                MOVX    A,@DPTR
+001C1D 904C5E            MOV     DPTR,#c51timer
+001C20 CF                XCH     A,R7
+001C21 F0                MOVX    @DPTR,A
+001C22 A3                INC     DPTR
+001C23 EF                MOV     A,R7
+001C24 F0                MOVX    @DPTR,A
+001C25 80CA              SJMP    ?C0029?IPC
+001C27         ?C0033?IPC:
+001C27 904C8D            MOV     DPTR,#btstimer
+001C2A E0                MOVX    A,@DPTR
+001C2B FF                MOV     R7,A
+001C2C A3                INC     DPTR
+001C2D E0                MOVX    A,@DPTR
+001C2E 6F                XRL     A,R7
+001C2F 6019              JZ      ?C0032?IPC
+001C31 904E0E            MOV     DPTR,#ipcCb+09H
 001C34 E0                MOVX    A,@DPTR
-001C35 A3                INC     DPTR
-001C36 E0                MOVX    A,@DPTR
-001C37 FA                MOV     R2,A
-001C38 A3                INC     DPTR
-001C39 E0                MOVX    A,@DPTR
-001C3A F582              MOV     DPL,A
-001C3C 8A83              MOV     DPH,R2
-001C3E 120181            LCALL   ?C?ICALL2
-001C41 8002              SJMP    ?C0029?IPC
-001C43         ?C0027?IPC:
-001C43 80FE              SJMP    ?C0027?IPC
-001C45         IPC_TIMER:
-001C45         ?C0029?IPC:
-001C45 904BA5            MOV     DPTR,#bttimer
-001C48 E0                MOVX    A,@DPTR
-001C49 FE                MOV     R6,A
-001C4A A3                INC     DPTR
-001C4B E0                MOVX    A,@DPTR
-001C4C FF                MOV     R7,A
-001C4D 904C5E            MOV     DPTR,#c51timer
-001C50 E0                MOVX    A,@DPTR
-001C51 6E                XRL     A,R6
-001C52 7003              JNZ     ?C0039?IPC
-001C54 A3                INC     DPTR
-001C55 E0                MOVX    A,@DPTR
-001C56 6F                XRL     A,R7
-001C57         ?C0039?IPC:
-001C57 6022              JZ      ?C0033?IPC
-001C59 904E0B            MOV     DPTR,#ipcCb+06H
-001C5C E0                MOVX    A,@DPTR
-001C5D FB                MOV     R3,A
-001C5E A3                INC     DPTR
-001C5F E0                MOVX    A,@DPTR
-001C60 FA                MOV     R2,A
-001C61 A3                INC     DPTR
-001C62 E0                MOVX    A,@DPTR
-001C63 F9                MOV     R1,A
-001C64 4A                ORL     A,R2
-001C65 6037              JZ      ?C0032?IPC
-001C67         ?C0031?IPC:
-001C67 12017D            LCALL   ?C?ICALL
-001C6A 904BA5            MOV     DPTR,#bttimer
-001C6D E0                MOVX    A,@DPTR
-001C6E FF                MOV     R7,A
-001C6F A3                INC     DPTR
-001C70 E0                MOVX    A,@DPTR
-001C71 904C5E            MOV     DPTR,#c51timer
-001C74 CF                XCH     A,R7
-001C75 F0                MOVX    @DPTR,A
-001C76 A3                INC     DPTR
-001C77 EF                MOV     A,R7
-001C78 F0                MOVX    @DPTR,A
-001C79 80CA              SJMP    ?C0029?IPC
-001C7B         ?C0033?IPC:
-001C7B 904C8D            MOV     DPTR,#btstimer
-001C7E E0                MOVX    A,@DPTR
-001C7F FF                MOV     R7,A
-001C80 A3                INC     DPTR
-001C81 E0                MOVX    A,@DPTR
-001C82 6F                XRL     A,R7
-001C83 6019              JZ      ?C0032?IPC
-001C85 904E0E            MOV     DPTR,#ipcCb+09H
-001C88 E0                MOVX    A,@DPTR
-001C89 FB                MOV     R3,A
-001C8A A3                INC     DPTR
-001C8B E0                MOVX    A,@DPTR
-001C8C FA                MOV     R2,A
-001C8D A3                INC     DPTR
-001C8E E0                MOVX    A,@DPTR
-001C8F F9                MOV     R1,A
-001C90 4A                ORL     A,R2
-001C91 600B              JZ      ?C0032?IPC
-001C93         ?C0035?IPC:
-001C93 12017D            LCALL   ?C?ICALL
-001C96 904C8D            MOV     DPTR,#btstimer
-001C99 E0                MOVX    A,@DPTR
-001C9A A3                INC     DPTR
-001C9B F0                MOVX    @DPTR,A
-001C9C 80DD              SJMP    ?C0033?IPC
-001C9E         ?C0032?IPC:
-001C9E 22                RET     
+001C35 FB                MOV     R3,A
+001C36 A3                INC     DPTR
+001C37 E0                MOVX    A,@DPTR
+001C38 FA                MOV     R2,A
+001C39 A3                INC     DPTR
+001C3A E0                MOVX    A,@DPTR
+001C3B F9                MOV     R1,A
+001C3C 4A                ORL     A,R2
+001C3D 600B              JZ      ?C0032?IPC
+001C3F         ?C0035?IPC:
+001C3F 12017D            LCALL   ?C?ICALL
+001C42 904C8D            MOV     DPTR,#btstimer
+001C45 E0                MOVX    A,@DPTR
+001C46 A3                INC     DPTR
+001C47 F0                MOVX    @DPTR,A
+001C48 80DD              SJMP    ?C0033?IPC
+001C4A         ?C0032?IPC:
+001C4A 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
 ----- FUNCTION _IPC_TxData (BEGIN) -----
-001C9F 904E9C            MOV     DPTR,#len
-001CA2 ED                MOV     A,R5
-001CA3 F0                MOVX    @DPTR,A
+001C4B 904E9C            MOV     DPTR,#len
+001C4E ED                MOV     A,R5
+001C4F F0                MOVX    @DPTR,A
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-001CA4 E0                MOVX    A,@DPTR
-001CA5 FD                MOV     R5,A
-001CA6 900BE8            MOV     DPTR,#ipcSendBuff+01H
-001CA9 F0                MOVX    @DPTR,A
-001CAA 7E0B              MOV     R6,#HIGH ipcSendBuff+02H
-001CAC 7FE9              MOV     R7,#LOW ipcSendBuff+02H
-001CAE 904E63            MOV     DPTR,#?_xmemcpy?BYTE+05H
-001CB1 ED                MOV     A,R5
-001CB2 F0                MOVX    @DPTR,A
-001CB3 120539            LCALL   _xmemcpy
-001CB6 7B01              MOV     R3,#01H
-001CB8 7A0B              MOV     R2,#HIGH ipcSendBuff
-001CBA 79E7              MOV     R1,#LOW ipcSendBuff
-001CBC 904E9C            MOV     DPTR,#len
-001CBF E0                MOVX    A,@DPTR
-001CC0 2402              ADD     A,#02H
-001CC2 FD                MOV     R5,A
-001CC3 020752            LJMP    _ipcTx
+001C50 E0                MOVX    A,@DPTR
+001C51 FD                MOV     R5,A
+001C52 900BE8            MOV     DPTR,#ipcSendBuff+01H
+001C55 F0                MOVX    @DPTR,A
+001C56 7E0B              MOV     R6,#HIGH ipcSendBuff+02H
+001C58 7FE9              MOV     R7,#LOW ipcSendBuff+02H
+001C5A 904E63            MOV     DPTR,#?_xmemcpy?BYTE+05H
+001C5D ED                MOV     A,R5
+001C5E F0                MOVX    @DPTR,A
+001C5F 120539            LCALL   _xmemcpy
+001C62 7B01              MOV     R3,#01H
+001C64 7A0B              MOV     R2,#HIGH ipcSendBuff
+001C66 79E7              MOV     R1,#LOW ipcSendBuff
+001C68 904E9C            MOV     DPTR,#len
+001C6B E0                MOVX    A,@DPTR
+001C6C 2402              ADD     A,#02H
+001C6E FD                MOV     R5,A
+001C6F 020752            LJMP    _ipcTx
 ----- FUNCTION _IPC_TxData (END) -------
 
 
 ----- FUNCTION _IPC_Tx24GData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-001CC6 900BE7            MOV     DPTR,#ipcSendBuff
-001CC9 7406              MOV     A,#06H
-001CCB F0                MOVX    @DPTR,A
-001CCC 80D1              SJMP    _IPC_TxData
+001C72 900BE7            MOV     DPTR,#ipcSendBuff
+001C75 7406              MOV     A,#06H
+001C77 F0                MOVX    @DPTR,A
+001C78 80D1              SJMP    _IPC_TxData
 ----- FUNCTION _IPC_Tx24GData (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-001CCE 900446            MOV     DPTR,#bbDisReason
-001CD1 E0                MOVX    A,@DPTR
-001CD2 FF                MOV     R7,A
-001CD3 22                RET     
+001C7A 900446            MOV     DPTR,#bbDisReason
+001C7D E0                MOVX    A,@DPTR
+001C7E FF                MOV     R7,A
+001C7F 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-001CD4 900B7F            MOV     DPTR,#lpm_flag
-001CD7 7401              MOV     A,#01H
-001CD9 F0                MOVX    @DPTR,A
-001CDA E4                CLR     A
-001CDB 900B7E            MOV     DPTR,#current_task
-001CDE F0                MOVX    @DPTR,A
-001CDF 22                RET     
+001C80 900B7F            MOV     DPTR,#lpm_flag
+001C83 7401              MOV     A,#01H
+001C85 F0                MOVX    @DPTR,A
+001C86 E4                CLR     A
+001C87 900B7E            MOV     DPTR,#current_task
+001C8A F0                MOVX    @DPTR,A
+001C8B 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
 ----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-001CE0 904B9C            MOV     DPTR,#ipcTxWritePtr
-001CE3 E0                MOVX    A,@DPTR
-001CE4 FE                MOV     R6,A
-001CE5 A3                INC     DPTR
-001CE6 E0                MOVX    A,@DPTR
-001CE7 FF                MOV     R7,A
-001CE8 904B9A            MOV     DPTR,#ipcTxReadPtr
-001CEB E0                MOVX    A,@DPTR
-001CEC B50607            CJNE    A,AR6,?C0021?IPC
-001CEF A3                INC     DPTR
-001CF0 E0                MOVX    A,@DPTR
-001CF1 B50702            CJNE    A,AR7,?C0021?IPC
-001CF4 D3                SETB    C
-001CF5 22                RET     
-001CF6         ?C0021?IPC:
-001CF6 C3                CLR     C
-001CF7 22                RET     
+001C8C 904B9C            MOV     DPTR,#ipcTxWritePtr
+001C8F E0                MOVX    A,@DPTR
+001C90 FE                MOV     R6,A
+001C91 A3                INC     DPTR
+001C92 E0                MOVX    A,@DPTR
+001C93 FF                MOV     R7,A
+001C94 904B9A            MOV     DPTR,#ipcTxReadPtr
+001C97 E0                MOVX    A,@DPTR
+001C98 B50607            CJNE    A,AR6,?C0021?IPC
+001C9B A3                INC     DPTR
+001C9C E0                MOVX    A,@DPTR
+001C9D B50702            CJNE    A,AR7,?C0021?IPC
+001CA0 D3                SETB    C
+001CA1 22                RET     
+001CA2         ?C0021?IPC:
+001CA2 C3                CLR     C
+001CA3 22                RET     
 ----- FUNCTION IPC_IsTxBuffEmpty (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-001CF8 908280            MOV     DPTR,#08280H
-001CFB 7401              MOV     A,#01H
-001CFD F0                MOVX    @DPTR,A
-001CFE 22                RET     
+001CA4 908280            MOV     DPTR,#08280H
+001CA7 7401              MOV     A,#01H
+001CA9 F0                MOVX    @DPTR,A
+001CAA 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _dmemcpy (BEGIN) -----
-001CFF 904E3B            MOV     DPTR,#dest
-001D02 EB                MOV     A,R3
-001D03 F0                MOVX    @DPTR,A
-001D04 A3                INC     DPTR
-001D05 EA                MOV     A,R2
-001D06 F0                MOVX    @DPTR,A
-001D07 A3                INC     DPTR
-001D08 E9                MOV     A,R1
-001D09 F0                MOVX    @DPTR,A
-001D0A         ?C0005?UTILITIES:
-001D0A 904E41            MOV     DPTR,#len
-001D0D 74FF              MOV     A,#0FFH
-001D0F F5F0              MOV     B,A
-001D11 120167            LCALL   ?C?ILDIX
-001D14 45F0              ORL     A,B
-001D16 602A              JZ      ?C0007?UTILITIES
-001D18 904E3E            MOV     DPTR,#src
-001D1B E0                MOVX    A,@DPTR
-001D1C FB                MOV     R3,A
-001D1D A3                INC     DPTR
-001D1E E4                CLR     A
-001D1F 75F001            MOV     B,#01H
-001D22 120167            LCALL   ?C?ILDIX
-001D25 A9F0              MOV     R1,B
-001D27 FA                MOV     R2,A
-001D28 1200F9            LCALL   ?C?CLDPTR
-001D2B FF                MOV     R7,A
-001D2C 904E3B            MOV     DPTR,#dest
-001D2F E0                MOVX    A,@DPTR
-001D30 FB                MOV     R3,A
-001D31 A3                INC     DPTR
-001D32 E4                CLR     A
-001D33 75F001            MOV     B,#01H
-001D36 120167            LCALL   ?C?ILDIX
-001D39 A9F0              MOV     R1,B
-001D3B FA                MOV     R2,A
-001D3C EF                MOV     A,R7
-001D3D 12013F            LCALL   ?C?CSTPTR
-001D40 80C8              SJMP    ?C0005?UTILITIES
-001D42         ?C0007?UTILITIES:
-001D42 22                RET     
+001CAB 904E3B            MOV     DPTR,#dest
+001CAE EB                MOV     A,R3
+001CAF F0                MOVX    @DPTR,A
+001CB0 A3                INC     DPTR
+001CB1 EA                MOV     A,R2
+001CB2 F0                MOVX    @DPTR,A
+001CB3 A3                INC     DPTR
+001CB4 E9                MOV     A,R1
+001CB5 F0                MOVX    @DPTR,A
+001CB6         ?C0005?UTILITIES:
+001CB6 904E41            MOV     DPTR,#len
+001CB9 74FF              MOV     A,#0FFH
+001CBB F5F0              MOV     B,A
+001CBD 120167            LCALL   ?C?ILDIX
+001CC0 45F0              ORL     A,B
+001CC2 602A              JZ      ?C0007?UTILITIES
+001CC4 904E3E            MOV     DPTR,#src
+001CC7 E0                MOVX    A,@DPTR
+001CC8 FB                MOV     R3,A
+001CC9 A3                INC     DPTR
+001CCA E4                CLR     A
+001CCB 75F001            MOV     B,#01H
+001CCE 120167            LCALL   ?C?ILDIX
+001CD1 A9F0              MOV     R1,B
+001CD3 FA                MOV     R2,A
+001CD4 1200F9            LCALL   ?C?CLDPTR
+001CD7 FF                MOV     R7,A
+001CD8 904E3B            MOV     DPTR,#dest
+001CDB E0                MOVX    A,@DPTR
+001CDC FB                MOV     R3,A
+001CDD A3                INC     DPTR
+001CDE E4                CLR     A
+001CDF 75F001            MOV     B,#01H
+001CE2 120167            LCALL   ?C?ILDIX
+001CE5 A9F0              MOV     R1,B
+001CE7 FA                MOV     R2,A
+001CE8 EF                MOV     A,R7
+001CE9 12013F            LCALL   ?C?CSTPTR
+001CEC 80C8              SJMP    ?C0005?UTILITIES
+001CEE         ?C0007?UTILITIES:
+001CEE 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
 ----- FUNCTION _IIC_write (BEGIN) -----
-001D43 904E51            MOV     DPTR,#addr
-001D46 EE                MOV     A,R6
-001D47 F0                MOVX    @DPTR,A
-001D48 A3                INC     DPTR
-001D49 EF                MOV     A,R7
-001D4A F0                MOVX    @DPTR,A
-001D4B 904E55            MOV     DPTR,#pbuff
-001D4E EB                MOV     A,R3
-001D4F F0                MOVX    @DPTR,A
-001D50 A3                INC     DPTR
-001D51 EA                MOV     A,R2
-001D52 F0                MOVX    @DPTR,A
-001D53 A3                INC     DPTR
-001D54 E9                MOV     A,R1
-001D55 F0                MOVX    @DPTR,A
-001D56 904E53            MOV     DPTR,#len
-001D59 EC                MOV     A,R4
-001D5A F0                MOVX    @DPTR,A
-001D5B A3                INC     DPTR
-001D5C ED                MOV     A,R5
-001D5D F0                MOVX    @DPTR,A
-001D5E A3                INC     DPTR
-001D5F E0                MOVX    A,@DPTR
-001D60 F9                MOV     R1,A
-001D61 A3                INC     DPTR
-001D62 E0                MOVX    A,@DPTR
-001D63 FA                MOV     R2,A
-001D64 A3                INC     DPTR
-001D65 E0                MOVX    A,@DPTR
-001D66 904E3E            MOV     DPTR,#?_dmemcpy?BYTE+03H
-001D69 C9                XCH     A,R1
-001D6A F0                MOVX    @DPTR,A
-001D6B A3                INC     DPTR
-001D6C EA                MOV     A,R2
-001D6D F0                MOVX    @DPTR,A
+001CEF 904E51            MOV     DPTR,#addr
+001CF2 EE                MOV     A,R6
+001CF3 F0                MOVX    @DPTR,A
+001CF4 A3                INC     DPTR
+001CF5 EF                MOV     A,R7
+001CF6 F0                MOVX    @DPTR,A
+001CF7 904E55            MOV     DPTR,#pbuff
+001CFA EB                MOV     A,R3
+001CFB F0                MOVX    @DPTR,A
+001CFC A3                INC     DPTR
+001CFD EA                MOV     A,R2
+001CFE F0                MOVX    @DPTR,A
+001CFF A3                INC     DPTR
+001D00 E9                MOV     A,R1
+001D01 F0                MOVX    @DPTR,A
+001D02 904E53            MOV     DPTR,#len
+001D05 EC                MOV     A,R4
+001D06 F0                MOVX    @DPTR,A
+001D07 A3                INC     DPTR
+001D08 ED                MOV     A,R5
+001D09 F0                MOVX    @DPTR,A
+001D0A A3                INC     DPTR
+001D0B E0                MOVX    A,@DPTR
+001D0C F9                MOV     R1,A
+001D0D A3                INC     DPTR
+001D0E E0                MOVX    A,@DPTR
+001D0F FA                MOV     R2,A
+001D10 A3                INC     DPTR
+001D11 E0                MOVX    A,@DPTR
+001D12 904E3E            MOV     DPTR,#?_dmemcpy?BYTE+03H
+001D15 C9                XCH     A,R1
+001D16 F0                MOVX    @DPTR,A
+001D17 A3                INC     DPTR
+001D18 EA                MOV     A,R2
+001D19 F0                MOVX    @DPTR,A
+001D1A A3                INC     DPTR
+001D1B E9                MOV     A,R1
+001D1C F0                MOVX    @DPTR,A
+001D1D A3                INC     DPTR
+001D1E EC                MOV     A,R4
+001D1F F0                MOVX    @DPTR,A
+001D20 A3                INC     DPTR
+001D21 ED                MOV     A,R5
+001D22 F0                MOVX    @DPTR,A
+001D23 7B01              MOV     R3,#01H
+001D25 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
+001D27 7986              MOV     R1,#LOW IIC_TempBuff+03H
+001D29 91AB              ACALL   _dmemcpy
+001D2B 900B83            MOV     DPTR,#IIC_TempBuff
+001D2E 74A0              MOV     A,#0A0H
+001D30 F0                MOVX    @DPTR,A
+001D31 904E51            MOV     DPTR,#addr
+001D34 E0                MOVX    A,@DPTR
+001D35 FF                MOV     R7,A
+001D36 A3                INC     DPTR
+001D37 E0                MOVX    A,@DPTR
+001D38 900B84            MOV     DPTR,#IIC_TempBuff+01H
+001D3B CF                XCH     A,R7
+001D3C F0                MOVX    @DPTR,A
+001D3D A3                INC     DPTR
+001D3E EF                MOV     A,R7
+001D3F F0                MOVX    @DPTR,A
+001D40 904E54            MOV     DPTR,#len+01H
+001D43 E0                MOVX    A,@DPTR
+001D44 2403              ADD     A,#03H
+001D46 FD                MOV     R5,A
+001D47 904E53            MOV     DPTR,#len
+001D4A E0                MOVX    A,@DPTR
+001D4B 3400              ADDC    A,#00H
+001D4D FC                MOV     R4,A
+001D4E ED                MOV     A,R5
+001D4F FA                MOV     R2,A
+001D50 EC                MOV     A,R4
+001D51 FF                MOV     R7,A
+001D52 EA                MOV     A,R2
+001D53 FE                MOV     R6,A
+001D54 EF                MOV     A,R7
+001D55 908098            MOV     DPTR,#08098H
+001D58 EE                MOV     A,R6
+001D59 F0                MOVX    @DPTR,A
+001D5A A3                INC     DPTR
+001D5B EF                MOV     A,R7
+001D5C F0                MOVX    @DPTR,A
+001D5D 7A0B              MOV     R2,#HIGH IIC_TempBuff
+001D5F 7983              MOV     R1,#LOW IIC_TempBuff
+001D61 7E0B              MOV     R6,#HIGH IIC_TempBuff
+001D63 7F83              MOV     R7,#LOW IIC_TempBuff
+001D65 7483              MOV     A,#LOW IIC_TempBuff
+001D67 FC                MOV     R4,A
+001D68 740B              MOV     A,#HIGH IIC_TempBuff
+001D6A FF                MOV     R7,A
+001D6B EC                MOV     A,R4
+001D6C FE                MOV     R6,A
+001D6D EF                MOV     A,R7
 001D6E A3                INC     DPTR
-001D6F E9                MOV     A,R1
+001D6F EE                MOV     A,R6
 001D70 F0                MOVX    @DPTR,A
 001D71 A3                INC     DPTR
-001D72 EC                MOV     A,R4
+001D72 EF                MOV     A,R7
 001D73 F0                MOVX    @DPTR,A
-001D74 A3                INC     DPTR
-001D75 ED                MOV     A,R5
-001D76 F0                MOVX    @DPTR,A
-001D77 7B01              MOV     R3,#01H
-001D79 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
-001D7B 7986              MOV     R1,#LOW IIC_TempBuff+03H
-001D7D 91FF              ACALL   _dmemcpy
-001D7F 900B83            MOV     DPTR,#IIC_TempBuff
-001D82 74A0              MOV     A,#0A0H
-001D84 F0                MOVX    @DPTR,A
-001D85 904E51            MOV     DPTR,#addr
-001D88 E0                MOVX    A,@DPTR
-001D89 FF                MOV     R7,A
-001D8A A3                INC     DPTR
-001D8B E0                MOVX    A,@DPTR
-001D8C 900B84            MOV     DPTR,#IIC_TempBuff+01H
-001D8F CF                XCH     A,R7
-001D90 F0                MOVX    @DPTR,A
-001D91 A3                INC     DPTR
-001D92 EF                MOV     A,R7
-001D93 F0                MOVX    @DPTR,A
-001D94 904E54            MOV     DPTR,#len+01H
-001D97 E0                MOVX    A,@DPTR
-001D98 2403              ADD     A,#03H
-001D9A FD                MOV     R5,A
-001D9B 904E53            MOV     DPTR,#len
-001D9E E0                MOVX    A,@DPTR
-001D9F 3400              ADDC    A,#00H
-001DA1 FC                MOV     R4,A
-001DA2 ED                MOV     A,R5
-001DA3 FA                MOV     R2,A
-001DA4 EC                MOV     A,R4
-001DA5 FF                MOV     R7,A
-001DA6 EA                MOV     A,R2
-001DA7 FE                MOV     R6,A
-001DA8 EF                MOV     A,R7
-001DA9 908098            MOV     DPTR,#08098H
-001DAC EE                MOV     A,R6
-001DAD F0                MOVX    @DPTR,A
-001DAE A3                INC     DPTR
-001DAF EF                MOV     A,R7
-001DB0 F0                MOVX    @DPTR,A
-001DB1 7A0B              MOV     R2,#HIGH IIC_TempBuff
-001DB3 7983              MOV     R1,#LOW IIC_TempBuff
-001DB5 7E0B              MOV     R6,#HIGH IIC_TempBuff
-001DB7 7F83              MOV     R7,#LOW IIC_TempBuff
-001DB9 7483              MOV     A,#LOW IIC_TempBuff
-001DBB FC                MOV     R4,A
-001DBC 740B              MOV     A,#HIGH IIC_TempBuff
-001DBE FF                MOV     R7,A
-001DBF EC                MOV     A,R4
-001DC0 FE                MOV     R6,A
-001DC1 EF                MOV     A,R7
-001DC2 A3                INC     DPTR
-001DC3 EE                MOV     A,R6
-001DC4 F0                MOVX    @DPTR,A
-001DC5 A3                INC     DPTR
-001DC6 EF                MOV     A,R7
-001DC7 F0                MOVX    @DPTR,A
-001DC8 90809E            MOV     DPTR,#0809EH
-001DCB E4                CLR     A
-001DCC F0                MOVX    @DPTR,A
-001DCD A3                INC     DPTR
-001DCE F0                MOVX    @DPTR,A
-001DCF 908090            MOV     DPTR,#08090H
-001DD2 04                INC     A
-001DD3 F0                MOVX    @DPTR,A
-001DD4 908006            MOV     DPTR,#08006H
-001DD7 E0                MOVX    A,@DPTR
-001DD8 4404              ORL     A,#04H
-001DDA F0                MOVX    @DPTR,A
+001D74 90809E            MOV     DPTR,#0809EH
+001D77 E4                CLR     A
+001D78 F0                MOVX    @DPTR,A
+001D79 A3                INC     DPTR
+001D7A F0                MOVX    @DPTR,A
+001D7B 908090            MOV     DPTR,#08090H
+001D7E 04                INC     A
+001D7F F0                MOVX    @DPTR,A
+001D80 908006            MOV     DPTR,#08006H
+001D83 E0                MOVX    A,@DPTR
+001D84 4404              ORL     A,#04H
+001D86 F0                MOVX    @DPTR,A
 ;----                  JMP     IIcWaitDone
 ----- FUNCTION _IIC_write (END) -------
 
 
 ----- FUNCTION IIcWaitDone (BEGIN) -----
-001DDB         ?C0001?IIC:
-001DDB 90812C            MOV     DPTR,#0812CH
-001DDE E0                MOVX    A,@DPTR
-001DDF 30E5F9            JNB     ACC.5,?C0001?IIC
-001DE2 22                RET     
+001D87         ?C0001?IIC:
+001D87 90812C            MOV     DPTR,#0812CH
+001D8A E0                MOVX    A,@DPTR
+001D8B 30E5F9            JNB     ACC.5,?C0001?IIC
+001D8E 22                RET     
 ----- FUNCTION IIcWaitDone (END) -------
 
 
 ----- FUNCTION _xmemclear_ff (BEGIN) -----
-001DE3 904E8A            MOV     DPTR,#dest
-001DE6 EB                MOV     A,R3
-001DE7 F0                MOVX    @DPTR,A
-001DE8 A3                INC     DPTR
-001DE9 EA                MOV     A,R2
-001DEA F0                MOVX    @DPTR,A
-001DEB A3                INC     DPTR
-001DEC E9                MOV     A,R1
-001DED F0                MOVX    @DPTR,A
+001D8F 904E8A            MOV     DPTR,#dest
+001D92 EB                MOV     A,R3
+001D93 F0                MOVX    @DPTR,A
+001D94 A3                INC     DPTR
+001D95 EA                MOV     A,R2
+001D96 F0                MOVX    @DPTR,A
+001D97 A3                INC     DPTR
+001D98 E9                MOV     A,R1
+001D99 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
-001DEE         ?C0011?UTILITIES:
-001DEE ED                MOV     A,R5
-001DEF 1D                DEC     R5
-001DF0 AE04              MOV     R6,AR4
-001DF2 7001              JNZ     ?C0027?UTILITIES
-001DF4 1C                DEC     R4
-001DF5         ?C0027?UTILITIES:
-001DF5 4E                ORL     A,R6
-001DF6 6017              JZ      ?C0013?UTILITIES
-001DF8 904E8A            MOV     DPTR,#dest
-001DFB E0                MOVX    A,@DPTR
-001DFC FB                MOV     R3,A
-001DFD A3                INC     DPTR
-001DFE E4                CLR     A
-001DFF 75F001            MOV     B,#01H
-001E02 120167            LCALL   ?C?ILDIX
-001E05 A9F0              MOV     R1,B
-001E07 FA                MOV     R2,A
-001E08 74FF              MOV     A,#0FFH
-001E0A 12013F            LCALL   ?C?CSTPTR
-001E0D 80DF              SJMP    ?C0011?UTILITIES
-001E0F         ?C0013?UTILITIES:
-001E0F 22                RET     
+001D9A         ?C0011?UTILITIES:
+001D9A ED                MOV     A,R5
+001D9B 1D                DEC     R5
+001D9C AE04              MOV     R6,AR4
+001D9E 7001              JNZ     ?C0027?UTILITIES
+001DA0 1C                DEC     R4
+001DA1         ?C0027?UTILITIES:
+001DA1 4E                ORL     A,R6
+001DA2 6017              JZ      ?C0013?UTILITIES
+001DA4 904E8A            MOV     DPTR,#dest
+001DA7 E0                MOVX    A,@DPTR
+001DA8 FB                MOV     R3,A
+001DA9 A3                INC     DPTR
+001DAA E4                CLR     A
+001DAB 75F001            MOV     B,#01H
+001DAE 120167            LCALL   ?C?ILDIX
+001DB1 A9F0              MOV     R1,B
+001DB3 FA                MOV     R2,A
+001DB4 74FF              MOV     A,#0FFH
+001DB6 12013F            LCALL   ?C?CSTPTR
+001DB9 80DF              SJMP    ?C0011?UTILITIES
+001DBB         ?C0013?UTILITIES:
+001DBB 22                RET     
 ----- FUNCTION _xmemclear_ff (END) -------
 
 
+----- FUNCTION _gpioSetBit (BEGIN) -----
+001DBC 904E8D            MOV     DPTR,#reg_base
+001DBF EB                MOV     A,R3
+001DC0 F0                MOVX    @DPTR,A
+001DC1 A3                INC     DPTR
+001DC2 EA                MOV     A,R2
+001DC3 F0                MOVX    @DPTR,A
+001DC4 A3                INC     DPTR
+001DC5 E9                MOV     A,R1
+001DC6 F0                MOVX    @DPTR,A
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+;---- Variable 'queue' assigned to Register 'R6' ----
+001DC7 E4                CLR     A
+001DC8 FE                MOV     R6,A
+;---- Variable 'group' assigned to Register 'R5' ----
+001DC9 FD                MOV     R5,A
+001DCA EF                MOV     A,R7
+001DCB 5407              ANL     A,#07H
+001DCD FE                MOV     R6,A
+001DCE EF                MOV     A,R7
+001DCF 13                RRC     A
+001DD0 13                RRC     A
+001DD1 13                RRC     A
+001DD2 5403              ANL     A,#03H
+001DD4 FD                MOV     R5,A
+001DD5 300022            JNB     bit_val,?C0001?GPIO
+001DD8 904E8D            MOV     DPTR,#reg_base
+001DDB E0                MOVX    A,@DPTR
+001DDC FB                MOV     R3,A
+001DDD A3                INC     DPTR
+001DDE E0                MOVX    A,@DPTR
+001DDF FA                MOV     R2,A
+001DE0 A3                INC     DPTR
+001DE1 E0                MOVX    A,@DPTR
+001DE2 2D                ADD     A,R5
+001DE3 F9                MOV     R1,A
+001DE4 E4                CLR     A
+001DE5 3A                ADDC    A,R2
+001DE6 FA                MOV     R2,A
+001DE7 1200F9            LCALL   ?C?CLDPTR
+001DEA FF                MOV     R7,A
+001DEB 7401              MOV     A,#01H
+001DED A806              MOV     R0,AR6
+001DEF 08                INC     R0
+001DF0 8002              SJMP    ?C0031?GPIO
+001DF2         ?C0030?GPIO:
+001DF2 C3                CLR     C
+001DF3 33                RLC     A
+001DF4         ?C0031?GPIO:
+001DF4 D8FC              DJNZ    R0,?C0030?GPIO
+001DF6 4F                ORL     A,R7
+001DF7 02013F            LJMP    ?C?CSTPTR
+001DFA         ?C0001?GPIO:
+001DFA 904E8D            MOV     DPTR,#reg_base
+001DFD E0                MOVX    A,@DPTR
+001DFE FB                MOV     R3,A
+001DFF A3                INC     DPTR
+001E00 E0                MOVX    A,@DPTR
+001E01 FA                MOV     R2,A
+001E02 A3                INC     DPTR
+001E03 E0                MOVX    A,@DPTR
+001E04 2D                ADD     A,R5
+001E05 F9                MOV     R1,A
+001E06 E4                CLR     A
+001E07 3A                ADDC    A,R2
+001E08 FA                MOV     R2,A
+001E09 1200F9            LCALL   ?C?CLDPTR
+001E0C FF                MOV     R7,A
+001E0D 7401              MOV     A,#01H
+001E0F A806              MOV     R0,AR6
+001E11 08                INC     R0
+001E12 8002              SJMP    ?C0033?GPIO
+001E14         ?C0032?GPIO:
+001E14 C3                CLR     C
+001E15 33                RLC     A
+001E16         ?C0033?GPIO:
+001E16 D8FC              DJNZ    R0,?C0032?GPIO
+001E18 F4                CPL     A
+001E19 5F                ANL     A,R7
+001E1A 02013F            LJMP    ?C?CSTPTR
+----- FUNCTION _gpioSetBit (END) -------
+
+
+----- FUNCTION _GPIO_SetPu (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+001E1D EF                MOV     A,R7
+001E1E F4                CPL     A
+001E1F 600C              JZ      ?C0009?GPIO
+001E21         ?C0008?GPIO:
+001E21 7B01              MOV     R3,#01H
+001E23 7A80              MOV     R2,#080H
+001E25 7978              MOV     R1,#078H
+001E27 A202              MOV     C,bit_val
+001E29 9200              MOV     ?_gpioSetBit?BIT,C
+001E2B B1BC              ACALL   _gpioSetBit
+001E2D         ?C0009?GPIO:
+001E2D 22                RET     
+----- FUNCTION _GPIO_SetPu (END) -------
+
+
+----- FUNCTION _GPIO_SetInput (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R4' ----
+001E2E AC07              MOV     R4,AR7
+001E30 EC                MOV     A,R4
+001E31 F4                CPL     A
+001E32 6017              JZ      ?C0015?GPIO
+001E34         ?C0014?GPIO:
+001E34 AF04              MOV     R7,AR4
+001E36 A205              MOV     C,st
+001E38 9203              MOV     ?_GPIO_SetPd?BIT,C
+001E3A D14C              ACALL   _GPIO_SetPd
+001E3C AF04              MOV     R7,AR4
+001E3E A205              MOV     C,st
+001E40 B3                CPL     C
+001E41 9202              MOV     ?_GPIO_SetPu?BIT,C
+001E43 D11D              ACALL   _GPIO_SetPu
+001E45 AF04              MOV     R7,AR4
+001E47 C204              CLR     ?_GPIO_Setoe?BIT
+001E49 D15D              ACALL   _GPIO_Setoe
+001E4B         ?C0015?GPIO:
+001E4B 22                RET     
+----- FUNCTION _GPIO_SetInput (END) -------
+
+
+----- FUNCTION _GPIO_SetPd (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+001E4C EF                MOV     A,R7
+001E4D F4                CPL     A
+001E4E 600C              JZ      ?C0011?GPIO
+001E50         ?C0010?GPIO:
+001E50 7B01              MOV     R3,#01H
+001E52 7A80              MOV     R2,#080H
+001E54 797C              MOV     R1,#07CH
+001E56 A203              MOV     C,bit_val
+001E58 9200              MOV     ?_gpioSetBit?BIT,C
+001E5A B1BC              ACALL   _gpioSetBit
+001E5C         ?C0011?GPIO:
+001E5C 22                RET     
+----- FUNCTION _GPIO_SetPd (END) -------
+
+
 ----- FUNCTION _GPIO_Setoe (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001E10 EF                MOV     A,R7
-001E11 F4                CPL     A
-001E12 600D              JZ      ?C0013?GPIO
-001E14         ?C0012?GPIO:
-001E14 7B01              MOV     R3,#01H
-001E16 7A80              MOV     R2,#080H
-001E18 7970              MOV     R1,#070H
-001E1A A204              MOV     C,bit_val
-001E1C 9200              MOV     ?_gpioSetBit?BIT,C
-001E1E 1217E3            LCALL   _gpioSetBit
-001E21         ?C0013?GPIO:
-001E21 22                RET     
+001E5D EF                MOV     A,R7
+001E5E F4                CPL     A
+001E5F 600C              JZ      ?C0013?GPIO
+001E61         ?C0012?GPIO:
+001E61 7B01              MOV     R3,#01H
+001E63 7A80              MOV     R2,#080H
+001E65 7970              MOV     R1,#070H
+001E67 A204              MOV     C,bit_val
+001E69 9200              MOV     ?_gpioSetBit?BIT,C
+001E6B B1BC              ACALL   _gpioSetBit
+001E6D         ?C0013?GPIO:
+001E6D 22                RET     
 ----- FUNCTION _GPIO_Setoe (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001E22 EF                MOV     A,R7
-001E23 F4                CPL     A
-001E24 603A              JZ      ?C0023?GPIO
-001E26         ?C0022?GPIO:
-001E26 EF                MOV     A,R7
-001E27 5407              ANL     A,#07H
-001E29 FE                MOV     R6,A
+001E6E EF                MOV     A,R7
+001E6F F4                CPL     A
+001E70 603A              JZ      ?C0023?GPIO
+001E72         ?C0022?GPIO:
+001E72 EF                MOV     A,R7
+001E73 5407              ANL     A,#07H
+001E75 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-001E2A EF                MOV     A,R7
-001E2B 13                RRC     A
-001E2C 13                RRC     A
-001E2D 13                RRC     A
-001E2E 5403              ANL     A,#03H
-001E30 FF                MOV     R7,A
+001E76 EF                MOV     A,R7
+001E77 13                RRC     A
+001E78 13                RRC     A
+001E79 13                RRC     A
+001E7A 5403              ANL     A,#03H
+001E7C FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-001E31 24A3              ADD     A,#LOW YC_GPIOWakeupL
-001E33 F582              MOV     DPL,A
-001E35 E4                CLR     A
-001E36 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-001E38 F583              MOV     DPH,A
-001E3A C083              PUSH    DPH
-001E3C C082              PUSH    DPL
-001E3E E0                MOVX    A,@DPTR
-001E3F FD                MOV     R5,A
-001E40 7401              MOV     A,#01H
-001E42 A806              MOV     R0,AR6
-001E44 08                INC     R0
-001E45 8002              SJMP    ?C0043?GPIO
-001E47         ?C0042?GPIO:
-001E47 C3                CLR     C
-001E48 33                RLC     A
-001E49         ?C0043?GPIO:
-001E49 D8FC              DJNZ    R0,?C0042?GPIO
-001E4B F4                CPL     A
-001E4C FC                MOV     R4,A
-001E4D 5D                ANL     A,R5
-001E4E D082              POP     DPL
-001E50 D083              POP     DPH
-001E52 F0                MOVX    @DPTR,A
-001E53 74A7              MOV     A,#LOW YC_GPIOWakeupH
-001E55 2F                ADD     A,R7
-001E56 F582              MOV     DPL,A
-001E58 E4                CLR     A
-001E59 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-001E5B F583              MOV     DPH,A
-001E5D E0                MOVX    A,@DPTR
-001E5E 5C                ANL     A,R4
-001E5F F0                MOVX    @DPTR,A
-001E60         ?C0023?GPIO:
-001E60 22                RET     
+001E7D 24A3              ADD     A,#LOW YC_GPIOWakeupL
+001E7F F582              MOV     DPL,A
+001E81 E4                CLR     A
+001E82 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+001E84 F583              MOV     DPH,A
+001E86 C083              PUSH    DPH
+001E88 C082              PUSH    DPL
+001E8A E0                MOVX    A,@DPTR
+001E8B FD                MOV     R5,A
+001E8C 7401              MOV     A,#01H
+001E8E A806              MOV     R0,AR6
+001E90 08                INC     R0
+001E91 8002              SJMP    ?C0043?GPIO
+001E93         ?C0042?GPIO:
+001E93 C3                CLR     C
+001E94 33                RLC     A
+001E95         ?C0043?GPIO:
+001E95 D8FC              DJNZ    R0,?C0042?GPIO
+001E97 F4                CPL     A
+001E98 FC                MOV     R4,A
+001E99 5D                ANL     A,R5
+001E9A D082              POP     DPL
+001E9C D083              POP     DPH
+001E9E F0                MOVX    @DPTR,A
+001E9F 74A7              MOV     A,#LOW YC_GPIOWakeupH
+001EA1 2F                ADD     A,R7
+001EA2 F582              MOV     DPL,A
+001EA4 E4                CLR     A
+001EA5 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+001EA7 F583              MOV     DPH,A
+001EA9 E0                MOVX    A,@DPTR
+001EAA 5C                ANL     A,R4
+001EAB F0                MOVX    @DPTR,A
+001EAC         ?C0023?GPIO:
+001EAC 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-001E61 E4                CLR     A
-001E62 FF                MOV     R7,A
-001E63         ?C0026?GPIO:
-001E63 EF                MOV     A,R7
-001E64 FD                MOV     R5,A
-001E65 7C00              MOV     R4,#00H
-001E67 2478              ADD     A,#078H
-001E69 FB                MOV     R3,A
-001E6A EC                MOV     A,R4
-001E6B 3480              ADDC    A,#080H
-001E6D 8B82              MOV     DPL,R3
-001E6F F583              MOV     DPH,A
-001E71 E0                MOVX    A,@DPTR
-001E72 FE                MOV     R6,A
-001E73 ED                MOV     A,R5
-001E74 2470              ADD     A,#070H
-001E76 FD                MOV     R5,A
-001E77 EC                MOV     A,R4
-001E78 3480              ADDC    A,#080H
-001E7A 8D82              MOV     DPL,R5
-001E7C F583              MOV     DPH,A
-001E7E E0                MOVX    A,@DPTR
-001E7F 4E                ORL     A,R6
-001E80 F4                CPL     A
-001E81 FE                MOV     R6,A
-001E82 EF                MOV     A,R7
-001E83 247C              ADD     A,#07CH
-001E85 FD                MOV     R5,A
-001E86 EC                MOV     A,R4
-001E87 3480              ADDC    A,#080H
-001E89 8D82              MOV     DPL,R5
-001E8B F583              MOV     DPH,A
-001E8D EE                MOV     A,R6
-001E8E F0                MOVX    @DPTR,A
-001E8F 0F                INC     R7
-001E90 EF                MOV     A,R7
-001E91 B404CF            CJNE    A,#04H,?C0026?GPIO
-001E94 22                RET     
+001EAD E4                CLR     A
+001EAE FF                MOV     R7,A
+001EAF         ?C0026?GPIO:
+001EAF EF                MOV     A,R7
+001EB0 FD                MOV     R5,A
+001EB1 7C00              MOV     R4,#00H
+001EB3 2478              ADD     A,#078H
+001EB5 FB                MOV     R3,A
+001EB6 EC                MOV     A,R4
+001EB7 3480              ADDC    A,#080H
+001EB9 8B82              MOV     DPL,R3
+001EBB F583              MOV     DPH,A
+001EBD E0                MOVX    A,@DPTR
+001EBE FE                MOV     R6,A
+001EBF ED                MOV     A,R5
+001EC0 2470              ADD     A,#070H
+001EC2 FD                MOV     R5,A
+001EC3 EC                MOV     A,R4
+001EC4 3480              ADDC    A,#080H
+001EC6 8D82              MOV     DPL,R5
+001EC8 F583              MOV     DPH,A
+001ECA E0                MOVX    A,@DPTR
+001ECB 4E                ORL     A,R6
+001ECC F4                CPL     A
+001ECD FE                MOV     R6,A
+001ECE EF                MOV     A,R7
+001ECF 247C              ADD     A,#07CH
+001ED1 FD                MOV     R5,A
+001ED2 EC                MOV     A,R4
+001ED3 3480              ADDC    A,#080H
+001ED5 8D82              MOV     DPL,R5
+001ED7 F583              MOV     DPH,A
+001ED9 EE                MOV     A,R6
+001EDA F0                MOVX    @DPTR,A
+001EDB 0F                INC     R7
+001EDC EF                MOV     A,R7
+001EDD B404CF            CJNE    A,#04H,?C0026?GPIO
+001EE0 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/FW.HTM	(revision 327)
+++ /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/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>01/17/2022  20:07:04</b><p>
+Creation time: <b>01/26/2022  11:37:01</b><p>
 
 <hr>
 
@@ -49,19 +49,19 @@
 <li><a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S85"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001A9AH - C:001AA2H)</h2>
+<h2><a name="S85"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001A46H - C:001A4EH)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S87">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
 </ul>
 
-<h2><a name="S87"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001AA3H - C:001AA4H)</h2>
+<h2><a name="S87"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001A4FH - C:001A50H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S85">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
 </ul>
 
-<h2><a name="S88"></a>?PR?_KB_CB_HID?SYS (C:001AA5H - C:001AB4H)</h2>
+<h2><a name="S88"></a>?PR?_KB_CB_HID?SYS (C:001A51H - C:001A60H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S194">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -84,7 +84,7 @@
 <li><a href="#S6">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S94"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:001B0BH - C:001B29H)</h2>
+<h2><a name="S94"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:001AB7H - C:001AD5H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S86">?PR?SYSTEM_LONG_SLEEP?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -92,7 +92,7 @@
 <li><a href="#S86">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 </ul>
 
-<h2><a name="S96"></a>?PR?KB_CB_TIMER500MS?SYS (C:001AF3H - C:001B0AH)</h2>
+<h2><a name="S96"></a>?PR?KB_CB_TIMER500MS?SYS (C:001A9FH - C:001AB6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S93">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -102,7 +102,7 @@
 <li><a href="#S93">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S97"></a>?PR?KB_CB_TIMER100MS?SYS (C:0019ABH - C:001A3BH)</h2>
+<h2><a name="S97"></a>?PR?KB_CB_TIMER100MS?SYS (C:001957H - C:0019E7H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -131,20 +131,20 @@
 <li><a href="#S105">?PR?MAIN?RAM</a></li>
 </ul>
 
-<h2><a name="S105"></a>?PR?MAIN?RAM (C:001B2CH - C:001B2EH)</h2>
+<h2><a name="S105"></a>?PR?MAIN?RAM (C:001AD8H - C:001ADAH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S118"></a>?PR?_IPC_INITIALIZE?IPC (C:000FAEH - C:000FBAH)</h2>
+<h2><a name="S118"></a>?PR?_IPC_INITIALIZE?IPC (C:000FB4H - C:000FC0H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S194">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S148"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:001DE3H - C:001E0FH)</h2>
+<h2><a name="S148"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:001D8FH - C:001DBBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S194">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -237,7 +237,7 @@
 <li><a href="#S97">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S47"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:001000H - C:00101AH)</h2>
+<h2><a name="S47"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:001006H - C:001020H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S59">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -256,7 +256,7 @@
 <li><a href="#S53">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S50"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:000F6CH - C:000FA7H)</h2>
+<h2><a name="S50"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:000F72H - C:000FADH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S51">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -269,7 +269,7 @@
 <li><a href="#S51">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S51"></a>?PR?KB_MOTION?KB_PROCESS (C:000F38H - C:000F6BH)</h2>
+<h2><a name="S51"></a>?PR?KB_MOTION?KB_PROCESS (C:000F3EH - C:000F71H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S54">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>) Top=2 Bytes (<a href="#S53">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -297,7 +297,7 @@
 <li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S54"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:000C15H - C:000E7AH)</h2>
+<h2><a name="S54"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:000C15H - C:000E80H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S51">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -313,7 +313,7 @@
 <li><a href="#S51">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S57"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:00129DH - C:0013FFH)</h2>
+<h2><a name="S57"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:0012A3H - C:00144CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S188">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=6 Bytes (<a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -325,7 +325,7 @@
 <li><a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S59"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:00101BH - C:001277H)</h2>
+<h2><a name="S59"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:001021H - C:00127DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S194">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S54">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -338,28 +338,28 @@
 <li><a href="#S54">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S61"></a>?PR?_BIT_COUNT?KEYSCAN (C:0015FDH - C:00160AH)</h2>
+<h2><a name="S61"></a>?PR?_BIT_COUNT?KEYSCAN (C:001649H - C:001656H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S62"></a>?PR?_KEYIN?KEYSCAN (C:001685H - C:0016DAH)</h2>
+<h2><a name="S62"></a>?PR?_KEYIN?KEYSCAN (C:0016D1H - C:001726H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S63"></a>?PR?_KEYOUT?KEYSCAN (C:0016DBH - C:001784H)</h2>
+<h2><a name="S63"></a>?PR?_KEYOUT?KEYSCAN (C:001727H - C:0017D0H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S64"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:001785H - C:0017A1H)</h2>
+<h2><a name="S64"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:0017D1H - C:0017EEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S68">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -397,14 +397,14 @@
 <li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S71"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:001844H - C:0019A3H)</h2>
+<h2><a name="S71"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:0017EFH - C:00194FH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S73"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:00160BH - C:00163AH)</h2>
+<h2><a name="S73"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001657H - C:001686H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S194">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -416,7 +416,7 @@
 <li><a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S75"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:001400H - C:0015FCH)</h2>
+<h2><a name="S75"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:00144DH - C:001648H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S57">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a>) Top=4 Bytes (<a href="#S51">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -460,7 +460,7 @@
 <li><a href="#S97">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S80"></a>?PR?LED_DEVICE_POWEROFF?LED (C:0019A4H - C:0019AAH)</h2>
+<h2><a name="S80"></a>?PR?LED_DEVICE_POWEROFF?LED (C:001950H - C:001956H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S159">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S97">?PR?KB_CB_TIMER100MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -472,7 +472,7 @@
 <li><a href="#S97">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S81"></a>?PR?LED_HANDLE?LED (C:001A3CH - C:001A7BH)</h2>
+<h2><a name="S81"></a>?PR?LED_HANDLE?LED (C:0019E8H - C:001A27H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S86">?PR?SYSTEM_LONG_SLEEP?SYS</a>) Top=2 Bytes (<a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -484,7 +484,7 @@
 <li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S82"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:000EA7H - C:000F37H)</h2>
+<h2><a name="S82"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:000EADH - C:000F3DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S146">?PR?_XMEMCLEAR?UTILITIES</a>) Top=4 Bytes (<a href="#S84">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -509,7 +509,7 @@
 <li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S84"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:001A7CH - C:001A98H)</h2>
+<h2><a name="S84"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:001A28H - C:001A44H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S82">?PR?SYSTEM_CLEAR_MEM?SYS</a>) Top=2 Bytes (<a href="#S90">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -552,7 +552,7 @@
 <li><a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S93"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:001AB5H - C:001AF2H)</h2>
+<h2><a name="S93"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:001A61H - C:001A9EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S86">?PR?SYSTEM_LONG_SLEEP?SYS</a>) Top=2 Bytes (<a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -579,35 +579,35 @@
 <li><a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S98"></a>?PR?KB_CB_INIT?SYS (C:000FA8H - C:000FADH)</h2>
+<h2><a name="S98"></a>?PR?KB_CB_INIT?SYS (C:000FAEH - C:000FB3H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S102"></a>?PR?YC_ADC_INIT?ADC (C:001A99H - C:001A99H)</h2>
+<h2><a name="S102"></a>?PR?YC_ADC_INIT?ADC (C:001A45H - C:001A45H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S84">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S84">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S104"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:001B2AH - C:001B2AH)</h2>
+<h2><a name="S104"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:001AD6H - C:001AD6H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S106"></a>?PR?_BUFSIZE?IPC (C:001B2FH - C:001B88H)</h2>
+<h2><a name="S106"></a>?PR?_BUFSIZE?IPC (C:001ADBH - C:001B34H)</h2>
 <p><br><b>Maximum Stack:</b> Top=10 Bytes (<a href="#S110">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S110">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S108"></a>?PR?_IPCRX?IPC (C:001B89H - C:001BD8H)</h2>
+<h2><a name="S108"></a>?PR?_IPCRX?IPC (C:001B35H - C:001B84H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S194">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S122">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -645,7 +645,7 @@
 <li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S114"></a>?PR?_IPC_TXDATA?IPC (C:001C9FH - C:001CC5H)</h2>
+<h2><a name="S114"></a>?PR?_IPC_TXDATA?IPC (C:001C4BH - C:001C71H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S142">?PR?_XMEMCPY?UTILITIES</a>) Top=8 Bytes (<a href="#S116">?PR?_IPC_TX24GDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -658,7 +658,7 @@
 <li><a href="#S116">?PR?_IPC_TX24GDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S116"></a>?PR?_IPC_TX24GDATA?IPC (C:001CC6H - C:001CCDH)</h2>
+<h2><a name="S116"></a>?PR?_IPC_TX24GDATA?IPC (C:001C72H - C:001C79H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S114">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -682,21 +682,21 @@
 <li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S120"></a>?PR?IPC_ABANDONLPM?IPC (C:001CD4H - C:001CDFH)</h2>
+<h2><a name="S120"></a>?PR?IPC_ABANDONLPM?IPC (C:001C80H - C:001C8BH)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S121"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:001CE0H - C:001CF7H)</h2>
+<h2><a name="S121"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:001C8CH - C:001CA3H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S51">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S51">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S122"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:001BD9H - C:001C9EH)</h2>
+<h2><a name="S122"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:001B85H - C:001C4AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S108">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -722,7 +722,7 @@
 <li><a href="#S54">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S144"></a>?PR?_DMEMCPY?UTILITIES (C:001CFFH - C:001D42H)</h2>
+<h2><a name="S144"></a>?PR?_DMEMCPY?UTILITIES (C:001CABH - C:001CEEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S194">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S186">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -734,7 +734,7 @@
 <li><a href="#S186">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S146"></a>?PR?_XMEMCLEAR?UTILITIES (C:000E7BH - C:000EA6H)</h2>
+<h2><a name="S146"></a>?PR?_XMEMCLEAR?UTILITIES (C:000E81H - C:000EACH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S194">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S82">?PR?SYSTEM_CLEAR_MEM?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -762,7 +762,7 @@
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S151"></a>?PR?_COMPARE_STR?UTILITIES (C:00163BH - C:001684H)</h2>
+<h2><a name="S151"></a>?PR?_COMPARE_STR?UTILITIES (C:001687H - C:0016D0H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S194">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -774,7 +774,7 @@
 <li><a href="#S75">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S153"></a>?PR?_GPIOSETBIT?GPIO (C:0017E3H - C:001843H)</h2>
+<h2><a name="S153"></a>?PR?_GPIOSETBIT?GPIO (C:001DBCH - C:001E1CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S194">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S163">?PR?_GPIO_SETPD?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -789,7 +789,7 @@
 <li><a href="#S161">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
-<h2><a name="S156"></a>?PR?_GPIOGETBIT?GPIO (C:000FC1H - C:000FFFH)</h2>
+<h2><a name="S156"></a>?PR?_GPIOGETBIT?GPIO (C:000FC7H - C:001005H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S194">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S177">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -801,7 +801,7 @@
 <li><a href="#S177">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
-<h2><a name="S158"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:000FBBH - C:000FC0H)</h2>
+<h2><a name="S158"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:000FC1H - C:000FC6H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S174">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -825,7 +825,7 @@
 <li><a href="#S92">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S161"></a>?PR?_GPIO_SETPU?GPIO (C:0017C1H - C:0017D1H)</h2>
+<h2><a name="S161"></a>?PR?_GPIO_SETPU?GPIO (C:001E1DH - C:001E2DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S153">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -838,7 +838,7 @@
 <li><a href="#S169">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S163"></a>?PR?_GPIO_SETPD?GPIO (C:0017D2H - C:0017E2H)</h2>
+<h2><a name="S163"></a>?PR?_GPIO_SETPD?GPIO (C:001E4CH - C:001E5CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S153">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -850,7 +850,7 @@
 <li><a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S165"></a>?PR?_GPIO_SETOE?GPIO (C:001E10H - C:001E21H)</h2>
+<h2><a name="S165"></a>?PR?_GPIO_SETOE?GPIO (C:001E5DH - C:001E6DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S153">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -863,7 +863,7 @@
 <li><a href="#S169">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S167"></a>?PR?_GPIO_SETINPUT?GPIO (C:0017A2H - C:0017C0H)</h2>
+<h2><a name="S167"></a>?PR?_GPIO_SETINPUT?GPIO (C:001E2EH - C:001E4BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S163">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S64">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -917,14 +917,14 @@
 <li><a href="#S92">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S180"></a>?PR?GPIO_FILLPD?GPIO (C:001E61H - C:001E94H)</h2>
+<h2><a name="S180"></a>?PR?GPIO_FILLPD?GPIO (C:001EADH - C:001EE0H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S69">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S69">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S183"></a>?PR?IICWAITDONE?IIC (C:001DDBH - C:001DE2H)</h2>
+<h2><a name="S183"></a>?PR?IICWAITDONE?IIC (C:001D87H - C:001D8EH)</h2>
 <p><br><b>Maximum Stack:</b> Top=14 Bytes (<a href="#S184">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -944,7 +944,7 @@
 <li><a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S186"></a>?PR?_IIC_WRITE?IIC (C:001D43H - C:001DDAH)</h2>
+<h2><a name="S186"></a>?PR?_IIC_WRITE?IIC (C:001CEFH - C:001D86H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S144">?PR?_DMEMCPY?UTILITIES</a>) Top=10 Bytes (<a href="#S188">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
Index: c51/output/FW.MAP
===================================================================
--- /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/FW.MAP	(revision 327)
+++ /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               01/17/2022  20:07:04  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               01/26/2022  11:37:01  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -61,8 +61,8 @@
 
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
-X:000000H   X:004DD0H   X:004F40H   000316H   XDATA
-C:000000H   C:000000H   C:00FFFFH   001DDFH   CODE
+X:000000H   X:004DD0H   X:004F40H   000317H   XDATA
+C:000000H   C:000000H   C:00FFFFH   001E2BH   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
@@ -131,61 +131,61 @@
 000A95H   000B17H   000083H   BYTE   UNIT     CODE           ?PR?KB_NEED_KEYSCAN?KB_PROCESS
 000B18H   000B4FH   000038H   BYTE   UNIT     CODE           ?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS
 000B50H   000C14H   0000C5H   BYTE   UNIT     CODE           ?PR?_IPC_TXHIDDATA?KB_PROCESS
-000C15H   000E7AH   000266H   BYTE   UNIT     CODE           ?PR?_KB_MOTION_KEYSCAN?KB_PROCESS
-000E7BH   000EA6H   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
-000EA7H   000F37H   000091H   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
-000F38H   000F6BH   000034H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
-000F6CH   000FA7H   00003CH   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
-000FA8H   000FADH   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
-000FAEH   000FBAH   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
-000FBBH   000FC0H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
-000FC1H   000FFFH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
-001000H   00101AH   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
-00101BH   001277H   00025DH   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
-001278H   00129CH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-00129DH   0013FFH   000163H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-001400H   0015FCH   0001FDH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
-0015FDH   00160AH   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
-00160BH   00163AH   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
-00163BH   001684H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
-001685H   0016DAH   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
-0016DBH   001784H   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
-001785H   0017A1H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
-0017A2H   0017C0H   00001FH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
-0017C1H   0017D1H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
-0017D2H   0017E2H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
-0017E3H   001843H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
-001844H   0019A3H   000160H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
-0019A4H   0019AAH   000007H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
-0019ABH   001A3BH   000091H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-001A3CH   001A7BH   000040H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
-001A7CH   001A98H   00001DH   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-001A99H   001A99H   000001H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-001A9AH   001AA2H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-001AA3H   001AA4H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-001AA5H   001AB4H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-001AB5H   001AF2H   00003EH   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
-001AF3H   001B0AH   000018H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
-001B0BH   001B29H   00001FH   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
-001B2AH   001B2AH   000001H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
-001B2BH   001B2BH   000001H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-001B2CH   001B2EH   000003H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
-001B2FH   001B88H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-001B89H   001BD8H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-001BD9H   001C9EH   0000C6H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-001C9FH   001CC5H   000027H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
-001CC6H   001CCDH   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
-001CCEH   001CD3H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-001CD4H   001CDFH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-001CE0H   001CF7H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-001CF8H   001CFEH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-001CFFH   001D42H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-001D43H   001DDAH   000098H   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
-001DDBH   001DE2H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
-001DE3H   001E0FH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
-001E10H   001E21H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
-001E22H   001E60H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-001E61H   001E94H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+000C15H   000E80H   00026CH   BYTE   UNIT     CODE           ?PR?_KB_MOTION_KEYSCAN?KB_PROCESS
+000E81H   000EACH   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
+000EADH   000F3DH   000091H   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
+000F3EH   000F71H   000034H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
+000F72H   000FADH   00003CH   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
+000FAEH   000FB3H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+000FB4H   000FC0H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+000FC1H   000FC6H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+000FC7H   001005H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+001006H   001020H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
+001021H   00127DH   00025DH   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
+00127EH   0012A2H   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
+0012A3H   00144CH   0001AAH   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+00144DH   001648H   0001FCH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
+001649H   001656H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+001657H   001686H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+001687H   0016D0H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+0016D1H   001726H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
+001727H   0017D0H   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
+0017D1H   0017EEH   00001EH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
+0017EFH   00194FH   000161H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+001950H   001956H   000007H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
+001957H   0019E7H   000091H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+0019E8H   001A27H   000040H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
+001A28H   001A44H   00001DH   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+001A45H   001A45H   000001H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+001A46H   001A4EH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+001A4FH   001A50H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+001A51H   001A60H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+001A61H   001A9EH   00003EH   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
+001A9FH   001AB6H   000018H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
+001AB7H   001AD5H   00001FH   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
+001AD6H   001AD6H   000001H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+001AD7H   001AD7H   000001H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+001AD8H   001ADAH   000003H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+001ADBH   001B34H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+001B35H   001B84H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+001B85H   001C4AH   0000C6H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+001C4BH   001C71H   000027H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
+001C72H   001C79H   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
+001C7AH   001C7FH   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+001C80H   001C8BH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+001C8CH   001CA3H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+001CA4H   001CAAH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+001CABH   001CEEH   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+001CEFH   001D86H   000098H   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
+001D87H   001D8EH   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
+001D8FH   001DBBH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+001DBCH   001E1CH   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+001E1DH   001E2DH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+001E2EH   001E4BH   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+001E4CH   001E5CH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+001E5DH   001E6DH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+001E6EH   001EACH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+001EADH   001EE0H   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?28
@@ -254,8 +254,8 @@
 004CB6H   004CB6H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?17
 004CB7H   004CB7H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?15
 004CB8H   004CBEH   000007H   ---    ---      **GAP**
-004CBFH   004D06H   000048H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?3
-004D07H   004D37H   000031H   ---    ---      **GAP**
+004CBFH   004D07H   000049H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?3
+004D08H   004D37H   000030H   ---    ---      **GAP**
 004D38H   004D38H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?29
 004D39H   004D3CH   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?32
 004D3DH   004D40H   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?16
@@ -337,37 +337,37 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       010001CAH   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      0100160BH   CODE     ---       _array_is_empty
-      0100163BH   CODE     ---       _compare_str
+      01001657H   CODE     ---       _array_is_empty
+      01001687H   CODE     ---       _compare_str
       01000579H   CODE     ---       _Delay1ms
-      01001CFFH   CODE     ---       _dmemcpy
-      01001E22H   CODE     ---       _GPIO_ClearWakeup
+      01001CABH   CODE     ---       _dmemcpy
+      01001E6EH   CODE     ---       _GPIO_ClearWakeup
       0100033AH   CODE     ---       _GPIO_FlipOutBit
-      01000FBBH   CODE     ---       _GPIO_GetInputStatus
-      010017A2H   CODE     ---       _GPIO_SetInput
-      01001E10H   CODE     ---       _GPIO_Setoe
+      01000FC1H   CODE     ---       _GPIO_GetInputStatus
+      01001E2EH   CODE     ---       _GPIO_SetInput
+      01001E5DH   CODE     ---       _GPIO_Setoe
       01000328H   CODE     ---       _GPIO_Setout
       01000356H   CODE     ---       _GPIO_SetOutput
-      010017D2H   CODE     ---       _GPIO_SetPd
-      010017C1H   CODE     ---       _GPIO_SetPu
+      01001E4CH   CODE     ---       _GPIO_SetPd
+      01001E1DH   CODE     ---       _GPIO_SetPu
       010009FBH   CODE     ---       _GPIO_SetWakeup
       010009E8H   CODE     ---       _GPIO_SetWakeupByCurrentState
       0100048BH   CODE     ---       _IIC_Read
-      01001D43H   CODE     ---       _IIC_write
+      01001CEFH   CODE     ---       _IIC_write
       01000860H   CODE     ---       _IIC_WriteBlock
-      01000FAEH   CODE     ---       _IPC_Initialize
-      01001CC6H   CODE     ---       _IPC_Tx24GData
+      01000FB4H   CODE     ---       _IPC_Initialize
+      01001C72H   CODE     ---       _IPC_Tx24GData
       0100072BH   CODE     ---       _IPC_TxControlCmd
-      01001C9FH   CODE     ---       _IPC_TxData
+      01001C4BH   CODE     ---       _IPC_TxData
       01000B50H   CODE     ---       _IPC_TxHidData
-      01001278H   CODE     ---       _kb_combination_key_press
+      0100127EH   CODE     ---       _kb_combination_key_press
       01000C15H   CODE     ---       _kb_motion_keyscan
-      0100101BH   CODE     ---       _kb_multikey_setup
+      01001021H   CODE     ---       _kb_multikey_setup
       01000B18H   CODE     ---       _kb_send_combination_key
-      01001000H   CODE     ---       _kb_set_multikey
-      0100129DH   CODE     ---       _key_fn_function
-      01000E7BH   CODE     ---       _xmemclear
-      01001DE3H   CODE     ---       _xmemclear_ff
+      01001006H   CODE     ---       _kb_set_multikey
+      010012A3H   CODE     ---       _key_fn_function
+      01000E81H   CODE     ---       _xmemclear
+      01001D8FH   CODE     ---       _xmemclear_ff
       01000539H   CODE     ---       _xmemcpy
       01000591H   CODE     ---       _YC_key_action_handle
       02004DE6H   XDATA    BYTE      action_timeout
@@ -386,26 +386,26 @@
       02004DD4H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD1H   XDATA    BYTE      get_24g_led_send
-      01001E61H   CODE     ---       GPIO_fillpd
+      01001EADH   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DDBH   XDATA    BYTE      iOS_rec_pinCode
-      01001CD4H   CODE     ---       IPC_AbandonLpm
-      01001BD9H   CODE     ---       IPC_DealSingleStep
-      01001CCEH   CODE     ---       IPC_GetBBDIsconnectReason
-      01001CE0H   CODE     ---       IPC_IsTxBuffEmpty
+      01001C80H   CODE     ---       IPC_AbandonLpm
+      01001B85H   CODE     ---       IPC_DealSingleStep
+      01001C7AH   CODE     ---       IPC_GetBBDIsconnectReason
+      01001C8CH   CODE     ---       IPC_IsTxBuffEmpty
       01000A87H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
       02000C4BH   XDATA    ---       ipcReadBuff
       02000BE7H   XDATA    ---       ipcSendBuff
-      01000F6CH   CODE     ---       kb_24g_get_led_status
+      01000F72H   CODE     ---       kb_24g_get_led_status
       01000689H   CODE     ---       kb_button_press_timer500ms
       01000A95H   CODE     ---       kb_need_keyscan
       02004DE2H   XDATA    BYTE      key_value_temp
       02004DDEH   XDATA    BYTE      keyCount
-      01001400H   CODE     ---       KS_GetCurrentEvt
+      0100144DH   CODE     ---       KS_GetCurrentEvt
       01000643H   CODE     ---       KS_Initialize
-      01001844H   CODE     ---       KS_ScanMatrix
+      010017EFH   CODE     ---       KS_ScanMatrix
       0100094FH   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
       02004E43H   XDATA    ---       ksEvtPool
@@ -416,9 +416,9 @@
       02004D39H   XDATA    DWORD     le_pin_code
       02004DD3H   XDATA    BYTE      le_pin_code_len
       01000373H   CODE     ---       LED_all_shutdown
-      010019A4H   CODE     ---       LED_device_poweroff
+      01001950H   CODE     ---       LED_device_poweroff
       010007EEH   CODE     ---       LED_device_poweron
-      01001A3CH   CODE     ---       LED_handle
+      010019E8H   CODE     ---       LED_handle
       010002E8H   CODE     ---       LED_timer500ms
       02004DD6H   XDATA    BYTE      long_press_flag
       02000B7FH   XDATA    BYTE      lpm_flag
@@ -449,7 +449,7 @@
       02008010H   XDATA    BYTE      m_reset_reg
       020047F4H   XDATA    WORD      m_ui_state_map
       02000B81H   XDATA    BYTE      m_wakup_from_power_flag
-      01001B2CH   CODE     ---       main
+      01001AD8H   CODE     ---       main
       02004DE8H   XDATA    BYTE      mult_key_status
       02004DE7H   XDATA    BYTE      mult_key_value
       02004DE9H   XDATA    ---       multikey
@@ -463,20 +463,20 @@
       02004DD5H   XDATA    BYTE      switch_role_timer
       02004DE3H   XDATA    BYTE      system_key_press
       0100066EH   CODE     ---       System_long_sleep
-      01001AA3H   CODE     ---       System_Reset_Connect
-      01001A7CH   CODE     ---       System_Software_init
-      01001B2BH   CODE     ---       YC_adc_check
-      01001B2AH   CODE     ---       YC_adc_check_timer500ms
-      01001A99H   CODE     ---       YC_adc_init
+      01001A4FH   CODE     ---       System_Reset_Connect
+      01001A28H   CODE     ---       System_Software_init
+      01001AD7H   CODE     ---       YC_adc_check
+      01001AD6H   CODE     ---       YC_adc_check_timer500ms
+      01001A45H   CODE     ---       YC_adc_init
       010002DBH   CODE     ---       YC_check_is_connected
       010007F4H   CODE     ---       YC_check_need_reconnected
       0100063DH   CODE     ---       YC_clear_reconnect_flag
-      01001AB5H   CODE     ---       YC_connect_timeout_500ms
+      01001A61H   CODE     ---       YC_connect_timeout_500ms
       01000714H   CODE     ---       YC_disconnect_all_link
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      01001CF8H   CODE     ---       YC_Ice_break
-      01001B0BH   CODE     ---       YC_pairing_timerout_500ms
+      01001CA4H   CODE     ---       YC_Ice_break
+      01001AB7H   CODE     ---       YC_pairing_timerout_500ms
       010007E4H   CODE     ---       YC_start_reconnect
       0100090FH   CODE     ---       YC_System_Main
       0100082AH   CODE     ---       YC_update_eeprom_data
@@ -640,14 +640,14 @@
       01000225H   PUBLIC    CONST    ---       col
 
       ---         MODULE    ---      ---       KB_PROCESS
-      0100101BH   PUBLIC    CODE     ---       _kb_multikey_setup
-      0100129DH   PUBLIC    CODE     ---       _key_fn_function
-      01001278H   PUBLIC    CODE     ---       _kb_combination_key_press
+      01001021H   PUBLIC    CODE     ---       _kb_multikey_setup
+      010012A3H   PUBLIC    CODE     ---       _key_fn_function
+      0100127EH   PUBLIC    CODE     ---       _kb_combination_key_press
       01000C15H   PUBLIC    CODE     ---       _kb_motion_keyscan
       01000A95H   PUBLIC    CODE     ---       kb_need_keyscan
-      01000F6CH   PUBLIC    CODE     ---       kb_24g_get_led_status
+      01000F72H   PUBLIC    CODE     ---       kb_24g_get_led_status
       01000B18H   PUBLIC    CODE     ---       _kb_send_combination_key
-      01001000H   PUBLIC    CODE     ---       _kb_set_multikey
+      01001006H   PUBLIC    CODE     ---       _kb_set_multikey
       01000B50H   PUBLIC    CODE     ---       _IPC_TxHidData
       01000591H   PUBLIC    CODE     ---       _YC_key_action_handle
 
@@ -746,17 +746,17 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001000H   BLOCK     CODE     ---       LVL=0
-      01001000H   LINE      ---      ---       #105
-      01001004H   LINE      ---      ---       #106
-      01001004H   LINE      ---      ---       #107
-      0100100CH   LINE      ---      ---       #108
-      0100100CH   LINE      ---      ---       #109
-      0100100FH   LINE      ---      ---       #110
-      01001014H   LINE      ---      ---       #111
-      01001017H   LINE      ---      ---       #112
-      0100101AH   LINE      ---      ---       #113
-      0100101AH   LINE      ---      ---       #114
+      01001006H   BLOCK     CODE     ---       LVL=0
+      01001006H   LINE      ---      ---       #105
+      0100100AH   LINE      ---      ---       #106
+      0100100AH   LINE      ---      ---       #107
+      01001012H   LINE      ---      ---       #108
+      01001012H   LINE      ---      ---       #109
+      01001015H   LINE      ---      ---       #110
+      0100101AH   LINE      ---      ---       #111
+      0100101DH   LINE      ---      ---       #112
+      01001020H   LINE      ---      ---       #113
+      01001020H   LINE      ---      ---       #114
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000B18H   BLOCK     CODE     ---       LVL=0
@@ -769,37 +769,37 @@
       01000B48H   LINE      ---      ---       #135
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01000F6CH   BLOCK     CODE     ---       LVL=0
-      01000F6CH   LINE      ---      ---       #155
-      01000F6CH   LINE      ---      ---       #156
-      01000F6CH   LINE      ---      ---       #157
-      01000F78H   LINE      ---      ---       #158
-      01000F78H   LINE      ---      ---       #159
-      01000F7FH   LINE      ---      ---       #160
-      01000F7FH   LINE      ---      ---       #161
-      01000F8BH   LINE      ---      ---       #163
-      01000F90H   LINE      ---      ---       #164
-      01000F95H   LINE      ---      ---       #165
-      01000F9DH   LINE      ---      ---       #166
-      01000FA7H   LINE      ---      ---       #167
-      01000FA7H   LINE      ---      ---       #168
-      01000FA7H   LINE      ---      ---       #170
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000F38H   BLOCK     CODE     ---       LVL=0
-      01000F38H   LINE      ---      ---       #174
-      01000F38H   LINE      ---      ---       #175
-      01000F38H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000F38H   LINE      ---      ---       #176
-      01000F41H   LINE      ---      ---       #178
-      01000F46H   LINE      ---      ---       #180
-      01000F54H   LINE      ---      ---       #182
-      01000F57H   LINE      ---      ---       #183
-      01000F57H   LINE      ---      ---       #184
-      01000F5CH   LINE      ---      ---       #185
-      01000F5EH   LINE      ---      ---       #187
-      01000F5EH   LINE      ---      ---       #188
-      01000F6BH   LINE      ---      ---       #189
+      01000F72H   BLOCK     CODE     ---       LVL=0
+      01000F72H   LINE      ---      ---       #155
+      01000F72H   LINE      ---      ---       #156
+      01000F72H   LINE      ---      ---       #157
+      01000F7EH   LINE      ---      ---       #158
+      01000F7EH   LINE      ---      ---       #159
+      01000F85H   LINE      ---      ---       #160
+      01000F85H   LINE      ---      ---       #161
+      01000F91H   LINE      ---      ---       #163
+      01000F96H   LINE      ---      ---       #164
+      01000F9BH   LINE      ---      ---       #165
+      01000FA3H   LINE      ---      ---       #166
+      01000FADH   LINE      ---      ---       #167
+      01000FADH   LINE      ---      ---       #168
+      01000FADH   LINE      ---      ---       #170
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F3EH   BLOCK     CODE     ---       LVL=0
+      01000F3EH   LINE      ---      ---       #174
+      01000F3EH   LINE      ---      ---       #175
+      01000F3EH   BLOCK     CODE     NEAR LAB  LVL=1
+      01000F3EH   LINE      ---      ---       #176
+      01000F47H   LINE      ---      ---       #178
+      01000F4CH   LINE      ---      ---       #180
+      01000F5AH   LINE      ---      ---       #182
+      01000F5DH   LINE      ---      ---       #183
+      01000F5DH   LINE      ---      ---       #184
+      01000F62H   LINE      ---      ---       #185
+      01000F64H   LINE      ---      ---       #187
+      01000F64H   LINE      ---      ---       #188
+      01000F71H   LINE      ---      ---       #189
       02004E7EH   SYMBOL    XDATA    VOID      pEvt
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -909,352 +909,368 @@
       01000DB9H   LINE      ---      ---       #339
       01000DBFH   LINE      ---      ---       #340
       01000DD1H   LINE      ---      ---       #341
-      01000DDEH   LINE      ---      ---       #342
-      01000DE8H   LINE      ---      ---       #344
-      01000DEDH   LINE      ---      ---       #346
-      01000DF2H   LINE      ---      ---       #347
-      01000DF6H   LINE      ---      ---       #349
-      01000DFFH   LINE      ---      ---       #350
-      01000E1EH   LINE      ---      ---       #352
-      01000E3BH   LINE      ---      ---       #354
-      01000E4BH   LINE      ---      ---       #355
-      01000E4BH   LINE      ---      ---       #356
-      01000E59H   LINE      ---      ---       #357
-      01000E68H   LINE      ---      ---       #358
-      01000E70H   LINE      ---      ---       #360
-      01000E7AH   LINE      ---      ---       #361
-      01000E7AH   LINE      ---      ---       #363
+      01000DE4H   LINE      ---      ---       #342
+      01000DE4H   LINE      ---      ---       #343
+      01000DECH   LINE      ---      ---       #344
+      01000DEEH   LINE      ---      ---       #346
+      01000DF3H   LINE      ---      ---       #348
+      01000DF8H   LINE      ---      ---       #349
+      01000DFCH   LINE      ---      ---       #351
+      01000E05H   LINE      ---      ---       #352
+      01000E24H   LINE      ---      ---       #354
+      01000E41H   LINE      ---      ---       #356
+      01000E51H   LINE      ---      ---       #357
+      01000E51H   LINE      ---      ---       #358
+      01000E5FH   LINE      ---      ---       #359
+      01000E6EH   LINE      ---      ---       #360
+      01000E76H   LINE      ---      ---       #362
+      01000E80H   LINE      ---      ---       #363
+      01000E80H   LINE      ---      ---       #365
       02004E67H   SYMBOL    XDATA    VOID      temp
       02004E68H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001278H   BLOCK     CODE     ---       LVL=0
-      01001278H   LINE      ---      ---       #367
-      01001278H   LINE      ---      ---       #368
-      01001278H   LINE      ---      ---       #369
-      0100127DH   LINE      ---      ---       #370
-      01001280H   LINE      ---      ---       #372
-      01001284H   LINE      ---      ---       #373
-      01001284H   LINE      ---      ---       #374
-      0100128BH   LINE      ---      ---       #375
-      0100128FH   LINE      ---      ---       #377
-      01001295H   LINE      ---      ---       #378
-      01001296H   LINE      ---      ---       #380
-      01001296H   LINE      ---      ---       #381
+      0100127EH   BLOCK     CODE     ---       LVL=0
+      0100127EH   LINE      ---      ---       #369
+      0100127EH   LINE      ---      ---       #370
+      0100127EH   LINE      ---      ---       #371
+      01001283H   LINE      ---      ---       #372
+      01001286H   LINE      ---      ---       #374
+      0100128AH   LINE      ---      ---       #375
+      0100128AH   LINE      ---      ---       #376
+      01001291H   LINE      ---      ---       #377
+      01001295H   LINE      ---      ---       #379
+      0100129BH   LINE      ---      ---       #380
       0100129CH   LINE      ---      ---       #382
-      0100129CH   LINE      ---      ---       #384
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100129DH   BLOCK     CODE     ---       LVL=0
-      0100129DH   LINE      ---      ---       #387
-      0100129DH   LINE      ---      ---       #388
-      0100129DH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100129DH   LINE      ---      ---       #389
-      010012A2H   LINE      ---      ---       #391
-      010012A6H   LINE      ---      ---       #392
-      010012ABH   LINE      ---      ---       #393
-      010012B0H   LINE      ---      ---       #397
-      010012B0H   LINE      ---      ---       #398
-      010012FAH   LINE      ---      ---       #399
-      010012FAH   LINE      ---      ---       #400
-      010012FAH   LINE      ---      ---       #401
-      010012FEH   LINE      ---      ---       #402
-      010012FEH   LINE      ---      ---       #403
-      01001306H   LINE      ---      ---       #404
-      01001306H   LINE      ---      ---       #405
-      01001309H   LINE      ---      ---       #406
-      0100130FH   LINE      ---      ---       #407
-      01001311H   LINE      ---      ---       #409
-      01001311H   LINE      ---      ---       #410
-      01001317H   LINE      ---      ---       #411
-      0100131CH   LINE      ---      ---       #412
-      0100131CH   LINE      ---      ---       #414
-      0100132DH   LINE      ---      ---       #415
-      0100132FH   LINE      ---      ---       #417
-      01001335H   LINE      ---      ---       #418
-      01001337H   LINE      ---      ---       #419
-      01001337H   LINE      ---      ---       #420
+      0100129CH   LINE      ---      ---       #383
+      010012A2H   LINE      ---      ---       #384
+      010012A2H   LINE      ---      ---       #386
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010012A3H   BLOCK     CODE     ---       LVL=0
+      010012A3H   LINE      ---      ---       #389
+      010012A3H   LINE      ---      ---       #390
+      010012A3H   BLOCK     CODE     NEAR LAB  LVL=1
+      010012A3H   LINE      ---      ---       #391
+      010012A8H   LINE      ---      ---       #393
+      010012ACH   LINE      ---      ---       #394
+      010012B1H   LINE      ---      ---       #395
+      010012B6H   LINE      ---      ---       #398
+      010012BBH   LINE      ---      ---       #401
+      010012BBH   LINE      ---      ---       #402
+      0100130CH   LINE      ---      ---       #403
+      0100130CH   LINE      ---      ---       #404
+      0100130CH   LINE      ---      ---       #405
+      01001310H   LINE      ---      ---       #406
+      01001310H   LINE      ---      ---       #407
+      01001318H   LINE      ---      ---       #408
+      01001318H   LINE      ---      ---       #409
+      0100131BH   LINE      ---      ---       #410
+      01001321H   LINE      ---      ---       #411
+      01001323H   LINE      ---      ---       #413
+      01001323H   LINE      ---      ---       #414
+      01001329H   LINE      ---      ---       #415
+      0100132EH   LINE      ---      ---       #416
+      0100132EH   LINE      ---      ---       #418
+      0100133FH   LINE      ---      ---       #419
       01001341H   LINE      ---      ---       #421
-      01001341H   LINE      ---      ---       #422
-      01001347H   LINE      ---      ---       #423
-      01001347H   LINE      ---      ---       #424
-      01001349H   LINE      ---      ---       #425
-      01001349H   LINE      ---      ---       #426
-      01001353H   LINE      ---      ---       #427
-      01001353H   LINE      ---      ---       #428
-      01001359H   LINE      ---      ---       #429
-      01001359H   LINE      ---      ---       #430
-      0100135BH   LINE      ---      ---       #431
-      0100135BH   LINE      ---      ---       #432
-      01001365H   LINE      ---      ---       #433
-      01001365H   LINE      ---      ---       #434
-      0100136BH   LINE      ---      ---       #435
-      0100136BH   LINE      ---      ---       #436
-      0100136DH   LINE      ---      ---       #437
-      0100136DH   LINE      ---      ---       #438
+      01001347H   LINE      ---      ---       #422
+      01001349H   LINE      ---      ---       #423
+      01001349H   LINE      ---      ---       #424
+      01001350H   LINE      ---      ---       #425
+      01001350H   LINE      ---      ---       #426
+      01001356H   LINE      ---      ---       #427
+      01001358H   LINE      ---      ---       #429
+      0100135EH   LINE      ---      ---       #430
+      01001360H   LINE      ---      ---       #431
+      01001360H   LINE      ---      ---       #432
+      01001367H   LINE      ---      ---       #433
+      01001367H   LINE      ---      ---       #434
+      0100136DH   LINE      ---      ---       #435
+      0100136FH   LINE      ---      ---       #437
+      01001375H   LINE      ---      ---       #438
       01001377H   LINE      ---      ---       #439
       01001377H   LINE      ---      ---       #440
-      0100137DH   LINE      ---      ---       #441
-      0100137DH   LINE      ---      ---       #442
-      0100137FH   LINE      ---      ---       #443
-      0100137FH   LINE      ---      ---       #444
-      01001387H   LINE      ---      ---       #445
-      01001387H   LINE      ---      ---       #446
-      0100138DH   LINE      ---      ---       #447
-      0100138DH   LINE      ---      ---       #448
-      0100138FH   LINE      ---      ---       #449
-      0100138FH   LINE      ---      ---       #450
-      01001397H   LINE      ---      ---       #451
-      01001397H   LINE      ---      ---       #452
-      0100139DH   LINE      ---      ---       #453
-      0100139DH   LINE      ---      ---       #454
-      0100139FH   LINE      ---      ---       #455
-      0100139FH   LINE      ---      ---       #456
-      010013A7H   LINE      ---      ---       #457
-      010013A7H   LINE      ---      ---       #458
-      010013ADH   LINE      ---      ---       #459
-      010013ADH   LINE      ---      ---       #460
-      010013AFH   LINE      ---      ---       #461
-      010013AFH   LINE      ---      ---       #462
-      010013B7H   LINE      ---      ---       #463
-      010013B7H   LINE      ---      ---       #464
-      010013BDH   LINE      ---      ---       #465
-      010013BDH   LINE      ---      ---       #466
-      010013BFH   LINE      ---      ---       #467
-      010013BFH   LINE      ---      ---       #468
-      010013C7H   LINE      ---      ---       #469
-      010013C7H   LINE      ---      ---       #470
-      010013CDH   LINE      ---      ---       #471
-      010013CDH   LINE      ---      ---       #472
-      010013CFH   LINE      ---      ---       #473
-      010013CFH   LINE      ---      ---       #474
-      010013D6H   LINE      ---      ---       #475
-      010013D6H   LINE      ---      ---       #476
-      010013DCH   LINE      ---      ---       #477
-      010013DCH   LINE      ---      ---       #478
-      010013DEH   LINE      ---      ---       #479
-      010013DEH   LINE      ---      ---       #480
-      010013E5H   LINE      ---      ---       #481
-      010013E5H   LINE      ---      ---       #482
-      010013EBH   LINE      ---      ---       #483
-      010013EBH   LINE      ---      ---       #484
-      010013EDH   LINE      ---      ---       #485
-      010013EDH   LINE      ---      ---       #486
-      010013F4H   LINE      ---      ---       #487
-      010013F4H   LINE      ---      ---       #488
-      010013FAH   LINE      ---      ---       #489
-      010013FAH   LINE      ---      ---       #490
-      010013FAH   LINE      ---      ---       #491
-      010013FAH   LINE      ---      ---       #492
-      010013FAH   LINE      ---      ---       #493
-      010013FAH   LINE      ---      ---       #495
-      010013FAH   LINE      ---      ---       #496
-      010013FFH   LINE      ---      ---       #497
+      0100137EH   LINE      ---      ---       #441
+      0100137EH   LINE      ---      ---       #442
+      01001384H   LINE      ---      ---       #443
+      01001386H   LINE      ---      ---       #445
+      0100138CH   LINE      ---      ---       #446
+      0100138EH   LINE      ---      ---       #447
+      0100138EH   LINE      ---      ---       #448
+      01001398H   LINE      ---      ---       #449
+      01001398H   LINE      ---      ---       #450
+      0100139EH   LINE      ---      ---       #451
+      0100139EH   LINE      ---      ---       #452
+      010013A0H   LINE      ---      ---       #453
+      010013A0H   LINE      ---      ---       #454
+      010013A7H   LINE      ---      ---       #455
+      010013A7H   LINE      ---      ---       #456
+      010013ADH   LINE      ---      ---       #457
+      010013AFH   LINE      ---      ---       #459
+      010013B5H   LINE      ---      ---       #460
+      010013B7H   LINE      ---      ---       #461
+      010013B7H   LINE      ---      ---       #462
+      010013BEH   LINE      ---      ---       #463
+      010013BEH   LINE      ---      ---       #464
+      010013C4H   LINE      ---      ---       #465
+      010013C6H   LINE      ---      ---       #467
+      010013CCH   LINE      ---      ---       #468
+      010013CEH   LINE      ---      ---       #469
+      010013CEH   LINE      ---      ---       #470
+      010013D5H   LINE      ---      ---       #471
+      010013D5H   LINE      ---      ---       #472
+      010013DBH   LINE      ---      ---       #473
+      010013DDH   LINE      ---      ---       #475
+      010013E3H   LINE      ---      ---       #476
+      010013E5H   LINE      ---      ---       #477
+      010013E5H   LINE      ---      ---       #478
+      010013EDH   LINE      ---      ---       #479
+      010013EDH   LINE      ---      ---       #480
+      010013F3H   LINE      ---      ---       #481
+      010013F3H   LINE      ---      ---       #482
+      010013F5H   LINE      ---      ---       #483
+      010013F5H   LINE      ---      ---       #484
+      010013F5H   LINE      ---      ---       #485
+      010013F5H   LINE      ---      ---       #486
+      010013FBH   LINE      ---      ---       #487
+      010013FDH   LINE      ---      ---       #488
+      010013FDH   LINE      ---      ---       #489
+      01001404H   LINE      ---      ---       #490
+      01001404H   LINE      ---      ---       #491
+      0100140AH   LINE      ---      ---       #492
+      0100140CH   LINE      ---      ---       #494
+      01001412H   LINE      ---      ---       #495
+      01001414H   LINE      ---      ---       #496
+      01001414H   LINE      ---      ---       #497
+      0100141BH   LINE      ---      ---       #498
+      0100141BH   LINE      ---      ---       #499
+      01001421H   LINE      ---      ---       #500
+      01001423H   LINE      ---      ---       #502
+      01001429H   LINE      ---      ---       #503
+      0100142BH   LINE      ---      ---       #504
+      0100142BH   LINE      ---      ---       #505
+      01001432H   LINE      ---      ---       #506
+      01001432H   LINE      ---      ---       #507
+      01001438H   LINE      ---      ---       #508
+      01001438H   LINE      ---      ---       #509
+      0100143AH   LINE      ---      ---       #510
+      0100143AH   LINE      ---      ---       #511
+      01001441H   LINE      ---      ---       #512
+      01001441H   LINE      ---      ---       #513
+      01001447H   LINE      ---      ---       #514
+      01001447H   LINE      ---      ---       #515
+      01001447H   LINE      ---      ---       #517
+      01001447H   LINE      ---      ---       #518
+      01001447H   LINE      ---      ---       #519
+      01001447H   LINE      ---      ---       #521
+      01001447H   LINE      ---      ---       #522
+      0100144CH   LINE      ---      ---       #523
       02004E97H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100101BH   BLOCK     CODE     ---       LVL=0
-      0100101BH   LINE      ---      ---       #501
-      01001026H   LINE      ---      ---       #502
-      01001026H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001026H   LINE      ---      ---       #503
-      01001029H   LINE      ---      ---       #505
-      01001036H   LINE      ---      ---       #506
-      01001036H   LINE      ---      ---       #507
-      01001061H   LINE      ---      ---       #509
-      01001061H   LINE      ---      ---       #510
-      01001068H   LINE      ---      ---       #511
-      01001068H   LINE      ---      ---       #512
-      0100106EH   LINE      ---      ---       #513
-      01001070H   LINE      ---      ---       #514
-      01001074H   LINE      ---      ---       #515
-      01001074H   LINE      ---      ---       #516
-      0100107AH   LINE      ---      ---       #517
-      0100107CH   LINE      ---      ---       #518
-      0100109CH   LINE      ---      ---       #519
-      0100109CH   LINE      ---      ---       #520
-      010010A0H   LINE      ---      ---       #521
-      010010A2H   LINE      ---      ---       #522
-      010010A6H   LINE      ---      ---       #523
-      010010A6H   LINE      ---      ---       #524
-      010010ACH   LINE      ---      ---       #525
-      010010AEH   LINE      ---      ---       #526
-      010010CEH   LINE      ---      ---       #527
-      010010CEH   LINE      ---      ---       #528
-      010010D2H   LINE      ---      ---       #529
-      010010D4H   LINE      ---      ---       #530
-      010010D8H   LINE      ---      ---       #531
-      010010D8H   LINE      ---      ---       #532
-      010010DEH   LINE      ---      ---       #533
-      010010E0H   LINE      ---      ---       #534
-      01001100H   LINE      ---      ---       #535
-      01001100H   LINE      ---      ---       #536
-      01001104H   LINE      ---      ---       #537
-      01001106H   LINE      ---      ---       #538
-      0100110AH   LINE      ---      ---       #539
-      0100110AH   LINE      ---      ---       #540
-      01001110H   LINE      ---      ---       #541
-      01001112H   LINE      ---      ---       #542
-      01001132H   LINE      ---      ---       #543
-      01001132H   LINE      ---      ---       #544
-      01001137H   LINE      ---      ---       #545
-      01001139H   LINE      ---      ---       #546
-      0100113DH   LINE      ---      ---       #547
-      0100113DH   LINE      ---      ---       #548
-      01001143H   LINE      ---      ---       #549
-      01001145H   LINE      ---      ---       #550
-      01001165H   LINE      ---      ---       #551
-      01001165H   LINE      ---      ---       #552
-      0100116AH   LINE      ---      ---       #553
-      0100116CH   LINE      ---      ---       #554
-      01001170H   LINE      ---      ---       #555
-      01001170H   LINE      ---      ---       #556
-      01001176H   LINE      ---      ---       #557
-      01001178H   LINE      ---      ---       #558
-      01001198H   LINE      ---      ---       #559
-      01001198H   LINE      ---      ---       #560
-      0100119EH   LINE      ---      ---       #561
-      010011A0H   LINE      ---      ---       #562
-      010011A4H   LINE      ---      ---       #563
-      010011A4H   LINE      ---      ---       #564
-      010011AAH   LINE      ---      ---       #565
-      010011ACH   LINE      ---      ---       #566
-      010011CCH   LINE      ---      ---       #567
-      010011CCH   LINE      ---      ---       #568
-      010011D2H   LINE      ---      ---       #569
-      010011D4H   LINE      ---      ---       #570
-      010011D8H   LINE      ---      ---       #571
-      010011D8H   LINE      ---      ---       #572
-      010011DEH   LINE      ---      ---       #573
-      010011E0H   LINE      ---      ---       #575
-      01001200H   LINE      ---      ---       #576
-      01001200H   LINE      ---      ---       #577
-      01001206H   LINE      ---      ---       #578
-      01001208H   LINE      ---      ---       #579
-      0100120CH   LINE      ---      ---       #580
-      0100120CH   LINE      ---      ---       #581
-      01001212H   LINE      ---      ---       #582
-      01001214H   LINE      ---      ---       #583
-      01001234H   LINE      ---      ---       #584
-      01001234H   LINE      ---      ---       #585
-      01001238H   LINE      ---      ---       #586
-      0100123AH   LINE      ---      ---       #587
-      0100123EH   LINE      ---      ---       #588
-      0100123EH   LINE      ---      ---       #589
-      01001244H   LINE      ---      ---       #590
-      01001244H   LINE      ---      ---       #592
-      0100124BH   LINE      ---      ---       #593
-      0100124BH   LINE      ---      ---       #594
-      0100126BH   LINE      ---      ---       #595
-      0100126FH   LINE      ---      ---       #596
-      0100126FH   LINE      ---      ---       #597
-      0100126FH   LINE      ---      ---       #598
-      01001277H   LINE      ---      ---       #599
+      01001021H   BLOCK     CODE     ---       LVL=0
+      01001021H   LINE      ---      ---       #527
+      0100102CH   LINE      ---      ---       #528
+      0100102CH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100102CH   LINE      ---      ---       #529
+      0100102FH   LINE      ---      ---       #531
+      0100103CH   LINE      ---      ---       #532
+      0100103CH   LINE      ---      ---       #533
+      01001067H   LINE      ---      ---       #535
+      01001067H   LINE      ---      ---       #536
+      0100106EH   LINE      ---      ---       #537
+      0100106EH   LINE      ---      ---       #538
+      01001074H   LINE      ---      ---       #539
+      01001076H   LINE      ---      ---       #540
+      0100107AH   LINE      ---      ---       #541
+      0100107AH   LINE      ---      ---       #542
+      01001080H   LINE      ---      ---       #543
+      01001082H   LINE      ---      ---       #544
+      010010A2H   LINE      ---      ---       #545
+      010010A2H   LINE      ---      ---       #546
+      010010A6H   LINE      ---      ---       #547
+      010010A8H   LINE      ---      ---       #548
+      010010ACH   LINE      ---      ---       #549
+      010010ACH   LINE      ---      ---       #550
+      010010B2H   LINE      ---      ---       #551
+      010010B4H   LINE      ---      ---       #552
+      010010D4H   LINE      ---      ---       #553
+      010010D4H   LINE      ---      ---       #554
+      010010D8H   LINE      ---      ---       #555
+      010010DAH   LINE      ---      ---       #556
+      010010DEH   LINE      ---      ---       #557
+      010010DEH   LINE      ---      ---       #558
+      010010E4H   LINE      ---      ---       #559
+      010010E6H   LINE      ---      ---       #560
+      01001106H   LINE      ---      ---       #561
+      01001106H   LINE      ---      ---       #562
+      0100110AH   LINE      ---      ---       #563
+      0100110CH   LINE      ---      ---       #564
+      01001110H   LINE      ---      ---       #565
+      01001110H   LINE      ---      ---       #566
+      01001116H   LINE      ---      ---       #567
+      01001118H   LINE      ---      ---       #568
+      01001138H   LINE      ---      ---       #569
+      01001138H   LINE      ---      ---       #570
+      0100113DH   LINE      ---      ---       #571
+      0100113FH   LINE      ---      ---       #572
+      01001143H   LINE      ---      ---       #573
+      01001143H   LINE      ---      ---       #574
+      01001149H   LINE      ---      ---       #575
+      0100114BH   LINE      ---      ---       #576
+      0100116BH   LINE      ---      ---       #577
+      0100116BH   LINE      ---      ---       #578
+      01001170H   LINE      ---      ---       #579
+      01001172H   LINE      ---      ---       #580
+      01001176H   LINE      ---      ---       #581
+      01001176H   LINE      ---      ---       #582
+      0100117CH   LINE      ---      ---       #583
+      0100117EH   LINE      ---      ---       #584
+      0100119EH   LINE      ---      ---       #585
+      0100119EH   LINE      ---      ---       #586
+      010011A4H   LINE      ---      ---       #587
+      010011A6H   LINE      ---      ---       #588
+      010011AAH   LINE      ---      ---       #589
+      010011AAH   LINE      ---      ---       #590
+      010011B0H   LINE      ---      ---       #591
+      010011B2H   LINE      ---      ---       #592
+      010011D2H   LINE      ---      ---       #593
+      010011D2H   LINE      ---      ---       #594
+      010011D8H   LINE      ---      ---       #595
+      010011DAH   LINE      ---      ---       #596
+      010011DEH   LINE      ---      ---       #597
+      010011DEH   LINE      ---      ---       #598
+      010011E4H   LINE      ---      ---       #599
+      010011E6H   LINE      ---      ---       #601
+      01001206H   LINE      ---      ---       #602
+      01001206H   LINE      ---      ---       #603
+      0100120CH   LINE      ---      ---       #604
+      0100120EH   LINE      ---      ---       #605
+      01001212H   LINE      ---      ---       #606
+      01001212H   LINE      ---      ---       #607
+      01001218H   LINE      ---      ---       #608
+      0100121AH   LINE      ---      ---       #609
+      0100123AH   LINE      ---      ---       #610
+      0100123AH   LINE      ---      ---       #611
+      0100123EH   LINE      ---      ---       #612
+      01001240H   LINE      ---      ---       #613
+      01001244H   LINE      ---      ---       #614
+      01001244H   LINE      ---      ---       #615
+      0100124AH   LINE      ---      ---       #616
+      0100124AH   LINE      ---      ---       #618
+      01001251H   LINE      ---      ---       #619
+      01001251H   LINE      ---      ---       #620
+      01001271H   LINE      ---      ---       #621
+      01001275H   LINE      ---      ---       #622
+      01001275H   LINE      ---      ---       #623
+      01001275H   LINE      ---      ---       #624
+      0100127DH   LINE      ---      ---       #625
       02004E71H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
       02004E43H   PUBLIC    XDATA    ---       ksEvtPool
-      01001400H   PUBLIC    CODE     ---       KS_GetCurrentEvt
-      0100160BH   PUBLIC    CODE     ---       _array_is_empty
-      01001844H   PUBLIC    CODE     ---       KS_ScanMatrix
+      0100144DH   PUBLIC    CODE     ---       KS_GetCurrentEvt
+      01001657H   PUBLIC    CODE     ---       _array_is_empty
+      010017EFH   PUBLIC    CODE     ---       KS_ScanMatrix
       0100094FH   PUBLIC    CODE     ---       KS_Unistall
       01000643H   PUBLIC    CODE     ---       KS_Initialize
 
-      010015FDH   BLOCK     CODE     ---       LVL=0
-      010015FDH   LINE      ---      ---       #24
-      010015FDH   LINE      ---      ---       #25
-      010015FDH   BLOCK     CODE     NEAR LAB  LVL=1
-      010015FDH   LINE      ---      ---       #27
-      01001602H   LINE      ---      ---       #28
-      01001605H   LINE      ---      ---       #29
-      01001608H   LINE      ---      ---       #30
-      0100160AH   LINE      ---      ---       #31
+      01001649H   BLOCK     CODE     ---       LVL=0
+      01001649H   LINE      ---      ---       #24
+      01001649H   LINE      ---      ---       #25
+      01001649H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001649H   LINE      ---      ---       #27
+      0100164EH   LINE      ---      ---       #28
+      01001651H   LINE      ---      ---       #29
+      01001654H   LINE      ---      ---       #30
+      01001656H   LINE      ---      ---       #31
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001685H   BLOCK     CODE     ---       LVL=0
-      01001685H   LINE      ---      ---       #35
-      01001685H   LINE      ---      ---       #36
-      01001685H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001685H   LINE      ---      ---       #37
-      01001687H   LINE      ---      ---       #39
-      01001693H   LINE      ---      ---       #40
-      01001693H   LINE      ---      ---       #41
-      010016ADH   LINE      ---      ---       #43
-      010016ADH   LINE      ---      ---       #90
-      010016AFH   LINE      ---      ---       #91
-      010016AFH   LINE      ---      ---       #92
-      010016BEH   LINE      ---      ---       #93
-      010016BEH   LINE      ---      ---       #94
-      010016C1H   LINE      ---      ---       #95
-      010016C1H   LINE      ---      ---       #96
-      010016C8H   LINE      ---      ---       #97
-      010016D4H   LINE      ---      ---       #98
-      010016D5H   LINE      ---      ---       #99
-      010016D5H   LINE      ---      ---       #100
-      010016DAH   LINE      ---      ---       #101
+      010016D1H   BLOCK     CODE     ---       LVL=0
+      010016D1H   LINE      ---      ---       #35
+      010016D1H   LINE      ---      ---       #36
+      010016D1H   BLOCK     CODE     NEAR LAB  LVL=1
+      010016D1H   LINE      ---      ---       #37
+      010016D3H   LINE      ---      ---       #39
+      010016DFH   LINE      ---      ---       #40
+      010016DFH   LINE      ---      ---       #41
+      010016F9H   LINE      ---      ---       #43
+      010016F9H   LINE      ---      ---       #90
+      010016FBH   LINE      ---      ---       #91
+      010016FBH   LINE      ---      ---       #92
+      0100170AH   LINE      ---      ---       #93
+      0100170AH   LINE      ---      ---       #94
+      0100170DH   LINE      ---      ---       #95
+      0100170DH   LINE      ---      ---       #96
+      01001714H   LINE      ---      ---       #97
+      01001720H   LINE      ---      ---       #98
+      01001721H   LINE      ---      ---       #99
+      01001721H   LINE      ---      ---       #100
+      01001726H   LINE      ---      ---       #101
       00000006H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010016DBH   BLOCK     CODE     ---       LVL=0
-      010016DBH   LINE      ---      ---       #103
-      010016DBH   LINE      ---      ---       #104
-      010016DBH   BLOCK     CODE     NEAR LAB  LVL=1
-      010016DBH   LINE      ---      ---       #105
-      010016DDH   LINE      ---      ---       #106
-      010016DEH   LINE      ---      ---       #108
-      010016ECH   LINE      ---      ---       #109
-      010016ECH   LINE      ---      ---       #110
-      010016F3H   LINE      ---      ---       #111
-      010016F3H   LINE      ---      ---       #112
-      010016F6H   LINE      ---      ---       #113
-      010016F6H   LINE      ---      ---       #114
-      010016F8H   LINE      ---      ---       #116
-      010016FEH   LINE      ---      ---       #118
-      0100170AH   LINE      ---      ---       #119
-      0100170AH   LINE      ---      ---       #120
-      01001725H   LINE      ---      ---       #122
-      01001725H   LINE      ---      ---       #166
-      01001727H   LINE      ---      ---       #167
-      01001727H   LINE      ---      ---       #168
-      0100172AH   LINE      ---      ---       #169
-      0100172AH   LINE      ---      ---       #170
-      01001738H   LINE      ---      ---       #171
-      0100173CH   LINE      ---      ---       #172
-      01001747H   LINE      ---      ---       #173
-      01001747H   LINE      ---      ---       #174
-      01001749H   LINE      ---      ---       #175
-      01001749H   LINE      ---      ---       #176
-      0100174BH   LINE      ---      ---       #178
-      0100174BH   LINE      ---      ---       #179
-      01001763H   LINE      ---      ---       #180
-      01001770H   LINE      ---      ---       #181
-      01001770H   LINE      ---      ---       #182
-      01001774H   LINE      ---      ---       #183
-      0100177FH   LINE      ---      ---       #184
-      0100177FH   LINE      ---      ---       #185
-      0100177FH   LINE      ---      ---       #186
-      01001784H   LINE      ---      ---       #187
+      01001727H   BLOCK     CODE     ---       LVL=0
+      01001727H   LINE      ---      ---       #103
+      01001727H   LINE      ---      ---       #104
+      01001727H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001727H   LINE      ---      ---       #105
+      01001729H   LINE      ---      ---       #106
+      0100172AH   LINE      ---      ---       #108
+      01001738H   LINE      ---      ---       #109
+      01001738H   LINE      ---      ---       #110
+      0100173FH   LINE      ---      ---       #111
+      0100173FH   LINE      ---      ---       #112
+      01001742H   LINE      ---      ---       #113
+      01001742H   LINE      ---      ---       #114
+      01001744H   LINE      ---      ---       #116
+      0100174AH   LINE      ---      ---       #118
+      01001756H   LINE      ---      ---       #119
+      01001756H   LINE      ---      ---       #120
+      01001771H   LINE      ---      ---       #122
+      01001771H   LINE      ---      ---       #166
+      01001773H   LINE      ---      ---       #167
+      01001773H   LINE      ---      ---       #168
+      01001776H   LINE      ---      ---       #169
+      01001776H   LINE      ---      ---       #170
+      01001784H   LINE      ---      ---       #171
+      01001788H   LINE      ---      ---       #172
+      01001793H   LINE      ---      ---       #173
+      01001793H   LINE      ---      ---       #174
+      01001795H   LINE      ---      ---       #175
+      01001795H   LINE      ---      ---       #176
+      01001797H   LINE      ---      ---       #178
+      01001797H   LINE      ---      ---       #179
+      010017AFH   LINE      ---      ---       #180
+      010017BCH   LINE      ---      ---       #181
+      010017BCH   LINE      ---      ---       #182
+      010017C0H   LINE      ---      ---       #183
+      010017CBH   LINE      ---      ---       #184
+      010017CBH   LINE      ---      ---       #185
+      010017CBH   LINE      ---      ---       #186
+      010017D0H   LINE      ---      ---       #187
       00000006H   SYMBOL    DATA     VOID      i
       00000005H   SYMBOL    DATA     VOID      found
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001785H   BLOCK     CODE     ---       LVL=0
-      01001785H   LINE      ---      ---       #189
-      01001785H   LINE      ---      ---       #190
-      01001785H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001785H   LINE      ---      ---       #191
-      0100178AH   LINE      ---      ---       #193
-      01001795H   LINE      ---      ---       #194
-      01001799H   LINE      ---      ---       #195
-      010017A1H   LINE      ---      ---       #196
+      010017D1H   BLOCK     CODE     ---       LVL=0
+      010017D1H   LINE      ---      ---       #189
+      010017D1H   LINE      ---      ---       #190
+      010017D1H   BLOCK     CODE     NEAR LAB  LVL=1
+      010017D1H   LINE      ---      ---       #191
+      010017D6H   LINE      ---      ---       #193
+      010017E1H   LINE      ---      ---       #194
+      010017E6H   LINE      ---      ---       #195
+      010017EEH   LINE      ---      ---       #196
       02004E98H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1323,33 +1339,33 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001844H   BLOCK     CODE     ---       LVL=0
-      01001844H   LINE      ---      ---       #260
-      01001844H   LINE      ---      ---       #261
-      01001844H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001844H   LINE      ---      ---       #262
-      01001846H   LINE      ---      ---       #263
-      0100184AH   LINE      ---      ---       #264
-      0100184BH   LINE      ---      ---       #265
-      0100184CH   LINE      ---      ---       #266
-      0100184EH   LINE      ---      ---       #267
-      01001850H   LINE      ---      ---       #268
-      01001852H   LINE      ---      ---       #269
-      01001859H   LINE      ---      ---       #270
-      01001862H   LINE      ---      ---       #271
-      01001872H   LINE      ---      ---       #272
-      010018D2H   LINE      ---      ---       #273
-      010018D5H   LINE      ---      ---       #275
-      010018DEH   LINE      ---      ---       #276
-      010018E7H   LINE      ---      ---       #277
-      010018F7H   LINE      ---      ---       #278
-      01001957H   LINE      ---      ---       #279
-      0100195AH   LINE      ---      ---       #281
-      01001963H   LINE      ---      ---       #282
-      0100197DH   LINE      ---      ---       #283
-      010019A0H   LINE      ---      ---       #284
-      010019A0H   LINE      ---      ---       #285
-      010019A3H   LINE      ---      ---       #286
+      010017EFH   BLOCK     CODE     ---       LVL=0
+      010017EFH   LINE      ---      ---       #260
+      010017EFH   LINE      ---      ---       #261
+      010017EFH   BLOCK     CODE     NEAR LAB  LVL=1
+      010017EFH   LINE      ---      ---       #262
+      010017F1H   LINE      ---      ---       #263
+      010017F5H   LINE      ---      ---       #264
+      010017F6H   LINE      ---      ---       #265
+      010017F7H   LINE      ---      ---       #266
+      010017F9H   LINE      ---      ---       #267
+      010017FBH   LINE      ---      ---       #268
+      010017FDH   LINE      ---      ---       #269
+      01001804H   LINE      ---      ---       #270
+      0100180DH   LINE      ---      ---       #271
+      0100181DH   LINE      ---      ---       #272
+      0100187DH   LINE      ---      ---       #273
+      01001881H   LINE      ---      ---       #275
+      0100188AH   LINE      ---      ---       #276
+      01001893H   LINE      ---      ---       #277
+      010018A3H   LINE      ---      ---       #278
+      01001903H   LINE      ---      ---       #279
+      01001906H   LINE      ---      ---       #281
+      0100190FH   LINE      ---      ---       #282
+      01001929H   LINE      ---      ---       #283
+      0100194CH   LINE      ---      ---       #284
+      0100194CH   LINE      ---      ---       #285
+      0100194FH   LINE      ---      ---       #286
       00000007H   SYMBOL    DATA     VOID      i
       02004E72H   SYMBOL    XDATA    VOID      j
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1360,108 +1376,108 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100160BH   BLOCK     CODE     ---       LVL=0
-      0100160BH   LINE      ---      ---       #288
-      01001616H   LINE      ---      ---       #289
-      01001616H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001616H   LINE      ---      ---       #291
-      0100161DH   LINE      ---      ---       #292
-      0100161DH   LINE      ---      ---       #293
-      01001632H   LINE      ---      ---       #294
-      01001635H   LINE      ---      ---       #295
-      01001638H   LINE      ---      ---       #296
-      0100163AH   LINE      ---      ---       #297
+      01001657H   BLOCK     CODE     ---       LVL=0
+      01001657H   LINE      ---      ---       #288
+      01001662H   LINE      ---      ---       #289
+      01001662H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001662H   LINE      ---      ---       #291
+      01001669H   LINE      ---      ---       #292
+      01001669H   LINE      ---      ---       #293
+      0100167EH   LINE      ---      ---       #294
+      01001681H   LINE      ---      ---       #295
+      01001684H   LINE      ---      ---       #296
+      01001686H   LINE      ---      ---       #297
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001400H   BLOCK     CODE     ---       LVL=0
-      01001400H   LINE      ---      ---       #300
-      01001400H   LINE      ---      ---       #301
-      01001400H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001400H   LINE      ---      ---       #303
-      01001405H   LINE      ---      ---       #304
-      01001407H   LINE      ---      ---       #305
-      01001409H   LINE      ---      ---       #306
-      0100140BH   LINE      ---      ---       #307
-      0100140DH   LINE      ---      ---       #308
-      0100140FH   LINE      ---      ---       #309
-      01001411H   LINE      ---      ---       #310
-      01001413H   LINE      ---      ---       #311
-      01001415H   LINE      ---      ---       #312
-      01001417H   LINE      ---      ---       #313
-      01001419H   LINE      ---      ---       #314
-      0100141BH   LINE      ---      ---       #315
-      0100141DH   LINE      ---      ---       #318
-      01001420H   LINE      ---      ---       #320
-      0100144EH   LINE      ---      ---       #322
-      0100144EH   LINE      ---      ---       #323
-      01001455H   LINE      ---      ---       #324
-      01001457H   LINE      ---      ---       #326
-      01001457H   LINE      ---      ---       #327
-      0100145EH   LINE      ---      ---       #328
-      01001463H   LINE      ---      ---       #329
-      01001463H   LINE      ---      ---       #331
-      01001473H   LINE      ---      ---       #332
-      01001482H   LINE      ---      ---       #333
-      01001486H   LINE      ---      ---       #334
-      0100148CH   LINE      ---      ---       #335
-      01001492H   LINE      ---      ---       #336
-      0100149AH   LINE      ---      ---       #337
-      0100149AH   LINE      ---      ---       #338
-      010014A2H   LINE      ---      ---       #339
-      010014AAH   LINE      ---      ---       #340
-      010014B2H   LINE      ---      ---       #341
-      010014BEH   LINE      ---      ---       #342
-      010014DFH   LINE      ---      ---       #343
-      010014E5H   LINE      ---      ---       #344
-      010014E7H   LINE      ---      ---       #345
-      010014E7H   LINE      ---      ---       #346
-      010014ECH   LINE      ---      ---       #347
-      010014ECH   LINE      ---      ---       #349
-      010014FEH   LINE      ---      ---       #350
-      010014FEH   LINE      ---      ---       #351
-      0100151AH   LINE      ---      ---       #352
-      0100152DH   LINE      ---      ---       #353
-      01001533H   LINE      ---      ---       #354
-      01001533H   LINE      ---      ---       #355
-      01001535H   LINE      ---      ---       #356
-      01001537H   LINE      ---      ---       #358
-      01001537H   LINE      ---      ---       #360
-      0100153DH   LINE      ---      ---       #361
-      01001544H   LINE      ---      ---       #362
-      0100155CH   LINE      ---      ---       #363
-      0100156BH   LINE      ---      ---       #364
-      0100156BH   LINE      ---      ---       #365
-      01001570H   LINE      ---      ---       #366
-      01001570H   LINE      ---      ---       #367
-      01001581H   LINE      ---      ---       #368
-      01001594H   LINE      ---      ---       #369
-      0100159BH   LINE      ---      ---       #370
-      0100159BH   LINE      ---      ---       #371
-      010015A2H   LINE      ---      ---       #372
-      010015A4H   LINE      ---      ---       #374
-      010015A4H   LINE      ---      ---       #375
-      010015ABH   LINE      ---      ---       #376
-      010015ABH   LINE      ---      ---       #377
-      010015ABH   LINE      ---      ---       #378
-      010015B3H   LINE      ---      ---       #379
-      010015BBH   LINE      ---      ---       #380
-      010015C3H   LINE      ---      ---       #381
-      010015C9H   LINE      ---      ---       #382
-      010015C9H   LINE      ---      ---       #383
-      010015D1H   LINE      ---      ---       #385
-      010015DFH   LINE      ---      ---       #386
-      010015DFH   LINE      ---      ---       #387
-      010015E2H   LINE      ---      ---       #388
-      010015E2H   LINE      ---      ---       #391
-      010015EFH   LINE      ---      ---       #392
-      010015EFH   LINE      ---      ---       #393
-      010015F6H   LINE      ---      ---       #394
-      010015F6H   LINE      ---      ---       #396
-      010015F6H   LINE      ---      ---       #397
-      010015FCH   LINE      ---      ---       #398
-      010015FCH   LINE      ---      ---       #401
+      0100144DH   BLOCK     CODE     ---       LVL=0
+      0100144DH   LINE      ---      ---       #300
+      0100144DH   LINE      ---      ---       #301
+      0100144DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100144DH   LINE      ---      ---       #303
+      01001452H   LINE      ---      ---       #304
+      01001454H   LINE      ---      ---       #305
+      01001456H   LINE      ---      ---       #306
+      01001458H   LINE      ---      ---       #307
+      0100145AH   LINE      ---      ---       #308
+      0100145CH   LINE      ---      ---       #309
+      0100145EH   LINE      ---      ---       #310
+      01001460H   LINE      ---      ---       #311
+      01001462H   LINE      ---      ---       #312
+      01001464H   LINE      ---      ---       #313
+      01001466H   LINE      ---      ---       #314
+      01001468H   LINE      ---      ---       #315
+      0100146AH   LINE      ---      ---       #318
+      0100146CH   LINE      ---      ---       #320
+      0100149AH   LINE      ---      ---       #322
+      0100149AH   LINE      ---      ---       #323
+      010014A1H   LINE      ---      ---       #324
+      010014A3H   LINE      ---      ---       #326
+      010014A3H   LINE      ---      ---       #327
+      010014AAH   LINE      ---      ---       #328
+      010014AFH   LINE      ---      ---       #329
+      010014AFH   LINE      ---      ---       #331
+      010014BFH   LINE      ---      ---       #332
+      010014CEH   LINE      ---      ---       #333
+      010014D2H   LINE      ---      ---       #334
+      010014D8H   LINE      ---      ---       #335
+      010014DEH   LINE      ---      ---       #336
+      010014E6H   LINE      ---      ---       #337
+      010014E6H   LINE      ---      ---       #338
+      010014EEH   LINE      ---      ---       #339
+      010014F6H   LINE      ---      ---       #340
+      010014FEH   LINE      ---      ---       #341
+      0100150AH   LINE      ---      ---       #342
+      0100152BH   LINE      ---      ---       #343
+      01001531H   LINE      ---      ---       #344
+      01001533H   LINE      ---      ---       #345
+      01001533H   LINE      ---      ---       #346
+      01001538H   LINE      ---      ---       #347
+      01001538H   LINE      ---      ---       #349
+      0100154AH   LINE      ---      ---       #350
+      0100154AH   LINE      ---      ---       #351
+      01001566H   LINE      ---      ---       #352
+      01001579H   LINE      ---      ---       #353
+      0100157FH   LINE      ---      ---       #354
+      0100157FH   LINE      ---      ---       #355
+      01001581H   LINE      ---      ---       #356
+      01001583H   LINE      ---      ---       #358
+      01001583H   LINE      ---      ---       #360
+      01001589H   LINE      ---      ---       #361
+      01001590H   LINE      ---      ---       #362
+      010015A8H   LINE      ---      ---       #363
+      010015B7H   LINE      ---      ---       #364
+      010015B7H   LINE      ---      ---       #365
+      010015BCH   LINE      ---      ---       #366
+      010015BCH   LINE      ---      ---       #367
+      010015CDH   LINE      ---      ---       #368
+      010015E0H   LINE      ---      ---       #369
+      010015E7H   LINE      ---      ---       #370
+      010015E7H   LINE      ---      ---       #371
+      010015EEH   LINE      ---      ---       #372
+      010015F0H   LINE      ---      ---       #374
+      010015F0H   LINE      ---      ---       #375
+      010015F7H   LINE      ---      ---       #376
+      010015F7H   LINE      ---      ---       #377
+      010015F7H   LINE      ---      ---       #378
+      010015FFH   LINE      ---      ---       #379
+      01001607H   LINE      ---      ---       #380
+      0100160FH   LINE      ---      ---       #381
+      01001615H   LINE      ---      ---       #382
+      01001615H   LINE      ---      ---       #383
+      0100161DH   LINE      ---      ---       #385
+      0100162BH   LINE      ---      ---       #386
+      0100162BH   LINE      ---      ---       #387
+      0100162EH   LINE      ---      ---       #388
+      0100162EH   LINE      ---      ---       #391
+      0100163BH   LINE      ---      ---       #392
+      0100163BH   LINE      ---      ---       #393
+      01001642H   LINE      ---      ---       #394
+      01001642H   LINE      ---      ---       #396
+      01001642H   LINE      ---      ---       #397
+      01001648H   LINE      ---      ---       #398
+      01001648H   LINE      ---      ---       #401
       02004E25H   SYMBOL    XDATA    VOID      i
       02004E26H   SYMBOL    XDATA    VOID      j
       02004E27H   SYMBOL    XDATA    VOID      temp
@@ -1479,8 +1495,8 @@
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       LED
-      01001A3CH   PUBLIC    CODE     ---       LED_handle
-      010019A4H   PUBLIC    CODE     ---       LED_device_poweroff
+      010019E8H   PUBLIC    CODE     ---       LED_handle
+      01001950H   PUBLIC    CODE     ---       LED_device_poweroff
       010007EEH   PUBLIC    CODE     ---       LED_device_poweron
       01000373H   PUBLIC    CODE     ---       LED_all_shutdown
 
@@ -1497,80 +1513,80 @@
       010007EEH   LINE      ---      ---       #15
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010019A4H   BLOCK     CODE     ---       LVL=0
-      010019A4H   LINE      ---      ---       #19
-      010019A4H   LINE      ---      ---       #20
-      010019A4H   LINE      ---      ---       #21
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001A3CH   BLOCK     CODE     ---       LVL=0
-      01001A3CH   LINE      ---      ---       #25
-      01001A3CH   LINE      ---      ---       #26
-      01001A3CH   LINE      ---      ---       #27
-      01001A44H   LINE      ---      ---       #30
-      01001A4AH   LINE      ---      ---       #31
-      01001A4AH   LINE      ---      ---       #33
-      01001A51H   LINE      ---      ---       #34
-      01001A51H   LINE      ---      ---       #35
-      01001A54H   LINE      ---      ---       #36
-      01001A54H   LINE      ---      ---       #37
-      01001A5BH   LINE      ---      ---       #38
-      01001A5BH   LINE      ---      ---       #39
-      01001A61H   LINE      ---      ---       #40
-      01001A61H   LINE      ---      ---       #41
-      01001A67H   LINE      ---      ---       #42
-      01001A6DH   LINE      ---      ---       #43
-      01001A6DH   LINE      ---      ---       #44
-      01001A6EH   LINE      ---      ---       #46
-      01001A6EH   LINE      ---      ---       #47
-      01001A75H   LINE      ---      ---       #48
-      01001A75H   LINE      ---      ---       #49
-      01001A77H   LINE      ---      ---       #50
-      01001A7BH   LINE      ---      ---       #52
-      01001A7BH   LINE      ---      ---       #53
-      01001A7BH   LINE      ---      ---       #54
-      01001A7BH   LINE      ---      ---       #56
-      01001A7BH   LINE      ---      ---       #59
-      01001A7BH   LINE      ---      ---       #61
+      01001950H   BLOCK     CODE     ---       LVL=0
+      01001950H   LINE      ---      ---       #19
+      01001950H   LINE      ---      ---       #20
+      01001950H   LINE      ---      ---       #21
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010019E8H   BLOCK     CODE     ---       LVL=0
+      010019E8H   LINE      ---      ---       #25
+      010019E8H   LINE      ---      ---       #26
+      010019E8H   LINE      ---      ---       #27
+      010019F0H   LINE      ---      ---       #30
+      010019F6H   LINE      ---      ---       #31
+      010019F6H   LINE      ---      ---       #33
+      010019FDH   LINE      ---      ---       #34
+      010019FDH   LINE      ---      ---       #35
+      01001A00H   LINE      ---      ---       #36
+      01001A00H   LINE      ---      ---       #37
+      01001A07H   LINE      ---      ---       #38
+      01001A07H   LINE      ---      ---       #39
+      01001A0DH   LINE      ---      ---       #40
+      01001A0DH   LINE      ---      ---       #41
+      01001A13H   LINE      ---      ---       #42
+      01001A19H   LINE      ---      ---       #43
+      01001A19H   LINE      ---      ---       #44
+      01001A1AH   LINE      ---      ---       #46
+      01001A1AH   LINE      ---      ---       #47
+      01001A21H   LINE      ---      ---       #48
+      01001A21H   LINE      ---      ---       #49
+      01001A23H   LINE      ---      ---       #50
+      01001A27H   LINE      ---      ---       #52
+      01001A27H   LINE      ---      ---       #53
+      01001A27H   LINE      ---      ---       #54
+      01001A27H   LINE      ---      ---       #56
+      01001A27H   LINE      ---      ---       #59
+      01001A27H   LINE      ---      ---       #61
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       SYS
       0100090FH   PUBLIC    CODE     ---       YC_System_Main
       01000689H   PUBLIC    CODE     ---       kb_button_press_timer500ms
-      01001B0BH   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
-      01001AB5H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
+      01001AB7H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
+      01001A61H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
       010002E8H   PUBLIC    CODE     ---       LED_timer500ms
-      01001AA3H   PUBLIC    CODE     ---       System_Reset_Connect
+      01001A4FH   PUBLIC    CODE     ---       System_Reset_Connect
       0100066EH   PUBLIC    CODE     ---       System_long_sleep
-      01001A7CH   PUBLIC    CODE     ---       System_Software_init
+      01001A28H   PUBLIC    CODE     ---       System_Software_init
 
-      01000EA7H   BLOCK     CODE     ---       LVL=0
-      01000EA7H   LINE      ---      ---       #12
-      01000EA7H   LINE      ---      ---       #13
-      01000EA7H   LINE      ---      ---       #14
-      01000EB3H   LINE      ---      ---       #15
-      01000EBFH   LINE      ---      ---       #16
-      01000ECBH   LINE      ---      ---       #17
-      01000ED7H   LINE      ---      ---       #18
-      01000EE3H   LINE      ---      ---       #19
-      01000EEFH   LINE      ---      ---       #21
-      01000EF4H   LINE      ---      ---       #22
-      01000EF8H   LINE      ---      ---       #25
-      01000EFCH   LINE      ---      ---       #26
-      01000F00H   LINE      ---      ---       #27
-      01000F04H   LINE      ---      ---       #28
-      01000F08H   LINE      ---      ---       #29
-      01000F0CH   LINE      ---      ---       #30
-      01000F10H   LINE      ---      ---       #31
-      01000F14H   LINE      ---      ---       #32
-      01000F18H   LINE      ---      ---       #33
-      01000F1CH   LINE      ---      ---       #34
-      01000F20H   LINE      ---      ---       #35
-      01000F24H   LINE      ---      ---       #37
-      01000F28H   LINE      ---      ---       #38
-      01000F2EH   LINE      ---      ---       #39
-      01000F32H   LINE      ---      ---       #40
-      01000F37H   LINE      ---      ---       #41
+      01000EADH   BLOCK     CODE     ---       LVL=0
+      01000EADH   LINE      ---      ---       #12
+      01000EADH   LINE      ---      ---       #13
+      01000EADH   LINE      ---      ---       #14
+      01000EB9H   LINE      ---      ---       #15
+      01000EC5H   LINE      ---      ---       #16
+      01000ED1H   LINE      ---      ---       #17
+      01000EDDH   LINE      ---      ---       #18
+      01000EE9H   LINE      ---      ---       #19
+      01000EF5H   LINE      ---      ---       #21
+      01000EFAH   LINE      ---      ---       #22
+      01000EFEH   LINE      ---      ---       #25
+      01000F02H   LINE      ---      ---       #26
+      01000F06H   LINE      ---      ---       #27
+      01000F0AH   LINE      ---      ---       #28
+      01000F0EH   LINE      ---      ---       #29
+      01000F12H   LINE      ---      ---       #30
+      01000F16H   LINE      ---      ---       #31
+      01000F1AH   LINE      ---      ---       #32
+      01000F1EH   LINE      ---      ---       #33
+      01000F22H   LINE      ---      ---       #34
+      01000F26H   LINE      ---      ---       #35
+      01000F2AH   LINE      ---      ---       #37
+      01000F2EH   LINE      ---      ---       #38
+      01000F34H   LINE      ---      ---       #39
+      01000F38H   LINE      ---      ---       #40
+      01000F3DH   LINE      ---      ---       #41
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100037FH   BLOCK     CODE     ---       LVL=0
@@ -1580,23 +1596,23 @@
       01000381H   LINE      ---      ---       #46
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001A7CH   BLOCK     CODE     ---       LVL=0
-      01001A7CH   LINE      ---      ---       #50
-      01001A7CH   LINE      ---      ---       #51
-      01001A7CH   LINE      ---      ---       #52
-      01001A7FH   LINE      ---      ---       #53
-      01001A81H   LINE      ---      ---       #54
-      01001A87H   LINE      ---      ---       #55
-      01001A8DH   LINE      ---      ---       #56
-      01001A92H   LINE      ---      ---       #57
-      01001A98H   LINE      ---      ---       #58
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001A9AH   BLOCK     CODE     ---       LVL=0
-      01001A9AH   LINE      ---      ---       #60
-      01001A9AH   LINE      ---      ---       #61
-      01001A9AH   LINE      ---      ---       #62
-      01001AA0H   LINE      ---      ---       #63
+      01001A28H   BLOCK     CODE     ---       LVL=0
+      01001A28H   LINE      ---      ---       #50
+      01001A28H   LINE      ---      ---       #51
+      01001A28H   LINE      ---      ---       #52
+      01001A2BH   LINE      ---      ---       #53
+      01001A2DH   LINE      ---      ---       #54
+      01001A33H   LINE      ---      ---       #55
+      01001A39H   LINE      ---      ---       #56
+      01001A3EH   LINE      ---      ---       #57
+      01001A44H   LINE      ---      ---       #58
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001A46H   BLOCK     CODE     ---       LVL=0
+      01001A46H   LINE      ---      ---       #60
+      01001A46H   LINE      ---      ---       #61
+      01001A46H   LINE      ---      ---       #62
+      01001A4CH   LINE      ---      ---       #63
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100066EH   BLOCK     CODE     ---       LVL=0
@@ -1612,19 +1628,19 @@
       01000688H   LINE      ---      ---       #75
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001AA3H   BLOCK     CODE     ---       LVL=0
-      01001AA3H   LINE      ---      ---       #77
-      01001AA3H   LINE      ---      ---       #78
-      01001AA3H   LINE      ---      ---       #79
+      01001A4FH   BLOCK     CODE     ---       LVL=0
+      01001A4FH   LINE      ---      ---       #77
+      01001A4FH   LINE      ---      ---       #78
+      01001A4FH   LINE      ---      ---       #79
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001AA5H   BLOCK     CODE     ---       LVL=0
-      01001AA5H   LINE      ---      ---       #87
-      01001AAAH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001AAAH   LINE      ---      ---       #89
-      01001AB4H   LINE      ---      ---       #91
-      01001AB4H   LINE      ---      ---       #93
-      01001AB4H   LINE      ---      ---       #94
+      01001A51H   BLOCK     CODE     ---       LVL=0
+      01001A51H   LINE      ---      ---       #87
+      01001A56H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001A56H   LINE      ---      ---       #89
+      01001A60H   LINE      ---      ---       #91
+      01001A60H   LINE      ---      ---       #93
+      01001A60H   LINE      ---      ---       #94
       02004E93H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1719,44 +1735,44 @@
       01000327H   LINE      ---      ---       #199
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001AB5H   BLOCK     CODE     ---       LVL=0
-      01001AB5H   LINE      ---      ---       #201
-      01001AB5H   LINE      ---      ---       #202
-      01001AB5H   LINE      ---      ---       #205
-      01001ABCH   LINE      ---      ---       #206
-      01001ABCH   LINE      ---      ---       #207
-      01001ACAH   LINE      ---      ---       #208
-      01001ACDH   LINE      ---      ---       #209
-      01001ACDH   LINE      ---      ---       #210
-      01001AD4H   LINE      ---      ---       #211
-      01001AD4H   LINE      ---      ---       #212
-      01001AE0H   LINE      ---      ---       #213
-      01001AE0H   LINE      ---      ---       #214
-      01001AE3H   LINE      ---      ---       #215
-      01001AE3H   LINE      ---      ---       #216
-      01001AE3H   LINE      ---      ---       #218
-      01001AE3H   LINE      ---      ---       #219
-      01001AEFH   LINE      ---      ---       #220
-      01001AEFH   LINE      ---      ---       #221
-      01001AF2H   LINE      ---      ---       #222
-      01001AF2H   LINE      ---      ---       #223
-      01001AF2H   LINE      ---      ---       #224
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001B0BH   BLOCK     CODE     ---       LVL=0
-      01001B0BH   LINE      ---      ---       #228
-      01001B0BH   LINE      ---      ---       #229
-      01001B0BH   LINE      ---      ---       #231
-      01001B11H   LINE      ---      ---       #232
-      01001B11H   LINE      ---      ---       #233
-      01001B18H   LINE      ---      ---       #234
-      01001B1EH   LINE      ---      ---       #235
-      01001B21H   LINE      ---      ---       #236
-      01001B21H   LINE      ---      ---       #238
-      01001B26H   LINE      ---      ---       #239
-      01001B29H   LINE      ---      ---       #240
-      01001B29H   LINE      ---      ---       #241
-      01001B29H   LINE      ---      ---       #242
+      01001A61H   BLOCK     CODE     ---       LVL=0
+      01001A61H   LINE      ---      ---       #201
+      01001A61H   LINE      ---      ---       #202
+      01001A61H   LINE      ---      ---       #205
+      01001A68H   LINE      ---      ---       #206
+      01001A68H   LINE      ---      ---       #207
+      01001A76H   LINE      ---      ---       #208
+      01001A79H   LINE      ---      ---       #209
+      01001A79H   LINE      ---      ---       #210
+      01001A80H   LINE      ---      ---       #211
+      01001A80H   LINE      ---      ---       #212
+      01001A8CH   LINE      ---      ---       #213
+      01001A8CH   LINE      ---      ---       #214
+      01001A8FH   LINE      ---      ---       #215
+      01001A8FH   LINE      ---      ---       #216
+      01001A8FH   LINE      ---      ---       #218
+      01001A8FH   LINE      ---      ---       #219
+      01001A9BH   LINE      ---      ---       #220
+      01001A9BH   LINE      ---      ---       #221
+      01001A9EH   LINE      ---      ---       #222
+      01001A9EH   LINE      ---      ---       #223
+      01001A9EH   LINE      ---      ---       #224
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AB7H   BLOCK     CODE     ---       LVL=0
+      01001AB7H   LINE      ---      ---       #228
+      01001AB7H   LINE      ---      ---       #229
+      01001AB7H   LINE      ---      ---       #231
+      01001ABDH   LINE      ---      ---       #232
+      01001ABDH   LINE      ---      ---       #233
+      01001AC4H   LINE      ---      ---       #234
+      01001ACAH   LINE      ---      ---       #235
+      01001ACDH   LINE      ---      ---       #236
+      01001ACDH   LINE      ---      ---       #238
+      01001AD2H   LINE      ---      ---       #239
+      01001AD5H   LINE      ---      ---       #240
+      01001AD5H   LINE      ---      ---       #241
+      01001AD5H   LINE      ---      ---       #242
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000689H   BLOCK     CODE     ---       LVL=0
@@ -1805,76 +1821,76 @@
       01000713H   LINE      ---      ---       #292
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001AF3H   BLOCK     CODE     ---       LVL=0
-      01001AF3H   LINE      ---      ---       #296
-      01001AF3H   LINE      ---      ---       #297
-      01001AF3H   LINE      ---      ---       #298
-      01001AF6H   LINE      ---      ---       #300
-      01001B04H   LINE      ---      ---       #302
-      01001B06H   LINE      ---      ---       #303
-      01001B08H   LINE      ---      ---       #304
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010019ABH   BLOCK     CODE     ---       LVL=0
-      010019ABH   LINE      ---      ---       #311
-      010019ABH   LINE      ---      ---       #312
-      010019ABH   LINE      ---      ---       #314
-      010019B1H   LINE      ---      ---       #315
-      010019B1H   LINE      ---      ---       #316
-      010019B3H   LINE      ---      ---       #317
-      010019B3H   LINE      ---      ---       #319
-      010019B9H   LINE      ---      ---       #320
-      010019BBH   LINE      ---      ---       #323
-      010019C1H   LINE      ---      ---       #324
-      010019C1H   LINE      ---      ---       #325
-      010019C3H   LINE      ---      ---       #326
-      010019C6H   LINE      ---      ---       #327
-      010019CCH   LINE      ---      ---       #328
-      010019CCH   LINE      ---      ---       #330
-      010019D2H   LINE      ---      ---       #331
-      010019D2H   LINE      ---      ---       #332
-      010019D8H   LINE      ---      ---       #333
-      010019D8H   LINE      ---      ---       #334
-      010019DEH   LINE      ---      ---       #336
-      010019DEH   LINE      ---      ---       #338
-      010019E4H   LINE      ---      ---       #339
-      010019E7H   LINE      ---      ---       #340
-      010019EDH   LINE      ---      ---       #341
-      010019EDH   LINE      ---      ---       #342
-      010019EFH   LINE      ---      ---       #343
-      010019EFH   LINE      ---      ---       #344
-      010019F1H   LINE      ---      ---       #346
-      010019F7H   LINE      ---      ---       #347
-      010019F7H   LINE      ---      ---       #348
-      010019FDH   LINE      ---      ---       #349
-      010019FDH   LINE      ---      ---       #350
-      010019FFH   LINE      ---      ---       #359
-      010019FFH   LINE      ---      ---       #360
-      010019FFH   LINE      ---      ---       #363
-      01001A05H   LINE      ---      ---       #364
-      01001A05H   LINE      ---      ---       #365
-      01001A0DH   LINE      ---      ---       #366
-      01001A0DH   LINE      ---      ---       #367
-      01001A0EH   LINE      ---      ---       #369
-      01001A14H   LINE      ---      ---       #370
-      01001A14H   LINE      ---      ---       #371
-      01001A1FH   LINE      ---      ---       #372
-      01001A21H   LINE      ---      ---       #373
-      01001A27H   LINE      ---      ---       #374
-      01001A27H   LINE      ---      ---       #376
-      01001A32H   LINE      ---      ---       #377
-      01001A32H   LINE      ---      ---       #378
-      01001A32H   LINE      ---      ---       #379
-      01001A32H   LINE      ---      ---       #381
-      01001A38H   LINE      ---      ---       #382
-      01001A3BH   LINE      ---      ---       #383
-      01001A3BH   LINE      ---      ---       #384
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000FA8H   BLOCK     CODE     ---       LVL=0
-      01000FA8H   LINE      ---      ---       #398
-      01000FA8H   LINE      ---      ---       #399
-      01000FA8H   LINE      ---      ---       #400
+      01001A9FH   BLOCK     CODE     ---       LVL=0
+      01001A9FH   LINE      ---      ---       #296
+      01001A9FH   LINE      ---      ---       #297
+      01001A9FH   LINE      ---      ---       #298
+      01001AA2H   LINE      ---      ---       #300
+      01001AB0H   LINE      ---      ---       #302
+      01001AB2H   LINE      ---      ---       #303
+      01001AB4H   LINE      ---      ---       #304
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001957H   BLOCK     CODE     ---       LVL=0
+      01001957H   LINE      ---      ---       #311
+      01001957H   LINE      ---      ---       #312
+      01001957H   LINE      ---      ---       #314
+      0100195DH   LINE      ---      ---       #315
+      0100195DH   LINE      ---      ---       #316
+      0100195FH   LINE      ---      ---       #317
+      0100195FH   LINE      ---      ---       #319
+      01001965H   LINE      ---      ---       #320
+      01001967H   LINE      ---      ---       #323
+      0100196DH   LINE      ---      ---       #324
+      0100196DH   LINE      ---      ---       #325
+      0100196FH   LINE      ---      ---       #326
+      01001972H   LINE      ---      ---       #327
+      01001978H   LINE      ---      ---       #328
+      01001978H   LINE      ---      ---       #330
+      0100197EH   LINE      ---      ---       #331
+      0100197EH   LINE      ---      ---       #332
+      01001984H   LINE      ---      ---       #333
+      01001984H   LINE      ---      ---       #334
+      0100198AH   LINE      ---      ---       #336
+      0100198AH   LINE      ---      ---       #338
+      01001990H   LINE      ---      ---       #339
+      01001993H   LINE      ---      ---       #340
+      01001999H   LINE      ---      ---       #341
+      01001999H   LINE      ---      ---       #342
+      0100199BH   LINE      ---      ---       #343
+      0100199BH   LINE      ---      ---       #344
+      0100199DH   LINE      ---      ---       #346
+      010019A3H   LINE      ---      ---       #347
+      010019A3H   LINE      ---      ---       #348
+      010019A9H   LINE      ---      ---       #349
+      010019A9H   LINE      ---      ---       #350
+      010019ABH   LINE      ---      ---       #359
+      010019ABH   LINE      ---      ---       #360
+      010019ABH   LINE      ---      ---       #363
+      010019B1H   LINE      ---      ---       #364
+      010019B1H   LINE      ---      ---       #365
+      010019B9H   LINE      ---      ---       #366
+      010019B9H   LINE      ---      ---       #367
+      010019BAH   LINE      ---      ---       #369
+      010019C0H   LINE      ---      ---       #370
+      010019C0H   LINE      ---      ---       #371
+      010019CBH   LINE      ---      ---       #372
+      010019CDH   LINE      ---      ---       #373
+      010019D3H   LINE      ---      ---       #374
+      010019D3H   LINE      ---      ---       #376
+      010019DEH   LINE      ---      ---       #377
+      010019DEH   LINE      ---      ---       #378
+      010019DEH   LINE      ---      ---       #379
+      010019DEH   LINE      ---      ---       #381
+      010019E4H   LINE      ---      ---       #382
+      010019E7H   LINE      ---      ---       #383
+      010019E7H   LINE      ---      ---       #384
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FAEH   BLOCK     CODE     ---       LVL=0
+      01000FAEH   LINE      ---      ---       #398
+      01000FAEH   LINE      ---      ---       #399
+      01000FAEH   LINE      ---      ---       #400
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100090FH   BLOCK     CODE     ---       LVL=0
@@ -1909,35 +1925,35 @@
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       ADC
-      01001B2AH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      01001B2BH   PUBLIC    CODE     ---       YC_adc_check
-      01001A99H   PUBLIC    CODE     ---       YC_adc_init
-
-      01001A99H   BLOCK     CODE     ---       LVL=0
-      01001A99H   LINE      ---      ---       #3
-      01001A99H   LINE      ---      ---       #4
-      01001A99H   LINE      ---      ---       #38
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001B2BH   BLOCK     CODE     ---       LVL=0
-      01001B2BH   LINE      ---      ---       #40
-      01001B2BH   LINE      ---      ---       #41
-      01001B2BH   LINE      ---      ---       #101
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001B2AH   BLOCK     CODE     ---       LVL=0
-      01001B2AH   LINE      ---      ---       #104
-      01001B2AH   LINE      ---      ---       #105
-      01001B2AH   LINE      ---      ---       #118
+      01001AD6H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      01001AD7H   PUBLIC    CODE     ---       YC_adc_check
+      01001A45H   PUBLIC    CODE     ---       YC_adc_init
+
+      01001A45H   BLOCK     CODE     ---       LVL=0
+      01001A45H   LINE      ---      ---       #3
+      01001A45H   LINE      ---      ---       #4
+      01001A45H   LINE      ---      ---       #38
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AD7H   BLOCK     CODE     ---       LVL=0
+      01001AD7H   LINE      ---      ---       #40
+      01001AD7H   LINE      ---      ---       #41
+      01001AD7H   LINE      ---      ---       #101
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AD6H   BLOCK     CODE     ---       LVL=0
+      01001AD6H   LINE      ---      ---       #104
+      01001AD6H   LINE      ---      ---       #105
+      01001AD6H   LINE      ---      ---       #118
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      01001B2CH   PUBLIC    CODE     ---       main
+      01001AD8H   PUBLIC    CODE     ---       main
 
-      01001B2CH   BLOCK     CODE     ---       LVL=0
-      01001B2CH   LINE      ---      ---       #5
-      01001B2CH   LINE      ---      ---       #6
-      01001B2CH   LINE      ---      ---       #7
+      01001AD8H   BLOCK     CODE     ---       LVL=0
+      01001AD8H   LINE      ---      ---       #5
+      01001AD8H   LINE      ---      ---       #6
+      01001AD8H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
@@ -1951,36 +1967,36 @@
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      01001BD9H   PUBLIC    CODE     ---       IPC_DealSingleStep
-      01001CE0H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      01001CD4H   PUBLIC    CODE     ---       IPC_AbandonLpm
+      01001B85H   PUBLIC    CODE     ---       IPC_DealSingleStep
+      01001C8CH   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      01001C80H   PUBLIC    CODE     ---       IPC_AbandonLpm
       01000A87H   PUBLIC    CODE     ---       IPC_WaitLpm
-      01000FAEH   PUBLIC    CODE     ---       _IPC_Initialize
-      01001CCEH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
-      01001CC6H   PUBLIC    CODE     ---       _IPC_Tx24GData
-      01001C9FH   PUBLIC    CODE     ---       _IPC_TxData
+      01000FB4H   PUBLIC    CODE     ---       _IPC_Initialize
+      01001C7AH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01001C72H   PUBLIC    CODE     ---       _IPC_Tx24GData
+      01001C4BH   PUBLIC    CODE     ---       _IPC_TxData
       0100072BH   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      01001B2FH   BLOCK     CODE     ---       LVL=0
-      01001B2FH   LINE      ---      ---       #44
-      01001B3FH   LINE      ---      ---       #45
-      01001B3FH   LINE      ---      ---       #46
-      01001B88H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001B89H   BLOCK     CODE     ---       LVL=0
-      01001B89H   LINE      ---      ---       #49
-      01001B93H   LINE      ---      ---       #50
-      01001B93H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001B93H   LINE      ---      ---       #51
-      01001B9BH   LINE      ---      ---       #52
-      01001BA1H   LINE      ---      ---       #53
-      01001BC0H   LINE      ---      ---       #54
-      01001BCAH   LINE      ---      ---       #55
-      01001BCEH   LINE      ---      ---       #56
-      01001BCEH   LINE      ---      ---       #57
-      01001BD0H   LINE      ---      ---       #58
-      01001BD8H   LINE      ---      ---       #59
+      01001ADBH   BLOCK     CODE     ---       LVL=0
+      01001ADBH   LINE      ---      ---       #44
+      01001AEBH   LINE      ---      ---       #45
+      01001AEBH   LINE      ---      ---       #46
+      01001B34H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001B35H   BLOCK     CODE     ---       LVL=0
+      01001B35H   LINE      ---      ---       #49
+      01001B3FH   LINE      ---      ---       #50
+      01001B3FH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B3FH   LINE      ---      ---       #51
+      01001B47H   LINE      ---      ---       #52
+      01001B4DH   LINE      ---      ---       #53
+      01001B6CH   LINE      ---      ---       #54
+      01001B76H   LINE      ---      ---       #55
+      01001B7AH   LINE      ---      ---       #56
+      01001B7AH   LINE      ---      ---       #57
+      01001B7CH   LINE      ---      ---       #58
+      01001B84H   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2014,32 +2030,32 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001C9FH   BLOCK     CODE     ---       LVL=0
-      01001C9FH   LINE      ---      ---       #83
-      01001CA4H   LINE      ---      ---       #84
-      01001CA4H   LINE      ---      ---       #85
-      01001CAAH   LINE      ---      ---       #86
-      01001CB6H   LINE      ---      ---       #87
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001CC6H   BLOCK     CODE     ---       LVL=0
-      01001CC6H   LINE      ---      ---       #90
-      01001CC6H   LINE      ---      ---       #91
-      01001CC6H   LINE      ---      ---       #92
-      01001CCCH   LINE      ---      ---       #93
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001CCEH   BLOCK     CODE     ---       LVL=0
-      01001CCEH   LINE      ---      ---       #98
-      01001CCEH   LINE      ---      ---       #99
-      01001CCEH   LINE      ---      ---       #100
-      01001CD3H   LINE      ---      ---       #101
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000FAEH   BLOCK     CODE     ---       LVL=0
-      01000FAEH   LINE      ---      ---       #103
-      01000FAEH   LINE      ---      ---       #104
-      01000FAEH   LINE      ---      ---       #105
+      01001C4BH   BLOCK     CODE     ---       LVL=0
+      01001C4BH   LINE      ---      ---       #83
+      01001C50H   LINE      ---      ---       #84
+      01001C50H   LINE      ---      ---       #85
+      01001C56H   LINE      ---      ---       #86
+      01001C62H   LINE      ---      ---       #87
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001C72H   BLOCK     CODE     ---       LVL=0
+      01001C72H   LINE      ---      ---       #90
+      01001C72H   LINE      ---      ---       #91
+      01001C72H   LINE      ---      ---       #92
+      01001C78H   LINE      ---      ---       #93
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001C7AH   BLOCK     CODE     ---       LVL=0
+      01001C7AH   LINE      ---      ---       #98
+      01001C7AH   LINE      ---      ---       #99
+      01001C7AH   LINE      ---      ---       #100
+      01001C7FH   LINE      ---      ---       #101
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FB4H   BLOCK     CODE     ---       LVL=0
+      01000FB4H   LINE      ---      ---       #103
+      01000FB4H   LINE      ---      ---       #104
+      01000FB4H   LINE      ---      ---       #105
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000A87H   BLOCK     CODE     ---       LVL=0
@@ -2050,72 +2066,72 @@
       01000A90H   LINE      ---      ---       #112
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001CD4H   BLOCK     CODE     ---       LVL=0
-      01001CD4H   LINE      ---      ---       #115
-      01001CD4H   LINE      ---      ---       #116
-      01001CD4H   LINE      ---      ---       #117
-      01001CDAH   LINE      ---      ---       #118
-      01001CDFH   LINE      ---      ---       #119
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001CE0H   BLOCK     CODE     ---       LVL=0
-      01001CE0H   LINE      ---      ---       #121
-      01001CE0H   LINE      ---      ---       #122
-      01001CE0H   LINE      ---      ---       #123
-      01001CF4H   LINE      ---      ---       #124
-      01001CF6H   LINE      ---      ---       #125
-      01001CF7H   LINE      ---      ---       #126
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001BD9H   BLOCK     CODE     ---       LVL=0
-      01001BD9H   LINE      ---      ---       #129
-      01001BD9H   LINE      ---      ---       #130
-      01001BD9H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001BD9H   LINE      ---      ---       #131
-      01001BEBH   LINE      ---      ---       #132
-      01001BFFH   LINE      ---      ---       #133
-      01001BFFH   LINE      ---      ---       #134
-      01001C07H   LINE      ---      ---       #135
-      01001C18H   LINE      ---      ---       #136
-      01001C22H   LINE      ---      ---       #137
-      01001C41H   LINE      ---      ---       #138
-      01001C43H   LINE      ---      ---       #139
-      01001C43H   LINE      ---      ---       #140
-      01001C45H   LINE      ---      ---       #141
-      01001C45H   LINE      ---      ---       #142
-      01001C45H   LINE      ---      ---       #143
-      01001C59H   LINE      ---      ---       #144
-      01001C67H   LINE      ---      ---       #146
-      01001C6AH   LINE      ---      ---       #148
-      01001C79H   LINE      ---      ---       #149
-      01001C7BH   LINE      ---      ---       #150
-      01001C85H   LINE      ---      ---       #151
-      01001C93H   LINE      ---      ---       #153
-      01001C96H   LINE      ---      ---       #155
-      01001C9CH   LINE      ---      ---       #156
-      01001C9EH   LINE      ---      ---       #158
-      01001C45H   SYMBOL    ---      ---       IPC_TIMERingleStep
+      01001C80H   BLOCK     CODE     ---       LVL=0
+      01001C80H   LINE      ---      ---       #115
+      01001C80H   LINE      ---      ---       #116
+      01001C80H   LINE      ---      ---       #117
+      01001C86H   LINE      ---      ---       #118
+      01001C8BH   LINE      ---      ---       #119
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001C8CH   BLOCK     CODE     ---       LVL=0
+      01001C8CH   LINE      ---      ---       #121
+      01001C8CH   LINE      ---      ---       #122
+      01001C8CH   LINE      ---      ---       #123
+      01001CA0H   LINE      ---      ---       #124
+      01001CA2H   LINE      ---      ---       #125
+      01001CA3H   LINE      ---      ---       #126
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001B85H   BLOCK     CODE     ---       LVL=0
+      01001B85H   LINE      ---      ---       #129
+      01001B85H   LINE      ---      ---       #130
+      01001B85H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B85H   LINE      ---      ---       #131
+      01001B97H   LINE      ---      ---       #132
+      01001BABH   LINE      ---      ---       #133
+      01001BABH   LINE      ---      ---       #134
+      01001BB3H   LINE      ---      ---       #135
+      01001BC4H   LINE      ---      ---       #136
+      01001BCEH   LINE      ---      ---       #137
+      01001BEDH   LINE      ---      ---       #138
+      01001BEFH   LINE      ---      ---       #139
+      01001BEFH   LINE      ---      ---       #140
+      01001BF1H   LINE      ---      ---       #141
+      01001BF1H   LINE      ---      ---       #142
+      01001BF1H   LINE      ---      ---       #143
+      01001C05H   LINE      ---      ---       #144
+      01001C13H   LINE      ---      ---       #146
+      01001C16H   LINE      ---      ---       #148
+      01001C25H   LINE      ---      ---       #149
+      01001C27H   LINE      ---      ---       #150
+      01001C31H   LINE      ---      ---       #151
+      01001C3FH   LINE      ---      ---       #153
+      01001C42H   LINE      ---      ---       #155
+      01001C48H   LINE      ---      ---       #156
+      01001C4AH   LINE      ---      ---       #158
+      01001BF1H   SYMBOL    ---      ---       IPC_TIMERingleStep
       02004E84H   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       UTILITIES
       02004E4AH   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      0100163BH   PUBLIC    CODE     ---       _compare_str
+      01001687H   PUBLIC    CODE     ---       _compare_str
       01000579H   PUBLIC    CODE     ---       _Delay1ms
-      01001DE3H   PUBLIC    CODE     ---       _xmemclear_ff
-      01000E7BH   PUBLIC    CODE     ---       _xmemclear
+      01001D8FH   PUBLIC    CODE     ---       _xmemclear_ff
+      01000E81H   PUBLIC    CODE     ---       _xmemclear
       02004E3BH   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      01001CFFH   PUBLIC    CODE     ---       _dmemcpy
+      01001CABH   PUBLIC    CODE     ---       _dmemcpy
       02004E5EH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       01000539H   PUBLIC    CODE     ---       _xmemcpy
-      01001CF8H   PUBLIC    CODE     ---       YC_Ice_break
+      01001CA4H   PUBLIC    CODE     ---       YC_Ice_break
 
-      01001CF8H   BLOCK     CODE     ---       LVL=0
-      01001CF8H   LINE      ---      ---       #3
-      01001CF8H   LINE      ---      ---       #4
-      01001CF8H   LINE      ---      ---       #5
-      01001CFEH   LINE      ---      ---       #7
+      01001CA4H   BLOCK     CODE     ---       LVL=0
+      01001CA4H   LINE      ---      ---       #3
+      01001CA4H   LINE      ---      ---       #4
+      01001CA4H   LINE      ---      ---       #5
+      01001CAAH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000539H   BLOCK     CODE     ---       LVL=0
@@ -2126,28 +2142,28 @@
       01000578H   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001CFFH   BLOCK     CODE     ---       LVL=0
-      01001CFFH   LINE      ---      ---       #16
-      01001D0AH   LINE      ---      ---       #17
-      01001D0AH   LINE      ---      ---       #18
-      01001D18H   LINE      ---      ---       #19
-      01001D42H   LINE      ---      ---       #21
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000E7BH   BLOCK     CODE     ---       LVL=0
-      01000E7BH   LINE      ---      ---       #23
-      01000E86H   LINE      ---      ---       #24
-      01000E86H   LINE      ---      ---       #25
-      01000E90H   LINE      ---      ---       #26
-      01000EA6H   LINE      ---      ---       #28
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001DE3H   BLOCK     CODE     ---       LVL=0
-      01001DE3H   LINE      ---      ---       #30
-      01001DEEH   LINE      ---      ---       #31
-      01001DEEH   LINE      ---      ---       #32
-      01001DF8H   LINE      ---      ---       #33
-      01001E0FH   LINE      ---      ---       #35
+      01001CABH   BLOCK     CODE     ---       LVL=0
+      01001CABH   LINE      ---      ---       #16
+      01001CB6H   LINE      ---      ---       #17
+      01001CB6H   LINE      ---      ---       #18
+      01001CC4H   LINE      ---      ---       #19
+      01001CEEH   LINE      ---      ---       #21
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000E81H   BLOCK     CODE     ---       LVL=0
+      01000E81H   LINE      ---      ---       #23
+      01000E8CH   LINE      ---      ---       #24
+      01000E8CH   LINE      ---      ---       #25
+      01000E96H   LINE      ---      ---       #26
+      01000EACH   LINE      ---      ---       #28
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001D8FH   BLOCK     CODE     ---       LVL=0
+      01001D8FH   LINE      ---      ---       #30
+      01001D9AH   LINE      ---      ---       #31
+      01001D9AH   LINE      ---      ---       #32
+      01001DA4H   LINE      ---      ---       #33
+      01001DBBH   LINE      ---      ---       #35
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000579H   BLOCK     CODE     ---       LVL=0
@@ -2162,16 +2178,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100163BH   BLOCK     CODE     ---       LVL=0
-      0100163BH   LINE      ---      ---       #54
-      01001646H   LINE      ---      ---       #55
-      01001646H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001646H   LINE      ---      ---       #57
-      01001652H   LINE      ---      ---       #58
-      0100167CH   LINE      ---      ---       #59
-      0100167FH   LINE      ---      ---       #60
-      01001682H   LINE      ---      ---       #61
-      01001684H   LINE      ---      ---       #62
+      01001687H   BLOCK     CODE     ---       LVL=0
+      01001687H   LINE      ---      ---       #54
+      01001692H   LINE      ---      ---       #55
+      01001692H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001692H   LINE      ---      ---       #57
+      0100169EH   LINE      ---      ---       #58
+      010016C8H   LINE      ---      ---       #59
+      010016CBH   LINE      ---      ---       #60
+      010016CEH   LINE      ---      ---       #61
+      010016D0H   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2179,63 +2195,63 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      01001E61H   PUBLIC    CODE     ---       GPIO_fillpd
+      01001EADH   PUBLIC    CODE     ---       GPIO_fillpd
       0100033AH   PUBLIC    CODE     ---       _GPIO_FlipOutBit
       010009E8H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01001E22H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      01001E6EH   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
       010009FBH   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
       01000356H   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
-      010017A2H   PUBLIC    CODE     ---       _GPIO_SetInput
+      01001E2EH   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      01001E10H   PUBLIC    CODE     ---       _GPIO_Setoe
+      01001E5DH   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      010017D2H   PUBLIC    CODE     ---       _GPIO_SetPd
+      01001E4CH   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      010017C1H   PUBLIC    CODE     ---       _GPIO_SetPu
+      01001E1DH   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
       01000328H   PUBLIC    CODE     ---       _GPIO_Setout
-      01000FBBH   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      01000FC1H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
-      010017E3H   BLOCK     CODE     ---       LVL=0
-      010017E3H   LINE      ---      ---       #9
-      010017EEH   LINE      ---      ---       #10
-      010017EEH   BLOCK     CODE     NEAR LAB  LVL=1
-      010017EEH   LINE      ---      ---       #11
-      010017F0H   LINE      ---      ---       #12
-      010017F1H   LINE      ---      ---       #14
-      010017F5H   LINE      ---      ---       #15
-      010017FCH   LINE      ---      ---       #17
-      010017FFH   LINE      ---      ---       #18
-      01001821H   LINE      ---      ---       #19
-      01001821H   LINE      ---      ---       #21
-      01001821H   LINE      ---      ---       #22
+      01001DBCH   BLOCK     CODE     ---       LVL=0
+      01001DBCH   LINE      ---      ---       #9
+      01001DC7H   LINE      ---      ---       #10
+      01001DC7H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001DC7H   LINE      ---      ---       #11
+      01001DC9H   LINE      ---      ---       #12
+      01001DCAH   LINE      ---      ---       #14
+      01001DCEH   LINE      ---      ---       #15
+      01001DD5H   LINE      ---      ---       #17
+      01001DD8H   LINE      ---      ---       #18
+      01001DFAH   LINE      ---      ---       #19
+      01001DFAH   LINE      ---      ---       #21
+      01001DFAH   LINE      ---      ---       #22
       00000006H   SYMBOL    DATA     VOID      queue
       00000005H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000FC1H   BLOCK     CODE     ---       LVL=0
-      01000FC1H   LINE      ---      ---       #26
-      01000FC3H   LINE      ---      ---       #27
-      01000FC3H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000FC3H   LINE      ---      ---       #28
-      01000FC8H   LINE      ---      ---       #29
-      01000FC9H   LINE      ---      ---       #31
-      01000FCDH   LINE      ---      ---       #32
-      01000FD4H   LINE      ---      ---       #33
-      01000FFFH   LINE      ---      ---       #35
+      01000FC7H   BLOCK     CODE     ---       LVL=0
+      01000FC7H   LINE      ---      ---       #26
+      01000FC9H   LINE      ---      ---       #27
+      01000FC9H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000FC9H   LINE      ---      ---       #28
+      01000FCEH   LINE      ---      ---       #29
+      01000FCFH   LINE      ---      ---       #31
+      01000FD3H   LINE      ---      ---       #32
+      01000FDAH   LINE      ---      ---       #33
+      01001005H   LINE      ---      ---       #35
       02004E9DH   SYMBOL    XDATA    VOID      queue
       00000006H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000FBBH   BLOCK     CODE     ---       LVL=0
-      01000FBBH   LINE      ---      ---       #37
-      01000FBBH   LINE      ---      ---       #38
-      01000FBBH   LINE      ---      ---       #39
+      01000FC1H   BLOCK     CODE     ---       LVL=0
+      01000FC1H   LINE      ---      ---       #37
+      01000FC1H   LINE      ---      ---       #38
+      01000FC1H   LINE      ---      ---       #39
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000328H   BLOCK     CODE     ---       LVL=0
@@ -2246,38 +2262,38 @@
       01000339H   LINE      ---      ---       #47
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010017C1H   BLOCK     CODE     ---       LVL=0
-      010017C1H   LINE      ---      ---       #49
-      010017C1H   LINE      ---      ---       #50
-      010017C1H   LINE      ---      ---       #51
-      010017C5H   LINE      ---      ---       #53
-      010017D1H   LINE      ---      ---       #54
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017D2H   BLOCK     CODE     ---       LVL=0
-      010017D2H   LINE      ---      ---       #56
-      010017D2H   LINE      ---      ---       #57
-      010017D2H   LINE      ---      ---       #58
-      010017D6H   LINE      ---      ---       #60
-      010017E2H   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001E10H   BLOCK     CODE     ---       LVL=0
-      01001E10H   LINE      ---      ---       #63
-      01001E10H   LINE      ---      ---       #64
-      01001E10H   LINE      ---      ---       #65
-      01001E14H   LINE      ---      ---       #67
-      01001E21H   LINE      ---      ---       #68
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017A2H   BLOCK     CODE     ---       LVL=0
-      010017A2H   LINE      ---      ---       #70
-      010017A4H   LINE      ---      ---       #71
-      010017A4H   LINE      ---      ---       #72
-      010017A8H   LINE      ---      ---       #74
-      010017B0H   LINE      ---      ---       #75
-      010017B9H   LINE      ---      ---       #76
-      010017C0H   LINE      ---      ---       #77
+      01001E1DH   BLOCK     CODE     ---       LVL=0
+      01001E1DH   LINE      ---      ---       #49
+      01001E1DH   LINE      ---      ---       #50
+      01001E1DH   LINE      ---      ---       #51
+      01001E21H   LINE      ---      ---       #53
+      01001E2DH   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001E4CH   BLOCK     CODE     ---       LVL=0
+      01001E4CH   LINE      ---      ---       #56
+      01001E4CH   LINE      ---      ---       #57
+      01001E4CH   LINE      ---      ---       #58
+      01001E50H   LINE      ---      ---       #60
+      01001E5CH   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001E5DH   BLOCK     CODE     ---       LVL=0
+      01001E5DH   LINE      ---      ---       #63
+      01001E5DH   LINE      ---      ---       #64
+      01001E5DH   LINE      ---      ---       #65
+      01001E61H   LINE      ---      ---       #67
+      01001E6DH   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001E2EH   BLOCK     CODE     ---       LVL=0
+      01001E2EH   LINE      ---      ---       #70
+      01001E30H   LINE      ---      ---       #71
+      01001E30H   LINE      ---      ---       #72
+      01001E34H   LINE      ---      ---       #74
+      01001E3CH   LINE      ---      ---       #75
+      01001E45H   LINE      ---      ---       #76
+      01001E4BH   LINE      ---      ---       #77
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000356H   BLOCK     CODE     ---       LVL=0
@@ -2311,16 +2327,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001E22H   BLOCK     CODE     ---       LVL=0
-      01001E22H   LINE      ---      ---       #107
-      01001E22H   LINE      ---      ---       #108
-      01001E22H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001E22H   LINE      ---      ---       #111
-      01001E26H   LINE      ---      ---       #113
-      01001E2AH   LINE      ---      ---       #114
-      01001E31H   LINE      ---      ---       #115
-      01001E53H   LINE      ---      ---       #116
-      01001E60H   LINE      ---      ---       #117
+      01001E6EH   BLOCK     CODE     ---       LVL=0
+      01001E6EH   LINE      ---      ---       #107
+      01001E6EH   LINE      ---      ---       #108
+      01001E6EH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001E6EH   LINE      ---      ---       #111
+      01001E72H   LINE      ---      ---       #113
+      01001E76H   LINE      ---      ---       #114
+      01001E7DH   LINE      ---      ---       #115
+      01001E9FH   LINE      ---      ---       #116
+      01001EACH   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -2346,27 +2362,27 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001E61H   BLOCK     CODE     ---       LVL=0
-      01001E61H   LINE      ---      ---       #131
-      01001E61H   LINE      ---      ---       #132
-      01001E61H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001E61H   LINE      ---      ---       #134
-      01001E63H   LINE      ---      ---       #135
-      01001E94H   LINE      ---      ---       #136
+      01001EADH   BLOCK     CODE     ---       LVL=0
+      01001EADH   LINE      ---      ---       #131
+      01001EADH   LINE      ---      ---       #132
+      01001EADH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001EADH   LINE      ---      ---       #134
+      01001EAFH   LINE      ---      ---       #135
+      01001EE0H   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       IIC
       01000860H   PUBLIC    CODE     ---       _IIC_WriteBlock
-      01001D43H   PUBLIC    CODE     ---       _IIC_write
+      01001CEFH   PUBLIC    CODE     ---       _IIC_write
       0100048BH   PUBLIC    CODE     ---       _IIC_Read
 
-      01001DDBH   BLOCK     CODE     ---       LVL=0
-      01001DDBH   LINE      ---      ---       #11
-      01001DDBH   LINE      ---      ---       #12
-      01001DDBH   LINE      ---      ---       #13
-      01001DE2H   LINE      ---      ---       #14
+      01001D87H   BLOCK     CODE     ---       LVL=0
+      01001D87H   LINE      ---      ---       #11
+      01001D87H   LINE      ---      ---       #12
+      01001D87H   LINE      ---      ---       #13
+      01001D8EH   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100048BH   BLOCK     CODE     ---       LVL=0
@@ -2392,17 +2408,17 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001D43H   BLOCK     CODE     ---       LVL=0
-      01001D43H   LINE      ---      ---       #35
-      01001D5EH   LINE      ---      ---       #36
-      01001D5EH   LINE      ---      ---       #37
-      01001D7FH   LINE      ---      ---       #38
-      01001D85H   LINE      ---      ---       #39
-      01001D94H   LINE      ---      ---       #40
-      01001DB1H   LINE      ---      ---       #41
-      01001DC8H   LINE      ---      ---       #42
-      01001DCFH   LINE      ---      ---       #43
-      01001DD4H   LINE      ---      ---       #44
+      01001CEFH   BLOCK     CODE     ---       LVL=0
+      01001CEFH   LINE      ---      ---       #35
+      01001D0AH   LINE      ---      ---       #36
+      01001D0AH   LINE      ---      ---       #37
+      01001D2BH   LINE      ---      ---       #38
+      01001D31H   LINE      ---      ---       #39
+      01001D40H   LINE      ---      ---       #40
+      01001D5DH   LINE      ---      ---       #41
+      01001D74H   LINE      ---      ---       #42
+      01001D7BH   LINE      ---      ---       #43
+      01001D80H   LINE      ---      ---       #44
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000860H   BLOCK     CODE     ---       LVL=0
@@ -2453,5 +2469,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       010001CAH   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=790 const=182 code=7647
+Program Size: data=10.2 xdata=791 const=182 code=7723
 LX51 RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)
Index: c51/output/FW.SBR
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/eeprom.dat
===================================================================
--- /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/eeprom.dat	(revision 327)
+++ /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/eeprom.dat	(working copy)
@@ -3956,7 +3956,7 @@
 f0
 aa
 55
-97
+e3
 1e
 02
 01
@@ -4358,8 +4358,8 @@
 01
 ca
 02
-1b
-2c
+1a
+d8
 e4
 93
 a3
@@ -4496,16 +4496,16 @@
 00
 ff
 1a
-f3
+9f
 ff
 19
-ab
+57
 00
 00
 00
 ff
 1a
-a5
+51
 00
 1a
 08
@@ -4781,8 +4781,8 @@
 92
 00
 12
-17
-e3
+1d
+bc
 22
 90
 4e
@@ -4797,7 +4797,7 @@
 74
 12
 0f
-c1
+c7
 92
 09
 90
@@ -4824,7 +4824,7 @@
 04
 12
 1e
-10
+5d
 af
 04
 a2
@@ -4838,8 +4838,8 @@
 c2
 02
 12
-17
-c1
+1e
+1d
 22
 c2
 06
@@ -4891,7 +4891,7 @@
 7f
 12
 1a
-7c
+28
 7b
 01
 7a
@@ -4975,7 +4975,7 @@
 e4
 90
 4c
-fd
+fe
 f0
 22
 90
@@ -5266,7 +5266,7 @@
 f0
 12
 1d
-db
+87
 90
 4e
 6b
@@ -5572,7 +5572,7 @@
 f0
 12
 17
-85
+d1
 e4
 90
 4e
@@ -5593,8 +5593,8 @@
 c2
 05
 12
-17
-a2
+1e
+2e
 90
 4e
 99
@@ -5614,7 +5614,7 @@
 f0
 90
 4c
-fd
+fe
 74
 01
 f0
@@ -5880,8 +5880,8 @@
 7b
 64
 12
-1b
-2f
+1a
+db
 90
 4e
 5b
@@ -6238,8 +6238,8 @@
 e0
 f9
 12
-1d
-43
+1c
+ef
 7f
 0a
 12
@@ -6278,17 +6278,17 @@
 77
 22
 f1
-a8
+ae
 12
 1b
-d9
+85
 51
 95
 11
 2a
 12
-1a
-3c
+19
+e8
 90
 0b
 7e
@@ -6329,7 +6329,7 @@
 05
 12
 1c
-d4
+80
 80
 cb
 31
@@ -6431,7 +6431,7 @@
 b0
 12
 1e
-61
+ad
 90
 81
 1c
@@ -6500,7 +6500,7 @@
 ef
 f0
 f1
-bb
+c1
 92
 08
 90
@@ -6683,7 +6683,7 @@
 05
 02
 e1
-38
+3e
 90
 4c
 f4
@@ -6817,7 +6817,7 @@
 7c
 00
 d1
-7b
+81
 90
 48
 00
@@ -7049,7 +7049,7 @@
 fd
 12
 1c
-c6
+72
 22
 90
 4e
@@ -7117,7 +7117,7 @@
 70
 02
 c1
-7a
+80
 90
 4e
 68
@@ -7147,7 +7147,7 @@
 70
 02
 c1
-7a
+80
 90
 4d
 e0
@@ -7213,7 +7213,7 @@
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -7225,7 +7225,7 @@
 7c
 00
 d1
-7b
+81
 90
 4e
 64
@@ -7358,24 +7358,24 @@
 70
 02
 c1
-7a
+80
 ef
 64
 04
 70
 02
 c1
-7a
+80
 ef
 64
 02
 70
 02
 c1
-7a
+80
 12
 10
-1b
+21
 90
 4d
 e8
@@ -7470,7 +7470,7 @@
 7c
 00
 d1
-7b
+81
 90
 48
 00
@@ -7501,12 +7501,18 @@
 e0
 b4
 03
-10
+16
 90
 4c
 f9
 e0
 70
+10
+90
+4c
+fb
+e0
+60
 0a
 90
 4c
@@ -7716,11 +7722,11 @@
 79
 bf
 7d
-48
+49
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -7732,7 +7738,7 @@
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -7744,7 +7750,7 @@
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -7756,7 +7762,7 @@
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -7768,7 +7774,7 @@
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -7780,7 +7786,7 @@
 7c
 00
 d1
-7b
+81
 e4
 90
 4d
@@ -7865,12 +7871,12 @@
 f0
 12
 1c
-e0
+8c
 50
 25
 12
 14
-00
+4d
 90
 4e
 7e
@@ -7936,7 +7942,7 @@
 7c
 00
 d1
-7b
+81
 e4
 90
 4d
@@ -8107,7 +8113,7 @@
 40
 02
 41
-77
+7d
 90
 4e
 6e
@@ -8150,7 +8156,7 @@
 60
 02
 41
-6f
+75
 12
 00
 f9
@@ -8163,9 +8169,9 @@
 7e
 01
 11
-00
+06
 41
-44
+4a
 eb
 b4
 f2
@@ -8175,9 +8181,9 @@
 7e
 00
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -8213,9 +8219,9 @@
 7f
 b7
 11
-00
+06
 41
-44
+4a
 eb
 b4
 f4
@@ -8225,9 +8231,9 @@
 7e
 00
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -8263,9 +8269,9 @@
 7f
 b5
 11
-00
+06
 41
-44
+4a
 eb
 b4
 f6
@@ -8275,9 +8281,9 @@
 7e
 00
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -8313,9 +8319,9 @@
 7f
 e9
 11
-00
+06
 41
-44
+4a
 eb
 b4
 f8
@@ -8325,9 +8331,9 @@
 7e
 00
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -8364,9 +8370,9 @@
 94
 0e
 11
-00
+06
 41
-44
+4a
 eb
 b4
 fa
@@ -8376,9 +8382,9 @@
 7e
 01
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -8415,9 +8421,9 @@
 92
 0e
 11
-00
+06
 41
-44
+4a
 eb
 b4
 d0
@@ -8427,9 +8433,9 @@
 7e
 02
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -8467,9 +8473,9 @@
 7e
 02
 11
-00
+06
 41
-44
+4a
 eb
 b4
 d3
@@ -8479,9 +8485,9 @@
 7e
 02
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -8519,7 +8525,7 @@
 7e
 02
 11
-00
+06
 80
 70
 eb
@@ -8531,7 +8537,7 @@
 7e
 02
 11
-00
+06
 80
 64
 90
@@ -8571,7 +8577,7 @@
 7e
 02
 11
-00
+06
 80
 3c
 eb
@@ -8583,7 +8589,7 @@
 7e
 02
 11
-00
+06
 80
 30
 90
@@ -8621,7 +8627,7 @@
 7f
 70
 11
-00
+06
 80
 0a
 eb
@@ -8633,7 +8639,7 @@
 7e
 00
 11
-00
+06
 90
 4d
 e8
@@ -8684,7 +8690,7 @@
 04
 f0
 01
-2a
+30
 22
 90
 4c
@@ -8742,24 +8748,30 @@
 97
 ed
 f0
+e4
+90
+4c
+fb
+f0
+ed
 24
 d2
 70
 02
-61
-de
+81
+2b
 24
 db
 b4
-0f
+11
 00
 40
 02
-61
-fa
+81
+47
 90
 12
-cd
+d9
 75
 f0
 03
@@ -8772,50 +8784,56 @@
 83
 73
 02
-12
-fa
-02
 13
-ed
+0c
 02
-13
-fa
+14
+3a
+02
+14
+47
 02
 13
-6d
+8e
 02
 13
-af
+e5
+02
+14
+47
 02
 13
-fa
+f5
 02
 13
-fa
+fd
+02
+14
+14
 02
 13
-bf
+a0
 02
 13
-cf
+b7
 02
 13
-7f
+ce
 02
 13
-8f
+49
 02
 13
-9f
+60
 02
 13
-37
+77
 02
 13
-49
+f5
 02
 13
-5b
+f5
 ef
 30
 e0
@@ -8867,70 +8885,85 @@
 12
 08
 60
-61
-fa
+81
+47
 90
 4c
 f9
 74
 01
 f0
-61
-fa
+81
+47
 90
 4c
 f8
 e0
-64
+b4
 80
-60
-02
-61
-fa
+08
 90
 4e
 97
 74
 3a
 f0
-61
-fa
+81
+47
+90
+4c
+fb
+74
+01
+f0
+81
+47
 90
 4c
 f8
 e0
-64
+b4
 80
-60
-02
-61
-fa
+08
 90
 4e
 97
 74
 3b
 f0
-61
-fa
+81
+47
+90
+4c
+fb
+74
+01
+f0
+81
+47
 90
 4c
 f8
 e0
-64
+b4
 80
-60
-02
-61
-fa
+08
 90
 4e
 97
 74
 3c
 f0
-61
-fa
+81
+47
+90
+4c
+fb
+74
+01
+f0
+81
+47
 90
 4c
 f8
@@ -8939,56 +8972,69 @@
 80
 60
 02
-61
-fa
+81
+47
 90
 4e
 97
 74
 3d
 f0
-80
-7b
+81
+47
 90
 4c
 f8
 e0
-64
+b4
 80
-70
-73
+08
 90
 4e
 97
 74
 3e
 f0
-80
-6b
+81
+47
+90
+4c
+fb
+74
+01
+f0
+81
+47
 90
 4c
 f8
 e0
-64
+b4
 80
-70
-63
+08
 90
 4e
 97
 74
 3f
 f0
+81
+47
+90
+4c
+fb
+74
+01
+f0
 80
-5b
+79
 90
 4c
 f8
 e0
-64
+b4
 80
-70
-53
+08
 90
 4e
 97
@@ -8996,7 +9042,15 @@
 40
 f0
 80
-4b
+6a
+90
+4c
+fb
+74
+01
+f0
+80
+62
 90
 4c
 f8
@@ -9004,7 +9058,7 @@
 64
 80
 70
-43
+5a
 90
 4e
 97
@@ -9012,15 +9066,22 @@
 41
 f0
 80
-3b
+52
+90
+4c
+fb
+74
+01
+f0
+80
+4a
 90
 4c
 f8
 e0
-64
+b4
 80
-70
-33
+08
 90
 4e
 97
@@ -9028,14 +9089,22 @@
 44
 f0
 80
-2b
+3b
+90
+4c
+fb
+74
+01
+f0
+80
+33
 90
 4c
 f8
 e0
 b4
 80
-24
+08
 90
 4e
 97
@@ -9043,6 +9112,14 @@
 45
 f0
 80
+24
+90
+4c
+fb
+74
+01
+f0
+80
 1c
 90
 4c
@@ -9107,9 +9184,8 @@
 f0
 a3
 f0
-12
-18
-44
+f1
+ef
 7a
 4d
 79
@@ -9139,7 +9215,7 @@
 79
 bc
 d1
-3b
+87
 ef
 60
 16
@@ -9152,7 +9228,7 @@
 7d
 14
 d1
-0b
+57
 ef
 70
 09
@@ -9226,8 +9302,8 @@
 f0
 af
 05
-b1
-fd
+d1
+49
 a3
 e0
 2f
@@ -9261,8 +9337,8 @@
 2c
 e0
 ff
-b1
-fd
+d1
+49
 90
 4e
 30
@@ -9330,8 +9406,8 @@
 93
 70
 02
-a1
-d1
+c1
+1d
 74
 93
 2f
@@ -9385,10 +9461,10 @@
 e0
 70
 04
-a1
-c9
-a1
-c9
+c1
+15
+c1
+15
 90
 4e
 2f
@@ -9476,7 +9552,7 @@
 93
 fd
 51
-9d
+a3
 90
 4e
 2e
@@ -9495,7 +9571,7 @@
 e0
 ff
 d1
-85
+d1
 80
 07
 90
@@ -9503,8 +9579,8 @@
 2e
 e0
 ff
-d1
-db
+f1
+27
 90
 4e
 27
@@ -9541,8 +9617,8 @@
 e0
 04
 f0
-81
-f1
+a1
+3d
 90
 4d
 e8
@@ -9994,11 +10070,12 @@
 94
 08
 50
-0c
+0d
 c2
 05
-f1
-a2
+12
+1e
+2e
 90
 4e
 98
@@ -10006,170 +10083,8 @@
 04
 f0
 80
-ea
-22
-ac
-07
-ec
-f4
-60
-18
-af
-04
-a2
-05
-92
-03
-f1
-d2
-af
-04
-a2
-05
-b3
-92
-02
-f1
-c1
-af
-04
-c2
-04
-12
-1e
-10
-22
-ef
-f4
-60
-0c
-7b
-01
-7a
-80
-79
-78
-a2
-02
-92
-00
-f1
-e3
-22
-ef
-f4
-60
-0c
-7b
-01
-7a
-80
-79
-7c
-a2
-03
-92
-00
-f1
-e3
-22
-90
-4e
-8d
-eb
-f0
-a3
-ea
-f0
-a3
 e9
-f0
-e4
-fe
-fd
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
-03
-fd
-30
-00
 22
-90
-4e
-8d
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-00
-f9
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-4f
-02
-01
-3f
-90
-4e
-8d
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-00
-f9
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5f
-02
-01
-3f
 e4
 ff
 90
@@ -10190,7 +10105,7 @@
 25
 93
 60
-7c
+7d
 ef
 93
 fd
@@ -10313,8 +10228,9 @@
 5b
 f0
 0f
-01
-52
+02
+17
+fd
 e4
 ff
 ef
@@ -10447,7 +10363,7 @@
 f0
 0f
 01
-d7
+83
 e4
 ff
 ef
@@ -10596,7 +10512,7 @@
 70
 12
 31
-a4
+50
 80
 0e
 90
@@ -10740,9 +10656,9 @@
 22
 12
 0e
-a7
+ad
 51
-99
+45
 90
 4c
 eb
@@ -10762,7 +10678,7 @@
 f0
 90
 4d
-06
+07
 74
 ff
 f0
@@ -10874,10 +10790,10 @@
 e0
 04
 f0
-71
-2a
 51
-b5
+d6
+51
+61
 12
 06
 89
@@ -11132,7 +11048,7 @@
 7d
 03
 71
-89
+35
 90
 4e
 84
@@ -11508,7 +11424,7 @@
 79
 86
 91
-ff
+ab
 90
 0b
 83
@@ -11654,10 +11570,171 @@
 80
 df
 22
+90
+4e
+8d
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+e4
+fe
+fd
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
+03
+fd
+30
+00
+22
+90
+4e
+8d
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+00
+f9
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+4f
+02
+01
+3f
+90
+4e
+8d
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+00
+f9
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5f
+02
+01
+3f
 ef
 f4
 60
-0d
+0c
+7b
+01
+7a
+80
+79
+78
+a2
+02
+92
+00
+b1
+bc
+22
+ac
+07
+ec
+f4
+60
+17
+af
+04
+a2
+05
+92
+03
+d1
+4c
+af
+04
+a2
+05
+b3
+92
+02
+d1
+1d
+af
+04
+c2
+04
+d1
+5d
+22
+ef
+f4
+60
+0c
+7b
+01
+7a
+80
+79
+7c
+a2
+03
+92
+00
+b1
+bc
+22
+ef
+f4
+60
+0c
 7b
 01
 7a
@@ -11668,9 +11745,8 @@
 04
 92
 00
-12
-17
-e3
+b1
+bc
 22
 ef
 f4
@@ -11787,8 +11863,8 @@
 04
 cf
 22
-13
-1f
+d4
+48
 aa
 55
 40
@@ -13849,84 +13925,8 @@
 6c
 59
 50
-f3
-d4
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+60
+1b
 ff
 ff
 ff
@@ -16380,5 +16380,5 @@
 ff
 ff
 ff
-83
-45
+3f
+fc
Index: c51/output/fw.hex
===================================================================
--- /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/fw.hex	(revision 327)
+++ /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/fw.hex	(working copy)
@@ -23,7 +23,7 @@
 :10016000021583E038F022A3F8E0C5F025F0F0E5B1
 :1001700082158270021583E0C838F0E8228A8389EC
 :1001800082E473787FE4F6D8FD7581CF0201CA025C
-:100190001B2CE493A3F8E493A34003F68001F20838
+:100190001AD8E493A3F8E493A34003F68001F2088D
 :1001A000DFF48029E493A3F85407240CC8C333C4B4
 :1001B000540F4420C8834004F456800146F6DFE41F
 :1001C000800B010204081020408090020FE47E01A1
@@ -31,8 +31,8 @@
 :1001E00060010ECF54C025E060A840B8E493A3FAA4
 :1001F000E493A3F8E493A3C8C582C8CAC583CAF030
 :10020000A3C8C582C8CAC583CADFE9DEE780BE527B
-:100210004DF3FF0383000000FF1AF3FF19AB00004A
-:1002200000FF1AA5001A08090A0B0C0D0E18191761
+:100210004DF3FF0383000000FF1A9FFF19570000F2
+:1002200000FF1A51001A08090A0B0C0D0E181917B5
 :1002300014131211151B1C00000048000000E400FC
 :10024000E03E142B04291D8B351E1A3916641B8AB7
 :100250003A1F083C073D06883B201517090A190577
@@ -49,19 +49,19 @@
 :100300004CF8E0B4811BC3904CE4E09418904CE3AB
 :10031000E094005006D2017F1D800DC2017F1D8038
 :1003200007C2017F1D712822EFF4600D7B017A80E6
-:100330007974A20192001217E322904E9FEFF07B96
-:10034000017A807974120FC19209904E9FE0FFA24A
+:100330007974A2019200121DBC22904E9FEFF07BB7
+:10034000017A807974120FC79209904E9FE0FFA244
 :1003500009B3920180D2AC07ECF46016AF04D2046A
-:10036000121E10AF04A20692017128AF04C202123D
-:1003700017C122C2067F1D7156C2067F1F80D7D1CA
+:10036000121E5DAF04A20692017128AF04C20212F0
+:100370001E1D22C2067F1D7156C2067F1F80D7D167
 :100380004380F0904E9BEFF024D0606814606D14B1
 :100390007002815E14600A24F76061240D6002819E
-:1003A0008A717F121A7C7B017A4C79007D047C0073
+:1003A0008A717F121A287B017A4C79007D047C00C7
 :1003B0007FF27E3F918B7F0AB179904CC1E0F97A50
 :1003C000007B007D017C007FF87E3F918B7F0AB12E
 :1003D00079904CF8E0F97A007B007D017C007FF990
 :1003E0007E3F918B7F0AB179904CF8E0B4FF0374A3
-:1003F00081F0E1E4D143E4904CFDF022904CC574CF
+:1003F00081F0E1E4D143E4904CFEF022904CC574CE
 :1004000003F0E4A3F0D13DE4904CEEF0904CEBF01F
 :10041000904CC074FEF0904CC3F0904DE0740AF024
 :10042000904E9BE06431702A904CE5741EF0904C25
@@ -79,7 +79,7 @@
 :1004E000EEF0A3EFF07A0B79837E0B7F837483FCAD
 :1004F000740BFFECFEEF90809CEEF0A3EFF0908089
 :10050000907402F090809CA3E020E707908090E038
-:100510004401F0908006E04404F0121DDB904E6B25
+:100510004401F0908006E04404F0121D87904E6B79
 :10052000E0A3E0FAA3E0AE02FF7B017A0B798390AF
 :100530004E69E0A3E0904E63F0904E5EEEF0A3EFC4
 :10054000F0A3EBF0A3EAF0A3E9F0904E63E0FF1410
@@ -98,10 +98,10 @@
 :10061000E06401601C7F23F12B904CC57401F0E471
 :10062000A3F0904CEE74F0F0E4904CE9F0904CE5BF
 :10063000F0E4904CEDF022E4904CEDF022E4904C8C
-:10064000F0F022908080E4F0A3F0A3F0121785E48C
+:10064000F0F022908080E4F0A3F0A3F01217D1E440
 :10065000904E99F0F0904E99E090022593FF600D36
-:10066000C2051217A2904E99E004F080E82271733F
-:10067000904BEF74FFF0904CFD7401F0904D3D7481
+:10066000C205121E2E904E99E004F080E8227173AC
+:10067000904BEF74FFF0904CFE7401F0904D3D7480
 :10068000FFF0A3F0A3F0A3F022904CCEE030E13DC8
 :10069000904CD0E0C394FA5003E004F0904CD0E0CA
 :1006A00064B47036904DDDE004F0E0D3940250075E
@@ -118,7 +118,7 @@
 :100750007D03904E58EBF0A3EAF0A3E9F0A3EDF08F
 :10076000904B9CE0FFA3E0904E5CCFF0A3EFF090A5
 :100770004B9AE0FEA3E0FF904B9CE0FCA3E0FD7BE6
-:1007800064121B2F904E5BE0FEEFC39E40E1904E43
+:1007800064121ADB904E5BE0FEEFC39E40E1904E98
 :100790005BE0FF14F0EF603C904E58E0FBA3E47583
 :1007A000F0013167A9F0FA11F9FF904E5CE475F0A1
 :1007B00001316785F082F583EFF0904E5CE0FEA397
@@ -140,23 +140,23 @@
 :1008B0004E39E0FEA3E0FF8004AE04AF05904E3950
 :1008C000EEF0FCA3EFF0FDC3904E35E09DF0904EAE
 :1008D00034E09CF0904E32E0FEA3E0FF904E36E014
-:1008E000FBA3E0FAA3E0F9121D437F0A12057990F9
+:1008E000FBA3E0FAA3E0F9121CEF7F0A120579904E
 :1008F0004E39E0FEA3E0FF904E37EE8FF01201512B
 :10090000904E33E02FF0904E32E03EF0017722F12E
-:10091000A8121BD95195112A121A3C900B7EE01493
+:10091000AE121B855195112A1219E8900B7EE01436
 :10092000600D24FE70EB314F120373518780FE90EF
 :100930004CEAE0700C904CECE07006904CE5E06006
-:1009400005121CD480CB314F518780C580C322E46F
+:1009400005121C8080CB314F518780C580C322E4C3
 :10095000FF904E9AF0FEFDEF900225936049EF93D1
 :10096000FD131313541FFEED5407FD7401A8050871
 :100970008002C333D8FCFDEE2478FBE434808B8204
 :10098000F583E0FCEDF4FBEC5BF0EE2470F582E423
 :100990003480F583E04DF0EE2474F582E43480F584
-:1009A00083E05BF00F80B0121E6190811CE0904EDE
+:1009A00083E05BF00F80B0121EAD90811CE0904E92
 :1009B0009AF0904DD6E06020E4FF31E87F0131E805
 :1009C0007F0231E87F0331E87F0431E87F0531E8B9
 :1009D0007F0631E87F078010904E9AE0FF9000A3D9
-:1009E000F0EFF49000A7F022904E9EEFF0F1BB9252
+:1009E000F0EFF49000A7F022904E9EEFF0F1C1924C
 :1009F00008904E9EE0FFA208B39207EFF470024108
 :100A000086EF5407FEEF1313135403FF30074324FC
 :100A1000A3F582E43400F583C083C082E0FD740155
@@ -168,7 +168,7 @@
 :100A700082D083F074A72FF582E43400F583E0FF81
 :100A8000ECF4FEEF5EF022E4900B7FF0900B7EF032
 :100A90007F01020579904CF4E0FF60086403600474
-:100AA000EFB40502E138904CF4E0B4010EA3E0FF8E
+:100AA000EFB40502E13E904CF4E0B4010EA3E0FF88
 :100AB000E4FD7118904CF47402F022904CF4E0B410
 :100AC000020B7403F0A3E0FFA3E0FD804B904CF415
 :100AD000E0B40427E4904CF6F0904CF5E0FFE4FD20
@@ -176,7 +176,7 @@
 :100AF0007406F022904CF47405F022904CF4E0B4AB
 :100B00000615E4904CF6F0904CF5F0A3E0FDE4FF00
 :100B10007118E4904CF4F022904E90EFF0A3EDF0B9
-:100B20007B017A4879007D097C00D17B9048007474
+:100B20007B017A4879007D097C00D181904800746E
 :100B300001F0A3E0FF904E90E0FEEF4E904801F0F0
 :100B4000904E91E0904803F07B017A4879007D094E
 :100B5000904E17EBF0A3EAF0A3E9F0A3EDF0E4FF69
@@ -191,18 +191,18 @@
 :100BE000B402197405F0A3E0700AA3E07006904DFA
 :100BF000D7F08012904DD77401F0800A904E1BE020
 :100C0000B403037407F07B017A4E791B904E1AE00F
-:100C1000FD121CC622904E64EBF0A3EAF0A3E9F0AB
+:100C1000FD121C7222904E64EBF0A3EAF0A3E9F0FF
 :100C2000E4A3F0A3F0904DDCF0904E68F0904E6895
 :100C3000E0FFC394055029904E64E0FBA3E0FAA3C3
 :100C4000E02401F9E43AFA7E00E92FF9EE3AFA12CB
-:100C500000F964537002C17A904E68E004F080CDD0
+:100C500000F964537002C180904E68E004F080CDCA
 :100C6000904DDCE0904DE4F0904E64E0A3E0FAA3F8
-:100C7000E04A7002C17A904DE0740AF0E4904CE3CF
+:100C7000E04A7002C180904DE0740AF0E4904CE3C9
 :100C8000F0A3F0904CD5E0B40112E4904D3DF0A3F8
 :100C90007448F0A37412F0E4A3F08010E4904D3D8A
 :100CA000F0A37448F0A3745DF0E4A3F07B017A48EC
-:100CB00079007D097C00D17B7B017A4D79E97D0942
-:100CC0007C00D17B904E64E0FBA3E0FAA3E0F990B6
+:100CB00079007D097C00D1817B017A4D79E97D093C
+:100CC0007C00D181904E64E0FBA3E0FAA3E0F990B0
 :100CD0000001120112FFB45D0A90000212011264B9
 :100CE0002B6034EFB42B0A900002120112645D6095
 :100CF00026900001120112B43F0A90000212011264
@@ -210,282 +210,287 @@
 :100D100002120112B43F1A904CC5E06401600990C0
 :100D20004CCEE04410F08010904CCEE054EFF080B8
 :100D300007904CCEE054EFF0904CB67401F0904C1C
-:100D4000F4E0FF64017002C17AEF64047002C17ABA
-:100D5000EF64027002C17A12101B904DE8E0B401FA
+:100D4000F4E0FF64017002C180EF64047002C180AE
+:100D5000EF64027002C180121021904DE8E0B401EE
 :100D6000117402F0904DE9F07B017A4D79E97D0331
 :100D70006150904DE8E06403600AE0B4021F904DBA
 :100D8000DEE07019E4904DE8F0904DE7F0904DE909
 :100D90007402F07B017A4D79E97D036150904DDE5C
 :100DA000E07016904E64E0FBA3E0FAA3E02401F9A2
-:100DB000E43AFA7D067C00D17B9048007401F09003
+:100DB000E43AFA7D067C00D1819048007401F090FD
 :100DC0004E64E0FBA3E0FAA3E0F91200F9904801B9
-:100DD000F0904CC5E0B40310904CF9E0700A904CD0
-:100DE000F8E0904802F08005E4904802F0E4904C6E
-:100DF000F9F0904DD9F0900001120112B47F1F7EDE
-:100E0000487F03904E64E0FBA3E0FAA3E02402F9DC
-:100E1000E43AFA904E637405F0120539801D7E485D
-:100E20007F03904E64E0FBA3E0FAA3E02401F9E421
-:100E30003AFA904E637406F0120539904E687403C6
-:100E4000F0904E68E0FFC39409502574002FF5829E
-:100E5000E43448F583E0B47F0F904E68E02400F559
-:100E600082E43448F583E4F0904E68E004F080D1E9
-:100E70007B017A4879007D09715022904E87EBF012
-:100E8000A3EAF0A3E9F0ED1DAE0470011C4E60165C
-:100E9000904E87E0FBA3E475F001120167A9F0FA18
-:100EA000E412013F80E0227B017A4C79BF7D487CCF
-:100EB00000D17B7B017A4D79937D147C00D17B7BC3
-:100EC000017A4D79A87D147C00D17B7B017A4D7924
-:100ED000BC7D147C00D17B7B017A4879007D097C44
-:100EE00000D17B7B017A4D79E97D097C00D17BE4DF
-:100EF000904DE0F0904DE6F0904DE5F0904DD7F03C
-:100F0000904DD1F0904DDDF0904DE8F0904DD6F041
-:100F1000904DD9F0904DDCF0904DE4F0904DD4F030
-:100F2000904DE1F0904DE7F0904CB774F0F0904D9B
-:100F3000DAF0E4904D38F022904E7EE4F0A3F0A376
-:100F4000F0121CE05025121400904E7EEBF0A3EA44
-:100F5000F0A3E9F04A7007904CB604F0800E904E72
-:100F60007EE0FBA3E0FAA3E0F9911522904D47E063
-:100F70006035904DD7E0702F904CC5E0B403287BCE
-:100F8000017A4879007D097C00D17BE4904DE8F03E
-:100F900090480004F0904D47E0904802F07B017AC1
-:100FA0004879007D097150227B017A4D79F37805EB
-:100FB0007C4E7D017E007F120200D37B017A817915
-:100FC0001CAD07E4904E9DF0FEEF5407F0EF1313B5
-:100FD000135403FEF582758300120112FD3395E070
-:100FE000FC904E9DE0FF74017E00A807088005C3B9
-:100FF00033CE33CED8F9FFEE5CFEEF5D4E24FF22F8
-:10100000AD07AC06904DE8E06402600E7401F0900C
-:101010004DE904F0EFA3F0EEA3F022904E6EEBF05A
-:10102000A3EAF0A3E9F0E4A3F0F0904E71E0FFC36F
-:10103000940640024177904E6EE0FBA3E0FAA3E0F5
-:101040002401F9E43AFA7E00E92FF9EE3AFA1200A7
-:10105000F9FF54F064F06009EF54D064D0600241AD
-:101060006F1200F9FBB4F1087F837E011100414447
-:10107000EBB4F2087FCD7E0011004144904E6EE04B
-:10108000FBA3E0FAA3E02401F9E43AFAA3E07E002E
-:1010900029F9EE3AFA1200F9FBB4F3067FB7110012
-:1010A0004144EBB4F4087FB67E0011004144904EF9
-:1010B0006EE0FBA3E0FAA3E02401F9E43AFAA3E02E
-:1010C0007E0029F9EE3AFA1200F9FBB4F5067FB575
-:1010D00011004144EBB4F6087FEA7E001100414460
-:1010E000904E6EE0FBA3E0FAA3E02401F9E43AFAA3
-:1010F000A3E07E0029F9EE3AFA1200F9FBB4F706F4
-:101100007FE911004144EBB4F8087FE27E00110052
-:101110004144904E6EE0FBA3E0FAA3E02401F9E421
-:101120003AFAA3E07E0029F9EE3AFA1200F9FBB48C
-:10113000F9077F940E11004144EBB4FA087F8A7ED0
-:101140000111004144904E6EE0FBA3E0FAA3E024BD
-:1011500001F9E43AFAA3E07E0029F9EE3AFA120026
-:10116000F9FBB4FB077F920E11004144EBB4D008A9
-:101170007F2A7E0211004144904E6EE0FBA3E0FA0C
-:10118000A3E02401F9E43AFAA3E07E0029F9EE3A5B
-:10119000FA1200F9FBB4D1087F257E021100414408
-:1011A000EBB4D3087F267E0211004144904E6EE0DE
-:1011B000FBA3E0FAA3E02401F9E43AFAA3E07E00FD
-:1011C00029F9EE3AFA1200F9FBB4D2087F247E0224
-:1011D00011008070EBB4D4087F277E021100806478
-:1011E000904E6EE0FBA3E0FAA3E02401F9E43AFAA2
-:1011F000A3E07E0029F9EE3AFA1200F9FBB4D50813
-:101200007F217E021100803CEBB4D6087F237E0252
-:1012100011008030904E6EE0FBA3E0FAA3E02401C1
-:10122000F9E43AFAA3E07E0029F9EE3AFA1200F95D
-:10123000FBB4D7067F701100800AEBB4D8067F6F2D
-:101240007E001100904DE8E0B40224904E6EE0FB69
-:10125000A3E0FAA3E02401F9E43AFAA3E07E00292E
-:10126000F9EE3AFA1200F9904DE7F0E412013F90DE
-:101270004E71E004F0012A22904CF5EDF0A3EBF062
-:10128000EF30E012904CF4E0B403047402F02290CA
-:101290004CF47401F022904CF47404F022E4904E6B
-:1012A00097F0EF30E005E4904CFAF0904E97EDF0B7
-:1012B00024D2700261DE24DBB40F00400261FA9098
-:1012C00012CD75F003A4C58325F0C583730212FA0D
-:1012D0000213ED0213FA02136D0213AF0213FA02A6
-:1012E00013FA0213BF0213CF02137F02138F0213EC
-:1012F0009F02133702134902135BEF30E031904C29
-:10130000F8E06481600B7481F0904CE67418F08012
-:101310000B904CF87480F0E4904CE6F07B017A4C32
-:1013200079F87D017C007FF97E3F12086061FA90B8
-:101330004CF97401F061FA904CF8E064806002614D
-:10134000FA904E97743AF061FA904CF8E06480603D
-:101350000261FA904E97743BF061FA904CF8E064A9
-:1013600080600261FA904E97743CF061FA904CF8FC
-:10137000E06480600261FA904E97743DF0807B904B
-:101380004CF8E064807073904E97743EF0806B90E0
-:101390004CF8E064807063904E97743FF0805B90EF
-:1013A0004CF8E064807053904E977440F0804B90FE
-:1013B0004CF8E064807043904E977441F0803B900D
-:1013C0004CF8E064807033904E977444F0802B901A
-:1013D0004CF8E0B48024904E977445F0801C904CFB
-:1013E000F8E0B48015904E977442F0800D904CF860
-:1013F000E0B48006904E977443F0904E97E0FF2241
-:10140000E4904E25F0A3F0A3F0A3F0A3F0A3F0A383
-:10141000F0A3F0A3F0A3F0A3F0A3F0A3F0121844FC
-:101420007A4D79A8904E4D7401F0A3744DF0A374D9
-:10143000A8F0A37414F07B017A4D79BCD13BEF6026
-:10144000167B017A4D79BC7D14D10BEF7009904C5D
-:10145000CEE04402F0800C904CCEE054FDF0E490DD
-:101460004CD0F0E4904E25F0904E25E0FF90022500
-:1014700093602F74BC2FF582E4344DF583E0904ED9
-:1014800027F0E0FD6014904E2BE004F0A3E0FEEDA9
-:101490004EF0AF05B1FDA3E02FF0904E25E004F033
-:1014A00080C6904E2DE0904DDEF0904E2BE0904E99
-:1014B00031F0904E2CE0FFB1FD904E30EFF0904DAA
-:1014C000DEE0D394024020904E30E0FFA3E0FED354
-:1014D0009F4004AF068000904DDEE0D39F4008900F
-:1014E0004E2F7401F08005E4904E2FF0E4904E25CD
-:1014F000F0904E25E0FF900225937002A1D17493E5
-:101500002FF582E4344DF583E0FE74BC2FF582E4C0
-:10151000344DF583E06E904E27F0904E25E0FF2489
-:10152000BCF582E4344DF583E0904E2AF0904E27CE
-:10153000E07004A1C9A1C9904E2FE060077B007A3A
-:101540000079002274BC2FF582E4344DF583E0FE6F
-:1015500074932FF582E4344DF583EEF0E4904E263B
-:10156000F0904E26E0FFC394085058A3E030E03BD3
-:10157000904E25E0FE33333354F8FEEF4E904E2963
-:10158000F0A3E0FF904E29E090023A93FD519D9028
-:101590004E2EEFF0904E2AE030E009904E2EE0FF04
-:1015A000D1858007904E2EE0FFD1DB904E27E0FFE3
-:1015B000C313F0904E2AE0FFC313F0904E26E004D0
-:1015C000F0809E904E287401F0904E25E004F0814A
-:1015D000F1904DE8E0B4030A904DD9E0B4010374F2
-:1015E00002F0904E28E07007904DD9E0B402077BDE
-:1015F000017A4E7943227B007A00790022E4FEEFE3
-:101600006006145FFF0E80F7AF0622904E81EBF06C
-:10161000A3EAF0A3E9F0E4FFEFC39D501B904E81D5
-:10162000E0FBA3E0FAA3E0F98F82758300120112B8
-:1016300060037F00220F80E07F0122904E4AEBF092
-:10164000A3EAF0A3E9F0E4FF904E50E0FEEFC39E62
-:101650005030904E4DE0FBA3E0FAA3E0F98F827585
-:101660008300120112FE904E4AE0FBA3E0FAA3E0D1
-:10167000F98F827583001201126E60037F00220FC2
-:1016800080C67F0122E4FEEFC394E04020EFD394B4
-:10169000E7501A904E43E0FEEF5407FF7401A8078D
-:1016A000088002C333D8FC4E904E43F022E4FE740F
-:1016B000442EF582E4344EF583E0FD6F601CED703E
-:1016C00014904DE7E06F601274442EF582E4344EBE
-:1016D000F583EFF0220EEEB406D522E4FEFDEF54C2
-:1016E000F064F06007EF54D0FCBCD00C904DE8E003
-:1016F000B4020B7403F08006904DD97401F0EFC36F
-:1017000094E04021EFD394E7501B904E43E0FEEF6E
-:101710005407FF7401A807088002C333D8FCF45EA5
-:10172000904E43F022E4FEED702174442EF582E4E5
-:10173000344EF583E06F7047EEB4050B2444F58218
-:10174000E4344EF583E4F07D01803474442EF58258
-:10175000E4344EF583E0FC74432EF582E4344EF518
-:1017600083ECF074442EF582E4344EF583E060148B
-:10177000EEB4050B2444F582E4344EF583E4F00E18
-:10178000EEB406A322E4904E98F0F0904E98E0FF5D
-:10179000C39408500CC205F1A2904E98E004F0806A
-:1017A000EA22AC07ECF46018AF04A2059203F1D270
-:1017B000AF04A205B39202F1C1AF04C204121E101D
-:1017C00022EFF4600C7B017A807978A2029200F11A
-:1017D000E322EFF4600C7B017A80797CA203920013
-:1017E000F1E322904E8DEBF0A3EAF0A3E9F0E4FEE2
-:1017F000FDEF5407FEEF1313135403FD3000229046
-:101800004E8DE0FBA3E0FAA3E02DF9E43AFA1200D2
-:10181000F9FF7401A806088002C333D8FC4F020107
-:101820003F904E8DE0FBA3E0FAA3E02DF9E43AFAF5
-:101830001200F9FF7401A806088002C333D8FCF433
-:101840005F02013FE4FF904E72F0FEFDA3F0A3F0B3
-:10185000A3F0EF90022593607CEF93FD13131354D4
-:101860001FFEED5407FD7401A805088002C333D89C
-:10187000FCFDEE2478FBE434808B82F583E0FCED04
-:10188000F4FBEC5BF0EE2470F582E43480F583E049
-:101890004DF0EE2474F582E43480F583E05BF09043
-:1018A000811CE0F4FC74BC2FF582E4344DF583EC2C
-:1018B000F0EE2478FBE434808B82F583E04DF0EE8B
-:1018C0002470FBE434808B82F583E0FCEDF4FBECC8
-:1018D0005BF00F0152E4FFEF90022593607CEF93E1
-:1018E000FD131313541FFEED5407FD7401A80508E2
-:1018F0008002C333D8FCFDEE2478FBE434808B8275
-:10190000F583E0FCEDF4FBEC5BF0EE2470F582E493
-:101910003480F583E04DF0EE2474F582E43480F5F4
-:1019200083E05BF090811CE0F4FC74A82FF582E466
-:10193000344DF583ECF0EE2478FBE434808B82F5B3
-:1019400083E04DF0EE2470FBE434808B82F583E07D
-:10195000FCEDF4FBEC5BF00F01D7E4FFEF90022508
-:1019600093604074BC2FF582E4344DF583E0FE743F
-:10197000A82FF582E4344DF583E06E602374BC2F0C
-:10198000F582E4344DF583C083C082E0FE74A82F55
-:10199000F582E4344DF583E0FDEE5DD082D083F036
-:1019A0000F80B922C2017F1F020328904CEAE06039
-:1019B0000214F0904CEFE0600214F0904CFAE060FA
-:1019C0000B14F0E07006904CF47406F0904CE5E0D7
-:1019D000601F904CEEE06006E4904CE5F022904CE5
-:1019E000E5E014F01207EE904CE5E0701231A480AF
-:1019F0000E904CEEE07008904CE2E0600214F09023
-:101A00004DD6E0702D904DD7E064017025F0904DDB
-:101A1000E9E0600D7B017A4D79E97D03120B50807E
-:101A200011904800E0600B7B017A4879007D091233
-:101A30000B50904DE0E06003E014F022904DE5E0A3
-:101A400064027037904CE9E07031904CD5E0B402FC
-:101A50000302066E904CD5E0B40113904CF7E07091
-:101A60001A904CE2740AF0904CF77401F022904CFA
-:101A7000F7E0B40106E4F0904CE2F022120EA75118
-:101A800099904CEB7401F0904CE5741EF0E4904C8E
-:101A9000F0F0904D0674FFF022229080107401F057
-:101AA00080FE2280F5904E92EDF09000011201121E
-:101AB000904E93F022904CC5E0B40311904CE3E0BB
-:101AC00064047004A3E064B0702802066E904CC5F4
-:101AD000E0B4010F904CE3E07004A3E064287012BE
-:101AE00002066E904CE3E07004A3E06414700312ED
-:101AF000066E221202E8904CE4E004F07006904C6E
-:101B0000E3E004F0712A51B5120689904CEEE060D2
-:101B100018E4904CE3F0A3F0904CEEE014F0E07089
-:101B2000087F0A12057912066E22222202090F90FE
-:101B30004E76EEF0A3EFF0904E78ECF0A3EDF0903F
-:101B40004E78E0FEA3E0FFD3904E77E09F904E7674
-:101B5000E09E4016904E78E0FEA3E0FF904E77E0C6
-:101B60009FFF904E76E09EFE801E904E76E0FEA394
-:101B7000E0FFC3904E79E09FFF904E78E09EFEAD6F
-:101B800003C3EB9FFFE49EFE22904E94EEF0A3EF82
-:101B9000F0A905904B9EE0FEA3E0FFAD0119ED60BA
-:101BA0002F0FEFAC0670010E14F5828C83E0FD90D0
-:101BB0004E94E475F00112016785F082F583EDF033
-:101BC000AD07AC06BC4BD4BD9AD17E4B7F3680CBE3
-:101BD000904B9EEEF0A3EFF0227A0C794B904E845E
-:101BE0007401F0A3740CF0A3744BF0904BA0E0FED2
-:101BF000A3E0FF904B9EE06E7003A3E06F60467E13
-:101C00000C7F4B7D037189904E84E0FBA3E0FAA327
-:101C1000E0F91200F9B4022B904E85E475F002123F
-:101C20000151904E84E0FBA3E0FAA3E0F91200F921
-:101C3000FF904E05E0A3E0FAA3E0F5828A8312014B
-:101C400081800280FE904BA5E0FEA3E0FF904C5EF9
-:101C5000E06E7003A3E06F6022904E0BE0FBA3E008
-:101C6000FAA3E0F94A603712017D904BA5E0FFA38B
-:101C7000E0904C5ECFF0A3EFF080CA904C8DE0FF77
-:101C8000A3E06F6019904E0EE0FBA3E0FAA3E0F929
-:101C90004A600B12017D904C8DE0A3F080DD229014
-:101CA0004E9CEDF0E0FD900BE8F07E0B7FE9904E4E
-:101CB00063EDF01205397B017A0B79E7904E9CE0D9
-:101CC0002402FD020752900BE77406F080D19004C5
-:101CD00046E0FF22900B7F7401F0E4900B7EF0222F
-:101CE000904B9CE0FEA3E0FF904B9AE0B50607A363
-:101CF000E0B50702D322C3229082807401F02290C3
-:101D00004E3BEBF0A3EAF0A3E9F0904E4174FFF5EF
-:101D1000F012016745F0602A904E3EE0FBA3E475A7
-:101D2000F001120167A9F0FA1200F9FF904E3BE0B2
-:101D3000FBA3E475F001120167A9F0FAEF12013F6D
-:101D400080C822904E51EEF0A3EFF0904E55EBF08C
-:101D5000A3EAF0A3E9F0904E53ECF0A3EDF0A3E07A
-:101D6000F9A3E0FAA3E0904E3EC9F0A3EAF0A3E99C
-:101D7000F0A3ECF0A3EDF07B017A0B798691FF9054
-:101D80000B8374A0F0904E51E0FFA3E0900B84CF42
-:101D9000F0A3EFF0904E54E02403FD904E53E03456
-:101DA00000FCEDFAECFFEAFEEF908098EEF0A3EF76
-:101DB000F07A0B79837E0B7F837483FC740BFFECCA
-:101DC000FEEFA3EEF0A3EFF090809EE4F0A3F0907E
-:101DD000809004F0908006E04404F090812CE03084
-:101DE000E5F922904E8AEBF0A3EAF0A3E9F0ED1DAD
-:101DF000AE0470011C4E6017904E8AE0FBA3E475A0
-:101E0000F001120167A9F0FA74FF12013F80DF228E
-:101E1000EFF4600D7B017A807970A20492001217B2
-:101E2000E322EFF4603AEF5407FEEF131313540369
-:101E3000FF24A3F582E43400F583C083C082E0FD73
-:101E40007401A806088002C333D8FCF4FC5DD0827C
-:101E5000D083F074A72FF582E43400F583E05CF0C2
-:101E600022E4FFEFFD7C002478FBEC34808B82F5CC
-:101E700083E0FEED2470FDEC34808D82F583E04E2E
-:101E8000F4FEEF247CFDEC34808D82F583EEF00FC0
-:051E9000EFB404CF22B5
+:100DD000F0904CC5E0B40316904CF9E07010904CC4
+:100DE000FBE0600A904CF8E0904802F08005E49047
+:100DF0004802F0E4904CF9F0904DD9F090000112C7
+:100E00000112B47F1F7E487F03904E64E0FBA3E095
+:100E1000FAA3E02402F9E43AFA904E637405F01262
+:100E20000539801D7E487F03904E64E0FBA3E0FA05
+:100E3000A3E02401F9E43AFA904E637406F0120537
+:100E400039904E687403F0904E68E0FFC3940950E7
+:100E50002574002FF582E43448F583E0B47F0F90C9
+:100E60004E68E02400F582E43448F583E4F0904EC7
+:100E700068E004F080D17B017A4879007D097150E7
+:100E800022904E87EBF0A3EAF0A3E9F0ED1DAE044B
+:100E900070011C4E6016904E87E0FBA3E475F001D4
+:100EA000120167A9F0FAE412013F80E0227B017A87
+:100EB0004C79BF7D497C00D1817B017A4D79937D4E
+:100EC000147C00D1817B017A4D79A87D147C00D1FE
+:100ED000817B017A4D79BC7D147C00D1817B017AC4
+:100EE0004879007D097C00D1817B017A4D79E97DCB
+:100EF000097C00D181E4904DE0F0904DE6F0904DFA
+:100F0000E5F0904DD7F0904DD1F0904DDDF0904D43
+:100F1000E8F0904DD6F0904DD9F0904DDCF0904D2A
+:100F2000E4F0904DD4F0904DE1F0904DE7F0904C0E
+:100F3000B774F0F0904DDAF0E4904D38F022904E16
+:100F40007EE4F0A3F0A3F0121C8C502512144D90F7
+:100F50004E7EEBF0A3EAF0A3E9F04A7007904CB69E
+:100F600004F0800E904E7EE0FBA3E0FAA3E0F9913E
+:100F70001522904D47E06035904DD7E0702F904C92
+:100F8000C5E0B403287B017A4879007D097C00D153
+:100F900081E4904DE8F090480004F0904D47E090D7
+:100FA0004802F07B017A4879007D097150227B016B
+:100FB0007A4D79F378057C4E7D017E007F12020028
+:100FC000D37B017A81791CAD07E4904E9DF0FEEF52
+:100FD0005407F0EF1313135403FEF58275830012C8
+:100FE0000112FD3395E0FC904E9DE0FF74017E0000
+:100FF000A807088005C333CE33CED8F9FFEE5CFED8
+:10100000EF5D4E24FF22AD07AC06904DE8E0640290
+:10101000600E7401F0904DE904F0EFA3F0EEA3F040
+:1010200022904E6EEBF0A3EAF0A3E9F0E4A3F0F017
+:10103000904E71E0FFC394064002417D904E6EE0F9
+:10104000FBA3E0FAA3E02401F9E43AFA7E00E92FD9
+:10105000F9EE3AFA1200F9FF54F064F06009EF5427
+:10106000D064D0600241751200F9FBB4F1087F83AF
+:101070007E011106414AEBB4F2087FCD7E001106D5
+:10108000414A904E6EE0FBA3E0FAA3E02401F9E4AC
+:101090003AFAA3E07E0029F9EE3AFA1200F9FBB41D
+:1010A000F3067FB71106414AEBB4F4087FB67E0021
+:1010B0001106414A904E6EE0FBA3E0FAA3E0240142
+:1010C000F9E43AFAA3E07E0029F9EE3AFA1200F9BF
+:1010D000FBB4F5067FB51106414AEBB4F6087FEA8A
+:1010E0007E001106414A904E6EE0FBA3E0FAA3E0B9
+:1010F0002401F9E43AFAA3E07E0029F9EE3AFA1263
+:1011000000F9FBB4F7067FE91106414AEBB4F80891
+:101110007FE27E001106414A904E6EE0FBA3E0FAAA
+:10112000A3E02401F9E43AFAA3E07E0029F9EE3ABB
+:10113000FA1200F9FBB4F9077F940E1106414AEB4D
+:10114000B4FA087F8A7E011106414A904E6EE0FB98
+:10115000A3E0FAA3E02401F9E43AFAA3E07E00292F
+:10116000F9EE3AFA1200F9FBB4FB077F920E110672
+:10117000414AEBB4D0087F2A7E021106414A904EC4
+:101180006EE0FBA3E0FAA3E02401F9E43AFAA3E05D
+:101190007E0029F9EE3AFA1200F9FBB4D1087F2556
+:1011A0007E021106414AEBB4D3087F267E02110667
+:1011B000414A904E6EE0FBA3E0FAA3E02401F9E47B
+:1011C0003AFAA3E07E0029F9EE3AFA1200F9FBB4EC
+:1011D000D2087F247E0211068070EBB4D4087F27EA
+:1011E0007E0211068064904E6EE0FBA3E0FAA3E05D
+:1011F0002401F9E43AFAA3E07E0029F9EE3AFA1262
+:1012000000F9FBB4D5087F217E021106803CEBB4C7
+:10121000D6087F237E0211068030904E6EE0FBA33D
+:10122000E0FAA3E02401F9E43AFAA3E07E0029F908
+:10123000EE3AFA1200F9FBB4D7067F701106800A65
+:10124000EBB4D8067F6F7E001106904DE8E0B40243
+:1012500024904E6EE0FBA3E0FAA3E02401F9E43A07
+:10126000FAA3E07E0029F9EE3AFA1200F9904DE770
+:10127000F0E412013F904E71E004F0013022904CF6
+:10128000F5EDF0A3EBF0EF30E012904CF4E0B40396
+:10129000047402F022904CF47401F022904CF47427
+:1012A00004F022E4904E97F0EF30E005E4904CFA21
+:1012B000F0904E97EDF0E4904CFBF0ED24D27002EC
+:1012C000812B24DBB41100400281479012D975F0C4
+:1012D00003A4C58325F0C5837302130C02143A02DC
+:1012E000144702138E0213E50214470213F502138A
+:1012F000FD0214140213A00213B70213CE02134905
+:101300000213600213770213F50213F5EF30E03198
+:10131000904CF8E06481600B7481F0904CE6741896
+:10132000F0800B904CF87480F0E4904CE6F07B0178
+:101330007A4C79F87D017C007FF97E3F120860814C
+:1013400047904CF97401F08147904CF8E0B4800864
+:10135000904E97743AF08147904CFB7401F08147AE
+:10136000904CF8E0B48008904E97743BF081479021
+:101370004CFB7401F08147904CF8E0B48008904E2B
+:1013800097743CF08147904CFB7401F08147904C7E
+:10139000F8E0648060028147904E97743DF0814789
+:1013A000904CF8E0B48008904E97743EF0814790DE
+:1013B0004CFB7401F08147904CF8E0B48008904EEB
+:1013C00097743FF08147904CFB7401F08079904C0A
+:1013D000F8E0B48008904E977440F0806A904CFB1F
+:1013E0007401F08062904CF8E06480705A904E97DF
+:1013F0007441F08052904CFB7401F0804A904CF89C
+:10140000E0B48008904E977444F0803B904CFB749D
+:1014100001F08033904CF8E0B48008904E9774450A
+:10142000F08024904CFB7401F0801C904CF8E0B4E8
+:101430008015904E977442F0800D904CF8E0B48087
+:1014400006904E977443F0904E97E0FF22E4904E42
+:1014500025F0A3F0A3F0A3F0A3F0A3F0A3F0A3F072
+:10146000A3F0A3F0A3F0A3F0A3F0F1EF7A4D79A8D5
+:10147000904E4D7401F0A3744DF0A374A8F0A374C2
+:1014800014F07B017A4D79BCD187EF60167B017A2D
+:101490004D79BC7D14D157EF7009904CCEE04402D9
+:1014A000F0800C904CCEE054FDF0E4904CD0F0E491
+:1014B000904E25F0904E25E0FF90022593602F740A
+:1014C000BC2FF582E4344DF583E0904E27F0E0FD2B
+:1014D0006014904E2BE004F0A3E0FEED4EF0AF055B
+:1014E000D149A3E02FF0904E25E004F080C6904E45
+:1014F0002DE0904DDEF0904E2BE0904E31F0904E6E
+:101500002CE0FFD149904E30EFF0904DDEE0D394C7
+:10151000024020904E30E0FFA3E0FED39F4004AF96
+:10152000068000904DDEE0D39F4008904E2F74015E
+:10153000F08005E4904E2FF0E4904E25F0904E257B
+:10154000E0FF900225937002C11D74932FF582E491
+:10155000344DF583E0FE74BC2FF582E4344DF58301
+:10156000E06E904E27F0904E25E0FF24BCF582E41B
+:10157000344DF583E0904E2AF0904E27E07004C180
+:1015800015C115904E2FE060077B007A007900228C
+:1015900074BC2FF582E4344DF583E0FE74932FF58F
+:1015A00082E4344DF583EEF0E4904E26F0904E2622
+:1015B000E0FFC394085058A3E030E03B904E25E094
+:1015C000FE33333354F8FEEF4E904E29F0A3E0FF84
+:1015D000904E29E090023A93FD51A3904E2EEFF0E9
+:1015E000904E2AE030E009904E2EE0FFD1D18007E6
+:1015F000904E2EE0FFF127904E27E0FFC313F090AE
+:101600004E2AE0FFC313F0904E26E004F0809E9037
+:101610004E287401F0904E25E004F0A13D904DE875
+:10162000E0B4030A904DD9E0B401037402F0904E87
+:1016300028E07007904DD9E0B402077B017A4E791B
+:1016400043227B007A00790022E4FEEF6006145FFB
+:10165000FF0E80F7AF0622904E81EBF0A3EAF0A3D5
+:10166000E9F0E4FFEFC39D501B904E81E0FBA3E047
+:10167000FAA3E0F98F8275830012011260037F00E4
+:10168000220F80E07F0122904E4AEBF0A3EAF0A304
+:10169000E9F0E4FF904E50E0FEEFC39E5030904ED4
+:1016A0004DE0FBA3E0FAA3E0F98F827583001201FD
+:1016B00012FE904E4AE0FBA3E0FAA3E0F98F827598
+:1016C00083001201126E60037F00220F80C67F012B
+:1016D00022E4FEEFC394E04020EFD394E7501A9049
+:1016E0004E43E0FEEF5407FF7401A807088002C3D1
+:1016F00033D8FC4E904E43F022E4FE74442EF58223
+:10170000E4344EF583E0FD6F601CED7014904DE7FE
+:10171000E06F601274442EF582E4344EF583EFF0EE
+:10172000220EEEB406D522E4FEFDEF54F064F06024
+:1017300007EF54D0FCBCD00C904DE8E0B4020B7421
+:1017400003F08006904DD97401F0EFC394E040217E
+:10175000EFD394E7501B904E43E0FEEF5407FF7425
+:1017600001A807088002C333D8FCF45E904E43F012
+:1017700022E4FEED702174442EF582E4344EF583AC
+:10178000E06F7047EEB4050B2444F582E4344EF567
+:1017900083E4F07D01803474442EF582E4344EF508
+:1017A00083E0FC74432EF582E4344EF583ECF07450
+:1017B000442EF582E4344EF583E06014EEB4050B5C
+:1017C0002444F582E4344EF583E4F00EEEB406A32F
+:1017D00022E4904E98F0F0904E98E0FFC3940850A9
+:1017E0000DC205121E2E904E98E004F080E922E40E
+:1017F000FF904E72F0FEFDA3F0A3F0A3F0EF900275
+:101800002593607DEF93FD131313541FFEED5407D2
+:10181000FD7401A805088002C333D8FCFDEE2478CE
+:10182000FBE434808B82F583E0FCEDF4FBEC5BF0B1
+:10183000EE2470F582E43480F583E04DF0EE2474FC
+:10184000F582E43480F583E05BF090811CE0F4FCE9
+:1018500074BC2FF582E4344DF583ECF0EE2478FB74
+:10186000E434808B82F583E04DF0EE2470FBE434A9
+:10187000808B82F583E0FCEDF4FBEC5BF00F02174C
+:10188000FDE4FFEF90022593607CEF93FD131313AB
+:10189000541FFEED5407FD7401A805088002C333F0
+:1018A000D8FCFDEE2478FBE434808B82F583E0FCE9
+:1018B000EDF4FBEC5BF0EE2470F582E43480F5830C
+:1018C000E04DF0EE2474F582E43480F583E05BF0C3
+:1018D00090811CE0F4FC74A82FF582E4344DF5836C
+:1018E000ECF0EE2478FBE434808B82F583E04DF05D
+:1018F000EE2470FBE434808B82F583E0FCEDF4FB96
+:10190000EC5BF00F0183E4FFEF90022593604074DD
+:10191000BC2FF582E4344DF583E0FE74A82FF582E8
+:10192000E4344DF583E06E602374BC2FF582E4341B
+:101930004DF583C083C082E0FE74A82FF582E434A5
+:101940004DF583E0FDEE5DD082D083F00F80B922AB
+:10195000C2017F1F020328904CEAE0600214F0905D
+:101960004CEFE0600214F0904CFAE0600B14F0E0F1
+:101970007006904CF47406F0904CE5E0601F904CBB
+:10198000EEE06006E4904CE5F022904CE5E014F0C7
+:101990001207EE904CE5E070123150800E904CEE44
+:1019A000E07008904CE2E0600214F0904DD6E070D8
+:1019B0002D904DD7E064017025F0904DE9E0600D69
+:1019C0007B017A4D79E97D03120B5080119048001C
+:1019D000E0600B7B017A4879007D09120B50904D35
+:1019E000E0E06003E014F022904DE5E0640270371F
+:1019F000904CE9E07031904CD5E0B4020302066EE1
+:101A0000904CD5E0B40113904CF7E0701A904CE282
+:101A1000740AF0904CF77401F022904CF7E0B40196
+:101A200006E4F0904CE2F022120EAD5145904CEBE2
+:101A30007401F0904CE5741EF0E4904CF0F0904D81
+:101A40000774FFF022229080107401F080FE228043
+:101A5000F5904E92EDF0900001120112904E93F02D
+:101A600022904CC5E0B40311904CE3E06404700490
+:101A7000A3E064B0702802066E904CC5E0B4010F7C
+:101A8000904CE3E07004A3E06428701202066E90AC
+:101A90004CE3E07004A3E06414700312066E22129B
+:101AA00002E8904CE4E004F07006904CE3E004F0AF
+:101AB00051D65161120689904CEEE06018E4904CCA
+:101AC000E3F0A3F0904CEEE014F0E070087F0A120F
+:101AD000057912066E22222202090F904E76EEF050
+:101AE000A3EFF0904E78ECF0A3EDF0904E78E0FE8E
+:101AF000A3E0FFD3904E77E09F904E76E09E401695
+:101B0000904E78E0FEA3E0FF904E77E09FFF904E6E
+:101B100076E09EFE801E904E76E0FEA3E0FFC3902E
+:101B20004E79E09FFF904E78E09EFEAD03C3EB9FA1
+:101B3000FFE49EFE22904E94EEF0A3EFF0A90590F4
+:101B40004B9EE0FEA3E0FFAD0119ED602F0FEFAC5F
+:101B50000670010E14F5828C83E0FD904E94E475BE
+:101B6000F00112016785F082F583EDF0AD07AC0658
+:101B7000BC4BD4BD9AD17E4B7F3680CB904B9EEE32
+:101B8000F0A3EFF0227A0C794B904E847401F0A30D
+:101B9000740CF0A3744BF0904BA0E0FEA3E0FF9018
+:101BA0004B9EE06E7003A3E06F60467E0C7F4B7D22
+:101BB000037135904E84E0FBA3E0FAA3E0F9120034
+:101BC000F9B4022B904E85E475F002120151904E4B
+:101BD00084E0FBA3E0FAA3E0F91200F9FF904E05C0
+:101BE000E0A3E0FAA3E0F5828A83120181800280FB
+:101BF000FE904BA5E0FEA3E0FF904C5EE06E70030C
+:101C0000A3E06F6022904E0BE0FBA3E0FAA3E0F9A3
+:101C10004A603712017D904BA5E0FFA3E0904C5E37
+:101C2000CFF0A3EFF080CA904C8DE0FFA3E06F608F
+:101C300019904E0EE0FBA3E0FAA3E0F94A600B1204
+:101C4000017D904C8DE0A3F080DD22904E9CEDF064
+:101C5000E0FD900BE8F07E0B7FE9904E63EDF01213
+:101C600005397B017A0B79E7904E9CE02402FD0256
+:101C70000752900BE77406F080D1900446E0FF22F3
+:101C8000900B7F7401F0E4900B7EF022904B9CE06F
+:101C9000FEA3E0FF904B9AE0B50607A3E0B507026C
+:101CA000D322C3229082807401F022904E3BEBF04D
+:101CB000A3EAF0A3E9F0904E4174FFF5F01201673A
+:101CC00045F0602A904E3EE0FBA3E475F00112015E
+:101CD00067A9F0FA1200F9FF904E3BE0FBA3E47510
+:101CE000F001120167A9F0FAEF12013F80C82290BB
+:101CF0004E51EEF0A3EFF0904E55EBF0A3EAF0A3B7
+:101D0000E9F0904E53ECF0A3EDF0A3E0F9A3E0FA74
+:101D1000A3E0904E3EC9F0A3EAF0A3E9F0A3ECF0F3
+:101D2000A3EDF07B017A0B798691AB900B8374A0C5
+:101D3000F0904E51E0FFA3E0900B84CFF0A3EFF0C2
+:101D4000904E54E02403FD904E53E03400FCEDFA35
+:101D5000ECFFEAFEEF908098EEF0A3EFF07A0B79BB
+:101D6000837E0B7F837483FC740BFFECFEEFA3EE8A
+:101D7000F0A3EFF090809EE4F0A3F090809004F048
+:101D8000908006E04404F090812CE030E5F9229048
+:101D90004E8AEBF0A3EAF0A3E9F0ED1DAE0470016A
+:101DA0001C4E6017904E8AE0FBA3E475F00112010F
+:101DB00067A9F0FA74FF12013F80DF22904E8DEB8D
+:101DC000F0A3EAF0A3E9F0E4FEFDEF5407FEEF1301
+:101DD00013135403FD300022904E8DE0FBA3E0FA74
+:101DE000A3E02DF9E43AFA1200F9FF7401A80608FD
+:101DF0008002C333D8FC4F02013F904E8DE0FBA31D
+:101E0000E0FAA3E02DF9E43AFA1200F9FF7401A810
+:101E100006088002C333D8FCF45F02013FEFF46090
+:101E20000C7B017A807978A2029200B1BC22AC07C7
+:101E3000ECF46017AF04A2059203D14CAF04A205E5
+:101E4000B39202D11DAF04C204D15D22EFF4600C45
+:101E50007B017A80797CA2039200B1BC22EFF4600E
+:101E60000C7B017A807970A2049200B1BC22EFF45D
+:101E7000603AEF5407FEEF1313135403FF24A3F546
+:101E800082E43400F583C083C082E0FD7401A806BB
+:101E9000088002C333D8FCF4FC5DD082D083F07498
+:101EA000A72FF582E43400F583E05CF022E4FFEF35
+:101EB000FD7C002478FBEC34808B82F583E0FEED22
+:101EC0002470FDEC34808D82F583E04EF4FEEF2427
+:101ED0007CFDEC34808D82F583EEF00FEFB404CFFF
+:011EE00022DF
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/fwram.rom	(revision 327)
+++ /YJX_KB_Project/1026_KB/S_KB_304_F1_F12/c51/output/fwram.rom	(working copy)
@@ -398,8 +398,8 @@
 01
 ca
 02
-1b
-2c
+1a
+d8
 e4
 93
 a3
@@ -536,16 +536,16 @@
 00
 ff
 1a
-f3
+9f
 ff
 19
-ab
+57
 00
 00
 00
 ff
 1a
-a5
+51
 00
 1a
 08
@@ -821,8 +821,8 @@
 92
 00
 12
-17
-e3
+1d
+bc
 22
 90
 4e
@@ -837,7 +837,7 @@
 74
 12
 0f
-c1
+c7
 92
 09
 90
@@ -864,7 +864,7 @@
 04
 12
 1e
-10
+5d
 af
 04
 a2
@@ -878,8 +878,8 @@
 c2
 02
 12
-17
-c1
+1e
+1d
 22
 c2
 06
@@ -931,7 +931,7 @@
 7f
 12
 1a
-7c
+28
 7b
 01
 7a
@@ -1015,7 +1015,7 @@
 e4
 90
 4c
-fd
+fe
 f0
 22
 90
@@ -1306,7 +1306,7 @@
 f0
 12
 1d
-db
+87
 90
 4e
 6b
@@ -1612,7 +1612,7 @@
 f0
 12
 17
-85
+d1
 e4
 90
 4e
@@ -1633,8 +1633,8 @@
 c2
 05
 12
-17
-a2
+1e
+2e
 90
 4e
 99
@@ -1654,7 +1654,7 @@
 f0
 90
 4c
-fd
+fe
 74
 01
 f0
@@ -1920,8 +1920,8 @@
 7b
 64
 12
-1b
-2f
+1a
+db
 90
 4e
 5b
@@ -2278,8 +2278,8 @@
 e0
 f9
 12
-1d
-43
+1c
+ef
 7f
 0a
 12
@@ -2318,17 +2318,17 @@
 77
 22
 f1
-a8
+ae
 12
 1b
-d9
+85
 51
 95
 11
 2a
 12
-1a
-3c
+19
+e8
 90
 0b
 7e
@@ -2369,7 +2369,7 @@
 05
 12
 1c
-d4
+80
 80
 cb
 31
@@ -2471,7 +2471,7 @@
 b0
 12
 1e
-61
+ad
 90
 81
 1c
@@ -2540,7 +2540,7 @@
 ef
 f0
 f1
-bb
+c1
 92
 08
 90
@@ -2723,7 +2723,7 @@
 05
 02
 e1
-38
+3e
 90
 4c
 f4
@@ -2857,7 +2857,7 @@
 7c
 00
 d1
-7b
+81
 90
 48
 00
@@ -3089,7 +3089,7 @@
 fd
 12
 1c
-c6
+72
 22
 90
 4e
@@ -3157,7 +3157,7 @@
 70
 02
 c1
-7a
+80
 90
 4e
 68
@@ -3187,7 +3187,7 @@
 70
 02
 c1
-7a
+80
 90
 4d
 e0
@@ -3253,7 +3253,7 @@
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -3265,7 +3265,7 @@
 7c
 00
 d1
-7b
+81
 90
 4e
 64
@@ -3398,24 +3398,24 @@
 70
 02
 c1
-7a
+80
 ef
 64
 04
 70
 02
 c1
-7a
+80
 ef
 64
 02
 70
 02
 c1
-7a
+80
 12
 10
-1b
+21
 90
 4d
 e8
@@ -3510,7 +3510,7 @@
 7c
 00
 d1
-7b
+81
 90
 48
 00
@@ -3541,12 +3541,18 @@
 e0
 b4
 03
-10
+16
 90
 4c
 f9
 e0
 70
+10
+90
+4c
+fb
+e0
+60
 0a
 90
 4c
@@ -3756,11 +3762,11 @@
 79
 bf
 7d
-48
+49
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -3772,7 +3778,7 @@
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -3784,7 +3790,7 @@
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -3796,7 +3802,7 @@
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -3808,7 +3814,7 @@
 7c
 00
 d1
-7b
+81
 7b
 01
 7a
@@ -3820,7 +3826,7 @@
 7c
 00
 d1
-7b
+81
 e4
 90
 4d
@@ -3905,12 +3911,12 @@
 f0
 12
 1c
-e0
+8c
 50
 25
 12
 14
-00
+4d
 90
 4e
 7e
@@ -3976,7 +3982,7 @@
 7c
 00
 d1
-7b
+81
 e4
 90
 4d
@@ -4147,7 +4153,7 @@
 40
 02
 41
-77
+7d
 90
 4e
 6e
@@ -4190,7 +4196,7 @@
 60
 02
 41
-6f
+75
 12
 00
 f9
@@ -4203,9 +4209,9 @@
 7e
 01
 11
-00
+06
 41
-44
+4a
 eb
 b4
 f2
@@ -4215,9 +4221,9 @@
 7e
 00
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -4253,9 +4259,9 @@
 7f
 b7
 11
-00
+06
 41
-44
+4a
 eb
 b4
 f4
@@ -4265,9 +4271,9 @@
 7e
 00
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -4303,9 +4309,9 @@
 7f
 b5
 11
-00
+06
 41
-44
+4a
 eb
 b4
 f6
@@ -4315,9 +4321,9 @@
 7e
 00
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -4353,9 +4359,9 @@
 7f
 e9
 11
-00
+06
 41
-44
+4a
 eb
 b4
 f8
@@ -4365,9 +4371,9 @@
 7e
 00
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -4404,9 +4410,9 @@
 94
 0e
 11
-00
+06
 41
-44
+4a
 eb
 b4
 fa
@@ -4416,9 +4422,9 @@
 7e
 01
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -4455,9 +4461,9 @@
 92
 0e
 11
-00
+06
 41
-44
+4a
 eb
 b4
 d0
@@ -4467,9 +4473,9 @@
 7e
 02
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -4507,9 +4513,9 @@
 7e
 02
 11
-00
+06
 41
-44
+4a
 eb
 b4
 d3
@@ -4519,9 +4525,9 @@
 7e
 02
 11
-00
+06
 41
-44
+4a
 90
 4e
 6e
@@ -4559,7 +4565,7 @@
 7e
 02
 11
-00
+06
 80
 70
 eb
@@ -4571,7 +4577,7 @@
 7e
 02
 11
-00
+06
 80
 64
 90
@@ -4611,7 +4617,7 @@
 7e
 02
 11
-00
+06
 80
 3c
 eb
@@ -4623,7 +4629,7 @@
 7e
 02
 11
-00
+06
 80
 30
 90
@@ -4661,7 +4667,7 @@
 7f
 70
 11
-00
+06
 80
 0a
 eb
@@ -4673,7 +4679,7 @@
 7e
 00
 11
-00
+06
 90
 4d
 e8
@@ -4724,7 +4730,7 @@
 04
 f0
 01
-2a
+30
 22
 90
 4c
@@ -4782,24 +4788,30 @@
 97
 ed
 f0
+e4
+90
+4c
+fb
+f0
+ed
 24
 d2
 70
 02
-61
-de
+81
+2b
 24
 db
 b4
-0f
+11
 00
 40
 02
-61
-fa
+81
+47
 90
 12
-cd
+d9
 75
 f0
 03
@@ -4812,50 +4824,56 @@
 83
 73
 02
-12
-fa
-02
 13
-ed
+0c
 02
-13
-fa
+14
+3a
+02
+14
+47
 02
 13
-6d
+8e
 02
 13
-af
+e5
+02
+14
+47
 02
 13
-fa
+f5
 02
 13
-fa
+fd
+02
+14
+14
 02
 13
-bf
+a0
 02
 13
-cf
+b7
 02
 13
-7f
+ce
 02
 13
-8f
+49
 02
 13
-9f
+60
 02
 13
-37
+77
 02
 13
-49
+f5
 02
 13
-5b
+f5
 ef
 30
 e0
@@ -4907,70 +4925,85 @@
 12
 08
 60
-61
-fa
+81
+47
 90
 4c
 f9
 74
 01
 f0
-61
-fa
+81
+47
 90
 4c
 f8
 e0
-64
+b4
 80
-60
-02
-61
-fa
+08
 90
 4e
 97
 74
 3a
 f0
-61
-fa
+81
+47
+90
+4c
+fb
+74
+01
+f0
+81
+47
 90
 4c
 f8
 e0
-64
+b4
 80
-60
-02
-61
-fa
+08
 90
 4e
 97
 74
 3b
 f0
-61
-fa
+81
+47
+90
+4c
+fb
+74
+01
+f0
+81
+47
 90
 4c
 f8
 e0
-64
+b4
 80
-60
-02
-61
-fa
+08
 90
 4e
 97
 74
 3c
 f0
-61
-fa
+81
+47
+90
+4c
+fb
+74
+01
+f0
+81
+47
 90
 4c
 f8
@@ -4979,56 +5012,69 @@
 80
 60
 02
-61
-fa
+81
+47
 90
 4e
 97
 74
 3d
 f0
-80
-7b
+81
+47
 90
 4c
 f8
 e0
-64
+b4
 80
-70
-73
+08
 90
 4e
 97
 74
 3e
 f0
-80
-6b
+81
+47
+90
+4c
+fb
+74
+01
+f0
+81
+47
 90
 4c
 f8
 e0
-64
+b4
 80
-70
-63
+08
 90
 4e
 97
 74
 3f
 f0
+81
+47
+90
+4c
+fb
+74
+01
+f0
 80
-5b
+79
 90
 4c
 f8
 e0
-64
+b4
 80
-70
-53
+08
 90
 4e
 97
@@ -5036,7 +5082,15 @@
 40
 f0
 80
-4b
+6a
+90
+4c
+fb
+74
+01
+f0
+80
+62
 90
 4c
 f8
@@ -5044,7 +5098,7 @@
 64
 80
 70
-43
+5a
 90
 4e
 97
@@ -5052,15 +5106,22 @@
 41
 f0
 80
-3b
+52
+90
+4c
+fb
+74
+01
+f0
+80
+4a
 90
 4c
 f8
 e0
-64
+b4
 80
-70
-33
+08
 90
 4e
 97
@@ -5068,14 +5129,22 @@
 44
 f0
 80
-2b
+3b
+90
+4c
+fb
+74
+01
+f0
+80
+33
 90
 4c
 f8
 e0
 b4
 80
-24
+08
 90
 4e
 97
@@ -5083,6 +5152,14 @@
 45
 f0
 80
+24
+90
+4c
+fb
+74
+01
+f0
+80
 1c
 90
 4c
@@ -5147,9 +5224,8 @@
 f0
 a3
 f0
-12
-18
-44
+f1
+ef
 7a
 4d
 79
@@ -5179,7 +5255,7 @@
 79
 bc
 d1
-3b
+87
 ef
 60
 16
@@ -5192,7 +5268,7 @@
 7d
 14
 d1
-0b
+57
 ef
 70
 09
@@ -5266,8 +5342,8 @@
 f0
 af
 05
-b1
-fd
+d1
+49
 a3
 e0
 2f
@@ -5301,8 +5377,8 @@
 2c
 e0
 ff
-b1
-fd
+d1
+49
 90
 4e
 30
@@ -5370,8 +5446,8 @@
 93
 70
 02
-a1
-d1
+c1
+1d
 74
 93
 2f
@@ -5425,10 +5501,10 @@
 e0
 70
 04
-a1
-c9
-a1
-c9
+c1
+15
+c1
+15
 90
 4e
 2f
@@ -5516,7 +5592,7 @@
 93
 fd
 51
-9d
+a3
 90
 4e
 2e
@@ -5535,7 +5611,7 @@
 e0
 ff
 d1
-85
+d1
 80
 07
 90
@@ -5543,8 +5619,8 @@
 2e
 e0
 ff
-d1
-db
+f1
+27
 90
 4e
 27
@@ -5581,8 +5657,8 @@
 e0
 04
 f0
-81
-f1
+a1
+3d
 90
 4d
 e8
@@ -6011,205 +6087,44 @@
 4e
 f5
 83
-e4
-f0
-0e
-ee
-b4
-06
-a3
-22
-e4
-90
-4e
-98
-f0
-f0
-90
-4e
-98
-e0
-ff
-c3
-94
-08
-50
-0c
-c2
-05
-f1
-a2
-90
-4e
-98
-e0
-04
-f0
-80
-ea
-22
-ac
-07
-ec
-f4
-60
-18
-af
-04
-a2
-05
-92
-03
-f1
-d2
-af
-04
-a2
-05
-b3
-92
-02
-f1
-c1
-af
-04
-c2
-04
-12
-1e
-10
-22
-ef
-f4
-60
-0c
-7b
-01
-7a
-80
-79
-78
-a2
-02
-92
-00
-f1
-e3
-22
-ef
-f4
-60
-0c
-7b
-01
-7a
-80
-79
-7c
-a2
-03
-92
-00
-f1
-e3
-22
-90
-4e
-8d
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-e4
-fe
-fd
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
-03
-fd
-30
-00
-22
-90
-4e
-8d
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-00
-f9
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-4f
-02
-01
-3f
+e4
+f0
+0e
+ee
+b4
+06
+a3
+22
+e4
 90
 4e
-8d
-e0
-fb
-a3
-e0
-fa
-a3
+98
+f0
+f0
+90
+4e
+98
 e0
-2d
-f9
-e4
-3a
-fa
-12
-00
-f9
 ff
-74
-01
-a8
-06
+c3
+94
 08
+50
+0d
+c2
+05
+12
+1e
+2e
+90
+4e
+98
+e0
+04
+f0
 80
-02
-c3
-33
-d8
-fc
-f4
-5f
-02
-01
-3f
+e9
+22
 e4
 ff
 90
@@ -6230,7 +6145,7 @@
 25
 93
 60
-7c
+7d
 ef
 93
 fd
@@ -6353,8 +6268,9 @@
 5b
 f0
 0f
-01
-52
+02
+17
+fd
 e4
 ff
 ef
@@ -6487,7 +6403,7 @@
 f0
 0f
 01
-d7
+83
 e4
 ff
 ef
@@ -6636,7 +6552,7 @@
 70
 12
 31
-a4
+50
 80
 0e
 90
@@ -6780,9 +6696,9 @@
 22
 12
 0e
-a7
+ad
 51
-99
+45
 90
 4c
 eb
@@ -6802,7 +6718,7 @@
 f0
 90
 4d
-06
+07
 74
 ff
 f0
@@ -6914,10 +6830,10 @@
 e0
 04
 f0
-71
-2a
 51
-b5
+d6
+51
+61
 12
 06
 89
@@ -7172,7 +7088,7 @@
 7d
 03
 71
-89
+35
 90
 4e
 84
@@ -7548,7 +7464,7 @@
 79
 86
 91
-ff
+ab
 90
 0b
 83
@@ -7694,10 +7610,171 @@
 80
 df
 22
+90
+4e
+8d
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+e4
+fe
+fd
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
+03
+fd
+30
+00
+22
+90
+4e
+8d
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+00
+f9
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+4f
+02
+01
+3f
+90
+4e
+8d
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+00
+f9
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5f
+02
+01
+3f
+ef
+f4
+60
+0c
+7b
+01
+7a
+80
+79
+78
+a2
+02
+92
+00
+b1
+bc
+22
+ac
+07
+ec
+f4
+60
+17
+af
+04
+a2
+05
+92
+03
+d1
+4c
+af
+04
+a2
+05
+b3
+92
+02
+d1
+1d
+af
+04
+c2
+04
+d1
+5d
+22
 ef
 f4
 60
-0d
+0c
+7b
+01
+7a
+80
+79
+7c
+a2
+03
+92
+00
+b1
+bc
+22
+ef
+f4
+60
+0c
 7b
 01
 7a
@@ -7708,9 +7785,8 @@
 04
 92
 00
-12
-17
-e3
+b1
+bc
 22
 ef
 f4
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
