Index: c51/adc.h
===================================================================
--- /YJX_KB_Project/1026_KB/CK230/c51/adc.h	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/adc.h	(working copy)
@@ -26,8 +26,8 @@
 
 // battery to gpio R = 1M
 //#define LOW_BATTER_COEFFICIENT_1V1   	0.33
-#define LOW_BATTER_COEFFICIENT_1V0       1.0
-#define LOW_BATTER_COEFFICIENT_0V9	0.77
+#define LOW_BATTER_COEFFICIENT_1V0       0.23
+#define LOW_BATTER_COEFFICIENT_0V9	0.14
 
 #define LOW_BATTER_COEFFICIENT_2V2   	0.74
 #define LOW_BATTER_COEFFICIENT_2V0       0.67
Index: c51/bluetooth.c
===================================================================
--- /YJX_KB_Project/1026_KB/CK230/c51/bluetooth.c	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/bluetooth.c	(working copy)
@@ -77,11 +77,9 @@
 			return;
 		#endif
 
-		GPIO_Setout(EEPROM_WP_GPIO,0);
 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
 		IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
 		IIC_WriteBlock(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
-		GPIO_Setout(EEPROM_WP_GPIO,1);
 		Delay1ms(10);
 		g_variable.update_eeprom_flag = 0;
 	}
Index: c51/kb_process.h
===================================================================
--- /YJX_KB_Project/1026_KB/CK230/c51/kb_process.h	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/kb_process.h	(working copy)
@@ -32,8 +32,7 @@
 #define NUM_LOCK_LED_GPIO    	15
 #define CAPS_LED_GPIO		  	30
 
-#define EEPROM_WP_GPIO			0xff
-#define BT_LED_GPIO		  		0xff
+
 #define LOWPOWER_LED_GPIO		29
 #define G24_LED_GPIO				29
 
Index: c51/keyscan.h
===================================================================
--- /YJX_KB_Project/1026_KB/CK230/c51/keyscan.h	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/keyscan.h	(working copy)
@@ -56,6 +56,6 @@
 
 void KS_Unistall();
 
-
+void GPIO_fillpu();
 #endif
  
\ No newline at end of file
Index: c51/keyscan.c
===================================================================
--- /YJX_KB_Project/1026_KB/CK230/c51/keyscan.c	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/keyscan.c	(working copy)
@@ -226,7 +226,7 @@
 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
 	}
 	
-	GPIO_fillpd();
+	GPIO_fillpu();
 	
 	temp = REG_GPIO_IN(0);
 	//if (g_variable.battery_status != 2)
@@ -256,7 +256,12 @@
 	//}
 }
 
-
+void GPIO_fillpu()
+{
+	byte i;
+	for(i = 0;i < 4;i++)
+		REG_GPIO_PUP(i) = ~(REG_GPIO_OE(i) | REG_GPIO_PDN(i));
+}
 void KS_ScanMatrix()
 {
 	byte i = 0;
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/CK230/c51/output/FW.COD	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               02/18/2022  15:19:32  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               04/11/2022  17:20:09  PAGE 1
 
 
 
@@ -1129,7 +1129,7 @@
 000B38 A3                INC     DPTR
 000B39 E0                MOVX    A,@DPTR
 000B3A F9                MOV     R1,A
-000B3B 121816            LCALL   _kb_multikey_setup
+000B3B 12181F            LCALL   _kb_multikey_setup
   317: 	
   318: 	if (mult_key_status == KEY_MULIT_PRESS) 
 000B3E 904DE7            MOV     DPTR,#mult_key_status
@@ -1727,7 +1727,7 @@
 000DFE         ?C0037?KB_PROCESS:
   179: 		return;
   180: 	pEvt = KS_GetCurrentEvt();
-000DFE 121C41            LCALL   KS_GetCurrentEvt
+000DFE 121C47            LCALL   KS_GetCurrentEvt
 000E01 904E7B            MOV     DPTR,#pEvt
 000E04 EB                MOV     A,R3
 000E05 F0                MOVX    @DPTR,A
@@ -1895,7 +1895,7 @@
 000EB4 E0                MOVX    A,@DPTR
 000EB5 FD                MOV     R5,A
 000EB6 7B64              MOV     R3,#064H
-000EB8 1224AA            LCALL   _bufsize
+000EB8 1224A4            LCALL   _bufsize
 000EBB 904E57            MOV     DPTR,#len
 000EBE E0                MOVX    A,@DPTR
 000EBF FE                MOV     R6,A
@@ -2713,7 +2713,7 @@
    51: 	YC_adc_init();
 00126B 120CAA            LCALL   System_clear_mem
    52: 	g_variable.release_data =1;
-00126E 1222E8            LCALL   YC_adc_init
+00126E 1222D7            LCALL   YC_adc_init
    53: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
 001271 904CEE            MOV     DPTR,#g_variable+02FH
 001274 7401              MOV     A,#01H
@@ -2792,7 +2792,7 @@
 0012C5 7B01              MOV     R3,#01H
 0012C7 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
 0012C9 7986              MOV     R1,#LOW IIC_TempBuff+03H
-0012CB 122561            LCALL   _dmemcpy
+0012CB 12255B            LCALL   _dmemcpy
 0012CE 900B83            MOV     DPTR,#IIC_TempBuff
 0012D1 74A0              MOV     A,#0A0H
 0012D3 F0                MOVX    @DPTR,A
@@ -3006,7 +3006,7 @@
    74: 	{
 0013DA 904CBF            MOV     DPTR,#g_variable
 0013DD E0                MOVX    A,@DPTR
-0013DE 605D              JZ      ?C0017?BLUETOOTH
+0013DE 604F              JZ      ?C0017?BLUETOOTH
    75: 		#ifdef  ADC_ENABLE
    76: 		if(m_adcCurrentValue < g_variable.battery_level_shutdown)
 0013E0 904CE0            MOV     DPTR,#g_variable+021H
@@ -3022,57 +3022,49 @@
 0013EE 904C95            MOV     DPTR,#m_adcCurrentValue
 0013F1 E0                MOVX    A,@DPTR
 0013F2 9E                SUBB    A,R6
-0013F3 4048              JC      ?C0017?BLUETOOTH
+0013F3 403A              JC      ?C0017?BLUETOOTH
 0013F5         ?C0016?BLUETOOTH:
    77: 			return;
    78: 		#endif
    79: 
-   80: 		GPIO_Setout(EEPROM_WP_GPIO,0);
-0013F5 C201              CLR     ?_GPIO_Setout?BIT
-0013F7 7FFF              MOV     R7,#0FFH
-0013F9 12077D            LCALL   _GPIO_Setout
-   81: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-0013FC 7B01              MOV     R3,#01H
-0013FE 7A4C              MOV     R2,#HIGH m_24g_addr
-001400 7900              MOV     R1,#LOW m_24g_addr
-001402 7D04              MOV     R5,#04H
-001404 7C00              MOV     R4,#00H
-001406 7FF2              MOV     R7,#0F2H
-001408 7E3F              MOV     R6,#03FH
-00140A 712C              ACALL   _IIC_WriteBlock
-   82: 		IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-00140C 7B01              MOV     R3,#01H
-00140E 7A4C              MOV     R2,#HIGH g_variable+02H
-001410 79C1              MOV     R1,#LOW g_variable+02H
-001412 7D01              MOV     R5,#01H
-001414 7C00              MOV     R4,#00H
-001416 7FF8              MOV     R7,#0F8H
-001418 7E3F              MOV     R6,#03FH
-00141A 712C              ACALL   _IIC_WriteBlock
-   83: 		IIC_WriteBlock(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
-00141C 7B01              MOV     R3,#01H
-00141E 7A4D              MOV     R2,#HIGH fn_lock_flag
-001420 79E0              MOV     R1,#LOW fn_lock_flag
-001422 7D01              MOV     R5,#01H
-001424 7C00              MOV     R4,#00H
-001426 7FF9              MOV     R7,#0F9H
-001428 7E3F              MOV     R6,#03FH
-00142A 712C              ACALL   _IIC_WriteBlock
-   84: 		GPIO_Setout(EEPROM_WP_GPIO,1);
-00142C D201              SETB    ?_GPIO_Setout?BIT
-00142E 7FFF              MOV     R7,#0FFH
-001430 12077D            LCALL   _GPIO_Setout
-   85: 		Delay1ms(10);
-001433 7F0A              MOV     R7,#0AH
-001435 120FDC            LCALL   _Delay1ms
-   86: 		g_variable.update_eeprom_flag = 0;
-001438 E4                CLR     A
-001439 904CBF            MOV     DPTR,#g_variable
-00143C F0                MOVX    @DPTR,A
-   87: 	}
-   88: }
-00143D         ?C0017?BLUETOOTH:
-00143D 22                RET     
+   80: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+0013F5 7B01              MOV     R3,#01H
+0013F7 7A4C              MOV     R2,#HIGH m_24g_addr
+0013F9 7900              MOV     R1,#LOW m_24g_addr
+0013FB 7D04              MOV     R5,#04H
+0013FD 7C00              MOV     R4,#00H
+0013FF 7FF2              MOV     R7,#0F2H
+001401 7E3F              MOV     R6,#03FH
+001403 712C              ACALL   _IIC_WriteBlock
+   81: 		IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
+001405 7B01              MOV     R3,#01H
+001407 7A4C              MOV     R2,#HIGH g_variable+02H
+001409 79C1              MOV     R1,#LOW g_variable+02H
+00140B 7D01              MOV     R5,#01H
+00140D 7C00              MOV     R4,#00H
+00140F 7FF8              MOV     R7,#0F8H
+001411 7E3F              MOV     R6,#03FH
+001413 712C              ACALL   _IIC_WriteBlock
+   82: 		IIC_WriteBlock(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
+001415 7B01              MOV     R3,#01H
+001417 7A4D              MOV     R2,#HIGH fn_lock_flag
+001419 79E0              MOV     R1,#LOW fn_lock_flag
+00141B 7D01              MOV     R5,#01H
+00141D 7C00              MOV     R4,#00H
+00141F 7FF9              MOV     R7,#0F9H
+001421 7E3F              MOV     R6,#03FH
+001423 712C              ACALL   _IIC_WriteBlock
+   83: 		Delay1ms(10);
+001425 7F0A              MOV     R7,#0AH
+001427 120FDC            LCALL   _Delay1ms
+   84: 		g_variable.update_eeprom_flag = 0;
+00142A E4                CLR     A
+00142B 904CBF            MOV     DPTR,#g_variable
+00142E F0                MOVX    @DPTR,A
+   85: 	}
+   86: }
+00142F         ?C0017?BLUETOOTH:
+00142F 22                RET     
 ----- FUNCTION YC_update_eeprom_data (END) -------
 
 
@@ -3082,95 +3074,95 @@
   403: {
   404: 	kb_cb_init();
   405: 	while(1) {
-00143E B1E1              ACALL   kb_cb_init
-001440         ?C0078?SYS:
+001430 B1D4              ACALL   kb_cb_init
+001432         ?C0078?SYS:
   406: 		IPC_DealSingleStep();
   407: 		kb_need_keyscan();
-001440 D139              ACALL   IPC_DealSingleStep
+001432 D12C              ACALL   IPC_DealSingleStep
   408: 		YC_update_eeprom_data();
-001442 120D6E            LCALL   kb_need_keyscan
+001434 120D6E            LCALL   kb_need_keyscan
   409: 		LED_handle();
-001445 71DA              ACALL   YC_update_eeprom_data
+001437 71DA              ACALL   YC_update_eeprom_data
   410: 		
-001447 1206CF            LCALL   LED_handle
+001439 1206CF            LCALL   LED_handle
   411: 		switch (current_task) {
-00144A 900B7E            MOV     DPTR,#current_task
-00144D E0                MOVX    A,@DPTR
-00144E 14                DEC     A
-00144F 600D              JZ      ?C0084?SYS
-001451 24FE              ADD     A,#0FEH
-001453 70EB              JNZ     ?C0078?SYS
+00143C 900B7E            MOV     DPTR,#current_task
+00143F E0                MOVX    A,@DPTR
+001440 14                DEC     A
+001441 600D              JZ      ?C0084?SYS
+001443 24FE              ADD     A,#0FEH
+001445 70EB              JNZ     ?C0078?SYS
   412: 		case FIX_ENTER_HIBERNATE:
-001455         ?C0081?SYS:
+001447         ?C0081?SYS:
   413: 			KS_Unistall();
-001455 919C              ACALL   KS_Unistall
+001447 918E              ACALL   KS_Unistall
   414: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
   415: 			LED_all_shutdown();
-001457 12079F            LCALL   LED_all_shutdown
+001449 12079F            LCALL   LED_all_shutdown
   416: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-00145A B1D3              ACALL   IPC_WaitLpm
-00145C         ?C0082?SYS:
+00144C B1C6              ACALL   IPC_WaitLpm
+00144E         ?C0082?SYS:
   417: 			while(1);
-00145C 80FE              SJMP    ?C0082?SYS
+00144E 80FE              SJMP    ?C0082?SYS
   418: 			break;
   419: 			
   420: 		case FIX_ENTER_LPM:
-00145E         ?C0084?SYS:
+001450         ?C0084?SYS:
   421: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||g_variable.one_key_pres
 >> s_wait_release_timer
-00145E 904CED            MOV     DPTR,#g_variable+02EH
-001461 E0                MOVX    A,@DPTR
-001462 7012              JNZ     ?C0086?SYS
-001464 904CEF            MOV     DPTR,#g_variable+030H
-001467 E0                MOVX    A,@DPTR
-001468 700C              JNZ     ?C0086?SYS
-00146A 904CE5            MOV     DPTR,#g_variable+026H
-00146D E0                MOVX    A,@DPTR
-00146E 7006              JNZ     ?C0086?SYS
-001470 904CFB            MOV     DPTR,#g_variable+03CH
-001473 E0                MOVX    A,@DPTR
-001474 6004              JZ      ?C0085?SYS
-001476         ?C0086?SYS:
+001450 904CED            MOV     DPTR,#g_variable+02EH
+001453 E0                MOVX    A,@DPTR
+001454 7012              JNZ     ?C0086?SYS
+001456 904CEF            MOV     DPTR,#g_variable+030H
+001459 E0                MOVX    A,@DPTR
+00145A 700C              JNZ     ?C0086?SYS
+00145C 904CE5            MOV     DPTR,#g_variable+026H
+00145F E0                MOVX    A,@DPTR
+001460 7006              JNZ     ?C0086?SYS
+001462 904CFB            MOV     DPTR,#g_variable+03CH
+001465 E0                MOVX    A,@DPTR
+001466 6004              JZ      ?C0085?SYS
+001468         ?C0086?SYS:
   422: 			) 
   423: 			{
   424: 				IPC_AbandonLpm();
-001476 F102              ACALL   IPC_AbandonLpm
+001468 D1F5              ACALL   IPC_AbandonLpm
   425: 				break;
-001478 80C6              SJMP    ?C0078?SYS
+00146A 80C6              SJMP    ?C0078?SYS
   426: 			}
-00147A         ?C0085?SYS:
+00146C         ?C0085?SYS:
   427: 			else
   428: 			{
   429: 				KS_Unistall();
-00147A 919C              ACALL   KS_Unistall
+00146C 918E              ACALL   KS_Unistall
   430: 				if(m_24g_enter_hibernate[0] == 0xff && m_24g_enter_hibernate[1] == 0xff && m_24g_enter_hibernate[2] == 0xff &
 >> & m_24g_enter_hibernate[3] == 0xff)
-00147C 904D3D            MOV     DPTR,#m_24g_enter_hibernate
-00147F E0                MOVX    A,@DPTR
-001480 B4FF12            CJNE    A,#0FFH,?C0088?SYS
-001483 A3                INC     DPTR
-001484 E0                MOVX    A,@DPTR
-001485 B4FF0D            CJNE    A,#0FFH,?C0088?SYS
-001488 A3                INC     DPTR
-001489 E0                MOVX    A,@DPTR
-00148A B4FF08            CJNE    A,#0FFH,?C0088?SYS
-00148D A3                INC     DPTR
-00148E E0                MOVX    A,@DPTR
-00148F B4FF03            CJNE    A,#0FFH,?C0088?SYS
+00146E 904D3D            MOV     DPTR,#m_24g_enter_hibernate
+001471 E0                MOVX    A,@DPTR
+001472 B4FF12            CJNE    A,#0FFH,?C0088?SYS
+001475 A3                INC     DPTR
+001476 E0                MOVX    A,@DPTR
+001477 B4FF0D            CJNE    A,#0FFH,?C0088?SYS
+00147A A3                INC     DPTR
+00147B E0                MOVX    A,@DPTR
+00147C B4FF08            CJNE    A,#0FFH,?C0088?SYS
+00147F A3                INC     DPTR
+001480 E0                MOVX    A,@DPTR
+001481 B4FF03            CJNE    A,#0FFH,?C0088?SYS
   431: 				{
   432: 					LED_all_shutdown();
-001492 12079F            LCALL   LED_all_shutdown
+001484 12079F            LCALL   LED_all_shutdown
   433: 				}	
-001495         ?C0088?SYS:
+001487         ?C0088?SYS:
   434: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-001495 B1D3              ACALL   IPC_WaitLpm
+001487 B1C6              ACALL   IPC_WaitLpm
   435: 				break;
-001497 80A7              SJMP    ?C0078?SYS
+001489 80A7              SJMP    ?C0078?SYS
   436: 			}
   437: 		}
   438: 	}
-001499 80A5              SJMP    ?C0078?SYS
-00149B 22                RET     
+00148B 80A5              SJMP    ?C0078?SYS
+00148D 22                RET     
 ----- FUNCTION YC_System_Main (END) -------
 
 
@@ -3181,141 +3173,141 @@
   217: 	byte i = 0;
   218: 	byte temp = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-00149C E4                CLR     A
-00149D FF                MOV     R7,A
+00148E E4                CLR     A
+00148F FF                MOV     R7,A
   219: 	byte tgroup = 0;
-00149E 904E9A            MOV     DPTR,#temp
-0014A1 F0                MOVX    @DPTR,A
+001490 904E9A            MOV     DPTR,#temp
+001493 F0                MOVX    @DPTR,A
   220: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-0014A2 FE                MOV     R6,A
+001494 FE                MOV     R6,A
   221: 	for (i=0; col[i]!=0; i++) {
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-0014A3 FD                MOV     R5,A
+001495 FD                MOV     R5,A
   222: 		tgroup = col[i]  >> 3;
-0014A4         ?C0037?KEYSCAN:
-0014A4 EF                MOV     A,R7
-0014A5 90060C            MOV     DPTR,#col
-0014A8 93                MOVC    A,@A+DPTR
-0014A9 6049              JZ      ?C0038?KEYSCAN
+001496         ?C0037?KEYSCAN:
+001496 EF                MOV     A,R7
+001497 90060C            MOV     DPTR,#col
+00149A 93                MOVC    A,@A+DPTR
+00149B 6049              JZ      ?C0038?KEYSCAN
   223: 		tgpionum = 1 << (col[i] & 7);
-0014AB EF                MOV     A,R7
-0014AC 93                MOVC    A,@A+DPTR
-0014AD FD                MOV     R5,A
-0014AE 13                RRC     A
-0014AF 13                RRC     A
-0014B0 13                RRC     A
-0014B1 541F              ANL     A,#01FH
-0014B3 FE                MOV     R6,A
+00149D EF                MOV     A,R7
+00149E 93                MOVC    A,@A+DPTR
+00149F FD                MOV     R5,A
+0014A0 13                RRC     A
+0014A1 13                RRC     A
+0014A2 13                RRC     A
+0014A3 541F              ANL     A,#01FH
+0014A5 FE                MOV     R6,A
   224: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
-0014B4 ED                MOV     A,R5
-0014B5 5407              ANL     A,#07H
-0014B7 FD                MOV     R5,A
-0014B8 7401              MOV     A,#01H
-0014BA A805              MOV     R0,AR5
-0014BC 08                INC     R0
-0014BD 8002              SJMP    ?C0097?KEYSCAN
-0014BF         ?C0096?KEYSCAN:
-0014BF C3                CLR     C
-0014C0 33                RLC     A
-0014C1         ?C0097?KEYSCAN:
-0014C1 D8FC              DJNZ    R0,?C0096?KEYSCAN
-0014C3 FD                MOV     R5,A
+0014A6 ED                MOV     A,R5
+0014A7 5407              ANL     A,#07H
+0014A9 FD                MOV     R5,A
+0014AA 7401              MOV     A,#01H
+0014AC A805              MOV     R0,AR5
+0014AE 08                INC     R0
+0014AF 8002              SJMP    ?C0101?KEYSCAN
+0014B1         ?C0100?KEYSCAN:
+0014B1 C3                CLR     C
+0014B2 33                RLC     A
+0014B3         ?C0101?KEYSCAN:
+0014B3 D8FC              DJNZ    R0,?C0100?KEYSCAN
+0014B5 FD                MOV     R5,A
   225: 		REG_GPIO_OE(tgroup) |= tgpionum;
-0014C4 EE                MOV     A,R6
-0014C5 2478              ADD     A,#078H
-0014C7 FB                MOV     R3,A
-0014C8 E4                CLR     A
-0014C9 3480              ADDC    A,#080H
-0014CB 8B82              MOV     DPL,R3
-0014CD F583              MOV     DPH,A
-0014CF E0                MOVX    A,@DPTR
-0014D0 FC                MOV     R4,A
-0014D1 ED                MOV     A,R5
-0014D2 F4                CPL     A
-0014D3 FB                MOV     R3,A
-0014D4 EC                MOV     A,R4
-0014D5 5B                ANL     A,R3
-0014D6 F0                MOVX    @DPTR,A
+0014B6 EE                MOV     A,R6
+0014B7 2478              ADD     A,#078H
+0014B9 FB                MOV     R3,A
+0014BA E4                CLR     A
+0014BB 3480              ADDC    A,#080H
+0014BD 8B82              MOV     DPL,R3
+0014BF F583              MOV     DPH,A
+0014C1 E0                MOVX    A,@DPTR
+0014C2 FC                MOV     R4,A
+0014C3 ED                MOV     A,R5
+0014C4 F4                CPL     A
+0014C5 FB                MOV     R3,A
+0014C6 EC                MOV     A,R4
+0014C7 5B                ANL     A,R3
+0014C8 F0                MOVX    @DPTR,A
   226: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
-0014D7 EE                MOV     A,R6
-0014D8 2470              ADD     A,#070H
-0014DA F582              MOV     DPL,A
-0014DC E4                CLR     A
-0014DD 3480              ADDC    A,#080H
-0014DF F583              MOV     DPH,A
-0014E1 E0                MOVX    A,@DPTR
-0014E2 4D                ORL     A,R5
-0014E3 F0                MOVX    @DPTR,A
+0014C9 EE                MOV     A,R6
+0014CA 2470              ADD     A,#070H
+0014CC F582              MOV     DPL,A
+0014CE E4                CLR     A
+0014CF 3480              ADDC    A,#080H
+0014D1 F583              MOV     DPH,A
+0014D3 E0                MOVX    A,@DPTR
+0014D4 4D                ORL     A,R5
+0014D5 F0                MOVX    @DPTR,A
   227: 	}
-0014E4 EE                MOV     A,R6
-0014E5 2474              ADD     A,#074H
-0014E7 F582              MOV     DPL,A
-0014E9 E4                CLR     A
-0014EA 3480              ADDC    A,#080H
-0014EC F583              MOV     DPH,A
-0014EE E0                MOVX    A,@DPTR
-0014EF 5B                ANL     A,R3
-0014F0 F0                MOVX    @DPTR,A
+0014D6 EE                MOV     A,R6
+0014D7 2474              ADD     A,#074H
+0014D9 F582              MOV     DPL,A
+0014DB E4                CLR     A
+0014DC 3480              ADDC    A,#080H
+0014DE F583              MOV     DPH,A
+0014E0 E0                MOVX    A,@DPTR
+0014E1 5B                ANL     A,R3
+0014E2 F0                MOVX    @DPTR,A
   228: 	
-0014F1 0F                INC     R7
-0014F2 80B0              SJMP    ?C0037?KEYSCAN
-0014F4         ?C0038?KEYSCAN:
-  229: 	GPIO_fillpd();
-0014F4 F168              ACALL   GPIO_fillpd
+0014E3 0F                INC     R7
+0014E4 80B0              SJMP    ?C0037?KEYSCAN
+0014E6         ?C0038?KEYSCAN:
+  229: 	GPIO_fillpu();
+0014E6 12201B            LCALL   GPIO_fillpu
   230: 	
   231: 	temp = REG_GPIO_IN(0);
-0014F6 90811C            MOV     DPTR,#0811CH
-0014F9 E0                MOVX    A,@DPTR
-0014FA 904E9A            MOV     DPTR,#temp
-0014FD F0                MOVX    @DPTR,A
+0014E9 90811C            MOV     DPTR,#0811CH
+0014EC E0                MOVX    A,@DPTR
+0014ED 904E9A            MOV     DPTR,#temp
+0014F0 F0                MOVX    @DPTR,A
   232: 	//if (g_variable.battery_status != 2)
   233: 	{
   234: 		if(long_press_flag)
-0014FE 904DD5            MOV     DPTR,#long_press_flag
-001501 E0                MOVX    A,@DPTR
-001502 6020              JZ      ?C0040?KEYSCAN
+0014F1 904DD5            MOV     DPTR,#long_press_flag
+0014F4 E0                MOVX    A,@DPTR
+0014F5 6020              JZ      ?C0040?KEYSCAN
   235: 		{
   236: 			GPIO_SetWakeupByCurrentState(0);
-001504 E4                CLR     A
-001505 FF                MOV     R7,A
-001506 B134              ACALL   _GPIO_SetWakeupByCurrentState
+0014F7 E4                CLR     A
+0014F8 FF                MOV     R7,A
+0014F9 B127              ACALL   _GPIO_SetWakeupByCurrentState
   237: 			GPIO_SetWakeupByCurrentState(1);
-001508 7F01              MOV     R7,#01H
-00150A B134              ACALL   _GPIO_SetWakeupByCurrentState
+0014FB 7F01              MOV     R7,#01H
+0014FD B127              ACALL   _GPIO_SetWakeupByCurrentState
   238: 			GPIO_SetWakeupByCurrentState(2);
-00150C 7F02              MOV     R7,#02H
-00150E B134              ACALL   _GPIO_SetWakeupByCurrentState
+0014FF 7F02              MOV     R7,#02H
+001501 B127              ACALL   _GPIO_SetWakeupByCurrentState
   239: 			GPIO_SetWakeupByCurrentState(3);
-001510 7F03              MOV     R7,#03H
-001512 B134              ACALL   _GPIO_SetWakeupByCurrentState
+001503 7F03              MOV     R7,#03H
+001505 B127              ACALL   _GPIO_SetWakeupByCurrentState
   240: 			GPIO_SetWakeupByCurrentState(4);
-001514 7F04              MOV     R7,#04H
-001516 B134              ACALL   _GPIO_SetWakeupByCurrentState
+001507 7F04              MOV     R7,#04H
+001509 B127              ACALL   _GPIO_SetWakeupByCurrentState
   241: 			GPIO_SetWakeupByCurrentState(5);
-001518 7F05              MOV     R7,#05H
-00151A B134              ACALL   _GPIO_SetWakeupByCurrentState
+00150B 7F05              MOV     R7,#05H
+00150D B127              ACALL   _GPIO_SetWakeupByCurrentState
   242: 			GPIO_SetWakeupByCurrentState(6);
-00151C 7F06              MOV     R7,#06H
-00151E B134              ACALL   _GPIO_SetWakeupByCurrentState
+00150F 7F06              MOV     R7,#06H
+001511 B127              ACALL   _GPIO_SetWakeupByCurrentState
   243: 			GPIO_SetWakeupByCurrentState(7);
-001520 7F07              MOV     R7,#07H
-001522 8010              SJMP    _GPIO_SetWakeupByCurrentState
+001513 7F07              MOV     R7,#07H
+001515 8010              SJMP    _GPIO_SetWakeupByCurrentState
   244: 		}
-001524         ?C0040?KEYSCAN:
+001517         ?C0040?KEYSCAN:
   245: 		else
   246: 		{
   247: 			YC_GPIOWakeupL[0] = temp;
-001524 904E9A            MOV     DPTR,#temp
-001527 E0                MOVX    A,@DPTR
-001528 FF                MOV     R7,A
-001529 9000A3            MOV     DPTR,#YC_GPIOWakeupL
-00152C F0                MOVX    @DPTR,A
+001517 904E9A            MOV     DPTR,#temp
+00151A E0                MOVX    A,@DPTR
+00151B FF                MOV     R7,A
+00151C 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+00151F F0                MOVX    @DPTR,A
   248: 			YC_GPIOWakeupH[0] = ~temp;
-00152D EF                MOV     A,R7
-00152E F4                CPL     A
-00152F 9000A7            MOV     DPTR,#YC_GPIOWakeupH
-001532 F0                MOVX    @DPTR,A
+001520 EF                MOV     A,R7
+001521 F4                CPL     A
+001522 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+001525 F0                MOVX    @DPTR,A
   249: 		}
   250: 
   251: 	}
@@ -3325,144 +3317,144 @@
   255: 	//	YC_GPIOWakeupH[0] = 0;
   256: 	//}
   257: }
-001533 22                RET     
+001526 22                RET     
 ----- FUNCTION KS_Unistall (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (BEGIN) -----
-001534 904E9E            MOV     DPTR,#gpio_num
-001537 EF                MOV     A,R7
-001538 F0                MOVX    @DPTR,A
-001539 B1F4              ACALL   _GPIO_GetInputStatus
-00153B 9208              MOV     st,C
-00153D 904E9E            MOV     DPTR,#gpio_num
-001540 E0                MOVX    A,@DPTR
-001541 FF                MOV     R7,A
-001542 A208              MOV     C,st
-001544 B3                CPL     C
-001545 9207              MOV     ?_GPIO_SetWakeup?BIT,C
+001527 904E9E            MOV     DPTR,#gpio_num
+00152A EF                MOV     A,R7
+00152B F0                MOVX    @DPTR,A
+00152C B1E7              ACALL   _GPIO_GetInputStatus
+00152E 9208              MOV     st,C
+001530 904E9E            MOV     DPTR,#gpio_num
+001533 E0                MOVX    A,@DPTR
+001534 FF                MOV     R7,A
+001535 A208              MOV     C,st
+001537 B3                CPL     C
+001538 9207              MOV     ?_GPIO_SetWakeup?BIT,C
 ;----                  JMP     _GPIO_SetWakeup
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001547 EF                MOV     A,R7
-001548 F4                CPL     A
-001549 7002              JNZ     $ + 4H
-00154B A1D2              AJMP    ?C0019?GPIO
-00154D         ?C0018?GPIO:
-00154D EF                MOV     A,R7
-00154E 5407              ANL     A,#07H
-001550 FE                MOV     R6,A
+00153A EF                MOV     A,R7
+00153B F4                CPL     A
+00153C 7002              JNZ     $ + 4H
+00153E A1C5              AJMP    ?C0019?GPIO
+001540         ?C0018?GPIO:
+001540 EF                MOV     A,R7
+001541 5407              ANL     A,#07H
+001543 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-001551 EF                MOV     A,R7
-001552 13                RRC     A
-001553 13                RRC     A
-001554 13                RRC     A
-001555 5403              ANL     A,#03H
-001557 FF                MOV     R7,A
+001544 EF                MOV     A,R7
+001545 13                RRC     A
+001546 13                RRC     A
+001547 13                RRC     A
+001548 5403              ANL     A,#03H
+00154A FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-001558 300743            JNB     st,?C0020?GPIO
-00155B 24A3              ADD     A,#LOW YC_GPIOWakeupL
-00155D F582              MOV     DPL,A
-00155F E4                CLR     A
-001560 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-001562 F583              MOV     DPH,A
-001564 C083              PUSH    DPH
-001566 C082              PUSH    DPL
-001568 E0                MOVX    A,@DPTR
-001569 FD                MOV     R5,A
-00156A 7401              MOV     A,#01H
-00156C A806              MOV     R0,AR6
-00156E 08                INC     R0
-00156F 8002              SJMP    ?C0037?GPIO
-001571         ?C0036?GPIO:
-001571 C3                CLR     C
-001572 33                RLC     A
-001573         ?C0037?GPIO:
-001573 D8FC              DJNZ    R0,?C0036?GPIO
-001575 F4                CPL     A
-001576 5D                ANL     A,R5
-001577 D082              POP     DPL
-001579 D083              POP     DPH
-00157B F0                MOVX    @DPTR,A
-00157C 74A7              MOV     A,#LOW YC_GPIOWakeupH
-00157E 2F                ADD     A,R7
-00157F F582              MOV     DPL,A
-001581 E4                CLR     A
-001582 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-001584 F583              MOV     DPH,A
-001586 C083              PUSH    DPH
-001588 C082              PUSH    DPL
-00158A E0                MOVX    A,@DPTR
-00158B FF                MOV     R7,A
-00158C 7401              MOV     A,#01H
-00158E A806              MOV     R0,AR6
-001590 08                INC     R0
-001591 8002              SJMP    ?C0039?GPIO
-001593         ?C0038?GPIO:
-001593 C3                CLR     C
-001594 33                RLC     A
-001595         ?C0039?GPIO:
-001595 D8FC              DJNZ    R0,?C0038?GPIO
-001597 4F                ORL     A,R7
-001598 D082              POP     DPL
-00159A D083              POP     DPH
-00159C F0                MOVX    @DPTR,A
-00159D 22                RET     
-00159E         ?C0020?GPIO:
-00159E 74A3              MOV     A,#LOW YC_GPIOWakeupL
-0015A0 2F                ADD     A,R7
-0015A1 F582              MOV     DPL,A
-0015A3 E4                CLR     A
-0015A4 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-0015A6 F583              MOV     DPH,A
-0015A8 C083              PUSH    DPH
-0015AA C082              PUSH    DPL
-0015AC E0                MOVX    A,@DPTR
-0015AD FD                MOV     R5,A
-0015AE 7401              MOV     A,#01H
-0015B0 A806              MOV     R0,AR6
-0015B2 08                INC     R0
-0015B3 8002              SJMP    ?C0041?GPIO
-0015B5         ?C0040?GPIO:
-0015B5 C3                CLR     C
-0015B6 33                RLC     A
-0015B7         ?C0041?GPIO:
-0015B7 D8FC              DJNZ    R0,?C0040?GPIO
-0015B9 FC                MOV     R4,A
-0015BA 4D                ORL     A,R5
-0015BB D082              POP     DPL
-0015BD D083              POP     DPH
-0015BF F0                MOVX    @DPTR,A
-0015C0 74A7              MOV     A,#LOW YC_GPIOWakeupH
-0015C2 2F                ADD     A,R7
-0015C3 F582              MOV     DPL,A
-0015C5 E4                CLR     A
-0015C6 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-0015C8 F583              MOV     DPH,A
-0015CA E0                MOVX    A,@DPTR
-0015CB FF                MOV     R7,A
-0015CC EC                MOV     A,R4
-0015CD F4                CPL     A
-0015CE FE                MOV     R6,A
-0015CF EF                MOV     A,R7
-0015D0 5E                ANL     A,R6
-0015D1 F0                MOVX    @DPTR,A
-0015D2         ?C0019?GPIO:
-0015D2 22                RET     
+00154B 300743            JNB     st,?C0020?GPIO
+00154E 24A3              ADD     A,#LOW YC_GPIOWakeupL
+001550 F582              MOV     DPL,A
+001552 E4                CLR     A
+001553 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+001555 F583              MOV     DPH,A
+001557 C083              PUSH    DPH
+001559 C082              PUSH    DPL
+00155B E0                MOVX    A,@DPTR
+00155C FD                MOV     R5,A
+00155D 7401              MOV     A,#01H
+00155F A806              MOV     R0,AR6
+001561 08                INC     R0
+001562 8002              SJMP    ?C0037?GPIO
+001564         ?C0036?GPIO:
+001564 C3                CLR     C
+001565 33                RLC     A
+001566         ?C0037?GPIO:
+001566 D8FC              DJNZ    R0,?C0036?GPIO
+001568 F4                CPL     A
+001569 5D                ANL     A,R5
+00156A D082              POP     DPL
+00156C D083              POP     DPH
+00156E F0                MOVX    @DPTR,A
+00156F 74A7              MOV     A,#LOW YC_GPIOWakeupH
+001571 2F                ADD     A,R7
+001572 F582              MOV     DPL,A
+001574 E4                CLR     A
+001575 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+001577 F583              MOV     DPH,A
+001579 C083              PUSH    DPH
+00157B C082              PUSH    DPL
+00157D E0                MOVX    A,@DPTR
+00157E FF                MOV     R7,A
+00157F 7401              MOV     A,#01H
+001581 A806              MOV     R0,AR6
+001583 08                INC     R0
+001584 8002              SJMP    ?C0039?GPIO
+001586         ?C0038?GPIO:
+001586 C3                CLR     C
+001587 33                RLC     A
+001588         ?C0039?GPIO:
+001588 D8FC              DJNZ    R0,?C0038?GPIO
+00158A 4F                ORL     A,R7
+00158B D082              POP     DPL
+00158D D083              POP     DPH
+00158F F0                MOVX    @DPTR,A
+001590 22                RET     
+001591         ?C0020?GPIO:
+001591 74A3              MOV     A,#LOW YC_GPIOWakeupL
+001593 2F                ADD     A,R7
+001594 F582              MOV     DPL,A
+001596 E4                CLR     A
+001597 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+001599 F583              MOV     DPH,A
+00159B C083              PUSH    DPH
+00159D C082              PUSH    DPL
+00159F E0                MOVX    A,@DPTR
+0015A0 FD                MOV     R5,A
+0015A1 7401              MOV     A,#01H
+0015A3 A806              MOV     R0,AR6
+0015A5 08                INC     R0
+0015A6 8002              SJMP    ?C0041?GPIO
+0015A8         ?C0040?GPIO:
+0015A8 C3                CLR     C
+0015A9 33                RLC     A
+0015AA         ?C0041?GPIO:
+0015AA D8FC              DJNZ    R0,?C0040?GPIO
+0015AC FC                MOV     R4,A
+0015AD 4D                ORL     A,R5
+0015AE D082              POP     DPL
+0015B0 D083              POP     DPH
+0015B2 F0                MOVX    @DPTR,A
+0015B3 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0015B5 2F                ADD     A,R7
+0015B6 F582              MOV     DPL,A
+0015B8 E4                CLR     A
+0015B9 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0015BB F583              MOV     DPH,A
+0015BD E0                MOVX    A,@DPTR
+0015BE FF                MOV     R7,A
+0015BF EC                MOV     A,R4
+0015C0 F4                CPL     A
+0015C1 FE                MOV     R6,A
+0015C2 EF                MOV     A,R7
+0015C3 5E                ANL     A,R6
+0015C4 F0                MOVX    @DPTR,A
+0015C5         ?C0019?GPIO:
+0015C5 22                RET     
 ----- FUNCTION _GPIO_SetWakeup (END) -------
 
 
 ----- FUNCTION IPC_WaitLpm (BEGIN) -----
-0015D3 E4                CLR     A
-0015D4 900B7F            MOV     DPTR,#lpm_flag
-0015D7 F0                MOVX    @DPTR,A
-0015D8 900B7E            MOV     DPTR,#current_task
-0015DB F0                MOVX    @DPTR,A
-0015DC 7F01              MOV     R7,#01H
-0015DE 020FDC            LJMP    _Delay1ms
+0015C6 E4                CLR     A
+0015C7 900B7F            MOV     DPTR,#lpm_flag
+0015CA F0                MOVX    @DPTR,A
+0015CB 900B7E            MOV     DPTR,#current_task
+0015CE F0                MOVX    @DPTR,A
+0015CF 7F01              MOV     R7,#01H
+0015D1 020FDC            LJMP    _Delay1ms
 ----- FUNCTION IPC_WaitLpm (END) -------
 
 
@@ -3472,227 +3464,227 @@
   396: {
   397: 	IPC_Initialize(&cb);
   398: }
-0015E1 7B01              MOV     R3,#01H
-0015E3 7A4D              MOV     R2,#HIGH cb
-0015E5 79F1              MOV     R1,#LOW cb
+0015D4 7B01              MOV     R3,#01H
+0015D6 7A4D              MOV     R2,#HIGH cb
+0015D8 79F1              MOV     R1,#LOW cb
 ;----                  JMP     _IPC_Initialize
 ----- FUNCTION kb_cb_init (END) -------
 
 
 ----- FUNCTION _IPC_Initialize (BEGIN) -----
 ;---- Variable 'cb' assigned to Register 'R1/R2/R3' ----
-0015E7 7803              MOV     R0,#LOW ipcCb
-0015E9 7C4E              MOV     R4,#HIGH ipcCb
-0015EB 7D01              MOV     R5,#01H
-0015ED 7E00              MOV     R6,#00H
-0015EF 7F12              MOV     R7,#012H
-0015F1 020390            LJMP    ?C?COPY
+0015DA 7803              MOV     R0,#LOW ipcCb
+0015DC 7C4E              MOV     R4,#HIGH ipcCb
+0015DE 7D01              MOV     R5,#01H
+0015E0 7E00              MOV     R6,#00H
+0015E2 7F12              MOV     R7,#012H
+0015E4 020390            LJMP    ?C?COPY
 ----- FUNCTION _IPC_Initialize (END) -------
 
 
 ----- FUNCTION _GPIO_GetInputStatus (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0015F4 7B01              MOV     R3,#01H
-0015F6 7A81              MOV     R2,#081H
-0015F8 791C              MOV     R1,#01CH
+0015E7 7B01              MOV     R3,#01H
+0015E9 7A81              MOV     R2,#081H
+0015EB 791C              MOV     R1,#01CH
 ;----                  JMP     _gpioGetBit
 ----- FUNCTION _GPIO_GetInputStatus (END) -------
 
 
 ----- FUNCTION _gpioGetBit (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R5' ----
-0015FA AD07              MOV     R5,AR7
+0015ED AD07              MOV     R5,AR7
 ;---- Variable 'reg_base' assigned to Register 'R1/R2/R3' ----
-0015FC E4                CLR     A
-0015FD 904E9D            MOV     DPTR,#queue
-001600 F0                MOVX    @DPTR,A
+0015EF E4                CLR     A
+0015F0 904E9D            MOV     DPTR,#queue
+0015F3 F0                MOVX    @DPTR,A
 ;---- Variable 'group' assigned to Register 'R6' ----
-001601 FE                MOV     R6,A
-001602 EF                MOV     A,R7
-001603 5407              ANL     A,#07H
-001605 F0                MOVX    @DPTR,A
-001606 EF                MOV     A,R7
-001607 13                RRC     A
-001608 13                RRC     A
-001609 13                RRC     A
-00160A 5403              ANL     A,#03H
-00160C FE                MOV     R6,A
-00160D F582              MOV     DPL,A
-00160F 758300            MOV     DPH,#00H
-001612 1203CF            LCALL   ?C?CLDOPTR
-001615 FD                MOV     R5,A
-001616 33                RLC     A
-001617 95E0              SUBB    A,ACC
-001619 FC                MOV     R4,A
-00161A 904E9D            MOV     DPTR,#queue
-00161D E0                MOVX    A,@DPTR
-00161E FF                MOV     R7,A
-00161F 7401              MOV     A,#01H
-001621 7E00              MOV     R6,#00H
-001623 A807              MOV     R0,AR7
-001625 08                INC     R0
-001626 8005              SJMP    ?C0035?GPIO
-001628         ?C0034?GPIO:
-001628 C3                CLR     C
-001629 33                RLC     A
-00162A CE                XCH     A,R6
-00162B 33                RLC     A
-00162C CE                XCH     A,R6
-00162D         ?C0035?GPIO:
-00162D D8F9              DJNZ    R0,?C0034?GPIO
-00162F FF                MOV     R7,A
-001630 EE                MOV     A,R6
-001631 5C                ANL     A,R4
-001632 FE                MOV     R6,A
-001633 EF                MOV     A,R7
-001634 5D                ANL     A,R5
-001635 4E                ORL     A,R6
-001636 24FF              ADD     A,#0FFH
-001638 22                RET     
+0015F4 FE                MOV     R6,A
+0015F5 EF                MOV     A,R7
+0015F6 5407              ANL     A,#07H
+0015F8 F0                MOVX    @DPTR,A
+0015F9 EF                MOV     A,R7
+0015FA 13                RRC     A
+0015FB 13                RRC     A
+0015FC 13                RRC     A
+0015FD 5403              ANL     A,#03H
+0015FF FE                MOV     R6,A
+001600 F582              MOV     DPL,A
+001602 758300            MOV     DPH,#00H
+001605 1203CF            LCALL   ?C?CLDOPTR
+001608 FD                MOV     R5,A
+001609 33                RLC     A
+00160A 95E0              SUBB    A,ACC
+00160C FC                MOV     R4,A
+00160D 904E9D            MOV     DPTR,#queue
+001610 E0                MOVX    A,@DPTR
+001611 FF                MOV     R7,A
+001612 7401              MOV     A,#01H
+001614 7E00              MOV     R6,#00H
+001616 A807              MOV     R0,AR7
+001618 08                INC     R0
+001619 8005              SJMP    ?C0035?GPIO
+00161B         ?C0034?GPIO:
+00161B C3                CLR     C
+00161C 33                RLC     A
+00161D CE                XCH     A,R6
+00161E 33                RLC     A
+00161F CE                XCH     A,R6
+001620         ?C0035?GPIO:
+001620 D8F9              DJNZ    R0,?C0034?GPIO
+001622 FF                MOV     R7,A
+001623 EE                MOV     A,R6
+001624 5C                ANL     A,R4
+001625 FE                MOV     R6,A
+001626 EF                MOV     A,R7
+001627 5D                ANL     A,R5
+001628 4E                ORL     A,R6
+001629 24FF              ADD     A,#0FFH
+00162B 22                RET     
 ----- FUNCTION _gpioGetBit (END) -------
 
 
 ----- FUNCTION IPC_DealSingleStep (BEGIN) -----
-001639 7A0C              MOV     R2,#HIGH ipcReadBuff
-00163B 794B              MOV     R1,#LOW ipcReadBuff
-00163D 904E84            MOV     DPTR,#pbuff
-001640 7401              MOV     A,#01H
-001642 F0                MOVX    @DPTR,A
+00162C 7A0C              MOV     R2,#HIGH ipcReadBuff
+00162E 794B              MOV     R1,#LOW ipcReadBuff
+001630 904E84            MOV     DPTR,#pbuff
+001633 7401              MOV     A,#01H
+001635 F0                MOVX    @DPTR,A
+001636 A3                INC     DPTR
+001637 740C              MOV     A,#HIGH ipcReadBuff
+001639 F0                MOVX    @DPTR,A
+00163A A3                INC     DPTR
+00163B 744B              MOV     A,#LOW ipcReadBuff
+00163D F0                MOVX    @DPTR,A
+00163E 904BA0            MOV     DPTR,#ipcRxWritePtr
+001641 E0                MOVX    A,@DPTR
+001642 FE                MOV     R6,A
 001643 A3                INC     DPTR
-001644 740C              MOV     A,#HIGH ipcReadBuff
-001646 F0                MOVX    @DPTR,A
-001647 A3                INC     DPTR
-001648 744B              MOV     A,#LOW ipcReadBuff
-00164A F0                MOVX    @DPTR,A
-00164B 904BA0            MOV     DPTR,#ipcRxWritePtr
+001644 E0                MOVX    A,@DPTR
+001645 FF                MOV     R7,A
+001646 904B9E            MOV     DPTR,#ipcRxReadPtr
+001649 E0                MOVX    A,@DPTR
+00164A 6E                XRL     A,R6
+00164B 7003              JNZ     ?C0038?IPC
+00164D A3                INC     DPTR
 00164E E0                MOVX    A,@DPTR
-00164F FE                MOV     R6,A
-001650 A3                INC     DPTR
-001651 E0                MOVX    A,@DPTR
-001652 FF                MOV     R7,A
-001653 904B9E            MOV     DPTR,#ipcRxReadPtr
-001656 E0                MOVX    A,@DPTR
-001657 6E                XRL     A,R6
-001658 7003              JNZ     ?C0038?IPC
-00165A A3                INC     DPTR
-00165B E0                MOVX    A,@DPTR
-00165C 6F                XRL     A,R7
-00165D         ?C0038?IPC:
-00165D 6047              JZ      ?C0029?IPC
-00165F         ?C0023?IPC:
-00165F 7E0C              MOV     R6,#HIGH ipcReadBuff
-001661 7F4B              MOV     R7,#LOW ipcReadBuff
-001663 7D03              MOV     R5,#03H
-001665 122504            LCALL   _ipcRx
-001668 904E84            MOV     DPTR,#pbuff
-00166B E0                MOVX    A,@DPTR
-00166C FB                MOV     R3,A
-00166D A3                INC     DPTR
-00166E E0                MOVX    A,@DPTR
-00166F FA                MOV     R2,A
-001670 A3                INC     DPTR
-001671 E0                MOVX    A,@DPTR
-001672 F9                MOV     R1,A
-001673 1203B6            LCALL   ?C?CLDPTR
-001676 B4022B            CJNE    A,#02H,?C0027?IPC
-001679 904E85            MOV     DPTR,#pbuff+01H
-00167C E4                CLR     A
-00167D 75F002            MOV     B,#02H
-001680 12040E            LCALL   ?C?IILDX
-001683 904E84            MOV     DPTR,#pbuff
-001686 E0                MOVX    A,@DPTR
-001687 FB                MOV     R3,A
-001688 A3                INC     DPTR
-001689 E0                MOVX    A,@DPTR
-00168A FA                MOV     R2,A
-00168B A3                INC     DPTR
-00168C E0                MOVX    A,@DPTR
-00168D F9                MOV     R1,A
-00168E 1203B6            LCALL   ?C?CLDPTR
-001691 FF                MOV     R7,A
-001692 904E03            MOV     DPTR,#ipcCb
-001695 E0                MOVX    A,@DPTR
-001696 A3                INC     DPTR
-001697 E0                MOVX    A,@DPTR
-001698 FA                MOV     R2,A
-001699 A3                INC     DPTR
-00169A E0                MOVX    A,@DPTR
-00169B F582              MOV     DPL,A
-00169D 8A83              MOV     DPH,R2
-00169F 120568            LCALL   ?C?ICALL2
-0016A2 8002              SJMP    ?C0029?IPC
-0016A4         ?C0027?IPC:
-0016A4 80FE              SJMP    ?C0027?IPC
-0016A6         IPC_TIMER:
-0016A6         ?C0029?IPC:
-0016A6 904BA5            MOV     DPTR,#bttimer
+00164F 6F                XRL     A,R7
+001650         ?C0038?IPC:
+001650 6047              JZ      ?C0029?IPC
+001652         ?C0023?IPC:
+001652 7E0C              MOV     R6,#HIGH ipcReadBuff
+001654 7F4B              MOV     R7,#LOW ipcReadBuff
+001656 7D03              MOV     R5,#03H
+001658 1224FE            LCALL   _ipcRx
+00165B 904E84            MOV     DPTR,#pbuff
+00165E E0                MOVX    A,@DPTR
+00165F FB                MOV     R3,A
+001660 A3                INC     DPTR
+001661 E0                MOVX    A,@DPTR
+001662 FA                MOV     R2,A
+001663 A3                INC     DPTR
+001664 E0                MOVX    A,@DPTR
+001665 F9                MOV     R1,A
+001666 1203B6            LCALL   ?C?CLDPTR
+001669 B4022B            CJNE    A,#02H,?C0027?IPC
+00166C 904E85            MOV     DPTR,#pbuff+01H
+00166F E4                CLR     A
+001670 75F002            MOV     B,#02H
+001673 12040E            LCALL   ?C?IILDX
+001676 904E84            MOV     DPTR,#pbuff
+001679 E0                MOVX    A,@DPTR
+00167A FB                MOV     R3,A
+00167B A3                INC     DPTR
+00167C E0                MOVX    A,@DPTR
+00167D FA                MOV     R2,A
+00167E A3                INC     DPTR
+00167F E0                MOVX    A,@DPTR
+001680 F9                MOV     R1,A
+001681 1203B6            LCALL   ?C?CLDPTR
+001684 FF                MOV     R7,A
+001685 904E03            MOV     DPTR,#ipcCb
+001688 E0                MOVX    A,@DPTR
+001689 A3                INC     DPTR
+00168A E0                MOVX    A,@DPTR
+00168B FA                MOV     R2,A
+00168C A3                INC     DPTR
+00168D E0                MOVX    A,@DPTR
+00168E F582              MOV     DPL,A
+001690 8A83              MOV     DPH,R2
+001692 120568            LCALL   ?C?ICALL2
+001695 8002              SJMP    ?C0029?IPC
+001697         ?C0027?IPC:
+001697 80FE              SJMP    ?C0027?IPC
+001699         IPC_TIMER:
+001699         ?C0029?IPC:
+001699 904BA5            MOV     DPTR,#bttimer
+00169C E0                MOVX    A,@DPTR
+00169D FE                MOV     R6,A
+00169E A3                INC     DPTR
+00169F E0                MOVX    A,@DPTR
+0016A0 FF                MOV     R7,A
+0016A1 904C5E            MOV     DPTR,#c51timer
+0016A4 E0                MOVX    A,@DPTR
+0016A5 6E                XRL     A,R6
+0016A6 7003              JNZ     ?C0039?IPC
+0016A8 A3                INC     DPTR
 0016A9 E0                MOVX    A,@DPTR
-0016AA FE                MOV     R6,A
-0016AB A3                INC     DPTR
-0016AC E0                MOVX    A,@DPTR
-0016AD FF                MOV     R7,A
-0016AE 904C5E            MOV     DPTR,#c51timer
-0016B1 E0                MOVX    A,@DPTR
-0016B2 6E                XRL     A,R6
-0016B3 7003              JNZ     ?C0039?IPC
+0016AA 6F                XRL     A,R7
+0016AB         ?C0039?IPC:
+0016AB 6022              JZ      ?C0033?IPC
+0016AD 904E09            MOV     DPTR,#ipcCb+06H
+0016B0 E0                MOVX    A,@DPTR
+0016B1 FB                MOV     R3,A
+0016B2 A3                INC     DPTR
+0016B3 E0                MOVX    A,@DPTR
+0016B4 FA                MOV     R2,A
 0016B5 A3                INC     DPTR
 0016B6 E0                MOVX    A,@DPTR
-0016B7 6F                XRL     A,R7
-0016B8         ?C0039?IPC:
-0016B8 6022              JZ      ?C0033?IPC
-0016BA 904E09            MOV     DPTR,#ipcCb+06H
-0016BD E0                MOVX    A,@DPTR
-0016BE FB                MOV     R3,A
-0016BF A3                INC     DPTR
-0016C0 E0                MOVX    A,@DPTR
-0016C1 FA                MOV     R2,A
-0016C2 A3                INC     DPTR
-0016C3 E0                MOVX    A,@DPTR
-0016C4 F9                MOV     R1,A
-0016C5 4A                ORL     A,R2
-0016C6 6037              JZ      ?C0032?IPC
-0016C8         ?C0031?IPC:
-0016C8 120564            LCALL   ?C?ICALL
-0016CB 904BA5            MOV     DPTR,#bttimer
-0016CE E0                MOVX    A,@DPTR
-0016CF FF                MOV     R7,A
-0016D0 A3                INC     DPTR
-0016D1 E0                MOVX    A,@DPTR
-0016D2 904C5E            MOV     DPTR,#c51timer
-0016D5 CF                XCH     A,R7
-0016D6 F0                MOVX    @DPTR,A
-0016D7 A3                INC     DPTR
-0016D8 EF                MOV     A,R7
-0016D9 F0                MOVX    @DPTR,A
-0016DA 80CA              SJMP    ?C0029?IPC
-0016DC         ?C0033?IPC:
-0016DC 904C8D            MOV     DPTR,#btstimer
+0016B7 F9                MOV     R1,A
+0016B8 4A                ORL     A,R2
+0016B9 6037              JZ      ?C0032?IPC
+0016BB         ?C0031?IPC:
+0016BB 120564            LCALL   ?C?ICALL
+0016BE 904BA5            MOV     DPTR,#bttimer
+0016C1 E0                MOVX    A,@DPTR
+0016C2 FF                MOV     R7,A
+0016C3 A3                INC     DPTR
+0016C4 E0                MOVX    A,@DPTR
+0016C5 904C5E            MOV     DPTR,#c51timer
+0016C8 CF                XCH     A,R7
+0016C9 F0                MOVX    @DPTR,A
+0016CA A3                INC     DPTR
+0016CB EF                MOV     A,R7
+0016CC F0                MOVX    @DPTR,A
+0016CD 80CA              SJMP    ?C0029?IPC
+0016CF         ?C0033?IPC:
+0016CF 904C8D            MOV     DPTR,#btstimer
+0016D2 E0                MOVX    A,@DPTR
+0016D3 FF                MOV     R7,A
+0016D4 A3                INC     DPTR
+0016D5 E0                MOVX    A,@DPTR
+0016D6 6F                XRL     A,R7
+0016D7 6019              JZ      ?C0032?IPC
+0016D9 904E0C            MOV     DPTR,#ipcCb+09H
+0016DC E0                MOVX    A,@DPTR
+0016DD FB                MOV     R3,A
+0016DE A3                INC     DPTR
 0016DF E0                MOVX    A,@DPTR
-0016E0 FF                MOV     R7,A
+0016E0 FA                MOV     R2,A
 0016E1 A3                INC     DPTR
 0016E2 E0                MOVX    A,@DPTR
-0016E3 6F                XRL     A,R7
-0016E4 6019              JZ      ?C0032?IPC
-0016E6 904E0C            MOV     DPTR,#ipcCb+09H
-0016E9 E0                MOVX    A,@DPTR
-0016EA FB                MOV     R3,A
-0016EB A3                INC     DPTR
-0016EC E0                MOVX    A,@DPTR
-0016ED FA                MOV     R2,A
+0016E3 F9                MOV     R1,A
+0016E4 4A                ORL     A,R2
+0016E5 600B              JZ      ?C0032?IPC
+0016E7         ?C0035?IPC:
+0016E7 120564            LCALL   ?C?ICALL
+0016EA 904C8D            MOV     DPTR,#btstimer
+0016ED E0                MOVX    A,@DPTR
 0016EE A3                INC     DPTR
-0016EF E0                MOVX    A,@DPTR
-0016F0 F9                MOV     R1,A
-0016F1 4A                ORL     A,R2
-0016F2 600B              JZ      ?C0032?IPC
-0016F4         ?C0035?IPC:
-0016F4 120564            LCALL   ?C?ICALL
-0016F7 904C8D            MOV     DPTR,#btstimer
-0016FA E0                MOVX    A,@DPTR
-0016FB A3                INC     DPTR
-0016FC F0                MOVX    @DPTR,A
-0016FD 80DD              SJMP    ?C0033?IPC
-0016FF         ?C0032?IPC:
-0016FF 22                RET     
+0016EF F0                MOVX    @DPTR,A
+0016F0 80DD              SJMP    ?C0033?IPC
+0016F2         ?C0032?IPC:
+0016F2 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
@@ -3702,37 +3694,37 @@
     6: {
     7: 	YC_System_Main();
     8: }
-001700 813E              AJMP    YC_System_Main
+0016F3 8130              AJMP    YC_System_Main
 ----- FUNCTION main (END) -------
 
 
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-001702 900B7F            MOV     DPTR,#lpm_flag
-001705 7401              MOV     A,#01H
-001707 F0                MOVX    @DPTR,A
-001708 E4                CLR     A
-001709 900B7E            MOV     DPTR,#current_task
-00170C F0                MOVX    @DPTR,A
-00170D 22                RET     
+0016F5 900B7F            MOV     DPTR,#lpm_flag
+0016F8 7401              MOV     A,#01H
+0016FA F0                MOVX    @DPTR,A
+0016FB E4                CLR     A
+0016FC 900B7E            MOV     DPTR,#current_task
+0016FF F0                MOVX    @DPTR,A
+001700 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
 ----- FUNCTION _GPIO_FlipOutBit (BEGIN) -----
-00170E 904E9F            MOV     DPTR,#gpio_num
-001711 EF                MOV     A,R7
-001712 F0                MOVX    @DPTR,A
-001713 7B01              MOV     R3,#01H
-001715 7A80              MOV     R2,#080H
-001717 7974              MOV     R1,#074H
-001719 B1FA              ACALL   _gpioGetBit
-00171B 9209              MOV     st,C
-00171D 904E9F            MOV     DPTR,#gpio_num
-001720 E0                MOVX    A,@DPTR
-001721 FF                MOV     R7,A
-001722 A209              MOV     C,st
-001724 B3                CPL     C
-001725 9201              MOV     ?_GPIO_Setout?BIT,C
-001727 02077D            LJMP    _GPIO_Setout
+001701 904E9F            MOV     DPTR,#gpio_num
+001704 EF                MOV     A,R7
+001705 F0                MOVX    @DPTR,A
+001706 7B01              MOV     R3,#01H
+001708 7A80              MOV     R2,#080H
+00170A 7974              MOV     R1,#074H
+00170C B1ED              ACALL   _gpioGetBit
+00170E 9209              MOV     st,C
+001710 904E9F            MOV     DPTR,#gpio_num
+001713 E0                MOVX    A,@DPTR
+001714 FF                MOV     R7,A
+001715 A209              MOV     C,st
+001717 B3                CPL     C
+001718 9201              MOV     ?_GPIO_Setout?BIT,C
+00171A 02077D            LJMP    _GPIO_Setout
 ----- FUNCTION _GPIO_FlipOutBit (END) -------
 
 
@@ -3742,26 +3734,26 @@
   169: {
   170: 	if (power_on_flag != 2)
   171: 		return;
-00172A 904DE4            MOV     DPTR,#power_on_flag
-00172D E0                MOVX    A,@DPTR
-00172E B4020A            CJNE    A,#02H,?C0027?SYS
-001731         ?C0026?SYS:
+00171D 904DE4            MOV     DPTR,#power_on_flag
+001720 E0                MOVX    A,@DPTR
+001721 B4020A            CJNE    A,#02H,?C0027?SYS
+001724         ?C0026?SYS:
   172:  	if (g_variable.pairing_g24_timeout != 0)
-001731 904CF1            MOV     DPTR,#g_variable+032H
-001734 E0                MOVX    A,@DPTR
-001735 6004              JZ      ?C0027?SYS
+001724 904CF1            MOV     DPTR,#g_variable+032H
+001727 E0                MOVX    A,@DPTR
+001728 6004              JZ      ?C0027?SYS
   173: 	{
   174: 		GPIO_FlipOutBit(G24_LED_GPIO);
-001737 7F1D              MOV     R7,#01DH
-001739 F10E              ACALL   _GPIO_FlipOutBit
+00172A 7F1D              MOV     R7,#01DH
+00172C F101              ACALL   _GPIO_FlipOutBit
   175: 	}
   176: 	else
   177: 	{
   178: 		
   179: 	}
   180: }
-00173B         ?C0027?SYS:
-00173B 22                RET     
+00172E         ?C0027?SYS:
+00172E 22                RET     
 ----- FUNCTION LED_timer500ms (END) -------
 
 
@@ -3771,27 +3763,27 @@
   288: {
   289: 	LED_timer500ms();	
   290: 
-00173C F12A              ACALL   LED_timer500ms
+00172F F11D              ACALL   LED_timer500ms
   291: 	g_variable.sleepTimer++;
-00173E 904CE4            MOV     DPTR,#g_variable+025H
-001741 E0                MOVX    A,@DPTR
-001742 04                INC     A
-001743 F0                MOVX    @DPTR,A
-001744 7006              JNZ     ?C0092?SYS
-001746 904CE3            MOV     DPTR,#g_variable+024H
-001749 E0                MOVX    A,@DPTR
-00174A 04                INC     A
-00174B F0                MOVX    @DPTR,A
-00174C         ?C0092?SYS:
+001731 904CE4            MOV     DPTR,#g_variable+025H
+001734 E0                MOVX    A,@DPTR
+001735 04                INC     A
+001736 F0                MOVX    @DPTR,A
+001737 7006              JNZ     ?C0092?SYS
+001739 904CE3            MOV     DPTR,#g_variable+024H
+00173C E0                MOVX    A,@DPTR
+00173D 04                INC     A
+00173E F0                MOVX    @DPTR,A
+00173F         ?C0092?SYS:
   292: 
   293: 	YC_adc_check_timer500ms();
-00174C F156              ACALL   YC_adc_check_timer500ms
+00173F F149              ACALL   YC_adc_check_timer500ms
   294: 	YC_connect_timeout_500ms();
-00174E F19C              ACALL   YC_connect_timeout_500ms
+001741 1221C8            LCALL   YC_connect_timeout_500ms
   295: 	kb_button_press_timer500ms();
-001750 12218E            LCALL   kb_button_press_timer500ms
+001744 F15B              ACALL   kb_button_press_timer500ms
   296: 	YC_pairing_timerout_500ms();
-001753 020F8B            LJMP    YC_pairing_timerout_500ms
+001746 020F8B            LJMP    YC_pairing_timerout_500ms
   297: 	
   298: 	return;
 ----- FUNCTION kb_cb_Timer500ms (END) -------
@@ -3804,150 +3796,167 @@
    84: #ifdef  ADC_ENABLE
    85: 	// adc check timer	
    86: 	if (g_variable.battery_check_interval)
-001756 904CD3            MOV     DPTR,#g_variable+014H
-001759 E0                MOVX    A,@DPTR
-00175A 600B              JZ      ?C0016?ADC
+001749 904CD3            MOV     DPTR,#g_variable+014H
+00174C E0                MOVX    A,@DPTR
+00174D 600B              JZ      ?C0016?ADC
    87: 	{
    88: 		g_variable.battery_check_interval--;
-00175C 14                DEC     A
-00175D F0                MOVX    @DPTR,A
+00174F 14                DEC     A
+001750 F0                MOVX    @DPTR,A
    89: 		if (g_variable.battery_check_interval == 0)
-00175E E0                MOVX    A,@DPTR
-00175F 7006              JNZ     ?C0016?ADC
+001751 E0                MOVX    A,@DPTR
+001752 7006              JNZ     ?C0016?ADC
    90: 		{
    91: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-001761 7405              MOV     A,#05H
-001763 F0                MOVX    @DPTR,A
+001754 7405              MOV     A,#05H
+001756 F0                MOVX    @DPTR,A
    92: 			YC_adc_check();
-001764 1223A1            LCALL   YC_adc_check
+001757 12239B            LCALL   YC_adc_check
    93: 		}
    94: 	}
    95: #endif	
    96: }
-001767         ?C0016?ADC:
-001767 22                RET     
+00175A         ?C0016?ADC:
+00175A 22                RET     
 ----- FUNCTION YC_adc_check_timer500ms (END) -------
 
 
------ FUNCTION GPIO_fillpd (BEGIN) -----
-;---- Variable 'i' assigned to Register 'R7' ----
-001768 E4                CLR     A
-001769 FF                MOV     R7,A
-00176A         ?C0026?GPIO:
-00176A EF                MOV     A,R7
-00176B FD                MOV     R5,A
-00176C 7C00              MOV     R4,#00H
-00176E 2478              ADD     A,#078H
-001770 FB                MOV     R3,A
-001771 EC                MOV     A,R4
-001772 3480              ADDC    A,#080H
-001774 8B82              MOV     DPL,R3
-001776 F583              MOV     DPH,A
-001778 E0                MOVX    A,@DPTR
-001779 FE                MOV     R6,A
-00177A ED                MOV     A,R5
-00177B 2470              ADD     A,#070H
-00177D FD                MOV     R5,A
-00177E EC                MOV     A,R4
-00177F 3480              ADDC    A,#080H
-001781 8D82              MOV     DPL,R5
-001783 F583              MOV     DPH,A
-001785 E0                MOVX    A,@DPTR
-001786 4E                ORL     A,R6
-001787 F4                CPL     A
-001788 FE                MOV     R6,A
-001789 EF                MOV     A,R7
-00178A 247C              ADD     A,#07CH
-00178C FD                MOV     R5,A
-00178D EC                MOV     A,R4
-00178E 3480              ADDC    A,#080H
-001790 8D82              MOV     DPL,R5
-001792 F583              MOV     DPH,A
-001794 EE                MOV     A,R6
-001795 F0                MOVX    @DPTR,A
-001796 0F                INC     R7
-001797 EF                MOV     A,R7
-001798 B404CF            CJNE    A,#04H,?C0026?GPIO
-00179B 22                RET     
------ FUNCTION GPIO_fillpd (END) -------
-
-
------ FUNCTION YC_connect_timeout_500ms (BEGIN) -----
+----- FUNCTION kb_button_press_timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  182: void YC_connect_timeout_500ms()
-  183: {
-  184: 	
-  185: //system long sleep timer
-  186: 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-00179C 904CC5            MOV     DPTR,#g_variable+06H
-00179F E0                MOVX    A,@DPTR
-0017A0 B40312            CJNE    A,#03H,?C0030?SYS
-  187: 	{
-  188: 		if (g_variable.sleepTimer >= STANDBY_TIMER_10MIN)
-0017A3 C3                CLR     C
-0017A4 904CE4            MOV     DPTR,#g_variable+025H
-0017A7 E0                MOVX    A,@DPTR
-0017A8 94B0              SUBB    A,#0B0H
-0017AA 904CE3            MOV     DPTR,#g_variable+024H
-0017AD E0                MOVX    A,@DPTR
-0017AE 9404              SUBB    A,#04H
-0017B0 402D              JC      ?C0037?SYS
-  189: 			System_long_sleep();
-0017B2 02078F            LJMP    System_long_sleep
-  190: 	//	else
-  191: 	//	{
-  192: 	//		if((g_variable.sleepTimer & 0x10) && (!keyCount))
-  193: 	//		{
-  194: 	//			xmemclear(hidBuff,9);
-  195: 	//			hidBuff[0] = HID_REPORTID_1;		// standard key send
-  196: 	//			IPC_TxHidData(hidBuff, 9);
-  197: 	//		}
-  198: 	//	}
-  199: 	}
-0017B5         ?C0030?SYS:
-  200: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
-0017B5 904CC5            MOV     DPTR,#g_variable+06H
-0017B8 E0                MOVX    A,@DPTR
-0017B9 B40114            CJNE    A,#01H,?C0033?SYS
-  201: 	{
-  202: 		if (g_variable.sleepTimer == G24_PAIRING_TIME_OUT_20S)
-0017BC 904CE3            MOV     DPTR,#g_variable+024H
-0017BF E0                MOVX    A,@DPTR
-0017C0 7004              JNZ     ?C0090?SYS
-0017C2 A3                INC     DPTR
+  235: void kb_button_press_timer500ms()
+  236: {
+  237: 	
+  238: //key status 
+  239: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
+00175B 904CCE            MOV     DPTR,#g_variable+0FH
+00175E E0                MOVX    A,@DPTR
+00175F 30E13E            JNB     ACC.1,?C0041?SYS
+  240: 	{
+  241: 		if (g_variable.button_timer[1] < 250)
+001762 904CD0            MOV     DPTR,#g_variable+011H
+001765 E0                MOVX    A,@DPTR
+001766 C3                CLR     C
+001767 94FA              SUBB    A,#0FAH
+001769 5003              JNC     ?C0042?SYS
+  242: 			g_variable.button_timer[1]++;
+00176B E0                MOVX    A,@DPTR
+00176C 04                INC     A
+00176D F0                MOVX    @DPTR,A
+00176E         ?C0042?SYS:
+  243: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
+00176E 904CD0            MOV     DPTR,#g_variable+011H
+001771 E0                MOVX    A,@DPTR
+001772 64B4              XRL     A,#0B4H
+001774 7037              JNZ     ?C0047?SYS
+  244: 		{
+  245: 			press_long_time_flag++;
+001776 904DDC            MOV     DPTR,#press_long_time_flag
+001779 E0                MOVX    A,@DPTR
+00177A 04                INC     A
+00177B F0                MOVX    @DPTR,A
+  246: 			if(press_long_time_flag <= 2)
+00177C E0                MOVX    A,@DPTR
+00177D D3                SETB    C
+00177E 9402              SUBB    A,#02H
+001780 5007              JNC     ?C0044?SYS
+  247: 			{
+  248: 				g_variable.button_timer[1] = 0;
+001782 E4                CLR     A
+001783 904CD0            MOV     DPTR,#g_variable+011H
+001786 F0                MOVX    @DPTR,A
+  249: 			}
+001787 8024              SJMP    ?C0047?SYS
+001789         ?C0044?SYS:
+  250: 			else if(press_long_time_flag == 3)
+001789 904DDC            MOV     DPTR,#press_long_time_flag
+00178C E0                MOVX    A,@DPTR
+00178D B4031D            CJNE    A,#03H,?C0047?SYS
+  251: 			{
+  252: 				long_press_flag = 1;
+001790 904DD5            MOV     DPTR,#long_press_flag
+001793 7401              MOV     A,#01H
+001795 F0                MOVX    @DPTR,A
+  253: 				g_variable.button_timer[1] = 0;
+001796 E4                CLR     A
+001797 904CD0            MOV     DPTR,#g_variable+011H
+00179A F0                MOVX    @DPTR,A
+  254: 				System_long_sleep();
+00179B 12078F            LCALL   System_long_sleep
+  255: 			}
+  256: 		}
+  257: 	}
+00179E 800D              SJMP    ?C0047?SYS
+0017A0         ?C0041?SYS:
+  258: 	else
+  259: 	{
+  260: 		press_long_time_flag = 0;
+0017A0 E4                CLR     A
+0017A1 904DDC            MOV     DPTR,#press_long_time_flag
+0017A4 F0                MOVX    @DPTR,A
+  261: 		long_press_flag = 0;
+0017A5 904DD5            MOV     DPTR,#long_press_flag
+0017A8 F0                MOVX    @DPTR,A
+  262: 		g_variable.button_timer[1] = 0;
+0017A9 904CD0            MOV     DPTR,#g_variable+011H
+0017AC F0                MOVX    @DPTR,A
+  263: 	}
+0017AD         ?C0047?SYS:
+  264: 		
+  265: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
+0017AD 904CCE            MOV     DPTR,#g_variable+0FH
+0017B0 E0                MOVX    A,@DPTR
+0017B1 30E42F            JNB     ACC.4,?C0048?SYS
+  266: 	{
+  267: 		g_variable.delay_enter_lpm_timer = 10;
+0017B4 904CED            MOV     DPTR,#g_variable+02EH
+0017B7 740A              MOV     A,#0AH
+0017B9 F0                MOVX    @DPTR,A
+  268: 		if (g_variable.button_timer[2] < 250)
+0017BA 904CD1            MOV     DPTR,#g_variable+012H
+0017BD E0                MOVX    A,@DPTR
+0017BE C3                CLR     C
+0017BF 94FA              SUBB    A,#0FAH
+0017C1 5003              JNC     ?C0049?SYS
+  269: 			g_variable.button_timer[2]++;
 0017C3 E0                MOVX    A,@DPTR
-0017C4 6428              XRL     A,#028H
-0017C6         ?C0090?SYS:
-0017C6 7017              JNZ     ?C0037?SYS
-  203: 		{
-  204: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
-0017C8 7F22              MOV     R7,#022H
-0017CA 120F61            LCALL   _IPC_TxControlCmd
-  205: 			System_long_sleep();
-0017CD 02078F            LJMP    System_long_sleep
-  206: 		}
-  207: 	}
-0017D0         ?C0033?SYS:
-  208: 	else
-  209: 	{
-  210: 		if (g_variable.sleepTimer == RECONNECT_TIMER_10S)
-0017D0 904CE3            MOV     DPTR,#g_variable+024H
-0017D3 E0                MOVX    A,@DPTR
-0017D4 7004              JNZ     ?C0091?SYS
-0017D6 A3                INC     DPTR
-0017D7 E0                MOVX    A,@DPTR
-0017D8 6414              XRL     A,#014H
-0017DA         ?C0091?SYS:
-0017DA 7003              JNZ     ?C0037?SYS
-  211: 		{
-  212: 			System_long_sleep();
-0017DC 12078F            LCALL   System_long_sleep
-  213: 		}
-  214: 	}
-  215: }
-0017DF         ?C0037?SYS:
-0017DF 22                RET     
------ FUNCTION YC_connect_timeout_500ms (END) -------
+0017C4 04                INC     A
+0017C5 F0                MOVX    @DPTR,A
+0017C6         ?C0049?SYS:
+  270: 		if (g_variable.button_timer[2] == 6)
+0017C6 904CD1            MOV     DPTR,#g_variable+012H
+0017C9 E0                MOVX    A,@DPTR
+0017CA B4061B            CJNE    A,#06H,?C0054?SYS
+  271: 		{
+  272: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
+0017CD 904CC3            MOV     DPTR,#g_variable+04H
+0017D0 E0                MOVX    A,@DPTR
+0017D1 FF                MOV     R7,A
+0017D2 6003              JZ      ?C0052?SYS
+0017D4 B4FE11            CJNE    A,#0FEH,?C0054?SYS
+0017D7         ?C0052?SYS:
+  273: 			{
+  274: 				YC_disconnect_all_link();
+0017D7 120FAD            LCALL   YC_disconnect_all_link
+  275: 				Delay1ms(10);
+0017DA 7F0A              MOV     R7,#0AH
+0017DC 120FDC            LCALL   _Delay1ms
+  276: 				YC_key_action_handle(KEY_PAIRING_24G);
+0017DF 7F0A              MOV     R7,#0AH
+0017E1 011D              AJMP    _YC_key_action_handle
+  277: 			}
+  278: 		}
+  279: 	}
+0017E3         ?C0048?SYS:
+  280: 	else
+  281: 		g_variable.button_timer[2] = 0;
+0017E3 E4                CLR     A
+0017E4 904CD1            MOV     DPTR,#g_variable+012H
+0017E7 F0                MOVX    @DPTR,A
+  282: 	
+  283: }
+0017E8         ?C0054?SYS:
+0017E8 22                RET     
+----- FUNCTION kb_button_press_timer500ms (END) -------
 
 
 ----- FUNCTION _kb_set_multikey (BEGIN) -----
@@ -3955,34 +3964,34 @@
   105: void kb_set_multikey(word multikey_value)
   106: {
 ;---- Variable 'multikey_value' assigned to Register 'R4/R5' ----
-0017E0 AD07              MOV     R5,AR7
-0017E2 AC06              MOV     R4,AR6
+0017E9 AD07              MOV     R5,AR7
+0017EB AC06              MOV     R4,AR6
   107: 	if(mult_key_status != KEY_WAIT_RELEASE)
   108: 	{
-0017E4 904DE7            MOV     DPTR,#mult_key_status
-0017E7 E0                MOVX    A,@DPTR
-0017E8 6402              XRL     A,#02H
-0017EA 600E              JZ      ?C0030?KB_PROCESS
+0017ED 904DE7            MOV     DPTR,#mult_key_status
+0017F0 E0                MOVX    A,@DPTR
+0017F1 6402              XRL     A,#02H
+0017F3 600E              JZ      ?C0030?KB_PROCESS
   109: 		mult_key_status = KEY_MULIT_PRESS;
   110: 		multikey[0] = HID_REPORTID_2;
-0017EC 7401              MOV     A,#01H
-0017EE F0                MOVX    @DPTR,A
+0017F5 7401              MOV     A,#01H
+0017F7 F0                MOVX    @DPTR,A
   111: 		multikey[1] = (multikey_value&0xff);
-0017EF 904DE8            MOV     DPTR,#multikey
-0017F2 04                INC     A
-0017F3 F0                MOVX    @DPTR,A
+0017F8 904DE8            MOV     DPTR,#multikey
+0017FB 04                INC     A
+0017FC F0                MOVX    @DPTR,A
   112: 		multikey[2] = ((multikey_value>>8)&0xff);
-0017F4 EF                MOV     A,R7
-0017F5 A3                INC     DPTR
-0017F6 F0                MOVX    @DPTR,A
+0017FD EF                MOV     A,R7
+0017FE A3                INC     DPTR
+0017FF F0                MOVX    @DPTR,A
   113: 	}
-0017F7 EE                MOV     A,R6
-0017F8 A3                INC     DPTR
-0017F9 F0                MOVX    @DPTR,A
+001800 EE                MOV     A,R6
+001801 A3                INC     DPTR
+001802 F0                MOVX    @DPTR,A
   114: }
   115: 
-0017FA         ?C0030?KB_PROCESS:
-0017FA 22                RET     
+001803         ?C0030?KB_PROCESS:
+001803 22                RET     
 ----- FUNCTION _kb_set_multikey (END) -------
 
 
@@ -3993,30 +4002,30 @@
 ;---- Variable 'systemkey_value' assigned to Register 'R7' ----
   119: 	if(mult_key_status != KEY_WAIT_RELEASE)
   120: 	{
-0017FB 904DE7            MOV     DPTR,#mult_key_status
-0017FE E0                MOVX    A,@DPTR
-0017FF 6402              XRL     A,#02H
-001801 6012              JZ      ?C0032?KB_PROCESS
+001804 904DE7            MOV     DPTR,#mult_key_status
+001807 E0                MOVX    A,@DPTR
+001808 6402              XRL     A,#02H
+00180A 6012              JZ      ?C0032?KB_PROCESS
   121: 		mult_key_status = KEY_SYSTEM_PRESS;
   122: 		system_key_press = 1;
-001803 7404              MOV     A,#04H
-001805 F0                MOVX    @DPTR,A
+00180C 7404              MOV     A,#04H
+00180E F0                MOVX    @DPTR,A
   123: 		multikey[0] = HID_REPORTID_SYSTEM;
-001806 904DE2            MOV     DPTR,#system_key_press
-001809 7401              MOV     A,#01H
-00180B F0                MOVX    @DPTR,A
+00180F 904DE2            MOV     DPTR,#system_key_press
+001812 7401              MOV     A,#01H
+001814 F0                MOVX    @DPTR,A
   124: 		multikey[1] = systemkey_value;
-00180C 904DE8            MOV     DPTR,#multikey
-00180F 7406              MOV     A,#06H
-001811 F0                MOVX    @DPTR,A
+001815 904DE8            MOV     DPTR,#multikey
+001818 7406              MOV     A,#06H
+00181A F0                MOVX    @DPTR,A
   125: 	}
-001812 A3                INC     DPTR
-001813 EF                MOV     A,R7
-001814 F0                MOVX    @DPTR,A
+00181B A3                INC     DPTR
+00181C EF                MOV     A,R7
+00181D F0                MOVX    @DPTR,A
   126: }
   127: #endif
-001815         ?C0032?KB_PROCESS:
-001815 22                RET     
+00181E         ?C0032?KB_PROCESS:
+00181E 22                RET     
 ----- FUNCTION _kb_set_systemkey (END) -------
 
 
@@ -4024,580 +4033,580 @@
  FILE: 'kb_process.c'
   504: void kb_multikey_setup(tKSEVENT *pEvt)
   505: {
-001816 904E6F            MOV     DPTR,#pEvt
-001819 EB                MOV     A,R3
-00181A F0                MOVX    @DPTR,A
-00181B A3                INC     DPTR
-00181C EA                MOV     A,R2
-00181D F0                MOVX    @DPTR,A
-00181E A3                INC     DPTR
-00181F E9                MOV     A,R1
-001820 F0                MOVX    @DPTR,A
+00181F 904E6F            MOV     DPTR,#pEvt
+001822 EB                MOV     A,R3
+001823 F0                MOVX    @DPTR,A
+001824 A3                INC     DPTR
+001825 EA                MOV     A,R2
+001826 F0                MOVX    @DPTR,A
+001827 A3                INC     DPTR
+001828 E9                MOV     A,R1
+001829 F0                MOVX    @DPTR,A
   506: 	byte i = 0;
   507: 	
-001821 E4                CLR     A
-001822 A3                INC     DPTR
-001823 F0                MOVX    @DPTR,A
+00182A E4                CLR     A
+00182B A3                INC     DPTR
+00182C F0                MOVX    @DPTR,A
   508: 	for (i = 0;i < 6;i++)
-001824 F0                MOVX    @DPTR,A
-001825         ?C0127?KB_PROCESS:
-001825 904E72            MOV     DPTR,#i
-001828 E0                MOVX    A,@DPTR
-001829 FF                MOV     R7,A
-00182A C3                CLR     C
-00182B 9406              SUBB    A,#06H
-00182D 4002              JC      $ + 4H
-00182F 41C5              AJMP    ?C0178?KB_PROCESS
+00182D F0                MOVX    @DPTR,A
+00182E         ?C0127?KB_PROCESS:
+00182E 904E72            MOV     DPTR,#i
+001831 E0                MOVX    A,@DPTR
+001832 FF                MOV     R7,A
+001833 C3                CLR     C
+001834 9406              SUBB    A,#06H
+001836 4002              JC      $ + 4H
+001838 41CB              AJMP    ?C0178?KB_PROCESS
   509: 	{		
   510: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
-001831 904E6F            MOV     DPTR,#pEvt
-001834 E0                MOVX    A,@DPTR
-001835 FB                MOV     R3,A
-001836 A3                INC     DPTR
-001837 E0                MOVX    A,@DPTR
-001838 FA                MOV     R2,A
-001839 A3                INC     DPTR
-00183A E0                MOVX    A,@DPTR
-00183B 2401              ADD     A,#01H
-00183D F9                MOV     R1,A
-00183E E4                CLR     A
-00183F 3A                ADDC    A,R2
-001840 FA                MOV     R2,A
-001841 7E00              MOV     R6,#00H
-001843 E9                MOV     A,R1
-001844 2F                ADD     A,R7
-001845 F9                MOV     R1,A
-001846 EE                MOV     A,R6
-001847 3A                ADDC    A,R2
-001848 FA                MOV     R2,A
-001849 1203B6            LCALL   ?C?CLDPTR
-00184C FF                MOV     R7,A
-00184D 54F0              ANL     A,#0F0H
-00184F 64F0              XRL     A,#0F0H
-001851 6009              JZ      ?C0131?KB_PROCESS
-001853 EF                MOV     A,R7
-001854 54D0              ANL     A,#0D0H
-001856 64D0              XRL     A,#0D0H
-001858 6002              JZ      $ + 4H
-00185A 41BD              AJMP    ?C0129?KB_PROCESS
-00185C         ?C0131?KB_PROCESS:
+00183A 904E6F            MOV     DPTR,#pEvt
+00183D E0                MOVX    A,@DPTR
+00183E FB                MOV     R3,A
+00183F A3                INC     DPTR
+001840 E0                MOVX    A,@DPTR
+001841 FA                MOV     R2,A
+001842 A3                INC     DPTR
+001843 E0                MOVX    A,@DPTR
+001844 2401              ADD     A,#01H
+001846 F9                MOV     R1,A
+001847 E4                CLR     A
+001848 3A                ADDC    A,R2
+001849 FA                MOV     R2,A
+00184A 7E00              MOV     R6,#00H
+00184C E9                MOV     A,R1
+00184D 2F                ADD     A,R7
+00184E F9                MOV     R1,A
+00184F EE                MOV     A,R6
+001850 3A                ADDC    A,R2
+001851 FA                MOV     R2,A
+001852 1203B6            LCALL   ?C?CLDPTR
+001855 FF                MOV     R7,A
+001856 54F0              ANL     A,#0F0H
+001858 64F0              XRL     A,#0F0H
+00185A 6009              JZ      ?C0131?KB_PROCESS
+00185C EF                MOV     A,R7
+00185D 54D0              ANL     A,#0D0H
+00185F 64D0              XRL     A,#0D0H
+001861 6002              JZ      $ + 4H
+001863 41C3              AJMP    ?C0129?KB_PROCESS
+001865         ?C0131?KB_PROCESS:
   511: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
   512: 		{
   513: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
-00185C 1203B6            LCALL   ?C?CLDPTR
-00185F FB                MOV     R3,A
-001860 B4F109            CJNE    A,#0F1H,?C0132?KB_PROCESS
+001865 1203B6            LCALL   ?C?CLDPTR
+001868 FB                MOV     R3,A
+001869 B4F109            CJNE    A,#0F1H,?C0132?KB_PROCESS
   514: 			{
   515: 				kb_set_multikey(0x0183); 
-001863 7F83              MOV     R7,#083H
-001865 7E01              MOV     R6,#01H
-001867 1217E0            LCALL   _kb_set_multikey
+00186C 7F83              MOV     R7,#083H
+00186E 7E01              MOV     R6,#01H
+001870 1217E9            LCALL   _kb_set_multikey
   516: 			}
-00186A 4192              AJMP    ?C0133?KB_PROCESS
-00186C         ?C0132?KB_PROCESS:
+001873 4198              AJMP    ?C0133?KB_PROCESS
+001875         ?C0132?KB_PROCESS:
   517: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
-00186C EB                MOV     A,R3
-00186D B4F209            CJNE    A,#0F2H,?C0134?KB_PROCESS
+001875 EB                MOV     A,R3
+001876 B4F209            CJNE    A,#0F2H,?C0134?KB_PROCESS
   518: 			{ 
   519: 				kb_set_multikey(0x00cd);
-001870 7FCD              MOV     R7,#0CDH
-001872 7E00              MOV     R6,#00H
-001874 1217E0            LCALL   _kb_set_multikey
+001879 7FCD              MOV     R7,#0CDH
+00187B 7E00              MOV     R6,#00H
+00187D 1217E9            LCALL   _kb_set_multikey
   520: 			}
-001877 4192              AJMP    ?C0133?KB_PROCESS
-001879         ?C0134?KB_PROCESS:
+001880 4198              AJMP    ?C0133?KB_PROCESS
+001882         ?C0134?KB_PROCESS:
   521: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
-001879 904E6F            MOV     DPTR,#pEvt
-00187C E0                MOVX    A,@DPTR
-00187D FB                MOV     R3,A
-00187E A3                INC     DPTR
-00187F E0                MOVX    A,@DPTR
-001880 FA                MOV     R2,A
-001881 A3                INC     DPTR
-001882 E0                MOVX    A,@DPTR
-001883 2401              ADD     A,#01H
-001885 F9                MOV     R1,A
-001886 E4                CLR     A
-001887 3A                ADDC    A,R2
-001888 FA                MOV     R2,A
-001889 A3                INC     DPTR
-00188A E0                MOVX    A,@DPTR
-00188B 7E00              MOV     R6,#00H
-00188D 29                ADD     A,R1
+001882 904E6F            MOV     DPTR,#pEvt
+001885 E0                MOVX    A,@DPTR
+001886 FB                MOV     R3,A
+001887 A3                INC     DPTR
+001888 E0                MOVX    A,@DPTR
+001889 FA                MOV     R2,A
+00188A A3                INC     DPTR
+00188B E0                MOVX    A,@DPTR
+00188C 2401              ADD     A,#01H
 00188E F9                MOV     R1,A
-00188F EE                MOV     A,R6
+00188F E4                CLR     A
 001890 3A                ADDC    A,R2
 001891 FA                MOV     R2,A
-001892 1203B6            LCALL   ?C?CLDPTR
-001895 FB                MOV     R3,A
-001896 B4F307            CJNE    A,#0F3H,?C0136?KB_PROCESS
+001892 A3                INC     DPTR
+001893 E0                MOVX    A,@DPTR
+001894 7E00              MOV     R6,#00H
+001896 29                ADD     A,R1
+001897 F9                MOV     R1,A
+001898 EE                MOV     A,R6
+001899 3A                ADDC    A,R2
+00189A FA                MOV     R2,A
+00189B 1203B6            LCALL   ?C?CLDPTR
+00189E FB                MOV     R3,A
+00189F B4F307            CJNE    A,#0F3H,?C0136?KB_PROCESS
   522: 			{
   523: 				kb_set_multikey(0x00b7);
-001899 7FB7              MOV     R7,#0B7H
-00189B 1217E0            LCALL   _kb_set_multikey
+0018A2 7FB7              MOV     R7,#0B7H
+0018A4 1217E9            LCALL   _kb_set_multikey
   524: 			}
-00189E 4192              AJMP    ?C0133?KB_PROCESS
-0018A0         ?C0136?KB_PROCESS:
+0018A7 4198              AJMP    ?C0133?KB_PROCESS
+0018A9         ?C0136?KB_PROCESS:
   525: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
-0018A0 EB                MOV     A,R3
-0018A1 B4F409            CJNE    A,#0F4H,?C0138?KB_PROCESS
+0018A9 EB                MOV     A,R3
+0018AA B4F409            CJNE    A,#0F4H,?C0138?KB_PROCESS
   526: 			{
   527: 				kb_set_multikey(0x00b6);
-0018A4 7FB6              MOV     R7,#0B6H
-0018A6 7E00              MOV     R6,#00H
-0018A8 1217E0            LCALL   _kb_set_multikey
+0018AD 7FB6              MOV     R7,#0B6H
+0018AF 7E00              MOV     R6,#00H
+0018B1 1217E9            LCALL   _kb_set_multikey
   528: 			}
-0018AB 4192              AJMP    ?C0133?KB_PROCESS
-0018AD         ?C0138?KB_PROCESS:
+0018B4 4198              AJMP    ?C0133?KB_PROCESS
+0018B6         ?C0138?KB_PROCESS:
   529: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
-0018AD 904E6F            MOV     DPTR,#pEvt
-0018B0 E0                MOVX    A,@DPTR
-0018B1 FB                MOV     R3,A
-0018B2 A3                INC     DPTR
-0018B3 E0                MOVX    A,@DPTR
-0018B4 FA                MOV     R2,A
-0018B5 A3                INC     DPTR
-0018B6 E0                MOVX    A,@DPTR
-0018B7 2401              ADD     A,#01H
-0018B9 F9                MOV     R1,A
-0018BA E4                CLR     A
-0018BB 3A                ADDC    A,R2
-0018BC FA                MOV     R2,A
-0018BD A3                INC     DPTR
-0018BE E0                MOVX    A,@DPTR
-0018BF 7E00              MOV     R6,#00H
-0018C1 29                ADD     A,R1
+0018B6 904E6F            MOV     DPTR,#pEvt
+0018B9 E0                MOVX    A,@DPTR
+0018BA FB                MOV     R3,A
+0018BB A3                INC     DPTR
+0018BC E0                MOVX    A,@DPTR
+0018BD FA                MOV     R2,A
+0018BE A3                INC     DPTR
+0018BF E0                MOVX    A,@DPTR
+0018C0 2401              ADD     A,#01H
 0018C2 F9                MOV     R1,A
-0018C3 EE                MOV     A,R6
+0018C3 E4                CLR     A
 0018C4 3A                ADDC    A,R2
 0018C5 FA                MOV     R2,A
-0018C6 1203B6            LCALL   ?C?CLDPTR
-0018C9 FB                MOV     R3,A
-0018CA B4F507            CJNE    A,#0F5H,?C0140?KB_PROCESS
+0018C6 A3                INC     DPTR
+0018C7 E0                MOVX    A,@DPTR
+0018C8 7E00              MOV     R6,#00H
+0018CA 29                ADD     A,R1
+0018CB F9                MOV     R1,A
+0018CC EE                MOV     A,R6
+0018CD 3A                ADDC    A,R2
+0018CE FA                MOV     R2,A
+0018CF 1203B6            LCALL   ?C?CLDPTR
+0018D2 FB                MOV     R3,A
+0018D3 B4F507            CJNE    A,#0F5H,?C0140?KB_PROCESS
   530: 			{
   531: 				kb_set_multikey(0x00b5);
-0018CD 7FB5              MOV     R7,#0B5H
-0018CF 1217E0            LCALL   _kb_set_multikey
+0018D6 7FB5              MOV     R7,#0B5H
+0018D8 1217E9            LCALL   _kb_set_multikey
   532: 			}
-0018D2 4192              AJMP    ?C0133?KB_PROCESS
-0018D4         ?C0140?KB_PROCESS:
+0018DB 4198              AJMP    ?C0133?KB_PROCESS
+0018DD         ?C0140?KB_PROCESS:
   533: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
-0018D4 EB                MOV     A,R3
-0018D5 B4F609            CJNE    A,#0F6H,?C0142?KB_PROCESS
+0018DD EB                MOV     A,R3
+0018DE B4F609            CJNE    A,#0F6H,?C0142?KB_PROCESS
   534: 			{
   535: 				kb_set_multikey(0x00ea);
-0018D8 7FEA              MOV     R7,#0EAH
-0018DA 7E00              MOV     R6,#00H
-0018DC 1217E0            LCALL   _kb_set_multikey
+0018E1 7FEA              MOV     R7,#0EAH
+0018E3 7E00              MOV     R6,#00H
+0018E5 1217E9            LCALL   _kb_set_multikey
   536: 			}
-0018DF 4192              AJMP    ?C0133?KB_PROCESS
-0018E1         ?C0142?KB_PROCESS:
+0018E8 4198              AJMP    ?C0133?KB_PROCESS
+0018EA         ?C0142?KB_PROCESS:
   537: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
-0018E1 904E6F            MOV     DPTR,#pEvt
-0018E4 E0                MOVX    A,@DPTR
-0018E5 FB                MOV     R3,A
-0018E6 A3                INC     DPTR
-0018E7 E0                MOVX    A,@DPTR
-0018E8 FA                MOV     R2,A
-0018E9 A3                INC     DPTR
-0018EA E0                MOVX    A,@DPTR
-0018EB 2401              ADD     A,#01H
-0018ED F9                MOV     R1,A
-0018EE E4                CLR     A
-0018EF 3A                ADDC    A,R2
-0018F0 FA                MOV     R2,A
-0018F1 A3                INC     DPTR
-0018F2 E0                MOVX    A,@DPTR
-0018F3 7E00              MOV     R6,#00H
-0018F5 29                ADD     A,R1
+0018EA 904E6F            MOV     DPTR,#pEvt
+0018ED E0                MOVX    A,@DPTR
+0018EE FB                MOV     R3,A
+0018EF A3                INC     DPTR
+0018F0 E0                MOVX    A,@DPTR
+0018F1 FA                MOV     R2,A
+0018F2 A3                INC     DPTR
+0018F3 E0                MOVX    A,@DPTR
+0018F4 2401              ADD     A,#01H
 0018F6 F9                MOV     R1,A
-0018F7 EE                MOV     A,R6
+0018F7 E4                CLR     A
 0018F8 3A                ADDC    A,R2
 0018F9 FA                MOV     R2,A
-0018FA 1203B6            LCALL   ?C?CLDPTR
-0018FD FB                MOV     R3,A
-0018FE B4F707            CJNE    A,#0F7H,?C0144?KB_PROCESS
+0018FA A3                INC     DPTR
+0018FB E0                MOVX    A,@DPTR
+0018FC 7E00              MOV     R6,#00H
+0018FE 29                ADD     A,R1
+0018FF F9                MOV     R1,A
+001900 EE                MOV     A,R6
+001901 3A                ADDC    A,R2
+001902 FA                MOV     R2,A
+001903 1203B6            LCALL   ?C?CLDPTR
+001906 FB                MOV     R3,A
+001907 B4F707            CJNE    A,#0F7H,?C0144?KB_PROCESS
   538: 			{
   539: 				kb_set_multikey(0x00e9);
-001901 7FE9              MOV     R7,#0E9H
-001903 1217E0            LCALL   _kb_set_multikey
+00190A 7FE9              MOV     R7,#0E9H
+00190C 1217E9            LCALL   _kb_set_multikey
   540: 			}
-001906 4192              AJMP    ?C0133?KB_PROCESS
-001908         ?C0144?KB_PROCESS:
+00190F 4198              AJMP    ?C0133?KB_PROCESS
+001911         ?C0144?KB_PROCESS:
   541: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
-001908 EB                MOV     A,R3
-001909 B4F809            CJNE    A,#0F8H,?C0146?KB_PROCESS
+001911 EB                MOV     A,R3
+001912 B4F809            CJNE    A,#0F8H,?C0146?KB_PROCESS
   542: 			{
   543: 				kb_set_multikey(0x00e2);
-00190C 7FE2              MOV     R7,#0E2H
-00190E 7E00              MOV     R6,#00H
-001910 1217E0            LCALL   _kb_set_multikey
+001915 7FE2              MOV     R7,#0E2H
+001917 7E00              MOV     R6,#00H
+001919 1217E9            LCALL   _kb_set_multikey
   544: 			}
-001913 4192              AJMP    ?C0133?KB_PROCESS
-001915         ?C0146?KB_PROCESS:
+00191C 4198              AJMP    ?C0133?KB_PROCESS
+00191E         ?C0146?KB_PROCESS:
   545: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
-001915 904E6F            MOV     DPTR,#pEvt
-001918 E0                MOVX    A,@DPTR
-001919 FB                MOV     R3,A
-00191A A3                INC     DPTR
-00191B E0                MOVX    A,@DPTR
-00191C FA                MOV     R2,A
-00191D A3                INC     DPTR
-00191E E0                MOVX    A,@DPTR
-00191F 2401              ADD     A,#01H
-001921 F9                MOV     R1,A
-001922 E4                CLR     A
-001923 3A                ADDC    A,R2
-001924 FA                MOV     R2,A
-001925 A3                INC     DPTR
-001926 E0                MOVX    A,@DPTR
-001927 7E00              MOV     R6,#00H
-001929 29                ADD     A,R1
+00191E 904E6F            MOV     DPTR,#pEvt
+001921 E0                MOVX    A,@DPTR
+001922 FB                MOV     R3,A
+001923 A3                INC     DPTR
+001924 E0                MOVX    A,@DPTR
+001925 FA                MOV     R2,A
+001926 A3                INC     DPTR
+001927 E0                MOVX    A,@DPTR
+001928 2401              ADD     A,#01H
 00192A F9                MOV     R1,A
-00192B EE                MOV     A,R6
+00192B E4                CLR     A
 00192C 3A                ADDC    A,R2
 00192D FA                MOV     R2,A
-00192E 1203B6            LCALL   ?C?CLDPTR
-001931 FB                MOV     R3,A
-001932 B4F908            CJNE    A,#0F9H,?C0148?KB_PROCESS
+00192E A3                INC     DPTR
+00192F E0                MOVX    A,@DPTR
+001930 7E00              MOV     R6,#00H
+001932 29                ADD     A,R1
+001933 F9                MOV     R1,A
+001934 EE                MOV     A,R6
+001935 3A                ADDC    A,R2
+001936 FA                MOV     R2,A
+001937 1203B6            LCALL   ?C?CLDPTR
+00193A FB                MOV     R3,A
+00193B B4F908            CJNE    A,#0F9H,?C0148?KB_PROCESS
   546: 			{
   547: 				kb_set_multikey(0x0194);
-001935 7F94              MOV     R7,#094H
-001937 0E                INC     R6
-001938 1217E0            LCALL   _kb_set_multikey
+00193E 7F94              MOV     R7,#094H
+001940 0E                INC     R6
+001941 1217E9            LCALL   _kb_set_multikey
   548: 			}
-00193B 4192              AJMP    ?C0133?KB_PROCESS
-00193D         ?C0148?KB_PROCESS:
+001944 4198              AJMP    ?C0133?KB_PROCESS
+001946         ?C0148?KB_PROCESS:
   549: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
-00193D EB                MOV     A,R3
-00193E B4FA09            CJNE    A,#0FAH,?C0150?KB_PROCESS
+001946 EB                MOV     A,R3
+001947 B4FA09            CJNE    A,#0FAH,?C0150?KB_PROCESS
   550: 			{
   551: 				kb_set_multikey(0x018a);//mail
-001941 7F8A              MOV     R7,#08AH
-001943 7E01              MOV     R6,#01H
-001945 1217E0            LCALL   _kb_set_multikey
+00194A 7F8A              MOV     R7,#08AH
+00194C 7E01              MOV     R6,#01H
+00194E 1217E9            LCALL   _kb_set_multikey
   552: 			}
-001948 4192              AJMP    ?C0133?KB_PROCESS
-00194A         ?C0150?KB_PROCESS:
+001951 4198              AJMP    ?C0133?KB_PROCESS
+001953         ?C0150?KB_PROCESS:
   553: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
-00194A 904E6F            MOV     DPTR,#pEvt
-00194D E0                MOVX    A,@DPTR
-00194E FB                MOV     R3,A
-00194F A3                INC     DPTR
-001950 E0                MOVX    A,@DPTR
-001951 FA                MOV     R2,A
-001952 A3                INC     DPTR
-001953 E0                MOVX    A,@DPTR
-001954 2401              ADD     A,#01H
-001956 F9                MOV     R1,A
-001957 E4                CLR     A
-001958 3A                ADDC    A,R2
-001959 FA                MOV     R2,A
-00195A A3                INC     DPTR
-00195B E0                MOVX    A,@DPTR
-00195C 7E00              MOV     R6,#00H
-00195E 29                ADD     A,R1
+001953 904E6F            MOV     DPTR,#pEvt
+001956 E0                MOVX    A,@DPTR
+001957 FB                MOV     R3,A
+001958 A3                INC     DPTR
+001959 E0                MOVX    A,@DPTR
+00195A FA                MOV     R2,A
+00195B A3                INC     DPTR
+00195C E0                MOVX    A,@DPTR
+00195D 2401              ADD     A,#01H
 00195F F9                MOV     R1,A
-001960 EE                MOV     A,R6
+001960 E4                CLR     A
 001961 3A                ADDC    A,R2
 001962 FA                MOV     R2,A
-001963 1203B6            LCALL   ?C?CLDPTR
-001966 FB                MOV     R3,A
-001967 B4FB08            CJNE    A,#0FBH,?C0152?KB_PROCESS
+001963 A3                INC     DPTR
+001964 E0                MOVX    A,@DPTR
+001965 7E00              MOV     R6,#00H
+001967 29                ADD     A,R1
+001968 F9                MOV     R1,A
+001969 EE                MOV     A,R6
+00196A 3A                ADDC    A,R2
+00196B FA                MOV     R2,A
+00196C 1203B6            LCALL   ?C?CLDPTR
+00196F FB                MOV     R3,A
+001970 B4FB08            CJNE    A,#0FBH,?C0152?KB_PROCESS
   554: 			{
   555: 				kb_set_multikey(0x0192);
-00196A 7F92              MOV     R7,#092H
-00196C 0E                INC     R6
-00196D 1217E0            LCALL   _kb_set_multikey
+001973 7F92              MOV     R7,#092H
+001975 0E                INC     R6
+001976 1217E9            LCALL   _kb_set_multikey
   556: 			}
-001970 4192              AJMP    ?C0133?KB_PROCESS
-001972         ?C0152?KB_PROCESS:
+001979 4198              AJMP    ?C0133?KB_PROCESS
+00197B         ?C0152?KB_PROCESS:
   557: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
-001972 EB                MOV     A,R3
-001973 B4D009            CJNE    A,#0D0H,?C0154?KB_PROCESS
+00197B EB                MOV     A,R3
+00197C B4D009            CJNE    A,#0D0H,?C0154?KB_PROCESS
   558: 			{
   559: 				kb_set_multikey(0x022a);//www Favorites
-001976 7F2A              MOV     R7,#02AH
-001978 7E02              MOV     R6,#02H
-00197A 1217E0            LCALL   _kb_set_multikey
+00197F 7F2A              MOV     R7,#02AH
+001981 7E02              MOV     R6,#02H
+001983 1217E9            LCALL   _kb_set_multikey
   560: 			}
-00197D 4192              AJMP    ?C0133?KB_PROCESS
-00197F         ?C0154?KB_PROCESS:
+001986 4198              AJMP    ?C0133?KB_PROCESS
+001988         ?C0154?KB_PROCESS:
   561: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
-00197F 904E6F            MOV     DPTR,#pEvt
-001982 E0                MOVX    A,@DPTR
-001983 FB                MOV     R3,A
-001984 A3                INC     DPTR
-001985 E0                MOVX    A,@DPTR
-001986 FA                MOV     R2,A
-001987 A3                INC     DPTR
-001988 E0                MOVX    A,@DPTR
-001989 2401              ADD     A,#01H
-00198B F9                MOV     R1,A
-00198C E4                CLR     A
-00198D 3A                ADDC    A,R2
-00198E FA                MOV     R2,A
-00198F A3                INC     DPTR
-001990 E0                MOVX    A,@DPTR
-001991 7E00              MOV     R6,#00H
-001993 29                ADD     A,R1
+001988 904E6F            MOV     DPTR,#pEvt
+00198B E0                MOVX    A,@DPTR
+00198C FB                MOV     R3,A
+00198D A3                INC     DPTR
+00198E E0                MOVX    A,@DPTR
+00198F FA                MOV     R2,A
+001990 A3                INC     DPTR
+001991 E0                MOVX    A,@DPTR
+001992 2401              ADD     A,#01H
 001994 F9                MOV     R1,A
-001995 EE                MOV     A,R6
+001995 E4                CLR     A
 001996 3A                ADDC    A,R2
 001997 FA                MOV     R2,A
-001998 1203B6            LCALL   ?C?CLDPTR
-00199B FB                MOV     R3,A
-00199C B4D109            CJNE    A,#0D1H,?C0156?KB_PROCESS
+001998 A3                INC     DPTR
+001999 E0                MOVX    A,@DPTR
+00199A 7E00              MOV     R6,#00H
+00199C 29                ADD     A,R1
+00199D F9                MOV     R1,A
+00199E EE                MOV     A,R6
+00199F 3A                ADDC    A,R2
+0019A0 FA                MOV     R2,A
+0019A1 1203B6            LCALL   ?C?CLDPTR
+0019A4 FB                MOV     R3,A
+0019A5 B4D109            CJNE    A,#0D1H,?C0156?KB_PROCESS
   562: 			{
   563: 				kb_set_multikey(0x0225);
-00199F 7F25              MOV     R7,#025H
-0019A1 7E02              MOV     R6,#02H
-0019A3 1217E0            LCALL   _kb_set_multikey
+0019A8 7F25              MOV     R7,#025H
+0019AA 7E02              MOV     R6,#02H
+0019AC 1217E9            LCALL   _kb_set_multikey
   564: 			}
-0019A6 4192              AJMP    ?C0133?KB_PROCESS
-0019A8         ?C0156?KB_PROCESS:
+0019AF 4198              AJMP    ?C0133?KB_PROCESS
+0019B1         ?C0156?KB_PROCESS:
   565: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
-0019A8 EB                MOV     A,R3
-0019A9 B4D309            CJNE    A,#0D3H,?C0158?KB_PROCESS
+0019B1 EB                MOV     A,R3
+0019B2 B4D309            CJNE    A,#0D3H,?C0158?KB_PROCESS
   566: 			{
   567: 				kb_set_multikey(0x0226);
-0019AC 7F26              MOV     R7,#026H
-0019AE 7E02              MOV     R6,#02H
-0019B0 1217E0            LCALL   _kb_set_multikey
+0019B5 7F26              MOV     R7,#026H
+0019B7 7E02              MOV     R6,#02H
+0019B9 1217E9            LCALL   _kb_set_multikey
   568: 			}
-0019B3 4192              AJMP    ?C0133?KB_PROCESS
-0019B5         ?C0158?KB_PROCESS:
+0019BC 4198              AJMP    ?C0133?KB_PROCESS
+0019BE         ?C0158?KB_PROCESS:
   569: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
-0019B5 904E6F            MOV     DPTR,#pEvt
-0019B8 E0                MOVX    A,@DPTR
-0019B9 FB                MOV     R3,A
-0019BA A3                INC     DPTR
-0019BB E0                MOVX    A,@DPTR
-0019BC FA                MOV     R2,A
-0019BD A3                INC     DPTR
-0019BE E0                MOVX    A,@DPTR
-0019BF 2401              ADD     A,#01H
-0019C1 F9                MOV     R1,A
-0019C2 E4                CLR     A
-0019C3 3A                ADDC    A,R2
-0019C4 FA                MOV     R2,A
-0019C5 A3                INC     DPTR
-0019C6 E0                MOVX    A,@DPTR
-0019C7 7E00              MOV     R6,#00H
-0019C9 29                ADD     A,R1
+0019BE 904E6F            MOV     DPTR,#pEvt
+0019C1 E0                MOVX    A,@DPTR
+0019C2 FB                MOV     R3,A
+0019C3 A3                INC     DPTR
+0019C4 E0                MOVX    A,@DPTR
+0019C5 FA                MOV     R2,A
+0019C6 A3                INC     DPTR
+0019C7 E0                MOVX    A,@DPTR
+0019C8 2401              ADD     A,#01H
 0019CA F9                MOV     R1,A
-0019CB EE                MOV     A,R6
+0019CB E4                CLR     A
 0019CC 3A                ADDC    A,R2
 0019CD FA                MOV     R2,A
-0019CE 1203B6            LCALL   ?C?CLDPTR
-0019D1 FB                MOV     R3,A
-0019D2 B4D209            CJNE    A,#0D2H,?C0160?KB_PROCESS
+0019CE A3                INC     DPTR
+0019CF E0                MOVX    A,@DPTR
+0019D0 7E00              MOV     R6,#00H
+0019D2 29                ADD     A,R1
+0019D3 F9                MOV     R1,A
+0019D4 EE                MOV     A,R6
+0019D5 3A                ADDC    A,R2
+0019D6 FA                MOV     R2,A
+0019D7 1203B6            LCALL   ?C?CLDPTR
+0019DA FB                MOV     R3,A
+0019DB B4D209            CJNE    A,#0D2H,?C0160?KB_PROCESS
   570: 			{
   571: 				kb_set_multikey(0x0224);
-0019D5 7F24              MOV     R7,#024H
-0019D7 7E02              MOV     R6,#02H
-0019D9 1217E0            LCALL   _kb_set_multikey
+0019DE 7F24              MOV     R7,#024H
+0019E0 7E02              MOV     R6,#02H
+0019E2 1217E9            LCALL   _kb_set_multikey
   572: 			}
-0019DC 4192              AJMP    ?C0133?KB_PROCESS
-0019DE         ?C0160?KB_PROCESS:
+0019E5 4198              AJMP    ?C0133?KB_PROCESS
+0019E7         ?C0160?KB_PROCESS:
   573: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
-0019DE EB                MOV     A,R3
-0019DF B4D409            CJNE    A,#0D4H,?C0162?KB_PROCESS
+0019E7 EB                MOV     A,R3
+0019E8 B4D409            CJNE    A,#0D4H,?C0162?KB_PROCESS
   574: 			{
   575: 				kb_set_multikey(0x0227);
-0019E2 7F27              MOV     R7,#027H
-0019E4 7E02              MOV     R6,#02H
-0019E6 1217E0            LCALL   _kb_set_multikey
+0019EB 7F27              MOV     R7,#027H
+0019ED 7E02              MOV     R6,#02H
+0019EF 1217E9            LCALL   _kb_set_multikey
   576: 			}
-0019E9 4192              AJMP    ?C0133?KB_PROCESS
-0019EB         ?C0162?KB_PROCESS:
+0019F2 4198              AJMP    ?C0133?KB_PROCESS
+0019F4         ?C0162?KB_PROCESS:
   577: 			
   578: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
-0019EB 904E6F            MOV     DPTR,#pEvt
-0019EE E0                MOVX    A,@DPTR
-0019EF FB                MOV     R3,A
-0019F0 A3                INC     DPTR
-0019F1 E0                MOVX    A,@DPTR
-0019F2 FA                MOV     R2,A
-0019F3 A3                INC     DPTR
-0019F4 E0                MOVX    A,@DPTR
-0019F5 2401              ADD     A,#01H
-0019F7 F9                MOV     R1,A
-0019F8 E4                CLR     A
-0019F9 3A                ADDC    A,R2
-0019FA FA                MOV     R2,A
-0019FB A3                INC     DPTR
-0019FC E0                MOVX    A,@DPTR
-0019FD 7E00              MOV     R6,#00H
-0019FF 29                ADD     A,R1
+0019F4 904E6F            MOV     DPTR,#pEvt
+0019F7 E0                MOVX    A,@DPTR
+0019F8 FB                MOV     R3,A
+0019F9 A3                INC     DPTR
+0019FA E0                MOVX    A,@DPTR
+0019FB FA                MOV     R2,A
+0019FC A3                INC     DPTR
+0019FD E0                MOVX    A,@DPTR
+0019FE 2401              ADD     A,#01H
 001A00 F9                MOV     R1,A
-001A01 EE                MOV     A,R6
+001A01 E4                CLR     A
 001A02 3A                ADDC    A,R2
 001A03 FA                MOV     R2,A
-001A04 1203B6            LCALL   ?C?CLDPTR
-001A07 FB                MOV     R3,A
-001A08 B4D509            CJNE    A,#0D5H,?C0164?KB_PROCESS
+001A04 A3                INC     DPTR
+001A05 E0                MOVX    A,@DPTR
+001A06 7E00              MOV     R6,#00H
+001A08 29                ADD     A,R1
+001A09 F9                MOV     R1,A
+001A0A EE                MOV     A,R6
+001A0B 3A                ADDC    A,R2
+001A0C FA                MOV     R2,A
+001A0D 1203B6            LCALL   ?C?CLDPTR
+001A10 FB                MOV     R3,A
+001A11 B4D509            CJNE    A,#0D5H,?C0164?KB_PROCESS
   579: 			{
   580: 				kb_set_multikey(0x0221);
-001A0B 7F21              MOV     R7,#021H
-001A0D 7E02              MOV     R6,#02H
-001A0F 1217E0            LCALL   _kb_set_multikey
+001A14 7F21              MOV     R7,#021H
+001A16 7E02              MOV     R6,#02H
+001A18 1217E9            LCALL   _kb_set_multikey
   581: 			}
-001A12 807E              SJMP    ?C0133?KB_PROCESS
-001A14         ?C0164?KB_PROCESS:
+001A1B 807B              SJMP    ?C0133?KB_PROCESS
+001A1D         ?C0164?KB_PROCESS:
   582: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
-001A14 EB                MOV     A,R3
-001A15 B4D609            CJNE    A,#0D6H,?C0166?KB_PROCESS
+001A1D EB                MOV     A,R3
+001A1E B4D609            CJNE    A,#0D6H,?C0166?KB_PROCESS
   583: 			{
   584: 				kb_set_multikey(0x0223);
-001A18 7F23              MOV     R7,#023H
-001A1A 7E02              MOV     R6,#02H
-001A1C 1217E0            LCALL   _kb_set_multikey
+001A21 7F23              MOV     R7,#023H
+001A23 7E02              MOV     R6,#02H
+001A25 1217E9            LCALL   _kb_set_multikey
   585: 			}
-001A1F 8071              SJMP    ?C0133?KB_PROCESS
-001A21         ?C0166?KB_PROCESS:
+001A28 806E              SJMP    ?C0133?KB_PROCESS
+001A2A         ?C0166?KB_PROCESS:
   586: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
-001A21 904E6F            MOV     DPTR,#pEvt
-001A24 E0                MOVX    A,@DPTR
-001A25 FB                MOV     R3,A
-001A26 A3                INC     DPTR
-001A27 E0                MOVX    A,@DPTR
-001A28 FA                MOV     R2,A
-001A29 A3                INC     DPTR
-001A2A E0                MOVX    A,@DPTR
-001A2B 2401              ADD     A,#01H
-001A2D F9                MOV     R1,A
-001A2E E4                CLR     A
-001A2F 3A                ADDC    A,R2
-001A30 FA                MOV     R2,A
-001A31 A3                INC     DPTR
-001A32 E0                MOVX    A,@DPTR
-001A33 7E00              MOV     R6,#00H
-001A35 29                ADD     A,R1
+001A2A 904E6F            MOV     DPTR,#pEvt
+001A2D E0                MOVX    A,@DPTR
+001A2E FB                MOV     R3,A
+001A2F A3                INC     DPTR
+001A30 E0                MOVX    A,@DPTR
+001A31 FA                MOV     R2,A
+001A32 A3                INC     DPTR
+001A33 E0                MOVX    A,@DPTR
+001A34 2401              ADD     A,#01H
 001A36 F9                MOV     R1,A
-001A37 EE                MOV     A,R6
+001A37 E4                CLR     A
 001A38 3A                ADDC    A,R2
 001A39 FA                MOV     R2,A
-001A3A 1203B6            LCALL   ?C?CLDPTR
-001A3D FB                MOV     R3,A
-001A3E B4D707            CJNE    A,#0D7H,?C0168?KB_PROCESS
+001A3A A3                INC     DPTR
+001A3B E0                MOVX    A,@DPTR
+001A3C 7E00              MOV     R6,#00H
+001A3E 29                ADD     A,R1
+001A3F F9                MOV     R1,A
+001A40 EE                MOV     A,R6
+001A41 3A                ADDC    A,R2
+001A42 FA                MOV     R2,A
+001A43 1203B6            LCALL   ?C?CLDPTR
+001A46 FB                MOV     R3,A
+001A47 B4D707            CJNE    A,#0D7H,?C0168?KB_PROCESS
   587: 			{
   588: 				kb_set_multikey(0x0070);
-001A41 7F70              MOV     R7,#070H
-001A43 1217E0            LCALL   _kb_set_multikey
+001A4A 7F70              MOV     R7,#070H
+001A4C 1217E9            LCALL   _kb_set_multikey
   589: 			}
-001A46 804A              SJMP    ?C0133?KB_PROCESS
-001A48         ?C0168?KB_PROCESS:
+001A4F 8047              SJMP    ?C0133?KB_PROCESS
+001A51         ?C0168?KB_PROCESS:
   590: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
-001A48 EB                MOV     A,R3
-001A49 B4D809            CJNE    A,#0D8H,?C0170?KB_PROCESS
+001A51 EB                MOV     A,R3
+001A52 B4D809            CJNE    A,#0D8H,?C0170?KB_PROCESS
   591: 			{
   592: 				kb_set_multikey(0x006f);
-001A4C 7F6F              MOV     R7,#06FH
-001A4E 7E00              MOV     R6,#00H
-001A50 1217E0            LCALL   _kb_set_multikey
+001A55 7F6F              MOV     R7,#06FH
+001A57 7E00              MOV     R6,#00H
+001A59 1217E9            LCALL   _kb_set_multikey
   593: 			}
-001A53 803D              SJMP    ?C0133?KB_PROCESS
-001A55         ?C0170?KB_PROCESS:
+001A5C 803A              SJMP    ?C0133?KB_PROCESS
+001A5E         ?C0170?KB_PROCESS:
   594: 		#ifdef SYSTEM_CONTROL_ENABLE
   595: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
-001A55 904E6F            MOV     DPTR,#pEvt
-001A58 E0                MOVX    A,@DPTR
-001A59 FB                MOV     R3,A
-001A5A A3                INC     DPTR
-001A5B E0                MOVX    A,@DPTR
-001A5C FA                MOV     R2,A
-001A5D A3                INC     DPTR
-001A5E E0                MOVX    A,@DPTR
-001A5F 2401              ADD     A,#01H
-001A61 F9                MOV     R1,A
-001A62 E4                CLR     A
-001A63 3A                ADDC    A,R2
-001A64 FA                MOV     R2,A
-001A65 A3                INC     DPTR
-001A66 E0                MOVX    A,@DPTR
-001A67 7E00              MOV     R6,#00H
-001A69 29                ADD     A,R1
+001A5E 904E6F            MOV     DPTR,#pEvt
+001A61 E0                MOVX    A,@DPTR
+001A62 FB                MOV     R3,A
+001A63 A3                INC     DPTR
+001A64 E0                MOVX    A,@DPTR
+001A65 FA                MOV     R2,A
+001A66 A3                INC     DPTR
+001A67 E0                MOVX    A,@DPTR
+001A68 2401              ADD     A,#01H
 001A6A F9                MOV     R1,A
-001A6B EE                MOV     A,R6
+001A6B E4                CLR     A
 001A6C 3A                ADDC    A,R2
 001A6D FA                MOV     R2,A
-001A6E 1203B6            LCALL   ?C?CLDPTR
-001A71 FE                MOV     R6,A
-001A72 B4DD07            CJNE    A,#0DDH,?C0172?KB_PROCESS
+001A6E A3                INC     DPTR
+001A6F E0                MOVX    A,@DPTR
+001A70 7E00              MOV     R6,#00H
+001A72 29                ADD     A,R1
+001A73 F9                MOV     R1,A
+001A74 EE                MOV     A,R6
+001A75 3A                ADDC    A,R2
+001A76 FA                MOV     R2,A
+001A77 1203B6            LCALL   ?C?CLDPTR
+001A7A FE                MOV     R6,A
+001A7B B4DD06            CJNE    A,#0DDH,?C0172?KB_PROCESS
   596: 		      	{
   597: 		        	kb_set_systemkey(0x01);
-001A75 7F01              MOV     R7,#01H
-001A77 1217FB            LCALL   _kb_set_systemkey
+001A7E 7F01              MOV     R7,#01H
+001A80 1104              ACALL   _kb_set_systemkey
   598: 		      	}
-001A7A 8016              SJMP    ?C0133?KB_PROCESS
-001A7C         ?C0172?KB_PROCESS:
+001A82 8014              SJMP    ?C0133?KB_PROCESS
+001A84         ?C0172?KB_PROCESS:
   599: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
-001A7C EE                MOV     A,R6
-001A7D B4DE07            CJNE    A,#0DEH,?C0174?KB_PROCESS
+001A84 EE                MOV     A,R6
+001A85 B4DE06            CJNE    A,#0DEH,?C0174?KB_PROCESS
   600: 		      	{
   601: 		        	kb_set_systemkey(0x02);
-001A80 7F02              MOV     R7,#02H
-001A82 1217FB            LCALL   _kb_set_systemkey
+001A88 7F02              MOV     R7,#02H
+001A8A 1104              ACALL   _kb_set_systemkey
   602: 		      	}
-001A85 800B              SJMP    ?C0133?KB_PROCESS
-001A87         ?C0174?KB_PROCESS:
+001A8C 800A              SJMP    ?C0133?KB_PROCESS
+001A8E         ?C0174?KB_PROCESS:
   603: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
-001A87 1203B6            LCALL   ?C?CLDPTR
-001A8A B4DF05            CJNE    A,#0DFH,?C0133?KB_PROCESS
+001A8E 1203B6            LCALL   ?C?CLDPTR
+001A91 B4DF04            CJNE    A,#0DFH,?C0133?KB_PROCESS
   604: 		      	{
   605: 		        	kb_set_systemkey(0x04);
-001A8D 7F04              MOV     R7,#04H
-001A8F 1217FB            LCALL   _kb_set_systemkey
+001A94 7F04              MOV     R7,#04H
+001A96 1104              ACALL   _kb_set_systemkey
   606: 		      	}
-001A92         ?C0133?KB_PROCESS:
+001A98         ?C0133?KB_PROCESS:
   607: 		#endif
   608: 			
   609: 			if(mult_key_status == KEY_WAIT_RELEASE)
-001A92 904DE7            MOV     DPTR,#mult_key_status
-001A95 E0                MOVX    A,@DPTR
-001A96 B40224            CJNE    A,#02H,?C0129?KB_PROCESS
+001A98 904DE7            MOV     DPTR,#mult_key_status
+001A9B E0                MOVX    A,@DPTR
+001A9C B40224            CJNE    A,#02H,?C0129?KB_PROCESS
   610: 			{
   611: 				mult_key_value = pEvt->ksPool[i];
-001A99 904E6F            MOV     DPTR,#pEvt
-001A9C E0                MOVX    A,@DPTR
-001A9D FB                MOV     R3,A
-001A9E A3                INC     DPTR
-001A9F E0                MOVX    A,@DPTR
-001AA0 FA                MOV     R2,A
-001AA1 A3                INC     DPTR
+001A9F 904E6F            MOV     DPTR,#pEvt
 001AA2 E0                MOVX    A,@DPTR
-001AA3 2401              ADD     A,#01H
-001AA5 F9                MOV     R1,A
-001AA6 E4                CLR     A
-001AA7 3A                ADDC    A,R2
-001AA8 FA                MOV     R2,A
-001AA9 A3                INC     DPTR
-001AAA E0                MOVX    A,@DPTR
-001AAB 7E00              MOV     R6,#00H
-001AAD 29                ADD     A,R1
-001AAE F9                MOV     R1,A
-001AAF EE                MOV     A,R6
-001AB0 3A                ADDC    A,R2
-001AB1 FA                MOV     R2,A
-001AB2 1203B6            LCALL   ?C?CLDPTR
-001AB5 904DE6            MOV     DPTR,#mult_key_value
-001AB8 F0                MOVX    @DPTR,A
+001AA3 FB                MOV     R3,A
+001AA4 A3                INC     DPTR
+001AA5 E0                MOVX    A,@DPTR
+001AA6 FA                MOV     R2,A
+001AA7 A3                INC     DPTR
+001AA8 E0                MOVX    A,@DPTR
+001AA9 2401              ADD     A,#01H
+001AAB F9                MOV     R1,A
+001AAC E4                CLR     A
+001AAD 3A                ADDC    A,R2
+001AAE FA                MOV     R2,A
+001AAF A3                INC     DPTR
+001AB0 E0                MOVX    A,@DPTR
+001AB1 7E00              MOV     R6,#00H
+001AB3 29                ADD     A,R1
+001AB4 F9                MOV     R1,A
+001AB5 EE                MOV     A,R6
+001AB6 3A                ADDC    A,R2
+001AB7 FA                MOV     R2,A
+001AB8 1203B6            LCALL   ?C?CLDPTR
+001ABB 904DE6            MOV     DPTR,#mult_key_value
+001ABE F0                MOVX    @DPTR,A
   612: 				pEvt->ksPool[i] = 0;
-001AB9 E4                CLR     A
-001ABA 1203FC            LCALL   ?C?CSTPTR
+001ABF E4                CLR     A
+001AC0 1203FC            LCALL   ?C?CSTPTR
   613: 			}
   614: 		}
   615: 	}
-001ABD         ?C0129?KB_PROCESS:
-001ABD 904E72            MOV     DPTR,#i
-001AC0 E0                MOVX    A,@DPTR
-001AC1 04                INC     A
-001AC2 F0                MOVX    @DPTR,A
-001AC3 0125              AJMP    ?C0127?KB_PROCESS
+001AC3         ?C0129?KB_PROCESS:
+001AC3 904E72            MOV     DPTR,#i
+001AC6 E0                MOVX    A,@DPTR
+001AC7 04                INC     A
+001AC8 F0                MOVX    @DPTR,A
+001AC9 012E              AJMP    ?C0127?KB_PROCESS
   616: }
-001AC5         ?C0178?KB_PROCESS:
-001AC5 22                RET     
+001ACB         ?C0178?KB_PROCESS:
+001ACB 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
 
@@ -4610,44 +4619,44 @@
 ;---- Variable 'special_key' assigned to Register 'R5' ----
   381: 	g_variable.key_combination_ctrl = special_key;	
   382: 	g_variable.key_combination_keyvalue = standrad_key;
-001AC6 904CF8            MOV     DPTR,#g_variable+039H
-001AC9 ED                MOV     A,R5
-001ACA F0                MOVX    @DPTR,A
+001ACC 904CF8            MOV     DPTR,#g_variable+039H
+001ACF ED                MOV     A,R5
+001AD0 F0                MOVX    @DPTR,A
   383: 
-001ACB A3                INC     DPTR
-001ACC EB                MOV     A,R3
-001ACD F0                MOVX    @DPTR,A
+001AD1 A3                INC     DPTR
+001AD2 EB                MOV     A,R3
+001AD3 F0                MOVX    @DPTR,A
   384: 	if(press_state & 1)
-001ACE EF                MOV     A,R7
-001ACF 30E012            JNB     ACC.0,?C0093?KB_PROCESS
+001AD4 EF                MOV     A,R7
+001AD5 30E012            JNB     ACC.0,?C0093?KB_PROCESS
   385: 	{
   386: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
-001AD2 904CF7            MOV     DPTR,#g_variable+038H
-001AD5 E0                MOVX    A,@DPTR
-001AD6 B40304            CJNE    A,#03H,?C0094?KB_PROCESS
+001AD8 904CF7            MOV     DPTR,#g_variable+038H
+001ADB E0                MOVX    A,@DPTR
+001ADC B40304            CJNE    A,#03H,?C0094?KB_PROCESS
   387: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
-001AD9 7402              MOV     A,#02H
-001ADB F0                MOVX    @DPTR,A
-001ADC 22                RET     
-001ADD         ?C0094?KB_PROCESS:
+001ADF 7402              MOV     A,#02H
+001AE1 F0                MOVX    @DPTR,A
+001AE2 22                RET     
+001AE3         ?C0094?KB_PROCESS:
   388: 		else	
   389: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-001ADD 904CF7            MOV     DPTR,#g_variable+038H
-001AE0 7401              MOV     A,#01H
-001AE2 F0                MOVX    @DPTR,A
+001AE3 904CF7            MOV     DPTR,#g_variable+038H
+001AE6 7401              MOV     A,#01H
+001AE8 F0                MOVX    @DPTR,A
   390: 	}
-001AE3 22                RET     
-001AE4         ?C0093?KB_PROCESS:
+001AE9 22                RET     
+001AEA         ?C0093?KB_PROCESS:
   391: 	else
   392: 	{
   393: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-001AE4 904CF7            MOV     DPTR,#g_variable+038H
-001AE7 7404              MOV     A,#04H
-001AE9 F0                MOVX    @DPTR,A
+001AEA 904CF7            MOV     DPTR,#g_variable+038H
+001AED 7404              MOV     A,#04H
+001AEF F0                MOVX    @DPTR,A
   394: 	}
   395: 
   396: }
-001AEA 22                RET     
+001AF0 22                RET     
 ----- FUNCTION _kb_combination_key_press (END) -------
 
 
@@ -4656,805 +4665,805 @@
   399: byte key_fn_function(byte state ,byte key_value)
   400: {
 ;---- Variable 'state' assigned to Register 'R6' ----
-001AEB AE07              MOV     R6,AR7
+001AF1 AE07              MOV     R6,AR7
 ;---- Variable 'key_value' assigned to Register 'R5' ----
   401: 	byte temp = 0;
   402: 
-001AED E4                CLR     A
-001AEE 904E97            MOV     DPTR,#temp
-001AF1 F0                MOVX    @DPTR,A
+001AF3 E4                CLR     A
+001AF4 904E97            MOV     DPTR,#temp
+001AF7 F0                MOVX    @DPTR,A
   403: 	if(state & 1)
-001AF2 EE                MOV     A,R6
-001AF3 30E005            JNB     ACC.0,?C0098?KB_PROCESS
+001AF8 EE                MOV     A,R6
+001AF9 30E005            JNB     ACC.0,?C0098?KB_PROCESS
   404: 		g_variable.one_key_press_wait_release_timer = 0;
-001AF6 E4                CLR     A
-001AF7 904CFB            MOV     DPTR,#g_variable+03CH
-001AFA F0                MOVX    @DPTR,A
-001AFB         ?C0098?KB_PROCESS:
+001AFC E4                CLR     A
+001AFD 904CFB            MOV     DPTR,#g_variable+03CH
+001B00 F0                MOVX    @DPTR,A
+001B01         ?C0098?KB_PROCESS:
   405: 
   406: 	temp = key_value;
-001AFB 904E97            MOV     DPTR,#temp
-001AFE ED                MOV     A,R5
-001AFF F0                MOVX    @DPTR,A
+001B01 904E97            MOV     DPTR,#temp
+001B04 ED                MOV     A,R5
+001B05 F0                MOVX    @DPTR,A
   407: 		if(fn_flag == 1)			// Fn lock
-001B00 904DDB            MOV     DPTR,#fn_flag
-001B03 E0                MOVX    A,@DPTR
-001B04 6401              XRL     A,#01H
-001B06 7023              JNZ     ?C0099?KB_PROCESS
+001B06 904DDB            MOV     DPTR,#fn_flag
+001B09 E0                MOVX    A,@DPTR
+001B0A 6401              XRL     A,#01H
+001B0C 7023              JNZ     ?C0099?KB_PROCESS
   408: 	{
   409: 		if(key_value == HID_KEY_ESC)
-001B08 ED                MOV     A,R5
-001B09 B4291F            CJNE    A,#029H,?C0099?KB_PROCESS
+001B0E ED                MOV     A,R5
+001B0F B4291F            CJNE    A,#029H,?C0099?KB_PROCESS
   410: 		{
   411: 			if(state & 1)
-001B0C EE                MOV     A,R6
-001B0D 30E016            JNB     ACC.0,?C0101?KB_PROCESS
+001B12 EE                MOV     A,R6
+001B13 30E016            JNB     ACC.0,?C0101?KB_PROCESS
   412: 			{						
   413: 				if(fn_lock_flag)
-001B10 904DE0            MOV     DPTR,#fn_lock_flag
-001B13 E0                MOVX    A,@DPTR
-001B14 6004              JZ      ?C0102?KB_PROCESS
+001B16 904DE0            MOV     DPTR,#fn_lock_flag
+001B19 E0                MOVX    A,@DPTR
+001B1A 6004              JZ      ?C0102?KB_PROCESS
   414: 				{
   415: 					fn_lock_flag = 0;
-001B16 E4                CLR     A
-001B17 F0                MOVX    @DPTR,A
+001B1C E4                CLR     A
+001B1D F0                MOVX    @DPTR,A
   416: 				}
-001B18 8006              SJMP    ?C0103?KB_PROCESS
-001B1A         ?C0102?KB_PROCESS:
+001B1E 8006              SJMP    ?C0103?KB_PROCESS
+001B20         ?C0102?KB_PROCESS:
   417: 				else
   418: 					fn_lock_flag = 1;
-001B1A 904DE0            MOV     DPTR,#fn_lock_flag
-001B1D 7401              MOV     A,#01H
-001B1F F0                MOVX    @DPTR,A
-001B20         ?C0103?KB_PROCESS:
+001B20 904DE0            MOV     DPTR,#fn_lock_flag
+001B23 7401              MOV     A,#01H
+001B25 F0                MOVX    @DPTR,A
+001B26         ?C0103?KB_PROCESS:
   419: 					
   420: 
   421: 				g_variable.update_eeprom_flag = 1;
-001B20 904CBF            MOV     DPTR,#g_variable
-001B23 7401              MOV     A,#01H
-001B25 F0                MOVX    @DPTR,A
+001B26 904CBF            MOV     DPTR,#g_variable
+001B29 7401              MOV     A,#01H
+001B2B F0                MOVX    @DPTR,A
   422: 				
   423: 			}
-001B26         ?C0101?KB_PROCESS:
+001B2C         ?C0101?KB_PROCESS:
   424: 			temp = HID_KEY_NULL;
-001B26 E4                CLR     A
-001B27 904E97            MOV     DPTR,#temp
-001B2A F0                MOVX    @DPTR,A
+001B2C E4                CLR     A
+001B2D 904E97            MOV     DPTR,#temp
+001B30 F0                MOVX    @DPTR,A
   425: 		}		
   426: 	}
-001B2B         ?C0099?KB_PROCESS:
+001B31         ?C0099?KB_PROCESS:
   427: 	
   428: 	if( ((fn_flag ==1&& !fn_lock_flag) || (!fn_flag  && fn_lock_flag==1 )))
-001B2B 904DDB            MOV     DPTR,#fn_flag
-001B2E E0                MOVX    A,@DPTR
-001B2F B40106            CJNE    A,#01H,?C0106?KB_PROCESS
-001B32 904DE0            MOV     DPTR,#fn_lock_flag
-001B35 E0                MOVX    A,@DPTR
-001B36 6012              JZ      ?C0105?KB_PROCESS
-001B38         ?C0106?KB_PROCESS:
-001B38 904DDB            MOV     DPTR,#fn_flag
+001B31 904DDB            MOV     DPTR,#fn_flag
+001B34 E0                MOVX    A,@DPTR
+001B35 B40106            CJNE    A,#01H,?C0106?KB_PROCESS
+001B38 904DE0            MOV     DPTR,#fn_lock_flag
 001B3B E0                MOVX    A,@DPTR
-001B3C 6002              JZ      $ + 4H
-001B3E 813B              AJMP    ?C0104?KB_PROCESS
-001B40 904DE0            MOV     DPTR,#fn_lock_flag
-001B43 E0                MOVX    A,@DPTR
-001B44 6401              XRL     A,#01H
-001B46 6002              JZ      $ + 4H
-001B48 813B              AJMP    ?C0104?KB_PROCESS
-001B4A         ?C0105?KB_PROCESS:
+001B3C 6012              JZ      ?C0105?KB_PROCESS
+001B3E         ?C0106?KB_PROCESS:
+001B3E 904DDB            MOV     DPTR,#fn_flag
+001B41 E0                MOVX    A,@DPTR
+001B42 6002              JZ      $ + 4H
+001B44 8141              AJMP    ?C0104?KB_PROCESS
+001B46 904DE0            MOV     DPTR,#fn_lock_flag
+001B49 E0                MOVX    A,@DPTR
+001B4A 6401              XRL     A,#01H
+001B4C 6002              JZ      $ + 4H
+001B4E 8141              AJMP    ?C0104?KB_PROCESS
+001B50         ?C0105?KB_PROCESS:
   429: 	{
   430: 		
   431: 		switch (key_value)
-001B4A ED                MOV     A,R5
-001B4B 24C6              ADD     A,#0C6H
-001B4D B40C00            CJNE    A,#0CH,?C0179?KB_PROCESS
-001B50         ?C0179?KB_PROCESS:
-001B50 4002              JC      $ + 4H
-001B52 813B              AJMP    ?C0104?KB_PROCESS
-001B54 901B62            MOV     DPTR,#01B62H
-001B57 75F003            MOV     B,#03H
-001B5A A4                MUL     AB
-001B5B C583              XCH     A,DPH
-001B5D 25F0              ADD     A,B
-001B5F C583              XCH     A,DPH
-001B61 73                JMP     @A+DPTR
-001B62         ?C0180?KB_PROCESS:
-001B62 021B86            LJMP    ?C0108?KB_PROCESS
-001B65 021B8E            LJMP    ?C0109?KB_PROCESS
-001B68 021B96            LJMP    ?C0110?KB_PROCESS
-001B6B 021B9E            LJMP    ?C0111?KB_PROCESS
-001B6E 021BA6            LJMP    ?C0112?KB_PROCESS
-001B71 021BC1            LJMP    ?C0114?KB_PROCESS
-001B74 021BDA            LJMP    ?C0116?KB_PROCESS
-001B77 021BF3            LJMP    ?C0118?KB_PROCESS
-001B7A 021C0C            LJMP    ?C0120?KB_PROCESS
-001B7D 021C14            LJMP    ?C0121?KB_PROCESS
-001B80 021C1C            LJMP    ?C0122?KB_PROCESS
-001B83 021C35            LJMP    ?C0124?KB_PROCESS
+001B50 ED                MOV     A,R5
+001B51 24C6              ADD     A,#0C6H
+001B53 B40C00            CJNE    A,#0CH,?C0179?KB_PROCESS
+001B56         ?C0179?KB_PROCESS:
+001B56 4002              JC      $ + 4H
+001B58 8141              AJMP    ?C0104?KB_PROCESS
+001B5A 901B68            MOV     DPTR,#01B68H
+001B5D 75F003            MOV     B,#03H
+001B60 A4                MUL     AB
+001B61 C583              XCH     A,DPH
+001B63 25F0              ADD     A,B
+001B65 C583              XCH     A,DPH
+001B67 73                JMP     @A+DPTR
+001B68         ?C0180?KB_PROCESS:
+001B68 021B8C            LJMP    ?C0108?KB_PROCESS
+001B6B 021B94            LJMP    ?C0109?KB_PROCESS
+001B6E 021B9C            LJMP    ?C0110?KB_PROCESS
+001B71 021BA4            LJMP    ?C0111?KB_PROCESS
+001B74 021BAC            LJMP    ?C0112?KB_PROCESS
+001B77 021BC7            LJMP    ?C0114?KB_PROCESS
+001B7A 021BE0            LJMP    ?C0116?KB_PROCESS
+001B7D 021BF9            LJMP    ?C0118?KB_PROCESS
+001B80 021C12            LJMP    ?C0120?KB_PROCESS
+001B83 021C1A            LJMP    ?C0121?KB_PROCESS
+001B86 021C22            LJMP    ?C0122?KB_PROCESS
+001B89 021C3B            LJMP    ?C0124?KB_PROCESS
   432: 		{ 
   433: 			case HID_KEY_F1:
-001B86         ?C0108?KB_PROCESS:
+001B8C         ?C0108?KB_PROCESS:
   434: 				temp = HID_MULTIKEY_MEDIA;
-001B86 904E97            MOV     DPTR,#temp
-001B89 74F1              MOV     A,#0F1H
-001B8B F0                MOVX    @DPTR,A
+001B8C 904E97            MOV     DPTR,#temp
+001B8F 74F1              MOV     A,#0F1H
+001B91 F0                MOVX    @DPTR,A
   435: 				break;
-001B8C 813B              AJMP    ?C0104?KB_PROCESS
+001B92 8141              AJMP    ?C0104?KB_PROCESS
   436: 			case HID_KEY_F2:
-001B8E         ?C0109?KB_PROCESS:
+001B94         ?C0109?KB_PROCESS:
   437: 				temp = HID_MULTIKEY_MUTE;
-001B8E 904E97            MOV     DPTR,#temp
-001B91 74F8              MOV     A,#0F8H
-001B93 F0                MOVX    @DPTR,A
+001B94 904E97            MOV     DPTR,#temp
+001B97 74F8              MOV     A,#0F8H
+001B99 F0                MOVX    @DPTR,A
   438: 				break;
-001B94 813B              AJMP    ?C0104?KB_PROCESS
+001B9A 8141              AJMP    ?C0104?KB_PROCESS
   439: 			case HID_KEY_F3:
-001B96         ?C0110?KB_PROCESS:
+001B9C         ?C0110?KB_PROCESS:
   440: 				temp = HID_MULTIKEY_LIGHT_DOWN;
-001B96 904E97            MOV     DPTR,#temp
-001B99 74D7              MOV     A,#0D7H
-001B9B F0                MOVX    @DPTR,A
+001B9C 904E97            MOV     DPTR,#temp
+001B9F 74D7              MOV     A,#0D7H
+001BA1 F0                MOVX    @DPTR,A
   441: 				break;
-001B9C 813B              AJMP    ?C0104?KB_PROCESS
+001BA2 8141              AJMP    ?C0104?KB_PROCESS
   442: 			case HID_KEY_F4:
-001B9E         ?C0111?KB_PROCESS:
+001BA4         ?C0111?KB_PROCESS:
   443: 				temp = HID_MULTIKEY_LIGHT_UP;
-001B9E 904E97            MOV     DPTR,#temp
-001BA1 74D8              MOV     A,#0D8H
-001BA3 F0                MOVX    @DPTR,A
+001BA4 904E97            MOV     DPTR,#temp
+001BA7 74D8              MOV     A,#0D8H
+001BA9 F0                MOVX    @DPTR,A
   444: 				break;
-001BA4 813B              AJMP    ?C0104?KB_PROCESS
+001BAA 8141              AJMP    ?C0104?KB_PROCESS
   445: 			case HID_KEY_F5:
-001BA6         ?C0112?KB_PROCESS:
+001BAC         ?C0112?KB_PROCESS:
   446: 				kb_combination_key_press(state,HID_KEY_LEFT_CTL,HID_KEY_A);
-001BA6 AF06              MOV     R7,AR6
-001BA8 7B04              MOV     R3,#04H
-001BAA 7DE0              MOV     R5,#0E0H
-001BAC 51C6              ACALL   _kb_combination_key_press
+001BAC AF06              MOV     R7,AR6
+001BAE 7B04              MOV     R3,#04H
+001BB0 7DE0              MOV     R5,#0E0H
+001BB2 51CC              ACALL   _kb_combination_key_press
   447: 				temp = HID_KEY_NULL;
-001BAE E4                CLR     A
-001BAF 904E97            MOV     DPTR,#temp
-001BB2 F0                MOVX    @DPTR,A
+001BB4 E4                CLR     A
+001BB5 904E97            MOV     DPTR,#temp
+001BB8 F0                MOVX    @DPTR,A
   448: 				if(state & 1)
-001BB3 EE                MOV     A,R6
-001BB4 20E002            JB      ACC.0,$ + 5H
-001BB7 813B              AJMP    ?C0104?KB_PROCESS
+001BB9 EE                MOV     A,R6
+001BBA 20E002            JB      ACC.0,$ + 5H
+001BBD 8141              AJMP    ?C0104?KB_PROCESS
   449: 				{						
   450: 					g_variable.one_key_press_wait_release_timer = 10;
-001BB9 904CFB            MOV     DPTR,#g_variable+03CH
-001BBC 740A              MOV     A,#0AH
-001BBE F0                MOVX    @DPTR,A
+001BBF 904CFB            MOV     DPTR,#g_variable+03CH
+001BC2 740A              MOV     A,#0AH
+001BC4 F0                MOVX    @DPTR,A
   451: 				}
   452: 				break;
-001BBF 807A              SJMP    ?C0104?KB_PROCESS
+001BC5 807A              SJMP    ?C0104?KB_PROCESS
   453: 			case HID_KEY_F6:
-001BC1         ?C0114?KB_PROCESS:
+001BC7         ?C0114?KB_PROCESS:
   454: 				kb_combination_key_press(state,HID_KEY_LEFT_CTL,HID_KEY_C);
-001BC1 AF06              MOV     R7,AR6
-001BC3 7B06              MOV     R3,#06H
-001BC5 7DE0              MOV     R5,#0E0H
-001BC7 51C6              ACALL   _kb_combination_key_press
+001BC7 AF06              MOV     R7,AR6
+001BC9 7B06              MOV     R3,#06H
+001BCB 7DE0              MOV     R5,#0E0H
+001BCD 51CC              ACALL   _kb_combination_key_press
   455: 				temp = HID_KEY_NULL;
-001BC9 E4                CLR     A
-001BCA 904E97            MOV     DPTR,#temp
-001BCD F0                MOVX    @DPTR,A
+001BCF E4                CLR     A
+001BD0 904E97            MOV     DPTR,#temp
+001BD3 F0                MOVX    @DPTR,A
   456: 				if(state & 1)
-001BCE EE                MOV     A,R6
-001BCF 30E069            JNB     ACC.0,?C0104?KB_PROCESS
+001BD4 EE                MOV     A,R6
+001BD5 30E069            JNB     ACC.0,?C0104?KB_PROCESS
   457: 				{						
   458: 					g_variable.one_key_press_wait_release_timer = 10;
-001BD2 904CFB            MOV     DPTR,#g_variable+03CH
-001BD5 740A              MOV     A,#0AH
-001BD7 F0                MOVX    @DPTR,A
+001BD8 904CFB            MOV     DPTR,#g_variable+03CH
+001BDB 740A              MOV     A,#0AH
+001BDD F0                MOVX    @DPTR,A
   459: 				}
   460: 				break;
-001BD8 8061              SJMP    ?C0104?KB_PROCESS
+001BDE 8061              SJMP    ?C0104?KB_PROCESS
   461: 			case HID_KEY_F7:
-001BDA         ?C0116?KB_PROCESS:
+001BE0         ?C0116?KB_PROCESS:
   462: 				kb_combination_key_press(state,HID_KEY_LEFT_CTL,HID_KEY_V);
-001BDA AF06              MOV     R7,AR6
-001BDC 7B19              MOV     R3,#019H
-001BDE 7DE0              MOV     R5,#0E0H
-001BE0 51C6              ACALL   _kb_combination_key_press
+001BE0 AF06              MOV     R7,AR6
+001BE2 7B19              MOV     R3,#019H
+001BE4 7DE0              MOV     R5,#0E0H
+001BE6 51CC              ACALL   _kb_combination_key_press
   463: 				temp = HID_KEY_NULL;
-001BE2 E4                CLR     A
-001BE3 904E97            MOV     DPTR,#temp
-001BE6 F0                MOVX    @DPTR,A
+001BE8 E4                CLR     A
+001BE9 904E97            MOV     DPTR,#temp
+001BEC F0                MOVX    @DPTR,A
   464: 				if(state & 1)
-001BE7 EE                MOV     A,R6
-001BE8 30E050            JNB     ACC.0,?C0104?KB_PROCESS
+001BED EE                MOV     A,R6
+001BEE 30E050            JNB     ACC.0,?C0104?KB_PROCESS
   465: 				{						
   466: 					g_variable.one_key_press_wait_release_timer = 10;
-001BEB 904CFB            MOV     DPTR,#g_variable+03CH
-001BEE 740A              MOV     A,#0AH
-001BF0 F0                MOVX    @DPTR,A
+001BF1 904CFB            MOV     DPTR,#g_variable+03CH
+001BF4 740A              MOV     A,#0AH
+001BF6 F0                MOVX    @DPTR,A
   467: 				}
   468: 				break;
-001BF1 8048              SJMP    ?C0104?KB_PROCESS
+001BF7 8048              SJMP    ?C0104?KB_PROCESS
   469: 			case HID_KEY_F8:
-001BF3         ?C0118?KB_PROCESS:
+001BF9         ?C0118?KB_PROCESS:
   470: 				kb_combination_key_press(state,HID_KEY_LEFT_CTL,HID_KEY_X);
-001BF3 AF06              MOV     R7,AR6
-001BF5 7B1B              MOV     R3,#01BH
-001BF7 7DE0              MOV     R5,#0E0H
-001BF9 51C6              ACALL   _kb_combination_key_press
+001BF9 AF06              MOV     R7,AR6
+001BFB 7B1B              MOV     R3,#01BH
+001BFD 7DE0              MOV     R5,#0E0H
+001BFF 51CC              ACALL   _kb_combination_key_press
   471: 				temp = HID_KEY_NULL;
-001BFB E4                CLR     A
-001BFC 904E97            MOV     DPTR,#temp
-001BFF F0                MOVX    @DPTR,A
+001C01 E4                CLR     A
+001C02 904E97            MOV     DPTR,#temp
+001C05 F0                MOVX    @DPTR,A
   472: 				if(state & 1)
-001C00 EE                MOV     A,R6
-001C01 30E037            JNB     ACC.0,?C0104?KB_PROCESS
+001C06 EE                MOV     A,R6
+001C07 30E037            JNB     ACC.0,?C0104?KB_PROCESS
   473: 				{						
   474: 					g_variable.one_key_press_wait_release_timer = 10;
-001C04 904CFB            MOV     DPTR,#g_variable+03CH
-001C07 740A              MOV     A,#0AH
-001C09 F0                MOVX    @DPTR,A
+001C0A 904CFB            MOV     DPTR,#g_variable+03CH
+001C0D 740A              MOV     A,#0AH
+001C0F F0                MOVX    @DPTR,A
   475: 				}
   476: 				break;
-001C0A 802F              SJMP    ?C0104?KB_PROCESS
+001C10 802F              SJMP    ?C0104?KB_PROCESS
   477: 			case HID_KEY_F9:
-001C0C         ?C0120?KB_PROCESS:
+001C12         ?C0120?KB_PROCESS:
   478: 				temp = HID_MULTIKEY_AC_HOME;
-001C0C 904E97            MOV     DPTR,#temp
-001C0F 74D6              MOV     A,#0D6H
-001C11 F0                MOVX    @DPTR,A
+001C12 904E97            MOV     DPTR,#temp
+001C15 74D6              MOV     A,#0D6H
+001C17 F0                MOVX    @DPTR,A
   479: 				break;
-001C12 8027              SJMP    ?C0104?KB_PROCESS
+001C18 8027              SJMP    ?C0104?KB_PROCESS
   480: 			case HID_KEY_F10:
-001C14         ?C0121?KB_PROCESS:
+001C1A         ?C0121?KB_PROCESS:
   481: 				temp = HID_MULTIKEY_MAIL;
-001C14 904E97            MOV     DPTR,#temp
-001C17 74FA              MOV     A,#0FAH
-001C19 F0                MOVX    @DPTR,A
+001C1A 904E97            MOV     DPTR,#temp
+001C1D 74FA              MOV     A,#0FAH
+001C1F F0                MOVX    @DPTR,A
   482: 				break;
-001C1A 801F              SJMP    ?C0104?KB_PROCESS
+001C20 801F              SJMP    ?C0104?KB_PROCESS
   483: 			case HID_KEY_F11:
-001C1C         ?C0122?KB_PROCESS:
+001C22         ?C0122?KB_PROCESS:
   484: 				kb_combination_key_press(state,HID_KEY_LEFT_GUI ,HID_KEY_I);
-001C1C AF06              MOV     R7,AR6
-001C1E 7B0C              MOV     R3,#0CH
-001C20 7DE3              MOV     R5,#0E3H
-001C22 51C6              ACALL   _kb_combination_key_press
+001C22 AF06              MOV     R7,AR6
+001C24 7B0C              MOV     R3,#0CH
+001C26 7DE3              MOV     R5,#0E3H
+001C28 51CC              ACALL   _kb_combination_key_press
   485: 				temp = HID_KEY_NULL;
-001C24 E4                CLR     A
-001C25 904E97            MOV     DPTR,#temp
-001C28 F0                MOVX    @DPTR,A
+001C2A E4                CLR     A
+001C2B 904E97            MOV     DPTR,#temp
+001C2E F0                MOVX    @DPTR,A
   486: 				if(state & 1)
-001C29 EF                MOV     A,R7
-001C2A 30E00E            JNB     ACC.0,?C0104?KB_PROCESS
+001C2F EF                MOV     A,R7
+001C30 30E00E            JNB     ACC.0,?C0104?KB_PROCESS
   487: 				{						
   488: 					g_variable.one_key_press_wait_release_timer = 10;
-001C2D 904CFB            MOV     DPTR,#g_variable+03CH
-001C30 740A              MOV     A,#0AH
-001C32 F0                MOVX    @DPTR,A
+001C33 904CFB            MOV     DPTR,#g_variable+03CH
+001C36 740A              MOV     A,#0AH
+001C38 F0                MOVX    @DPTR,A
   489: 				}
   490: 				break;
-001C33 8006              SJMP    ?C0104?KB_PROCESS
+001C39 8006              SJMP    ?C0104?KB_PROCESS
   491: 			case HID_KEY_F12:
-001C35         ?C0124?KB_PROCESS:
+001C3B         ?C0124?KB_PROCESS:
   492: 				temp = HID_MULTIKEY_AC_FAVORITES;
-001C35 904E97            MOV     DPTR,#temp
-001C38 74D0              MOV     A,#0D0H
-001C3A F0                MOVX    @DPTR,A
+001C3B 904E97            MOV     DPTR,#temp
+001C3E 74D0              MOV     A,#0D0H
+001C40 F0                MOVX    @DPTR,A
   493: 				break;
   494: 			default :
   495: 				break;
   496: 		}
   497: 	}
-001C3B         ?C0104?KB_PROCESS:
+001C41         ?C0104?KB_PROCESS:
   498: 
   499: 	return temp;
-001C3B 904E97            MOV     DPTR,#temp
-001C3E E0                MOVX    A,@DPTR
-001C3F FF                MOV     R7,A
+001C41 904E97            MOV     DPTR,#temp
+001C44 E0                MOVX    A,@DPTR
+001C45 FF                MOV     R7,A
   500: }
-001C40 22                RET     
+001C46 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
 ----- FUNCTION KS_GetCurrentEvt (BEGIN) -----
  FILE: 'keyscan.c'
-  299: tKSEVENT *KS_GetCurrentEvt()
-  300: {
-  301: 	//
-  302: 	byte i = 0;
-001C41 E4                CLR     A
-001C42 904E23            MOV     DPTR,#i
-001C45 F0                MOVX    @DPTR,A
-  303: 	byte j = 0;
-001C46 A3                INC     DPTR
-001C47 F0                MOVX    @DPTR,A
-  304: 	byte k = 0;
-001C48 A3                INC     DPTR
-001C49 F0                MOVX    @DPTR,A
-  305: 	byte temp = 0;
-001C4A A3                INC     DPTR
+  304: tKSEVENT *KS_GetCurrentEvt()
+  305: {
+  306: 	//
+  307: 	byte i = 0;
+001C47 E4                CLR     A
+001C48 904E23            MOV     DPTR,#i
 001C4B F0                MOVX    @DPTR,A
-  306: 	byte flag = 0;
+  308: 	byte j = 0;
 001C4C A3                INC     DPTR
 001C4D F0                MOVX    @DPTR,A
-  307: 	byte offset = 0;
+  309: 	byte k = 0;
 001C4E A3                INC     DPTR
 001C4F F0                MOVX    @DPTR,A
-  308: 	byte state = 0;
+  310: 	byte temp = 0;
 001C50 A3                INC     DPTR
 001C51 F0                MOVX    @DPTR,A
-  309: 	byte keyCounttemp = 0;
+  311: 	byte flag = 0;
 001C52 A3                INC     DPTR
 001C53 F0                MOVX    @DPTR,A
-  310: 	byte key_value_temp = 0;
+  312: 	byte offset = 0;
 001C54 A3                INC     DPTR
 001C55 F0                MOVX    @DPTR,A
-  311: 	byte ghost = 0;
+  313: 	byte state = 0;
 001C56 A3                INC     DPTR
 001C57 F0                MOVX    @DPTR,A
-  312: 	byte rawCount = 0;
+  314: 	byte keyCounttemp = 0;
 001C58 A3                INC     DPTR
 001C59 F0                MOVX    @DPTR,A
-  313: 	
-  314: 	KS_ScanMatrix();
-001C5A 122015            LCALL   KS_ScanMatrix
-  315: 
-  316: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
-001C5D 7A4D              MOV     R2,#HIGH ksSelMapCheck
-001C5F 79A8              MOV     R1,#LOW ksSelMapCheck
-001C61 904E49            MOV     DPTR,#?_compare_str?BYTE+03H
-001C64 7401              MOV     A,#01H
-001C66 F0                MOVX    @DPTR,A
-001C67 A3                INC     DPTR
-001C68 744D              MOV     A,#HIGH ksSelMapCheck
-001C6A F0                MOVX    @DPTR,A
-001C6B A3                INC     DPTR
-001C6C 74A8              MOV     A,#LOW ksSelMapCheck
-001C6E F0                MOVX    @DPTR,A
-001C6F A3                INC     DPTR
-001C70 7414              MOV     A,#014H
-001C72 F0                MOVX    @DPTR,A
-001C73 7B01              MOV     R3,#01H
-001C75 7A4D              MOV     R2,#HIGH ksSelMapCurr
-001C77 79BC              MOV     R1,#LOW ksSelMapCurr
-001C79 D1CB              ACALL   _compare_str
-001C7B EF                MOV     A,R7
-001C7C 6016              JZ      ?C0059?KEYSCAN
-001C7E 7B01              MOV     R3,#01H
-001C80 7A4D              MOV     R2,#HIGH ksSelMapCurr
-001C82 79BC              MOV     R1,#LOW ksSelMapCurr
-001C84 7D14              MOV     R5,#014H
-001C86 D19B              ACALL   _array_is_empty
-001C88 EF                MOV     A,R7
-001C89 7009              JNZ     ?C0059?KEYSCAN
-  317: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
-  318: 	{
-  319: 		g_variable.button_flag |= 0x02;
-001C8B 904CCE            MOV     DPTR,#g_variable+0FH
-001C8E E0                MOVX    A,@DPTR
-001C8F 4402              ORL     A,#02H
-001C91 F0                MOVX    @DPTR,A
-  320: 	}
-001C92 800C              SJMP    ?C0060?KEYSCAN
-001C94         ?C0059?KEYSCAN:
-  321: 	else
-  322: 	{	
-  323: 		g_variable.button_flag &= 0xFD;
-001C94 904CCE            MOV     DPTR,#g_variable+0FH
-001C97 E0                MOVX    A,@DPTR
-001C98 54FD              ANL     A,#0FDH
-001C9A F0                MOVX    @DPTR,A
-  324: 		g_variable.button_timer[1] = 0;
-001C9B E4                CLR     A
-001C9C 904CD0            MOV     DPTR,#g_variable+011H
-001C9F F0                MOVX    @DPTR,A
+  315: 	byte key_value_temp = 0;
+001C5A A3                INC     DPTR
+001C5B F0                MOVX    @DPTR,A
+  316: 	byte ghost = 0;
+001C5C A3                INC     DPTR
+001C5D F0                MOVX    @DPTR,A
+  317: 	byte rawCount = 0;
+001C5E A3                INC     DPTR
+001C5F F0                MOVX    @DPTR,A
+  318: 	
+  319: 	KS_ScanMatrix();
+001C60 12204F            LCALL   KS_ScanMatrix
+  320: 
+  321: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
+001C63 7A4D              MOV     R2,#HIGH ksSelMapCheck
+001C65 79A8              MOV     R1,#LOW ksSelMapCheck
+001C67 904E49            MOV     DPTR,#?_compare_str?BYTE+03H
+001C6A 7401              MOV     A,#01H
+001C6C F0                MOVX    @DPTR,A
+001C6D A3                INC     DPTR
+001C6E 744D              MOV     A,#HIGH ksSelMapCheck
+001C70 F0                MOVX    @DPTR,A
+001C71 A3                INC     DPTR
+001C72 74A8              MOV     A,#LOW ksSelMapCheck
+001C74 F0                MOVX    @DPTR,A
+001C75 A3                INC     DPTR
+001C76 7414              MOV     A,#014H
+001C78 F0                MOVX    @DPTR,A
+001C79 7B01              MOV     R3,#01H
+001C7B 7A4D              MOV     R2,#HIGH ksSelMapCurr
+001C7D 79BC              MOV     R1,#LOW ksSelMapCurr
+001C7F D1D1              ACALL   _compare_str
+001C81 EF                MOV     A,R7
+001C82 6016              JZ      ?C0063?KEYSCAN
+001C84 7B01              MOV     R3,#01H
+001C86 7A4D              MOV     R2,#HIGH ksSelMapCurr
+001C88 79BC              MOV     R1,#LOW ksSelMapCurr
+001C8A 7D14              MOV     R5,#014H
+001C8C D1A1              ACALL   _array_is_empty
+001C8E EF                MOV     A,R7
+001C8F 7009              JNZ     ?C0063?KEYSCAN
+  322: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
+  323: 	{
+  324: 		g_variable.button_flag |= 0x02;
+001C91 904CCE            MOV     DPTR,#g_variable+0FH
+001C94 E0                MOVX    A,@DPTR
+001C95 4402              ORL     A,#02H
+001C97 F0                MOVX    @DPTR,A
   325: 	}
-001CA0         ?C0060?KEYSCAN:
-  326: 
-  327: 	for (i=0; col[i]!=0; i++) 
-001CA0 E4                CLR     A
-001CA1 904E23            MOV     DPTR,#i
-001CA4 F0                MOVX    @DPTR,A
-001CA5         ?C0061?KEYSCAN:
-001CA5 904E23            MOV     DPTR,#i
-001CA8 E0                MOVX    A,@DPTR
-001CA9 FF                MOV     R7,A
-001CAA 90060C            MOV     DPTR,#col
-001CAD 93                MOVC    A,@A+DPTR
-001CAE 7002              JNZ     $ + 4H
-001CB0 A172              AJMP    ?C0062?KEYSCAN
-  328: 	{
-  329: 		temp = ksSelMapCurr[i];
-001CB2 74BC              MOV     A,#LOW ksSelMapCurr
-001CB4 2F                ADD     A,R7
-001CB5 F582              MOV     DPL,A
-001CB7 E4                CLR     A
-001CB8 344D              ADDC    A,#HIGH ksSelMapCurr
-001CBA F583              MOV     DPH,A
-001CBC E0                MOVX    A,@DPTR
-001CBD 904E26            MOV     DPTR,#temp
-001CC0 F0                MOVX    @DPTR,A
-  330: 		rawCount = bit_count(temp);
-001CC1 E0                MOVX    A,@DPTR
-001CC2 FF                MOV     R7,A
-001CC3 D18D              ACALL   _bit_count
-001CC5 904E2D            MOV     DPTR,#rawCount
-001CC8 EF                MOV     A,R7
-001CC9 F0                MOVX    @DPTR,A
-  331: 		if(rawCount >= 2)		// col[i] has more than two key press
-001CCA C3                CLR     C
-001CCB 9402              SUBB    A,#02H
-001CCD 5002              JNC     $ + 4H
-001CCF A15B              AJMP    ?C0064?KEYSCAN
-  332: 		{
-  333: 			for(j=0 ; j<8 ;j++)
-001CD1 E4                CLR     A
-001CD2 904E24            MOV     DPTR,#j
-001CD5 F0                MOVX    @DPTR,A
-001CD6         ?C0065?KEYSCAN:
-001CD6 904E24            MOV     DPTR,#j
-001CD9 E0                MOVX    A,@DPTR
-001CDA FF                MOV     R7,A
-001CDB C3                CLR     C
-001CDC 9408              SUBB    A,#08H
-001CDE 507B              JNC     ?C0064?KEYSCAN
-  334: 			{
-  335: 				if(temp & (1<<j))	// Ci_Rj press
-001CE0 7401              MOV     A,#01H
-001CE2 7E00              MOV     R6,#00H
-001CE4 A807              MOV     R0,AR7
-001CE6 08                INC     R0
-001CE7 8005              SJMP    ?C0103?KEYSCAN
-001CE9         ?C0102?KEYSCAN:
-001CE9 C3                CLR     C
-001CEA 33                RLC     A
-001CEB CE                XCH     A,R6
-001CEC 33                RLC     A
-001CED CE                XCH     A,R6
-001CEE         ?C0103?KEYSCAN:
-001CEE D8F9              DJNZ    R0,?C0102?KEYSCAN
-001CF0 FF                MOV     R7,A
-001CF1 904E26            MOV     DPTR,#temp
-001CF4 E0                MOVX    A,@DPTR
-001CF5 FD                MOV     R5,A
-001CF6 E4                CLR     A
-001CF7 EF                MOV     A,R7
-001CF8 5D                ANL     A,R5
-001CF9 6058              JZ      ?C0067?KEYSCAN
-  336: 				{
-  337: 					for(k=0 ; col[k]!=0; k++)
-001CFB E4                CLR     A
-001CFC 904E25            MOV     DPTR,#k
-001CFF F0                MOVX    @DPTR,A
-001D00         ?C0069?KEYSCAN:
-001D00 904E25            MOV     DPTR,#k
-001D03 E0                MOVX    A,@DPTR
-001D04 FF                MOV     R7,A
-001D05 90060C            MOV     DPTR,#col
-001D08 93                MOVC    A,@A+DPTR
-001D09 6048              JZ      ?C0067?KEYSCAN
-  338: 					{
-  339: 						if(k!= i)
-001D0B 904E23            MOV     DPTR,#i
-001D0E E0                MOVX    A,@DPTR
-001D0F FE                MOV     R6,A
-001D10 EF                MOV     A,R7
-001D11 6E                XRL     A,R6
-001D12 6037              JZ      ?C0071?KEYSCAN
-  340: 						{
-  341: 							if(ksSelMapCurr[k] & (1<<j))	// R line has another key press
-001D14 904E25            MOV     DPTR,#k
-001D17 E0                MOVX    A,@DPTR
-001D18 24BC              ADD     A,#LOW ksSelMapCurr
-001D1A F582              MOV     DPL,A
-001D1C E4                CLR     A
-001D1D 344D              ADDC    A,#HIGH ksSelMapCurr
-001D1F F583              MOV     DPH,A
-001D21 E0                MOVX    A,@DPTR
-001D22 FD                MOV     R5,A
-001D23 7C00              MOV     R4,#00H
-001D25 904E24            MOV     DPTR,#j
-001D28 E0                MOVX    A,@DPTR
-001D29 FF                MOV     R7,A
-001D2A 7401              MOV     A,#01H
-001D2C 7E00              MOV     R6,#00H
-001D2E A807              MOV     R0,AR7
-001D30 08                INC     R0
-001D31 8005              SJMP    ?C0105?KEYSCAN
-001D33         ?C0104?KEYSCAN:
-001D33 C3                CLR     C
-001D34 33                RLC     A
-001D35 CE                XCH     A,R6
-001D36 33                RLC     A
-001D37 CE                XCH     A,R6
-001D38         ?C0105?KEYSCAN:
-001D38 D8F9              DJNZ    R0,?C0104?KEYSCAN
-001D3A FF                MOV     R7,A
-001D3B EE                MOV     A,R6
-001D3C 5C                ANL     A,R4
-001D3D FE                MOV     R6,A
-001D3E EF                MOV     A,R7
-001D3F 5D                ANL     A,R5
-001D40 4E                ORL     A,R6
-001D41 6008              JZ      ?C0071?KEYSCAN
-  342: 							{
-  343: 								ghost = 1;
-001D43 904E2C            MOV     DPTR,#ghost
-001D46 7401              MOV     A,#01H
-001D48 F0                MOVX    @DPTR,A
-  344: 								break;
-001D49 8008              SJMP    ?C0067?KEYSCAN
-  345: 							}	
-  346: 						}
-  347: 					}
-001D4B         ?C0071?KEYSCAN:
-001D4B 904E25            MOV     DPTR,#k
-001D4E E0                MOVX    A,@DPTR
-001D4F 04                INC     A
-001D50 F0                MOVX    @DPTR,A
-001D51 80AD              SJMP    ?C0069?KEYSCAN
-  348: 				}
-  349: 			}
-001D53         ?C0067?KEYSCAN:
-001D53 904E24            MOV     DPTR,#j
-001D56 E0                MOVX    A,@DPTR
-001D57 04                INC     A
-001D58 F0                MOVX    @DPTR,A
-001D59 81D6              AJMP    ?C0065?KEYSCAN
-  350: 		}
-001D5B         ?C0064?KEYSCAN:
-  351: 		
-  352: 		if (temp!=0)
-001D5B 904E26            MOV     DPTR,#temp
-001D5E E0                MOVX    A,@DPTR
-001D5F FF                MOV     R7,A
-001D60 6008              JZ      ?C0063?KEYSCAN
-  353: 		{
-  354: 			keyCounttemp += bit_count(temp);
-001D62 D18D              ACALL   _bit_count
-001D64 904E2A            MOV     DPTR,#keyCounttemp
-001D67 E0                MOVX    A,@DPTR
-001D68 2F                ADD     A,R7
-001D69 F0                MOVX    @DPTR,A
+001C98 800C              SJMP    ?C0064?KEYSCAN
+001C9A         ?C0063?KEYSCAN:
+  326: 	else
+  327: 	{	
+  328: 		g_variable.button_flag &= 0xFD;
+001C9A 904CCE            MOV     DPTR,#g_variable+0FH
+001C9D E0                MOVX    A,@DPTR
+001C9E 54FD              ANL     A,#0FDH
+001CA0 F0                MOVX    @DPTR,A
+  329: 		g_variable.button_timer[1] = 0;
+001CA1 E4                CLR     A
+001CA2 904CD0            MOV     DPTR,#g_variable+011H
+001CA5 F0                MOVX    @DPTR,A
+  330: 	}
+001CA6         ?C0064?KEYSCAN:
+  331: 
+  332: 	for (i=0; col[i]!=0; i++) 
+001CA6 E4                CLR     A
+001CA7 904E23            MOV     DPTR,#i
+001CAA F0                MOVX    @DPTR,A
+001CAB         ?C0065?KEYSCAN:
+001CAB 904E23            MOV     DPTR,#i
+001CAE E0                MOVX    A,@DPTR
+001CAF FF                MOV     R7,A
+001CB0 90060C            MOV     DPTR,#col
+001CB3 93                MOVC    A,@A+DPTR
+001CB4 7002              JNZ     $ + 4H
+001CB6 A178              AJMP    ?C0066?KEYSCAN
+  333: 	{
+  334: 		temp = ksSelMapCurr[i];
+001CB8 74BC              MOV     A,#LOW ksSelMapCurr
+001CBA 2F                ADD     A,R7
+001CBB F582              MOV     DPL,A
+001CBD E4                CLR     A
+001CBE 344D              ADDC    A,#HIGH ksSelMapCurr
+001CC0 F583              MOV     DPH,A
+001CC2 E0                MOVX    A,@DPTR
+001CC3 904E26            MOV     DPTR,#temp
+001CC6 F0                MOVX    @DPTR,A
+  335: 		rawCount = bit_count(temp);
+001CC7 E0                MOVX    A,@DPTR
+001CC8 FF                MOV     R7,A
+001CC9 D193              ACALL   _bit_count
+001CCB 904E2D            MOV     DPTR,#rawCount
+001CCE EF                MOV     A,R7
+001CCF F0                MOVX    @DPTR,A
+  336: 		if(rawCount >= 2)		// col[i] has more than two key press
+001CD0 C3                CLR     C
+001CD1 9402              SUBB    A,#02H
+001CD3 5002              JNC     $ + 4H
+001CD5 A161              AJMP    ?C0068?KEYSCAN
+  337: 		{
+  338: 			for(j=0 ; j<8 ;j++)
+001CD7 E4                CLR     A
+001CD8 904E24            MOV     DPTR,#j
+001CDB F0                MOVX    @DPTR,A
+001CDC         ?C0069?KEYSCAN:
+001CDC 904E24            MOV     DPTR,#j
+001CDF E0                MOVX    A,@DPTR
+001CE0 FF                MOV     R7,A
+001CE1 C3                CLR     C
+001CE2 9408              SUBB    A,#08H
+001CE4 507B              JNC     ?C0068?KEYSCAN
+  339: 			{
+  340: 				if(temp & (1<<j))	// Ci_Rj press
+001CE6 7401              MOV     A,#01H
+001CE8 7E00              MOV     R6,#00H
+001CEA A807              MOV     R0,AR7
+001CEC 08                INC     R0
+001CED 8005              SJMP    ?C0107?KEYSCAN
+001CEF         ?C0106?KEYSCAN:
+001CEF C3                CLR     C
+001CF0 33                RLC     A
+001CF1 CE                XCH     A,R6
+001CF2 33                RLC     A
+001CF3 CE                XCH     A,R6
+001CF4         ?C0107?KEYSCAN:
+001CF4 D8F9              DJNZ    R0,?C0106?KEYSCAN
+001CF6 FF                MOV     R7,A
+001CF7 904E26            MOV     DPTR,#temp
+001CFA E0                MOVX    A,@DPTR
+001CFB FD                MOV     R5,A
+001CFC E4                CLR     A
+001CFD EF                MOV     A,R7
+001CFE 5D                ANL     A,R5
+001CFF 6058              JZ      ?C0071?KEYSCAN
+  341: 				{
+  342: 					for(k=0 ; col[k]!=0; k++)
+001D01 E4                CLR     A
+001D02 904E25            MOV     DPTR,#k
+001D05 F0                MOVX    @DPTR,A
+001D06         ?C0073?KEYSCAN:
+001D06 904E25            MOV     DPTR,#k
+001D09 E0                MOVX    A,@DPTR
+001D0A FF                MOV     R7,A
+001D0B 90060C            MOV     DPTR,#col
+001D0E 93                MOVC    A,@A+DPTR
+001D0F 6048              JZ      ?C0071?KEYSCAN
+  343: 					{
+  344: 						if(k!= i)
+001D11 904E23            MOV     DPTR,#i
+001D14 E0                MOVX    A,@DPTR
+001D15 FE                MOV     R6,A
+001D16 EF                MOV     A,R7
+001D17 6E                XRL     A,R6
+001D18 6037              JZ      ?C0075?KEYSCAN
+  345: 						{
+  346: 							if(ksSelMapCurr[k] & (1<<j))	// R line has another key press
+001D1A 904E25            MOV     DPTR,#k
+001D1D E0                MOVX    A,@DPTR
+001D1E 24BC              ADD     A,#LOW ksSelMapCurr
+001D20 F582              MOV     DPL,A
+001D22 E4                CLR     A
+001D23 344D              ADDC    A,#HIGH ksSelMapCurr
+001D25 F583              MOV     DPH,A
+001D27 E0                MOVX    A,@DPTR
+001D28 FD                MOV     R5,A
+001D29 7C00              MOV     R4,#00H
+001D2B 904E24            MOV     DPTR,#j
+001D2E E0                MOVX    A,@DPTR
+001D2F FF                MOV     R7,A
+001D30 7401              MOV     A,#01H
+001D32 7E00              MOV     R6,#00H
+001D34 A807              MOV     R0,AR7
+001D36 08                INC     R0
+001D37 8005              SJMP    ?C0109?KEYSCAN
+001D39         ?C0108?KEYSCAN:
+001D39 C3                CLR     C
+001D3A 33                RLC     A
+001D3B CE                XCH     A,R6
+001D3C 33                RLC     A
+001D3D CE                XCH     A,R6
+001D3E         ?C0109?KEYSCAN:
+001D3E D8F9              DJNZ    R0,?C0108?KEYSCAN
+001D40 FF                MOV     R7,A
+001D41 EE                MOV     A,R6
+001D42 5C                ANL     A,R4
+001D43 FE                MOV     R6,A
+001D44 EF                MOV     A,R7
+001D45 5D                ANL     A,R5
+001D46 4E                ORL     A,R6
+001D47 6008              JZ      ?C0075?KEYSCAN
+  347: 							{
+  348: 								ghost = 1;
+001D49 904E2C            MOV     DPTR,#ghost
+001D4C 7401              MOV     A,#01H
+001D4E F0                MOVX    @DPTR,A
+  349: 								break;
+001D4F 8008              SJMP    ?C0071?KEYSCAN
+  350: 							}	
+  351: 						}
+  352: 					}
+001D51         ?C0075?KEYSCAN:
+001D51 904E25            MOV     DPTR,#k
+001D54 E0                MOVX    A,@DPTR
+001D55 04                INC     A
+001D56 F0                MOVX    @DPTR,A
+001D57 80AD              SJMP    ?C0073?KEYSCAN
+  353: 				}
+  354: 			}
+001D59         ?C0071?KEYSCAN:
+001D59 904E24            MOV     DPTR,#j
+001D5C E0                MOVX    A,@DPTR
+001D5D 04                INC     A
+001D5E F0                MOVX    @DPTR,A
+001D5F 81DC              AJMP    ?C0069?KEYSCAN
   355: 		}
-  356: 	}
-001D6A         ?C0063?KEYSCAN:
-001D6A 904E23            MOV     DPTR,#i
+001D61         ?C0068?KEYSCAN:
+  356: 		
+  357: 		if (temp!=0)
+001D61 904E26            MOV     DPTR,#temp
+001D64 E0                MOVX    A,@DPTR
+001D65 FF                MOV     R7,A
+001D66 6008              JZ      ?C0067?KEYSCAN
+  358: 		{
+  359: 			keyCounttemp += bit_count(temp);
+001D68 D193              ACALL   _bit_count
+001D6A 904E2A            MOV     DPTR,#keyCounttemp
 001D6D E0                MOVX    A,@DPTR
-001D6E 04                INC     A
+001D6E 2F                ADD     A,R7
 001D6F F0                MOVX    @DPTR,A
-001D70 81A5              AJMP    ?C0061?KEYSCAN
-001D72         ?C0062?KEYSCAN:
-  357: 	keyCount = keyCounttemp;
-001D72 904E2A            MOV     DPTR,#keyCounttemp
-001D75 E0                MOVX    A,@DPTR
-001D76 904DDD            MOV     DPTR,#keyCount
-001D79 F0                MOVX    @DPTR,A
-  358: 	
-  359: 	for (i=0; col[i]!=0; i++)
-001D7A E4                CLR     A
-001D7B 904E23            MOV     DPTR,#i
-001D7E F0                MOVX    @DPTR,A
-001D7F         ?C0075?KEYSCAN:
-001D7F 904E23            MOV     DPTR,#i
-001D82 E0                MOVX    A,@DPTR
-001D83 FF                MOV     R7,A
-001D84 90060C            MOV     DPTR,#col
-001D87 93                MOVC    A,@A+DPTR
-001D88 7002              JNZ     $ + 4H
-001D8A C161              AJMP    ?C0076?KEYSCAN
-  360: 	{
-  361: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
-001D8C 7493              MOV     A,#LOW ksSelMapOld
-001D8E 2F                ADD     A,R7
-001D8F F582              MOV     DPL,A
-001D91 E4                CLR     A
-001D92 344D              ADDC    A,#HIGH ksSelMapOld
-001D94 F583              MOV     DPH,A
-001D96 E0                MOVX    A,@DPTR
-001D97 FE                MOV     R6,A
-001D98 74BC              MOV     A,#LOW ksSelMapCurr
-001D9A 2F                ADD     A,R7
-001D9B F582              MOV     DPL,A
-001D9D E4                CLR     A
-001D9E 344D              ADDC    A,#HIGH ksSelMapCurr
-001DA0 F583              MOV     DPH,A
-001DA2 E0                MOVX    A,@DPTR
-001DA3 6E                XRL     A,R6
-001DA4 904E26            MOV     DPTR,#temp
-001DA7 F0                MOVX    @DPTR,A
-  362: 		state = ksSelMapCurr[i];
-001DA8 904E23            MOV     DPTR,#i
-001DAB E0                MOVX    A,@DPTR
-001DAC FF                MOV     R7,A
-001DAD 24BC              ADD     A,#LOW ksSelMapCurr
-001DAF F582              MOV     DPL,A
-001DB1 E4                CLR     A
-001DB2 344D              ADDC    A,#HIGH ksSelMapCurr
-001DB4 F583              MOV     DPH,A
-001DB6 E0                MOVX    A,@DPTR
-001DB7 904E29            MOV     DPTR,#state
-001DBA F0                MOVX    @DPTR,A
-  363: 		if (temp == 0) 
-001DBB 904E26            MOV     DPTR,#temp
-001DBE E0                MOVX    A,@DPTR
-001DBF 7004              JNZ     ?C0078?KEYSCAN
-  364: 		{
-  365: 			continue;
-001DC1 C159              AJMP    ?C0077?KEYSCAN
-  366: 		}
-001DC3 C159              AJMP    ?C0077?KEYSCAN
-001DC5         ?C0078?KEYSCAN:
-  367: 		else 
-  368: 		{
-  369: 
-  370: 			if (ghost) 
-001DC5 904E2C            MOV     DPTR,#ghost
-001DC8 E0                MOVX    A,@DPTR
-001DC9 6007              JZ      ?C0080?KEYSCAN
-  371: 				return NULL;
-001DCB 7B00              MOV     R3,#00H
-001DCD 7A00              MOV     R2,#00H
-001DCF 7900              MOV     R1,#00H
-001DD1 22                RET     
-001DD2         ?C0080?KEYSCAN:
-  372: 			ksSelMapOld[i] = ksSelMapCurr[i];
-001DD2 74BC              MOV     A,#LOW ksSelMapCurr
-001DD4 2F                ADD     A,R7
-001DD5 F582              MOV     DPL,A
-001DD7 E4                CLR     A
-001DD8 344D              ADDC    A,#HIGH ksSelMapCurr
-001DDA F583              MOV     DPH,A
-001DDC E0                MOVX    A,@DPTR
-001DDD FE                MOV     R6,A
-001DDE 7493              MOV     A,#LOW ksSelMapOld
-001DE0 2F                ADD     A,R7
-001DE1 F582              MOV     DPL,A
-001DE3 E4                CLR     A
-001DE4 344D              ADDC    A,#HIGH ksSelMapOld
-001DE6 F583              MOV     DPH,A
-001DE8 EE                MOV     A,R6
-001DE9 F0                MOVX    @DPTR,A
-  373: 			for (j = 0 ; j<8 ; j++) 
-001DEA E4                CLR     A
-001DEB 904E24            MOV     DPTR,#j
-001DEE F0                MOVX    @DPTR,A
-001DEF         ?C0082?KEYSCAN:
-001DEF 904E24            MOV     DPTR,#j
-001DF2 E0                MOVX    A,@DPTR
-001DF3 FF                MOV     R7,A
-001DF4 C3                CLR     C
-001DF5 9408              SUBB    A,#08H
-001DF7 505A              JNC     ?C0083?KEYSCAN
-  374: 			{
-  375: 				if (temp&1)
-001DF9 904E26            MOV     DPTR,#temp
-001DFC E0                MOVX    A,@DPTR
-001DFD 30E03B            JNB     ACC.0,?C0085?KEYSCAN
-  376: 				{
-  377: 					offset = i<<3 |j;
-001E00 904E23            MOV     DPTR,#i
-001E03 E0                MOVX    A,@DPTR
-001E04 FE                MOV     R6,A
-001E05 33                RLC     A
-001E06 33                RLC     A
-001E07 33                RLC     A
-001E08 54F8              ANL     A,#0F8H
+  360: 		}
+  361: 	}
+001D70         ?C0067?KEYSCAN:
+001D70 904E23            MOV     DPTR,#i
+001D73 E0                MOVX    A,@DPTR
+001D74 04                INC     A
+001D75 F0                MOVX    @DPTR,A
+001D76 81AB              AJMP    ?C0065?KEYSCAN
+001D78         ?C0066?KEYSCAN:
+  362: 	keyCount = keyCounttemp;
+001D78 904E2A            MOV     DPTR,#keyCounttemp
+001D7B E0                MOVX    A,@DPTR
+001D7C 904DDD            MOV     DPTR,#keyCount
+001D7F F0                MOVX    @DPTR,A
+  363: 	
+  364: 	for (i=0; col[i]!=0; i++)
+001D80 E4                CLR     A
+001D81 904E23            MOV     DPTR,#i
+001D84 F0                MOVX    @DPTR,A
+001D85         ?C0079?KEYSCAN:
+001D85 904E23            MOV     DPTR,#i
+001D88 E0                MOVX    A,@DPTR
+001D89 FF                MOV     R7,A
+001D8A 90060C            MOV     DPTR,#col
+001D8D 93                MOVC    A,@A+DPTR
+001D8E 7002              JNZ     $ + 4H
+001D90 C167              AJMP    ?C0080?KEYSCAN
+  365: 	{
+  366: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
+001D92 7493              MOV     A,#LOW ksSelMapOld
+001D94 2F                ADD     A,R7
+001D95 F582              MOV     DPL,A
+001D97 E4                CLR     A
+001D98 344D              ADDC    A,#HIGH ksSelMapOld
+001D9A F583              MOV     DPH,A
+001D9C E0                MOVX    A,@DPTR
+001D9D FE                MOV     R6,A
+001D9E 74BC              MOV     A,#LOW ksSelMapCurr
+001DA0 2F                ADD     A,R7
+001DA1 F582              MOV     DPL,A
+001DA3 E4                CLR     A
+001DA4 344D              ADDC    A,#HIGH ksSelMapCurr
+001DA6 F583              MOV     DPH,A
+001DA8 E0                MOVX    A,@DPTR
+001DA9 6E                XRL     A,R6
+001DAA 904E26            MOV     DPTR,#temp
+001DAD F0                MOVX    @DPTR,A
+  367: 		state = ksSelMapCurr[i];
+001DAE 904E23            MOV     DPTR,#i
+001DB1 E0                MOVX    A,@DPTR
+001DB2 FF                MOV     R7,A
+001DB3 24BC              ADD     A,#LOW ksSelMapCurr
+001DB5 F582              MOV     DPL,A
+001DB7 E4                CLR     A
+001DB8 344D              ADDC    A,#HIGH ksSelMapCurr
+001DBA F583              MOV     DPH,A
+001DBC E0                MOVX    A,@DPTR
+001DBD 904E29            MOV     DPTR,#state
+001DC0 F0                MOVX    @DPTR,A
+  368: 		if (temp == 0) 
+001DC1 904E26            MOV     DPTR,#temp
+001DC4 E0                MOVX    A,@DPTR
+001DC5 7004              JNZ     ?C0082?KEYSCAN
+  369: 		{
+  370: 			continue;
+001DC7 C15F              AJMP    ?C0081?KEYSCAN
+  371: 		}
+001DC9 C15F              AJMP    ?C0081?KEYSCAN
+001DCB         ?C0082?KEYSCAN:
+  372: 		else 
+  373: 		{
+  374: 
+  375: 			if (ghost) 
+001DCB 904E2C            MOV     DPTR,#ghost
+001DCE E0                MOVX    A,@DPTR
+001DCF 6007              JZ      ?C0084?KEYSCAN
+  376: 				return NULL;
+001DD1 7B00              MOV     R3,#00H
+001DD3 7A00              MOV     R2,#00H
+001DD5 7900              MOV     R1,#00H
+001DD7 22                RET     
+001DD8         ?C0084?KEYSCAN:
+  377: 			ksSelMapOld[i] = ksSelMapCurr[i];
+001DD8 74BC              MOV     A,#LOW ksSelMapCurr
+001DDA 2F                ADD     A,R7
+001DDB F582              MOV     DPL,A
+001DDD E4                CLR     A
+001DDE 344D              ADDC    A,#HIGH ksSelMapCurr
+001DE0 F583              MOV     DPH,A
+001DE2 E0                MOVX    A,@DPTR
+001DE3 FE                MOV     R6,A
+001DE4 7493              MOV     A,#LOW ksSelMapOld
+001DE6 2F                ADD     A,R7
+001DE7 F582              MOV     DPL,A
+001DE9 E4                CLR     A
+001DEA 344D              ADDC    A,#HIGH ksSelMapOld
+001DEC F583              MOV     DPH,A
+001DEE EE                MOV     A,R6
+001DEF F0                MOVX    @DPTR,A
+  378: 			for (j = 0 ; j<8 ; j++) 
+001DF0 E4                CLR     A
+001DF1 904E24            MOV     DPTR,#j
+001DF4 F0                MOVX    @DPTR,A
+001DF5         ?C0086?KEYSCAN:
+001DF5 904E24            MOV     DPTR,#j
+001DF8 E0                MOVX    A,@DPTR
+001DF9 FF                MOV     R7,A
+001DFA C3                CLR     C
+001DFB 9408              SUBB    A,#08H
+001DFD 505A              JNC     ?C0087?KEYSCAN
+  379: 			{
+  380: 				if (temp&1)
+001DFF 904E26            MOV     DPTR,#temp
+001E02 E0                MOVX    A,@DPTR
+001E03 30E03B            JNB     ACC.0,?C0089?KEYSCAN
+  381: 				{
+  382: 					offset = i<<3 |j;
+001E06 904E23            MOV     DPTR,#i
+001E09 E0                MOVX    A,@DPTR
 001E0A FE                MOV     R6,A
-001E0B EF                MOV     A,R7
-001E0C 4E                ORL     A,R6
-001E0D 904E28            MOV     DPTR,#offset
-001E10 F0                MOVX    @DPTR,A
-  378: 					key_value_temp = key_fn_function(state,ksMap[offset]);
-001E11 A3                INC     DPTR
-001E12 E0                MOVX    A,@DPTR
-001E13 FF                MOV     R7,A
-001E14 904E28            MOV     DPTR,#offset
-001E17 E0                MOVX    A,@DPTR
-001E18 900621            MOV     DPTR,#ksMap
-001E1B 93                MOVC    A,@A+DPTR
-001E1C FD                MOV     R5,A
-001E1D 51EB              ACALL   _key_fn_function
-001E1F 904E2B            MOV     DPTR,#key_value_temp
-001E22 EF                MOV     A,R7
-001E23 F0                MOVX    @DPTR,A
-  379: 					if (state & 1)
-001E24 904E29            MOV     DPTR,#state
-001E27 E0                MOVX    A,@DPTR
-001E28 30E009            JNB     ACC.0,?C0086?KEYSCAN
-  380: 					{
-  381: 						keyIn(key_value_temp);
-001E2B 904E2B            MOV     DPTR,#key_value_temp
-001E2E E0                MOVX    A,@DPTR
-001E2F FF                MOV     R7,A
-001E30 F115              ACALL   _keyIn
-  382: 					}
-001E32 8007              SJMP    ?C0085?KEYSCAN
-001E34         ?C0086?KEYSCAN:
-  383: 					else
-  384: 					{
-  385: 						keyOut(key_value_temp);
-001E34 904E2B            MOV     DPTR,#key_value_temp
-001E37 E0                MOVX    A,@DPTR
-001E38 FF                MOV     R7,A
-001E39 F16B              ACALL   _keyOut
-  386: 					}
-  387: 				}
-001E3B         ?C0085?KEYSCAN:
-  388: 				temp = temp >>1;
-001E3B 904E26            MOV     DPTR,#temp
-001E3E E0                MOVX    A,@DPTR
-001E3F FF                MOV     R7,A
-001E40 C3                CLR     C
-001E41 13                RRC     A
-001E42 F0                MOVX    @DPTR,A
-  389: 				state = state>>1;
-001E43 904E29            MOV     DPTR,#state
-001E46 E0                MOVX    A,@DPTR
-001E47 FF                MOV     R7,A
-001E48 C3                CLR     C
-001E49 13                RRC     A
-001E4A F0                MOVX    @DPTR,A
-  390: 			}
-001E4B 904E24            MOV     DPTR,#j
-001E4E E0                MOVX    A,@DPTR
-001E4F 04                INC     A
+001E0B 33                RLC     A
+001E0C 33                RLC     A
+001E0D 33                RLC     A
+001E0E 54F8              ANL     A,#0F8H
+001E10 FE                MOV     R6,A
+001E11 EF                MOV     A,R7
+001E12 4E                ORL     A,R6
+001E13 904E28            MOV     DPTR,#offset
+001E16 F0                MOVX    @DPTR,A
+  383: 					key_value_temp = key_fn_function(state,ksMap[offset]);
+001E17 A3                INC     DPTR
+001E18 E0                MOVX    A,@DPTR
+001E19 FF                MOV     R7,A
+001E1A 904E28            MOV     DPTR,#offset
+001E1D E0                MOVX    A,@DPTR
+001E1E 900621            MOV     DPTR,#ksMap
+001E21 93                MOVC    A,@A+DPTR
+001E22 FD                MOV     R5,A
+001E23 51F1              ACALL   _key_fn_function
+001E25 904E2B            MOV     DPTR,#key_value_temp
+001E28 EF                MOV     A,R7
+001E29 F0                MOVX    @DPTR,A
+  384: 					if (state & 1)
+001E2A 904E29            MOV     DPTR,#state
+001E2D E0                MOVX    A,@DPTR
+001E2E 30E009            JNB     ACC.0,?C0090?KEYSCAN
+  385: 					{
+  386: 						keyIn(key_value_temp);
+001E31 904E2B            MOV     DPTR,#key_value_temp
+001E34 E0                MOVX    A,@DPTR
+001E35 FF                MOV     R7,A
+001E36 F11B              ACALL   _keyIn
+  387: 					}
+001E38 8007              SJMP    ?C0089?KEYSCAN
+001E3A         ?C0090?KEYSCAN:
+  388: 					else
+  389: 					{
+  390: 						keyOut(key_value_temp);
+001E3A 904E2B            MOV     DPTR,#key_value_temp
+001E3D E0                MOVX    A,@DPTR
+001E3E FF                MOV     R7,A
+001E3F F171              ACALL   _keyOut
+  391: 					}
+  392: 				}
+001E41         ?C0089?KEYSCAN:
+  393: 				temp = temp >>1;
+001E41 904E26            MOV     DPTR,#temp
+001E44 E0                MOVX    A,@DPTR
+001E45 FF                MOV     R7,A
+001E46 C3                CLR     C
+001E47 13                RRC     A
+001E48 F0                MOVX    @DPTR,A
+  394: 				state = state>>1;
+001E49 904E29            MOV     DPTR,#state
+001E4C E0                MOVX    A,@DPTR
+001E4D FF                MOV     R7,A
+001E4E C3                CLR     C
+001E4F 13                RRC     A
 001E50 F0                MOVX    @DPTR,A
-001E51 809C              SJMP    ?C0082?KEYSCAN
-001E53         ?C0083?KEYSCAN:
-  391: 			flag = 1;
-001E53 904E27            MOV     DPTR,#flag
-001E56 7401              MOV     A,#01H
-001E58 F0                MOVX    @DPTR,A
-  392: 		}
-  393: 	}
-001E59         ?C0077?KEYSCAN:
-001E59 904E23            MOV     DPTR,#i
-001E5C E0                MOVX    A,@DPTR
-001E5D 04                INC     A
+  395: 			}
+001E51 904E24            MOV     DPTR,#j
+001E54 E0                MOVX    A,@DPTR
+001E55 04                INC     A
+001E56 F0                MOVX    @DPTR,A
+001E57 809C              SJMP    ?C0086?KEYSCAN
+001E59         ?C0087?KEYSCAN:
+  396: 			flag = 1;
+001E59 904E27            MOV     DPTR,#flag
+001E5C 7401              MOV     A,#01H
 001E5E F0                MOVX    @DPTR,A
-001E5F A17F              AJMP    ?C0075?KEYSCAN
-001E61         ?C0076?KEYSCAN:
-  394: 	
-  395: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
-001E61 904DE7            MOV     DPTR,#mult_key_status
-001E64 E0                MOVX    A,@DPTR
-001E65 B4030A            CJNE    A,#03H,?C0088?KEYSCAN
-001E68 904DD8            MOV     DPTR,#standard_key_release_flag
-001E6B E0                MOVX    A,@DPTR
-001E6C B40103            CJNE    A,#01H,?C0088?KEYSCAN
-  396: 	{
-  397: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
-001E6F 7402              MOV     A,#02H
-001E71 F0                MOVX    @DPTR,A
+  397: 		}
   398: 	}
-001E72         ?C0088?KEYSCAN:
-  399: 
-  400: 	
-  401: 	if (flag || standard_key_release_flag == 2) 
-001E72 904E27            MOV     DPTR,#flag
-001E75 E0                MOVX    A,@DPTR
-001E76 7007              JNZ     ?C0090?KEYSCAN
-001E78 904DD8            MOV     DPTR,#standard_key_release_flag
+001E5F         ?C0081?KEYSCAN:
+001E5F 904E23            MOV     DPTR,#i
+001E62 E0                MOVX    A,@DPTR
+001E63 04                INC     A
+001E64 F0                MOVX    @DPTR,A
+001E65 A185              AJMP    ?C0079?KEYSCAN
+001E67         ?C0080?KEYSCAN:
+  399: 	
+  400: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
+001E67 904DE7            MOV     DPTR,#mult_key_status
+001E6A E0                MOVX    A,@DPTR
+001E6B B4030A            CJNE    A,#03H,?C0092?KEYSCAN
+001E6E 904DD8            MOV     DPTR,#standard_key_release_flag
+001E71 E0                MOVX    A,@DPTR
+001E72 B40103            CJNE    A,#01H,?C0092?KEYSCAN
+  401: 	{
+  402: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
+001E75 7402              MOV     A,#02H
+001E77 F0                MOVX    @DPTR,A
+  403: 	}
+001E78         ?C0092?KEYSCAN:
+  404: 
+  405: 	
+  406: 	if (flag || standard_key_release_flag == 2) 
+001E78 904E27            MOV     DPTR,#flag
 001E7B E0                MOVX    A,@DPTR
-001E7C B40207            CJNE    A,#02H,?C0089?KEYSCAN
-001E7F         ?C0090?KEYSCAN:
-  402: 	{
-  403: 		return &ksEvtPool;
-001E7F 7B01              MOV     R3,#01H
-001E81 7A4E              MOV     R2,#HIGH ksEvtPool
-001E83 793F              MOV     R1,#LOW ksEvtPool
-001E85 22                RET     
-  404: 	}
-001E86         ?C0089?KEYSCAN:
-  405: 	else
-  406: 	{
-  407: 		return NULL;
-001E86 7B00              MOV     R3,#00H
-001E88 7A00              MOV     R2,#00H
-001E8A 7900              MOV     R1,#00H
-  408: 	}
-  409: 	
-  410: 
-  411: }
-001E8C 22                RET     
+001E7C 7007              JNZ     ?C0094?KEYSCAN
+001E7E 904DD8            MOV     DPTR,#standard_key_release_flag
+001E81 E0                MOVX    A,@DPTR
+001E82 B40207            CJNE    A,#02H,?C0093?KEYSCAN
+001E85         ?C0094?KEYSCAN:
+  407: 	{
+  408: 		return &ksEvtPool;
+001E85 7B01              MOV     R3,#01H
+001E87 7A4E              MOV     R2,#HIGH ksEvtPool
+001E89 793F              MOV     R1,#LOW ksEvtPool
+001E8B 22                RET     
+  409: 	}
+001E8C         ?C0093?KEYSCAN:
+  410: 	else
+  411: 	{
+  412: 		return NULL;
+001E8C 7B00              MOV     R3,#00H
+001E8E 7A00              MOV     R2,#00H
+001E90 7900              MOV     R1,#00H
+  413: 	}
+  414: 	
+  415: 
+  416: }
+001E92 22                RET     
 ----- FUNCTION KS_GetCurrentEvt (END) -------
 
 
@@ -5466,136 +5475,136 @@
    26: 	unsigned char c;
    27: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-001E8D E4                CLR     A
-001E8E FE                MOV     R6,A
-001E8F         ?C0001?KEYSCAN:
-001E8F EF                MOV     A,R7
-001E90 6006              JZ      ?C0002?KEYSCAN
+001E93 E4                CLR     A
+001E94 FE                MOV     R6,A
+001E95         ?C0001?KEYSCAN:
+001E95 EF                MOV     A,R7
+001E96 6006              JZ      ?C0002?KEYSCAN
    28:     	v &= v - 1;
-001E92 14                DEC     A
-001E93 5F                ANL     A,R7
-001E94 FF                MOV     R7,A
+001E98 14                DEC     A
+001E99 5F                ANL     A,R7
+001E9A FF                MOV     R7,A
    29:     }
-001E95 0E                INC     R6
-001E96 80F7              SJMP    ?C0001?KEYSCAN
-001E98         ?C0002?KEYSCAN:
+001E9B 0E                INC     R6
+001E9C 80F7              SJMP    ?C0001?KEYSCAN
+001E9E         ?C0002?KEYSCAN:
    30:     return c;
-001E98 AF06              MOV     R7,AR6
+001E9E AF06              MOV     R7,AR6
    31: }
-001E9A 22                RET     
+001EA0 22                RET     
 ----- FUNCTION _bit_count (END) -------
 
 
 ----- FUNCTION _array_is_empty (BEGIN) -----
  FILE: 'keyscan.c'
-  287: byte array_is_empty(byte * str1,byte len)
-  288: {
-001E9B 904E81            MOV     DPTR,#str1
-001E9E EB                MOV     A,R3
-001E9F F0                MOVX    @DPTR,A
-001EA0 A3                INC     DPTR
-001EA1 EA                MOV     A,R2
-001EA2 F0                MOVX    @DPTR,A
-001EA3 A3                INC     DPTR
-001EA4 E9                MOV     A,R1
+  292: byte array_is_empty(byte * str1,byte len)
+  293: {
+001EA1 904E81            MOV     DPTR,#str1
+001EA4 EB                MOV     A,R3
 001EA5 F0                MOVX    @DPTR,A
+001EA6 A3                INC     DPTR
+001EA7 EA                MOV     A,R2
+001EA8 F0                MOVX    @DPTR,A
+001EA9 A3                INC     DPTR
+001EAA E9                MOV     A,R1
+001EAB F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R5' ----
-  289: 	byte i;
-  290: 	for (i=0;i < len;i++)
+  294: 	byte i;
+  295: 	for (i=0;i < len;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-001EA6 E4                CLR     A
-001EA7 FF                MOV     R7,A
-001EA8         ?C0054?KEYSCAN:
-001EA8 EF                MOV     A,R7
-001EA9 C3                CLR     C
-001EAA 9D                SUBB    A,R5
-001EAB 501B              JNC     ?C0055?KEYSCAN
-  291: 	{
-  292: 		if (str1[i] != 0)
-001EAD 904E81            MOV     DPTR,#str1
-001EB0 E0                MOVX    A,@DPTR
-001EB1 FB                MOV     R3,A
-001EB2 A3                INC     DPTR
-001EB3 E0                MOVX    A,@DPTR
-001EB4 FA                MOV     R2,A
-001EB5 A3                INC     DPTR
+001EAC E4                CLR     A
+001EAD FF                MOV     R7,A
+001EAE         ?C0058?KEYSCAN:
+001EAE EF                MOV     A,R7
+001EAF C3                CLR     C
+001EB0 9D                SUBB    A,R5
+001EB1 501B              JNC     ?C0059?KEYSCAN
+  296: 	{
+  297: 		if (str1[i] != 0)
+001EB3 904E81            MOV     DPTR,#str1
 001EB6 E0                MOVX    A,@DPTR
-001EB7 F9                MOV     R1,A
-001EB8 8F82              MOV     DPL,R7
-001EBA 758300            MOV     DPH,#00H
-001EBD 1203CF            LCALL   ?C?CLDOPTR
-001EC0 6003              JZ      ?C0056?KEYSCAN
-  293: 			return 0x00;
-001EC2 7F00              MOV     R7,#00H
-001EC4 22                RET     
-  294: 	}
-001EC5         ?C0056?KEYSCAN:
-001EC5 0F                INC     R7
-001EC6 80E0              SJMP    ?C0054?KEYSCAN
-001EC8         ?C0055?KEYSCAN:
-  295: 	return 0x01;
-001EC8 7F01              MOV     R7,#01H
-  296: }
+001EB7 FB                MOV     R3,A
+001EB8 A3                INC     DPTR
+001EB9 E0                MOVX    A,@DPTR
+001EBA FA                MOV     R2,A
+001EBB A3                INC     DPTR
+001EBC E0                MOVX    A,@DPTR
+001EBD F9                MOV     R1,A
+001EBE 8F82              MOV     DPL,R7
+001EC0 758300            MOV     DPH,#00H
+001EC3 1203CF            LCALL   ?C?CLDOPTR
+001EC6 6003              JZ      ?C0060?KEYSCAN
+  298: 			return 0x00;
+001EC8 7F00              MOV     R7,#00H
 001ECA 22                RET     
+  299: 	}
+001ECB         ?C0060?KEYSCAN:
+001ECB 0F                INC     R7
+001ECC 80E0              SJMP    ?C0058?KEYSCAN
+001ECE         ?C0059?KEYSCAN:
+  300: 	return 0x01;
+001ECE 7F01              MOV     R7,#01H
+  301: }
+001ED0 22                RET     
 ----- FUNCTION _array_is_empty (END) -------
 
 
 ----- FUNCTION _compare_str (BEGIN) -----
-001ECB 904E46            MOV     DPTR,#str1
-001ECE EB                MOV     A,R3
-001ECF F0                MOVX    @DPTR,A
-001ED0 A3                INC     DPTR
-001ED1 EA                MOV     A,R2
-001ED2 F0                MOVX    @DPTR,A
-001ED3 A3                INC     DPTR
-001ED4 E9                MOV     A,R1
+001ED1 904E46            MOV     DPTR,#str1
+001ED4 EB                MOV     A,R3
 001ED5 F0                MOVX    @DPTR,A
+001ED6 A3                INC     DPTR
+001ED7 EA                MOV     A,R2
+001ED8 F0                MOVX    @DPTR,A
+001ED9 A3                INC     DPTR
+001EDA E9                MOV     A,R1
+001EDB F0                MOVX    @DPTR,A
 ;---- Variable 'i' assigned to Register 'R7' ----
-001ED6 E4                CLR     A
-001ED7 FF                MOV     R7,A
-001ED8         ?C0021?UTILITIES:
-001ED8 904E4C            MOV     DPTR,#len
-001EDB E0                MOVX    A,@DPTR
-001EDC FE                MOV     R6,A
-001EDD EF                MOV     A,R7
-001EDE C3                CLR     C
-001EDF 9E                SUBB    A,R6
-001EE0 5030              JNC     ?C0022?UTILITIES
-001EE2 904E49            MOV     DPTR,#str2
-001EE5 E0                MOVX    A,@DPTR
-001EE6 FB                MOV     R3,A
-001EE7 A3                INC     DPTR
-001EE8 E0                MOVX    A,@DPTR
-001EE9 FA                MOV     R2,A
-001EEA A3                INC     DPTR
+001EDC E4                CLR     A
+001EDD FF                MOV     R7,A
+001EDE         ?C0021?UTILITIES:
+001EDE 904E4C            MOV     DPTR,#len
+001EE1 E0                MOVX    A,@DPTR
+001EE2 FE                MOV     R6,A
+001EE3 EF                MOV     A,R7
+001EE4 C3                CLR     C
+001EE5 9E                SUBB    A,R6
+001EE6 5030              JNC     ?C0022?UTILITIES
+001EE8 904E49            MOV     DPTR,#str2
 001EEB E0                MOVX    A,@DPTR
-001EEC F9                MOV     R1,A
-001EED 8F82              MOV     DPL,R7
-001EEF 758300            MOV     DPH,#00H
-001EF2 1203CF            LCALL   ?C?CLDOPTR
-001EF5 FE                MOV     R6,A
-001EF6 904E46            MOV     DPTR,#str1
-001EF9 E0                MOVX    A,@DPTR
-001EFA FB                MOV     R3,A
-001EFB A3                INC     DPTR
-001EFC E0                MOVX    A,@DPTR
-001EFD FA                MOV     R2,A
-001EFE A3                INC     DPTR
+001EEC FB                MOV     R3,A
+001EED A3                INC     DPTR
+001EEE E0                MOVX    A,@DPTR
+001EEF FA                MOV     R2,A
+001EF0 A3                INC     DPTR
+001EF1 E0                MOVX    A,@DPTR
+001EF2 F9                MOV     R1,A
+001EF3 8F82              MOV     DPL,R7
+001EF5 758300            MOV     DPH,#00H
+001EF8 1203CF            LCALL   ?C?CLDOPTR
+001EFB FE                MOV     R6,A
+001EFC 904E46            MOV     DPTR,#str1
 001EFF E0                MOVX    A,@DPTR
-001F00 F9                MOV     R1,A
-001F01 8F82              MOV     DPL,R7
-001F03 758300            MOV     DPH,#00H
-001F06 1203CF            LCALL   ?C?CLDOPTR
-001F09 6E                XRL     A,R6
-001F0A 6003              JZ      ?C0023?UTILITIES
-001F0C 7F00              MOV     R7,#00H
-001F0E 22                RET     
-001F0F         ?C0023?UTILITIES:
-001F0F 0F                INC     R7
-001F10 80C6              SJMP    ?C0021?UTILITIES
-001F12         ?C0022?UTILITIES:
-001F12 7F01              MOV     R7,#01H
+001F00 FB                MOV     R3,A
+001F01 A3                INC     DPTR
+001F02 E0                MOVX    A,@DPTR
+001F03 FA                MOV     R2,A
+001F04 A3                INC     DPTR
+001F05 E0                MOVX    A,@DPTR
+001F06 F9                MOV     R1,A
+001F07 8F82              MOV     DPL,R7
+001F09 758300            MOV     DPH,#00H
+001F0C 1203CF            LCALL   ?C?CLDOPTR
+001F0F 6E                XRL     A,R6
+001F10 6003              JZ      ?C0023?UTILITIES
+001F12 7F00              MOV     R7,#00H
 001F14 22                RET     
+001F15         ?C0023?UTILITIES:
+001F15 0F                INC     R7
+001F16 80C6              SJMP    ?C0021?UTILITIES
+001F18         ?C0022?UTILITIES:
+001F18 7F01              MOV     R7,#01H
+001F1A 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
@@ -5607,41 +5616,41 @@
    37: 	byte i = 0;
    38: 
 ;---- Variable 'i' assigned to Register 'R6' ----
-001F15 E4                CLR     A
-001F16 FE                MOV     R6,A
+001F1B E4                CLR     A
+001F1C FE                MOV     R6,A
    39: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-001F17 EF                MOV     A,R7
-001F18 C3                CLR     C
-001F19 94E0              SUBB    A,#0E0H
-001F1B 4020              JC      ?C0005?KEYSCAN
 001F1D EF                MOV     A,R7
-001F1E D3                SETB    C
-001F1F 94E7              SUBB    A,#0E7H
-001F21 501A              JNC     ?C0005?KEYSCAN
+001F1E C3                CLR     C
+001F1F 94E0              SUBB    A,#0E0H
+001F21 4020              JC      ?C0005?KEYSCAN
+001F23 EF                MOV     A,R7
+001F24 D3                SETB    C
+001F25 94E7              SUBB    A,#0E7H
+001F27 501A              JNC     ?C0005?KEYSCAN
    40: 	{
    41: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
-001F23 904E3F            MOV     DPTR,#ksEvtPool
-001F26 E0                MOVX    A,@DPTR
-001F27 FE                MOV     R6,A
-001F28 EF                MOV     A,R7
-001F29 5407              ANL     A,#07H
-001F2B FF                MOV     R7,A
-001F2C 7401              MOV     A,#01H
-001F2E A807              MOV     R0,AR7
-001F30 08                INC     R0
-001F31 8002              SJMP    ?C0093?KEYSCAN
-001F33         ?C0092?KEYSCAN:
-001F33 C3                CLR     C
-001F34 33                RLC     A
-001F35         ?C0093?KEYSCAN:
-001F35 D8FC              DJNZ    R0,?C0092?KEYSCAN
-001F37 4E                ORL     A,R6
-001F38 904E3F            MOV     DPTR,#ksEvtPool
-001F3B F0                MOVX    @DPTR,A
-001F3C 22                RET     
+001F29 904E3F            MOV     DPTR,#ksEvtPool
+001F2C E0                MOVX    A,@DPTR
+001F2D FE                MOV     R6,A
+001F2E EF                MOV     A,R7
+001F2F 5407              ANL     A,#07H
+001F31 FF                MOV     R7,A
+001F32 7401              MOV     A,#01H
+001F34 A807              MOV     R0,AR7
+001F36 08                INC     R0
+001F37 8002              SJMP    ?C0097?KEYSCAN
+001F39         ?C0096?KEYSCAN:
+001F39 C3                CLR     C
+001F3A 33                RLC     A
+001F3B         ?C0097?KEYSCAN:
+001F3B D8FC              DJNZ    R0,?C0096?KEYSCAN
+001F3D 4E                ORL     A,R6
+001F3E 904E3F            MOV     DPTR,#ksEvtPool
+001F41 F0                MOVX    @DPTR,A
+001F42 22                RET     
    42: 		return;
    43: 	}
-001F3D         ?C0005?KEYSCAN:
+001F43         ?C0005?KEYSCAN:
    44: 
    45: /*
    46: 
@@ -5689,52 +5698,52 @@
    88: 	//special key
    89: 
    90: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-001F3D E4                CLR     A
-001F3E FE                MOV     R6,A
-001F3F         ?C0007?KEYSCAN:
+001F43 E4                CLR     A
+001F44 FE                MOV     R6,A
+001F45         ?C0007?KEYSCAN:
    91: 	{
    92: 		if (ksEvtPool.ksPool[i] == key)
-001F3F 7440              MOV     A,#LOW ksEvtPool+01H
-001F41 2E                ADD     A,R6
-001F42 F582              MOV     DPL,A
-001F44 E4                CLR     A
-001F45 344E              ADDC    A,#HIGH ksEvtPool+01H
-001F47 F583              MOV     DPH,A
-001F49 E0                MOVX    A,@DPTR
-001F4A FD                MOV     R5,A
-001F4B 6F                XRL     A,R7
-001F4C 601C              JZ      ?C0006?KEYSCAN
+001F45 7440              MOV     A,#LOW ksEvtPool+01H
+001F47 2E                ADD     A,R6
+001F48 F582              MOV     DPL,A
+001F4A E4                CLR     A
+001F4B 344E              ADDC    A,#HIGH ksEvtPool+01H
+001F4D F583              MOV     DPH,A
+001F4F E0                MOVX    A,@DPTR
+001F50 FD                MOV     R5,A
+001F51 6F                XRL     A,R7
+001F52 601C              JZ      ?C0006?KEYSCAN
    93: 			break;
-001F4E         ?C0010?KEYSCAN:
+001F54         ?C0010?KEYSCAN:
    94: 		if (ksEvtPool.ksPool[i] == 0) 
-001F4E ED                MOV     A,R5
-001F4F 7014              JNZ     ?C0009?KEYSCAN
+001F54 ED                MOV     A,R5
+001F55 7014              JNZ     ?C0009?KEYSCAN
    95: 		{
    96: 			if(mult_key_value != key)
-001F51 904DE6            MOV     DPTR,#mult_key_value
-001F54 E0                MOVX    A,@DPTR
-001F55 6F                XRL     A,R7
-001F56 6012              JZ      ?C0006?KEYSCAN
+001F57 904DE6            MOV     DPTR,#mult_key_value
+001F5A E0                MOVX    A,@DPTR
+001F5B 6F                XRL     A,R7
+001F5C 6012              JZ      ?C0006?KEYSCAN
    97: 				ksEvtPool.ksPool[i] = key;
-001F58 7440              MOV     A,#LOW ksEvtPool+01H
-001F5A 2E                ADD     A,R6
-001F5B F582              MOV     DPL,A
-001F5D E4                CLR     A
-001F5E 344E              ADDC    A,#HIGH ksEvtPool+01H
-001F60 F583              MOV     DPH,A
-001F62 EF                MOV     A,R7
-001F63 F0                MOVX    @DPTR,A
+001F5E 7440              MOV     A,#LOW ksEvtPool+01H
+001F60 2E                ADD     A,R6
+001F61 F582              MOV     DPL,A
+001F63 E4                CLR     A
+001F64 344E              ADDC    A,#HIGH ksEvtPool+01H
+001F66 F583              MOV     DPH,A
+001F68 EF                MOV     A,R7
+001F69 F0                MOVX    @DPTR,A
    98: 			break;
-001F64 22                RET     
+001F6A 22                RET     
    99: 		}
   100: 	}
-001F65         ?C0009?KEYSCAN:
-001F65 0E                INC     R6
-001F66 EE                MOV     A,R6
-001F67 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
+001F6B         ?C0009?KEYSCAN:
+001F6B 0E                INC     R6
+001F6C EE                MOV     A,R6
+001F6D B406D5            CJNE    A,#06H,?C0007?KEYSCAN
   101: }
-001F6A         ?C0006?KEYSCAN:
-001F6A 22                RET     
+001F70         ?C0006?KEYSCAN:
+001F70 22                RET     
 ----- FUNCTION _keyIn (END) -------
 
 
@@ -5746,75 +5755,75 @@
   105: 	byte i = 0 ;
   106: 	byte found = 0;
 ;---- Variable 'i' assigned to Register 'R6' ----
-001F6B E4                CLR     A
-001F6C FE                MOV     R6,A
+001F71 E4                CLR     A
+001F72 FE                MOV     R6,A
   107: 
 ;---- Variable 'found' assigned to Register 'R5' ----
-001F6D FD                MOV     R5,A
+001F73 FD                MOV     R5,A
   108: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
-001F6E EF                MOV     A,R7
-001F6F 54F0              ANL     A,#0F0H
-001F71 64F0              XRL     A,#0F0H
-001F73 6007              JZ      ?C0014?KEYSCAN
-001F75 EF                MOV     A,R7
-001F76 54D0              ANL     A,#0D0H
-001F78 FC                MOV     R4,A
-001F79 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
-001F7C         ?C0014?KEYSCAN:
+001F74 EF                MOV     A,R7
+001F75 54F0              ANL     A,#0F0H
+001F77 64F0              XRL     A,#0F0H
+001F79 6007              JZ      ?C0014?KEYSCAN
+001F7B EF                MOV     A,R7
+001F7C 54D0              ANL     A,#0D0H
+001F7E FC                MOV     R4,A
+001F7F BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
+001F82         ?C0014?KEYSCAN:
   109: 	{
   110: 		if(mult_key_status == KEY_WAIT_RELEASE)
-001F7C 904DE7            MOV     DPTR,#mult_key_status
-001F7F E0                MOVX    A,@DPTR
-001F80 B4020B            CJNE    A,#02H,?C0016?KEYSCAN
+001F82 904DE7            MOV     DPTR,#mult_key_status
+001F85 E0                MOVX    A,@DPTR
+001F86 B4020B            CJNE    A,#02H,?C0016?KEYSCAN
   111: 		{
   112: 			mult_key_status = KEY_RELEASE;
-001F83 7403              MOV     A,#03H
-001F85 F0                MOVX    @DPTR,A
+001F89 7403              MOV     A,#03H
+001F8B F0                MOVX    @DPTR,A
   113: 		}
   114: 	}
-001F86 8006              SJMP    ?C0016?KEYSCAN
-001F88         ?C0013?KEYSCAN:
+001F8C 8006              SJMP    ?C0016?KEYSCAN
+001F8E         ?C0013?KEYSCAN:
   115: 	else
   116: 		standard_key_release_flag = 1;
-001F88 904DD8            MOV     DPTR,#standard_key_release_flag
-001F8B 7401              MOV     A,#01H
-001F8D F0                MOVX    @DPTR,A
-001F8E         ?C0016?KEYSCAN:
+001F8E 904DD8            MOV     DPTR,#standard_key_release_flag
+001F91 7401              MOV     A,#01H
+001F93 F0                MOVX    @DPTR,A
+001F94         ?C0016?KEYSCAN:
   117: 
   118: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-001F8E EF                MOV     A,R7
-001F8F C3                CLR     C
-001F90 94E0              SUBB    A,#0E0H
-001F92 4021              JC      ?C0017?KEYSCAN
 001F94 EF                MOV     A,R7
-001F95 D3                SETB    C
-001F96 94E7              SUBB    A,#0E7H
-001F98 501B              JNC     ?C0017?KEYSCAN
+001F95 C3                CLR     C
+001F96 94E0              SUBB    A,#0E0H
+001F98 4021              JC      ?C0017?KEYSCAN
+001F9A EF                MOV     A,R7
+001F9B D3                SETB    C
+001F9C 94E7              SUBB    A,#0E7H
+001F9E 501B              JNC     ?C0017?KEYSCAN
   119: 	{
   120: 		ksEvtPool.standardSel  &= ~(0x01 << (key & 0x07));
-001F9A 904E3F            MOV     DPTR,#ksEvtPool
-001F9D E0                MOVX    A,@DPTR
-001F9E FE                MOV     R6,A
-001F9F EF                MOV     A,R7
-001FA0 5407              ANL     A,#07H
-001FA2 FF                MOV     R7,A
-001FA3 7401              MOV     A,#01H
-001FA5 A807              MOV     R0,AR7
-001FA7 08                INC     R0
-001FA8 8002              SJMP    ?C0095?KEYSCAN
-001FAA         ?C0094?KEYSCAN:
-001FAA C3                CLR     C
-001FAB 33                RLC     A
-001FAC         ?C0095?KEYSCAN:
-001FAC D8FC              DJNZ    R0,?C0094?KEYSCAN
-001FAE F4                CPL     A
-001FAF 5E                ANL     A,R6
-001FB0 904E3F            MOV     DPTR,#ksEvtPool
-001FB3 F0                MOVX    @DPTR,A
-001FB4 22                RET     
+001FA0 904E3F            MOV     DPTR,#ksEvtPool
+001FA3 E0                MOVX    A,@DPTR
+001FA4 FE                MOV     R6,A
+001FA5 EF                MOV     A,R7
+001FA6 5407              ANL     A,#07H
+001FA8 FF                MOV     R7,A
+001FA9 7401              MOV     A,#01H
+001FAB A807              MOV     R0,AR7
+001FAD 08                INC     R0
+001FAE 8002              SJMP    ?C0099?KEYSCAN
+001FB0         ?C0098?KEYSCAN:
+001FB0 C3                CLR     C
+001FB1 33                RLC     A
+001FB2         ?C0099?KEYSCAN:
+001FB2 D8FC              DJNZ    R0,?C0098?KEYSCAN
+001FB4 F4                CPL     A
+001FB5 5E                ANL     A,R6
+001FB6 904E3F            MOV     DPTR,#ksEvtPool
+001FB9 F0                MOVX    @DPTR,A
+001FBA 22                RET     
   121: 		return;
   122: 	}
-001FB5         ?C0017?KEYSCAN:
+001FBB         ?C0017?KEYSCAN:
   123: 
   124: /*
   125: 	if (key == HID_KEY_RIGHT_GUI ) 
@@ -5859,390 +5868,440 @@
   164: 	}
   165: */	
   166: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-001FB5 E4                CLR     A
-001FB6 FE                MOV     R6,A
-001FB7         ?C0019?KEYSCAN:
+001FBB E4                CLR     A
+001FBC FE                MOV     R6,A
+001FBD         ?C0019?KEYSCAN:
   167: 	{
   168: 		if (found == 0) 
-001FB7 ED                MOV     A,R5
-001FB8 7021              JNZ     ?C0022?KEYSCAN
+001FBD ED                MOV     A,R5
+001FBE 7021              JNZ     ?C0022?KEYSCAN
   169: 		{
   170: 			if (ksEvtPool.ksPool[i] == key) {
-001FBA 7440              MOV     A,#LOW ksEvtPool+01H
-001FBC 2E                ADD     A,R6
-001FBD F582              MOV     DPL,A
-001FBF E4                CLR     A
-001FC0 344E              ADDC    A,#HIGH ksEvtPool+01H
-001FC2 F583              MOV     DPH,A
-001FC4 E0                MOVX    A,@DPTR
-001FC5 6F                XRL     A,R7
-001FC6 7047              JNZ     ?C0021?KEYSCAN
+001FC0 7440              MOV     A,#LOW ksEvtPool+01H
+001FC2 2E                ADD     A,R6
+001FC3 F582              MOV     DPL,A
+001FC5 E4                CLR     A
+001FC6 344E              ADDC    A,#HIGH ksEvtPool+01H
+001FC8 F583              MOV     DPH,A
+001FCA E0                MOVX    A,@DPTR
+001FCB 6F                XRL     A,R7
+001FCC 7047              JNZ     ?C0021?KEYSCAN
   171: 				if (i == KS_BUFF_POLL_LEN-1) {
-001FC8 EE                MOV     A,R6
-001FC9 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
+001FCE EE                MOV     A,R6
+001FCF B4050B            CJNE    A,#05H,?C0024?KEYSCAN
   172: 					ksEvtPool.ksPool[i] = 0;
-001FCC 2440              ADD     A,#LOW ksEvtPool+01H
-001FCE F582              MOV     DPL,A
-001FD0 E4                CLR     A
-001FD1 344E              ADDC    A,#HIGH ksEvtPool+01H
-001FD3 F583              MOV     DPH,A
-001FD5 E4                CLR     A
-001FD6 F0                MOVX    @DPTR,A
+001FD2 2440              ADD     A,#LOW ksEvtPool+01H
+001FD4 F582              MOV     DPL,A
+001FD6 E4                CLR     A
+001FD7 344E              ADDC    A,#HIGH ksEvtPool+01H
+001FD9 F583              MOV     DPH,A
+001FDB E4                CLR     A
+001FDC F0                MOVX    @DPTR,A
   173: 				}
-001FD7         ?C0024?KEYSCAN:
+001FDD         ?C0024?KEYSCAN:
   174: 				found = 1;
-001FD7 7D01              MOV     R5,#01H
+001FDD 7D01              MOV     R5,#01H
   175: 			}
   176: 		}
-001FD9 8034              SJMP    ?C0021?KEYSCAN
-001FDB         ?C0022?KEYSCAN:
+001FDF 8034              SJMP    ?C0021?KEYSCAN
+001FE1         ?C0022?KEYSCAN:
   177: 		else 
   178: 		{
   179: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
-001FDB 7440              MOV     A,#LOW ksEvtPool+01H
-001FDD 2E                ADD     A,R6
-001FDE F582              MOV     DPL,A
-001FE0 E4                CLR     A
-001FE1 344E              ADDC    A,#HIGH ksEvtPool+01H
-001FE3 F583              MOV     DPH,A
-001FE5 E0                MOVX    A,@DPTR
-001FE6 FC                MOV     R4,A
-001FE7 743F              MOV     A,#LOW ksEvtPool
-001FE9 2E                ADD     A,R6
-001FEA F582              MOV     DPL,A
-001FEC E4                CLR     A
-001FED 344E              ADDC    A,#HIGH ksEvtPool
-001FEF F583              MOV     DPH,A
-001FF1 EC                MOV     A,R4
-001FF2 F0                MOVX    @DPTR,A
+001FE1 7440              MOV     A,#LOW ksEvtPool+01H
+001FE3 2E                ADD     A,R6
+001FE4 F582              MOV     DPL,A
+001FE6 E4                CLR     A
+001FE7 344E              ADDC    A,#HIGH ksEvtPool+01H
+001FE9 F583              MOV     DPH,A
+001FEB E0                MOVX    A,@DPTR
+001FEC FC                MOV     R4,A
+001FED 743F              MOV     A,#LOW ksEvtPool
+001FEF 2E                ADD     A,R6
+001FF0 F582              MOV     DPL,A
+001FF2 E4                CLR     A
+001FF3 344E              ADDC    A,#HIGH ksEvtPool
+001FF5 F583              MOV     DPH,A
+001FF7 EC                MOV     A,R4
+001FF8 F0                MOVX    @DPTR,A
   180: 			if (ksEvtPool.ksPool[i] == 0)
-001FF3 7440              MOV     A,#LOW ksEvtPool+01H
-001FF5 2E                ADD     A,R6
-001FF6 F582              MOV     DPL,A
-001FF8 E4                CLR     A
-001FF9 344E              ADDC    A,#HIGH ksEvtPool+01H
-001FFB F583              MOV     DPH,A
-001FFD E0                MOVX    A,@DPTR
-001FFE 6014              JZ      ?C0018?KEYSCAN
+001FF9 7440              MOV     A,#LOW ksEvtPool+01H
+001FFB 2E                ADD     A,R6
+001FFC F582              MOV     DPL,A
+001FFE E4                CLR     A
+001FFF 344E              ADDC    A,#HIGH ksEvtPool+01H
+002001 F583              MOV     DPH,A
+002003 E0                MOVX    A,@DPTR
+002004 6014              JZ      ?C0018?KEYSCAN
   181: 				break;
-002000         ?C0026?KEYSCAN:
+002006         ?C0026?KEYSCAN:
   182: 			if (i == KS_BUFF_POLL_LEN-1) {
-002000 EE                MOV     A,R6
-002001 B4050B            CJNE    A,#05H,?C0021?KEYSCAN
+002006 EE                MOV     A,R6
+002007 B4050B            CJNE    A,#05H,?C0021?KEYSCAN
   183: 				ksEvtPool.ksPool[i] = 0;
-002004 2440              ADD     A,#LOW ksEvtPool+01H
-002006 F582              MOV     DPL,A
-002008 E4                CLR     A
-002009 344E              ADDC    A,#HIGH ksEvtPool+01H
-00200B F583              MOV     DPH,A
-00200D E4                CLR     A
-00200E F0                MOVX    @DPTR,A
+00200A 2440              ADD     A,#LOW ksEvtPool+01H
+00200C F582              MOV     DPL,A
+00200E E4                CLR     A
+00200F 344E              ADDC    A,#HIGH ksEvtPool+01H
+002011 F583              MOV     DPH,A
+002013 E4                CLR     A
+002014 F0                MOVX    @DPTR,A
   184: 			}
   185: 		}
   186: 	}
-00200F         ?C0021?KEYSCAN:
-00200F 0E                INC     R6
-002010 EE                MOV     A,R6
-002011 B406A3            CJNE    A,#06H,?C0019?KEYSCAN
+002015         ?C0021?KEYSCAN:
+002015 0E                INC     R6
+002016 EE                MOV     A,R6
+002017 B406A3            CJNE    A,#06H,?C0019?KEYSCAN
   187: }
-002014         ?C0018?KEYSCAN:
-002014 22                RET     
+00201A         ?C0018?KEYSCAN:
+00201A 22                RET     
 ----- FUNCTION _keyOut (END) -------
 
 
+----- FUNCTION GPIO_fillpu (BEGIN) -----
+ FILE: 'keyscan.c'
+  259: void GPIO_fillpu()
+  260: {
+  261: 	byte i;
+  262: 	for(i = 0;i < 4;i++)
+;---- Variable 'i' assigned to Register 'R7' ----
+00201B E4                CLR     A
+00201C FF                MOV     R7,A
+00201D         ?C0043?KEYSCAN:
+  263: 		REG_GPIO_PUP(i) = ~(REG_GPIO_OE(i) | REG_GPIO_PDN(i));
+00201D EF                MOV     A,R7
+00201E FD                MOV     R5,A
+00201F 7C00              MOV     R4,#00H
+002021 247C              ADD     A,#07CH
+002023 FB                MOV     R3,A
+002024 EC                MOV     A,R4
+002025 3480              ADDC    A,#080H
+002027 8B82              MOV     DPL,R3
+002029 F583              MOV     DPH,A
+00202B E0                MOVX    A,@DPTR
+00202C FE                MOV     R6,A
+00202D ED                MOV     A,R5
+00202E 2470              ADD     A,#070H
+002030 FD                MOV     R5,A
+002031 EC                MOV     A,R4
+002032 3480              ADDC    A,#080H
+002034 8D82              MOV     DPL,R5
+002036 F583              MOV     DPH,A
+002038 E0                MOVX    A,@DPTR
+002039 4E                ORL     A,R6
+00203A F4                CPL     A
+00203B FE                MOV     R6,A
+00203C EF                MOV     A,R7
+00203D 2478              ADD     A,#078H
+00203F FD                MOV     R5,A
+002040 EC                MOV     A,R4
+002041 3480              ADDC    A,#080H
+002043 8D82              MOV     DPL,R5
+002045 F583              MOV     DPH,A
+002047 EE                MOV     A,R6
+002048 F0                MOVX    @DPTR,A
+002049 0F                INC     R7
+00204A EF                MOV     A,R7
+00204B B404CF            CJNE    A,#04H,?C0043?KEYSCAN
+  264: }
+00204E 22                RET     
+----- FUNCTION GPIO_fillpu (END) -------
+
+
 ----- FUNCTION KS_ScanMatrix (BEGIN) -----
  FILE: 'keyscan.c'
-  260: void KS_ScanMatrix()
-  261: {
-  262: 	byte i = 0;
-  263: 	byte j = 0;
+  265: void KS_ScanMatrix()
+  266: {
+  267: 	byte i = 0;
+  268: 	byte j = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-002015 E4                CLR     A
-002016 FF                MOV     R7,A
-  264: 	byte tgroup = 0;
-002017 904E7E            MOV     DPTR,#j
-00201A F0                MOVX    @DPTR,A
-  265: 	byte tgpionum = 0;
+00204F E4                CLR     A
+002050 FF                MOV     R7,A
+  269: 	byte tgroup = 0;
+002051 904E7E            MOV     DPTR,#j
+002054 F0                MOVX    @DPTR,A
+  270: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-00201B FE                MOV     R6,A
-  266: 	byte temp = 0;
+002055 FE                MOV     R6,A
+  271: 	byte temp = 0;
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-00201C FD                MOV     R5,A
-  267: 	byte check = 0;
-00201D A3                INC     DPTR
-00201E F0                MOVX    @DPTR,A
-  268: 	for (i=0; col[i]!=0; i++) {
-00201F A3                INC     DPTR
-002020 F0                MOVX    @DPTR,A
-  269: 		tgroup = col[i]  >> 3;
-002021         ?C0043?KEYSCAN:
-002021 EF                MOV     A,R7
-002022 90060C            MOV     DPTR,#col
-002025 93                MOVC    A,@A+DPTR
-002026 607C              JZ      ?C0044?KEYSCAN
-  270: 		tgpionum = 1 << (col[i] & 7);
-002028 EF                MOV     A,R7
-002029 93                MOVC    A,@A+DPTR
-00202A FD                MOV     R5,A
-00202B 13                RRC     A
-00202C 13                RRC     A
-00202D 13                RRC     A
-00202E 541F              ANL     A,#01FH
-002030 FE                MOV     R6,A
-  271: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
-002031 ED                MOV     A,R5
-002032 5407              ANL     A,#07H
-002034 FD                MOV     R5,A
-002035 7401              MOV     A,#01H
-002037 A805              MOV     R0,AR5
-002039 08                INC     R0
-00203A 8002              SJMP    ?C0099?KEYSCAN
-00203C         ?C0098?KEYSCAN:
-00203C C3                CLR     C
-00203D 33                RLC     A
-00203E         ?C0099?KEYSCAN:
-00203E D8FC              DJNZ    R0,?C0098?KEYSCAN
-002040 FD                MOV     R5,A
-  272: 	}
-002041 EE                MOV     A,R6
-002042 2478              ADD     A,#078H
-002044 FB                MOV     R3,A
-002045 E4                CLR     A
-002046 3480              ADDC    A,#080H
-002048 8B82              MOV     DPL,R3
-00204A F583              MOV     DPH,A
-00204C E0                MOVX    A,@DPTR
-00204D FC                MOV     R4,A
-00204E ED                MOV     A,R5
-00204F F4                CPL     A
-002050 FB                MOV     R3,A
-002051 EC                MOV     A,R4
-002052 5B                ANL     A,R3
-002053 F0                MOVX    @DPTR,A
-002054 EE                MOV     A,R6
-002055 2470              ADD     A,#070H
-002057 F582              MOV     DPL,A
-002059 E4                CLR     A
-00205A 3480              ADDC    A,#080H
-00205C F583              MOV     DPH,A
-00205E E0                MOVX    A,@DPTR
-00205F 4D                ORL     A,R5
-002060 F0                MOVX    @DPTR,A
-002061 EE                MOV     A,R6
-002062 2474              ADD     A,#074H
-002064 F582              MOV     DPL,A
-002066 E4                CLR     A
-002067 3480              ADDC    A,#080H
-002069 F583              MOV     DPH,A
-00206B E0                MOVX    A,@DPTR
-00206C 5B                ANL     A,R3
-00206D F0                MOVX    @DPTR,A
-00206E 90811C            MOV     DPTR,#0811CH
-002071 E0                MOVX    A,@DPTR
-002072 F4                CPL     A
-002073 FC                MOV     R4,A
-002074 74BC              MOV     A,#LOW ksSelMapCurr
-002076 2F                ADD     A,R7
-002077 F582              MOV     DPL,A
-002079 E4                CLR     A
-00207A 344D              ADDC    A,#HIGH ksSelMapCurr
-00207C F583              MOV     DPH,A
-00207E EC                MOV     A,R4
-00207F F0                MOVX    @DPTR,A
-002080 EE                MOV     A,R6
-002081 2478              ADD     A,#078H
-002083 FB                MOV     R3,A
-002084 E4                CLR     A
-002085 3480              ADDC    A,#080H
-002087 8B82              MOV     DPL,R3
-002089 F583              MOV     DPH,A
-00208B E0                MOVX    A,@DPTR
-00208C 4D                ORL     A,R5
+002056 FD                MOV     R5,A
+  272: 	byte check = 0;
+002057 A3                INC     DPTR
+002058 F0                MOVX    @DPTR,A
+  273: 	for (i=0; col[i]!=0; i++) {
+002059 A3                INC     DPTR
+00205A F0                MOVX    @DPTR,A
+  274: 		tgroup = col[i]  >> 3;
+00205B         ?C0047?KEYSCAN:
+00205B EF                MOV     A,R7
+00205C 90060C            MOV     DPTR,#col
+00205F 93                MOVC    A,@A+DPTR
+002060 607C              JZ      ?C0048?KEYSCAN
+  275: 		tgpionum = 1 << (col[i] & 7);
+002062 EF                MOV     A,R7
+002063 93                MOVC    A,@A+DPTR
+002064 FD                MOV     R5,A
+002065 13                RRC     A
+002066 13                RRC     A
+002067 13                RRC     A
+002068 541F              ANL     A,#01FH
+00206A FE                MOV     R6,A
+  276: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
+00206B ED                MOV     A,R5
+00206C 5407              ANL     A,#07H
+00206E FD                MOV     R5,A
+00206F 7401              MOV     A,#01H
+002071 A805              MOV     R0,AR5
+002073 08                INC     R0
+002074 8002              SJMP    ?C0103?KEYSCAN
+002076         ?C0102?KEYSCAN:
+002076 C3                CLR     C
+002077 33                RLC     A
+002078         ?C0103?KEYSCAN:
+002078 D8FC              DJNZ    R0,?C0102?KEYSCAN
+00207A FD                MOV     R5,A
+  277: 	}
+00207B EE                MOV     A,R6
+00207C 2478              ADD     A,#078H
+00207E FB                MOV     R3,A
+00207F E4                CLR     A
+002080 3480              ADDC    A,#080H
+002082 8B82              MOV     DPL,R3
+002084 F583              MOV     DPH,A
+002086 E0                MOVX    A,@DPTR
+002087 FC                MOV     R4,A
+002088 ED                MOV     A,R5
+002089 F4                CPL     A
+00208A FB                MOV     R3,A
+00208B EC                MOV     A,R4
+00208C 5B                ANL     A,R3
 00208D F0                MOVX    @DPTR,A
 00208E EE                MOV     A,R6
 00208F 2470              ADD     A,#070H
-002091 FB                MOV     R3,A
-002092 E4                CLR     A
-002093 3480              ADDC    A,#080H
-002095 8B82              MOV     DPL,R3
-002097 F583              MOV     DPH,A
-002099 E0                MOVX    A,@DPTR
-00209A FC                MOV     R4,A
-00209B ED                MOV     A,R5
-00209C F4                CPL     A
-00209D FB                MOV     R3,A
-00209E EC                MOV     A,R4
-00209F 5B                ANL     A,R3
-0020A0 F0                MOVX    @DPTR,A
-  273: 
-0020A1 0F                INC     R7
-0020A2 0121              AJMP    ?C0043?KEYSCAN
-0020A4         ?C0044?KEYSCAN:
-  274: 	for (i=0; col[i]!=0; i++) {
-0020A4 E4                CLR     A
-0020A5 FF                MOV     R7,A
-0020A6         ?C0046?KEYSCAN:
-0020A6 EF                MOV     A,R7
-0020A7 90060C            MOV     DPTR,#col
-0020AA 93                MOVC    A,@A+DPTR
-0020AB 607C              JZ      ?C0047?KEYSCAN
-  275: 		tgroup = col[i]  >> 3;
-0020AD EF                MOV     A,R7
-0020AE 93                MOVC    A,@A+DPTR
-0020AF FD                MOV     R5,A
-0020B0 13                RRC     A
-0020B1 13                RRC     A
-0020B2 13                RRC     A
-0020B3 541F              ANL     A,#01FH
-0020B5 FE                MOV     R6,A
-  276: 		tgpionum = 1 << (col[i] & 7);
-0020B6 ED                MOV     A,R5
-0020B7 5407              ANL     A,#07H
-0020B9 FD                MOV     R5,A
-0020BA 7401              MOV     A,#01H
-0020BC A805              MOV     R0,AR5
-0020BE 08                INC     R0
-0020BF 8002              SJMP    ?C0101?KEYSCAN
-0020C1         ?C0100?KEYSCAN:
-0020C1 C3                CLR     C
-0020C2 33                RLC     A
-0020C3         ?C0101?KEYSCAN:
-0020C3 D8FC              DJNZ    R0,?C0100?KEYSCAN
-0020C5 FD                MOV     R5,A
-  277: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
-0020C6 EE                MOV     A,R6
-0020C7 2478              ADD     A,#078H
-0020C9 FB                MOV     R3,A
-0020CA E4                CLR     A
-0020CB 3480              ADDC    A,#080H
-0020CD 8B82              MOV     DPL,R3
-0020CF F583              MOV     DPH,A
-0020D1 E0                MOVX    A,@DPTR
-0020D2 FC                MOV     R4,A
-0020D3 ED                MOV     A,R5
-0020D4 F4                CPL     A
-0020D5 FB                MOV     R3,A
-0020D6 EC                MOV     A,R4
-0020D7 5B                ANL     A,R3
-0020D8 F0                MOVX    @DPTR,A
-0020D9 EE                MOV     A,R6
-0020DA 2470              ADD     A,#070H
-0020DC F582              MOV     DPL,A
+002091 F582              MOV     DPL,A
+002093 E4                CLR     A
+002094 3480              ADDC    A,#080H
+002096 F583              MOV     DPH,A
+002098 E0                MOVX    A,@DPTR
+002099 4D                ORL     A,R5
+00209A F0                MOVX    @DPTR,A
+00209B EE                MOV     A,R6
+00209C 2474              ADD     A,#074H
+00209E F582              MOV     DPL,A
+0020A0 E4                CLR     A
+0020A1 3480              ADDC    A,#080H
+0020A3 F583              MOV     DPH,A
+0020A5 E0                MOVX    A,@DPTR
+0020A6 5B                ANL     A,R3
+0020A7 F0                MOVX    @DPTR,A
+0020A8 90811C            MOV     DPTR,#0811CH
+0020AB E0                MOVX    A,@DPTR
+0020AC F4                CPL     A
+0020AD FC                MOV     R4,A
+0020AE 74BC              MOV     A,#LOW ksSelMapCurr
+0020B0 2F                ADD     A,R7
+0020B1 F582              MOV     DPL,A
+0020B3 E4                CLR     A
+0020B4 344D              ADDC    A,#HIGH ksSelMapCurr
+0020B6 F583              MOV     DPH,A
+0020B8 EC                MOV     A,R4
+0020B9 F0                MOVX    @DPTR,A
+0020BA EE                MOV     A,R6
+0020BB 2478              ADD     A,#078H
+0020BD FB                MOV     R3,A
+0020BE E4                CLR     A
+0020BF 3480              ADDC    A,#080H
+0020C1 8B82              MOV     DPL,R3
+0020C3 F583              MOV     DPH,A
+0020C5 E0                MOVX    A,@DPTR
+0020C6 4D                ORL     A,R5
+0020C7 F0                MOVX    @DPTR,A
+0020C8 EE                MOV     A,R6
+0020C9 2470              ADD     A,#070H
+0020CB FB                MOV     R3,A
+0020CC E4                CLR     A
+0020CD 3480              ADDC    A,#080H
+0020CF 8B82              MOV     DPL,R3
+0020D1 F583              MOV     DPH,A
+0020D3 E0                MOVX    A,@DPTR
+0020D4 FC                MOV     R4,A
+0020D5 ED                MOV     A,R5
+0020D6 F4                CPL     A
+0020D7 FB                MOV     R3,A
+0020D8 EC                MOV     A,R4
+0020D9 5B                ANL     A,R3
+0020DA F0                MOVX    @DPTR,A
+  278: 
+0020DB 0F                INC     R7
+0020DC 015B              AJMP    ?C0047?KEYSCAN
+0020DE         ?C0048?KEYSCAN:
+  279: 	for (i=0; col[i]!=0; i++) {
 0020DE E4                CLR     A
-0020DF 3480              ADDC    A,#080H
-0020E1 F583              MOV     DPH,A
-0020E3 E0                MOVX    A,@DPTR
-0020E4 4D                ORL     A,R5
-0020E5 F0                MOVX    @DPTR,A
-0020E6 EE                MOV     A,R6
-0020E7 2474              ADD     A,#074H
-0020E9 F582              MOV     DPL,A
-0020EB E4                CLR     A
-0020EC 3480              ADDC    A,#080H
-0020EE F583              MOV     DPH,A
-0020F0 E0                MOVX    A,@DPTR
-0020F1 5B                ANL     A,R3
-0020F2 F0                MOVX    @DPTR,A
-0020F3 90811C            MOV     DPTR,#0811CH
-0020F6 E0                MOVX    A,@DPTR
-0020F7 F4                CPL     A
-0020F8 FC                MOV     R4,A
-0020F9 74A8              MOV     A,#LOW ksSelMapCheck
-0020FB 2F                ADD     A,R7
-0020FC F582              MOV     DPL,A
-0020FE E4                CLR     A
-0020FF 344D              ADDC    A,#HIGH ksSelMapCheck
-002101 F583              MOV     DPH,A
-002103 EC                MOV     A,R4
-002104 F0                MOVX    @DPTR,A
-002105 EE                MOV     A,R6
-002106 2478              ADD     A,#078H
-002108 FB                MOV     R3,A
-002109 E4                CLR     A
-00210A 3480              ADDC    A,#080H
-00210C 8B82              MOV     DPL,R3
-00210E F583              MOV     DPH,A
-002110 E0                MOVX    A,@DPTR
-002111 4D                ORL     A,R5
+0020DF FF                MOV     R7,A
+0020E0         ?C0050?KEYSCAN:
+0020E0 EF                MOV     A,R7
+0020E1 90060C            MOV     DPTR,#col
+0020E4 93                MOVC    A,@A+DPTR
+0020E5 607C              JZ      ?C0051?KEYSCAN
+  280: 		tgroup = col[i]  >> 3;
+0020E7 EF                MOV     A,R7
+0020E8 93                MOVC    A,@A+DPTR
+0020E9 FD                MOV     R5,A
+0020EA 13                RRC     A
+0020EB 13                RRC     A
+0020EC 13                RRC     A
+0020ED 541F              ANL     A,#01FH
+0020EF FE                MOV     R6,A
+  281: 		tgpionum = 1 << (col[i] & 7);
+0020F0 ED                MOV     A,R5
+0020F1 5407              ANL     A,#07H
+0020F3 FD                MOV     R5,A
+0020F4 7401              MOV     A,#01H
+0020F6 A805              MOV     R0,AR5
+0020F8 08                INC     R0
+0020F9 8002              SJMP    ?C0105?KEYSCAN
+0020FB         ?C0104?KEYSCAN:
+0020FB C3                CLR     C
+0020FC 33                RLC     A
+0020FD         ?C0105?KEYSCAN:
+0020FD D8FC              DJNZ    R0,?C0104?KEYSCAN
+0020FF FD                MOV     R5,A
+  282: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
+002100 EE                MOV     A,R6
+002101 2478              ADD     A,#078H
+002103 FB                MOV     R3,A
+002104 E4                CLR     A
+002105 3480              ADDC    A,#080H
+002107 8B82              MOV     DPL,R3
+002109 F583              MOV     DPH,A
+00210B E0                MOVX    A,@DPTR
+00210C FC                MOV     R4,A
+00210D ED                MOV     A,R5
+00210E F4                CPL     A
+00210F FB                MOV     R3,A
+002110 EC                MOV     A,R4
+002111 5B                ANL     A,R3
 002112 F0                MOVX    @DPTR,A
 002113 EE                MOV     A,R6
 002114 2470              ADD     A,#070H
-002116 FB                MOV     R3,A
-002117 E4                CLR     A
-002118 3480              ADDC    A,#080H
-00211A 8B82              MOV     DPL,R3
-00211C F583              MOV     DPH,A
-00211E E0                MOVX    A,@DPTR
-00211F FC                MOV     R4,A
-002120 ED                MOV     A,R5
-002121 F4                CPL     A
-002122 FB                MOV     R3,A
-002123 EC                MOV     A,R4
-002124 5B                ANL     A,R3
-002125 F0                MOVX    @DPTR,A
-  278: 	}
-002126 0F                INC     R7
-002127 01A6              AJMP    ?C0046?KEYSCAN
-002129         ?C0047?KEYSCAN:
-  279: 
-  280: 	for (i=0; col[i]!=0; i++) {
-002129 E4                CLR     A
-00212A FF                MOV     R7,A
-00212B         ?C0049?KEYSCAN:
-00212B EF                MOV     A,R7
-00212C 90060C            MOV     DPTR,#col
-00212F 93                MOVC    A,@A+DPTR
-002130 6040              JZ      ?C0053?KEYSCAN
-  281: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
-002132 74BC              MOV     A,#LOW ksSelMapCurr
-002134 2F                ADD     A,R7
-002135 F582              MOV     DPL,A
-002137 E4                CLR     A
-002138 344D              ADDC    A,#HIGH ksSelMapCurr
-00213A F583              MOV     DPH,A
-00213C E0                MOVX    A,@DPTR
-00213D FE                MOV     R6,A
-00213E 74A8              MOV     A,#LOW ksSelMapCheck
-002140 2F                ADD     A,R7
-002141 F582              MOV     DPL,A
+002116 F582              MOV     DPL,A
+002118 E4                CLR     A
+002119 3480              ADDC    A,#080H
+00211B F583              MOV     DPH,A
+00211D E0                MOVX    A,@DPTR
+00211E 4D                ORL     A,R5
+00211F F0                MOVX    @DPTR,A
+002120 EE                MOV     A,R6
+002121 2474              ADD     A,#074H
+002123 F582              MOV     DPL,A
+002125 E4                CLR     A
+002126 3480              ADDC    A,#080H
+002128 F583              MOV     DPH,A
+00212A E0                MOVX    A,@DPTR
+00212B 5B                ANL     A,R3
+00212C F0                MOVX    @DPTR,A
+00212D 90811C            MOV     DPTR,#0811CH
+002130 E0                MOVX    A,@DPTR
+002131 F4                CPL     A
+002132 FC                MOV     R4,A
+002133 74A8              MOV     A,#LOW ksSelMapCheck
+002135 2F                ADD     A,R7
+002136 F582              MOV     DPL,A
+002138 E4                CLR     A
+002139 344D              ADDC    A,#HIGH ksSelMapCheck
+00213B F583              MOV     DPH,A
+00213D EC                MOV     A,R4
+00213E F0                MOVX    @DPTR,A
+00213F EE                MOV     A,R6
+002140 2478              ADD     A,#078H
+002142 FB                MOV     R3,A
 002143 E4                CLR     A
-002144 344D              ADDC    A,#HIGH ksSelMapCheck
-002146 F583              MOV     DPH,A
-002148 E0                MOVX    A,@DPTR
-002149 6E                XRL     A,R6
-00214A 6023              JZ      ?C0051?KEYSCAN
-  282: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
-00214C 74BC              MOV     A,#LOW ksSelMapCurr
-00214E 2F                ADD     A,R7
-00214F F582              MOV     DPL,A
+002144 3480              ADDC    A,#080H
+002146 8B82              MOV     DPL,R3
+002148 F583              MOV     DPH,A
+00214A E0                MOVX    A,@DPTR
+00214B 4D                ORL     A,R5
+00214C F0                MOVX    @DPTR,A
+00214D EE                MOV     A,R6
+00214E 2470              ADD     A,#070H
+002150 FB                MOV     R3,A
 002151 E4                CLR     A
-002152 344D              ADDC    A,#HIGH ksSelMapCurr
-002154 F583              MOV     DPH,A
-002156 C083              PUSH    DPH
-002158 C082              PUSH    DPL
-00215A E0                MOVX    A,@DPTR
-00215B FE                MOV     R6,A
-00215C 74A8              MOV     A,#LOW ksSelMapCheck
-00215E 2F                ADD     A,R7
-00215F F582              MOV     DPL,A
-002161 E4                CLR     A
-002162 344D              ADDC    A,#HIGH ksSelMapCheck
-002164 F583              MOV     DPH,A
-002166 E0                MOVX    A,@DPTR
-002167 FD                MOV     R5,A
-002168 EE                MOV     A,R6
-002169 5D                ANL     A,R5
-00216A D082              POP     DPL
-00216C D083              POP     DPH
-00216E F0                MOVX    @DPTR,A
-  283: 		}
-  284: 	}
-00216F         ?C0051?KEYSCAN:
-00216F 0F                INC     R7
-002170 80B9              SJMP    ?C0049?KEYSCAN
-  285: }
-002172         ?C0053?KEYSCAN:
-002172 22                RET     
+002152 3480              ADDC    A,#080H
+002154 8B82              MOV     DPL,R3
+002156 F583              MOV     DPH,A
+002158 E0                MOVX    A,@DPTR
+002159 FC                MOV     R4,A
+00215A ED                MOV     A,R5
+00215B F4                CPL     A
+00215C FB                MOV     R3,A
+00215D EC                MOV     A,R4
+00215E 5B                ANL     A,R3
+00215F F0                MOVX    @DPTR,A
+  283: 	}
+002160 0F                INC     R7
+002161 01E0              AJMP    ?C0050?KEYSCAN
+002163         ?C0051?KEYSCAN:
+  284: 
+  285: 	for (i=0; col[i]!=0; i++) {
+002163 E4                CLR     A
+002164 FF                MOV     R7,A
+002165         ?C0053?KEYSCAN:
+002165 EF                MOV     A,R7
+002166 90060C            MOV     DPTR,#col
+002169 93                MOVC    A,@A+DPTR
+00216A 6040              JZ      ?C0057?KEYSCAN
+  286: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
+00216C 74BC              MOV     A,#LOW ksSelMapCurr
+00216E 2F                ADD     A,R7
+00216F F582              MOV     DPL,A
+002171 E4                CLR     A
+002172 344D              ADDC    A,#HIGH ksSelMapCurr
+002174 F583              MOV     DPH,A
+002176 E0                MOVX    A,@DPTR
+002177 FE                MOV     R6,A
+002178 74A8              MOV     A,#LOW ksSelMapCheck
+00217A 2F                ADD     A,R7
+00217B F582              MOV     DPL,A
+00217D E4                CLR     A
+00217E 344D              ADDC    A,#HIGH ksSelMapCheck
+002180 F583              MOV     DPH,A
+002182 E0                MOVX    A,@DPTR
+002183 6E                XRL     A,R6
+002184 6023              JZ      ?C0055?KEYSCAN
+  287: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
+002186 74BC              MOV     A,#LOW ksSelMapCurr
+002188 2F                ADD     A,R7
+002189 F582              MOV     DPL,A
+00218B E4                CLR     A
+00218C 344D              ADDC    A,#HIGH ksSelMapCurr
+00218E F583              MOV     DPH,A
+002190 C083              PUSH    DPH
+002192 C082              PUSH    DPL
+002194 E0                MOVX    A,@DPTR
+002195 FE                MOV     R6,A
+002196 74A8              MOV     A,#LOW ksSelMapCheck
+002198 2F                ADD     A,R7
+002199 F582              MOV     DPL,A
+00219B E4                CLR     A
+00219C 344D              ADDC    A,#HIGH ksSelMapCheck
+00219E F583              MOV     DPH,A
+0021A0 E0                MOVX    A,@DPTR
+0021A1 FD                MOV     R5,A
+0021A2 EE                MOV     A,R6
+0021A3 5D                ANL     A,R5
+0021A4 D082              POP     DPL
+0021A6 D083              POP     DPH
+0021A8 F0                MOVX    @DPTR,A
+  288: 		}
+  289: 	}
+0021A9         ?C0055?KEYSCAN:
+0021A9 0F                INC     R7
+0021AA 80B9              SJMP    ?C0053?KEYSCAN
+  290: }
+0021AC         ?C0057?KEYSCAN:
+0021AC 22                RET     
 ----- FUNCTION KS_ScanMatrix (END) -------
 
 
@@ -6252,13 +6311,13 @@
    59: {
    60: 	m_reset_reg = 1;
    61: 	while(1);
-002173 908010            MOV     DPTR,#m_reset_reg
-002176 7401              MOV     A,#01H
-002178 F0                MOVX    @DPTR,A
-002179         ?C0004?SYS:
+0021AD 908010            MOV     DPTR,#m_reset_reg
+0021B0 7401              MOV     A,#01H
+0021B2 F0                MOVX    @DPTR,A
+0021B3         ?C0004?SYS:
    62: }
-002179 80FE              SJMP    ?C0004?SYS
-00217B 22                RET     
+0021B3 80FE              SJMP    ?C0004?SYS
+0021B5 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -6268,7 +6327,7 @@
    75: {
    76: 	System_Hardware_reset();
    77: }
-00217C 80F5              SJMP    System_Hardware_reset
+0021B6 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -6276,160 +6335,100 @@
  FILE: 'sys.c'
    84: static void kb_cb_Hid(byte *p,byte len) {
    85: 	//p[0] is hid type,always is 1(kb) now
-00217E 904E92            MOV     DPTR,#len
-002181 ED                MOV     A,R5
-002182 F0                MOVX    @DPTR,A
+0021B8 904E92            MOV     DPTR,#len
+0021BB ED                MOV     A,R5
+0021BC F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
    86: 	byte temp = p[1];
-002183 900001            MOV     DPTR,#01H
-002186 1203CF            LCALL   ?C?CLDOPTR
-002189 904E93            MOV     DPTR,#temp
-00218C F0                MOVX    @DPTR,A
+0021BD 900001            MOV     DPTR,#01H
+0021C0 1203CF            LCALL   ?C?CLDOPTR
+0021C3 904E93            MOV     DPTR,#temp
+0021C6 F0                MOVX    @DPTR,A
    87: 
    88: 	if (len<2) {
    89: 		return;
    90: 	}
    91: }
-00218D 22                RET     
+0021C7 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
------ FUNCTION kb_button_press_timer500ms (BEGIN) -----
+----- FUNCTION YC_connect_timeout_500ms (BEGIN) -----
  FILE: 'sys.c'
-  235: void kb_button_press_timer500ms()
-  236: {
-  237: 	
-  238: //key status 
-  239: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
-00218E 904CCE            MOV     DPTR,#g_variable+0FH
-002191 E0                MOVX    A,@DPTR
-002192 30E13E            JNB     ACC.1,?C0041?SYS
-  240: 	{
-  241: 		if (g_variable.button_timer[1] < 250)
-002195 904CD0            MOV     DPTR,#g_variable+011H
-002198 E0                MOVX    A,@DPTR
-002199 C3                CLR     C
-00219A 94FA              SUBB    A,#0FAH
-00219C 5003              JNC     ?C0042?SYS
-  242: 			g_variable.button_timer[1]++;
-00219E E0                MOVX    A,@DPTR
-00219F 04                INC     A
-0021A0 F0                MOVX    @DPTR,A
-0021A1         ?C0042?SYS:
-  243: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
-0021A1 904CD0            MOV     DPTR,#g_variable+011H
-0021A4 E0                MOVX    A,@DPTR
-0021A5 64B4              XRL     A,#0B4H
-0021A7 7037              JNZ     ?C0047?SYS
-  244: 		{
-  245: 			press_long_time_flag++;
-0021A9 904DDC            MOV     DPTR,#press_long_time_flag
-0021AC E0                MOVX    A,@DPTR
-0021AD 04                INC     A
-0021AE F0                MOVX    @DPTR,A
-  246: 			if(press_long_time_flag <= 2)
-0021AF E0                MOVX    A,@DPTR
-0021B0 D3                SETB    C
-0021B1 9402              SUBB    A,#02H
-0021B3 5007              JNC     ?C0044?SYS
-  247: 			{
-  248: 				g_variable.button_timer[1] = 0;
-0021B5 E4                CLR     A
-0021B6 904CD0            MOV     DPTR,#g_variable+011H
-0021B9 F0                MOVX    @DPTR,A
-  249: 			}
-0021BA 8024              SJMP    ?C0047?SYS
-0021BC         ?C0044?SYS:
-  250: 			else if(press_long_time_flag == 3)
-0021BC 904DDC            MOV     DPTR,#press_long_time_flag
-0021BF E0                MOVX    A,@DPTR
-0021C0 B4031D            CJNE    A,#03H,?C0047?SYS
-  251: 			{
-  252: 				long_press_flag = 1;
-0021C3 904DD5            MOV     DPTR,#long_press_flag
-0021C6 7401              MOV     A,#01H
-0021C8 F0                MOVX    @DPTR,A
-  253: 				g_variable.button_timer[1] = 0;
-0021C9 E4                CLR     A
-0021CA 904CD0            MOV     DPTR,#g_variable+011H
-0021CD F0                MOVX    @DPTR,A
-  254: 				System_long_sleep();
-0021CE 12078F            LCALL   System_long_sleep
-  255: 			}
-  256: 		}
-  257: 	}
-0021D1 800D              SJMP    ?C0047?SYS
-0021D3         ?C0041?SYS:
-  258: 	else
-  259: 	{
-  260: 		press_long_time_flag = 0;
-0021D3 E4                CLR     A
-0021D4 904DDC            MOV     DPTR,#press_long_time_flag
-0021D7 F0                MOVX    @DPTR,A
-  261: 		long_press_flag = 0;
-0021D8 904DD5            MOV     DPTR,#long_press_flag
-0021DB F0                MOVX    @DPTR,A
-  262: 		g_variable.button_timer[1] = 0;
-0021DC 904CD0            MOV     DPTR,#g_variable+011H
-0021DF F0                MOVX    @DPTR,A
-  263: 	}
-0021E0         ?C0047?SYS:
-  264: 		
-  265: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
-0021E0 904CCE            MOV     DPTR,#g_variable+0FH
-0021E3 E0                MOVX    A,@DPTR
-0021E4 30E430            JNB     ACC.4,?C0048?SYS
-  266: 	{
-  267: 		g_variable.delay_enter_lpm_timer = 10;
-0021E7 904CED            MOV     DPTR,#g_variable+02EH
-0021EA 740A              MOV     A,#0AH
-0021EC F0                MOVX    @DPTR,A
-  268: 		if (g_variable.button_timer[2] < 250)
-0021ED 904CD1            MOV     DPTR,#g_variable+012H
-0021F0 E0                MOVX    A,@DPTR
-0021F1 C3                CLR     C
-0021F2 94FA              SUBB    A,#0FAH
-0021F4 5003              JNC     ?C0049?SYS
-  269: 			g_variable.button_timer[2]++;
-0021F6 E0                MOVX    A,@DPTR
-0021F7 04                INC     A
-0021F8 F0                MOVX    @DPTR,A
-0021F9         ?C0049?SYS:
-  270: 		if (g_variable.button_timer[2] == 6)
-0021F9 904CD1            MOV     DPTR,#g_variable+012H
-0021FC E0                MOVX    A,@DPTR
-0021FD B4061C            CJNE    A,#06H,?C0054?SYS
-  271: 		{
-  272: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
-002200 904CC3            MOV     DPTR,#g_variable+04H
+  182: void YC_connect_timeout_500ms()
+  183: {
+  184: 	
+  185: //system long sleep timer
+  186: 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+0021C8 904CC5            MOV     DPTR,#g_variable+06H
+0021CB E0                MOVX    A,@DPTR
+0021CC B40312            CJNE    A,#03H,?C0030?SYS
+  187: 	{
+  188: 		if (g_variable.sleepTimer >= STANDBY_TIMER_10MIN)
+0021CF C3                CLR     C
+0021D0 904CE4            MOV     DPTR,#g_variable+025H
+0021D3 E0                MOVX    A,@DPTR
+0021D4 94B0              SUBB    A,#0B0H
+0021D6 904CE3            MOV     DPTR,#g_variable+024H
+0021D9 E0                MOVX    A,@DPTR
+0021DA 9404              SUBB    A,#04H
+0021DC 402D              JC      ?C0037?SYS
+  189: 			System_long_sleep();
+0021DE 02078F            LJMP    System_long_sleep
+  190: 	//	else
+  191: 	//	{
+  192: 	//		if((g_variable.sleepTimer & 0x10) && (!keyCount))
+  193: 	//		{
+  194: 	//			xmemclear(hidBuff,9);
+  195: 	//			hidBuff[0] = HID_REPORTID_1;		// standard key send
+  196: 	//			IPC_TxHidData(hidBuff, 9);
+  197: 	//		}
+  198: 	//	}
+  199: 	}
+0021E1         ?C0030?SYS:
+  200: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
+0021E1 904CC5            MOV     DPTR,#g_variable+06H
+0021E4 E0                MOVX    A,@DPTR
+0021E5 B40114            CJNE    A,#01H,?C0033?SYS
+  201: 	{
+  202: 		if (g_variable.sleepTimer == G24_PAIRING_TIME_OUT_20S)
+0021E8 904CE3            MOV     DPTR,#g_variable+024H
+0021EB E0                MOVX    A,@DPTR
+0021EC 7004              JNZ     ?C0090?SYS
+0021EE A3                INC     DPTR
+0021EF E0                MOVX    A,@DPTR
+0021F0 6428              XRL     A,#028H
+0021F2         ?C0090?SYS:
+0021F2 7017              JNZ     ?C0037?SYS
+  203: 		{
+  204: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
+0021F4 7F22              MOV     R7,#022H
+0021F6 120F61            LCALL   _IPC_TxControlCmd
+  205: 			System_long_sleep();
+0021F9 02078F            LJMP    System_long_sleep
+  206: 		}
+  207: 	}
+0021FC         ?C0033?SYS:
+  208: 	else
+  209: 	{
+  210: 		if (g_variable.sleepTimer == RECONNECT_TIMER_10S)
+0021FC 904CE3            MOV     DPTR,#g_variable+024H
+0021FF E0                MOVX    A,@DPTR
+002200 7004              JNZ     ?C0091?SYS
+002202 A3                INC     DPTR
 002203 E0                MOVX    A,@DPTR
-002204 FF                MOV     R7,A
-002205 6003              JZ      ?C0052?SYS
-002207 B4FE12            CJNE    A,#0FEH,?C0054?SYS
-00220A         ?C0052?SYS:
-  273: 			{
-  274: 				YC_disconnect_all_link();
-00220A 120FAD            LCALL   YC_disconnect_all_link
-  275: 				Delay1ms(10);
-00220D 7F0A              MOV     R7,#0AH
-00220F 120FDC            LCALL   _Delay1ms
-  276: 				YC_key_action_handle(KEY_PAIRING_24G);
-002212 7F0A              MOV     R7,#0AH
-002214 02101D            LJMP    _YC_key_action_handle
-  277: 			}
-  278: 		}
-  279: 	}
-002217         ?C0048?SYS:
-  280: 	else
-  281: 		g_variable.button_timer[2] = 0;
-002217 E4                CLR     A
-002218 904CD1            MOV     DPTR,#g_variable+012H
-00221B F0                MOVX    @DPTR,A
-  282: 	
-  283: }
-00221C         ?C0054?SYS:
-00221C 22                RET     
------ FUNCTION kb_button_press_timer500ms (END) -------
+002204 6414              XRL     A,#014H
+002206         ?C0091?SYS:
+002206 7003              JNZ     ?C0037?SYS
+  211: 		{
+  212: 			System_long_sleep();
+002208 12078F            LCALL   System_long_sleep
+  213: 		}
+  214: 	}
+  215: }
+00220B         ?C0037?SYS:
+00220B 22                RET     
+----- FUNCTION YC_connect_timeout_500ms (END) -------
 
 
 ----- FUNCTION kb_cb_Timer100ms (BEGIN) -----
@@ -6438,203 +6437,203 @@
   303: {
   304: 
   305: 	if (g_variable.delay_enter_lpm_timer) 
-00221D 904CED            MOV     DPTR,#g_variable+02EH
-002220 E0                MOVX    A,@DPTR
-002221 6002              JZ      ?C0056?SYS
+00220C 904CED            MOV     DPTR,#g_variable+02EH
+00220F E0                MOVX    A,@DPTR
+002210 6002              JZ      ?C0056?SYS
   306: 	{
   307: 		g_variable.delay_enter_lpm_timer --;
-002223 14                DEC     A
-002224 F0                MOVX    @DPTR,A
+002212 14                DEC     A
+002213 F0                MOVX    @DPTR,A
   308: 	}
-002225         ?C0056?SYS:
+002214         ?C0056?SYS:
   309: 
   310: 	if(g_variable.recon_delay)
-002225 904CF2            MOV     DPTR,#g_variable+033H
-002228 E0                MOVX    A,@DPTR
-002229 6002              JZ      ?C0057?SYS
+002214 904CF2            MOV     DPTR,#g_variable+033H
+002217 E0                MOVX    A,@DPTR
+002218 6002              JZ      ?C0057?SYS
   311: 		g_variable.recon_delay--;
-00222B 14                DEC     A
-00222C F0                MOVX    @DPTR,A
-00222D         ?C0057?SYS:
+00221A 14                DEC     A
+00221B F0                MOVX    @DPTR,A
+00221C         ?C0057?SYS:
   312: 
   313: 
   314: 	if(g_variable.one_key_press_wait_release_timer)
-00222D 904CFB            MOV     DPTR,#g_variable+03CH
-002230 E0                MOVX    A,@DPTR
-002231 600B              JZ      ?C0058?SYS
+00221C 904CFB            MOV     DPTR,#g_variable+03CH
+00221F E0                MOVX    A,@DPTR
+002220 600B              JZ      ?C0058?SYS
   315: 	{
   316: 		g_variable.one_key_press_wait_release_timer--;
-002233 14                DEC     A
-002234 F0                MOVX    @DPTR,A
+002222 14                DEC     A
+002223 F0                MOVX    @DPTR,A
   317: 		if(!g_variable.one_key_press_wait_release_timer)
-002235 E0                MOVX    A,@DPTR
-002236 7006              JNZ     ?C0058?SYS
+002224 E0                MOVX    A,@DPTR
+002225 7006              JNZ     ?C0058?SYS
   318: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
-002238 904CF7            MOV     DPTR,#g_variable+038H
-00223B 7406              MOV     A,#06H
-00223D F0                MOVX    @DPTR,A
+002227 904CF7            MOV     DPTR,#g_variable+038H
+00222A 7406              MOV     A,#06H
+00222C F0                MOVX    @DPTR,A
   319: 	}
-00223E         ?C0058?SYS:
+00222D         ?C0058?SYS:
   320: 
   321: 	if (g_variable.powerOn_timer != 0)
-00223E 904CE5            MOV     DPTR,#g_variable+026H
-002241 E0                MOVX    A,@DPTR
-002242 6028              JZ      ?C0060?SYS
+00222D 904CE5            MOV     DPTR,#g_variable+026H
+002230 E0                MOVX    A,@DPTR
+002231 6028              JZ      ?C0060?SYS
   322: 	{	
   323: 		if(g_variable.pairing_g24_timeout)
-002244 904CF1            MOV     DPTR,#g_variable+032H
-002247 E0                MOVX    A,@DPTR
-002248 6006              JZ      ?C0061?SYS
+002233 904CF1            MOV     DPTR,#g_variable+032H
+002236 E0                MOVX    A,@DPTR
+002237 6006              JZ      ?C0061?SYS
   324: 		{
   325: 			g_variable.powerOn_timer = 0;
-00224A E4                CLR     A
-00224B 904CE5            MOV     DPTR,#g_variable+026H
-00224E F0                MOVX    @DPTR,A
-00224F 22                RET     
+002239 E4                CLR     A
+00223A 904CE5            MOV     DPTR,#g_variable+026H
+00223D F0                MOVX    @DPTR,A
+00223E 22                RET     
   326: 			return;
   327: 		}
-002250         ?C0061?SYS:
+00223F         ?C0061?SYS:
   328: 			
   329: 		g_variable.powerOn_timer--;
-002250 904CE5            MOV     DPTR,#g_variable+026H
-002253 E0                MOVX    A,@DPTR
-002254 14                DEC     A
-002255 F0                MOVX    @DPTR,A
+00223F 904CE5            MOV     DPTR,#g_variable+026H
+002242 E0                MOVX    A,@DPTR
+002243 14                DEC     A
+002244 F0                MOVX    @DPTR,A
   330: 		GPIO_Setout(G24_LED_GPIO,LED_ON);
-002256 D201              SETB    ?_GPIO_Setout?BIT
-002258 7F1D              MOV     R7,#01DH
-00225A 12077D            LCALL   _GPIO_Setout
+002245 D201              SETB    ?_GPIO_Setout?BIT
+002247 7F1D              MOV     R7,#01DH
+002249 12077D            LCALL   _GPIO_Setout
   331: 		if (!g_variable.powerOn_timer)
-00225D 904CE5            MOV     DPTR,#g_variable+026H
-002260 E0                MOVX    A,@DPTR
-002261 7034              JNZ     ?C0064?SYS
+00224C 904CE5            MOV     DPTR,#g_variable+026H
+00224F E0                MOVX    A,@DPTR
+002250 7034              JNZ     ?C0064?SYS
   332: 		{
   333: 			GPIO_Setout(G24_LED_GPIO,LED_OFF);
-002263 C201              CLR     ?_GPIO_Setout?BIT
-002265 7F1D              MOV     R7,#01DH
-002267 12077D            LCALL   _GPIO_Setout
+002252 C201              CLR     ?_GPIO_Setout?BIT
+002254 7F1D              MOV     R7,#01DH
+002256 12077D            LCALL   _GPIO_Setout
   334: 		}
   335: 	}
-00226A 802B              SJMP    ?C0064?SYS
-00226C         ?C0060?SYS:
+002259 802B              SJMP    ?C0064?SYS
+00225B         ?C0060?SYS:
   336: 	else
   337: 	if (g_variable.pairing_g24_timeout == 0) //bt  pairing
-00226C 904CF1            MOV     DPTR,#g_variable+032H
-00226F E0                MOVX    A,@DPTR
-002270 7025              JNZ     ?C0064?SYS
+00225B 904CF1            MOV     DPTR,#g_variable+032H
+00225E E0                MOVX    A,@DPTR
+00225F 7025              JNZ     ?C0064?SYS
   338: 	{
   339: 		if(g_variable.battery_low_led_flash_interval)
-002272 904CE2            MOV     DPTR,#g_variable+023H
-002275 E0                MOVX    A,@DPTR
-002276 601F              JZ      ?C0064?SYS
+002261 904CE2            MOV     DPTR,#g_variable+023H
+002264 E0                MOVX    A,@DPTR
+002265 601F              JZ      ?C0064?SYS
   340: 		{
   341: 			g_variable.battery_low_led_flash_interval--;
-002278 14                DEC     A
-002279 F0                MOVX    @DPTR,A
+002267 14                DEC     A
+002268 F0                MOVX    @DPTR,A
   342: 			if(g_variable.battery_low_led_flash_interval & 0x02)
-00227A E0                MOVX    A,@DPTR
-00227B 30E109            JNB     ACC.1,?C0067?SYS
+002269 E0                MOVX    A,@DPTR
+00226A 30E109            JNB     ACC.1,?C0067?SYS
   343: 			{
   344: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-00227E D201              SETB    ?_GPIO_Setout?BIT
-002280 7F1D              MOV     R7,#01DH
-002282 12077D            LCALL   _GPIO_Setout
+00226D D201              SETB    ?_GPIO_Setout?BIT
+00226F 7F1D              MOV     R7,#01DH
+002271 12077D            LCALL   _GPIO_Setout
   345: 			}
-002285 8007              SJMP    ?C0068?SYS
-002287         ?C0067?SYS:
+002274 8007              SJMP    ?C0068?SYS
+002276         ?C0067?SYS:
   346: 			else
   347: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
-002287 C201              CLR     ?_GPIO_Setout?BIT
-002289 7F1D              MOV     R7,#01DH
-00228B 12077D            LCALL   _GPIO_Setout
-00228E         ?C0068?SYS:
+002276 C201              CLR     ?_GPIO_Setout?BIT
+002278 7F1D              MOV     R7,#01DH
+00227A 12077D            LCALL   _GPIO_Setout
+00227D         ?C0068?SYS:
   348: 			if(!g_variable.battery_low_led_flash_interval)
-00228E 904CE2            MOV     DPTR,#g_variable+023H
-002291 E0                MOVX    A,@DPTR
-002292 7003              JNZ     ?C0064?SYS
+00227D 904CE2            MOV     DPTR,#g_variable+023H
+002280 E0                MOVX    A,@DPTR
+002281 7003              JNZ     ?C0064?SYS
   349: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-002294 7404              MOV     A,#04H
-002296 F0                MOVX    @DPTR,A
+002283 7404              MOV     A,#04H
+002285 F0                MOVX    @DPTR,A
   350: 		}
   351: 	}
-002297         ?C0064?SYS:
+002286         ?C0064?SYS:
   352: 	
   353: // The dongle must receive data within 200ms, otherwise it will be forced to lift
   354: 	if(!long_press_flag)
-002297 904DD5            MOV     DPTR,#long_press_flag
-00229A E0                MOVX    A,@DPTR
-00229B 7036              JNZ     ?C0070?SYS
+002286 904DD5            MOV     DPTR,#long_press_flag
+002289 E0                MOVX    A,@DPTR
+00228A 7036              JNZ     ?C0070?SYS
   355: 	{
   356: 		if (repeat_send_24g == 1)
-00229D 904DD6            MOV     DPTR,#repeat_send_24g
-0022A0 E0                MOVX    A,@DPTR
-0022A1 6401              XRL     A,#01H
-0022A3 702E              JNZ     ?C0070?SYS
+00228C 904DD6            MOV     DPTR,#repeat_send_24g
+00228F E0                MOVX    A,@DPTR
+002290 6401              XRL     A,#01H
+002292 702E              JNZ     ?C0070?SYS
   357: 		{
   358: 			g_variable.sleepTimer = 0;
-0022A5 904CE3            MOV     DPTR,#g_variable+024H
-0022A8 F0                MOVX    @DPTR,A
-0022A9 A3                INC     DPTR
-0022AA F0                MOVX    @DPTR,A
+002294 904CE3            MOV     DPTR,#g_variable+024H
+002297 F0                MOVX    @DPTR,A
+002298 A3                INC     DPTR
+002299 F0                MOVX    @DPTR,A
   359: 			repeat_send_24g = 0;
-0022AB 904DD6            MOV     DPTR,#repeat_send_24g
-0022AE F0                MOVX    @DPTR,A
+00229A 904DD6            MOV     DPTR,#repeat_send_24g
+00229D F0                MOVX    @DPTR,A
   360: 
   361: 			 if (multikey[0] != 0)
-0022AF 904DE8            MOV     DPTR,#multikey
-0022B2 E0                MOVX    A,@DPTR
-0022B3 600D              JZ      ?C0072?SYS
+00229E 904DE8            MOV     DPTR,#multikey
+0022A1 E0                MOVX    A,@DPTR
+0022A2 600D              JZ      ?C0072?SYS
   362: 			{
   363: 				IPC_TxHidData(multikey, 3);
-0022B5 7B01              MOV     R3,#01H
-0022B7 7A4D              MOV     R2,#HIGH multikey
-0022B9 79E8              MOV     R1,#LOW multikey
-0022BB 7D03              MOV     R5,#03H
-0022BD 120906            LCALL   _IPC_TxHidData
+0022A4 7B01              MOV     R3,#01H
+0022A6 7A4D              MOV     R2,#HIGH multikey
+0022A8 79E8              MOV     R1,#LOW multikey
+0022AA 7D03              MOV     R5,#03H
+0022AC 120906            LCALL   _IPC_TxHidData
   364: 			}
-0022C0 8011              SJMP    ?C0070?SYS
-0022C2         ?C0072?SYS:
+0022AF 8011              SJMP    ?C0070?SYS
+0022B1         ?C0072?SYS:
   365: 			else if (hidBuff[0] != 0)
-0022C2 904800            MOV     DPTR,#hidBuff
-0022C5 E0                MOVX    A,@DPTR
-0022C6 600B              JZ      ?C0070?SYS
+0022B1 904800            MOV     DPTR,#hidBuff
+0022B4 E0                MOVX    A,@DPTR
+0022B5 600B              JZ      ?C0070?SYS
   366: 			{
   367: 
   368: 				IPC_TxHidData(hidBuff,9);
-0022C8 7B01              MOV     R3,#01H
-0022CA 7A48              MOV     R2,#HIGH hidBuff
-0022CC 7900              MOV     R1,#LOW hidBuff
-0022CE 7D09              MOV     R5,#09H
-0022D0 120906            LCALL   _IPC_TxHidData
+0022B7 7B01              MOV     R3,#01H
+0022B9 7A48              MOV     R2,#HIGH hidBuff
+0022BB 7900              MOV     R1,#LOW hidBuff
+0022BD 7D09              MOV     R5,#09H
+0022BF 120906            LCALL   _IPC_TxHidData
   369: 			}
   370: 		}
   371: 	}
-0022D3         ?C0070?SYS:
+0022C2         ?C0070?SYS:
   372: 
   373: 	if (delayChgInvTimer != 0)
-0022D3 904DDF            MOV     DPTR,#delayChgInvTimer
-0022D6 E0                MOVX    A,@DPTR
-0022D7 600E              JZ      ?C0062?SYS
+0022C2 904DDF            MOV     DPTR,#delayChgInvTimer
+0022C5 E0                MOVX    A,@DPTR
+0022C6 600E              JZ      ?C0062?SYS
   374: 	{
   375: 		delayChgInvTimer--;
-0022D9 E0                MOVX    A,@DPTR
-0022DA 14                DEC     A
-0022DB F0                MOVX    @DPTR,A
+0022C8 E0                MOVX    A,@DPTR
+0022C9 14                DEC     A
+0022CA F0                MOVX    @DPTR,A
   376: 		if(!delayChgInvTimer && m_24g_led_flag)
-0022DC E0                MOVX    A,@DPTR
-0022DD 7008              JNZ     ?C0062?SYS
-0022DF 904D47            MOV     DPTR,#m_24g_led_flag
-0022E2 E0                MOVX    A,@DPTR
-0022E3 6002              JZ      ?C0062?SYS
+0022CB E0                MOVX    A,@DPTR
+0022CC 7008              JNZ     ?C0062?SYS
+0022CE 904D47            MOV     DPTR,#m_24g_led_flag
+0022D1 E0                MOVX    A,@DPTR
+0022D2 6002              JZ      ?C0062?SYS
   377: 		{
   378: 			m_24g_led_flag = 0;
-0022E5 E4                CLR     A
-0022E6 F0                MOVX    @DPTR,A
+0022D4 E4                CLR     A
+0022D5 F0                MOVX    @DPTR,A
   379: 		}
   380: 	}
   381: }
-0022E7         ?C0062?SYS:
-0022E7 22                RET     
+0022D6         ?C0062?SYS:
+0022D6 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
@@ -6646,13 +6645,13 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-0022E8 904CD3            MOV     DPTR,#g_variable+014H
-0022EB 7405              MOV     A,#05H
-0022ED F0                MOVX    @DPTR,A
+0022D7 904CD3            MOV     DPTR,#g_variable+014H
+0022DA 7405              MOV     A,#05H
+0022DC F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-0022EE E4                CLR     A
-0022EF A3                INC     DPTR
-0022F0 F0                MOVX    @DPTR,A
+0022DD E4                CLR     A
+0022DE A3                INC     DPTR
+0022DF F0                MOVX    @DPTR,A
    10: 
    11: #ifdef ADC_TYPE_HVIN 	
    12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -6673,125 +6672,130 @@
    27: #endif
    28: #ifdef ADC_TYPE_GPIO
    29: 	m_adc_channel = ADC_CHANNEL;
-0022F1 904C90            MOV     DPTR,#m_adc_channel
-0022F4 7437              MOV     A,#037H
-0022F6 F0                MOVX    @DPTR,A
+0022E0 904C90            MOV     DPTR,#m_adc_channel
+0022E3 7437              MOV     A,#037H
+0022E5 F0                MOVX    @DPTR,A
    30: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-0022F7 E4                CLR     A
-0022F8 FF                MOV     R7,A
-0022F9         ?C0001?ADC:
+0022E6 E4                CLR     A
+0022E7 FF                MOV     R7,A
+0022E8         ?C0001?ADC:
    31: 	{
    32: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE_GPIO;
-0022F9 EF                MOV     A,R7
-0022FA 25E0              ADD     A,ACC
-0022FC 24D6              ADD     A,#LOW g_variable+017H
-0022FE F582              MOV     DPL,A
-002300 E4                CLR     A
-002301 344C              ADDC    A,#HIGH g_variable+017H
-002303 F583              MOV     DPH,A
-002305 7479              MOV     A,#079H
-002307 F0                MOVX    @DPTR,A
-002308 A3                INC     DPTR
-002309 F0                MOVX    @DPTR,A
+0022E8 EF                MOV     A,R7
+0022E9 25E0              ADD     A,ACC
+0022EB 24D6              ADD     A,#LOW g_variable+017H
+0022ED F582              MOV     DPL,A
+0022EF E4                CLR     A
+0022F0 344C              ADDC    A,#HIGH g_variable+017H
+0022F2 F583              MOV     DPH,A
+0022F4 7479              MOV     A,#079H
+0022F6 F0                MOVX    @DPTR,A
+0022F7 A3                INC     DPTR
+0022F8 F0                MOVX    @DPTR,A
    33: 	}
-00230A 0F                INC     R7
-00230B EF                MOV     A,R7
-00230C B404EA            CJNE    A,#04H,?C0001?ADC
-00230F         ?C0002?ADC:
+0022F9 0F                INC     R7
+0022FA EF                MOV     A,R7
+0022FB B404EA            CJNE    A,#04H,?C0001?ADC
+0022FE         ?C0002?ADC:
    34: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V0+m_adc0vBase;
-00230F 904C91            MOV     DPTR,#m_adc0vBase
-002312 E0                MOVX    A,@DPTR
-002313 FE                MOV     R6,A
-002314 A3                INC     DPTR
-002315 E0                MOVX    A,@DPTR
-002316 FF                MOV     R7,A
-002317 C3                CLR     C
-002318 904C94            MOV     DPTR,#m_adc3vValue+01H
-00231B E0                MOVX    A,@DPTR
-00231C 9F                SUBB    A,R7
-00231D FD                MOV     R5,A
-00231E 904C93            MOV     DPTR,#m_adc3vValue
-002321 E0                MOVX    A,@DPTR
-002322 9E                SUBB    A,R6
-002323 FC                MOV     R4,A
-002324 E4                CLR     A
-002325 120206            LCALL   ?C?FCASTI
-002328 C004              PUSH    AR4
-00232A C005              PUSH    AR5
-00232C C006              PUSH    AR6
-00232E C007              PUSH    AR7
-002330 904C91            MOV     DPTR,#m_adc0vBase
-002333 E0                MOVX    A,@DPTR
-002334 FC                MOV     R4,A
-002335 A3                INC     DPTR
-002336 E0                MOVX    A,@DPTR
-002337 FD                MOV     R5,A
-002338 E4                CLR     A
-002339 120206            LCALL   ?C?FCASTI
-00233C D003              POP     AR3
-00233E D002              POP     AR2
-002340 D001              POP     AR1
-002342 D000              POP     AR0
-002344 12000A            LCALL   ?C?FPADD
-002347 12023F            LCALL   ?C?CASTF
-00234A 904CDE            MOV     DPTR,#g_variable+01FH
-00234D EE                MOV     A,R6
-00234E F0                MOVX    @DPTR,A
-00234F A3                INC     DPTR
-002350 EF                MOV     A,R7
-002351 F0                MOVX    @DPTR,A
+0022FE 904C91            MOV     DPTR,#m_adc0vBase
+002301 E0                MOVX    A,@DPTR
+002302 FE                MOV     R6,A
+002303 A3                INC     DPTR
+002304 E0                MOVX    A,@DPTR
+002305 FF                MOV     R7,A
+002306 C3                CLR     C
+002307 904C94            MOV     DPTR,#m_adc3vValue+01H
+00230A E0                MOVX    A,@DPTR
+00230B 9F                SUBB    A,R7
+00230C FD                MOV     R5,A
+00230D 904C93            MOV     DPTR,#m_adc3vValue
+002310 E0                MOVX    A,@DPTR
+002311 9E                SUBB    A,R6
+002312 FC                MOV     R4,A
+002313 E4                CLR     A
+002314 120206            LCALL   ?C?FCASTI
+002317 7B1F              MOV     R3,#01FH
+002319 7A85              MOV     R2,#085H
+00231B 796B              MOV     R1,#06BH
+00231D 783E              MOV     R0,#03EH
+00231F 1200FB            LCALL   ?C?FPMUL
+002322 C004              PUSH    AR4
+002324 C005              PUSH    AR5
+002326 C006              PUSH    AR6
+002328 C007              PUSH    AR7
+00232A 904C91            MOV     DPTR,#m_adc0vBase
+00232D E0                MOVX    A,@DPTR
+00232E FC                MOV     R4,A
+00232F A3                INC     DPTR
+002330 E0                MOVX    A,@DPTR
+002331 FD                MOV     R5,A
+002332 E4                CLR     A
+002333 120206            LCALL   ?C?FCASTI
+002336 D003              POP     AR3
+002338 D002              POP     AR2
+00233A D001              POP     AR1
+00233C D000              POP     AR0
+00233E 12000A            LCALL   ?C?FPADD
+002341 12023F            LCALL   ?C?CASTF
+002344 904CDE            MOV     DPTR,#g_variable+01FH
+002347 EE                MOV     A,R6
+002348 F0                MOVX    @DPTR,A
+002349 A3                INC     DPTR
+00234A EF                MOV     A,R7
+00234B F0                MOVX    @DPTR,A
    35: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_0V9+m_adc0vBase;
-002352 904C91            MOV     DPTR,#m_adc0vBase
-002355 E0                MOVX    A,@DPTR
-002356 FE                MOV     R6,A
-002357 A3                INC     DPTR
+00234C 904C91            MOV     DPTR,#m_adc0vBase
+00234F E0                MOVX    A,@DPTR
+002350 FE                MOV     R6,A
+002351 A3                INC     DPTR
+002352 E0                MOVX    A,@DPTR
+002353 FF                MOV     R7,A
+002354 C3                CLR     C
+002355 904C94            MOV     DPTR,#m_adc3vValue+01H
 002358 E0                MOVX    A,@DPTR
-002359 FF                MOV     R7,A
-00235A C3                CLR     C
-00235B 904C94            MOV     DPTR,#m_adc3vValue+01H
+002359 9F                SUBB    A,R7
+00235A FD                MOV     R5,A
+00235B 904C93            MOV     DPTR,#m_adc3vValue
 00235E E0                MOVX    A,@DPTR
-00235F 9F                SUBB    A,R7
-002360 FD                MOV     R5,A
-002361 904C93            MOV     DPTR,#m_adc3vValue
-002364 E0                MOVX    A,@DPTR
-002365 9E                SUBB    A,R6
-002366 FC                MOV     R4,A
-002367 E4                CLR     A
-002368 120206            LCALL   ?C?FCASTI
-00236B 7BB8              MOV     R3,#0B8H
-00236D 7A1E              MOV     R2,#01EH
-00236F 7945              MOV     R1,#045H
-002371 783F              MOV     R0,#03FH
-002373 1200FB            LCALL   ?C?FPMUL
-002376 C004              PUSH    AR4
-002378 C005              PUSH    AR5
-00237A C006              PUSH    AR6
-00237C C007              PUSH    AR7
-00237E 904C91            MOV     DPTR,#m_adc0vBase
-002381 E0                MOVX    A,@DPTR
-002382 FC                MOV     R4,A
-002383 A3                INC     DPTR
-002384 E0                MOVX    A,@DPTR
-002385 FD                MOV     R5,A
-002386 E4                CLR     A
-002387 120206            LCALL   ?C?FCASTI
-00238A D003              POP     AR3
-00238C D002              POP     AR2
-00238E D001              POP     AR1
-002390 D000              POP     AR0
-002392 12000A            LCALL   ?C?FPADD
-002395 12023F            LCALL   ?C?CASTF
-002398 904CE0            MOV     DPTR,#g_variable+021H
-00239B EE                MOV     A,R6
-00239C F0                MOVX    @DPTR,A
-00239D A3                INC     DPTR
-00239E EF                MOV     A,R7
-00239F F0                MOVX    @DPTR,A
+00235F 9E                SUBB    A,R6
+002360 FC                MOV     R4,A
+002361 E4                CLR     A
+002362 120206            LCALL   ?C?FCASTI
+002365 7B29              MOV     R3,#029H
+002367 7A5C              MOV     R2,#05CH
+002369 790F              MOV     R1,#0FH
+00236B 783E              MOV     R0,#03EH
+00236D 1200FB            LCALL   ?C?FPMUL
+002370 C004              PUSH    AR4
+002372 C005              PUSH    AR5
+002374 C006              PUSH    AR6
+002376 C007              PUSH    AR7
+002378 904C91            MOV     DPTR,#m_adc0vBase
+00237B E0                MOVX    A,@DPTR
+00237C FC                MOV     R4,A
+00237D A3                INC     DPTR
+00237E E0                MOVX    A,@DPTR
+00237F FD                MOV     R5,A
+002380 E4                CLR     A
+002381 120206            LCALL   ?C?FCASTI
+002384 D003              POP     AR3
+002386 D002              POP     AR2
+002388 D001              POP     AR1
+00238A D000              POP     AR0
+00238C 12000A            LCALL   ?C?FPADD
+00238F 12023F            LCALL   ?C?CASTF
+002392 904CE0            MOV     DPTR,#g_variable+021H
+002395 EE                MOV     A,R6
+002396 F0                MOVX    @DPTR,A
+002397 A3                INC     DPTR
+002398 EF                MOV     A,R7
+002399 F0                MOVX    @DPTR,A
    36: #endif	
    37: #endif
    38: }
-0023A0 22                RET     
+00239A 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -6802,519 +6806,562 @@
    42: #ifdef  ADC_ENABLE
    43: 	byte i;
    44: 	ulong batValue = 0;
-0023A1 904E66            MOV     DPTR,#batValue
-0023A4 120533            LCALL   ?C?LSTKXDATA
-0023A7 00                DB      00H
-0023A8 00                DB      00H
-0023A9 00                DB      00H
-0023AA 00                DB      00H
+00239B 904E66            MOV     DPTR,#batValue
+00239E 120533            LCALL   ?C?LSTKXDATA
+0023A1 00                DB      00H
+0023A2 00                DB      00H
+0023A3 00                DB      00H
+0023A4 00                DB      00H
    45: 
    46: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
-0023AB 904C95            MOV     DPTR,#m_adcCurrentValue
-0023AE E0                MOVX    A,@DPTR
-0023AF FE                MOV     R6,A
-0023B0 A3                INC     DPTR
-0023B1 E0                MOVX    A,@DPTR
-0023B2 FF                MOV     R7,A
-0023B3 904CD4            MOV     DPTR,#g_variable+015H
-0023B6 E0                MOVX    A,@DPTR
-0023B7 FD                MOV     R5,A
-0023B8 04                INC     A
-0023B9 F0                MOVX    @DPTR,A
-0023BA ED                MOV     A,R5
-0023BB 25E0              ADD     A,ACC
-0023BD 24D6              ADD     A,#LOW g_variable+017H
-0023BF F582              MOV     DPL,A
-0023C1 E4                CLR     A
-0023C2 344C              ADDC    A,#HIGH g_variable+017H
-0023C4 F583              MOV     DPH,A
-0023C6 EE                MOV     A,R6
-0023C7 F0                MOVX    @DPTR,A
-0023C8 A3                INC     DPTR
-0023C9 EF                MOV     A,R7
-0023CA F0                MOVX    @DPTR,A
+0023A5 904C95            MOV     DPTR,#m_adcCurrentValue
+0023A8 E0                MOVX    A,@DPTR
+0023A9 FE                MOV     R6,A
+0023AA A3                INC     DPTR
+0023AB E0                MOVX    A,@DPTR
+0023AC FF                MOV     R7,A
+0023AD 904CD4            MOV     DPTR,#g_variable+015H
+0023B0 E0                MOVX    A,@DPTR
+0023B1 FD                MOV     R5,A
+0023B2 04                INC     A
+0023B3 F0                MOVX    @DPTR,A
+0023B4 ED                MOV     A,R5
+0023B5 25E0              ADD     A,ACC
+0023B7 24D6              ADD     A,#LOW g_variable+017H
+0023B9 F582              MOV     DPL,A
+0023BB E4                CLR     A
+0023BC 344C              ADDC    A,#HIGH g_variable+017H
+0023BE F583              MOV     DPH,A
+0023C0 EE                MOV     A,R6
+0023C1 F0                MOVX    @DPTR,A
+0023C2 A3                INC     DPTR
+0023C3 EF                MOV     A,R7
+0023C4 F0                MOVX    @DPTR,A
    47: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
-0023CB 904CD4            MOV     DPTR,#g_variable+015H
-0023CE E0                MOVX    A,@DPTR
-0023CF C3                CLR     C
-0023D0 9404              SUBB    A,#04H
-0023D2 4002              JC      ?C0005?ADC
+0023C5 904CD4            MOV     DPTR,#g_variable+015H
+0023C8 E0                MOVX    A,@DPTR
+0023C9 C3                CLR     C
+0023CA 9404              SUBB    A,#04H
+0023CC 4002              JC      ?C0005?ADC
    48: 		g_variable.battery_value_index = 0;
-0023D4 E4                CLR     A
-0023D5 F0                MOVX    @DPTR,A
-0023D6         ?C0005?ADC:
+0023CE E4                CLR     A
+0023CF F0                MOVX    @DPTR,A
+0023D0         ?C0005?ADC:
    49: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-0023D6 E4                CLR     A
-0023D7 904E65            MOV     DPTR,#i
-0023DA F0                MOVX    @DPTR,A
-0023DB         ?C0006?ADC:
+0023D0 E4                CLR     A
+0023D1 904E65            MOV     DPTR,#i
+0023D4 F0                MOVX    @DPTR,A
+0023D5         ?C0006?ADC:
    50: 	{
    51: 		batValue += g_variable.battery_value[i];
-0023DB 904E66            MOV     DPTR,#batValue
+0023D5 904E66            MOV     DPTR,#batValue
+0023D8 E0                MOVX    A,@DPTR
+0023D9 F8                MOV     R0,A
+0023DA A3                INC     DPTR
+0023DB E0                MOVX    A,@DPTR
+0023DC F9                MOV     R1,A
+0023DD A3                INC     DPTR
 0023DE E0                MOVX    A,@DPTR
-0023DF F8                MOV     R0,A
+0023DF FA                MOV     R2,A
 0023E0 A3                INC     DPTR
 0023E1 E0                MOVX    A,@DPTR
-0023E2 F9                MOV     R1,A
-0023E3 A3                INC     DPTR
-0023E4 E0                MOVX    A,@DPTR
-0023E5 FA                MOV     R2,A
-0023E6 A3                INC     DPTR
-0023E7 E0                MOVX    A,@DPTR
-0023E8 FB                MOV     R3,A
-0023E9 904E65            MOV     DPTR,#i
-0023EC E0                MOVX    A,@DPTR
-0023ED 25E0              ADD     A,ACC
-0023EF 24D6              ADD     A,#LOW g_variable+017H
-0023F1 F582              MOV     DPL,A
-0023F3 E4                CLR     A
-0023F4 344C              ADDC    A,#HIGH g_variable+017H
-0023F6 F583              MOV     DPH,A
-0023F8 E0                MOVX    A,@DPTR
-0023F9 FE                MOV     R6,A
-0023FA A3                INC     DPTR
-0023FB E0                MOVX    A,@DPTR
+0023E2 FB                MOV     R3,A
+0023E3 904E65            MOV     DPTR,#i
+0023E6 E0                MOVX    A,@DPTR
+0023E7 25E0              ADD     A,ACC
+0023E9 24D6              ADD     A,#LOW g_variable+017H
+0023EB F582              MOV     DPL,A
+0023ED E4                CLR     A
+0023EE 344C              ADDC    A,#HIGH g_variable+017H
+0023F0 F583              MOV     DPH,A
+0023F2 E0                MOVX    A,@DPTR
+0023F3 FE                MOV     R6,A
+0023F4 A3                INC     DPTR
+0023F5 E0                MOVX    A,@DPTR
+0023F6 FF                MOV     R7,A
+0023F7 E4                CLR     A
+0023F8 FC                MOV     R4,A
+0023F9 FD                MOV     R5,A
+0023FA EB                MOV     A,R3
+0023FB 2F                ADD     A,R7
 0023FC FF                MOV     R7,A
-0023FD E4                CLR     A
-0023FE FC                MOV     R4,A
-0023FF FD                MOV     R5,A
-002400 EB                MOV     A,R3
-002401 2F                ADD     A,R7
-002402 FF                MOV     R7,A
-002403 EA                MOV     A,R2
-002404 3E                ADDC    A,R6
-002405 FE                MOV     R6,A
-002406 ED                MOV     A,R5
-002407 39                ADDC    A,R1
-002408 FD                MOV     R5,A
-002409 EC                MOV     A,R4
-00240A 38                ADDC    A,R0
-00240B FC                MOV     R4,A
-00240C 904E66            MOV     DPTR,#batValue
-00240F 120527            LCALL   ?C?LSTXDATA
+0023FD EA                MOV     A,R2
+0023FE 3E                ADDC    A,R6
+0023FF FE                MOV     R6,A
+002400 ED                MOV     A,R5
+002401 39                ADDC    A,R1
+002402 FD                MOV     R5,A
+002403 EC                MOV     A,R4
+002404 38                ADDC    A,R0
+002405 FC                MOV     R4,A
+002406 904E66            MOV     DPTR,#batValue
+002409 120527            LCALL   ?C?LSTXDATA
    52: 	}
-002412 904E65            MOV     DPTR,#i
-002415 E0                MOVX    A,@DPTR
-002416 04                INC     A
-002417 F0                MOVX    @DPTR,A
-002418 E0                MOVX    A,@DPTR
-002419 B404BF            CJNE    A,#04H,?C0006?ADC
-00241C         ?C0007?ADC:
+00240C 904E65            MOV     DPTR,#i
+00240F E0                MOVX    A,@DPTR
+002410 04                INC     A
+002411 F0                MOVX    @DPTR,A
+002412 E0                MOVX    A,@DPTR
+002413 B404BF            CJNE    A,#04H,?C0006?ADC
+002416         ?C0007?ADC:
    53: 	batValue = batValue/BAT_ARRAY_LEN;
-00241C 904E66            MOV     DPTR,#batValue
+002416 904E66            MOV     DPTR,#batValue
+002419 E0                MOVX    A,@DPTR
+00241A FC                MOV     R4,A
+00241B A3                INC     DPTR
+00241C E0                MOVX    A,@DPTR
+00241D FD                MOV     R5,A
+00241E A3                INC     DPTR
 00241F E0                MOVX    A,@DPTR
-002420 FC                MOV     R4,A
+002420 FE                MOV     R6,A
 002421 A3                INC     DPTR
 002422 E0                MOVX    A,@DPTR
-002423 FD                MOV     R5,A
-002424 A3                INC     DPTR
-002425 E0                MOVX    A,@DPTR
-002426 FE                MOV     R6,A
-002427 A3                INC     DPTR
-002428 E0                MOVX    A,@DPTR
-002429 FF                MOV     R7,A
-00242A E4                CLR     A
-00242B 7B04              MOV     R3,#04H
-00242D FA                MOV     R2,A
-00242E F9                MOV     R1,A
-00242F F8                MOV     R0,A
-002430 120476            LCALL   ?C?ULDIV
-002433 904E66            MOV     DPTR,#batValue
-002436 120527            LCALL   ?C?LSTXDATA
+002423 FF                MOV     R7,A
+002424 E4                CLR     A
+002425 7B04              MOV     R3,#04H
+002427 FA                MOV     R2,A
+002428 F9                MOV     R1,A
+002429 F8                MOV     R0,A
+00242A 120476            LCALL   ?C?ULDIV
+00242D 904E66            MOV     DPTR,#batValue
+002430 120527            LCALL   ?C?LSTXDATA
    54: 
    55: 	if(batValue < g_variable.battery_level_shutdown)
-002439 904CE0            MOV     DPTR,#g_variable+021H
-00243C E0                MOVX    A,@DPTR
-00243D FE                MOV     R6,A
-00243E A3                INC     DPTR
-00243F E0                MOVX    A,@DPTR
-002440 FF                MOV     R7,A
-002441 E4                CLR     A
-002442 FC                MOV     R4,A
-002443 FD                MOV     R5,A
-002444 904E66            MOV     DPTR,#batValue
+002433 904CE0            MOV     DPTR,#g_variable+021H
+002436 E0                MOVX    A,@DPTR
+002437 FE                MOV     R6,A
+002438 A3                INC     DPTR
+002439 E0                MOVX    A,@DPTR
+00243A FF                MOV     R7,A
+00243B E4                CLR     A
+00243C FC                MOV     R4,A
+00243D FD                MOV     R5,A
+00243E 904E66            MOV     DPTR,#batValue
+002441 E0                MOVX    A,@DPTR
+002442 F8                MOV     R0,A
+002443 A3                INC     DPTR
+002444 E0                MOVX    A,@DPTR
+002445 F9                MOV     R1,A
+002446 A3                INC     DPTR
 002447 E0                MOVX    A,@DPTR
-002448 F8                MOV     R0,A
+002448 FA                MOV     R2,A
 002449 A3                INC     DPTR
 00244A E0                MOVX    A,@DPTR
-00244B F9                MOV     R1,A
-00244C A3                INC     DPTR
-00244D E0                MOVX    A,@DPTR
-00244E FA                MOV     R2,A
-00244F A3                INC     DPTR
-002450 E0                MOVX    A,@DPTR
-002451 FB                MOV     R3,A
-002452 C3                CLR     C
-002453 120516            LCALL   ?C?ULCMP
-002456 5007              JNC     ?C0009?ADC
+00244B FB                MOV     R3,A
+00244C C3                CLR     C
+00244D 120516            LCALL   ?C?ULCMP
+002450 5007              JNC     ?C0009?ADC
    56: 	{
    57: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
-002458 904CD5            MOV     DPTR,#g_variable+016H
-00245B 7402              MOV     A,#02H
-00245D F0                MOVX    @DPTR,A
+002452 904CD5            MOV     DPTR,#g_variable+016H
+002455 7402              MOV     A,#02H
+002457 F0                MOVX    @DPTR,A
    58: 	}
-00245E 22                RET     
-00245F         ?C0009?ADC:
+002458 22                RET     
+002459         ?C0009?ADC:
    59: 	else
    60: 	{
    61: 		if (batValue < g_variable.battery_level_low)
-00245F 904CDE            MOV     DPTR,#g_variable+01FH
-002462 E0                MOVX    A,@DPTR
-002463 FE                MOV     R6,A
-002464 A3                INC     DPTR
-002465 E0                MOVX    A,@DPTR
-002466 FF                MOV     R7,A
-002467 E4                CLR     A
-002468 FC                MOV     R4,A
-002469 FD                MOV     R5,A
-00246A 904E66            MOV     DPTR,#batValue
+002459 904CDE            MOV     DPTR,#g_variable+01FH
+00245C E0                MOVX    A,@DPTR
+00245D FE                MOV     R6,A
+00245E A3                INC     DPTR
+00245F E0                MOVX    A,@DPTR
+002460 FF                MOV     R7,A
+002461 E4                CLR     A
+002462 FC                MOV     R4,A
+002463 FD                MOV     R5,A
+002464 904E66            MOV     DPTR,#batValue
+002467 E0                MOVX    A,@DPTR
+002468 F8                MOV     R0,A
+002469 A3                INC     DPTR
+00246A E0                MOVX    A,@DPTR
+00246B F9                MOV     R1,A
+00246C A3                INC     DPTR
 00246D E0                MOVX    A,@DPTR
-00246E F8                MOV     R0,A
+00246E FA                MOV     R2,A
 00246F A3                INC     DPTR
 002470 E0                MOVX    A,@DPTR
-002471 F9                MOV     R1,A
-002472 A3                INC     DPTR
-002473 E0                MOVX    A,@DPTR
-002474 FA                MOV     R2,A
-002475 A3                INC     DPTR
-002476 E0                MOVX    A,@DPTR
-002477 FB                MOV     R3,A
-002478 C3                CLR     C
-002479 120516            LCALL   ?C?ULCMP
-00247C 5017              JNC     ?C0011?ADC
+002471 FB                MOV     R3,A
+002472 C3                CLR     C
+002473 120516            LCALL   ?C?ULCMP
+002476 5017              JNC     ?C0011?ADC
    62: 		{
    63: 			g_variable.battery_status = BAT_STATUS_LOW;
-00247E 904CD5            MOV     DPTR,#g_variable+016H
-002481 7401              MOV     A,#01H
-002483 F0                MOVX    @DPTR,A
+002478 904CD5            MOV     DPTR,#g_variable+016H
+00247B 7401              MOV     A,#01H
+00247D F0                MOVX    @DPTR,A
    64: 			m_24g_enter_hibernate[0]	= 0x00;
-002484 E4                CLR     A
-002485 904D3D            MOV     DPTR,#m_24g_enter_hibernate
-002488 F0                MOVX    @DPTR,A
+00247E E4                CLR     A
+00247F 904D3D            MOV     DPTR,#m_24g_enter_hibernate
+002482 F0                MOVX    @DPTR,A
    65: 			m_24g_enter_hibernate[1]	= 0x48;
-002489 A3                INC     DPTR
-00248A 7448              MOV     A,#048H
-00248C F0                MOVX    @DPTR,A
+002483 A3                INC     DPTR
+002484 7448              MOV     A,#048H
+002486 F0                MOVX    @DPTR,A
    66: 			m_24g_enter_hibernate[2]	= 0x12;		// 100ms
-00248D A3                INC     DPTR
-00248E 7412              MOV     A,#012H
-002490 F0                MOVX    @DPTR,A
+002487 A3                INC     DPTR
+002488 7412              MOV     A,#012H
+00248A F0                MOVX    @DPTR,A
    67: 			m_24g_enter_hibernate[3]	= 0x00;
-002491 E4                CLR     A
-002492 A3                INC     DPTR
-002493 F0                MOVX    @DPTR,A
+00248B E4                CLR     A
+00248C A3                INC     DPTR
+00248D F0                MOVX    @DPTR,A
    68: 		}
-002494 22                RET     
-002495         ?C0011?ADC:
+00248E 22                RET     
+00248F         ?C0011?ADC:
    69: 		else
    70: 		{
    71: 			g_variable.battery_status = BAT_STATUS_NONE;
-002495 E4                CLR     A
-002496 904CD5            MOV     DPTR,#g_variable+016H
-002499 F0                MOVX    @DPTR,A
+00248F E4                CLR     A
+002490 904CD5            MOV     DPTR,#g_variable+016H
+002493 F0                MOVX    @DPTR,A
    72: 			m_24g_enter_hibernate[0]	= 0x00;
-00249A 904D3D            MOV     DPTR,#m_24g_enter_hibernate
-00249D F0                MOVX    @DPTR,A
+002494 904D3D            MOV     DPTR,#m_24g_enter_hibernate
+002497 F0                MOVX    @DPTR,A
    73: 			m_24g_enter_hibernate[1]	= 0x48;
-00249E A3                INC     DPTR
-00249F 7448              MOV     A,#048H
-0024A1 F0                MOVX    @DPTR,A
+002498 A3                INC     DPTR
+002499 7448              MOV     A,#048H
+00249B F0                MOVX    @DPTR,A
    74: 			m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
-0024A2 A3                INC     DPTR
-0024A3 745D              MOV     A,#05DH
-0024A5 F0                MOVX    @DPTR,A
+00249C A3                INC     DPTR
+00249D 745D              MOV     A,#05DH
+00249F F0                MOVX    @DPTR,A
    75: 			m_24g_enter_hibernate[3]	= 0x00;
-0024A6 E4                CLR     A
-0024A7 A3                INC     DPTR
-0024A8 F0                MOVX    @DPTR,A
+0024A0 E4                CLR     A
+0024A1 A3                INC     DPTR
+0024A2 F0                MOVX    @DPTR,A
    76: 		}
    77: 	}
    78: #endif	
    79: }
-0024A9 22                RET     
+0024A3 22                RET     
 ----- FUNCTION YC_adc_check (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-0024AA 904E73            MOV     DPTR,#rptr
-0024AD EE                MOV     A,R6
-0024AE F0                MOVX    @DPTR,A
-0024AF A3                INC     DPTR
-0024B0 EF                MOV     A,R7
-0024B1 F0                MOVX    @DPTR,A
-0024B2 904E75            MOV     DPTR,#wptr
-0024B5 EC                MOV     A,R4
-0024B6 F0                MOVX    @DPTR,A
-0024B7 A3                INC     DPTR
-0024B8 ED                MOV     A,R5
-0024B9 F0                MOVX    @DPTR,A
+0024A4 904E73            MOV     DPTR,#rptr
+0024A7 EE                MOV     A,R6
+0024A8 F0                MOVX    @DPTR,A
+0024A9 A3                INC     DPTR
+0024AA EF                MOV     A,R7
+0024AB F0                MOVX    @DPTR,A
+0024AC 904E75            MOV     DPTR,#wptr
+0024AF EC                MOV     A,R4
+0024B0 F0                MOVX    @DPTR,A
+0024B1 A3                INC     DPTR
+0024B2 ED                MOV     A,R5
+0024B3 F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-0024BA 904E75            MOV     DPTR,#wptr
-0024BD E0                MOVX    A,@DPTR
-0024BE FE                MOV     R6,A
-0024BF A3                INC     DPTR
+0024B4 904E75            MOV     DPTR,#wptr
+0024B7 E0                MOVX    A,@DPTR
+0024B8 FE                MOV     R6,A
+0024B9 A3                INC     DPTR
+0024BA E0                MOVX    A,@DPTR
+0024BB FF                MOV     R7,A
+0024BC D3                SETB    C
+0024BD 904E74            MOV     DPTR,#rptr+01H
 0024C0 E0                MOVX    A,@DPTR
-0024C1 FF                MOV     R7,A
-0024C2 D3                SETB    C
-0024C3 904E74            MOV     DPTR,#rptr+01H
-0024C6 E0                MOVX    A,@DPTR
-0024C7 9F                SUBB    A,R7
-0024C8 904E73            MOV     DPTR,#rptr
-0024CB E0                MOVX    A,@DPTR
-0024CC 9E                SUBB    A,R6
-0024CD 4016              JC      ?C0001?IPC
-0024CF 904E75            MOV     DPTR,#wptr
-0024D2 E0                MOVX    A,@DPTR
-0024D3 FE                MOV     R6,A
-0024D4 A3                INC     DPTR
-0024D5 E0                MOVX    A,@DPTR
+0024C1 9F                SUBB    A,R7
+0024C2 904E73            MOV     DPTR,#rptr
+0024C5 E0                MOVX    A,@DPTR
+0024C6 9E                SUBB    A,R6
+0024C7 4016              JC      ?C0001?IPC
+0024C9 904E75            MOV     DPTR,#wptr
+0024CC E0                MOVX    A,@DPTR
+0024CD FE                MOV     R6,A
+0024CE A3                INC     DPTR
+0024CF E0                MOVX    A,@DPTR
+0024D0 FF                MOV     R7,A
+0024D1 904E74            MOV     DPTR,#rptr+01H
+0024D4 E0                MOVX    A,@DPTR
+0024D5 9F                SUBB    A,R7
 0024D6 FF                MOV     R7,A
-0024D7 904E74            MOV     DPTR,#rptr+01H
+0024D7 904E73            MOV     DPTR,#rptr
 0024DA E0                MOVX    A,@DPTR
-0024DB 9F                SUBB    A,R7
-0024DC FF                MOV     R7,A
-0024DD 904E73            MOV     DPTR,#rptr
-0024E0 E0                MOVX    A,@DPTR
-0024E1 9E                SUBB    A,R6
-0024E2 FE                MOV     R6,A
-0024E3 801E              SJMP    ?C0002?IPC
-0024E5         ?C0001?IPC:
-0024E5 904E73            MOV     DPTR,#rptr
-0024E8 E0                MOVX    A,@DPTR
-0024E9 FE                MOV     R6,A
-0024EA A3                INC     DPTR
+0024DB 9E                SUBB    A,R6
+0024DC FE                MOV     R6,A
+0024DD 801E              SJMP    ?C0002?IPC
+0024DF         ?C0001?IPC:
+0024DF 904E73            MOV     DPTR,#rptr
+0024E2 E0                MOVX    A,@DPTR
+0024E3 FE                MOV     R6,A
+0024E4 A3                INC     DPTR
+0024E5 E0                MOVX    A,@DPTR
+0024E6 FF                MOV     R7,A
+0024E7 C3                CLR     C
+0024E8 904E76            MOV     DPTR,#wptr+01H
 0024EB E0                MOVX    A,@DPTR
-0024EC FF                MOV     R7,A
-0024ED C3                CLR     C
-0024EE 904E76            MOV     DPTR,#wptr+01H
+0024EC 9F                SUBB    A,R7
+0024ED FF                MOV     R7,A
+0024EE 904E75            MOV     DPTR,#wptr
 0024F1 E0                MOVX    A,@DPTR
-0024F2 9F                SUBB    A,R7
-0024F3 FF                MOV     R7,A
-0024F4 904E75            MOV     DPTR,#wptr
-0024F7 E0                MOVX    A,@DPTR
-0024F8 9E                SUBB    A,R6
-0024F9 FE                MOV     R6,A
-0024FA AD03              MOV     R5,AR3
-0024FC C3                CLR     C
-0024FD EB                MOV     A,R3
-0024FE 9F                SUBB    A,R7
-0024FF FF                MOV     R7,A
-002500 E4                CLR     A
-002501 9E                SUBB    A,R6
-002502 FE                MOV     R6,A
-002503         ?C0002?IPC:
-002503 22                RET     
+0024F2 9E                SUBB    A,R6
+0024F3 FE                MOV     R6,A
+0024F4 AD03              MOV     R5,AR3
+0024F6 C3                CLR     C
+0024F7 EB                MOV     A,R3
+0024F8 9F                SUBB    A,R7
+0024F9 FF                MOV     R7,A
+0024FA E4                CLR     A
+0024FB 9E                SUBB    A,R6
+0024FC FE                MOV     R6,A
+0024FD         ?C0002?IPC:
+0024FD 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-002504 904E94            MOV     DPTR,#dest
-002507 EE                MOV     A,R6
-002508 F0                MOVX    @DPTR,A
-002509 A3                INC     DPTR
-00250A EF                MOV     A,R7
-00250B F0                MOVX    @DPTR,A
+0024FE 904E94            MOV     DPTR,#dest
+002501 EE                MOV     A,R6
+002502 F0                MOVX    @DPTR,A
+002503 A3                INC     DPTR
+002504 EF                MOV     A,R7
+002505 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-00250C A905              MOV     R1,AR5
-00250E 904B9E            MOV     DPTR,#ipcRxReadPtr
-002511 E0                MOVX    A,@DPTR
-002512 FE                MOV     R6,A
-002513 A3                INC     DPTR
-002514 E0                MOVX    A,@DPTR
-002515 FF                MOV     R7,A
+002506 A905              MOV     R1,AR5
+002508 904B9E            MOV     DPTR,#ipcRxReadPtr
+00250B E0                MOVX    A,@DPTR
+00250C FE                MOV     R6,A
+00250D A3                INC     DPTR
+00250E E0                MOVX    A,@DPTR
+00250F FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-002516         ?C0004?IPC:
-002516 AD01              MOV     R5,AR1
-002518 19                DEC     R1
-002519 ED                MOV     A,R5
-00251A 602F              JZ      ?C0005?IPC
-00251C 0F                INC     R7
-00251D EF                MOV     A,R7
-00251E AC06              MOV     R4,AR6
-002520 7001              JNZ     ?C0036?IPC
-002522 0E                INC     R6
-002523         ?C0036?IPC:
-002523 14                DEC     A
-002524 F582              MOV     DPL,A
-002526 8C83              MOV     DPH,R4
-002528 E0                MOVX    A,@DPTR
-002529 FD                MOV     R5,A
-00252A 904E94            MOV     DPTR,#dest
-00252D E4                CLR     A
-00252E 75F001            MOV     B,#01H
-002531 120424            LCALL   ?C?ILDIX
-002534 85F082            MOV     DPL,B
-002537 F583              MOV     DPH,A
-002539 ED                MOV     A,R5
-00253A F0                MOVX    @DPTR,A
-00253B AD07              MOV     R5,AR7
-00253D AC06              MOV     R4,AR6
-00253F BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-002542 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-002545 7E4B              MOV     R6,#04BH
-002547 7F36              MOV     R7,#036H
-002549 80CB              SJMP    ?C0004?IPC
-00254B         ?C0005?IPC:
-00254B 904B9E            MOV     DPTR,#ipcRxReadPtr
-00254E EE                MOV     A,R6
-00254F F0                MOVX    @DPTR,A
-002550 A3                INC     DPTR
-002551 EF                MOV     A,R7
-002552 F0                MOVX    @DPTR,A
-002553 22                RET     
+002510         ?C0004?IPC:
+002510 AD01              MOV     R5,AR1
+002512 19                DEC     R1
+002513 ED                MOV     A,R5
+002514 602F              JZ      ?C0005?IPC
+002516 0F                INC     R7
+002517 EF                MOV     A,R7
+002518 AC06              MOV     R4,AR6
+00251A 7001              JNZ     ?C0036?IPC
+00251C 0E                INC     R6
+00251D         ?C0036?IPC:
+00251D 14                DEC     A
+00251E F582              MOV     DPL,A
+002520 8C83              MOV     DPH,R4
+002522 E0                MOVX    A,@DPTR
+002523 FD                MOV     R5,A
+002524 904E94            MOV     DPTR,#dest
+002527 E4                CLR     A
+002528 75F001            MOV     B,#01H
+00252B 120424            LCALL   ?C?ILDIX
+00252E 85F082            MOV     DPL,B
+002531 F583              MOV     DPH,A
+002533 ED                MOV     A,R5
+002534 F0                MOVX    @DPTR,A
+002535 AD07              MOV     R5,AR7
+002537 AC06              MOV     R4,AR6
+002539 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+00253C BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+00253F 7E4B              MOV     R6,#04BH
+002541 7F36              MOV     R7,#036H
+002543 80CB              SJMP    ?C0004?IPC
+002545         ?C0005?IPC:
+002545 904B9E            MOV     DPTR,#ipcRxReadPtr
+002548 EE                MOV     A,R6
+002549 F0                MOVX    @DPTR,A
+00254A A3                INC     DPTR
+00254B EF                MOV     A,R7
+00254C F0                MOVX    @DPTR,A
+00254D 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-002554 900446            MOV     DPTR,#bbDisReason
-002557 E0                MOVX    A,@DPTR
-002558 FF                MOV     R7,A
-002559 22                RET     
+00254E 900446            MOV     DPTR,#bbDisReason
+002551 E0                MOVX    A,@DPTR
+002552 FF                MOV     R7,A
+002553 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-00255A 908280            MOV     DPTR,#08280H
-00255D 7401              MOV     A,#01H
-00255F F0                MOVX    @DPTR,A
-002560 22                RET     
+002554 908280            MOV     DPTR,#08280H
+002557 7401              MOV     A,#01H
+002559 F0                MOVX    @DPTR,A
+00255A 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _dmemcpy (BEGIN) -----
-002561 904E37            MOV     DPTR,#dest
-002564 EB                MOV     A,R3
+00255B 904E37            MOV     DPTR,#dest
+00255E EB                MOV     A,R3
+00255F F0                MOVX    @DPTR,A
+002560 A3                INC     DPTR
+002561 EA                MOV     A,R2
+002562 F0                MOVX    @DPTR,A
+002563 A3                INC     DPTR
+002564 E9                MOV     A,R1
 002565 F0                MOVX    @DPTR,A
-002566 A3                INC     DPTR
-002567 EA                MOV     A,R2
-002568 F0                MOVX    @DPTR,A
-002569 A3                INC     DPTR
-00256A E9                MOV     A,R1
-00256B F0                MOVX    @DPTR,A
-00256C         ?C0005?UTILITIES:
-00256C 904E3D            MOV     DPTR,#len
-00256F 74FF              MOV     A,#0FFH
-002571 F5F0              MOV     B,A
-002573 120424            LCALL   ?C?ILDIX
-002576 45F0              ORL     A,B
-002578 602A              JZ      ?C0007?UTILITIES
-00257A 904E3A            MOV     DPTR,#src
-00257D E0                MOVX    A,@DPTR
-00257E FB                MOV     R3,A
-00257F A3                INC     DPTR
-002580 E4                CLR     A
-002581 75F001            MOV     B,#01H
-002584 120424            LCALL   ?C?ILDIX
-002587 A9F0              MOV     R1,B
-002589 FA                MOV     R2,A
-00258A 1203B6            LCALL   ?C?CLDPTR
-00258D FF                MOV     R7,A
-00258E 904E37            MOV     DPTR,#dest
-002591 E0                MOVX    A,@DPTR
-002592 FB                MOV     R3,A
-002593 A3                INC     DPTR
-002594 E4                CLR     A
-002595 75F001            MOV     B,#01H
-002598 120424            LCALL   ?C?ILDIX
-00259B A9F0              MOV     R1,B
-00259D FA                MOV     R2,A
-00259E EF                MOV     A,R7
-00259F 1203FC            LCALL   ?C?CSTPTR
-0025A2 80C8              SJMP    ?C0005?UTILITIES
-0025A4         ?C0007?UTILITIES:
-0025A4 22                RET     
+002566         ?C0005?UTILITIES:
+002566 904E3D            MOV     DPTR,#len
+002569 74FF              MOV     A,#0FFH
+00256B F5F0              MOV     B,A
+00256D 120424            LCALL   ?C?ILDIX
+002570 45F0              ORL     A,B
+002572 602A              JZ      ?C0007?UTILITIES
+002574 904E3A            MOV     DPTR,#src
+002577 E0                MOVX    A,@DPTR
+002578 FB                MOV     R3,A
+002579 A3                INC     DPTR
+00257A E4                CLR     A
+00257B 75F001            MOV     B,#01H
+00257E 120424            LCALL   ?C?ILDIX
+002581 A9F0              MOV     R1,B
+002583 FA                MOV     R2,A
+002584 1203B6            LCALL   ?C?CLDPTR
+002587 FF                MOV     R7,A
+002588 904E37            MOV     DPTR,#dest
+00258B E0                MOVX    A,@DPTR
+00258C FB                MOV     R3,A
+00258D A3                INC     DPTR
+00258E E4                CLR     A
+00258F 75F001            MOV     B,#01H
+002592 120424            LCALL   ?C?ILDIX
+002595 A9F0              MOV     R1,B
+002597 FA                MOV     R2,A
+002598 EF                MOV     A,R7
+002599 1203FC            LCALL   ?C?CSTPTR
+00259C 80C8              SJMP    ?C0005?UTILITIES
+00259E         ?C0007?UTILITIES:
+00259E 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
 ----- FUNCTION _xmemclear_ff (BEGIN) -----
-0025A5 904E8A            MOV     DPTR,#dest
-0025A8 EB                MOV     A,R3
+00259F 904E8A            MOV     DPTR,#dest
+0025A2 EB                MOV     A,R3
+0025A3 F0                MOVX    @DPTR,A
+0025A4 A3                INC     DPTR
+0025A5 EA                MOV     A,R2
+0025A6 F0                MOVX    @DPTR,A
+0025A7 A3                INC     DPTR
+0025A8 E9                MOV     A,R1
 0025A9 F0                MOVX    @DPTR,A
-0025AA A3                INC     DPTR
-0025AB EA                MOV     A,R2
-0025AC F0                MOVX    @DPTR,A
-0025AD A3                INC     DPTR
-0025AE E9                MOV     A,R1
-0025AF F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
-0025B0         ?C0011?UTILITIES:
-0025B0 ED                MOV     A,R5
-0025B1 1D                DEC     R5
-0025B2 AE04              MOV     R6,AR4
-0025B4 7001              JNZ     ?C0027?UTILITIES
-0025B6 1C                DEC     R4
-0025B7         ?C0027?UTILITIES:
-0025B7 4E                ORL     A,R6
-0025B8 6017              JZ      ?C0013?UTILITIES
-0025BA 904E8A            MOV     DPTR,#dest
-0025BD E0                MOVX    A,@DPTR
-0025BE FB                MOV     R3,A
-0025BF A3                INC     DPTR
-0025C0 E4                CLR     A
-0025C1 75F001            MOV     B,#01H
-0025C4 120424            LCALL   ?C?ILDIX
-0025C7 A9F0              MOV     R1,B
-0025C9 FA                MOV     R2,A
-0025CA 74FF              MOV     A,#0FFH
-0025CC 1203FC            LCALL   ?C?CSTPTR
-0025CF 80DF              SJMP    ?C0011?UTILITIES
-0025D1         ?C0013?UTILITIES:
-0025D1 22                RET     
+0025AA         ?C0011?UTILITIES:
+0025AA ED                MOV     A,R5
+0025AB 1D                DEC     R5
+0025AC AE04              MOV     R6,AR4
+0025AE 7001              JNZ     ?C0027?UTILITIES
+0025B0 1C                DEC     R4
+0025B1         ?C0027?UTILITIES:
+0025B1 4E                ORL     A,R6
+0025B2 6017              JZ      ?C0013?UTILITIES
+0025B4 904E8A            MOV     DPTR,#dest
+0025B7 E0                MOVX    A,@DPTR
+0025B8 FB                MOV     R3,A
+0025B9 A3                INC     DPTR
+0025BA E4                CLR     A
+0025BB 75F001            MOV     B,#01H
+0025BE 120424            LCALL   ?C?ILDIX
+0025C1 A9F0              MOV     R1,B
+0025C3 FA                MOV     R2,A
+0025C4 74FF              MOV     A,#0FFH
+0025C6 1203FC            LCALL   ?C?CSTPTR
+0025C9 80DF              SJMP    ?C0011?UTILITIES
+0025CB         ?C0013?UTILITIES:
+0025CB 22                RET     
 ----- FUNCTION _xmemclear_ff (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0025D2 EF                MOV     A,R7
-0025D3 F4                CPL     A
-0025D4 603A              JZ      ?C0023?GPIO
-0025D6         ?C0022?GPIO:
-0025D6 EF                MOV     A,R7
-0025D7 5407              ANL     A,#07H
-0025D9 FE                MOV     R6,A
+0025CC EF                MOV     A,R7
+0025CD F4                CPL     A
+0025CE 603A              JZ      ?C0023?GPIO
+0025D0         ?C0022?GPIO:
+0025D0 EF                MOV     A,R7
+0025D1 5407              ANL     A,#07H
+0025D3 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-0025DA EF                MOV     A,R7
-0025DB 13                RRC     A
-0025DC 13                RRC     A
-0025DD 13                RRC     A
-0025DE 5403              ANL     A,#03H
-0025E0 FF                MOV     R7,A
+0025D4 EF                MOV     A,R7
+0025D5 13                RRC     A
+0025D6 13                RRC     A
+0025D7 13                RRC     A
+0025D8 5403              ANL     A,#03H
+0025DA FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-0025E1 24A3              ADD     A,#LOW YC_GPIOWakeupL
-0025E3 F582              MOV     DPL,A
-0025E5 E4                CLR     A
-0025E6 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-0025E8 F583              MOV     DPH,A
-0025EA C083              PUSH    DPH
-0025EC C082              PUSH    DPL
-0025EE E0                MOVX    A,@DPTR
-0025EF FD                MOV     R5,A
-0025F0 7401              MOV     A,#01H
-0025F2 A806              MOV     R0,AR6
-0025F4 08                INC     R0
-0025F5 8002              SJMP    ?C0043?GPIO
-0025F7         ?C0042?GPIO:
-0025F7 C3                CLR     C
-0025F8 33                RLC     A
-0025F9         ?C0043?GPIO:
-0025F9 D8FC              DJNZ    R0,?C0042?GPIO
-0025FB F4                CPL     A
-0025FC FC                MOV     R4,A
-0025FD 5D                ANL     A,R5
-0025FE D082              POP     DPL
-002600 D083              POP     DPH
-002602 F0                MOVX    @DPTR,A
-002603 74A7              MOV     A,#LOW YC_GPIOWakeupH
-002605 2F                ADD     A,R7
-002606 F582              MOV     DPL,A
-002608 E4                CLR     A
-002609 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-00260B F583              MOV     DPH,A
-00260D E0                MOVX    A,@DPTR
-00260E 5C                ANL     A,R4
-00260F F0                MOVX    @DPTR,A
-002610         ?C0023?GPIO:
-002610 22                RET     
+0025DB 24A3              ADD     A,#LOW YC_GPIOWakeupL
+0025DD F582              MOV     DPL,A
+0025DF E4                CLR     A
+0025E0 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0025E2 F583              MOV     DPH,A
+0025E4 C083              PUSH    DPH
+0025E6 C082              PUSH    DPL
+0025E8 E0                MOVX    A,@DPTR
+0025E9 FD                MOV     R5,A
+0025EA 7401              MOV     A,#01H
+0025EC A806              MOV     R0,AR6
+0025EE 08                INC     R0
+0025EF 8002              SJMP    ?C0043?GPIO
+0025F1         ?C0042?GPIO:
+0025F1 C3                CLR     C
+0025F2 33                RLC     A
+0025F3         ?C0043?GPIO:
+0025F3 D8FC              DJNZ    R0,?C0042?GPIO
+0025F5 F4                CPL     A
+0025F6 FC                MOV     R4,A
+0025F7 5D                ANL     A,R5
+0025F8 D082              POP     DPL
+0025FA D083              POP     DPH
+0025FC F0                MOVX    @DPTR,A
+0025FD 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0025FF 2F                ADD     A,R7
+002600 F582              MOV     DPL,A
+002602 E4                CLR     A
+002603 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+002605 F583              MOV     DPH,A
+002607 E0                MOVX    A,@DPTR
+002608 5C                ANL     A,R4
+002609 F0                MOVX    @DPTR,A
+00260A         ?C0023?GPIO:
+00260A 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
+----- FUNCTION GPIO_fillpd (BEGIN) -----
+;---- Variable 'i' assigned to Register 'R7' ----
+00260B E4                CLR     A
+00260C FF                MOV     R7,A
+00260D         ?C0026?GPIO:
+00260D EF                MOV     A,R7
+00260E FD                MOV     R5,A
+00260F 7C00              MOV     R4,#00H
+002611 2478              ADD     A,#078H
+002613 FB                MOV     R3,A
+002614 EC                MOV     A,R4
+002615 3480              ADDC    A,#080H
+002617 8B82              MOV     DPL,R3
+002619 F583              MOV     DPH,A
+00261B E0                MOVX    A,@DPTR
+00261C FE                MOV     R6,A
+00261D ED                MOV     A,R5
+00261E 2470              ADD     A,#070H
+002620 FD                MOV     R5,A
+002621 EC                MOV     A,R4
+002622 3480              ADDC    A,#080H
+002624 8D82              MOV     DPL,R5
+002626 F583              MOV     DPH,A
+002628 E0                MOVX    A,@DPTR
+002629 4E                ORL     A,R6
+00262A F4                CPL     A
+00262B FE                MOV     R6,A
+00262C EF                MOV     A,R7
+00262D 247C              ADD     A,#07CH
+00262F FD                MOV     R5,A
+002630 EC                MOV     A,R4
+002631 3480              ADDC    A,#080H
+002633 8D82              MOV     DPL,R5
+002635 F583              MOV     DPH,A
+002637 EE                MOV     A,R6
+002638 F0                MOVX    @DPTR,A
+002639 0F                INC     R7
+00263A EF                MOV     A,R7
+00263B B404CF            CJNE    A,#04H,?C0026?GPIO
+00263E 22                RET     
+----- FUNCTION GPIO_fillpd (END) -------
+
+
Index: c51/output/FW.HTM
===================================================================
--- /YJX_KB_Project/1026_KB/CK230/c51/output/FW.HTM	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/output/FW.HTM	(working copy)
@@ -25,150 +25,150 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.41</b><br>
-Creation time: <b>02/18/2022  15:19:32</b><p>
+Creation time: <b>04/11/2022  17:20:09</b><p>
 
 <hr>
 
 
 <h2><a name="S6"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:000FFAH - C:00101CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S184">?PR?_IIC_READ?IIC</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S185">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S184">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S185">?PR?_IIC_READ?IIC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S89">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
 <h2><a name="S67"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:0007F3H - C:000810H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S168">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S168">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S84"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:002173H - C:00217BH)</h2>
+<h2><a name="S85"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:0021ADH - C:0021B5H)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S86">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
+<li><a href="#S87">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
 </ul>
 
-<h2><a name="S86"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:00217CH - C:00217DH)</h2>
+<h2><a name="S87"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:0021B6H - C:0021B7H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S84">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
+<li><a href="#S85">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
 </ul>
 
-<h2><a name="S87"></a>?PR?_KB_CB_HID?SYS (C:00217EH - C:00218DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>)<p>
+<h2><a name="S88"></a>?PR?_KB_CB_HID?SYS (C:0021B8H - C:0021C7H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S89"></a>?PR?_KB_CB_EVENT?SYS (C:00117EH - C:00126AH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S82">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
+<h2><a name="S90"></a>?PR?_KB_CB_EVENT?SYS (C:00117EH - C:00126AH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S83">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S150">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S159">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S184">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S151">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S160">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S185">?PR?_IIC_READ?IIC</a></li>
 <li><a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S69">?PR?KS_INITIALIZE?KEYSCAN</a></li>
-<li><a href="#S82">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
-<li><a href="#S85">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
-<li><a href="#S83">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
+<li><a href="#S83">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
+<li><a href="#S86">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
+<li><a href="#S84">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 <li><a href="#S4">?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH</a></li>
 <li><a href="#S6">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S93"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:000F8BH - C:000FACH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
+<h2><a name="S94"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:000F8BH - C:000FACH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S150">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
-<li><a href="#S85">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
+<li><a href="#S151">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S86">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S95">?PR?KB_CB_TIMER500MS?SYS</a></li>
+<li><a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S95"></a>?PR?KB_CB_TIMER500MS?SYS (C:00173CH - C:001755H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S91">?PR?LED_TIMER500MS?SYS</a>)<p>
+<h2><a name="S96"></a>?PR?KB_CB_TIMER500MS?SYS (C:00172FH - C:001748H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S92">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S94">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
-<li><a href="#S91">?PR?LED_TIMER500MS?SYS</a></li>
-<li><a href="#S104">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
-<li><a href="#S92">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
-<li><a href="#S93">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
+<li><a href="#S95">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S92">?PR?LED_TIMER500MS?SYS</a></li>
+<li><a href="#S105">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
+<li><a href="#S93">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
+<li><a href="#S94">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S96"></a>?PR?KB_CB_TIMER100MS?SYS (C:00221DH - C:0022E7H)</h2>
+<h2><a name="S97"></a>?PR?KB_CB_TIMER100MS?SYS (C:00220CH - C:0022D6H)</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>
-<li><a href="#S159">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S160">?PR?_GPIO_SETOUT?GPIO</a></li>
 <li><a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S98"></a>?PR?YC_SYSTEM_MAIN?SYS (C:00143EH - C:00149BH)</h2>
+<h2><a name="S99"></a>?PR?YC_SYSTEM_MAIN?SYS (C:001430H - C:00148DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S54">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S120">?PR?IPC_ABANDONLPM?IPC</a></li>
-<li><a href="#S122">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
-<li><a href="#S119">?PR?IPC_WAITLPM?IPC</a></li>
-<li><a href="#S97">?PR?KB_CB_INIT?SYS</a></li>
+<li><a href="#S121">?PR?IPC_ABANDONLPM?IPC</a></li>
+<li><a href="#S123">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
+<li><a href="#S120">?PR?IPC_WAITLPM?IPC</a></li>
+<li><a href="#S98">?PR?KB_CB_INIT?SYS</a></li>
 <li><a href="#S54">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 <li><a href="#S70">?PR?KS_UNISTALL?KEYSCAN</a></li>
-<li><a href="#S79">?PR?LED_ALL_SHUTDOWN?LED</a></li>
-<li><a href="#S80">?PR?LED_HANDLE?LED</a></li>
+<li><a href="#S80">?PR?LED_ALL_SHUTDOWN?LED</a></li>
+<li><a href="#S81">?PR?LED_HANDLE?LED</a></li>
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S105">?PR?MAIN?RAM</a></li>
+<li><a href="#S106">?PR?MAIN?RAM</a></li>
 </ul>
 
-<h2><a name="S105"></a>?PR?MAIN?RAM (C:001700H - C:001701H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S106"></a>?PR?MAIN?RAM (C:0016F3H - C:0016F4H)</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="#S98">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S114"></a>?PR?_IPC_TXDATA?IPC (C:000E66H - C:000E88H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S142">?PR?_XMEMCPY?UTILITIES</a>)<p>
+<h2><a name="S115"></a>?PR?_IPC_TXDATA?IPC (C:000E66H - C:000E88H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S143">?PR?_XMEMCPY?UTILITIES</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S142">?PR?_XMEMCPY?UTILITIES</a></li>
+<li><a href="#S143">?PR?_XMEMCPY?UTILITIES</a></li>
 </ul>
 
-<h2><a name="S118"></a>?PR?_IPC_INITIALIZE?IPC (C:0015E7H - C:0015F3H)</h2>
+<h2><a name="S119"></a>?PR?_IPC_INITIALIZE?IPC (C:0015DAH - C:0015E6H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S148"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:0025A5H - C:0025D1H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>)<p>
+<h2><a name="S149"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:00259FH - C:0025CBH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <h2><a name="S2"></a>?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH (C:0006C2H - C:0006CEH)</h2>
-<p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S80">?PR?LED_HANDLE?LED</a>)<p>
+<p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S81">?PR?LED_HANDLE?LED</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S80">?PR?LED_HANDLE?LED</a></li>
+<li><a href="#S81">?PR?LED_HANDLE?LED</a></li>
 </ul>
 
 <h2><a name="S3"></a>?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH (C:0008D0H - C:000905H)</h2>
@@ -184,53 +184,52 @@
 </ul>
 
 <h2><a name="S4"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:000FF4H - C:000FF9H)</h2>
-<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S89">?PR?_KB_CB_EVENT?SYS</a>)<p>
+<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S90">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S89">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
 <h2><a name="S5"></a>?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH (C:000FADH - C:000FC3H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-<li><a href="#S94">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S95">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S7"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:0013DAH - C:00143DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S188">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=2 Bytes (<a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S7"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:0013DAH - C:00142FH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S189">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=2 Bytes (<a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S150">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S159">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S188">?PR?_IIC_WRITEBLOCK?IIC</a></li>
+<li><a href="#S151">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S189">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
 <h2><a name="S43"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:00101DH - C:0010CDH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>) Top=10 Bytes (<a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S150">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S184">?PR?_IIC_READ?IIC</a></li>
-<li><a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S151">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S185">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S89">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S94">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S95">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 <li><a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a></li>
 </ul>
 
@@ -238,8 +237,8 @@
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>) Top=6 Bytes (<a href="#S55">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
-<li><a href="#S116">?PR?_IPC_TX24GDATA?IPC</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
+<li><a href="#S117">?PR?_IPC_TX24GDATA?IPC</a></li>
 <li><a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a></li>
 </ul>
 
@@ -248,17 +247,17 @@
 <li><a href="#S55">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 <li><a href="#S49">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
 <li><a href="#S51">?PR?KB_24G_GET_LED_STATUS?KB_PROCESS</a></li>
-<li><a href="#S96">?PR?KB_CB_TIMER100MS?SYS</a></li>
+<li><a href="#S97">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S47"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:0017E0H - C:0017FAH)</h2>
+<h2><a name="S47"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:0017E9H - C:001803H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S60">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S60">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S48"></a>?PR?_KB_SET_SYSTEMKEY?KB_PROCESS (C:0017FBH - C:001815H)</h2>
+<h2><a name="S48"></a>?PR?_KB_SET_SYSTEMKEY?KB_PROCESS (C:001804H - C:00181EH)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S60">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -270,7 +269,7 @@
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
-<li><a href="#S146">?PR?_XMEMCLEAR?UTILITIES</a></li>
+<li><a href="#S147">?PR?_XMEMCLEAR?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -283,7 +282,7 @@
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
-<li><a href="#S146">?PR?_XMEMCLEAR?UTILITIES</a></li>
+<li><a href="#S147">?PR?_XMEMCLEAR?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -296,9 +295,9 @@
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S55">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
-<li><a href="#S121">?PR?IPC_ISTXBUFFEMPTY?IPC</a></li>
+<li><a href="#S122">?PR?IPC_ISTXBUFFEMPTY?IPC</a></li>
 <li><a href="#S51">?PR?KB_24G_GET_LED_STATUS?KB_PROCESS</a></li>
-<li><a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
+<li><a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -307,7 +306,7 @@
 </ul>
 
 <h2><a name="S54"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:000D6EH - C:000DF0H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S52">?PR?KB_MOTION?KB_PROCESS</a>) Top=2 Bytes (<a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S52">?PR?KB_MOTION?KB_PROCESS</a>) Top=2 Bytes (<a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S49">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
@@ -316,18 +315,18 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
 <h2><a name="S55"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:0009B9H - C:000C7DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S52">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 <li><a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 <li><a href="#S60">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
-<li><a href="#S146">?PR?_XMEMCLEAR?UTILITIES</a></li>
-<li><a href="#S142">?PR?_XMEMCPY?UTILITIES</a></li>
+<li><a href="#S147">?PR?_XMEMCLEAR?UTILITIES</a></li>
+<li><a href="#S143">?PR?_XMEMCPY?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -335,15 +334,15 @@
 <li><a href="#S52">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S57"></a>?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS (C:001AC6H - C:001AEAH)</h2>
+<h2><a name="S57"></a>?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS (C:001ACCH - C:001AF0H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S58">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S58">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S58"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:001AEBH - C:001C40H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S57">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a>) Top=6 Bytes (<a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<h2><a name="S58"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:001AF1H - C:001C46H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S57">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a>) Top=6 Bytes (<a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S57">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a></li>
@@ -351,14 +350,14 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
+<li><a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S60"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:001816H - C:001AC5H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S55">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S60"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:00181FH - C:001ACBH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S55">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 <li><a href="#S47">?PR?_KB_SET_MULTIKEY?KB_PROCESS</a></li>
 <li><a href="#S48">?PR?_KB_SET_SYSTEMKEY?KB_PROCESS</a></li>
 </ul>
@@ -368,32 +367,32 @@
 <li><a href="#S55">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S62"></a>?PR?_BIT_COUNT?KEYSCAN (C:001E8DH - C:001E9AH)</h2>
-<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<h2><a name="S62"></a>?PR?_BIT_COUNT?KEYSCAN (C:001E93H - C:001EA0H)</h2>
+<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
+<li><a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S63"></a>?PR?_KEYIN?KEYSCAN (C:001F15H - C:001F6AH)</h2>
-<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<h2><a name="S63"></a>?PR?_KEYIN?KEYSCAN (C:001F1BH - C:001F70H)</h2>
+<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
+<li><a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S64"></a>?PR?_KEYOUT?KEYSCAN (C:001F6BH - C:002014H)</h2>
-<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<h2><a name="S64"></a>?PR?_KEYOUT?KEYSCAN (C:001F71H - C:00201AH)</h2>
+<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
+<li><a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
 <h2><a name="S65"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:0008B3H - C:0008CFH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S69">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S168">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S69">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S168">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -402,7 +401,7 @@
 </ul>
 
 <h2><a name="S69"></a>?PR?KS_INITIALIZE?KEYSCAN (C:0007E7H - C:0007F2H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S65">?PR?KSRAWINITIALIZE?KEYSCAN</a>) Top=4 Bytes (<a href="#S82">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S65">?PR?KSRAWINITIALIZE?KEYSCAN</a>) Top=4 Bytes (<a href="#S83">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S65">?PR?KSRAWINITIALIZE?KEYSCAN</a></li>
@@ -410,53 +409,60 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S89">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S82">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
+<li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S83">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S70"></a>?PR?KS_UNISTALL?KEYSCAN (C:00149CH - C:001533H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S174">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>) Top=2 Bytes (<a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S70"></a>?PR?KS_UNISTALL?KEYSCAN (C:00148EH - C:001526H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S175">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>) Top=2 Bytes (<a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S174">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a></li>
-<li><a href="#S180">?PR?GPIO_FILLPD?GPIO</a></li>
+<li><a href="#S175">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a></li>
+<li><a href="#S72">?PR?GPIO_FILLPU?KEYSCAN</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S72"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:002015H - C:002172H)</h2>
-<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<h2><a name="S72"></a>?PR?GPIO_FILLPU?KEYSCAN (C:00201BH - C:00204EH)</h2>
+<p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S70">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
+<li><a href="#S70">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S74"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001E9BH - C:001ECAH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<h2><a name="S73"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:00204FH - C:0021ACH)</h2>
+<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<p><br><b>Called from:</b></p>
+<ul>
+<li><a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
+</ul>
+
+<h2><a name="S75"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001EA1H - C:001ED0H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
+<li><a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S76"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:001C41H - C:001E8CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S72">?PR?KS_SCANMATRIX?KEYSCAN</a>) Top=4 Bytes (<a href="#S52">?PR?KB_MOTION?KB_PROCESS</a>)<p>
+<h2><a name="S77"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:001C47H - C:001E92H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S73">?PR?KS_SCANMATRIX?KEYSCAN</a>) Top=4 Bytes (<a href="#S52">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S74">?PR?_ARRAY_IS_EMPTY?KEYSCAN</a></li>
+<li><a href="#S75">?PR?_ARRAY_IS_EMPTY?KEYSCAN</a></li>
 <li><a href="#S62">?PR?_BIT_COUNT?KEYSCAN</a></li>
-<li><a href="#S151">?PR?_COMPARE_STR?UTILITIES</a></li>
+<li><a href="#S152">?PR?_COMPARE_STR?UTILITIES</a></li>
 <li><a href="#S58">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 <li><a href="#S63">?PR?_KEYIN?KEYSCAN</a></li>
 <li><a href="#S64">?PR?_KEYOUT?KEYSCAN</a></li>
-<li><a href="#S72">?PR?KS_SCANMATRIX?KEYSCAN</a></li>
+<li><a href="#S73">?PR?KS_SCANMATRIX?KEYSCAN</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -464,290 +470,290 @@
 <li><a href="#S52">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S79"></a>?PR?LED_ALL_SHUTDOWN?LED (C:00079FH - C:0007B4H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S169">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S82">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
+<h2><a name="S80"></a>?PR?LED_ALL_SHUTDOWN?LED (C:00079FH - C:0007B4H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S170">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S83">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S169">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
+<li><a href="#S170">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S82">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
-<li><a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S83">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
+<li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S80"></a>?PR?LED_HANDLE?LED (C:0006CFH - C:00077CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S159">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S81"></a>?PR?LED_HANDLE?LED (C:0006CFH - C:00077CH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S160">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S159">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S85">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
+<li><a href="#S160">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S86">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 <li><a href="#S2">?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S81"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:000CAAH - C:000D33H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S146">?PR?_XMEMCLEAR?UTILITIES</a>) Top=4 Bytes (<a href="#S83">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
+<h2><a name="S82"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:000CAAH - C:000D33H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S147">?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>
-<li><a href="#S146">?PR?_XMEMCLEAR?UTILITIES</a></li>
+<li><a href="#S147">?PR?_XMEMCLEAR?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S83">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
+<li><a href="#S84">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S82"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0007E3H - C:0007E6H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S69">?PR?KS_INITIALIZE?KEYSCAN</a>) Top=2 Bytes (<a href="#S89">?PR?_KB_CB_EVENT?SYS</a>)<p>
+<h2><a name="S83"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0007E3H - C:0007E6H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S69">?PR?KS_INITIALIZE?KEYSCAN</a>) Top=2 Bytes (<a href="#S90">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S69">?PR?KS_INITIALIZE?KEYSCAN</a></li>
-<li><a href="#S79">?PR?LED_ALL_SHUTDOWN?LED</a></li>
+<li><a href="#S80">?PR?LED_ALL_SHUTDOWN?LED</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S89">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S83"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:00126BH - C:001288H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S101">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S89">?PR?_KB_CB_EVENT?SYS</a>)<p>
+<h2><a name="S84"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:00126BH - C:001288H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S102">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S90">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S81">?PR?SYSTEM_CLEAR_MEM?SYS</a></li>
-<li><a href="#S101">?PR?YC_ADC_INIT?ADC</a></li>
+<li><a href="#S82">?PR?SYSTEM_CLEAR_MEM?SYS</a></li>
+<li><a href="#S102">?PR?YC_ADC_INIT?ADC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S89">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S85"></a>?PR?SYSTEM_LONG_SLEEP?SYS (C:00078FH - C:00079EH)</h2>
-<p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S92">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
+<h2><a name="S86"></a>?PR?SYSTEM_LONG_SLEEP?SYS (C:00078FH - C:00079EH)</h2>
+<p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S93">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S89">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S94">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
-<li><a href="#S80">?PR?LED_HANDLE?LED</a></li>
-<li><a href="#S92">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
-<li><a href="#S93">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
+<li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S95">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S81">?PR?LED_HANDLE?LED</a></li>
+<li><a href="#S93">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
+<li><a href="#S94">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S91"></a>?PR?LED_TIMER500MS?SYS (C:00172AH - C:00173BH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S177">?PR?_GPIO_FLIPOUTBIT?GPIO</a>) Top=2 Bytes (<a href="#S95">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S92"></a>?PR?LED_TIMER500MS?SYS (C:00171DH - C:00172EH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S178">?PR?_GPIO_FLIPOUTBIT?GPIO</a>) Top=2 Bytes (<a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S177">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
+<li><a href="#S178">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S95">?PR?KB_CB_TIMER500MS?SYS</a></li>
+<li><a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S92"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:00179CH - C:0017DFH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=2 Bytes (<a href="#S95">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S93"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:0021C8H - C:00220BH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=2 Bytes (<a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
-<li><a href="#S85">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
+<li><a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S86">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S95">?PR?KB_CB_TIMER500MS?SYS</a></li>
+<li><a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S94"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:00218EH - C:00221CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>) Top=2 Bytes (<a href="#S95">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S95"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:00175BH - C:0017E8H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>) Top=2 Bytes (<a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S150">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S151">?PR?_DELAY1MS?UTILITIES</a></li>
 <li><a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-<li><a href="#S85">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
+<li><a href="#S86">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 <li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S95">?PR?KB_CB_TIMER500MS?SYS</a></li>
+<li><a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S97"></a>?PR?KB_CB_INIT?SYS (C:0015E1H - C:0015E6H)</h2>
-<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S98"></a>?PR?KB_CB_INIT?SYS (C:0015D4H - C:0015D9H)</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="#S98">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S101"></a>?PR?YC_ADC_INIT?ADC (C:0022E8H - C:0023A0H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S83">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
+<h2><a name="S102"></a>?PR?YC_ADC_INIT?ADC (C:0022D7H - C:00239AH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S84">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S83">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
+<li><a href="#S84">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S102"></a>?PR?YC_ADC_CHECK?ADC (C:0023A1H - C:0024A9H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S104">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
+<h2><a name="S103"></a>?PR?YC_ADC_CHECK?ADC (C:00239BH - C:0024A3H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S105">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S104">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
+<li><a href="#S105">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
 </ul>
 
-<h2><a name="S104"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:001756H - C:001767H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S102">?PR?YC_ADC_CHECK?ADC</a>) Top=2 Bytes (<a href="#S95">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S105"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:001749H - C:00175AH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S103">?PR?YC_ADC_CHECK?ADC</a>) Top=2 Bytes (<a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S102">?PR?YC_ADC_CHECK?ADC</a></li>
+<li><a href="#S103">?PR?YC_ADC_CHECK?ADC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S95">?PR?KB_CB_TIMER500MS?SYS</a></li>
+<li><a href="#S96">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S106"></a>?PR?_BUFSIZE?IPC (C:0024AAH - C:002503H)</h2>
-<p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S110">?PR?_IPCTX?IPC</a>)<p>
+<h2><a name="S107"></a>?PR?_BUFSIZE?IPC (C:0024A4H - C:0024FDH)</h2>
+<p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S111">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S110">?PR?_IPCTX?IPC</a></li>
+<li><a href="#S111">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S108"></a>?PR?_IPCRX?IPC (C:002504H - C:002553H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S122">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
+<h2><a name="S109"></a>?PR?_IPCRX?IPC (C:0024FEH - C:00254DH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S123">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S122">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
+<li><a href="#S123">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
 </ul>
 
-<h2><a name="S110"></a>?PR?_IPCTX?IPC (C:000E89H - C:000F1DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S106">?PR?_BUFSIZE?IPC</a>) Top=14 Bytes (<a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
+<h2><a name="S111"></a>?PR?_IPCTX?IPC (C:000E89H - C:000F1DH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S107">?PR?_BUFSIZE?IPC</a>) Top=14 Bytes (<a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
-<li><a href="#S106">?PR?_BUFSIZE?IPC</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
+<li><a href="#S107">?PR?_BUFSIZE?IPC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 </ul>
 
-<h2><a name="S112"></a>?PR?_IPC_TXCONTROLCMD?IPC (C:000F61H - C:000F8AH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=14 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>)<p>
+<h2><a name="S113"></a>?PR?_IPC_TXCONTROLCMD?IPC (C:000F61H - C:000F8AH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=14 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
-<li><a href="#S110">?PR?_IPCTX?IPC</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
+<li><a href="#S111">?PR?_IPCTX?IPC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-<li><a href="#S92">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
+<li><a href="#S93">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 <li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
-<li><a href="#S93">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
+<li><a href="#S94">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S116"></a>?PR?_IPC_TX24GDATA?IPC (C:000E60H - C:000E65H)</h2>
+<h2><a name="S117"></a>?PR?_IPC_TX24GDATA?IPC (C:000E60H - C:000E65H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S119"></a>?PR?IPC_WAITLPM?IPC (C:0015D3H - C:0015E0H)</h2>
-<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S120"></a>?PR?IPC_WAITLPM?IPC (C:0015C6H - C:0015D3H)</h2>
+<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S150">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S151">?PR?_DELAY1MS?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S120"></a>?PR?IPC_ABANDONLPM?IPC (C:001702H - C:00170DH)</h2>
-<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S121"></a>?PR?IPC_ABANDONLPM?IPC (C:0016F5H - C:001700H)</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="#S98">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S121"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:000FC4H - C:000FDBH)</h2>
+<h2><a name="S122"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:000FC4H - C:000FDBH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S52">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S52">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S122"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:001639H - C:0016FFH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S108">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S123"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:00162CH - C:0016F2H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S109">?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>
-<li><a href="#S192">?C?LIB_CODE</a></li>
-<li><a href="#S108">?PR?_IPCRX?IPC</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
+<li><a href="#S109">?PR?_IPCRX?IPC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S98">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S99">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S142"></a>?PR?_XMEMCPY?UTILITIES (C:000F1EH - C:000F60H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S184">?PR?_IIC_READ?IIC</a>)<p>
+<h2><a name="S143"></a>?PR?_XMEMCPY?UTILITIES (C:000F1EH - C:000F60H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S185">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S184">?PR?_IIC_READ?IIC</a></li>
-<li><a href="#S114">?PR?_IPC_TXDATA?IPC</a></li>
+<li><a href="#S185">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S115">?PR?_IPC_TXDATA?IPC</a></li>
 <li><a href="#S55">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S144"></a>?PR?_DMEMCPY?UTILITIES (C:002561H - C:0025A4H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=8 Bytes (<a href="#S186">?PR?_IIC_WRITE?IIC</a>)<p>
+<h2><a name="S145"></a>?PR?_DMEMCPY?UTILITIES (C:00255BH - C:00259EH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=8 Bytes (<a href="#S187">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S186">?PR?_IIC_WRITE?IIC</a></li>
+<li><a href="#S187">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S146"></a>?PR?_XMEMCLEAR?UTILITIES (C:000C7EH - C:000CA9H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S81">?PR?SYSTEM_CLEAR_MEM?SYS</a>)<p>
+<h2><a name="S147"></a>?PR?_XMEMCLEAR?UTILITIES (C:000C7EH - C:000CA9H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?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>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -755,130 +761,129 @@
 <li><a href="#S55">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 <li><a href="#S49">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
 <li><a href="#S51">?PR?KB_24G_GET_LED_STATUS?KB_PROCESS</a></li>
-<li><a href="#S81">?PR?SYSTEM_CLEAR_MEM?SYS</a></li>
+<li><a href="#S82">?PR?SYSTEM_CLEAR_MEM?SYS</a></li>
 </ul>
 
-<h2><a name="S150"></a>?PR?_DELAY1MS?UTILITIES (C:000FDCH - C:000FF3H)</h2>
+<h2><a name="S151"></a>?PR?_DELAY1MS?UTILITIES (C:000FDCH - C:000FF3H)</h2>
 <p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S188">?PR?_IIC_WRITEBLOCK?IIC</a></li>
-<li><a href="#S89">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S189">?PR?_IIC_WRITEBLOCK?IIC</a></li>
+<li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
 <li><a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-<li><a href="#S119">?PR?IPC_WAITLPM?IPC</a></li>
-<li><a href="#S94">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
-<li><a href="#S93">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
+<li><a href="#S120">?PR?IPC_WAITLPM?IPC</a></li>
+<li><a href="#S95">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S94">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S151"></a>?PR?_COMPARE_STR?UTILITIES (C:001ECBH - C:001F14H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<h2><a name="S152"></a>?PR?_COMPARE_STR?UTILITIES (C:001ED1H - C:001F1AH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S76">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
+<li><a href="#S77">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S153"></a>?PR?_GPIOSETBIT?GPIO (C:000852H - C:0008B2H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S163">?PR?_GPIO_SETPD?GPIO</a>)<p>
+<h2><a name="S154"></a>?PR?_GPIOSETBIT?GPIO (C:000852H - C:0008B2H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S164">?PR?_GPIO_SETPD?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S165">?PR?_GPIO_SETOE?GPIO</a></li>
-<li><a href="#S159">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S163">?PR?_GPIO_SETPD?GPIO</a></li>
-<li><a href="#S161">?PR?_GPIO_SETPU?GPIO</a></li>
+<li><a href="#S166">?PR?_GPIO_SETOE?GPIO</a></li>
+<li><a href="#S160">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S164">?PR?_GPIO_SETPD?GPIO</a></li>
+<li><a href="#S162">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
-<h2><a name="S156"></a>?PR?_GPIOGETBIT?GPIO (C:0015FAH - C:001638H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S192">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S177">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
+<h2><a name="S157"></a>?PR?_GPIOGETBIT?GPIO (C:0015EDH - C:00162BH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S193">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S178">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S177">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
+<li><a href="#S178">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
-<h2><a name="S158"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:0015F4H - C:0015F9H)</h2>
-<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S174">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>)<p>
+<h2><a name="S159"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:0015E7H - C:0015ECH)</h2>
+<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S175">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S174">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a></li>
+<li><a href="#S175">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a></li>
 </ul>
 
-<h2><a name="S159"></a>?PR?_GPIO_SETOUT?GPIO (C:00077DH - C:00078EH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S153">?PR?_GPIOSETBIT?GPIO</a>) Top=6 Bytes (<a href="#S169">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
+<h2><a name="S160"></a>?PR?_GPIO_SETOUT?GPIO (C:00077DH - C:00078EH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S154">?PR?_GPIOSETBIT?GPIO</a>) Top=6 Bytes (<a href="#S170">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S153">?PR?_GPIOSETBIT?GPIO</a></li>
+<li><a href="#S154">?PR?_GPIOSETBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S177">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
-<li><a href="#S169">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
-<li><a href="#S89">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S96">?PR?KB_CB_TIMER100MS?SYS</a></li>
-<li><a href="#S80">?PR?LED_HANDLE?LED</a></li>
-<li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
+<li><a href="#S178">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
+<li><a href="#S170">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
+<li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S97">?PR?KB_CB_TIMER100MS?SYS</a></li>
+<li><a href="#S81">?PR?LED_HANDLE?LED</a></li>
 </ul>
 
-<h2><a name="S161"></a>?PR?_GPIO_SETPU?GPIO (C:0007D1H - C:0007E2H)</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>
+<h2><a name="S162"></a>?PR?_GPIO_SETPU?GPIO (C:0007D1H - C:0007E2H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S154">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S168">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S153">?PR?_GPIOSETBIT?GPIO</a></li>
+<li><a href="#S154">?PR?_GPIOSETBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a></li>
-<li><a href="#S169">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
+<li><a href="#S168">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S170">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S163"></a>?PR?_GPIO_SETPD?GPIO (C:000830H - C:000840H)</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>
+<h2><a name="S164"></a>?PR?_GPIO_SETPD?GPIO (C:000830H - C:000840H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S154">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S168">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S153">?PR?_GPIOSETBIT?GPIO</a></li>
+<li><a href="#S154">?PR?_GPIOSETBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S168">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S165"></a>?PR?_GPIO_SETOE?GPIO (C:000841H - C:000851H)</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>
+<h2><a name="S166"></a>?PR?_GPIO_SETOE?GPIO (C:000841H - C:000851H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S154">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S168">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S153">?PR?_GPIOSETBIT?GPIO</a></li>
+<li><a href="#S154">?PR?_GPIOSETBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S167">?PR?_GPIO_SETINPUT?GPIO</a></li>
-<li><a href="#S169">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
+<li><a href="#S168">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S170">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S167"></a>?PR?_GPIO_SETINPUT?GPIO (C:000811H - C:00082FH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S163">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S65">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
+<h2><a name="S168"></a>?PR?_GPIO_SETINPUT?GPIO (C:000811H - C:00082FH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S164">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S65">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S165">?PR?_GPIO_SETOE?GPIO</a></li>
-<li><a href="#S163">?PR?_GPIO_SETPD?GPIO</a></li>
-<li><a href="#S161">?PR?_GPIO_SETPU?GPIO</a></li>
+<li><a href="#S166">?PR?_GPIO_SETOE?GPIO</a></li>
+<li><a href="#S164">?PR?_GPIO_SETPD?GPIO</a></li>
+<li><a href="#S162">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -887,25 +892,25 @@
 <li><a href="#S65">?PR?KSRAWINITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S169"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:0007B5H - C:0007D0H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S165">?PR?_GPIO_SETOE?GPIO</a>) Top=4 Bytes (<a href="#S79">?PR?LED_ALL_SHUTDOWN?LED</a>)<p>
+<h2><a name="S170"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:0007B5H - C:0007D0H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S166">?PR?_GPIO_SETOE?GPIO</a>) Top=4 Bytes (<a href="#S80">?PR?LED_ALL_SHUTDOWN?LED</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S165">?PR?_GPIO_SETOE?GPIO</a></li>
-<li><a href="#S159">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S161">?PR?_GPIO_SETPU?GPIO</a></li>
+<li><a href="#S166">?PR?_GPIO_SETOE?GPIO</a></li>
+<li><a href="#S160">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S162">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S79">?PR?LED_ALL_SHUTDOWN?LED</a></li>
+<li><a href="#S80">?PR?LED_ALL_SHUTDOWN?LED</a></li>
 </ul>
 
-<h2><a name="S174"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:001534H - C:001546H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S158">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S70">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
+<h2><a name="S175"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:001527H - C:001539H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S159">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S70">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S158">?PR?_GPIO_GETINPUTSTATUS?GPIO</a></li>
+<li><a href="#S159">?PR?_GPIO_GETINPUTSTATUS?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -913,69 +918,62 @@
 <li><a href="#S70">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S177"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:00170EH - C:001729H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S156">?PR?_GPIOGETBIT?GPIO</a>) Top=4 Bytes (<a href="#S91">?PR?LED_TIMER500MS?SYS</a>)<p>
+<h2><a name="S178"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:001701H - C:00171CH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S157">?PR?_GPIOGETBIT?GPIO</a>) Top=4 Bytes (<a href="#S92">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S159">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S156">?PR?_GPIOGETBIT?GPIO</a></li>
+<li><a href="#S160">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S157">?PR?_GPIOGETBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S91">?PR?LED_TIMER500MS?SYS</a></li>
-</ul>
-
-<h2><a name="S180"></a>?PR?GPIO_FILLPD?GPIO (C:001768H - C:00179BH)</h2>
-<p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S70">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
-<p><br><b>Called from:</b></p>
-<ul>
-<li><a href="#S70">?PR?KS_UNISTALL?KEYSCAN</a></li>
+<li><a href="#S92">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S183"></a>?PR?IICWAITDONE?IIC (C:001289H - C:001290H)</h2>
-<p><br><b>Maximum Stack:</b> Top=14 Bytes (<a href="#S184">?PR?_IIC_READ?IIC</a>)<p>
+<h2><a name="S184"></a>?PR?IICWAITDONE?IIC (C:001289H - C:001290H)</h2>
+<p><br><b>Maximum Stack:</b> Top=14 Bytes (<a href="#S185">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S184">?PR?_IIC_READ?IIC</a></li>
-<li><a href="#S186">?PR?_IIC_WRITE?IIC</a></li>
+<li><a href="#S185">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S187">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S184"></a>?PR?_IIC_READ?IIC (C:0010CEH - C:00117DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S183">?PR?IICWAITDONE?IIC</a>) Top=12 Bytes (<a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S185"></a>?PR?_IIC_READ?IIC (C:0010CEH - C:00117DH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S184">?PR?IICWAITDONE?IIC</a>) Top=12 Bytes (<a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S142">?PR?_XMEMCPY?UTILITIES</a></li>
-<li><a href="#S183">?PR?IICWAITDONE?IIC</a></li>
+<li><a href="#S143">?PR?_XMEMCPY?UTILITIES</a></li>
+<li><a href="#S184">?PR?IICWAITDONE?IIC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S89">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S90">?PR?_KB_CB_EVENT?SYS</a></li>
 <li><a href="#S43">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S6">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S186"></a>?PR?_IIC_WRITE?IIC (C:001291H - C:00132BH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S144">?PR?_DMEMCPY?UTILITIES</a>) Top=6 Bytes (<a href="#S188">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
+<h2><a name="S187"></a>?PR?_IIC_WRITE?IIC (C:001291H - C:00132BH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S145">?PR?_DMEMCPY?UTILITIES</a>) Top=6 Bytes (<a href="#S189">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S144">?PR?_DMEMCPY?UTILITIES</a></li>
-<li><a href="#S183">?PR?IICWAITDONE?IIC</a></li>
+<li><a href="#S145">?PR?_DMEMCPY?UTILITIES</a></li>
+<li><a href="#S184">?PR?IICWAITDONE?IIC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S188">?PR?_IIC_WRITEBLOCK?IIC</a></li>
+<li><a href="#S189">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 </ul>
 
-<h2><a name="S188"></a>?PR?_IIC_WRITEBLOCK?IIC (C:00132CH - C:0013D9H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S186">?PR?_IIC_WRITE?IIC</a>) Top=4 Bytes (<a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a>)<p>
+<h2><a name="S189"></a>?PR?_IIC_WRITEBLOCK?IIC (C:00132CH - C:0013D9H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S187">?PR?_IIC_WRITE?IIC</a>) Top=4 Bytes (<a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S192">?C?LIB_CODE</a></li>
-<li><a href="#S150">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S186">?PR?_IIC_WRITE?IIC</a></li>
+<li><a href="#S193">?C?LIB_CODE</a></li>
+<li><a href="#S151">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S187">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -983,30 +981,30 @@
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S192"></a>?C?LIB_CODE (C:000003H - C:000569H)</h2>
-<p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
+<h2><a name="S193"></a>?C?LIB_CODE (C:000003H - C:000569H)</h2>
+<p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S74">?PR?_ARRAY_IS_EMPTY?KEYSCAN</a></li>
-<li><a href="#S151">?PR?_COMPARE_STR?UTILITIES</a></li>
-<li><a href="#S144">?PR?_DMEMCPY?UTILITIES</a></li>
-<li><a href="#S156">?PR?_GPIOGETBIT?GPIO</a></li>
-<li><a href="#S153">?PR?_GPIOSETBIT?GPIO</a></li>
-<li><a href="#S188">?PR?_IIC_WRITEBLOCK?IIC</a></li>
-<li><a href="#S118">?PR?_IPC_INITIALIZE?IPC</a></li>
-<li><a href="#S112">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S75">?PR?_ARRAY_IS_EMPTY?KEYSCAN</a></li>
+<li><a href="#S152">?PR?_COMPARE_STR?UTILITIES</a></li>
+<li><a href="#S145">?PR?_DMEMCPY?UTILITIES</a></li>
+<li><a href="#S157">?PR?_GPIOGETBIT?GPIO</a></li>
+<li><a href="#S154">?PR?_GPIOSETBIT?GPIO</a></li>
+<li><a href="#S189">?PR?_IIC_WRITEBLOCK?IIC</a></li>
+<li><a href="#S119">?PR?_IPC_INITIALIZE?IPC</a></li>
+<li><a href="#S113">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S45">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
-<li><a href="#S108">?PR?_IPCRX?IPC</a></li>
-<li><a href="#S110">?PR?_IPCTX?IPC</a></li>
-<li><a href="#S87">?PR?_KB_CB_HID?SYS</a></li>
+<li><a href="#S109">?PR?_IPCRX?IPC</a></li>
+<li><a href="#S111">?PR?_IPCTX?IPC</a></li>
+<li><a href="#S88">?PR?_KB_CB_HID?SYS</a></li>
 <li><a href="#S55">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 <li><a href="#S60">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
-<li><a href="#S146">?PR?_XMEMCLEAR?UTILITIES</a></li>
-<li><a href="#S148">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
-<li><a href="#S142">?PR?_XMEMCPY?UTILITIES</a></li>
-<li><a href="#S122">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
-<li><a href="#S102">?PR?YC_ADC_CHECK?ADC</a></li>
-<li><a href="#S101">?PR?YC_ADC_INIT?ADC</a></li>
+<li><a href="#S147">?PR?_XMEMCLEAR?UTILITIES</a></li>
+<li><a href="#S149">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
+<li><a href="#S143">?PR?_XMEMCPY?UTILITIES</a></li>
+<li><a href="#S123">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
+<li><a href="#S103">?PR?YC_ADC_CHECK?ADC</a></li>
+<li><a href="#S102">?PR?YC_ADC_INIT?ADC</a></li>
 </ul>
 
 </body>
Index: c51/output/FW.MAP
===================================================================
--- /YJX_KB_Project/1026_KB/CK230/c51/output/FW.MAP	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               02/18/2022  15:19:32  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               04/11/2022  17:20:09  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -82,7 +82,7 @@
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
 X:000000H   X:004DD0H   X:004F40H   000314H   XDATA
-C:000000H   C:000000H   C:00FFFFH   00255BH   CODE
+C:000000H   C:000000H   C:00FFFFH   002589H   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
@@ -160,51 +160,52 @@
 001289H   001290H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
 001291H   00132BH   00009BH   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
 00132CH   0013D9H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
-0013DAH   00143DH   000064H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
-00143EH   00149BH   00005EH   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
-00149CH   001533H   000098H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
-001534H   001546H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
-001547H   0015D2H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
-0015D3H   0015E0H   00000EH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
-0015E1H   0015E6H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
-0015E7H   0015F3H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
-0015F4H   0015F9H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
-0015FAH   001638H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
-001639H   0016FFH   0000C7H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-001700H   001701H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
-001702H   00170DH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-00170EH   001729H   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
-00172AH   00173BH   000012H   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
-00173CH   001755H   00001AH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
-001756H   001767H   000012H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
-001768H   00179BH   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
-00179CH   0017DFH   000044H   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
-0017E0H   0017FAH   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
-0017FBH   001815H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_SYSTEMKEY?KB_PROCESS
-001816H   001AC5H   0002B0H   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
-001AC6H   001AEAH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-001AEBH   001C40H   000156H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-001C41H   001E8CH   00024CH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
-001E8DH   001E9AH   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
-001E9BH   001ECAH   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
-001ECBH   001F14H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
-001F15H   001F6AH   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
-001F6BH   002014H   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
-002015H   002172H   00015EH   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
-002173H   00217BH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-00217CH   00217DH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-00217EH   00218DH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-00218EH   00221CH   00008FH   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
-00221DH   0022E7H   0000CBH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-0022E8H   0023A0H   0000B9H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-0023A1H   0024A9H   000109H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-0024AAH   002503H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-002504H   002553H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-002554H   002559H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-00255AH   002560H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-002561H   0025A4H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-0025A5H   0025D1H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
-0025D2H   002610H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+0013DAH   00142FH   000056H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
+001430H   00148DH   00005EH   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
+00148EH   001526H   000099H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
+001527H   001539H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+00153AH   0015C5H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
+0015C6H   0015D3H   00000EH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
+0015D4H   0015D9H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+0015DAH   0015E6H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+0015E7H   0015ECH   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+0015EDH   00162BH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+00162CH   0016F2H   0000C7H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+0016F3H   0016F4H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+0016F5H   001700H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+001701H   00171CH   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
+00171DH   00172EH   000012H   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
+00172FH   001748H   00001AH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
+001749H   00175AH   000012H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+00175BH   0017E8H   00008EH   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
+0017E9H   001803H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
+001804H   00181EH   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_SYSTEMKEY?KB_PROCESS
+00181FH   001ACBH   0002ADH   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
+001ACCH   001AF0H   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
+001AF1H   001C46H   000156H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+001C47H   001E92H   00024CH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
+001E93H   001EA0H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+001EA1H   001ED0H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+001ED1H   001F1AH   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+001F1BH   001F70H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
+001F71H   00201AH   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
+00201BH   00204EH   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPU?KEYSCAN
+00204FH   0021ACH   00015EH   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+0021ADH   0021B5H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+0021B6H   0021B7H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+0021B8H   0021C7H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+0021C8H   00220BH   000044H   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
+00220CH   0022D6H   0000CBH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+0022D7H   00239AH   0000C4H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+00239BH   0024A3H   000109H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+0024A4H   0024FDH   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+0024FEH   00254DH   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+00254EH   002553H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+002554H   00255AH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+00255BH   00259EH   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+00259FH   0025CBH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+0025CCH   00260AH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+00260BH   00263EH   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
@@ -375,38 +376,38 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       010005B1H   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      01001E9BH   CODE     ---       _array_is_empty
-      01001ECBH   CODE     ---       _compare_str
+      01001EA1H   CODE     ---       _array_is_empty
+      01001ED1H   CODE     ---       _compare_str
       01000FDCH   CODE     ---       _Delay1ms
-      01002561H   CODE     ---       _dmemcpy
-      010025D2H   CODE     ---       _GPIO_ClearWakeup
-      0100170EH   CODE     ---       _GPIO_FlipOutBit
-      010015F4H   CODE     ---       _GPIO_GetInputStatus
+      0100255BH   CODE     ---       _dmemcpy
+      010025CCH   CODE     ---       _GPIO_ClearWakeup
+      01001701H   CODE     ---       _GPIO_FlipOutBit
+      010015E7H   CODE     ---       _GPIO_GetInputStatus
       01000811H   CODE     ---       _GPIO_SetInput
       01000841H   CODE     ---       _GPIO_Setoe
       0100077DH   CODE     ---       _GPIO_Setout
       010007B5H   CODE     ---       _GPIO_SetOutput
       01000830H   CODE     ---       _GPIO_SetPd
       010007D1H   CODE     ---       _GPIO_SetPu
-      01001547H   CODE     ---       _GPIO_SetWakeup
-      01001534H   CODE     ---       _GPIO_SetWakeupByCurrentState
+      0100153AH   CODE     ---       _GPIO_SetWakeup
+      01001527H   CODE     ---       _GPIO_SetWakeupByCurrentState
       010010CEH   CODE     ---       _IIC_Read
       01001291H   CODE     ---       _IIC_write
       0100132CH   CODE     ---       _IIC_WriteBlock
-      010015E7H   CODE     ---       _IPC_Initialize
+      010015DAH   CODE     ---       _IPC_Initialize
       01000E60H   CODE     ---       _IPC_Tx24GData
       01000F61H   CODE     ---       _IPC_TxControlCmd
       01000E66H   CODE     ---       _IPC_TxData
       01000906H   CODE     ---       _IPC_TxHidData
-      01001AC6H   CODE     ---       _kb_combination_key_press
+      01001ACCH   CODE     ---       _kb_combination_key_press
       010009B9H   CODE     ---       _kb_motion_keyscan
-      01001816H   CODE     ---       _kb_multikey_setup
+      0100181FH   CODE     ---       _kb_multikey_setup
       01000D34H   CODE     ---       _kb_send_combination_key
-      010017E0H   CODE     ---       _kb_set_multikey
-      010017FBH   CODE     ---       _kb_set_systemkey
-      01001AEBH   CODE     ---       _key_fn_function
+      010017E9H   CODE     ---       _kb_set_multikey
+      01001804H   CODE     ---       _kb_set_systemkey
+      01001AF1H   CODE     ---       _key_fn_function
       01000C7EH   CODE     ---       _xmemclear
-      010025A5H   CODE     ---       _xmemclear_ff
+      0100259FH   CODE     ---       _xmemclear_ff
       01000F1EH   CODE     ---       _xmemcpy
       0100101DH   CODE     ---       _YC_key_action_handle
       02004DE5H   XDATA    BYTE      action_timeout
@@ -424,27 +425,28 @@
       02004DD3H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD0H   XDATA    BYTE      get_24g_led_send
-      01001768H   CODE     ---       GPIO_fillpd
+      0100260BH   CODE     ---       GPIO_fillpd
+      0100201BH   CODE     ---       GPIO_fillpu
       02004800H   XDATA    ---       hidBuff
       02004DDAH   XDATA    BYTE      iOS_rec_pinCode
-      01001702H   CODE     ---       IPC_AbandonLpm
-      01001639H   CODE     ---       IPC_DealSingleStep
-      01002554H   CODE     ---       IPC_GetBBDIsconnectReason
+      010016F5H   CODE     ---       IPC_AbandonLpm
+      0100162CH   CODE     ---       IPC_DealSingleStep
+      0100254EH   CODE     ---       IPC_GetBBDIsconnectReason
       01000FC4H   CODE     ---       IPC_IsTxBuffEmpty
-      010015D3H   CODE     ---       IPC_WaitLpm
+      010015C6H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
       02000C4BH   XDATA    ---       ipcReadBuff
       02000BE7H   XDATA    ---       ipcSendBuff
       01000E24H   CODE     ---       kb_24g_get_led_status
-      0100218EH   CODE     ---       kb_button_press_timer500ms
+      0100175BH   CODE     ---       kb_button_press_timer500ms
       01000D6EH   CODE     ---       kb_need_keyscan
       02004DE1H   XDATA    BYTE      key_value_temp
       02004DDDH   XDATA    BYTE      keyCount
-      01001C41H   CODE     ---       KS_GetCurrentEvt
+      01001C47H   CODE     ---       KS_GetCurrentEvt
       010007E7H   CODE     ---       KS_Initialize
-      01002015H   CODE     ---       KS_ScanMatrix
-      0100149CH   CODE     ---       KS_Unistall
+      0100204FH   CODE     ---       KS_ScanMatrix
+      0100148EH   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
       02004E3FH   XDATA    ---       ksEvtPool
       01000621H   CONST    ---       ksMap
@@ -455,7 +457,7 @@
       02004DD2H   XDATA    BYTE      le_pin_code_len
       0100079FH   CODE     ---       LED_all_shutdown
       010006CFH   CODE     ---       LED_handle
-      0100172AH   CODE     ---       LED_timer500ms
+      0100171DH   CODE     ---       LED_timer500ms
       02004DD5H   XDATA    BYTE      long_press_flag
       02000B7FH   XDATA    BYTE      lpm_flag
       02004C00H   XDATA    ---       m_24g_addr
@@ -485,7 +487,7 @@
       02008010H   XDATA    BYTE      m_reset_reg
       020047F4H   XDATA    WORD      m_ui_state_map
       02000B81H   XDATA    BYTE      m_wakup_from_power_flag
-      01001700H   CODE     ---       main
+      010016F3H   CODE     ---       main
       02004DE7H   XDATA    BYTE      mult_key_status
       02004DE6H   XDATA    BYTE      mult_key_value
       02004DE8H   XDATA    ---       multikey
@@ -498,22 +500,22 @@
       02004DD4H   XDATA    BYTE      switch_role_timer
       02004DE2H   XDATA    BYTE      system_key_press
       0100078FH   CODE     ---       System_long_sleep
-      0100217CH   CODE     ---       System_Reset_Connect
+      010021B6H   CODE     ---       System_Reset_Connect
       0100126BH   CODE     ---       System_Software_init
-      010023A1H   CODE     ---       YC_adc_check
-      01001756H   CODE     ---       YC_adc_check_timer500ms
-      010022E8H   CODE     ---       YC_adc_init
+      0100239BH   CODE     ---       YC_adc_check
+      01001749H   CODE     ---       YC_adc_check_timer500ms
+      010022D7H   CODE     ---       YC_adc_init
       010006C2H   CODE     ---       YC_check_is_connected
       010008D0H   CODE     ---       YC_check_need_reconnected
       01000FF4H   CODE     ---       YC_clear_reconnect_flag
-      0100179CH   CODE     ---       YC_connect_timeout_500ms
+      010021C8H   CODE     ---       YC_connect_timeout_500ms
       01000FADH   CODE     ---       YC_disconnect_all_link
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      0100255AH   CODE     ---       YC_Ice_break
+      01002554H   CODE     ---       YC_Ice_break
       01000F8BH   CODE     ---       YC_pairing_timerout_500ms
       01000FFAH   CODE     ---       YC_start_reconnect
-      0100143EH   CODE     ---       YC_System_Main
+      01001430H   CODE     ---       YC_System_Main
       010013DAH   CODE     ---       YC_update_eeprom_data
 
 
@@ -606,14 +608,12 @@
       010013E0H   LINE      ---      ---       #74
       010013E0H   LINE      ---      ---       #76
       010013F5H   LINE      ---      ---       #80
-      010013FCH   LINE      ---      ---       #81
-      0100140CH   LINE      ---      ---       #82
-      0100141CH   LINE      ---      ---       #83
-      0100142CH   LINE      ---      ---       #84
-      01001433H   LINE      ---      ---       #85
-      01001438H   LINE      ---      ---       #86
-      0100143DH   LINE      ---      ---       #87
-      0100143DH   LINE      ---      ---       #88
+      01001405H   LINE      ---      ---       #81
+      01001415H   LINE      ---      ---       #82
+      01001425H   LINE      ---      ---       #83
+      0100142AH   LINE      ---      ---       #84
+      0100142FH   LINE      ---      ---       #85
+      0100142FH   LINE      ---      ---       #86
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       GLOBAL_VARIABLE
@@ -679,15 +679,15 @@
       0100060CH   PUBLIC    CONST    ---       col
 
       ---         MODULE    ---      ---       KB_PROCESS
-      01001816H   PUBLIC    CODE     ---       _kb_multikey_setup
-      01001AEBH   PUBLIC    CODE     ---       _key_fn_function
-      01001AC6H   PUBLIC    CODE     ---       _kb_combination_key_press
+      0100181FH   PUBLIC    CODE     ---       _kb_multikey_setup
+      01001AF1H   PUBLIC    CODE     ---       _key_fn_function
+      01001ACCH   PUBLIC    CODE     ---       _kb_combination_key_press
       010009B9H   PUBLIC    CODE     ---       _kb_motion_keyscan
       01000D6EH   PUBLIC    CODE     ---       kb_need_keyscan
       01000E24H   PUBLIC    CODE     ---       kb_24g_get_led_status
       01000D34H   PUBLIC    CODE     ---       _kb_send_combination_key
-      010017FBH   PUBLIC    CODE     ---       _kb_set_systemkey
-      010017E0H   PUBLIC    CODE     ---       _kb_set_multikey
+      01001804H   PUBLIC    CODE     ---       _kb_set_systemkey
+      010017E9H   PUBLIC    CODE     ---       _kb_set_multikey
       01000906H   PUBLIC    CODE     ---       _IPC_TxHidData
       0100101DH   PUBLIC    CODE     ---       _YC_key_action_handle
 
@@ -787,30 +787,30 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010017E0H   BLOCK     CODE     ---       LVL=0
-      010017E0H   LINE      ---      ---       #105
-      010017E4H   LINE      ---      ---       #106
-      010017E4H   LINE      ---      ---       #107
-      010017ECH   LINE      ---      ---       #108
-      010017ECH   LINE      ---      ---       #109
-      010017EFH   LINE      ---      ---       #110
-      010017F4H   LINE      ---      ---       #111
-      010017F7H   LINE      ---      ---       #112
-      010017FAH   LINE      ---      ---       #113
-      010017FAH   LINE      ---      ---       #114
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017FBH   BLOCK     CODE     ---       LVL=0
-      010017FBH   LINE      ---      ---       #117
-      010017FBH   LINE      ---      ---       #118
-      010017FBH   LINE      ---      ---       #119
-      01001803H   LINE      ---      ---       #120
-      01001803H   LINE      ---      ---       #121
-      01001806H   LINE      ---      ---       #122
-      0100180CH   LINE      ---      ---       #123
-      01001812H   LINE      ---      ---       #124
-      01001815H   LINE      ---      ---       #125
-      01001815H   LINE      ---      ---       #126
+      010017E9H   BLOCK     CODE     ---       LVL=0
+      010017E9H   LINE      ---      ---       #105
+      010017EDH   LINE      ---      ---       #106
+      010017EDH   LINE      ---      ---       #107
+      010017F5H   LINE      ---      ---       #108
+      010017F5H   LINE      ---      ---       #109
+      010017F8H   LINE      ---      ---       #110
+      010017FDH   LINE      ---      ---       #111
+      01001800H   LINE      ---      ---       #112
+      01001803H   LINE      ---      ---       #113
+      01001803H   LINE      ---      ---       #114
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001804H   BLOCK     CODE     ---       LVL=0
+      01001804H   LINE      ---      ---       #117
+      01001804H   LINE      ---      ---       #118
+      01001804H   LINE      ---      ---       #119
+      0100180CH   LINE      ---      ---       #120
+      0100180CH   LINE      ---      ---       #121
+      0100180FH   LINE      ---      ---       #122
+      01001815H   LINE      ---      ---       #123
+      0100181BH   LINE      ---      ---       #124
+      0100181EH   LINE      ---      ---       #125
+      0100181EH   LINE      ---      ---       #126
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000D34H   BLOCK     CODE     ---       LVL=0
@@ -1007,320 +1007,321 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001AC6H   BLOCK     CODE     ---       LVL=0
-      01001AC6H   LINE      ---      ---       #379
-      01001AC6H   LINE      ---      ---       #380
-      01001AC6H   LINE      ---      ---       #381
-      01001ACBH   LINE      ---      ---       #382
-      01001ACEH   LINE      ---      ---       #384
-      01001AD2H   LINE      ---      ---       #385
-      01001AD2H   LINE      ---      ---       #386
-      01001AD9H   LINE      ---      ---       #387
-      01001ADDH   LINE      ---      ---       #389
-      01001AE3H   LINE      ---      ---       #390
-      01001AE4H   LINE      ---      ---       #392
-      01001AE4H   LINE      ---      ---       #393
-      01001AEAH   LINE      ---      ---       #394
-      01001AEAH   LINE      ---      ---       #396
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001AEBH   BLOCK     CODE     ---       LVL=0
-      01001AEBH   LINE      ---      ---       #399
-      01001AEDH   LINE      ---      ---       #400
-      01001AEDH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001AEDH   LINE      ---      ---       #401
-      01001AF2H   LINE      ---      ---       #403
-      01001AF6H   LINE      ---      ---       #404
-      01001AFBH   LINE      ---      ---       #406
-      01001B00H   LINE      ---      ---       #407
-      01001B08H   LINE      ---      ---       #408
-      01001B08H   LINE      ---      ---       #409
-      01001B0CH   LINE      ---      ---       #410
-      01001B0CH   LINE      ---      ---       #411
-      01001B10H   LINE      ---      ---       #412
-      01001B10H   LINE      ---      ---       #413
-      01001B16H   LINE      ---      ---       #414
-      01001B16H   LINE      ---      ---       #415
-      01001B18H   LINE      ---      ---       #416
-      01001B1AH   LINE      ---      ---       #418
-      01001B20H   LINE      ---      ---       #421
-      01001B26H   LINE      ---      ---       #423
-      01001B26H   LINE      ---      ---       #424
-      01001B2BH   LINE      ---      ---       #425
-      01001B2BH   LINE      ---      ---       #426
-      01001B2BH   LINE      ---      ---       #428
-      01001B4AH   LINE      ---      ---       #429
-      01001B4AH   LINE      ---      ---       #431
-      01001B86H   LINE      ---      ---       #432
-      01001B86H   LINE      ---      ---       #433
-      01001B86H   LINE      ---      ---       #434
-      01001B8CH   LINE      ---      ---       #435
-      01001B8EH   LINE      ---      ---       #436
-      01001B8EH   LINE      ---      ---       #437
-      01001B94H   LINE      ---      ---       #438
-      01001B96H   LINE      ---      ---       #439
-      01001B96H   LINE      ---      ---       #440
-      01001B9CH   LINE      ---      ---       #441
-      01001B9EH   LINE      ---      ---       #442
-      01001B9EH   LINE      ---      ---       #443
-      01001BA4H   LINE      ---      ---       #444
-      01001BA6H   LINE      ---      ---       #445
-      01001BA6H   LINE      ---      ---       #446
-      01001BAEH   LINE      ---      ---       #447
-      01001BB3H   LINE      ---      ---       #448
-      01001BB9H   LINE      ---      ---       #449
-      01001BB9H   LINE      ---      ---       #450
-      01001BBFH   LINE      ---      ---       #451
-      01001BBFH   LINE      ---      ---       #452
-      01001BC1H   LINE      ---      ---       #453
-      01001BC1H   LINE      ---      ---       #454
-      01001BC9H   LINE      ---      ---       #455
-      01001BCEH   LINE      ---      ---       #456
-      01001BD2H   LINE      ---      ---       #457
-      01001BD2H   LINE      ---      ---       #458
-      01001BD8H   LINE      ---      ---       #459
-      01001BD8H   LINE      ---      ---       #460
-      01001BDAH   LINE      ---      ---       #461
-      01001BDAH   LINE      ---      ---       #462
-      01001BE2H   LINE      ---      ---       #463
-      01001BE7H   LINE      ---      ---       #464
-      01001BEBH   LINE      ---      ---       #465
-      01001BEBH   LINE      ---      ---       #466
-      01001BF1H   LINE      ---      ---       #467
-      01001BF1H   LINE      ---      ---       #468
-      01001BF3H   LINE      ---      ---       #469
-      01001BF3H   LINE      ---      ---       #470
-      01001BFBH   LINE      ---      ---       #471
-      01001C00H   LINE      ---      ---       #472
-      01001C04H   LINE      ---      ---       #473
-      01001C04H   LINE      ---      ---       #474
-      01001C0AH   LINE      ---      ---       #475
-      01001C0AH   LINE      ---      ---       #476
-      01001C0CH   LINE      ---      ---       #477
-      01001C0CH   LINE      ---      ---       #478
-      01001C12H   LINE      ---      ---       #479
-      01001C14H   LINE      ---      ---       #480
-      01001C14H   LINE      ---      ---       #481
-      01001C1AH   LINE      ---      ---       #482
-      01001C1CH   LINE      ---      ---       #483
-      01001C1CH   LINE      ---      ---       #484
-      01001C24H   LINE      ---      ---       #485
-      01001C29H   LINE      ---      ---       #486
-      01001C2DH   LINE      ---      ---       #487
-      01001C2DH   LINE      ---      ---       #488
-      01001C33H   LINE      ---      ---       #489
-      01001C33H   LINE      ---      ---       #490
-      01001C35H   LINE      ---      ---       #491
-      01001C35H   LINE      ---      ---       #492
-      01001C3BH   LINE      ---      ---       #493
-      01001C3BH   LINE      ---      ---       #494
-      01001C3BH   LINE      ---      ---       #495
-      01001C3BH   LINE      ---      ---       #496
-      01001C3BH   LINE      ---      ---       #497
-      01001C3BH   LINE      ---      ---       #499
-      01001C40H   LINE      ---      ---       #500
+      01001ACCH   BLOCK     CODE     ---       LVL=0
+      01001ACCH   LINE      ---      ---       #379
+      01001ACCH   LINE      ---      ---       #380
+      01001ACCH   LINE      ---      ---       #381
+      01001AD1H   LINE      ---      ---       #382
+      01001AD4H   LINE      ---      ---       #384
+      01001AD8H   LINE      ---      ---       #385
+      01001AD8H   LINE      ---      ---       #386
+      01001ADFH   LINE      ---      ---       #387
+      01001AE3H   LINE      ---      ---       #389
+      01001AE9H   LINE      ---      ---       #390
+      01001AEAH   LINE      ---      ---       #392
+      01001AEAH   LINE      ---      ---       #393
+      01001AF0H   LINE      ---      ---       #394
+      01001AF0H   LINE      ---      ---       #396
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AF1H   BLOCK     CODE     ---       LVL=0
+      01001AF1H   LINE      ---      ---       #399
+      01001AF3H   LINE      ---      ---       #400
+      01001AF3H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001AF3H   LINE      ---      ---       #401
+      01001AF8H   LINE      ---      ---       #403
+      01001AFCH   LINE      ---      ---       #404
+      01001B01H   LINE      ---      ---       #406
+      01001B06H   LINE      ---      ---       #407
+      01001B0EH   LINE      ---      ---       #408
+      01001B0EH   LINE      ---      ---       #409
+      01001B12H   LINE      ---      ---       #410
+      01001B12H   LINE      ---      ---       #411
+      01001B16H   LINE      ---      ---       #412
+      01001B16H   LINE      ---      ---       #413
+      01001B1CH   LINE      ---      ---       #414
+      01001B1CH   LINE      ---      ---       #415
+      01001B1EH   LINE      ---      ---       #416
+      01001B20H   LINE      ---      ---       #418
+      01001B26H   LINE      ---      ---       #421
+      01001B2CH   LINE      ---      ---       #423
+      01001B2CH   LINE      ---      ---       #424
+      01001B31H   LINE      ---      ---       #425
+      01001B31H   LINE      ---      ---       #426
+      01001B31H   LINE      ---      ---       #428
+      01001B50H   LINE      ---      ---       #429
+      01001B50H   LINE      ---      ---       #431
+      01001B8CH   LINE      ---      ---       #432
+      01001B8CH   LINE      ---      ---       #433
+      01001B8CH   LINE      ---      ---       #434
+      01001B92H   LINE      ---      ---       #435
+      01001B94H   LINE      ---      ---       #436
+      01001B94H   LINE      ---      ---       #437
+      01001B9AH   LINE      ---      ---       #438
+      01001B9CH   LINE      ---      ---       #439
+      01001B9CH   LINE      ---      ---       #440
+      01001BA2H   LINE      ---      ---       #441
+      01001BA4H   LINE      ---      ---       #442
+      01001BA4H   LINE      ---      ---       #443
+      01001BAAH   LINE      ---      ---       #444
+      01001BACH   LINE      ---      ---       #445
+      01001BACH   LINE      ---      ---       #446
+      01001BB4H   LINE      ---      ---       #447
+      01001BB9H   LINE      ---      ---       #448
+      01001BBFH   LINE      ---      ---       #449
+      01001BBFH   LINE      ---      ---       #450
+      01001BC5H   LINE      ---      ---       #451
+      01001BC5H   LINE      ---      ---       #452
+      01001BC7H   LINE      ---      ---       #453
+      01001BC7H   LINE      ---      ---       #454
+      01001BCFH   LINE      ---      ---       #455
+      01001BD4H   LINE      ---      ---       #456
+      01001BD8H   LINE      ---      ---       #457
+      01001BD8H   LINE      ---      ---       #458
+      01001BDEH   LINE      ---      ---       #459
+      01001BDEH   LINE      ---      ---       #460
+      01001BE0H   LINE      ---      ---       #461
+      01001BE0H   LINE      ---      ---       #462
+      01001BE8H   LINE      ---      ---       #463
+      01001BEDH   LINE      ---      ---       #464
+      01001BF1H   LINE      ---      ---       #465
+      01001BF1H   LINE      ---      ---       #466
+      01001BF7H   LINE      ---      ---       #467
+      01001BF7H   LINE      ---      ---       #468
+      01001BF9H   LINE      ---      ---       #469
+      01001BF9H   LINE      ---      ---       #470
+      01001C01H   LINE      ---      ---       #471
+      01001C06H   LINE      ---      ---       #472
+      01001C0AH   LINE      ---      ---       #473
+      01001C0AH   LINE      ---      ---       #474
+      01001C10H   LINE      ---      ---       #475
+      01001C10H   LINE      ---      ---       #476
+      01001C12H   LINE      ---      ---       #477
+      01001C12H   LINE      ---      ---       #478
+      01001C18H   LINE      ---      ---       #479
+      01001C1AH   LINE      ---      ---       #480
+      01001C1AH   LINE      ---      ---       #481
+      01001C20H   LINE      ---      ---       #482
+      01001C22H   LINE      ---      ---       #483
+      01001C22H   LINE      ---      ---       #484
+      01001C2AH   LINE      ---      ---       #485
+      01001C2FH   LINE      ---      ---       #486
+      01001C33H   LINE      ---      ---       #487
+      01001C33H   LINE      ---      ---       #488
+      01001C39H   LINE      ---      ---       #489
+      01001C39H   LINE      ---      ---       #490
+      01001C3BH   LINE      ---      ---       #491
+      01001C3BH   LINE      ---      ---       #492
+      01001C41H   LINE      ---      ---       #493
+      01001C41H   LINE      ---      ---       #494
+      01001C41H   LINE      ---      ---       #495
+      01001C41H   LINE      ---      ---       #496
+      01001C41H   LINE      ---      ---       #497
+      01001C41H   LINE      ---      ---       #499
+      01001C46H   LINE      ---      ---       #500
       02004E97H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001816H   BLOCK     CODE     ---       LVL=0
-      01001816H   LINE      ---      ---       #504
-      01001821H   LINE      ---      ---       #505
-      01001821H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001821H   LINE      ---      ---       #506
-      01001824H   LINE      ---      ---       #508
-      01001831H   LINE      ---      ---       #509
-      01001831H   LINE      ---      ---       #510
-      0100185CH   LINE      ---      ---       #512
-      0100185CH   LINE      ---      ---       #513
-      01001863H   LINE      ---      ---       #514
-      01001863H   LINE      ---      ---       #515
-      0100186AH   LINE      ---      ---       #516
-      0100186CH   LINE      ---      ---       #517
-      01001870H   LINE      ---      ---       #518
-      01001870H   LINE      ---      ---       #519
-      01001877H   LINE      ---      ---       #520
-      01001879H   LINE      ---      ---       #521
-      01001899H   LINE      ---      ---       #522
-      01001899H   LINE      ---      ---       #523
-      0100189EH   LINE      ---      ---       #524
-      010018A0H   LINE      ---      ---       #525
-      010018A4H   LINE      ---      ---       #526
-      010018A4H   LINE      ---      ---       #527
-      010018ABH   LINE      ---      ---       #528
-      010018ADH   LINE      ---      ---       #529
-      010018CDH   LINE      ---      ---       #530
-      010018CDH   LINE      ---      ---       #531
-      010018D2H   LINE      ---      ---       #532
-      010018D4H   LINE      ---      ---       #533
-      010018D8H   LINE      ---      ---       #534
-      010018D8H   LINE      ---      ---       #535
-      010018DFH   LINE      ---      ---       #536
-      010018E1H   LINE      ---      ---       #537
-      01001901H   LINE      ---      ---       #538
-      01001901H   LINE      ---      ---       #539
-      01001906H   LINE      ---      ---       #540
-      01001908H   LINE      ---      ---       #541
-      0100190CH   LINE      ---      ---       #542
-      0100190CH   LINE      ---      ---       #543
-      01001913H   LINE      ---      ---       #544
-      01001915H   LINE      ---      ---       #545
-      01001935H   LINE      ---      ---       #546
-      01001935H   LINE      ---      ---       #547
-      0100193BH   LINE      ---      ---       #548
-      0100193DH   LINE      ---      ---       #549
-      01001941H   LINE      ---      ---       #550
-      01001941H   LINE      ---      ---       #551
-      01001948H   LINE      ---      ---       #552
-      0100194AH   LINE      ---      ---       #553
-      0100196AH   LINE      ---      ---       #554
-      0100196AH   LINE      ---      ---       #555
-      01001970H   LINE      ---      ---       #556
-      01001972H   LINE      ---      ---       #557
-      01001976H   LINE      ---      ---       #558
-      01001976H   LINE      ---      ---       #559
-      0100197DH   LINE      ---      ---       #560
-      0100197FH   LINE      ---      ---       #561
-      0100199FH   LINE      ---      ---       #562
-      0100199FH   LINE      ---      ---       #563
-      010019A6H   LINE      ---      ---       #564
-      010019A8H   LINE      ---      ---       #565
-      010019ACH   LINE      ---      ---       #566
-      010019ACH   LINE      ---      ---       #567
-      010019B3H   LINE      ---      ---       #568
-      010019B5H   LINE      ---      ---       #569
-      010019D5H   LINE      ---      ---       #570
-      010019D5H   LINE      ---      ---       #571
-      010019DCH   LINE      ---      ---       #572
-      010019DEH   LINE      ---      ---       #573
-      010019E2H   LINE      ---      ---       #574
-      010019E2H   LINE      ---      ---       #575
-      010019E9H   LINE      ---      ---       #576
-      010019EBH   LINE      ---      ---       #578
-      01001A0BH   LINE      ---      ---       #579
-      01001A0BH   LINE      ---      ---       #580
-      01001A12H   LINE      ---      ---       #581
-      01001A14H   LINE      ---      ---       #582
-      01001A18H   LINE      ---      ---       #583
-      01001A18H   LINE      ---      ---       #584
-      01001A1FH   LINE      ---      ---       #585
-      01001A21H   LINE      ---      ---       #586
-      01001A41H   LINE      ---      ---       #587
-      01001A41H   LINE      ---      ---       #588
-      01001A46H   LINE      ---      ---       #589
-      01001A48H   LINE      ---      ---       #590
-      01001A4CH   LINE      ---      ---       #591
-      01001A4CH   LINE      ---      ---       #592
-      01001A53H   LINE      ---      ---       #593
-      01001A55H   LINE      ---      ---       #595
-      01001A75H   LINE      ---      ---       #596
-      01001A75H   LINE      ---      ---       #597
-      01001A7AH   LINE      ---      ---       #598
-      01001A7CH   LINE      ---      ---       #599
-      01001A80H   LINE      ---      ---       #600
-      01001A80H   LINE      ---      ---       #601
-      01001A85H   LINE      ---      ---       #602
-      01001A87H   LINE      ---      ---       #603
-      01001A8DH   LINE      ---      ---       #604
-      01001A8DH   LINE      ---      ---       #605
-      01001A92H   LINE      ---      ---       #606
-      01001A92H   LINE      ---      ---       #609
-      01001A99H   LINE      ---      ---       #610
-      01001A99H   LINE      ---      ---       #611
-      01001AB9H   LINE      ---      ---       #612
-      01001ABDH   LINE      ---      ---       #613
-      01001ABDH   LINE      ---      ---       #614
-      01001ABDH   LINE      ---      ---       #615
-      01001AC5H   LINE      ---      ---       #616
+      0100181FH   BLOCK     CODE     ---       LVL=0
+      0100181FH   LINE      ---      ---       #504
+      0100182AH   LINE      ---      ---       #505
+      0100182AH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100182AH   LINE      ---      ---       #506
+      0100182DH   LINE      ---      ---       #508
+      0100183AH   LINE      ---      ---       #509
+      0100183AH   LINE      ---      ---       #510
+      01001865H   LINE      ---      ---       #512
+      01001865H   LINE      ---      ---       #513
+      0100186CH   LINE      ---      ---       #514
+      0100186CH   LINE      ---      ---       #515
+      01001873H   LINE      ---      ---       #516
+      01001875H   LINE      ---      ---       #517
+      01001879H   LINE      ---      ---       #518
+      01001879H   LINE      ---      ---       #519
+      01001880H   LINE      ---      ---       #520
+      01001882H   LINE      ---      ---       #521
+      010018A2H   LINE      ---      ---       #522
+      010018A2H   LINE      ---      ---       #523
+      010018A7H   LINE      ---      ---       #524
+      010018A9H   LINE      ---      ---       #525
+      010018ADH   LINE      ---      ---       #526
+      010018ADH   LINE      ---      ---       #527
+      010018B4H   LINE      ---      ---       #528
+      010018B6H   LINE      ---      ---       #529
+      010018D6H   LINE      ---      ---       #530
+      010018D6H   LINE      ---      ---       #531
+      010018DBH   LINE      ---      ---       #532
+      010018DDH   LINE      ---      ---       #533
+      010018E1H   LINE      ---      ---       #534
+      010018E1H   LINE      ---      ---       #535
+      010018E8H   LINE      ---      ---       #536
+      010018EAH   LINE      ---      ---       #537
+      0100190AH   LINE      ---      ---       #538
+      0100190AH   LINE      ---      ---       #539
+      0100190FH   LINE      ---      ---       #540
+      01001911H   LINE      ---      ---       #541
+      01001915H   LINE      ---      ---       #542
+      01001915H   LINE      ---      ---       #543
+      0100191CH   LINE      ---      ---       #544
+      0100191EH   LINE      ---      ---       #545
+      0100193EH   LINE      ---      ---       #546
+      0100193EH   LINE      ---      ---       #547
+      01001944H   LINE      ---      ---       #548
+      01001946H   LINE      ---      ---       #549
+      0100194AH   LINE      ---      ---       #550
+      0100194AH   LINE      ---      ---       #551
+      01001951H   LINE      ---      ---       #552
+      01001953H   LINE      ---      ---       #553
+      01001973H   LINE      ---      ---       #554
+      01001973H   LINE      ---      ---       #555
+      01001979H   LINE      ---      ---       #556
+      0100197BH   LINE      ---      ---       #557
+      0100197FH   LINE      ---      ---       #558
+      0100197FH   LINE      ---      ---       #559
+      01001986H   LINE      ---      ---       #560
+      01001988H   LINE      ---      ---       #561
+      010019A8H   LINE      ---      ---       #562
+      010019A8H   LINE      ---      ---       #563
+      010019AFH   LINE      ---      ---       #564
+      010019B1H   LINE      ---      ---       #565
+      010019B5H   LINE      ---      ---       #566
+      010019B5H   LINE      ---      ---       #567
+      010019BCH   LINE      ---      ---       #568
+      010019BEH   LINE      ---      ---       #569
+      010019DEH   LINE      ---      ---       #570
+      010019DEH   LINE      ---      ---       #571
+      010019E5H   LINE      ---      ---       #572
+      010019E7H   LINE      ---      ---       #573
+      010019EBH   LINE      ---      ---       #574
+      010019EBH   LINE      ---      ---       #575
+      010019F2H   LINE      ---      ---       #576
+      010019F4H   LINE      ---      ---       #578
+      01001A14H   LINE      ---      ---       #579
+      01001A14H   LINE      ---      ---       #580
+      01001A1BH   LINE      ---      ---       #581
+      01001A1DH   LINE      ---      ---       #582
+      01001A21H   LINE      ---      ---       #583
+      01001A21H   LINE      ---      ---       #584
+      01001A28H   LINE      ---      ---       #585
+      01001A2AH   LINE      ---      ---       #586
+      01001A4AH   LINE      ---      ---       #587
+      01001A4AH   LINE      ---      ---       #588
+      01001A4FH   LINE      ---      ---       #589
+      01001A51H   LINE      ---      ---       #590
+      01001A55H   LINE      ---      ---       #591
+      01001A55H   LINE      ---      ---       #592
+      01001A5CH   LINE      ---      ---       #593
+      01001A5EH   LINE      ---      ---       #595
+      01001A7EH   LINE      ---      ---       #596
+      01001A7EH   LINE      ---      ---       #597
+      01001A82H   LINE      ---      ---       #598
+      01001A84H   LINE      ---      ---       #599
+      01001A88H   LINE      ---      ---       #600
+      01001A88H   LINE      ---      ---       #601
+      01001A8CH   LINE      ---      ---       #602
+      01001A8EH   LINE      ---      ---       #603
+      01001A94H   LINE      ---      ---       #604
+      01001A94H   LINE      ---      ---       #605
+      01001A98H   LINE      ---      ---       #606
+      01001A98H   LINE      ---      ---       #609
+      01001A9FH   LINE      ---      ---       #610
+      01001A9FH   LINE      ---      ---       #611
+      01001ABFH   LINE      ---      ---       #612
+      01001AC3H   LINE      ---      ---       #613
+      01001AC3H   LINE      ---      ---       #614
+      01001AC3H   LINE      ---      ---       #615
+      01001ACBH   LINE      ---      ---       #616
       02004E72H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
       02004E3FH   PUBLIC    XDATA    ---       ksEvtPool
-      01001C41H   PUBLIC    CODE     ---       KS_GetCurrentEvt
-      01001E9BH   PUBLIC    CODE     ---       _array_is_empty
-      01002015H   PUBLIC    CODE     ---       KS_ScanMatrix
-      0100149CH   PUBLIC    CODE     ---       KS_Unistall
+      01001C47H   PUBLIC    CODE     ---       KS_GetCurrentEvt
+      01001EA1H   PUBLIC    CODE     ---       _array_is_empty
+      0100204FH   PUBLIC    CODE     ---       KS_ScanMatrix
+      0100201BH   PUBLIC    CODE     ---       GPIO_fillpu
+      0100148EH   PUBLIC    CODE     ---       KS_Unistall
       010007E7H   PUBLIC    CODE     ---       KS_Initialize
 
-      01001E8DH   BLOCK     CODE     ---       LVL=0
-      01001E8DH   LINE      ---      ---       #24
-      01001E8DH   LINE      ---      ---       #25
-      01001E8DH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001E8DH   LINE      ---      ---       #27
-      01001E92H   LINE      ---      ---       #28
-      01001E95H   LINE      ---      ---       #29
-      01001E98H   LINE      ---      ---       #30
-      01001E9AH   LINE      ---      ---       #31
+      01001E93H   BLOCK     CODE     ---       LVL=0
+      01001E93H   LINE      ---      ---       #24
+      01001E93H   LINE      ---      ---       #25
+      01001E93H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001E93H   LINE      ---      ---       #27
+      01001E98H   LINE      ---      ---       #28
+      01001E9BH   LINE      ---      ---       #29
+      01001E9EH   LINE      ---      ---       #30
+      01001EA0H   LINE      ---      ---       #31
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001F15H   BLOCK     CODE     ---       LVL=0
-      01001F15H   LINE      ---      ---       #35
-      01001F15H   LINE      ---      ---       #36
-      01001F15H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001F15H   LINE      ---      ---       #37
-      01001F17H   LINE      ---      ---       #39
-      01001F23H   LINE      ---      ---       #40
-      01001F23H   LINE      ---      ---       #41
-      01001F3DH   LINE      ---      ---       #43
-      01001F3DH   LINE      ---      ---       #90
-      01001F3FH   LINE      ---      ---       #91
-      01001F3FH   LINE      ---      ---       #92
-      01001F4EH   LINE      ---      ---       #93
-      01001F4EH   LINE      ---      ---       #94
-      01001F51H   LINE      ---      ---       #95
-      01001F51H   LINE      ---      ---       #96
-      01001F58H   LINE      ---      ---       #97
-      01001F64H   LINE      ---      ---       #98
-      01001F65H   LINE      ---      ---       #99
-      01001F65H   LINE      ---      ---       #100
-      01001F6AH   LINE      ---      ---       #101
+      01001F1BH   BLOCK     CODE     ---       LVL=0
+      01001F1BH   LINE      ---      ---       #35
+      01001F1BH   LINE      ---      ---       #36
+      01001F1BH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001F1BH   LINE      ---      ---       #37
+      01001F1DH   LINE      ---      ---       #39
+      01001F29H   LINE      ---      ---       #40
+      01001F29H   LINE      ---      ---       #41
+      01001F43H   LINE      ---      ---       #43
+      01001F43H   LINE      ---      ---       #90
+      01001F45H   LINE      ---      ---       #91
+      01001F45H   LINE      ---      ---       #92
+      01001F54H   LINE      ---      ---       #93
+      01001F54H   LINE      ---      ---       #94
+      01001F57H   LINE      ---      ---       #95
+      01001F57H   LINE      ---      ---       #96
+      01001F5EH   LINE      ---      ---       #97
+      01001F6AH   LINE      ---      ---       #98
+      01001F6BH   LINE      ---      ---       #99
+      01001F6BH   LINE      ---      ---       #100
+      01001F70H   LINE      ---      ---       #101
       00000006H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001F6BH   BLOCK     CODE     ---       LVL=0
-      01001F6BH   LINE      ---      ---       #103
-      01001F6BH   LINE      ---      ---       #104
-      01001F6BH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001F6BH   LINE      ---      ---       #105
-      01001F6DH   LINE      ---      ---       #106
-      01001F6EH   LINE      ---      ---       #108
-      01001F7CH   LINE      ---      ---       #109
-      01001F7CH   LINE      ---      ---       #110
-      01001F83H   LINE      ---      ---       #111
-      01001F83H   LINE      ---      ---       #112
-      01001F86H   LINE      ---      ---       #113
-      01001F86H   LINE      ---      ---       #114
-      01001F88H   LINE      ---      ---       #116
-      01001F8EH   LINE      ---      ---       #118
-      01001F9AH   LINE      ---      ---       #119
-      01001F9AH   LINE      ---      ---       #120
-      01001FB5H   LINE      ---      ---       #122
-      01001FB5H   LINE      ---      ---       #166
-      01001FB7H   LINE      ---      ---       #167
-      01001FB7H   LINE      ---      ---       #168
-      01001FBAH   LINE      ---      ---       #169
-      01001FBAH   LINE      ---      ---       #170
-      01001FC8H   LINE      ---      ---       #171
-      01001FCCH   LINE      ---      ---       #172
-      01001FD7H   LINE      ---      ---       #173
-      01001FD7H   LINE      ---      ---       #174
-      01001FD9H   LINE      ---      ---       #175
-      01001FD9H   LINE      ---      ---       #176
-      01001FDBH   LINE      ---      ---       #178
-      01001FDBH   LINE      ---      ---       #179
-      01001FF3H   LINE      ---      ---       #180
-      01002000H   LINE      ---      ---       #181
-      01002000H   LINE      ---      ---       #182
-      01002004H   LINE      ---      ---       #183
-      0100200FH   LINE      ---      ---       #184
-      0100200FH   LINE      ---      ---       #185
-      0100200FH   LINE      ---      ---       #186
-      01002014H   LINE      ---      ---       #187
+      01001F71H   BLOCK     CODE     ---       LVL=0
+      01001F71H   LINE      ---      ---       #103
+      01001F71H   LINE      ---      ---       #104
+      01001F71H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001F71H   LINE      ---      ---       #105
+      01001F73H   LINE      ---      ---       #106
+      01001F74H   LINE      ---      ---       #108
+      01001F82H   LINE      ---      ---       #109
+      01001F82H   LINE      ---      ---       #110
+      01001F89H   LINE      ---      ---       #111
+      01001F89H   LINE      ---      ---       #112
+      01001F8CH   LINE      ---      ---       #113
+      01001F8CH   LINE      ---      ---       #114
+      01001F8EH   LINE      ---      ---       #116
+      01001F94H   LINE      ---      ---       #118
+      01001FA0H   LINE      ---      ---       #119
+      01001FA0H   LINE      ---      ---       #120
+      01001FBBH   LINE      ---      ---       #122
+      01001FBBH   LINE      ---      ---       #166
+      01001FBDH   LINE      ---      ---       #167
+      01001FBDH   LINE      ---      ---       #168
+      01001FC0H   LINE      ---      ---       #169
+      01001FC0H   LINE      ---      ---       #170
+      01001FCEH   LINE      ---      ---       #171
+      01001FD2H   LINE      ---      ---       #172
+      01001FDDH   LINE      ---      ---       #173
+      01001FDDH   LINE      ---      ---       #174
+      01001FDFH   LINE      ---      ---       #175
+      01001FDFH   LINE      ---      ---       #176
+      01001FE1H   LINE      ---      ---       #178
+      01001FE1H   LINE      ---      ---       #179
+      01001FF9H   LINE      ---      ---       #180
+      01002006H   LINE      ---      ---       #181
+      01002006H   LINE      ---      ---       #182
+      0100200AH   LINE      ---      ---       #183
+      01002015H   LINE      ---      ---       #184
+      01002015H   LINE      ---      ---       #185
+      01002015H   LINE      ---      ---       #186
+      0100201AH   LINE      ---      ---       #187
       00000006H   SYMBOL    DATA     VOID      i
       00000005H   SYMBOL    DATA     VOID      found
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -1361,41 +1362,41 @@
       010007F0H   LINE      ---      ---       #211
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100149CH   BLOCK     CODE     ---       LVL=0
-      0100149CH   LINE      ---      ---       #215
-      0100149CH   LINE      ---      ---       #216
-      0100149CH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100149CH   LINE      ---      ---       #217
-      0100149EH   LINE      ---      ---       #218
-      010014A2H   LINE      ---      ---       #219
-      010014A3H   LINE      ---      ---       #220
-      010014A4H   LINE      ---      ---       #221
-      010014ABH   LINE      ---      ---       #222
-      010014B4H   LINE      ---      ---       #223
-      010014C4H   LINE      ---      ---       #224
-      010014D7H   LINE      ---      ---       #225
-      010014E4H   LINE      ---      ---       #226
-      010014F1H   LINE      ---      ---       #227
-      010014F4H   LINE      ---      ---       #229
-      010014F6H   LINE      ---      ---       #231
-      010014FEH   LINE      ---      ---       #233
-      010014FEH   LINE      ---      ---       #234
-      01001504H   LINE      ---      ---       #235
-      01001504H   LINE      ---      ---       #236
-      01001508H   LINE      ---      ---       #237
-      0100150CH   LINE      ---      ---       #238
-      01001510H   LINE      ---      ---       #239
-      01001514H   LINE      ---      ---       #240
-      01001518H   LINE      ---      ---       #241
-      0100151CH   LINE      ---      ---       #242
-      01001520H   LINE      ---      ---       #243
-      01001524H   LINE      ---      ---       #244
-      01001524H   LINE      ---      ---       #246
-      01001524H   LINE      ---      ---       #247
-      0100152DH   LINE      ---      ---       #248
-      01001533H   LINE      ---      ---       #249
-      01001533H   LINE      ---      ---       #251
-      01001533H   LINE      ---      ---       #257
+      0100148EH   BLOCK     CODE     ---       LVL=0
+      0100148EH   LINE      ---      ---       #215
+      0100148EH   LINE      ---      ---       #216
+      0100148EH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100148EH   LINE      ---      ---       #217
+      01001490H   LINE      ---      ---       #218
+      01001494H   LINE      ---      ---       #219
+      01001495H   LINE      ---      ---       #220
+      01001496H   LINE      ---      ---       #221
+      0100149DH   LINE      ---      ---       #222
+      010014A6H   LINE      ---      ---       #223
+      010014B6H   LINE      ---      ---       #224
+      010014C9H   LINE      ---      ---       #225
+      010014D6H   LINE      ---      ---       #226
+      010014E3H   LINE      ---      ---       #227
+      010014E6H   LINE      ---      ---       #229
+      010014E9H   LINE      ---      ---       #231
+      010014F1H   LINE      ---      ---       #233
+      010014F1H   LINE      ---      ---       #234
+      010014F7H   LINE      ---      ---       #235
+      010014F7H   LINE      ---      ---       #236
+      010014FBH   LINE      ---      ---       #237
+      010014FFH   LINE      ---      ---       #238
+      01001503H   LINE      ---      ---       #239
+      01001507H   LINE      ---      ---       #240
+      0100150BH   LINE      ---      ---       #241
+      0100150FH   LINE      ---      ---       #242
+      01001513H   LINE      ---      ---       #243
+      01001517H   LINE      ---      ---       #244
+      01001517H   LINE      ---      ---       #246
+      01001517H   LINE      ---      ---       #247
+      01001520H   LINE      ---      ---       #248
+      01001526H   LINE      ---      ---       #249
+      01001526H   LINE      ---      ---       #251
+      01001526H   LINE      ---      ---       #257
       00000007H   SYMBOL    DATA     VOID      i
       02004E9AH   SYMBOL    XDATA    VOID      temp
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1403,32 +1404,43 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002015H   BLOCK     CODE     ---       LVL=0
-      01002015H   LINE      ---      ---       #260
-      01002015H   LINE      ---      ---       #261
-      01002015H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002015H   LINE      ---      ---       #262
-      01002017H   LINE      ---      ---       #263
-      0100201BH   LINE      ---      ---       #264
-      0100201CH   LINE      ---      ---       #265
-      0100201DH   LINE      ---      ---       #266
-      0100201FH   LINE      ---      ---       #267
-      01002021H   LINE      ---      ---       #268
-      01002028H   LINE      ---      ---       #269
-      01002031H   LINE      ---      ---       #270
-      01002041H   LINE      ---      ---       #271
-      010020A1H   LINE      ---      ---       #272
-      010020A4H   LINE      ---      ---       #274
-      010020ADH   LINE      ---      ---       #275
-      010020B6H   LINE      ---      ---       #276
-      010020C6H   LINE      ---      ---       #277
-      01002126H   LINE      ---      ---       #278
-      01002129H   LINE      ---      ---       #280
-      01002132H   LINE      ---      ---       #281
-      0100214CH   LINE      ---      ---       #282
-      0100216FH   LINE      ---      ---       #283
-      0100216FH   LINE      ---      ---       #284
-      01002172H   LINE      ---      ---       #285
+      0100201BH   BLOCK     CODE     ---       LVL=0
+      0100201BH   LINE      ---      ---       #259
+      0100201BH   LINE      ---      ---       #260
+      0100201BH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100201BH   LINE      ---      ---       #262
+      0100201DH   LINE      ---      ---       #263
+      0100204EH   LINE      ---      ---       #264
+      00000007H   SYMBOL    DATA     VOID      i
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100204FH   BLOCK     CODE     ---       LVL=0
+      0100204FH   LINE      ---      ---       #265
+      0100204FH   LINE      ---      ---       #266
+      0100204FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100204FH   LINE      ---      ---       #267
+      01002051H   LINE      ---      ---       #268
+      01002055H   LINE      ---      ---       #269
+      01002056H   LINE      ---      ---       #270
+      01002057H   LINE      ---      ---       #271
+      01002059H   LINE      ---      ---       #272
+      0100205BH   LINE      ---      ---       #273
+      01002062H   LINE      ---      ---       #274
+      0100206BH   LINE      ---      ---       #275
+      0100207BH   LINE      ---      ---       #276
+      010020DBH   LINE      ---      ---       #277
+      010020DEH   LINE      ---      ---       #279
+      010020E7H   LINE      ---      ---       #280
+      010020F0H   LINE      ---      ---       #281
+      01002100H   LINE      ---      ---       #282
+      01002160H   LINE      ---      ---       #283
+      01002163H   LINE      ---      ---       #285
+      0100216CH   LINE      ---      ---       #286
+      01002186H   LINE      ---      ---       #287
+      010021A9H   LINE      ---      ---       #288
+      010021A9H   LINE      ---      ---       #289
+      010021ACH   LINE      ---      ---       #290
       00000007H   SYMBOL    DATA     VOID      i
       02004E7EH   SYMBOL    XDATA    VOID      j
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1438,119 +1450,119 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001E9BH   BLOCK     CODE     ---       LVL=0
-      01001E9BH   LINE      ---      ---       #287
-      01001EA6H   LINE      ---      ---       #288
-      01001EA6H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001EA6H   LINE      ---      ---       #290
-      01001EADH   LINE      ---      ---       #291
-      01001EADH   LINE      ---      ---       #292
-      01001EC2H   LINE      ---      ---       #293
-      01001EC5H   LINE      ---      ---       #294
-      01001EC8H   LINE      ---      ---       #295
-      01001ECAH   LINE      ---      ---       #296
+      01001EA1H   BLOCK     CODE     ---       LVL=0
+      01001EA1H   LINE      ---      ---       #292
+      01001EACH   LINE      ---      ---       #293
+      01001EACH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001EACH   LINE      ---      ---       #295
+      01001EB3H   LINE      ---      ---       #296
+      01001EB3H   LINE      ---      ---       #297
+      01001EC8H   LINE      ---      ---       #298
+      01001ECBH   LINE      ---      ---       #299
+      01001ECEH   LINE      ---      ---       #300
+      01001ED0H   LINE      ---      ---       #301
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001C41H   BLOCK     CODE     ---       LVL=0
-      01001C41H   LINE      ---      ---       #299
-      01001C41H   LINE      ---      ---       #300
-      01001C41H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001C41H   LINE      ---      ---       #302
-      01001C46H   LINE      ---      ---       #303
-      01001C48H   LINE      ---      ---       #304
-      01001C4AH   LINE      ---      ---       #305
-      01001C4CH   LINE      ---      ---       #306
-      01001C4EH   LINE      ---      ---       #307
-      01001C50H   LINE      ---      ---       #308
-      01001C52H   LINE      ---      ---       #309
-      01001C54H   LINE      ---      ---       #310
-      01001C56H   LINE      ---      ---       #311
-      01001C58H   LINE      ---      ---       #312
-      01001C5AH   LINE      ---      ---       #314
-      01001C5DH   LINE      ---      ---       #316
-      01001C8BH   LINE      ---      ---       #318
-      01001C8BH   LINE      ---      ---       #319
-      01001C92H   LINE      ---      ---       #320
-      01001C94H   LINE      ---      ---       #322
-      01001C94H   LINE      ---      ---       #323
-      01001C9BH   LINE      ---      ---       #324
-      01001CA0H   LINE      ---      ---       #325
-      01001CA0H   LINE      ---      ---       #327
-      01001CB2H   LINE      ---      ---       #328
-      01001CB2H   LINE      ---      ---       #329
-      01001CC1H   LINE      ---      ---       #330
-      01001CCAH   LINE      ---      ---       #331
-      01001CD1H   LINE      ---      ---       #332
-      01001CD1H   LINE      ---      ---       #333
-      01001CE0H   LINE      ---      ---       #334
-      01001CE0H   LINE      ---      ---       #335
-      01001CFBH   LINE      ---      ---       #336
-      01001CFBH   LINE      ---      ---       #337
-      01001D0BH   LINE      ---      ---       #338
-      01001D0BH   LINE      ---      ---       #339
-      01001D14H   LINE      ---      ---       #340
-      01001D14H   LINE      ---      ---       #341
-      01001D43H   LINE      ---      ---       #342
-      01001D43H   LINE      ---      ---       #343
-      01001D49H   LINE      ---      ---       #344
-      01001D4BH   LINE      ---      ---       #345
-      01001D4BH   LINE      ---      ---       #346
-      01001D4BH   LINE      ---      ---       #347
-      01001D53H   LINE      ---      ---       #348
-      01001D53H   LINE      ---      ---       #349
-      01001D5BH   LINE      ---      ---       #350
-      01001D5BH   LINE      ---      ---       #352
-      01001D62H   LINE      ---      ---       #353
-      01001D62H   LINE      ---      ---       #354
-      01001D6AH   LINE      ---      ---       #355
-      01001D6AH   LINE      ---      ---       #356
-      01001D72H   LINE      ---      ---       #357
-      01001D7AH   LINE      ---      ---       #359
-      01001D8CH   LINE      ---      ---       #360
-      01001D8CH   LINE      ---      ---       #361
-      01001DA8H   LINE      ---      ---       #362
-      01001DBBH   LINE      ---      ---       #363
-      01001DC1H   LINE      ---      ---       #364
-      01001DC1H   LINE      ---      ---       #365
-      01001DC3H   LINE      ---      ---       #366
-      01001DC5H   LINE      ---      ---       #368
-      01001DC5H   LINE      ---      ---       #370
-      01001DCBH   LINE      ---      ---       #371
-      01001DD2H   LINE      ---      ---       #372
-      01001DEAH   LINE      ---      ---       #373
-      01001DF9H   LINE      ---      ---       #374
-      01001DF9H   LINE      ---      ---       #375
-      01001E00H   LINE      ---      ---       #376
-      01001E00H   LINE      ---      ---       #377
-      01001E11H   LINE      ---      ---       #378
-      01001E24H   LINE      ---      ---       #379
-      01001E2BH   LINE      ---      ---       #380
-      01001E2BH   LINE      ---      ---       #381
-      01001E32H   LINE      ---      ---       #382
-      01001E34H   LINE      ---      ---       #384
-      01001E34H   LINE      ---      ---       #385
-      01001E3BH   LINE      ---      ---       #386
-      01001E3BH   LINE      ---      ---       #387
-      01001E3BH   LINE      ---      ---       #388
-      01001E43H   LINE      ---      ---       #389
-      01001E4BH   LINE      ---      ---       #390
-      01001E53H   LINE      ---      ---       #391
-      01001E59H   LINE      ---      ---       #392
-      01001E59H   LINE      ---      ---       #393
-      01001E61H   LINE      ---      ---       #395
-      01001E6FH   LINE      ---      ---       #396
-      01001E6FH   LINE      ---      ---       #397
-      01001E72H   LINE      ---      ---       #398
-      01001E72H   LINE      ---      ---       #401
-      01001E7FH   LINE      ---      ---       #402
-      01001E7FH   LINE      ---      ---       #403
-      01001E86H   LINE      ---      ---       #404
-      01001E86H   LINE      ---      ---       #406
-      01001E86H   LINE      ---      ---       #407
-      01001E8CH   LINE      ---      ---       #408
+      01001C47H   BLOCK     CODE     ---       LVL=0
+      01001C47H   LINE      ---      ---       #304
+      01001C47H   LINE      ---      ---       #305
+      01001C47H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C47H   LINE      ---      ---       #307
+      01001C4CH   LINE      ---      ---       #308
+      01001C4EH   LINE      ---      ---       #309
+      01001C50H   LINE      ---      ---       #310
+      01001C52H   LINE      ---      ---       #311
+      01001C54H   LINE      ---      ---       #312
+      01001C56H   LINE      ---      ---       #313
+      01001C58H   LINE      ---      ---       #314
+      01001C5AH   LINE      ---      ---       #315
+      01001C5CH   LINE      ---      ---       #316
+      01001C5EH   LINE      ---      ---       #317
+      01001C60H   LINE      ---      ---       #319
+      01001C63H   LINE      ---      ---       #321
+      01001C91H   LINE      ---      ---       #323
+      01001C91H   LINE      ---      ---       #324
+      01001C98H   LINE      ---      ---       #325
+      01001C9AH   LINE      ---      ---       #327
+      01001C9AH   LINE      ---      ---       #328
+      01001CA1H   LINE      ---      ---       #329
+      01001CA6H   LINE      ---      ---       #330
+      01001CA6H   LINE      ---      ---       #332
+      01001CB8H   LINE      ---      ---       #333
+      01001CB8H   LINE      ---      ---       #334
+      01001CC7H   LINE      ---      ---       #335
+      01001CD0H   LINE      ---      ---       #336
+      01001CD7H   LINE      ---      ---       #337
+      01001CD7H   LINE      ---      ---       #338
+      01001CE6H   LINE      ---      ---       #339
+      01001CE6H   LINE      ---      ---       #340
+      01001D01H   LINE      ---      ---       #341
+      01001D01H   LINE      ---      ---       #342
+      01001D11H   LINE      ---      ---       #343
+      01001D11H   LINE      ---      ---       #344
+      01001D1AH   LINE      ---      ---       #345
+      01001D1AH   LINE      ---      ---       #346
+      01001D49H   LINE      ---      ---       #347
+      01001D49H   LINE      ---      ---       #348
+      01001D4FH   LINE      ---      ---       #349
+      01001D51H   LINE      ---      ---       #350
+      01001D51H   LINE      ---      ---       #351
+      01001D51H   LINE      ---      ---       #352
+      01001D59H   LINE      ---      ---       #353
+      01001D59H   LINE      ---      ---       #354
+      01001D61H   LINE      ---      ---       #355
+      01001D61H   LINE      ---      ---       #357
+      01001D68H   LINE      ---      ---       #358
+      01001D68H   LINE      ---      ---       #359
+      01001D70H   LINE      ---      ---       #360
+      01001D70H   LINE      ---      ---       #361
+      01001D78H   LINE      ---      ---       #362
+      01001D80H   LINE      ---      ---       #364
+      01001D92H   LINE      ---      ---       #365
+      01001D92H   LINE      ---      ---       #366
+      01001DAEH   LINE      ---      ---       #367
+      01001DC1H   LINE      ---      ---       #368
+      01001DC7H   LINE      ---      ---       #369
+      01001DC7H   LINE      ---      ---       #370
+      01001DC9H   LINE      ---      ---       #371
+      01001DCBH   LINE      ---      ---       #373
+      01001DCBH   LINE      ---      ---       #375
+      01001DD1H   LINE      ---      ---       #376
+      01001DD8H   LINE      ---      ---       #377
+      01001DF0H   LINE      ---      ---       #378
+      01001DFFH   LINE      ---      ---       #379
+      01001DFFH   LINE      ---      ---       #380
+      01001E06H   LINE      ---      ---       #381
+      01001E06H   LINE      ---      ---       #382
+      01001E17H   LINE      ---      ---       #383
+      01001E2AH   LINE      ---      ---       #384
+      01001E31H   LINE      ---      ---       #385
+      01001E31H   LINE      ---      ---       #386
+      01001E38H   LINE      ---      ---       #387
+      01001E3AH   LINE      ---      ---       #389
+      01001E3AH   LINE      ---      ---       #390
+      01001E41H   LINE      ---      ---       #391
+      01001E41H   LINE      ---      ---       #392
+      01001E41H   LINE      ---      ---       #393
+      01001E49H   LINE      ---      ---       #394
+      01001E51H   LINE      ---      ---       #395
+      01001E59H   LINE      ---      ---       #396
+      01001E5FH   LINE      ---      ---       #397
+      01001E5FH   LINE      ---      ---       #398
+      01001E67H   LINE      ---      ---       #400
+      01001E75H   LINE      ---      ---       #401
+      01001E75H   LINE      ---      ---       #402
+      01001E78H   LINE      ---      ---       #403
+      01001E78H   LINE      ---      ---       #406
+      01001E85H   LINE      ---      ---       #407
+      01001E85H   LINE      ---      ---       #408
+      01001E8CH   LINE      ---      ---       #409
       01001E8CH   LINE      ---      ---       #411
+      01001E8CH   LINE      ---      ---       #412
+      01001E92H   LINE      ---      ---       #413
+      01001E92H   LINE      ---      ---       #416
       02004E23H   SYMBOL    XDATA    VOID      i
       02004E24H   SYMBOL    XDATA    VOID      j
       02004E25H   SYMBOL    XDATA    VOID      k
@@ -1640,12 +1652,12 @@
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       SYS
-      0100143EH   PUBLIC    CODE     ---       YC_System_Main
-      0100218EH   PUBLIC    CODE     ---       kb_button_press_timer500ms
+      01001430H   PUBLIC    CODE     ---       YC_System_Main
+      0100175BH   PUBLIC    CODE     ---       kb_button_press_timer500ms
       01000F8BH   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
-      0100179CH   PUBLIC    CODE     ---       YC_connect_timeout_500ms
-      0100172AH   PUBLIC    CODE     ---       LED_timer500ms
-      0100217CH   PUBLIC    CODE     ---       System_Reset_Connect
+      010021C8H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
+      0100171DH   PUBLIC    CODE     ---       LED_timer500ms
+      010021B6H   PUBLIC    CODE     ---       System_Reset_Connect
       0100078FH   PUBLIC    CODE     ---       System_long_sleep
       0100126BH   PUBLIC    CODE     ---       System_Software_init
 
@@ -1696,11 +1708,11 @@
       01001288H   LINE      ---      ---       #56
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002173H   BLOCK     CODE     ---       LVL=0
-      01002173H   LINE      ---      ---       #58
-      01002173H   LINE      ---      ---       #59
-      01002173H   LINE      ---      ---       #60
-      01002179H   LINE      ---      ---       #61
+      010021ADH   BLOCK     CODE     ---       LVL=0
+      010021ADH   LINE      ---      ---       #58
+      010021ADH   LINE      ---      ---       #59
+      010021ADH   LINE      ---      ---       #60
+      010021B3H   LINE      ---      ---       #61
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100078FH   BLOCK     CODE     ---       LVL=0
@@ -1713,19 +1725,19 @@
       0100079DH   LINE      ---      ---       #70
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100217CH   BLOCK     CODE     ---       LVL=0
-      0100217CH   LINE      ---      ---       #74
-      0100217CH   LINE      ---      ---       #75
-      0100217CH   LINE      ---      ---       #76
+      010021B6H   BLOCK     CODE     ---       LVL=0
+      010021B6H   LINE      ---      ---       #74
+      010021B6H   LINE      ---      ---       #75
+      010021B6H   LINE      ---      ---       #76
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100217EH   BLOCK     CODE     ---       LVL=0
-      0100217EH   LINE      ---      ---       #84
-      01002183H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002183H   LINE      ---      ---       #86
-      0100218DH   LINE      ---      ---       #88
-      0100218DH   LINE      ---      ---       #90
-      0100218DH   LINE      ---      ---       #91
+      010021B8H   BLOCK     CODE     ---       LVL=0
+      010021B8H   LINE      ---      ---       #84
+      010021BDH   BLOCK     CODE     NEAR LAB  LVL=1
+      010021BDH   LINE      ---      ---       #86
+      010021C7H   LINE      ---      ---       #88
+      010021C7H   LINE      ---      ---       #90
+      010021C7H   LINE      ---      ---       #91
       02004E93H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1793,42 +1805,42 @@
       0100126AH   LINE      ---      ---       #165
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100172AH   BLOCK     CODE     ---       LVL=0
-      0100172AH   LINE      ---      ---       #168
-      0100172AH   LINE      ---      ---       #169
-      0100172AH   LINE      ---      ---       #170
-      01001731H   LINE      ---      ---       #172
-      01001737H   LINE      ---      ---       #173
-      01001737H   LINE      ---      ---       #174
-      0100173BH   LINE      ---      ---       #175
-      0100173BH   LINE      ---      ---       #177
-      0100173BH   LINE      ---      ---       #179
-      0100173BH   LINE      ---      ---       #180
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100179CH   BLOCK     CODE     ---       LVL=0
-      0100179CH   LINE      ---      ---       #182
-      0100179CH   LINE      ---      ---       #183
-      0100179CH   LINE      ---      ---       #186
-      010017A3H   LINE      ---      ---       #187
-      010017A3H   LINE      ---      ---       #188
-      010017B2H   LINE      ---      ---       #189
-      010017B5H   LINE      ---      ---       #199
-      010017B5H   LINE      ---      ---       #200
-      010017BCH   LINE      ---      ---       #201
-      010017BCH   LINE      ---      ---       #202
-      010017C8H   LINE      ---      ---       #203
-      010017C8H   LINE      ---      ---       #204
-      010017CDH   LINE      ---      ---       #205
-      010017D0H   LINE      ---      ---       #206
-      010017D0H   LINE      ---      ---       #207
-      010017D0H   LINE      ---      ---       #209
-      010017D0H   LINE      ---      ---       #210
-      010017DCH   LINE      ---      ---       #211
-      010017DCH   LINE      ---      ---       #212
-      010017DFH   LINE      ---      ---       #213
-      010017DFH   LINE      ---      ---       #214
-      010017DFH   LINE      ---      ---       #215
+      0100171DH   BLOCK     CODE     ---       LVL=0
+      0100171DH   LINE      ---      ---       #168
+      0100171DH   LINE      ---      ---       #169
+      0100171DH   LINE      ---      ---       #170
+      01001724H   LINE      ---      ---       #172
+      0100172AH   LINE      ---      ---       #173
+      0100172AH   LINE      ---      ---       #174
+      0100172EH   LINE      ---      ---       #175
+      0100172EH   LINE      ---      ---       #177
+      0100172EH   LINE      ---      ---       #179
+      0100172EH   LINE      ---      ---       #180
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010021C8H   BLOCK     CODE     ---       LVL=0
+      010021C8H   LINE      ---      ---       #182
+      010021C8H   LINE      ---      ---       #183
+      010021C8H   LINE      ---      ---       #186
+      010021CFH   LINE      ---      ---       #187
+      010021CFH   LINE      ---      ---       #188
+      010021DEH   LINE      ---      ---       #189
+      010021E1H   LINE      ---      ---       #199
+      010021E1H   LINE      ---      ---       #200
+      010021E8H   LINE      ---      ---       #201
+      010021E8H   LINE      ---      ---       #202
+      010021F4H   LINE      ---      ---       #203
+      010021F4H   LINE      ---      ---       #204
+      010021F9H   LINE      ---      ---       #205
+      010021FCH   LINE      ---      ---       #206
+      010021FCH   LINE      ---      ---       #207
+      010021FCH   LINE      ---      ---       #209
+      010021FCH   LINE      ---      ---       #210
+      01002208H   LINE      ---      ---       #211
+      01002208H   LINE      ---      ---       #212
+      0100220BH   LINE      ---      ---       #213
+      0100220BH   LINE      ---      ---       #214
+      0100220BH   LINE      ---      ---       #215
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000F8BH   BLOCK     CODE     ---       LVL=0
@@ -1848,258 +1860,258 @@
       01000FACH   LINE      ---      ---       #233
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100218EH   BLOCK     CODE     ---       LVL=0
-      0100218EH   LINE      ---      ---       #235
-      0100218EH   LINE      ---      ---       #236
-      0100218EH   LINE      ---      ---       #239
-      01002195H   LINE      ---      ---       #240
-      01002195H   LINE      ---      ---       #241
-      0100219EH   LINE      ---      ---       #242
-      010021A1H   LINE      ---      ---       #243
-      010021A9H   LINE      ---      ---       #244
-      010021A9H   LINE      ---      ---       #245
-      010021AFH   LINE      ---      ---       #246
-      010021B5H   LINE      ---      ---       #247
-      010021B5H   LINE      ---      ---       #248
-      010021BAH   LINE      ---      ---       #249
-      010021BCH   LINE      ---      ---       #250
-      010021C3H   LINE      ---      ---       #251
-      010021C3H   LINE      ---      ---       #252
-      010021C9H   LINE      ---      ---       #253
-      010021CEH   LINE      ---      ---       #254
-      010021D1H   LINE      ---      ---       #255
-      010021D1H   LINE      ---      ---       #256
-      010021D1H   LINE      ---      ---       #257
-      010021D3H   LINE      ---      ---       #259
-      010021D3H   LINE      ---      ---       #260
-      010021D8H   LINE      ---      ---       #261
-      010021DCH   LINE      ---      ---       #262
-      010021E0H   LINE      ---      ---       #263
-      010021E0H   LINE      ---      ---       #265
-      010021E7H   LINE      ---      ---       #266
-      010021E7H   LINE      ---      ---       #267
-      010021EDH   LINE      ---      ---       #268
-      010021F6H   LINE      ---      ---       #269
-      010021F9H   LINE      ---      ---       #270
-      01002200H   LINE      ---      ---       #271
-      01002200H   LINE      ---      ---       #272
-      0100220AH   LINE      ---      ---       #273
-      0100220AH   LINE      ---      ---       #274
-      0100220DH   LINE      ---      ---       #275
-      01002212H   LINE      ---      ---       #276
-      01002217H   LINE      ---      ---       #277
-      01002217H   LINE      ---      ---       #278
-      01002217H   LINE      ---      ---       #279
-      01002217H   LINE      ---      ---       #281
-      0100221CH   LINE      ---      ---       #283
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100173CH   BLOCK     CODE     ---       LVL=0
-      0100173CH   LINE      ---      ---       #287
-      0100173CH   LINE      ---      ---       #288
-      0100173CH   LINE      ---      ---       #289
-      0100173EH   LINE      ---      ---       #291
-      0100174CH   LINE      ---      ---       #293
-      0100174EH   LINE      ---      ---       #294
-      01001750H   LINE      ---      ---       #295
-      01001753H   LINE      ---      ---       #296
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100221DH   BLOCK     CODE     ---       LVL=0
-      0100221DH   LINE      ---      ---       #302
-      0100221DH   LINE      ---      ---       #303
-      0100221DH   LINE      ---      ---       #305
-      01002223H   LINE      ---      ---       #306
-      01002223H   LINE      ---      ---       #307
-      01002225H   LINE      ---      ---       #308
-      01002225H   LINE      ---      ---       #310
-      0100222BH   LINE      ---      ---       #311
-      0100222DH   LINE      ---      ---       #314
-      01002233H   LINE      ---      ---       #315
-      01002233H   LINE      ---      ---       #316
-      01002235H   LINE      ---      ---       #317
-      01002238H   LINE      ---      ---       #318
-      0100223EH   LINE      ---      ---       #319
-      0100223EH   LINE      ---      ---       #321
-      01002244H   LINE      ---      ---       #322
-      01002244H   LINE      ---      ---       #323
-      0100224AH   LINE      ---      ---       #324
-      0100224AH   LINE      ---      ---       #325
-      01002250H   LINE      ---      ---       #327
-      01002250H   LINE      ---      ---       #329
-      01002256H   LINE      ---      ---       #330
-      0100225DH   LINE      ---      ---       #331
-      01002263H   LINE      ---      ---       #332
-      01002263H   LINE      ---      ---       #333
-      0100226AH   LINE      ---      ---       #334
-      0100226AH   LINE      ---      ---       #335
-      0100226CH   LINE      ---      ---       #337
-      01002272H   LINE      ---      ---       #338
-      01002272H   LINE      ---      ---       #339
-      01002278H   LINE      ---      ---       #340
-      01002278H   LINE      ---      ---       #341
-      0100227AH   LINE      ---      ---       #342
-      0100227EH   LINE      ---      ---       #343
-      0100227EH   LINE      ---      ---       #344
-      01002285H   LINE      ---      ---       #345
-      01002287H   LINE      ---      ---       #347
-      0100228EH   LINE      ---      ---       #348
-      01002294H   LINE      ---      ---       #349
-      01002297H   LINE      ---      ---       #350
-      01002297H   LINE      ---      ---       #351
-      01002297H   LINE      ---      ---       #354
-      0100229DH   LINE      ---      ---       #355
-      0100229DH   LINE      ---      ---       #356
-      010022A5H   LINE      ---      ---       #357
-      010022A5H   LINE      ---      ---       #358
-      010022ABH   LINE      ---      ---       #359
-      010022AFH   LINE      ---      ---       #361
-      010022B5H   LINE      ---      ---       #362
-      010022B5H   LINE      ---      ---       #363
-      010022C0H   LINE      ---      ---       #364
-      010022C2H   LINE      ---      ---       #365
-      010022C8H   LINE      ---      ---       #366
-      010022C8H   LINE      ---      ---       #368
-      010022D3H   LINE      ---      ---       #369
-      010022D3H   LINE      ---      ---       #370
-      010022D3H   LINE      ---      ---       #371
-      010022D3H   LINE      ---      ---       #373
-      010022D9H   LINE      ---      ---       #374
-      010022D9H   LINE      ---      ---       #375
-      010022DCH   LINE      ---      ---       #376
-      010022E5H   LINE      ---      ---       #377
-      010022E5H   LINE      ---      ---       #378
-      010022E7H   LINE      ---      ---       #379
-      010022E7H   LINE      ---      ---       #380
-      010022E7H   LINE      ---      ---       #381
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010015E1H   BLOCK     CODE     ---       LVL=0
-      010015E1H   LINE      ---      ---       #395
-      010015E1H   LINE      ---      ---       #396
-      010015E1H   LINE      ---      ---       #397
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100143EH   BLOCK     CODE     ---       LVL=0
-      0100143EH   LINE      ---      ---       #402
-      0100143EH   LINE      ---      ---       #403
-      0100143EH   LINE      ---      ---       #404
-      01001440H   LINE      ---      ---       #405
-      01001440H   LINE      ---      ---       #406
-      01001442H   LINE      ---      ---       #407
-      01001445H   LINE      ---      ---       #408
-      01001447H   LINE      ---      ---       #409
-      0100144AH   LINE      ---      ---       #411
-      01001455H   LINE      ---      ---       #412
-      01001455H   LINE      ---      ---       #413
-      01001457H   LINE      ---      ---       #415
-      0100145AH   LINE      ---      ---       #416
-      0100145CH   LINE      ---      ---       #417
-      0100145EH   LINE      ---      ---       #418
-      0100145EH   LINE      ---      ---       #420
-      0100145EH   LINE      ---      ---       #421
-      01001476H   LINE      ---      ---       #423
-      01001476H   LINE      ---      ---       #424
-      01001478H   LINE      ---      ---       #425
-      0100147AH   LINE      ---      ---       #426
-      0100147AH   LINE      ---      ---       #428
-      0100147AH   LINE      ---      ---       #429
-      0100147CH   LINE      ---      ---       #430
-      01001492H   LINE      ---      ---       #431
-      01001492H   LINE      ---      ---       #432
-      01001495H   LINE      ---      ---       #433
-      01001495H   LINE      ---      ---       #434
-      01001497H   LINE      ---      ---       #435
-      01001499H   LINE      ---      ---       #436
-      01001499H   LINE      ---      ---       #437
-      01001499H   LINE      ---      ---       #438
+      0100175BH   BLOCK     CODE     ---       LVL=0
+      0100175BH   LINE      ---      ---       #235
+      0100175BH   LINE      ---      ---       #236
+      0100175BH   LINE      ---      ---       #239
+      01001762H   LINE      ---      ---       #240
+      01001762H   LINE      ---      ---       #241
+      0100176BH   LINE      ---      ---       #242
+      0100176EH   LINE      ---      ---       #243
+      01001776H   LINE      ---      ---       #244
+      01001776H   LINE      ---      ---       #245
+      0100177CH   LINE      ---      ---       #246
+      01001782H   LINE      ---      ---       #247
+      01001782H   LINE      ---      ---       #248
+      01001787H   LINE      ---      ---       #249
+      01001789H   LINE      ---      ---       #250
+      01001790H   LINE      ---      ---       #251
+      01001790H   LINE      ---      ---       #252
+      01001796H   LINE      ---      ---       #253
+      0100179BH   LINE      ---      ---       #254
+      0100179EH   LINE      ---      ---       #255
+      0100179EH   LINE      ---      ---       #256
+      0100179EH   LINE      ---      ---       #257
+      010017A0H   LINE      ---      ---       #259
+      010017A0H   LINE      ---      ---       #260
+      010017A5H   LINE      ---      ---       #261
+      010017A9H   LINE      ---      ---       #262
+      010017ADH   LINE      ---      ---       #263
+      010017ADH   LINE      ---      ---       #265
+      010017B4H   LINE      ---      ---       #266
+      010017B4H   LINE      ---      ---       #267
+      010017BAH   LINE      ---      ---       #268
+      010017C3H   LINE      ---      ---       #269
+      010017C6H   LINE      ---      ---       #270
+      010017CDH   LINE      ---      ---       #271
+      010017CDH   LINE      ---      ---       #272
+      010017D7H   LINE      ---      ---       #273
+      010017D7H   LINE      ---      ---       #274
+      010017DAH   LINE      ---      ---       #275
+      010017DFH   LINE      ---      ---       #276
+      010017E3H   LINE      ---      ---       #277
+      010017E3H   LINE      ---      ---       #278
+      010017E3H   LINE      ---      ---       #279
+      010017E3H   LINE      ---      ---       #281
+      010017E8H   LINE      ---      ---       #283
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100172FH   BLOCK     CODE     ---       LVL=0
+      0100172FH   LINE      ---      ---       #287
+      0100172FH   LINE      ---      ---       #288
+      0100172FH   LINE      ---      ---       #289
+      01001731H   LINE      ---      ---       #291
+      0100173FH   LINE      ---      ---       #293
+      01001741H   LINE      ---      ---       #294
+      01001744H   LINE      ---      ---       #295
+      01001746H   LINE      ---      ---       #296
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100220CH   BLOCK     CODE     ---       LVL=0
+      0100220CH   LINE      ---      ---       #302
+      0100220CH   LINE      ---      ---       #303
+      0100220CH   LINE      ---      ---       #305
+      01002212H   LINE      ---      ---       #306
+      01002212H   LINE      ---      ---       #307
+      01002214H   LINE      ---      ---       #308
+      01002214H   LINE      ---      ---       #310
+      0100221AH   LINE      ---      ---       #311
+      0100221CH   LINE      ---      ---       #314
+      01002222H   LINE      ---      ---       #315
+      01002222H   LINE      ---      ---       #316
+      01002224H   LINE      ---      ---       #317
+      01002227H   LINE      ---      ---       #318
+      0100222DH   LINE      ---      ---       #319
+      0100222DH   LINE      ---      ---       #321
+      01002233H   LINE      ---      ---       #322
+      01002233H   LINE      ---      ---       #323
+      01002239H   LINE      ---      ---       #324
+      01002239H   LINE      ---      ---       #325
+      0100223FH   LINE      ---      ---       #327
+      0100223FH   LINE      ---      ---       #329
+      01002245H   LINE      ---      ---       #330
+      0100224CH   LINE      ---      ---       #331
+      01002252H   LINE      ---      ---       #332
+      01002252H   LINE      ---      ---       #333
+      01002259H   LINE      ---      ---       #334
+      01002259H   LINE      ---      ---       #335
+      0100225BH   LINE      ---      ---       #337
+      01002261H   LINE      ---      ---       #338
+      01002261H   LINE      ---      ---       #339
+      01002267H   LINE      ---      ---       #340
+      01002267H   LINE      ---      ---       #341
+      01002269H   LINE      ---      ---       #342
+      0100226DH   LINE      ---      ---       #343
+      0100226DH   LINE      ---      ---       #344
+      01002274H   LINE      ---      ---       #345
+      01002276H   LINE      ---      ---       #347
+      0100227DH   LINE      ---      ---       #348
+      01002283H   LINE      ---      ---       #349
+      01002286H   LINE      ---      ---       #350
+      01002286H   LINE      ---      ---       #351
+      01002286H   LINE      ---      ---       #354
+      0100228CH   LINE      ---      ---       #355
+      0100228CH   LINE      ---      ---       #356
+      01002294H   LINE      ---      ---       #357
+      01002294H   LINE      ---      ---       #358
+      0100229AH   LINE      ---      ---       #359
+      0100229EH   LINE      ---      ---       #361
+      010022A4H   LINE      ---      ---       #362
+      010022A4H   LINE      ---      ---       #363
+      010022AFH   LINE      ---      ---       #364
+      010022B1H   LINE      ---      ---       #365
+      010022B7H   LINE      ---      ---       #366
+      010022B7H   LINE      ---      ---       #368
+      010022C2H   LINE      ---      ---       #369
+      010022C2H   LINE      ---      ---       #370
+      010022C2H   LINE      ---      ---       #371
+      010022C2H   LINE      ---      ---       #373
+      010022C8H   LINE      ---      ---       #374
+      010022C8H   LINE      ---      ---       #375
+      010022CBH   LINE      ---      ---       #376
+      010022D4H   LINE      ---      ---       #377
+      010022D4H   LINE      ---      ---       #378
+      010022D6H   LINE      ---      ---       #379
+      010022D6H   LINE      ---      ---       #380
+      010022D6H   LINE      ---      ---       #381
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010015D4H   BLOCK     CODE     ---       LVL=0
+      010015D4H   LINE      ---      ---       #395
+      010015D4H   LINE      ---      ---       #396
+      010015D4H   LINE      ---      ---       #397
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001430H   BLOCK     CODE     ---       LVL=0
+      01001430H   LINE      ---      ---       #402
+      01001430H   LINE      ---      ---       #403
+      01001430H   LINE      ---      ---       #404
+      01001432H   LINE      ---      ---       #405
+      01001432H   LINE      ---      ---       #406
+      01001434H   LINE      ---      ---       #407
+      01001437H   LINE      ---      ---       #408
+      01001439H   LINE      ---      ---       #409
+      0100143CH   LINE      ---      ---       #411
+      01001447H   LINE      ---      ---       #412
+      01001447H   LINE      ---      ---       #413
+      01001449H   LINE      ---      ---       #415
+      0100144CH   LINE      ---      ---       #416
+      0100144EH   LINE      ---      ---       #417
+      01001450H   LINE      ---      ---       #418
+      01001450H   LINE      ---      ---       #420
+      01001450H   LINE      ---      ---       #421
+      01001468H   LINE      ---      ---       #423
+      01001468H   LINE      ---      ---       #424
+      0100146AH   LINE      ---      ---       #425
+      0100146CH   LINE      ---      ---       #426
+      0100146CH   LINE      ---      ---       #428
+      0100146CH   LINE      ---      ---       #429
+      0100146EH   LINE      ---      ---       #430
+      01001484H   LINE      ---      ---       #431
+      01001484H   LINE      ---      ---       #432
+      01001487H   LINE      ---      ---       #433
+      01001487H   LINE      ---      ---       #434
+      01001489H   LINE      ---      ---       #435
+      0100148BH   LINE      ---      ---       #436
+      0100148BH   LINE      ---      ---       #437
+      0100148BH   LINE      ---      ---       #438
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       ADC
-      01001756H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      010023A1H   PUBLIC    CODE     ---       YC_adc_check
-      010022E8H   PUBLIC    CODE     ---       YC_adc_init
-
-      010022E8H   BLOCK     CODE     ---       LVL=0
-      010022E8H   LINE      ---      ---       #3
-      010022E8H   LINE      ---      ---       #4
-      010022E8H   BLOCK     CODE     NEAR LAB  LVL=1
-      010022E8H   LINE      ---      ---       #8
-      010022EEH   LINE      ---      ---       #9
-      010022F1H   LINE      ---      ---       #29
-      010022F7H   LINE      ---      ---       #30
-      010022F9H   LINE      ---      ---       #31
-      010022F9H   LINE      ---      ---       #32
-      0100230AH   LINE      ---      ---       #33
-      0100230FH   LINE      ---      ---       #34
-      01002352H   LINE      ---      ---       #35
-      010023A0H   LINE      ---      ---       #38
+      01001749H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      0100239BH   PUBLIC    CODE     ---       YC_adc_check
+      010022D7H   PUBLIC    CODE     ---       YC_adc_init
+
+      010022D7H   BLOCK     CODE     ---       LVL=0
+      010022D7H   LINE      ---      ---       #3
+      010022D7H   LINE      ---      ---       #4
+      010022D7H   BLOCK     CODE     NEAR LAB  LVL=1
+      010022D7H   LINE      ---      ---       #8
+      010022DDH   LINE      ---      ---       #9
+      010022E0H   LINE      ---      ---       #29
+      010022E6H   LINE      ---      ---       #30
+      010022E8H   LINE      ---      ---       #31
+      010022E8H   LINE      ---      ---       #32
+      010022F9H   LINE      ---      ---       #33
+      010022FEH   LINE      ---      ---       #34
+      0100234CH   LINE      ---      ---       #35
+      0100239AH   LINE      ---      ---       #38
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010023A1H   BLOCK     CODE     ---       LVL=0
-      010023A1H   LINE      ---      ---       #40
-      010023A1H   LINE      ---      ---       #41
-      010023A1H   BLOCK     CODE     NEAR LAB  LVL=1
-      010023A1H   LINE      ---      ---       #44
-      010023ABH   LINE      ---      ---       #46
-      010023CBH   LINE      ---      ---       #47
-      010023D4H   LINE      ---      ---       #48
-      010023D6H   LINE      ---      ---       #49
-      010023DBH   LINE      ---      ---       #50
-      010023DBH   LINE      ---      ---       #51
-      01002412H   LINE      ---      ---       #52
-      0100241CH   LINE      ---      ---       #53
-      01002439H   LINE      ---      ---       #55
-      01002458H   LINE      ---      ---       #56
-      01002458H   LINE      ---      ---       #57
-      0100245EH   LINE      ---      ---       #58
-      0100245FH   LINE      ---      ---       #60
-      0100245FH   LINE      ---      ---       #61
-      0100247EH   LINE      ---      ---       #62
-      0100247EH   LINE      ---      ---       #63
-      01002484H   LINE      ---      ---       #64
-      01002489H   LINE      ---      ---       #65
-      0100248DH   LINE      ---      ---       #66
-      01002491H   LINE      ---      ---       #67
-      01002494H   LINE      ---      ---       #68
-      01002495H   LINE      ---      ---       #70
-      01002495H   LINE      ---      ---       #71
-      0100249AH   LINE      ---      ---       #72
-      0100249EH   LINE      ---      ---       #73
-      010024A2H   LINE      ---      ---       #74
-      010024A6H   LINE      ---      ---       #75
-      010024A9H   LINE      ---      ---       #76
-      010024A9H   LINE      ---      ---       #77
-      010024A9H   LINE      ---      ---       #79
+      0100239BH   BLOCK     CODE     ---       LVL=0
+      0100239BH   LINE      ---      ---       #40
+      0100239BH   LINE      ---      ---       #41
+      0100239BH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100239BH   LINE      ---      ---       #44
+      010023A5H   LINE      ---      ---       #46
+      010023C5H   LINE      ---      ---       #47
+      010023CEH   LINE      ---      ---       #48
+      010023D0H   LINE      ---      ---       #49
+      010023D5H   LINE      ---      ---       #50
+      010023D5H   LINE      ---      ---       #51
+      0100240CH   LINE      ---      ---       #52
+      01002416H   LINE      ---      ---       #53
+      01002433H   LINE      ---      ---       #55
+      01002452H   LINE      ---      ---       #56
+      01002452H   LINE      ---      ---       #57
+      01002458H   LINE      ---      ---       #58
+      01002459H   LINE      ---      ---       #60
+      01002459H   LINE      ---      ---       #61
+      01002478H   LINE      ---      ---       #62
+      01002478H   LINE      ---      ---       #63
+      0100247EH   LINE      ---      ---       #64
+      01002483H   LINE      ---      ---       #65
+      01002487H   LINE      ---      ---       #66
+      0100248BH   LINE      ---      ---       #67
+      0100248EH   LINE      ---      ---       #68
+      0100248FH   LINE      ---      ---       #70
+      0100248FH   LINE      ---      ---       #71
+      01002494H   LINE      ---      ---       #72
+      01002498H   LINE      ---      ---       #73
+      0100249CH   LINE      ---      ---       #74
+      010024A0H   LINE      ---      ---       #75
+      010024A3H   LINE      ---      ---       #76
+      010024A3H   LINE      ---      ---       #77
+      010024A3H   LINE      ---      ---       #79
       02004E65H   SYMBOL    XDATA    VOID      i
       02004E66H   SYMBOL    XDATA    VOID      batValue
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001756H   BLOCK     CODE     ---       LVL=0
-      01001756H   LINE      ---      ---       #82
-      01001756H   LINE      ---      ---       #83
-      01001756H   LINE      ---      ---       #86
-      0100175CH   LINE      ---      ---       #87
-      0100175CH   LINE      ---      ---       #88
-      0100175EH   LINE      ---      ---       #89
-      01001761H   LINE      ---      ---       #90
-      01001761H   LINE      ---      ---       #91
-      01001764H   LINE      ---      ---       #92
-      01001767H   LINE      ---      ---       #93
-      01001767H   LINE      ---      ---       #94
-      01001767H   LINE      ---      ---       #96
+      01001749H   BLOCK     CODE     ---       LVL=0
+      01001749H   LINE      ---      ---       #82
+      01001749H   LINE      ---      ---       #83
+      01001749H   LINE      ---      ---       #86
+      0100174FH   LINE      ---      ---       #87
+      0100174FH   LINE      ---      ---       #88
+      01001751H   LINE      ---      ---       #89
+      01001754H   LINE      ---      ---       #90
+      01001754H   LINE      ---      ---       #91
+      01001757H   LINE      ---      ---       #92
+      0100175AH   LINE      ---      ---       #93
+      0100175AH   LINE      ---      ---       #94
+      0100175AH   LINE      ---      ---       #96
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      01001700H   PUBLIC    CODE     ---       main
+      010016F3H   PUBLIC    CODE     ---       main
 
-      01001700H   BLOCK     CODE     ---       LVL=0
-      01001700H   LINE      ---      ---       #5
-      01001700H   LINE      ---      ---       #6
-      01001700H   LINE      ---      ---       #7
+      010016F3H   BLOCK     CODE     ---       LVL=0
+      010016F3H   LINE      ---      ---       #5
+      010016F3H   LINE      ---      ---       #6
+      010016F3H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
@@ -2113,36 +2125,36 @@
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      01001639H   PUBLIC    CODE     ---       IPC_DealSingleStep
+      0100162CH   PUBLIC    CODE     ---       IPC_DealSingleStep
       01000FC4H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      01001702H   PUBLIC    CODE     ---       IPC_AbandonLpm
-      010015D3H   PUBLIC    CODE     ---       IPC_WaitLpm
-      010015E7H   PUBLIC    CODE     ---       _IPC_Initialize
-      01002554H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      010016F5H   PUBLIC    CODE     ---       IPC_AbandonLpm
+      010015C6H   PUBLIC    CODE     ---       IPC_WaitLpm
+      010015DAH   PUBLIC    CODE     ---       _IPC_Initialize
+      0100254EH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
       01000E60H   PUBLIC    CODE     ---       _IPC_Tx24GData
       01000E66H   PUBLIC    CODE     ---       _IPC_TxData
       01000F61H   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      010024AAH   BLOCK     CODE     ---       LVL=0
-      010024AAH   LINE      ---      ---       #44
-      010024BAH   LINE      ---      ---       #45
-      010024BAH   LINE      ---      ---       #46
-      01002503H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002504H   BLOCK     CODE     ---       LVL=0
-      01002504H   LINE      ---      ---       #49
-      0100250EH   LINE      ---      ---       #50
-      0100250EH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100250EH   LINE      ---      ---       #51
-      01002516H   LINE      ---      ---       #52
-      0100251CH   LINE      ---      ---       #53
-      0100253BH   LINE      ---      ---       #54
-      01002545H   LINE      ---      ---       #55
-      01002549H   LINE      ---      ---       #56
-      01002549H   LINE      ---      ---       #57
-      0100254BH   LINE      ---      ---       #58
-      01002553H   LINE      ---      ---       #59
+      010024A4H   BLOCK     CODE     ---       LVL=0
+      010024A4H   LINE      ---      ---       #44
+      010024B4H   LINE      ---      ---       #45
+      010024B4H   LINE      ---      ---       #46
+      010024FDH   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010024FEH   BLOCK     CODE     ---       LVL=0
+      010024FEH   LINE      ---      ---       #49
+      01002508H   LINE      ---      ---       #50
+      01002508H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002508H   LINE      ---      ---       #51
+      01002510H   LINE      ---      ---       #52
+      01002516H   LINE      ---      ---       #53
+      01002535H   LINE      ---      ---       #54
+      0100253FH   LINE      ---      ---       #55
+      01002543H   LINE      ---      ---       #56
+      01002543H   LINE      ---      ---       #57
+      01002545H   LINE      ---      ---       #58
+      0100254DH   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2190,33 +2202,33 @@
       01000E60H   LINE      ---      ---       #92
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002554H   BLOCK     CODE     ---       LVL=0
-      01002554H   LINE      ---      ---       #98
-      01002554H   LINE      ---      ---       #99
-      01002554H   LINE      ---      ---       #100
-      01002559H   LINE      ---      ---       #101
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010015E7H   BLOCK     CODE     ---       LVL=0
-      010015E7H   LINE      ---      ---       #103
-      010015E7H   LINE      ---      ---       #104
-      010015E7H   LINE      ---      ---       #105
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010015D3H   BLOCK     CODE     ---       LVL=0
-      010015D3H   LINE      ---      ---       #108
-      010015D3H   LINE      ---      ---       #109
-      010015D3H   LINE      ---      ---       #110
-      010015D8H   LINE      ---      ---       #111
-      010015DCH   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001702H   BLOCK     CODE     ---       LVL=0
-      01001702H   LINE      ---      ---       #115
-      01001702H   LINE      ---      ---       #116
-      01001702H   LINE      ---      ---       #117
-      01001708H   LINE      ---      ---       #118
-      0100170DH   LINE      ---      ---       #119
+      0100254EH   BLOCK     CODE     ---       LVL=0
+      0100254EH   LINE      ---      ---       #98
+      0100254EH   LINE      ---      ---       #99
+      0100254EH   LINE      ---      ---       #100
+      01002553H   LINE      ---      ---       #101
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010015DAH   BLOCK     CODE     ---       LVL=0
+      010015DAH   LINE      ---      ---       #103
+      010015DAH   LINE      ---      ---       #104
+      010015DAH   LINE      ---      ---       #105
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010015C6H   BLOCK     CODE     ---       LVL=0
+      010015C6H   LINE      ---      ---       #108
+      010015C6H   LINE      ---      ---       #109
+      010015C6H   LINE      ---      ---       #110
+      010015CBH   LINE      ---      ---       #111
+      010015CFH   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010016F5H   BLOCK     CODE     ---       LVL=0
+      010016F5H   LINE      ---      ---       #115
+      010016F5H   LINE      ---      ---       #116
+      010016F5H   LINE      ---      ---       #117
+      010016FBH   LINE      ---      ---       #118
+      01001700H   LINE      ---      ---       #119
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FC4H   BLOCK     CODE     ---       LVL=0
@@ -2228,55 +2240,55 @@
       01000FDBH   LINE      ---      ---       #126
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001639H   BLOCK     CODE     ---       LVL=0
-      01001639H   LINE      ---      ---       #129
-      01001639H   LINE      ---      ---       #130
-      01001639H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001639H   LINE      ---      ---       #131
-      0100164BH   LINE      ---      ---       #132
-      0100165FH   LINE      ---      ---       #133
-      0100165FH   LINE      ---      ---       #134
-      01001668H   LINE      ---      ---       #135
-      01001679H   LINE      ---      ---       #136
-      01001683H   LINE      ---      ---       #137
-      010016A2H   LINE      ---      ---       #138
-      010016A4H   LINE      ---      ---       #139
-      010016A4H   LINE      ---      ---       #140
-      010016A6H   LINE      ---      ---       #141
-      010016A6H   LINE      ---      ---       #142
-      010016A6H   LINE      ---      ---       #143
-      010016BAH   LINE      ---      ---       #144
-      010016C8H   LINE      ---      ---       #146
-      010016CBH   LINE      ---      ---       #148
-      010016DAH   LINE      ---      ---       #149
-      010016DCH   LINE      ---      ---       #150
-      010016E6H   LINE      ---      ---       #151
-      010016F4H   LINE      ---      ---       #153
-      010016F7H   LINE      ---      ---       #155
-      010016FDH   LINE      ---      ---       #156
-      010016FFH   LINE      ---      ---       #158
-      010016A6H   SYMBOL    ---      ---       IPC_TIMERingleStep
+      0100162CH   BLOCK     CODE     ---       LVL=0
+      0100162CH   LINE      ---      ---       #129
+      0100162CH   LINE      ---      ---       #130
+      0100162CH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100162CH   LINE      ---      ---       #131
+      0100163EH   LINE      ---      ---       #132
+      01001652H   LINE      ---      ---       #133
+      01001652H   LINE      ---      ---       #134
+      0100165BH   LINE      ---      ---       #135
+      0100166CH   LINE      ---      ---       #136
+      01001676H   LINE      ---      ---       #137
+      01001695H   LINE      ---      ---       #138
+      01001697H   LINE      ---      ---       #139
+      01001697H   LINE      ---      ---       #140
+      01001699H   LINE      ---      ---       #141
+      01001699H   LINE      ---      ---       #142
+      01001699H   LINE      ---      ---       #143
+      010016ADH   LINE      ---      ---       #144
+      010016BBH   LINE      ---      ---       #146
+      010016BEH   LINE      ---      ---       #148
+      010016CDH   LINE      ---      ---       #149
+      010016CFH   LINE      ---      ---       #150
+      010016D9H   LINE      ---      ---       #151
+      010016E7H   LINE      ---      ---       #153
+      010016EAH   LINE      ---      ---       #155
+      010016F0H   LINE      ---      ---       #156
+      010016F2H   LINE      ---      ---       #158
+      01001699H   SYMBOL    ---      ---       IPC_TIMERingleStep
       02004E84H   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       UTILITIES
       02004E46H   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      01001ECBH   PUBLIC    CODE     ---       _compare_str
+      01001ED1H   PUBLIC    CODE     ---       _compare_str
       01000FDCH   PUBLIC    CODE     ---       _Delay1ms
-      010025A5H   PUBLIC    CODE     ---       _xmemclear_ff
+      0100259FH   PUBLIC    CODE     ---       _xmemclear_ff
       01000C7EH   PUBLIC    CODE     ---       _xmemclear
       02004E37H   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      01002561H   PUBLIC    CODE     ---       _dmemcpy
+      0100255BH   PUBLIC    CODE     ---       _dmemcpy
       02004E5AH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       01000F1EH   PUBLIC    CODE     ---       _xmemcpy
-      0100255AH   PUBLIC    CODE     ---       YC_Ice_break
+      01002554H   PUBLIC    CODE     ---       YC_Ice_break
 
-      0100255AH   BLOCK     CODE     ---       LVL=0
-      0100255AH   LINE      ---      ---       #3
-      0100255AH   LINE      ---      ---       #4
-      0100255AH   LINE      ---      ---       #5
-      01002560H   LINE      ---      ---       #7
+      01002554H   BLOCK     CODE     ---       LVL=0
+      01002554H   LINE      ---      ---       #3
+      01002554H   LINE      ---      ---       #4
+      01002554H   LINE      ---      ---       #5
+      0100255AH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000F1EH   BLOCK     CODE     ---       LVL=0
@@ -2287,12 +2299,12 @@
       01000F60H   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002561H   BLOCK     CODE     ---       LVL=0
-      01002561H   LINE      ---      ---       #16
-      0100256CH   LINE      ---      ---       #17
-      0100256CH   LINE      ---      ---       #18
-      0100257AH   LINE      ---      ---       #19
-      010025A4H   LINE      ---      ---       #21
+      0100255BH   BLOCK     CODE     ---       LVL=0
+      0100255BH   LINE      ---      ---       #16
+      01002566H   LINE      ---      ---       #17
+      01002566H   LINE      ---      ---       #18
+      01002574H   LINE      ---      ---       #19
+      0100259EH   LINE      ---      ---       #21
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000C7EH   BLOCK     CODE     ---       LVL=0
@@ -2303,12 +2315,12 @@
       01000CA9H   LINE      ---      ---       #28
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010025A5H   BLOCK     CODE     ---       LVL=0
-      010025A5H   LINE      ---      ---       #30
-      010025B0H   LINE      ---      ---       #31
-      010025B0H   LINE      ---      ---       #32
-      010025BAH   LINE      ---      ---       #33
-      010025D1H   LINE      ---      ---       #35
+      0100259FH   BLOCK     CODE     ---       LVL=0
+      0100259FH   LINE      ---      ---       #30
+      010025AAH   LINE      ---      ---       #31
+      010025AAH   LINE      ---      ---       #32
+      010025B4H   LINE      ---      ---       #33
+      010025CBH   LINE      ---      ---       #35
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FDCH   BLOCK     CODE     ---       LVL=0
@@ -2323,16 +2335,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001ECBH   BLOCK     CODE     ---       LVL=0
-      01001ECBH   LINE      ---      ---       #54
-      01001ED6H   LINE      ---      ---       #55
-      01001ED6H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001ED6H   LINE      ---      ---       #57
-      01001EE2H   LINE      ---      ---       #58
-      01001F0CH   LINE      ---      ---       #59
-      01001F0FH   LINE      ---      ---       #60
-      01001F12H   LINE      ---      ---       #61
-      01001F14H   LINE      ---      ---       #62
+      01001ED1H   BLOCK     CODE     ---       LVL=0
+      01001ED1H   LINE      ---      ---       #54
+      01001EDCH   LINE      ---      ---       #55
+      01001EDCH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001EDCH   LINE      ---      ---       #57
+      01001EE8H   LINE      ---      ---       #58
+      01001F12H   LINE      ---      ---       #59
+      01001F15H   LINE      ---      ---       #60
+      01001F18H   LINE      ---      ---       #61
+      01001F1AH   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2340,12 +2352,12 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      01001768H   PUBLIC    CODE     ---       GPIO_fillpd
-      0100170EH   PUBLIC    CODE     ---       _GPIO_FlipOutBit
-      01001534H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      010025D2H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      0100260BH   PUBLIC    CODE     ---       GPIO_fillpd
+      01001701H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
+      01001527H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
+      010025CCH   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
-      01001547H   PUBLIC    CODE     ---       _GPIO_SetWakeup
+      0100153AH   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
       010007B5H   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
@@ -2358,7 +2370,7 @@
       010007D1H   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
       0100077DH   PUBLIC    CODE     ---       _GPIO_Setout
-      010015F4H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      010015E7H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
       01000852H   BLOCK     CODE     ---       LVL=0
       01000852H   LINE      ---      ---       #9
@@ -2378,25 +2390,25 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010015FAH   BLOCK     CODE     ---       LVL=0
-      010015FAH   LINE      ---      ---       #26
-      010015FCH   LINE      ---      ---       #27
-      010015FCH   BLOCK     CODE     NEAR LAB  LVL=1
-      010015FCH   LINE      ---      ---       #28
-      01001601H   LINE      ---      ---       #29
-      01001602H   LINE      ---      ---       #31
-      01001606H   LINE      ---      ---       #32
-      0100160DH   LINE      ---      ---       #33
-      01001638H   LINE      ---      ---       #35
+      010015EDH   BLOCK     CODE     ---       LVL=0
+      010015EDH   LINE      ---      ---       #26
+      010015EFH   LINE      ---      ---       #27
+      010015EFH   BLOCK     CODE     NEAR LAB  LVL=1
+      010015EFH   LINE      ---      ---       #28
+      010015F4H   LINE      ---      ---       #29
+      010015F5H   LINE      ---      ---       #31
+      010015F9H   LINE      ---      ---       #32
+      01001600H   LINE      ---      ---       #33
+      0100162BH   LINE      ---      ---       #35
       02004E9DH   SYMBOL    XDATA    VOID      queue
       00000006H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010015F4H   BLOCK     CODE     ---       LVL=0
-      010015F4H   LINE      ---      ---       #37
-      010015F4H   LINE      ---      ---       #38
-      010015F4H   LINE      ---      ---       #39
+      010015E7H   BLOCK     CODE     ---       LVL=0
+      010015E7H   LINE      ---      ---       #37
+      010015E7H   LINE      ---      ---       #38
+      010015E7H   LINE      ---      ---       #39
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100077DH   BLOCK     CODE     ---       LVL=0
@@ -2451,69 +2463,69 @@
       010007D0H   LINE      ---      ---       #86
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001547H   BLOCK     CODE     ---       LVL=0
-      01001547H   LINE      ---      ---       #88
-      01001547H   LINE      ---      ---       #89
-      01001547H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001547H   LINE      ---      ---       #92
-      0100154DH   LINE      ---      ---       #94
-      01001551H   LINE      ---      ---       #95
-      01001558H   LINE      ---      ---       #96
-      0100155BH   LINE      ---      ---       #97
-      0100157CH   LINE      ---      ---       #98
-      0100159DH   LINE      ---      ---       #99
-      0100159EH   LINE      ---      ---       #101
-      0100159EH   LINE      ---      ---       #102
-      010015C0H   LINE      ---      ---       #103
-      010015D2H   LINE      ---      ---       #104
-      010015D2H   LINE      ---      ---       #105
+      0100153AH   BLOCK     CODE     ---       LVL=0
+      0100153AH   LINE      ---      ---       #88
+      0100153AH   LINE      ---      ---       #89
+      0100153AH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100153AH   LINE      ---      ---       #92
+      01001540H   LINE      ---      ---       #94
+      01001544H   LINE      ---      ---       #95
+      0100154BH   LINE      ---      ---       #96
+      0100154EH   LINE      ---      ---       #97
+      0100156FH   LINE      ---      ---       #98
+      01001590H   LINE      ---      ---       #99
+      01001591H   LINE      ---      ---       #101
+      01001591H   LINE      ---      ---       #102
+      010015B3H   LINE      ---      ---       #103
+      010015C5H   LINE      ---      ---       #104
+      010015C5H   LINE      ---      ---       #105
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010025D2H   BLOCK     CODE     ---       LVL=0
-      010025D2H   LINE      ---      ---       #107
-      010025D2H   LINE      ---      ---       #108
-      010025D2H   BLOCK     CODE     NEAR LAB  LVL=1
-      010025D2H   LINE      ---      ---       #111
-      010025D6H   LINE      ---      ---       #113
-      010025DAH   LINE      ---      ---       #114
-      010025E1H   LINE      ---      ---       #115
-      01002603H   LINE      ---      ---       #116
-      01002610H   LINE      ---      ---       #117
+      010025CCH   BLOCK     CODE     ---       LVL=0
+      010025CCH   LINE      ---      ---       #107
+      010025CCH   LINE      ---      ---       #108
+      010025CCH   BLOCK     CODE     NEAR LAB  LVL=1
+      010025CCH   LINE      ---      ---       #111
+      010025D0H   LINE      ---      ---       #113
+      010025D4H   LINE      ---      ---       #114
+      010025DBH   LINE      ---      ---       #115
+      010025FDH   LINE      ---      ---       #116
+      0100260AH   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001534H   BLOCK     CODE     ---       LVL=0
-      01001534H   LINE      ---      ---       #119
-      01001539H   LINE      ---      ---       #120
-      01001539H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001539H   LINE      ---      ---       #121
-      0100153DH   LINE      ---      ---       #122
+      01001527H   BLOCK     CODE     ---       LVL=0
+      01001527H   LINE      ---      ---       #119
+      0100152CH   LINE      ---      ---       #120
+      0100152CH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100152CH   LINE      ---      ---       #121
+      01001530H   LINE      ---      ---       #122
       00000021H.0 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100170EH   BLOCK     CODE     ---       LVL=0
-      0100170EH   LINE      ---      ---       #125
-      01001713H   LINE      ---      ---       #126
-      01001713H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001713H   LINE      ---      ---       #127
-      0100171DH   LINE      ---      ---       #128
+      01001701H   BLOCK     CODE     ---       LVL=0
+      01001701H   LINE      ---      ---       #125
+      01001706H   LINE      ---      ---       #126
+      01001706H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001706H   LINE      ---      ---       #127
+      01001710H   LINE      ---      ---       #128
       00000021H.1 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001768H   BLOCK     CODE     ---       LVL=0
-      01001768H   LINE      ---      ---       #131
-      01001768H   LINE      ---      ---       #132
-      01001768H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001768H   LINE      ---      ---       #134
-      0100176AH   LINE      ---      ---       #135
-      0100179BH   LINE      ---      ---       #136
+      0100260BH   BLOCK     CODE     ---       LVL=0
+      0100260BH   LINE      ---      ---       #131
+      0100260BH   LINE      ---      ---       #132
+      0100260BH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100260BH   LINE      ---      ---       #134
+      0100260DH   LINE      ---      ---       #135
+      0100263EH   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2653,5 +2665,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       010005B1H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=788 const=182 code=9563
+Program Size: data=10.2 xdata=788 const=182 code=9609
 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/CK230/c51/output/eeprom.dat	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/output/eeprom.dat	(working copy)
@@ -3696,7 +3696,7 @@
 42
 aa
 55
-13
+41
 26
 02
 05
@@ -5097,8 +5097,8 @@
 05
 b1
 02
-17
-00
+16
+f3
 e4
 93
 a3
@@ -5235,16 +5235,16 @@
 00
 ff
 17
-3c
+2f
 ff
 22
-1d
+0c
 00
 00
 00
 ff
 21
-7e
+b8
 00
 1a
 08
@@ -6575,7 +6575,7 @@
 f9
 12
 18
-16
+1f
 90
 4d
 e7
@@ -7282,7 +7282,7 @@
 25
 12
 1c
-41
+47
 90
 4e
 7b
@@ -7468,7 +7468,7 @@
 64
 12
 24
-aa
+a4
 90
 4e
 57
@@ -8418,7 +8418,7 @@
 aa
 12
 22
-e8
+d7
 90
 4c
 ee
@@ -8511,7 +8511,7 @@
 86
 12
 25
-61
+5b
 90
 0b
 83
@@ -8785,7 +8785,7 @@
 bf
 e0
 60
-5d
+4f
 90
 4c
 e0
@@ -8806,14 +8806,7 @@
 e0
 9e
 40
-48
-c2
-01
-7f
-ff
-12
-07
-7d
+3a
 7b
 01
 7a
@@ -8862,13 +8855,6 @@
 3f
 71
 2c
-d2
-01
-7f
-ff
-12
-07
-7d
 7f
 0a
 12
@@ -8881,9 +8867,9 @@
 f0
 22
 b1
-e1
+d4
 d1
-39
+2c
 12
 0d
 6e
@@ -8904,12 +8890,12 @@
 70
 eb
 91
-9c
+8e
 12
 07
 9f
 b1
-d3
+c6
 80
 fe
 90
@@ -8936,12 +8922,12 @@
 e0
 60
 04
-f1
-02
+d1
+f5
 80
 c6
 91
-9c
+8e
 90
 4d
 3d
@@ -8968,7 +8954,7 @@
 07
 9f
 b1
-d3
+c6
 80
 a7
 80
@@ -9062,8 +9048,9 @@
 0f
 80
 b0
-f1
-68
+12
+20
+1b
 90
 81
 1c
@@ -9081,31 +9068,31 @@
 e4
 ff
 b1
-34
+27
 7f
 01
 b1
-34
+27
 7f
 02
 b1
-34
+27
 7f
 03
 b1
-34
+27
 7f
 04
 b1
-34
+27
 7f
 05
 b1
-34
+27
 7f
 06
 b1
-34
+27
 7f
 07
 80
@@ -9132,7 +9119,7 @@
 ef
 f0
 b1
-f4
+e7
 92
 08
 90
@@ -9150,7 +9137,7 @@
 70
 02
 a1
-d2
+c5
 ef
 54
 07
@@ -9432,8 +9419,8 @@
 7d
 03
 12
-25
-04
+24
+fe
 90
 4e
 84
@@ -9587,7 +9574,7 @@
 dd
 22
 81
-3e
+30
 90
 0b
 7f
@@ -9612,7 +9599,7 @@
 79
 74
 b1
-fa
+ed
 92
 09
 90
@@ -9644,10 +9631,10 @@
 7f
 1d
 f1
-0e
+01
 22
 f1
-2a
+1d
 90
 4c
 e4
@@ -9663,12 +9650,12 @@
 04
 f0
 f1
-56
-f1
-9c
+49
 12
 21
-8e
+c8
+f1
+5b
 02
 0f
 8b
@@ -9688,149 +9675,171 @@
 f0
 12
 23
-a1
-22
-e4
-ff
-ef
-fd
-7c
-00
-24
-78
-fb
-ec
-34
-80
-8b
-82
-f5
-83
-e0
-fe
-ed
-24
-70
-fd
-ec
-34
-80
-8d
-82
-f5
-83
-e0
-4e
-f4
-fe
-ef
-24
-7c
-fd
-ec
-34
-80
-8d
-82
-f5
-83
-ee
-f0
-0f
-ef
-b4
-04
-cf
+9b
 22
 90
 4c
-c5
+ce
 e0
-b4
-03
-12
-c3
+30
+e1
+3e
 90
 4c
-e4
+d0
 e0
+c3
 94
-b0
-90
-4c
-e3
+fa
+50
+03
 e0
-94
 04
-40
-2d
-02
-07
-8f
+f0
 90
 4c
-c5
+d0
 e0
+64
 b4
-01
-14
+70
+37
 90
-4c
-e3
+4d
+dc
 e0
-70
 04
-a3
+f0
 e0
-64
-28
-70
-17
-7f
-22
-12
-0f
-61
+d3
+94
 02
+50
 07
-8f
+e4
 90
 4c
-e3
-e0
-70
-04
-a3
+d0
+f0
+80
+24
+90
+4d
+dc
 e0
-64
-14
-70
+b4
 03
+1d
+90
+4d
+d5
+74
+01
+f0
+e4
+90
+4c
+d0
+f0
 12
 07
 8f
-22
-ad
-07
-ac
-06
+80
+0d
+e4
 90
 4d
-e7
-e0
-64
-02
-60
-0e
-74
-01
+dc
 f0
 90
 4d
-e8
-04
+d5
 f0
-ef
+90
+4c
+d0
+f0
+90
+4c
+ce
+e0
+30
+e4
+2f
+90
+4c
+ed
+74
+0a
+f0
+90
+4c
+d1
+e0
+c3
+94
+fa
+50
+03
+e0
+04
+f0
+90
+4c
+d1
+e0
+b4
+06
+1b
+90
+4c
+c3
+e0
+ff
+60
+03
+b4
+fe
+11
+12
+0f
+ad
+7f
+0a
+12
+0f
+dc
+7f
+0a
+01
+1d
+e4
+90
+4c
+d1
+f0
+22
+ad
+07
+ac
+06
+90
+4d
+e7
+e0
+64
+02
+60
+0e
+74
+01
+f0
+90
+4d
+e8
+04
+f0
+ef
 a3
 f0
 ee
@@ -9890,7 +9899,7 @@
 40
 02
 41
-c5
+cb
 90
 4e
 6f
@@ -9933,7 +9942,7 @@
 60
 02
 41
-bd
+c3
 12
 03
 b6
@@ -9947,9 +9956,9 @@
 01
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 f2
@@ -9960,9 +9969,9 @@
 00
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -9999,9 +10008,9 @@
 b7
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 f4
@@ -10012,9 +10021,9 @@
 00
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -10051,9 +10060,9 @@
 b5
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 f6
@@ -10064,9 +10073,9 @@
 00
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -10103,9 +10112,9 @@
 e9
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 f8
@@ -10116,9 +10125,9 @@
 00
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -10156,9 +10165,9 @@
 0e
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 fa
@@ -10169,9 +10178,9 @@
 01
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -10209,9 +10218,9 @@
 0e
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 d0
@@ -10222,9 +10231,9 @@
 02
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -10263,9 +10272,9 @@
 02
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 d3
@@ -10276,9 +10285,9 @@
 02
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -10317,9 +10326,9 @@
 02
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 d4
@@ -10330,9 +10339,9 @@
 02
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -10371,9 +10380,9 @@
 02
 12
 17
-e0
+e9
 80
-7e
+7b
 eb
 b4
 d6
@@ -10384,9 +10393,9 @@
 02
 12
 17
-e0
+e9
 80
-71
+6e
 90
 4e
 6f
@@ -10423,9 +10432,9 @@
 70
 12
 17
-e0
+e9
 80
-4a
+47
 eb
 b4
 d8
@@ -10436,9 +10445,9 @@
 00
 12
 17
-e0
+e9
 80
-3d
+3a
 90
 4e
 6f
@@ -10470,36 +10479,33 @@
 fe
 b4
 dd
-07
+06
 7f
 01
-12
-17
-fb
+11
+04
 80
-16
+14
 ee
 b4
 de
-07
+06
 7f
 02
-12
-17
-fb
+11
+04
 80
-0b
+0a
 12
 03
 b6
 b4
 df
-05
+04
 7f
 04
-12
-17
-fb
+11
+04
 90
 4d
 e7
@@ -10550,7 +10556,7 @@
 04
 f0
 01
-25
+2e
 22
 90
 4c
@@ -10673,7 +10679,7 @@
 60
 02
 81
-3b
+41
 90
 4d
 e0
@@ -10683,7 +10689,7 @@
 60
 02
 81
-3b
+41
 ed
 24
 c6
@@ -10693,10 +10699,10 @@
 40
 02
 81
-3b
+41
 90
 1b
-62
+68
 75
 f0
 03
@@ -10710,40 +10716,40 @@
 73
 02
 1b
-86
+8c
 02
 1b
-8e
+94
 02
 1b
-96
+9c
 02
 1b
-9e
+a4
 02
 1b
-a6
+ac
 02
 1b
-c1
+c7
 02
 1b
-da
+e0
 02
 1b
-f3
+f9
 02
 1c
-0c
+12
 02
 1c
-14
+1a
 02
 1c
-1c
+22
 02
 1c
-35
+3b
 90
 4e
 97
@@ -10751,7 +10757,7 @@
 f1
 f0
 81
-3b
+41
 90
 4e
 97
@@ -10759,7 +10765,7 @@
 f8
 f0
 81
-3b
+41
 90
 4e
 97
@@ -10767,7 +10773,7 @@
 d7
 f0
 81
-3b
+41
 90
 4e
 97
@@ -10775,7 +10781,7 @@
 d8
 f0
 81
-3b
+41
 af
 06
 7b
@@ -10783,7 +10789,7 @@
 7d
 e0
 51
-c6
+cc
 e4
 90
 4e
@@ -10794,7 +10800,7 @@
 e0
 02
 81
-3b
+41
 90
 4c
 fb
@@ -10810,7 +10816,7 @@
 7d
 e0
 51
-c6
+cc
 e4
 90
 4e
@@ -10835,7 +10841,7 @@
 7d
 e0
 51
-c6
+cc
 e4
 90
 4e
@@ -10860,7 +10866,7 @@
 7d
 e0
 51
-c6
+cc
 e4
 90
 4e
@@ -10901,7 +10907,7 @@
 7d
 e3
 51
-c6
+cc
 e4
 90
 4e
@@ -10958,7 +10964,7 @@
 f0
 12
 20
-15
+4f
 7a
 4d
 79
@@ -10988,7 +10994,7 @@
 79
 bc
 d1
-cb
+d1
 ef
 60
 16
@@ -11001,7 +11007,7 @@
 7d
 14
 d1
-9b
+a1
 ef
 70
 09
@@ -11043,7 +11049,7 @@
 70
 02
 a1
-72
+78
 74
 bc
 2f
@@ -11062,7 +11068,7 @@
 e0
 ff
 d1
-8d
+93
 90
 4e
 2d
@@ -11074,7 +11080,7 @@
 50
 02
 a1
-5b
+61
 e4
 90
 4e
@@ -11212,7 +11218,7 @@
 04
 f0
 81
-d6
+dc
 90
 4e
 26
@@ -11221,7 +11227,7 @@
 60
 08
 d1
-8d
+93
 90
 4e
 2a
@@ -11235,7 +11241,7 @@
 04
 f0
 81
-a5
+ab
 90
 4e
 2a
@@ -11261,7 +11267,7 @@
 70
 02
 c1
-61
+67
 74
 93
 2f
@@ -11316,9 +11322,9 @@
 70
 04
 c1
-59
+5f
 c1
-59
+5f
 90
 4e
 2c
@@ -11408,7 +11414,7 @@
 93
 fd
 51
-eb
+f1
 90
 4e
 2b
@@ -11427,7 +11433,7 @@
 e0
 ff
 f1
-15
+1b
 80
 07
 90
@@ -11436,7 +11442,7 @@
 e0
 ff
 f1
-6b
+71
 90
 4e
 26
@@ -11474,7 +11480,7 @@
 04
 f0
 a1
-7f
+85
 90
 4d
 e7
@@ -11913,6 +11919,58 @@
 22
 e4
 ff
+ef
+fd
+7c
+00
+24
+7c
+fb
+ec
+34
+80
+8b
+82
+f5
+83
+e0
+fe
+ed
+24
+70
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+e0
+4e
+f4
+fe
+ef
+24
+78
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+ee
+f0
+0f
+ef
+b4
+04
+cf
+22
+e4
+ff
 90
 4e
 7e
@@ -12053,7 +12111,7 @@
 f0
 0f
 01
-21
+5b
 e4
 ff
 ef
@@ -12186,7 +12244,7 @@
 f0
 0f
 01
-a6
+e0
 e4
 ff
 ef
@@ -12259,177 +12317,102 @@
 f0
 0f
 80
-b9
-22
-90
-80
-10
-74
-01
-f0
-80
-fe
-22
-80
-f5
-90
-4e
-92
-ed
-f0
-90
-00
-01
-12
-03
-cf
-90
-4e
-93
-f0
-22
-90
-4c
-ce
-e0
-30
-e1
-3e
-90
-4c
-d0
-e0
-c3
-94
-fa
-50
-03
-e0
-04
-f0
-90
-4c
-d0
-e0
-64
-b4
-70
-37
-90
-4d
-dc
-e0
-04
-f0
-e0
-d3
-94
-02
-50
-07
-e4
-90
-4c
-d0
-f0
-80
-24
-90
-4d
-dc
-e0
-b4
-03
-1d
+b9
+22
 90
-4d
-d5
+80
+10
 74
 01
 f0
-e4
-90
-4c
-d0
-f0
-12
-07
-8f
 80
-0d
-e4
+fe
+22
+80
+f5
 90
-4d
-dc
+4e
+92
+ed
 f0
 90
-4d
-d5
-f0
+00
+01
+12
+03
+cf
 90
-4c
-d0
+4e
+93
 f0
+22
 90
 4c
-ce
+c5
 e0
-30
-e4
-30
+b4
+03
+12
+c3
 90
 4c
-ed
-74
-0a
-f0
+e4
+e0
+94
+b0
 90
 4c
-d1
+e3
 e0
-c3
 94
-fa
-50
-03
-e0
 04
-f0
+40
+2d
+02
+07
+8f
 90
 4c
-d1
+c5
 e0
 b4
-06
-1c
+01
+14
 90
 4c
-c3
+e3
 e0
-ff
-60
-03
-b4
-fe
-12
-12
-0f
-ad
+70
+04
+a3
+e0
+64
+28
+70
+17
 7f
-0a
+22
 12
 0f
-dc
-7f
-0a
+61
 02
-10
-1d
-e4
+07
+8f
 90
 4c
-d1
-f0
+e3
+e0
+70
+04
+a3
+e0
+64
+14
+70
+03
+12
+07
+8f
 22
 90
 4c
@@ -12698,6 +12681,17 @@
 12
 02
 06
+7b
+1f
+7a
+85
+79
+6b
+78
+3e
+12
+00
+fb
 c0
 04
 c0
@@ -12766,13 +12760,13 @@
 02
 06
 7b
-b8
+29
 7a
-1e
+5c
 79
-45
+0f
 78
-3f
+3e
 12
 00
 fb
@@ -13443,8 +13437,60 @@
 5c
 f0
 22
-5b
-a1
+e4
+ff
+ef
+fd
+7c
+00
+24
+78
+fb
+ec
+34
+80
+8b
+82
+f5
+83
+e0
+fe
+ed
+24
+70
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+e0
+4e
+f4
+fe
+ef
+24
+7c
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+ee
+f0
+0f
+ef
+b4
+04
+cf
+22
+0a
+f3
 aa
 55
 40
@@ -15495,54 +15541,8 @@
 6c
 59
 50
-f8
-c6
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+46
+bc
 ff
 ff
 ff
@@ -16380,5 +16380,5 @@
 ff
 ff
 ff
-73
-d0
+00
+de
Index: c51/output/fw.hex
===================================================================
--- /YJX_KB_Project/1026_KB/CK230/c51/output/fw.hex	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/output/fw.hex	(working copy)
@@ -85,7 +85,7 @@
 :10054000054A12054A12054AE473E493A3C583C51C
 :10055000F0C583C8C582C8F0A3C583C5F0C583C8EC
 :10056000C582C8228A838982E473787FE4F6D8FD45
-:100570007581CF0205B1021700E493A3F8E493A3B9
+:100570007581CF0205B10216F3E493A3F8E493A3C7
 :100580004003F68001F208DFF48029E493A3F854D5
 :1005900007240CC8C333C4540F4420C8834004F458
 :1005A00056800146F6DFE4800B010204081020406B
@@ -94,7 +94,7 @@
 :1005D000A840B8E493A3FAE493A3F8E493A3C8C5AE
 :1005E00082C8CAC583CAF0A3C8C582C8CAC583CA9F
 :1005F000DFE9DEE780BE524DF1FF117E000000FF13
-:10060000173CFF221D000000FF217E001A08090A86
+:10060000172FFF220C000000FF21B8001A08090A6A
 :100610000B0C0D0E18191714131211151B1C0000CA
 :100620000048DD00DEE4DFE03E142B04291D8B359D
 :100630001E1A3916641B8A3A1F083C073D06883B80
@@ -177,7 +177,7 @@
 :100B0000FAA3E02401F9E43AFA7E00E92FF9EE3A7B
 :100B1000FA1203B6FF64396009EF64536004EFB45E
 :100B20004706904D477403F0904E64E004F080BF98
-:100B3000904E60E0FBA3E0FAA3E0F9121816904D86
+:100B3000904E60E0FBA3E0FAA3E0F912181F904D7D
 :100B4000E7E0B401117402F0904DE8F07B017A4DBA
 :100B500079E87D032106904DE7E0B404137402F0B8
 :100B6000904DE87406F07B017A4D79E87D0321060B
@@ -222,7 +222,7 @@
 :100DD0007405F022904CF7E0B40615E4904CF9F05D
 :100DE000904CF8F0A3E0FDE4FFB134E4904CF7F050
 :100DF00022904E7BE4F0A3F0A3F0F1C45025121C26
-:100E000041904E7BEBF0A3EAF0A3E9F04A70079023
+:100E000047904E7BEBF0A3EAF0A3E9F04A7007901D
 :100E10004CB604F0800E904E7BE0FBA3E0FAA3E01A
 :100E2000F931B922904D47E06035904DD6E0702FF2
 :100E3000904CC5E0B403287B017A4879007D097C99
@@ -233,7 +233,7 @@
 :100E800079E7904E9CE02402FD904E54EBF0A3EAEB
 :100E9000F0A3E9F0A3EDF0904B9CE0FFA3E0904EAF
 :100EA00058CFF0A3EFF0904B9AE0FEA3E0FF904BF9
-:100EB0009CE0FCA3E0FD7B641224AA904E57E0FE68
+:100EB0009CE0FCA3E0FD7B641224A4904E57E0FE6E
 :100EC000EFC39E40E1904E57E0FF14F0EF603F907B
 :100ED0004E54E0FBA3E475F001120424A9F0FA12C9
 :100EE00003B6FF904E58E475F00112042485F08299
@@ -293,12 +293,12 @@
 :10124000F0A3F0904CE3F0A3F0904CEE04F0904C3F
 :10125000F0E0600A120FF4904CF0E0FF011D904C9A
 :10126000EFE0B40105E4F012078F22120CAA12225B
-:10127000E8904CEE7401F0904CE5741EF0E4904C54
+:10127000D7904CEE7401F0904CE5741EF0E4904C65
 :10128000F3F0904D0474FFF02290812CE030E5F9EA
 :1012900022904E4DEEF0A3EFF0904E51EBF0A3EA0A
 :1012A000F0A3E9F0904E4FECF0A3EDF0A3E0F9A32A
 :1012B000E0FAA3E0904E3AC9F0A3EAF0A3E9F0A364
-:1012C000ECF0A3EDF07B017A0B7986122561900B8F
+:1012C000ECF0A3EDF07B017A0B798612255B900B95
 :1012D0008374A0F0904E4DE0FFA3E0900B84CFF01C
 :1012E000A3EFF0904E50E02403FD904E4FE0340009
 :1012F000FCEDFAECFFEAFEEF908098EEF0A3EFF041
@@ -315,297 +315,299 @@
 :1013A000904E2EE0FEA3E0FF904E32E0FBA3E0FA69
 :1013B000A3E0F951917F0A120FDC904E35E0FEA3B5
 :1013C000E0FF904E33EE8FF012040E904E2FE02F80
-:1013D000F0904E2EE03EF0614322904CBFE0605D05
+:1013D000F0904E2EE03EF0614322904CBFE0604F13
 :1013E000904CE0E0FEA3E0FFC3904C96E09F904C51
-:1013F00095E09E4048C2017FFF12077D7B017A4C39
-:1014000079007D047C007FF27E3F712C7B017A4C59
-:1014100079C17D017C007FF87E3F712C7B017A4D84
-:1014200079E07D017C007FF97E3F712CD2017FFF46
-:1014300012077D7F0A120FDCE4904CBFF022B1E16D
-:10144000D139120D6E71DA1206CF900B7EE0146066
-:101450000D24FE70EB919C12079FB1D380FE904C3F
-:10146000EDE07012904CEFE0700C904CE5E07006EF
-:10147000904CFBE06004F10280C6919C904D3DE0F1
-:10148000B4FF12A3E0B4FF0DA3E0B4FF08A3E0B4DF
-:10149000FF0312079FB1D380A780A522E4FF904EDF
-:1014A0009AF0FEFDEF90060C936049EF93FD131345
-:1014B00013541FFEED5407FD7401A805088002C3F4
-:1014C00033D8FCFDEE2478FBE434808B82F583E096
-:1014D000FCEDF4FBEC5BF0EE2470F582E43480F577
-:1014E00083E04DF0EE2474F582E43480F583E05B14
-:1014F000F00F80B0F16890811CE0904E9AF0904D12
-:10150000D5E06020E4FFB1347F01B1347F02B13413
-:101510007F03B1347F04B1347F05B1347F06B13429
-:101520007F078010904E9AE0FF9000A3F0EFF490B8
-:1015300000A7F022904E9EEFF0B1F49208904E9EDC
-:10154000E0FFA208B39207EFF47002A1D2EF5407B4
-:10155000FEEF1313135403FF30074324A3F582E473
-:101560003400F583C083C082E0FD7401A8060880C2
-:1015700002C333D8FCF45DD082D083F074A72FF57A
-:1015800082E43400F583C083C082E0FF7401A806C2
-:10159000088002C333D8FC4FD082D083F02274A3DA
-:1015A0002FF582E43400F583C083C082E0FD74012E
-:1015B000A806088002C333D8FCFC4DD082D083F04B
-:1015C00074A72FF582E43400F583E0FFECF4FEEF1E
-:1015D0005EF022E4900B7FF0900B7EF07F01020F13
-:1015E000DC7B017A4D79F178037C4E7D017E007FB2
-:1015F000120203907B017A81791CAD07E4904E9D25
-:10160000F0FEEF5407F0EF1313135403FEF5827549
-:1016100083001203CFFD3395E0FC904E9DE0FF74F4
-:10162000017E00A807088005C333CE33CED8F9FF6A
-:10163000EE5CFEEF5D4E24FF227A0C794B904E84D7
-:101640007401F0A3740CF0A3744BF0904BA0E0FE77
-:10165000A3E0FF904B9EE06E7003A3E06F60477EB7
-:101660000C7F4B7D03122504904E84E0FBA3E0FA2F
-:10167000A3E0F91203B6B4022B904E85E475F00294
-:1016800012040E904E84E0FBA3E0FAA3E0F91203EB
-:10169000B6FF904E03E0A3E0FAA3E0F5828A83123E
-:1016A0000568800280FE904BA5E0FEA3E0FF904C11
-:1016B0005EE06E7003A3E06F6022904E09E0FBA332
-:1016C000E0FAA3E0F94A6037120564904BA5E0FF09
-:1016D000A3E0904C5ECFF0A3EFF080CA904C8DE079
-:1016E000FFA3E06F6019904E0CE0FBA3E0FAA3E0CB
-:1016F000F94A600B120564904C8DE0A3F080DD2266
-:10170000813E900B7F7401F0E4900B7EF022904EAE
-:101710009FEFF07B017A807974B1FA9209904E9F25
-:10172000E0FFA209B3920102077D904DE4E0B4020C
-:101730000A904CF1E060047F1DF10E22F12A904CDA
-:10174000E4E004F07006904CE3E004F0F156F19C04
-:1017500012218E020F8B904CD3E0600B14F0E070DE
-:10176000067405F01223A122E4FFEFFD7C0024782B
-:10177000FBEC34808B82F583E0FEED2470FDEC34CD
-:10178000808D82F583E04EF4FEEF247CFDEC348006
-:101790008D82F583EEF00FEFB404CF22904CC5E0BC
-:1017A000B40312C3904CE4E094B0904CE3E0940492
-:1017B000402D02078F904CC5E0B40114904CE3E03B
-:1017C0007004A3E0642870177F22120F6102078F54
-:1017D000904CE3E07004A3E06414700312078F22BE
-:1017E000AD07AC06904DE7E06402600E7401F09026
-:1017F0004DE804F0EFA3F0EEA3F022904DE7E06493
-:101800000260127404F0904DE27401F0904DE8749F
-:1018100006F0A3EFF022904E6FEBF0A3EAF0A3E9FD
-:10182000F0E4A3F0F0904E72E0FFC3940640024152
-:10183000C5904E6FE0FBA3E0FAA3E02401F9E43A7F
-:10184000FA7E00E92FF9EE3AFA1203B6FF54F0647B
-:10185000F06009EF54D064D0600241BD1203B6FBC2
-:10186000B4F1097F837E011217E04192EBB4F209D3
-:101870007FCD7E001217E04192904E6FE0FBA3E017
-:10188000FAA3E02401F9E43AFAA3E07E0029F9EE94
-:101890003AFA1203B6FBB4F3077FB71217E041928E
-:1018A000EBB4F4097FB67E001217E04192904E6FC0
-:1018B000E0FBA3E0FAA3E02401F9E43AFAA3E07E16
-:1018C0000029F9EE3AFA1203B6FBB4F5077FB51218
-:1018D00017E04192EBB4F6097FEA7E001217E0416F
-:1018E00092904E6FE0FBA3E0FAA3E02401F9E43A02
-:1018F000FAA3E07E0029F9EE3AFA1203B6FBB4F738
-:10190000077FE91217E04192EBB4F8097FE27E000D
-:101910001217E04192904E6FE0FBA3E0FAA3E0249F
-:1019200001F9E43AFAA3E07E0029F9EE3AFA12034B
-:10193000B6FBB4F9087F940E1217E04192EBB4FAAB
-:10194000097F8A7E011217E04192904E6FE0FBA35F
-:10195000E0FAA3E02401F9E43AFAA3E07E0029F9D1
-:10196000EE3AFA1203B6FBB4FB087F920E1217E0B0
-:101970004192EBB4D0097F2A7E021217E041929087
-:101980004E6FE0FBA3E0FAA3E02401F9E43AFAA3E6
-:10199000E07E0029F9EE3AFA1203B6FBB4D1097FD2
-:1019A000257E021217E04192EBB4D3097F267E0216
-:1019B0001217E04192904E6FE0FBA3E0FAA3E024FF
-:1019C00001F9E43AFAA3E07E0029F9EE3AFA1203AB
-:1019D000B6FBB4D2097F247E021217E04192EBB429
-:1019E000D4097F277E021217E04192904E6FE0FBF0
-:1019F000A3E0FAA3E02401F9E43AFAA3E07E002987
-:101A0000F9EE3AFA1203B6FBB4D5097F217E021231
-:101A100017E0807EEBB4D6097F237E021217E080A8
-:101A200071904E6FE0FBA3E0FAA3E02401F9E43AE1
-:101A3000FAA3E07E0029F9EE3AFA1203B6FBB4D716
-:101A4000077F701217E0804AEBB4D8097F6F7E00E1
-:101A50001217E0803D904E6FE0FBA3E0FAA3E02474
-:101A600001F9E43AFAA3E07E0029F9EE3AFA12030A
-:101A7000B6FEB4DD077F011217FB8016EEB4DE0759
-:101A80007F021217FB800B1203B6B4DF057F04122E
-:101A900017FB904DE7E0B40224904E6FE0FBA3E00B
-:101AA000FAA3E02401F9E43AFAA3E07E0029F9EE72
-:101AB0003AFA1203B6904DE6F0E41203FC904E722F
-:101AC000E004F0012522904CF8EDF0A3EBF0EF30AC
-:101AD000E012904CF7E0B403047402F022904CF74B
-:101AE0007401F022904CF77404F022AE07E4904E9B
-:101AF00097F0EE30E005E4904CFBF0904E97EDF05F
-:101B0000904DDBE064017023EDB4291FEE30E01648
-:101B1000904DE0E06004E4F08006904DE07401F048
-:101B2000904CBF7401F0E4904E97F0904DDBE0B420
-:101B30000106904DE0E06012904DDBE06002813BD9
-:101B4000904DE0E064016002813BED24C6B40C00DE
-:101B50004002813B901B6275F003A4C58325F0C54C
-:101B60008373021B86021B8E021B96021B9E021BA6
-:101B7000A6021BC1021BDA021BF3021C0C021C147E
-:101B8000021C1C021C35904E9774F1F0813B904E64
-:101B90009774F8F0813B904E9774D7F0813B904E4C
-:101BA0009774D8F0813BAF067B047DE051C6E4908A
-:101BB0004E97F0EE20E002813B904CFB740AF080DF
-:101BC0007AAF067B067DE051C6E4904E97F0EE308A
-:101BD000E069904CFB740AF08061AF067B197DE0F0
-:101BE00051C6E4904E97F0EE30E050904CFB740AF2
-:101BF000F08048AF067B1B7DE051C6E4904E97F025
-:101C0000EE30E037904CFB740AF0802F904E9774C2
-:101C1000D6F08027904E9774FAF0801FAF067B0CA9
-:101C20007DE351C6E4904E97F0EF30E00E904CFB10
-:101C3000740AF08006904E9774D0F0904E97E0FFB3
-:101C400022E4904E23F0A3F0A3F0A3F0A3F0A3F0BE
-:101C5000A3F0A3F0A3F0A3F0A3F01220157A4D791E
-:101C6000A8904E497401F0A3744DF0A374A8F0A39A
-:101C70007414F07B017A4D79BCD1CBEF60167B01F7
-:101C80007A4D79BC7D14D19BEF7009904CCEE04425
-:101C900002F0800C904CCEE054FDF0E4904CD0F07B
-:101CA000E4904E23F0904E23E0FF90060C937002D8
-:101CB000A17274BC2FF582E4344DF583E0904E267A
-:101CC000F0E0FFD18D904E2DEFF0C394025002A1B1
-:101CD0005BE4904E24F0904E24E0FFC39408507BC8
-:101CE00074017E00A807088005C333CE33CED8F92F
-:101CF000FF904E26E0FDE4EF5D6058E4904E25F045
-:101D0000904E25E0FF90060C936048904E23E0FE35
-:101D1000EF6E6037904E25E024BCF582E4344DF53B
-:101D200083E0FD7C00904E24E0FF74017E00A80754
-:101D3000088005C333CE33CED8F9FFEE5CFEEF5DED
-:101D40004E6008904E2C7401F08008904E25E004FF
-:101D5000F080AD904E24E004F081D6904E26E0FF56
-:101D60006008D18D904E2AE02FF0904E23E004F0D1
-:101D700081A5904E2AE0904DDDF0E4904E23F09046
-:101D80004E23E0FF90060C937002C16174932FF50F
-:101D900082E4344DF583E0FE74BC2FF582E4344DCB
-:101DA000F583E06E904E26F0904E23E0FF24BCF5C4
-:101DB00082E4344DF583E0904E29F0904E26E07099
-:101DC00004C159C159904E2CE060077B007A00791C
-:101DD000002274BC2FF582E4344DF583E0FE749349
-:101DE0002FF582E4344DF583EEF0E4904E24F0902C
-:101DF0004E24E0FFC39408505A904E26E030E03B5A
-:101E0000904E23E0FE33333354F8FEEF4E904E28CD
-:101E1000F0A3E0FF904E28E090062193FD51EB9057
-:101E20004E2BEFF0904E29E030E009904E2BE0FF72
-:101E3000F1158007904E2BE0FFF16B904E26E0FFEE
-:101E4000C313F0904E29E0FFC313F0904E24E0043A
-:101E5000F0809C904E277401F0904E23E004F0A196
-:101E60007F904DE7E0B4030A904DD8E0B4010374CD
-:101E700002F0904E27E07007904DD8E0B402077B47
-:101E8000017A4E793F227B007A00790022E4FEEF4E
-:101E90006006145FFF0E80F7AF0622904E81EBF0D4
-:101EA000A3EAF0A3E9F0E4FFEFC39D501B904E813D
-:101EB000E0FBA3E0FAA3E0F98F827583001203CF61
-:101EC00060037F00220F80E07F0122904E46EBF0FE
-:101ED000A3EAF0A3E9F0E4FF904E4CE0FEEFC39ECE
-:101EE0005030904E49E0FBA3E0FAA3E0F98F8275F1
-:101EF00083001203CFFE904E46E0FBA3E0FAA3E07E
-:101F0000F98F827583001203CF6E60037F00220F6A
-:101F100080C67F0122E4FEEFC394E04020EFD3941B
-:101F2000E7501A904E3FE0FEEF5407FF7401A807F8
-:101F3000088002C333D8FC4E904E3FF022E4FE747A
-:101F4000402EF582E4344EF583E0FD6F601CED70A9
-:101F500014904DE6E06F601274402EF582E4344E2A
-:101F6000F583EFF0220EEEB406D522E4FEFDEF5429
-:101F7000F064F06007EF54D0FCBCD00C904DE7E06B
-:101F8000B4020B7403F08006904DD87401F0EFC3D7
-:101F900094E04021EFD394E7501B904E3FE0FEEFDA
-:101FA0005407FF7401A807088002C333D8FCF45E0D
-:101FB000904E3FF022E4FEED702174402EF582E455
-:101FC000344EF583E06F7047EEB4050B2440F58284
-:101FD000E4344EF583E4F07D01803474402EF582C4
-:101FE000E4344EF583E0FC743F2EF582E4344EF584
-:101FF00083ECF074402EF582E4344EF583E06014F7
-:10200000EEB4050B2440F582E4344EF583E4F00E83
-:10201000EEB406A322E4FF904E7EF0FEFDA3F0A3F3
-:10202000F0EF90060C93607CEF93FD131313541F95
-:10203000FEED5407FD7401A805088002C333D8FCE7
-:10204000FDEE2478FBE434808B82F583E0FCEDF434
-:10205000FBEC5BF0EE2470F582E43480F583E04D18
-:10206000F0EE2474F582E43480F583E05BF0908137
-:102070001CE0F4FC74BC2FF582E4344DF583ECF0E5
-:10208000EE2478FBE434808B82F583E04DF0EE247F
-:1020900070FBE434808B82F583E0FCEDF4FBEC5BB9
-:1020A000F00F0121E4FFEF90060C93607CEF93FDAD
-:1020B000131313541FFEED5407FD7401A805088087
-:1020C00002C333D8FCFDEE2478FBE434808B82F528
-:1020D00083E0FCEDF4FBEC5BF0EE2470F582E4347D
-:1020E00080F583E04DF0EE2474F582E43480F583CE
-:1020F000E05BF090811CE0F4FC74A82FF582E434DE
-:102100004DF583ECF0EE2478FBE434808B82F5838C
-:10211000E04DF0EE2470FBE434808B82F583E0FC2C
-:10212000EDF4FBEC5BF00F01A6E4FFEF90060C93DF
-:10213000604074BC2FF582E4344DF583E0FE74A852
-:102140002FF582E4344DF583E06E602374BC2FF5E7
-:1021500082E4344DF583C083C082E0FE74A82FF57D
-:1021600082E4344DF583E0FDEE5DD082D083F00F44
-:1021700080B9229080107401F080FE2280F5904E8C
-:1021800092EDF09000011203CF904E93F022904C0C
-:10219000CEE030E13E904CD0E0C394FA5003E0042E
-:1021A000F0904CD0E064B47037904DDCE004F0E087
-:1021B000D394025007E4904CD0F08024904DDCE0A2
-:1021C000B4031D904DD57401F0E4904CD0F012078B
-:1021D0008F800DE4904DDCF0904DD5F0904CD0F018
-:1021E000904CCEE030E430904CED740AF0904CD13D
-:1021F000E0C394FA5003E004F0904CD1E0B4061C24
-:10220000904CC3E0FF6003B4FE12120FAD7F0A12C0
-:102210000FDC7F0A02101DE4904CD1F022904CEDAF
-:10222000E0600214F0904CF2E0600214F0904CFB7D
-:10223000E0600B14F0E07006904CF77406F0904CE0
-:10224000E5E06028904CF1E06006E4904CE5F02277
-:10225000904CE5E014F0D2017F1D12077D904CE513
-:10226000E07034C2017F1D12077D802B904CF1E09D
-:102270007025904CE2E0601F14F0E030E109D201DB
-:102280007F1D12077D8007C2017F1D12077D904CC4
-:10229000E2E070037404F0904DD5E07036904DD6B6
-:1022A000E06401702E904CE3F0A3F0904DD6F090D6
-:1022B0004DE8E0600D7B017A4D79E87D0312090657
-:1022C0008011904800E0600B7B017A4879007D091D
-:1022D000120906904DDFE0600EE014F0E070089007
-:1022E0004D47E06002E4F022904CD37405F0E4A383
-:1022F000F0904C907437F0E4FFEF25E024D6F5829F
-:10230000E4344CF5837479F0A3F00FEFB404EA9051
-:102310004C91E0FEA3E0FFC3904C94E09FFD904CF5
-:1023200093E09EFCE4120206C004C005C006C0078C
-:10233000904C91E0FCA3E0FDE4120206D003D00231
-:10234000D001D00012000A12023F904CDEEEF0A342
-:10235000EFF0904C91E0FEA3E0FFC3904C94E09F1F
-:10236000FD904C93E09EFCE41202067BB87A1E7945
-:1023700045783F1200FBC004C005C006C007904C62
-:1023800091E0FCA3E0FDE4120206D003D002D001EC
-:10239000D00012000A12023F904CE0EEF0A3EFF0E2
-:1023A00022904E6612053300000000904C95E0FE2E
-:1023B000A3E0FF904CD4E0FD04F0ED25E024D6F539
-:1023C00082E4344CF583EEF0A3EFF0904CD4E0C3FC
-:1023D00094044002E4F0E4904E65F0904E66E0F81C
-:1023E000A3E0F9A3E0FAA3E0FB904E65E025E0242A
-:1023F000D6F582E4344CF583E0FEA3E0FFE4FCFD77
-:10240000EB2FFFEA3EFEED39FDEC38FC904E6612F4
-:102410000527904E65E004F0E0B404BF904E66E0FE
-:10242000FCA3E0FDA3E0FEA3E0FFE47B04FAF9F8DF
-:10243000120476904E66120527904CE0E0FEA3E071
-:10244000FFE4FCFD904E66E0F8A3E0F9A3E0FAA3F8
-:10245000E0FBC31205165007904CD57402F0229091
-:102460004CDEE0FEA3E0FFE4FCFD904E66E0F8A346
-:10247000E0F9A3E0FAA3E0FBC31205165017904C55
-:10248000D57401F0E4904D3DF0A37448F0A37412AC
-:10249000F0E4A3F022E4904CD5F0904D3DF0A3740D
-:1024A00048F0A3745DF0E4A3F022904E73EEF0A325
-:1024B000EFF0904E75ECF0A3EDF0904E75E0FEA3BA
-:1024C000E0FFD3904E74E09F904E73E09E401690D4
-:1024D0004E75E0FEA3E0FF904E74E09FFF904E73B8
-:1024E000E09EFE801E904E73E0FEA3E0FFC3904E80
-:1024F00076E09FFF904E75E09EFEAD03C3EB9FFF1D
-:10250000E49EFE22904E94EEF0A3EFF0A905904BCE
-:102510009EE0FEA3E0FFAD0119ED602F0FEFAC06CA
-:1025200070010E14F5828C83E0FD904E94E475F0FA
-:102530000112042485F082F583EDF0AD07AC06BCF2
-:102540004BD4BD9AD17E4B7F3680CB904B9EEEF024
-:10255000A3EFF022900446E0FF229082807401F005
-:1025600022904E37EBF0A3EAF0A3E9F0904E3D74D1
-:10257000FFF5F012042445F0602A904E3AE0FBA3E8
-:10258000E475F001120424A9F0FA1203B6FF904E8C
-:1025900037E0FBA3E475F001120424A9F0FAEF126E
-:1025A00003FC80C822904E8AEBF0A3EAF0A3E9F086
-:1025B000ED1DAE0470011C4E6017904E8AE0FBA327
-:1025C000E475F001120424A9F0FA74FF1203FC80F0
-:1025D000DF22EFF4603AEF5407FEEF1313135403B6
-:1025E000FF24A3F582E43400F583C083C082E0FDBC
-:1025F0007401A806088002C333D8FCF4FC5DD082C5
-:10260000D083F074A72FF582E43400F583E05CF00A
-:0126100022A7
+:1013F00095E09E403A7B017A4C79007D047C007F29
+:10140000F27E3F712C7B017A4C79C17D017C007F9B
+:10141000F87E3F712C7B017A4D79E07D017C007F65
+:10142000F97E3F712C7F0A120FDCE4904CBFF02252
+:10143000B1D4D12C120D6E71DA1206CF900B7EE072
+:1014400014600D24FE70EB918E12079FB1C680FED2
+:10145000904CEDE07012904CEFE0700C904CE5E099
+:101460007006904CFBE06004D1F580C6918E904DE3
+:101470003DE0B4FF12A3E0B4FF0DA3E0B4FF08A366
+:10148000E0B4FF0312079FB1C680A780A522E4FF46
+:10149000904E9AF0FEFDEF90060C936049EF93FD9D
+:1014A000131313541FFEED5407FD7401A8050880A3
+:1014B00002C333D8FCFDEE2478FBE434808B82F544
+:1014C00083E0FCEDF4FBEC5BF0EE2470F582E43499
+:1014D00080F583E04DF0EE2474F582E43480F583EA
+:1014E000E05BF00F80B012201B90811CE0904E9AC0
+:1014F000F0904DD5E06020E4FFB1277F01B1277F58
+:1015000002B1277F03B1277F04B1277F05B1277F71
+:1015100006B1277F078010904E9AE0FF9000A3F05D
+:10152000EFF49000A7F022904E9EEFF0B1E7920802
+:10153000904E9EE0FFA208B39207EFF47002A1C59F
+:10154000EF5407FEEF1313135403FF30074324A394
+:10155000F582E43400F583C083C082E0FD7401A805
+:1015600006088002C333D8FCF45DD082D083F074C7
+:10157000A72FF582E43400F583C083C082E0FF74B6
+:1015800001A806088002C333D8FC4FD082D083F074
+:101590002274A32FF582E43400F583C083C082E077
+:1015A000FD7401A806088002C333D8FCFC4DD0822C
+:1015B000D083F074A72FF582E43400F583E0FFECCC
+:1015C000F4FEEF5EF022E4900B7FF0900B7EF07F54
+:1015D00001020FDC7B017A4D79F178037C4E7D01AD
+:1015E0007E007F120203907B017A81791CAD07E4B3
+:1015F000904E9DF0FEEF5407F0EF1313135403FECB
+:10160000F5827583001203CFFD3395E0FC904E9D6B
+:10161000E0FF74017E00A807088005C333CE33CEF7
+:10162000D8F9FFEE5CFEEF5D4E24FF227A0C794B79
+:10163000904E847401F0A3740CF0A3744BF0904BA3
+:10164000A0E0FEA3E0FF904B9EE06E7003A3E06F6E
+:1016500060477E0C7F4B7D031224FE904E84E0FB9E
+:10166000A3E0FAA3E0F91203B6B4022B904E85E48E
+:1016700075F00212040E904E84E0FBA3E0FAA3E0A2
+:10168000F91203B6FF904E03E0A3E0FAA3E0F5825F
+:101690008A83120568800280FE904BA5E0FEA3E0DD
+:1016A000FF904C5EE06E7003A3E06F6022904E09E5
+:1016B000E0FBA3E0FAA3E0F94A6037120564904B1F
+:1016C000A5E0FFA3E0904C5ECFF0A3EFF080CA90BE
+:1016D0004C8DE0FFA3E06F6019904E0CE0FBA3E09F
+:1016E000FAA3E0F94A600B120564904C8DE0A3F078
+:1016F00080DD228130900B7F7401F0E4900B7EF04E
+:1017000022904E9FEFF07B017A807974B1ED9209BF
+:10171000904E9FE0FFA209B3920102077D904DE435
+:10172000E0B4020A904CF1E060047F1DF10122F167
+:101730001D904CE4E004F07006904CE3E004F0F1FE
+:10174000491221C8F15B020F8B904CD3E0600B145F
+:10175000F0E070067405F012239B22904CCEE0302E
+:10176000E13E904CD0E0C394FA5003E004F0904C7A
+:10177000D0E064B47037904DDCE004F0E0D3940224
+:101780005007E4904CD0F08024904DDCE0B4031D71
+:10179000904DD57401F0E4904CD0F012078F800D7D
+:1017A000E4904DDCF0904DD5F0904CD0F0904CCEC4
+:1017B000E030E42F904CED740AF0904CD1E0C394EB
+:1017C000FA5003E004F0904CD1E0B4061B904CC3F7
+:1017D000E0FF6003B4FE11120FAD7F0A120FDC7F31
+:1017E0000A011DE4904CD1F022AD07AC06904DE704
+:1017F000E06402600E7401F0904DE804F0EFA3F095
+:10180000EEA3F022904DE7E0640260127404F090C1
+:101810004DE27401F0904DE87406F0A3EFF02290D1
+:101820004E6FEBF0A3EAF0A3E9F0E4A3F0F0904EE2
+:1018300072E0FFC39406400241CB904E6FE0FBA3E1
+:10184000E0FAA3E02401F9E43AFA7E00E92FF9EE88
+:101850003AFA1203B6FF54F064F06009EF54D06412
+:10186000D0600241C31203B6FBB4F1097F837E014D
+:101870001217E94198EBB4F2097FCD7E001217E907
+:101880004198904E6FE0FBA3E0FAA3E02401F9E455
+:101890003AFAA3E07E0029F9EE3AFA1203B6FBB455
+:1018A000F3077FB71217E94198EBB4F4097FB67ECE
+:1018B000001217E94198904E6FE0FBA3E0FAA3E015
+:1018C0002401F9E43AFAA3E07E0029F9EE3AFA128B
+:1018D00003B6FBB4F5077FB51217E94198EBB4F6F0
+:1018E000097FEA7E001217E94198904E6FE0FBA352
+:1018F000E0FAA3E02401F9E43AFAA3E07E0029F932
+:10190000EE3AFA1203B6FBB4F7077FE91217E94182
+:1019100098EBB4F8097FE27E001217E94198904EE7
+:101920006FE0FBA3E0FAA3E02401F9E43AFAA3E0B4
+:101930007E0029F9EE3AFA1203B6FBB4F9087F9457
+:101940000E1217E94198EBB4FA097F8A7E0112174B
+:10195000E94198904E6FE0FBA3E0FAA3E02401F97F
+:10196000E43AFAA3E07E0029F9EE3AFA1203B6FB54
+:10197000B4FB087F920E1217E94198EBB4D0097FAF
+:101980002A7E021217E94198904E6FE0FBA3E0FA1D
+:10199000A3E02401F9E43AFAA3E07E0029F9EE3A43
+:1019A000FA1203B6FBB4D1097F257E021217E94172
+:1019B00098EBB4D3097F267E021217E94198904E26
+:1019C0006FE0FBA3E0FAA3E02401F9E43AFAA3E014
+:1019D0007E0029F9EE3AFA1203B6FBB4D2097F244D
+:1019E0007E021217E94198EBB4D4097F277E0212D8
+:1019F00017E94198904E6FE0FBA3E0FAA3E02401C1
+:101A0000F9E43AFAA3E07E0029F9EE3AFA1203B6B5
+:101A1000FBB4D5097F217E021217E9807BEBB4D697
+:101A2000097F237E021217E9806E904E6FE0FBA3C0
+:101A3000E0FAA3E02401F9E43AFAA3E07E0029F9F0
+:101A4000EE3AFA1203B6FBB4D7077F701217E9809B
+:101A500047EBB4D8097F6F7E001217E9803A904EA9
+:101A60006FE0FBA3E0FAA3E02401F9E43AFAA3E073
+:101A70007E0029F9EE3AFA1203B6FEB4DD067F01C4
+:101A800011048014EEB4DE067F021104800A1203F2
+:101A9000B6B4DF047F041104904DE7E0B402249053
+:101AA0004E6FE0FBA3E0FAA3E02401F9E43AFAA3C5
+:101AB000E07E0029F9EE3AFA1203B6904DE6F0E422
+:101AC0001203FC904E72E004F0012E22904CF8EDCF
+:101AD000F0A3EBF0EF30E012904CF7E0B4030474A5
+:101AE00002F022904CF77401F022904CF77404F04D
+:101AF00022AE07E4904E97F0EE30E005E4904CFB08
+:101B0000F0904E97EDF0904DDBE064017023EDB462
+:101B1000291FEE30E016904DE0E06004E4F080060E
+:101B2000904DE07401F0904CBF7401F0E4904E973A
+:101B3000F0904DDBE0B40106904DE0E06012904D76
+:101B4000DBE060028141904DE0E064016002814190
+:101B5000ED24C6B40C0040028141901B6875F0036F
+:101B6000A4C58325F0C58373021B8C021B94021B42
+:101B70009C021BA4021BAC021BC7021BE0021BF948
+:101B8000021C12021C1A021C22021C3B904E97746B
+:101B9000F1F08141904E9774F8F08141904E977426
+:101BA000D7F08141904E9774D8F08141AF067B0405
+:101BB0007DE051CCE4904E97F0EE20E00281419020
+:101BC0004CFB740AF0807AAF067B067DE051CCE4D2
+:101BD000904E97F0EE30E069904CFB740AF0806113
+:101BE000AF067B197DE051CCE4904E97F0EE30E0EB
+:101BF00050904CFB740AF08048AF067B1B7DE0518F
+:101C0000CCE4904E97F0EE30E037904CFB740AF045
+:101C1000802F904E9774D6F08027904E9774FAF0EC
+:101C2000801FAF067B0C7DE351CCE4904E97F0EF24
+:101C300030E00E904CFB740AF08006904E9774D002
+:101C4000F0904E97E0FF22E4904E23F0A3F0A3F033
+:101C5000A3F0A3F0A3F0A3F0A3F0A3F0A3F0A3F0EC
+:101C600012204F7A4D79A8904E497401F0A3744D1B
+:101C7000F0A374A8F0A37414F07B017A4D79BCD161
+:101C8000D1EF60167B017A4D79BC7D14D1A1EF7044
+:101C900009904CCEE04402F0800C904CCEE054FD14
+:101CA000F0E4904CD0F0E4904E23F0904E23E0FF0F
+:101CB00090060C937002A17874BC2FF582E4344D29
+:101CC000F583E0904E26F0E0FFD193904E2DEFF09B
+:101CD000C394025002A161E4904E24F0904E24E09F
+:101CE000FFC39408507B74017E00A807088005C3D9
+:101CF00033CE33CED8F9FF904E26E0FDE4EF5D60A1
+:101D000058E4904E25F0904E25E0FF90060C93602D
+:101D100048904E23E0FEEF6E6037904E25E024BCE5
+:101D2000F582E4344DF583E0FD7C00904E24E0FF25
+:101D300074017E00A807088005C333CE33CED8F9DE
+:101D4000FFEE5CFEEF5D4E6008904E2C7401F0805B
+:101D500008904E25E004F080AD904E24E004F08120
+:101D6000DC904E26E0FF6008D193904E2AE02FF0E1
+:101D7000904E23E004F081AB904E2AE0904DDDF0D0
+:101D8000E4904E23F0904E23E0FF90060C937002F7
+:101D9000C16774932FF582E4344DF583E0FE74BC83
+:101DA0002FF582E4344DF583E06E904E26F0904E90
+:101DB00023E0FF24BCF582E4344DF583E0904E2906
+:101DC000F0904E26E07004C15FC15F904E2CE06041
+:101DD000077B007A0079002274BC2FF582E4344D31
+:101DE000F583E0FE74932FF582E4344DF583EEF035
+:101DF000E4904E24F0904E24E0FFC39408505A9093
+:101E00004E26E030E03B904E23E0FE33333354F86F
+:101E1000FEEF4E904E28F0A3E0FF904E28E0900693
+:101E20002193FD51F1904E2BEFF0904E29E030E0E0
+:101E300009904E2BE0FFF11B8007904E2BE0FFF145
+:101E400071904E26E0FFC313F0904E29E0FFC313BC
+:101E5000F0904E24E004F0809C904E277401F090A6
+:101E60004E23E004F0A185904DE7E0B4030A904DC5
+:101E7000D8E0B401037402F0904E27E07007904D53
+:101E8000D8E0B402077B017A4E793F227B007A00CA
+:101E9000790022E4FEEF6006145FFF0E80F7AF06C4
+:101EA00022904E81EBF0A3EAF0A3E9F0E4FFEFC348
+:101EB0009D501B904E81E0FBA3E0FAA3E0F98F82D6
+:101EC0007583001203CF60037F00220F80E07F0143
+:101ED00022904E46EBF0A3EAF0A3E9F0E4FF904E27
+:101EE0004CE0FEEFC39E5030904E49E0FBA3E0FA79
+:101EF000A3E0F98F827583001203CFFE904E46E077
+:101F0000FBA3E0FAA3E0F98F827583001203CF6E82
+:101F100060037F00220F80C67F0122E4FEEFC3949E
+:101F2000E04020EFD394E7501A904E3FE0FEEF548C
+:101F300007FF7401A807088002C333D8FC4E904EF7
+:101F40003FF022E4FE74402EF582E4344EF583E047
+:101F5000FD6F601CED7014904DE6E06F60127440F0
+:101F60002EF582E4344EF583EFF0220EEEB406D562
+:101F700022E4FEFDEF54F064F06007EF54D0FCBCA7
+:101F8000D00C904DE7E0B4020B7403F08006904D46
+:101F9000D87401F0EFC394E04021EFD394E7501BD5
+:101FA000904E3FE0FEEF5407FF7401A8070880023F
+:101FB000C333D8FCF45E904E3FF022E4FEED702176
+:101FC00074402EF582E4344EF583E06F7047EEB432
+:101FD000050B2440F582E4344EF583E4F07D018066
+:101FE0003474402EF582E4344EF583E0FC743F2EC9
+:101FF000F582E4344EF583ECF074402EF582E4343F
+:102000004EF583E06014EEB4050B2440F582E43411
+:102010004EF583E4F00EEEB406A322E4FFEFFD7C60
+:1020200000247CFBEC34808B82F583E0FEED247091
+:10203000FDEC34808D82F583E04EF4FEEF2478FDD4
+:10204000EC34808D82F583EEF00FEFB404CF22E400
+:10205000FF904E7EF0FEFDA3F0A3F0EF90060C93F0
+:10206000607CEF93FD131313541FFEED5407FD74B2
+:1020700001A805088002C333D8FCFDEE2478FBE4F8
+:1020800034808B82F583E0FCEDF4FBEC5BF0EE2416
+:1020900070F582E43480F583E04DF0EE2474F5822F
+:1020A000E43480F583E05BF090811CE0F4FC74BCC8
+:1020B0002FF582E4344DF583ECF0EE2478FBE43424
+:1020C000808B82F583E04DF0EE2470FBE434808B4E
+:1020D00082F583E0FCEDF4FBEC5BF00F015BE4FFC9
+:1020E000EF90060C93607CEF93FD131313541FFEC7
+:1020F000ED5407FD7401A805088002C333D8FCFD28
+:10210000EE2478FBE434808B82F583E0FCEDF4FB75
+:10211000EC5BF0EE2470F582E43480F583E04DF062
+:10212000EE2474F582E43480F583E05BF090811C4A
+:10213000E0F4FC74A82FF582E4344DF583ECF0EE66
+:102140002478FBE434808B82F583E04DF0EE24703C
+:10215000FBE434808B82F583E0FCEDF4FBEC5BF078
+:102160000F01E0E4FFEF90060C93604074BC2FF584
+:1021700082E4344DF583E0FE74A82FF582E4344DFB
+:10218000F583E06E602374BC2FF582E4344DF58353
+:10219000C083C082E0FE74A82FF582E4344DF5833D
+:1021A000E0FDEE5DD082D083F00F80B922908010E8
+:1021B0007401F080FE2280F5904E92EDF0900001C7
+:1021C0001203CF904E93F022904CC5E0B40312C39B
+:1021D000904CE4E094B0904CE3E09404402D02076E
+:1021E0008F904CC5E0B40114904CE3E07004A3E080
+:1021F000642870177F22120F6102078F904CE3E072
+:102200007004A3E06414700312078F22904CEDE079
+:10221000600214F0904CF2E0600214F0904CFBE08D
+:10222000600B14F0E07006904CF77406F0904CE5EB
+:10223000E06028904CF1E06006E4904CE5F02290DC
+:102240004CE5E014F0D2017F1D12077D904CE5E0D3
+:102250007034C2017F1D12077D802B904CF1E0701D
+:1022600025904CE2E0601F14F0E030E109D2017FDC
+:102270001D12077D8007C2017F1D12077D904CE271
+:10228000E070037404F0904DD5E07036904DD6E0C8
+:102290006401702E904CE3F0A3F0904DD6F0904D79
+:1022A000E8E0600D7B017A4D79E87D031209068034
+:1022B00011904800E0600B7B017A4879007D09129B
+:1022C0000906904DDFE0600EE014F0E07008904DDC
+:1022D00047E06002E4F022904CD37405F0E4A3F0F0
+:1022E000904C907437F0E4FFEF25E024D6F582E4BB
+:1022F000344CF5837479F0A3F00FEFB404EA904CFA
+:1023000091E0FEA3E0FFC3904C94E09FFD904C93BE
+:10231000E09EFCE41202067B1F7A85796B783E1200
+:1023200000FBC004C005C006C007904C91E0FCA3B0
+:10233000E0FDE4120206D003D002D001D00012006A
+:102340000A12023F904CDEEEF0A3EFF0904C91E0C9
+:10235000FEA3E0FFC3904C94E09FFD904C93E09E61
+:10236000FCE41202067B297A5C790F783E1200FBAE
+:10237000C004C005C006C007904C91E0FCA3E0FD7E
+:10238000E4120206D003D002D001D00012000A12DB
+:10239000023F904CE0EEF0A3EFF022904E66120563
+:1023A0003300000000904C95E0FEA3E0FF904CD479
+:1023B000E0FD04F0ED25E024D6F582E4344CF5830D
+:1023C000EEF0A3EFF0904CD4E0C394044002E4F0AC
+:1023D000E4904E65F0904E66E0F8A3E0F9A3E0FAD1
+:1023E000A3E0FB904E65E025E024D6F582E4344C72
+:1023F000F583E0FEA3E0FFE4FCFDEB2FFFEA3EFEE9
+:10240000ED39FDEC38FC904E66120527904E65E0E4
+:1024100004F0E0B404BF904E66E0FCA3E0FDA3E04E
+:10242000FEA3E0FFE47B04FAF9F8120476904E660E
+:10243000120527904CE0E0FEA3E0FFE4FCFD904E87
+:1024400066E0F8A3E0F9A3E0FAA3E0FBC3120516E7
+:102450005007904CD57402F022904CDEE0FEA3E0D1
+:10246000FFE4FCFD904E66E0F8A3E0F9A3E0FAA3D8
+:10247000E0FBC31205165017904CD57401F0E490A0
+:102480004D3DF0A37448F0A37412F0E4A3F022E4ED
+:10249000904CD5F0904D3DF0A37448F0A3745DF0DE
+:1024A000E4A3F022904E73EEF0A3EFF0904E75ECA3
+:1024B000F0A3EDF0904E75E0FEA3E0FFD3904E74D4
+:1024C000E09F904E73E09E4016904E75E0FEA3E0B4
+:1024D000FF904E74E09FFF904E73E09EFE801E9032
+:1024E0004E73E0FEA3E0FFC3904E76E09FFF904E58
+:1024F00075E09EFEAD03C3EB9FFFE49EFE22904E6F
+:1025000094EEF0A3EFF0A905904B9EE0FEA3E0FF50
+:10251000AD0119ED602F0FEFAC0670010E14F582BE
+:102520008C83E0FD904E94E475F00112042485F054
+:1025300082F583EDF0AD07AC06BC4BD4BD9AD17EDD
+:102540004B7F3680CB904B9EEEF0A3EFF0229004B1
+:1025500046E0FF229082807401F022904E37EBF02B
+:10256000A3EAF0A3E9F0904E3D74FFF5F0120424C5
+:1025700045F0602A904E3AE0FBA3E475F0011204A6
+:1025800024A9F0FA1203B6FF904E37E0FBA3E475DE
+:10259000F001120424A9F0FAEF1203FC80C8229083
+:1025A0004E8AEBF0A3EAF0A3E9F0ED1DAE04700152
+:1025B0001C4E6017904E8AE0FBA3E475F0011204F4
+:1025C00024A9F0FA74FF1203FC80DF22EFF4603AD2
+:1025D000EF5407FEEF1313135403FF24A3F582E413
+:1025E0003400F583C083C082E0FD7401A806088032
+:1025F00002C333D8FCF4FC5DD082D083F074A72FE3
+:10260000F582E43400F583E05CF022E4FFEFFD7C2A
+:10261000002478FBEC34808B82F583E0FEED24709F
+:10262000FDEC34808D82F583E04EF4FEEF247CFDDA
+:0F263000EC34808D82F583EEF00FEFB404CF22EF
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /YJX_KB_Project/1026_KB/CK230/c51/output/fwram.rom	(revision 372)
+++ /YJX_KB_Project/1026_KB/CK230/c51/output/fwram.rom	(working copy)
@@ -1397,8 +1397,8 @@
 05
 b1
 02
-17
-00
+16
+f3
 e4
 93
 a3
@@ -1535,16 +1535,16 @@
 00
 ff
 17
-3c
+2f
 ff
 22
-1d
+0c
 00
 00
 00
 ff
 21
-7e
+b8
 00
 1a
 08
@@ -2875,7 +2875,7 @@
 f9
 12
 18
-16
+1f
 90
 4d
 e7
@@ -3582,7 +3582,7 @@
 25
 12
 1c
-41
+47
 90
 4e
 7b
@@ -3768,7 +3768,7 @@
 64
 12
 24
-aa
+a4
 90
 4e
 57
@@ -4718,7 +4718,7 @@
 aa
 12
 22
-e8
+d7
 90
 4c
 ee
@@ -4811,7 +4811,7 @@
 86
 12
 25
-61
+5b
 90
 0b
 83
@@ -5085,7 +5085,7 @@
 bf
 e0
 60
-5d
+4f
 90
 4c
 e0
@@ -5106,14 +5106,7 @@
 e0
 9e
 40
-48
-c2
-01
-7f
-ff
-12
-07
-7d
+3a
 7b
 01
 7a
@@ -5162,13 +5155,6 @@
 3f
 71
 2c
-d2
-01
-7f
-ff
-12
-07
-7d
 7f
 0a
 12
@@ -5181,9 +5167,9 @@
 f0
 22
 b1
-e1
+d4
 d1
-39
+2c
 12
 0d
 6e
@@ -5204,12 +5190,12 @@
 70
 eb
 91
-9c
+8e
 12
 07
 9f
 b1
-d3
+c6
 80
 fe
 90
@@ -5236,12 +5222,12 @@
 e0
 60
 04
-f1
-02
+d1
+f5
 80
 c6
 91
-9c
+8e
 90
 4d
 3d
@@ -5268,7 +5254,7 @@
 07
 9f
 b1
-d3
+c6
 80
 a7
 80
@@ -5362,8 +5348,9 @@
 0f
 80
 b0
-f1
-68
+12
+20
+1b
 90
 81
 1c
@@ -5381,31 +5368,31 @@
 e4
 ff
 b1
-34
+27
 7f
 01
 b1
-34
+27
 7f
 02
 b1
-34
+27
 7f
 03
 b1
-34
+27
 7f
 04
 b1
-34
+27
 7f
 05
 b1
-34
+27
 7f
 06
 b1
-34
+27
 7f
 07
 80
@@ -5432,7 +5419,7 @@
 ef
 f0
 b1
-f4
+e7
 92
 08
 90
@@ -5450,7 +5437,7 @@
 70
 02
 a1
-d2
+c5
 ef
 54
 07
@@ -5732,8 +5719,8 @@
 7d
 03
 12
-25
-04
+24
+fe
 90
 4e
 84
@@ -5887,7 +5874,7 @@
 dd
 22
 81
-3e
+30
 90
 0b
 7f
@@ -5912,7 +5899,7 @@
 79
 74
 b1
-fa
+ed
 92
 09
 90
@@ -5944,10 +5931,10 @@
 7f
 1d
 f1
-0e
+01
 22
 f1
-2a
+1d
 90
 4c
 e4
@@ -5963,12 +5950,12 @@
 04
 f0
 f1
-56
-f1
-9c
+49
 12
 21
-8e
+c8
+f1
+5b
 02
 0f
 8b
@@ -5988,155 +5975,177 @@
 f0
 12
 23
-a1
-22
-e4
-ff
-ef
-fd
-7c
-00
-24
-78
-fb
-ec
-34
-80
-8b
-82
-f5
-83
-e0
-fe
-ed
-24
-70
-fd
-ec
-34
-80
-8d
-82
-f5
-83
-e0
-4e
-f4
-fe
-ef
-24
-7c
-fd
-ec
-34
-80
-8d
-82
-f5
-83
-ee
-f0
-0f
-ef
-b4
-04
-cf
+9b
 22
 90
 4c
-c5
+ce
 e0
-b4
-03
-12
-c3
+30
+e1
+3e
 90
 4c
-e4
+d0
 e0
+c3
 94
-b0
-90
-4c
-e3
+fa
+50
+03
 e0
-94
 04
-40
-2d
-02
-07
-8f
+f0
 90
 4c
-c5
+d0
 e0
+64
 b4
-01
-14
+70
+37
 90
-4c
-e3
+4d
+dc
 e0
-70
 04
-a3
+f0
 e0
-64
-28
-70
-17
-7f
-22
-12
-0f
-61
+d3
+94
 02
+50
 07
-8f
+e4
 90
 4c
-e3
-e0
-70
-04
-a3
+d0
+f0
+80
+24
+90
+4d
+dc
 e0
-64
-14
-70
+b4
 03
-12
-07
-8f
-22
-ad
-07
-ac
-06
+1d
 90
 4d
-e7
-e0
-64
-02
-60
-0e
+d5
 74
 01
 f0
+e4
 90
-4d
-e8
-04
-f0
-ef
-a3
-f0
-ee
-a3
+4c
+d0
 f0
-22
+12
+07
+8f
+80
+0d
+e4
+90
+4d
+dc
+f0
+90
+4d
+d5
+f0
+90
+4c
+d0
+f0
+90
+4c
+ce
+e0
+30
+e4
+2f
+90
+4c
+ed
+74
+0a
+f0
+90
+4c
+d1
+e0
+c3
+94
+fa
+50
+03
+e0
+04
+f0
+90
+4c
+d1
+e0
+b4
+06
+1b
+90
+4c
+c3
+e0
+ff
+60
+03
+b4
+fe
+11
+12
+0f
+ad
+7f
+0a
+12
+0f
+dc
+7f
+0a
+01
+1d
+e4
+90
+4c
+d1
+f0
+22
+ad
+07
+ac
+06
+90
+4d
+e7
+e0
+64
+02
+60
+0e
+74
+01
+f0
+90
+4d
+e8
+04
+f0
+ef
+a3
+f0
+ee
+a3
+f0
+22
 90
 4d
 e7
@@ -6190,7 +6199,7 @@
 40
 02
 41
-c5
+cb
 90
 4e
 6f
@@ -6233,7 +6242,7 @@
 60
 02
 41
-bd
+c3
 12
 03
 b6
@@ -6247,9 +6256,9 @@
 01
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 f2
@@ -6260,9 +6269,9 @@
 00
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -6299,9 +6308,9 @@
 b7
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 f4
@@ -6312,9 +6321,9 @@
 00
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -6351,9 +6360,9 @@
 b5
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 f6
@@ -6364,9 +6373,9 @@
 00
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -6403,9 +6412,9 @@
 e9
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 f8
@@ -6416,9 +6425,9 @@
 00
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -6456,9 +6465,9 @@
 0e
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 fa
@@ -6469,9 +6478,9 @@
 01
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -6509,9 +6518,9 @@
 0e
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 d0
@@ -6522,9 +6531,9 @@
 02
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -6563,9 +6572,9 @@
 02
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 d3
@@ -6576,9 +6585,9 @@
 02
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -6617,9 +6626,9 @@
 02
 12
 17
-e0
+e9
 41
-92
+98
 eb
 b4
 d4
@@ -6630,9 +6639,9 @@
 02
 12
 17
-e0
+e9
 41
-92
+98
 90
 4e
 6f
@@ -6671,9 +6680,9 @@
 02
 12
 17
-e0
+e9
 80
-7e
+7b
 eb
 b4
 d6
@@ -6684,9 +6693,9 @@
 02
 12
 17
-e0
+e9
 80
-71
+6e
 90
 4e
 6f
@@ -6723,9 +6732,9 @@
 70
 12
 17
-e0
+e9
 80
-4a
+47
 eb
 b4
 d8
@@ -6736,9 +6745,9 @@
 00
 12
 17
-e0
+e9
 80
-3d
+3a
 90
 4e
 6f
@@ -6770,36 +6779,33 @@
 fe
 b4
 dd
-07
+06
 7f
 01
-12
-17
-fb
+11
+04
 80
-16
+14
 ee
 b4
 de
-07
+06
 7f
 02
-12
-17
-fb
+11
+04
 80
-0b
+0a
 12
 03
 b6
 b4
 df
-05
+04
 7f
 04
-12
-17
-fb
+11
+04
 90
 4d
 e7
@@ -6850,7 +6856,7 @@
 04
 f0
 01
-25
+2e
 22
 90
 4c
@@ -6973,7 +6979,7 @@
 60
 02
 81
-3b
+41
 90
 4d
 e0
@@ -6983,7 +6989,7 @@
 60
 02
 81
-3b
+41
 ed
 24
 c6
@@ -6993,10 +6999,10 @@
 40
 02
 81
-3b
+41
 90
 1b
-62
+68
 75
 f0
 03
@@ -7010,40 +7016,40 @@
 73
 02
 1b
-86
+8c
 02
 1b
-8e
+94
 02
 1b
-96
+9c
 02
 1b
-9e
+a4
 02
 1b
-a6
+ac
 02
 1b
-c1
+c7
 02
 1b
-da
+e0
 02
 1b
-f3
+f9
 02
 1c
-0c
+12
 02
 1c
-14
+1a
 02
 1c
-1c
+22
 02
 1c
-35
+3b
 90
 4e
 97
@@ -7051,7 +7057,7 @@
 f1
 f0
 81
-3b
+41
 90
 4e
 97
@@ -7059,7 +7065,7 @@
 f8
 f0
 81
-3b
+41
 90
 4e
 97
@@ -7067,7 +7073,7 @@
 d7
 f0
 81
-3b
+41
 90
 4e
 97
@@ -7075,7 +7081,7 @@
 d8
 f0
 81
-3b
+41
 af
 06
 7b
@@ -7083,7 +7089,7 @@
 7d
 e0
 51
-c6
+cc
 e4
 90
 4e
@@ -7094,7 +7100,7 @@
 e0
 02
 81
-3b
+41
 90
 4c
 fb
@@ -7110,7 +7116,7 @@
 7d
 e0
 51
-c6
+cc
 e4
 90
 4e
@@ -7135,7 +7141,7 @@
 7d
 e0
 51
-c6
+cc
 e4
 90
 4e
@@ -7160,7 +7166,7 @@
 7d
 e0
 51
-c6
+cc
 e4
 90
 4e
@@ -7201,7 +7207,7 @@
 7d
 e3
 51
-c6
+cc
 e4
 90
 4e
@@ -7258,7 +7264,7 @@
 f0
 12
 20
-15
+4f
 7a
 4d
 79
@@ -7288,7 +7294,7 @@
 79
 bc
 d1
-cb
+d1
 ef
 60
 16
@@ -7301,7 +7307,7 @@
 7d
 14
 d1
-9b
+a1
 ef
 70
 09
@@ -7343,7 +7349,7 @@
 70
 02
 a1
-72
+78
 74
 bc
 2f
@@ -7362,7 +7368,7 @@
 e0
 ff
 d1
-8d
+93
 90
 4e
 2d
@@ -7374,7 +7380,7 @@
 50
 02
 a1
-5b
+61
 e4
 90
 4e
@@ -7512,7 +7518,7 @@
 04
 f0
 81
-d6
+dc
 90
 4e
 26
@@ -7521,7 +7527,7 @@
 60
 08
 d1
-8d
+93
 90
 4e
 2a
@@ -7535,7 +7541,7 @@
 04
 f0
 81
-a5
+ab
 90
 4e
 2a
@@ -7561,7 +7567,7 @@
 70
 02
 c1
-61
+67
 74
 93
 2f
@@ -7616,9 +7622,9 @@
 70
 04
 c1
-59
+5f
 c1
-59
+5f
 90
 4e
 2c
@@ -7708,7 +7714,7 @@
 93
 fd
 51
-eb
+f1
 90
 4e
 2b
@@ -7727,7 +7733,7 @@
 e0
 ff
 f1
-15
+1b
 80
 07
 90
@@ -7736,7 +7742,7 @@
 e0
 ff
 f1
-6b
+71
 90
 4e
 26
@@ -7774,7 +7780,7 @@
 04
 f0
 a1
-7f
+85
 90
 4d
 e7
@@ -8188,28 +8194,80 @@
 f5
 83
 e0
-60
-14
-ee
-b4
-05
-0b
+60
+14
+ee
+b4
+05
+0b
+24
+40
+f5
+82
+e4
+34
+4e
+f5
+83
+e4
+f0
+0e
+ee
+b4
+06
+a3
+22
+e4
+ff
+ef
+fd
+7c
+00
+24
+7c
+fb
+ec
+34
+80
+8b
+82
+f5
+83
+e0
+fe
+ed
+24
+70
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+e0
+4e
+f4
+fe
+ef
 24
-40
-f5
-82
-e4
+78
+fd
+ec
 34
-4e
+80
+8d
+82
 f5
 83
-e4
-f0
-0e
 ee
+f0
+0f
+ef
 b4
-06
-a3
+04
+cf
 22
 e4
 ff
@@ -8353,7 +8411,7 @@
 f0
 0f
 01
-21
+5b
 e4
 ff
 ef
@@ -8486,7 +8544,7 @@
 f0
 0f
 01
-a6
+e0
 e4
 ff
 ef
@@ -8590,146 +8648,71 @@
 22
 90
 4c
-ce
+c5
 e0
-30
-e1
-3e
+b4
+03
+12
+c3
 90
 4c
-d0
+e4
 e0
-c3
 94
-fa
-50
-03
-e0
-04
-f0
+b0
 90
 4c
-d0
-e0
-64
-b4
-70
-37
-90
-4d
-dc
-e0
-04
-f0
+e3
 e0
-d3
 94
+04
+40
+2d
 02
-50
 07
-e4
+8f
 90
 4c
-d0
-f0
-80
-24
-90
-4d
-dc
+c5
 e0
 b4
-03
-1d
-90
-4d
-d5
-74
 01
-f0
-e4
+14
 90
 4c
-d0
-f0
+e3
+e0
+70
+04
+a3
+e0
+64
+28
+70
+17
+7f
+22
 12
+0f
+61
+02
 07
 8f
-80
-0d
-e4
-90
-4d
-dc
-f0
-90
-4d
-d5
-f0
-90
-4c
-d0
-f0
-90
-4c
-ce
-e0
-30
-e4
-30
-90
-4c
-ed
-74
-0a
-f0
 90
 4c
-d1
-e0
-c3
-94
-fa
-50
-03
+e3
 e0
+70
 04
-f0
-90
-4c
-d1
-e0
-b4
-06
-1c
-90
-4c
-c3
+a3
 e0
-ff
-60
+64
+14
+70
 03
-b4
-fe
-12
-12
-0f
-ad
-7f
-0a
 12
-0f
-dc
-7f
-0a
-02
-10
-1d
-e4
-90
-4c
-d1
-f0
+07
+8f
 22
 90
 4c
@@ -8998,6 +8981,17 @@
 12
 02
 06
+7b
+1f
+7a
+85
+79
+6b
+78
+3e
+12
+00
+fb
 c0
 04
 c0
@@ -9066,13 +9060,13 @@
 02
 06
 7b
-b8
+29
 7a
-1e
+5c
 79
-45
+0f
 78
-3f
+3e
 12
 00
 fb
@@ -9743,3 +9737,55 @@
 5c
 f0
 22
+e4
+ff
+ef
+fd
+7c
+00
+24
+78
+fb
+ec
+34
+80
+8b
+82
+f5
+83
+e0
+fe
+ed
+24
+70
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+e0
+4e
+f4
+fe
+ef
+24
+7c
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+ee
+f0
+0f
+ef
+b4
+04
+cf
+22
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
