Index: c51/bluetooth.c
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/bluetooth.c	(revision 441)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/bluetooth.c	(working copy)
@@ -68,8 +68,10 @@
 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
 	{
 		GPIO_Setout(EEPROM_WP_GPIO,0);
-		IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6,4 , (byte *)m_24g_addr);
-		IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
+		if (g_variable.update_eeprom_flag ==EEPROM_STORE_TYPE_ADDR)
+			IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6,4 , (byte *)m_24g_addr);
+		if (g_variable.update_eeprom_flag ==EEPROM_STORE_TYPE_MODE)
+			IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
 //		IIC_WriteBlock(EEPROM_BATTERY_DEVICE_NUM ,1 ,(byte *)&m_gamepad_device_num);
 
 		GPIO_Setout(EEPROM_WP_GPIO,1);
Index: c51/kb_process.h
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/kb_process.h	(revision 441)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/kb_process.h	(working copy)
@@ -42,6 +42,8 @@
 #define EEPROM_BATTERY_SHUTDOWN_FLAG			(EEPROM_RECON_INFO_BASE_6+9)
 #define EEPROM_BATTERY_DEVICE_NUM				(EEPROM_RECON_INFO_BASE_6+10)
 
+#define EEPROM_STORE_TYPE_MODE		2
+#define EEPROM_STORE_TYPE_ADDR		1
 
 #define KS_KEY_MAP_LEN					158
 #define KB_KSCAN_COL_NUM				20
Index: c51/kb_process.c
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/kb_process.c	(revision 441)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/kb_process.c	(working copy)
@@ -315,13 +315,16 @@
 		g_variable.gamepad_key1 |= 0x01;	
 	}
 
-	if((g_variable.gamepad_key1_last == 0) && (g_variable.gamepad_key1 == 1))
+	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
 	{
-		if(g_variable.system_mode)
-			g_variable.system_mode = 0;
-		else
-			g_variable.system_mode = 1;
-		g_variable.update_eeprom_flag = 1;
+		if((g_variable.gamepad_key1_last == 0) && (g_variable.gamepad_key1 == 1))
+		{
+			if(g_variable.system_mode)
+				g_variable.system_mode = 0;
+			else
+				g_variable.system_mode = 1;
+			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_MODE;
+		}
 	}
 	g_variable.gamepad_key1_last = g_variable.gamepad_key1;
 
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/YJX_gamepad/YC1085_gamepad_2device/c51/output/FW.COD	(revision 441)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               06/02/2022  23:34:52  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               06/06/2022  11:36:53  PAGE 1
 
 
 
@@ -286,9 +286,9 @@
   114: 	case IPC_EVT_RESET:
 000476         ?C0014?SYS:
   115: 		System_Hardware_init();
-000476 1209EA            LCALL   System_Hardware_init
+000476 1209F8            LCALL   System_Hardware_init
   116: 		System_Software_init();
-000479 121A95            LCALL   System_Software_init
+000479 121AAA            LCALL   System_Software_init
   117: 		
   118: 		IIC_Read(EEPROM_RECON_INFO_BASE_6,4 , (byte *)m_24g_addr);
 00047C 7B01              MOV     R3,#01H
@@ -341,7 +341,7 @@
 0004BC B42F1A            CJNE    A,#02FH,?C0016?SYS
   131: 		{
   132: 			KS_ScanMatrix();
-0004BF 120CBF            LCALL   KS_ScanMatrix
+0004BF 120CCD            LCALL   KS_ScanMatrix
   133: 			
   134: 			if(((byte)(ksSelMapCurr & 0xffff)) == 0x12)
 0004C2 904D9B            MOV     DPTR,#ksSelMapCurr
@@ -373,9 +373,9 @@
   142: 	case IPC_EVT_WAKEUP:
 0004DC         ?C0018?SYS:
   143: 		System_IIC_clk_setup();
-0004DC 120E53            LCALL   System_IIC_clk_setup
+0004DC 120E61            LCALL   System_IIC_clk_setup
   144: 		KS_Initialize();
-0004DF 1209F0            LCALL   KS_Initialize
+0004DF 1209FE            LCALL   KS_Initialize
   145: 		g_variable.g24_long_sleep_flag = 0;	
 0004E2 E4                CLR     A
 0004E3 904D04            MOV     DPTR,#g_variable+045H
@@ -451,7 +451,7 @@
 00053B         ?C0023?SYS:
   167: 				m_24g_paring_addr[2] != 0x1f || m_24g_paring_addr[3] != 0x1f)
   168: 				{
-  169: 					g_variable.update_eeprom_flag = 1;
+  169: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_ADDR;
 00053B 904CBF            MOV     DPTR,#g_variable
 00053E 7401              MOV     A,#01H
 000540 F0                MOVX    @DPTR,A
@@ -678,7 +678,7 @@
 000639 E0                MOVX    A,@DPTR
 00063A 4404              ORL     A,#04H
 00063C F0                MOVX    @DPTR,A
-00063D 120BF0            LCALL   IIcWaitDone
+00063D 120BFE            LCALL   IIcWaitDone
 000640 904E63            MOV     DPTR,#pbuff
 000643 E0                MOVX    A,@DPTR
 000644 A3                INC     DPTR
@@ -770,7 +770,7 @@
    70: { 
    71: 	LED_all_shutdown();
    72: 	m_24g_pairing_sm = 0xff;
-0006A2 120999            LCALL   LED_all_shutdown
+0006A2 1209A7            LCALL   LED_all_shutdown
    73: 	g_variable.g24_long_sleep_flag = 1;
 0006A5 904BEF            MOV     DPTR,#m_24g_pairing_sm
 0006A8 74FF              MOV     A,#0FFH
@@ -1034,7 +1034,7 @@
 0007B2 E0                MOVX    A,@DPTR
 0007B3 FD                MOV     R5,A
 0007B4 7B64              MOV     R3,#064H
-0007B6 121B5B            LCALL   _bufsize
+0007B6 121B70            LCALL   _bufsize
 0007B9 904E58            MOV     DPTR,#len
 0007BC E0                MOVX    A,@DPTR
 0007BD FE                MOV     R6,A
@@ -1120,85 +1120,95 @@
    69: 	{
 00081E 904CBF            MOV     DPTR,#g_variable
 000821 E0                MOVX    A,@DPTR
-000822 6036              JZ      ?C0015?BLUETOOTH
+000822 6044              JZ      ?C0017?BLUETOOTH
    70: 		GPIO_Setout(EEPROM_WP_GPIO,0);
-   71: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6,4 , (byte *)m_24g_addr);
+   71: 		if (g_variable.update_eeprom_flag ==EEPROM_STORE_TYPE_ADDR)
 000824 C201              CLR     ?_GPIO_Setout?BIT
 000826 7FFF              MOV     R7,#0FFH
-000828 115B              ACALL   _GPIO_Setout
-   72: 		IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-00082A 7B01              MOV     R3,#01H
-00082C 7A4C              MOV     R2,#HIGH m_24g_addr
-00082E 7900              MOV     R1,#LOW m_24g_addr
-000830 7D04              MOV     R5,#04H
-000832 7C00              MOV     R4,#00H
-000834 7FF0              MOV     R7,#0F0H
-000836 7E3F              MOV     R6,#03FH
-000838 11EB              ACALL   _IIC_WriteBlock
-   73: //		IIC_WriteBlock(EEPROM_BATTERY_DEVICE_NUM ,1 ,(byte *)&m_gamepad_device_num);
-00083A 7B01              MOV     R3,#01H
-00083C 7A4C              MOV     R2,#HIGH g_variable+02H
-00083E 79C1              MOV     R1,#LOW g_variable+02H
-000840 7D01              MOV     R5,#01H
-000842 7C00              MOV     R4,#00H
-000844 7FF8              MOV     R7,#0F8H
-000846 7E3F              MOV     R6,#03FH
-000848 11EB              ACALL   _IIC_WriteBlock
-   74: 
-   75: 		GPIO_Setout(EEPROM_WP_GPIO,1);
-00084A D201              SETB    ?_GPIO_Setout?BIT
-00084C 7FFF              MOV     R7,#0FFH
-00084E 115B              ACALL   _GPIO_Setout
-   76: 		Delay1ms(10);
-000850 7F0A              MOV     R7,#0AH
-000852 120596            LCALL   _Delay1ms
-   77: 		g_variable.update_eeprom_flag = 0;
-000855 E4                CLR     A
-000856 904CBF            MOV     DPTR,#g_variable
-000859 F0                MOVX    @DPTR,A
-   78: 	}
-   79: }
-00085A         ?C0015?BLUETOOTH:
-00085A 22                RET     
+000828 1169              ACALL   _GPIO_Setout
+   72: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6,4 , (byte *)m_24g_addr);
+00082A 904CBF            MOV     DPTR,#g_variable
+00082D E0                MOVX    A,@DPTR
+00082E B40110            CJNE    A,#01H,?C0015?BLUETOOTH
+   73: 		if (g_variable.update_eeprom_flag ==EEPROM_STORE_TYPE_MODE)
+000831 7B01              MOV     R3,#01H
+000833 7A4C              MOV     R2,#HIGH m_24g_addr
+000835 7900              MOV     R1,#LOW m_24g_addr
+000837 7D04              MOV     R5,#04H
+000839 7C00              MOV     R4,#00H
+00083B 7FF0              MOV     R7,#0F0H
+00083D 7E3F              MOV     R6,#03FH
+00083F 11F9              ACALL   _IIC_WriteBlock
+000841         ?C0015?BLUETOOTH:
+   74: 			IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
+000841 904CBF            MOV     DPTR,#g_variable
+000844 E0                MOVX    A,@DPTR
+000845 B40210            CJNE    A,#02H,?C0016?BLUETOOTH
+   75: //		IIC_WriteBlock(EEPROM_BATTERY_DEVICE_NUM ,1 ,(byte *)&m_gamepad_device_num);
+000848 7B01              MOV     R3,#01H
+00084A 7A4C              MOV     R2,#HIGH g_variable+02H
+00084C 79C1              MOV     R1,#LOW g_variable+02H
+00084E 7D01              MOV     R5,#01H
+000850 7C00              MOV     R4,#00H
+000852 7FF8              MOV     R7,#0F8H
+000854 7E3F              MOV     R6,#03FH
+000856 11F9              ACALL   _IIC_WriteBlock
+000858         ?C0016?BLUETOOTH:
+   76: 
+   77: 		GPIO_Setout(EEPROM_WP_GPIO,1);
+000858 D201              SETB    ?_GPIO_Setout?BIT
+00085A 7FFF              MOV     R7,#0FFH
+00085C 1169              ACALL   _GPIO_Setout
+   78: 		Delay1ms(10);
+00085E 7F0A              MOV     R7,#0AH
+000860 120596            LCALL   _Delay1ms
+   79: 		g_variable.update_eeprom_flag = 0;
+000863 E4                CLR     A
+000864 904CBF            MOV     DPTR,#g_variable
+000867 F0                MOVX    @DPTR,A
+   80: 	}
+   81: }
+000868         ?C0017?BLUETOOTH:
+000868 22                RET     
 ----- FUNCTION YC_update_eeprom_data (END) -------
 
 
 ----- FUNCTION _GPIO_Setout (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-00085B EF                MOV     A,R7
-00085C F4                CPL     A
-00085D 600C              JZ      ?C0007?GPIO
-00085F         ?C0006?GPIO:
-00085F 7B01              MOV     R3,#01H
-000861 7A80              MOV     R2,#080H
-000863 7974              MOV     R1,#074H
-000865 A201              MOV     C,bit_val
-000867 9200              MOV     ?_gpioSetBit?BIT,C
-000869 516D              ACALL   _gpioSetBit
-00086B         ?C0007?GPIO:
-00086B 22                RET     
+000869 EF                MOV     A,R7
+00086A F4                CPL     A
+00086B 600C              JZ      ?C0007?GPIO
+00086D         ?C0006?GPIO:
+00086D 7B01              MOV     R3,#01H
+00086F 7A80              MOV     R2,#080H
+000871 7974              MOV     R1,#074H
+000873 A201              MOV     C,bit_val
+000875 9200              MOV     ?_gpioSetBit?BIT,C
+000877 517B              ACALL   _gpioSetBit
+000879         ?C0007?GPIO:
+000879 22                RET     
 ----- FUNCTION _GPIO_Setout (END) -------
 
 
 ----- FUNCTION _GPIO_SetOutput (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R4' ----
-00086C AC07              MOV     R4,AR7
-00086E EC                MOV     A,R4
-00086F F4                CPL     A
-000870 6014              JZ      ?C0017?GPIO
-000872         ?C0016?GPIO:
-000872 AF04              MOV     R7,AR4
-000874 D204              SETB    ?_GPIO_Setoe?BIT
-000876 515C              ACALL   _GPIO_Setoe
-000878 AF04              MOV     R7,AR4
-00087A A206              MOV     C,st
-00087C 9201              MOV     ?_GPIO_Setout?BIT,C
-00087E 115B              ACALL   _GPIO_Setout
+00087A AC07              MOV     R4,AR7
+00087C EC                MOV     A,R4
+00087D F4                CPL     A
+00087E 6014              JZ      ?C0017?GPIO
+000880         ?C0016?GPIO:
 000880 AF04              MOV     R7,AR4
-000882 C202              CLR     ?_GPIO_SetPu?BIT
-000884 512D              ACALL   _GPIO_SetPu
-000886         ?C0017?GPIO:
-000886 22                RET     
+000882 D204              SETB    ?_GPIO_Setoe?BIT
+000884 516A              ACALL   _GPIO_Setoe
+000886 AF04              MOV     R7,AR4
+000888 A206              MOV     C,st
+00088A 9201              MOV     ?_GPIO_Setout?BIT,C
+00088C 1169              ACALL   _GPIO_Setout
+00088E AF04              MOV     R7,AR4
+000890 C202              CLR     ?_GPIO_SetPu?BIT
+000892 513B              ACALL   _GPIO_SetPu
+000894         ?C0017?GPIO:
+000894 22                RET     
 ----- FUNCTION _GPIO_SetOutput (END) -------
 
 
@@ -1208,29 +1218,29 @@
    12: {
    13: 	if(m_gamepad_device_num == 1)
    14: 	{
-000887 904D77            MOV     DPTR,#m_gamepad_device_num
-00088A E0                MOVX    A,@DPTR
-00088B B4010C            CJNE    A,#01H,?C0002?LED
+000895 904D77            MOV     DPTR,#m_gamepad_device_num
+000898 E0                MOVX    A,@DPTR
+000899 B4010C            CJNE    A,#01H,?C0002?LED
    15: 		GPIO_SetOutput(GAMEPAD1_LED_GPIO,LED_ON);
    16: 		GPIO_SetOutput(GAMEPAD2_LED_GPIO,LED_OFF);
-00088E D206              SETB    ?_GPIO_SetOutput?BIT
-000890 7F04              MOV     R7,#04H
-000892 116C              ACALL   _GPIO_SetOutput
+00089C D206              SETB    ?_GPIO_SetOutput?BIT
+00089E 7F04              MOV     R7,#04H
+0008A0 117A              ACALL   _GPIO_SetOutput
    17: 	}
-000894 C206              CLR     ?_GPIO_SetOutput?BIT
-000896 7F03              MOV     R7,#03H
-000898 80D2              SJMP    _GPIO_SetOutput
+0008A2 C206              CLR     ?_GPIO_SetOutput?BIT
+0008A4 7F03              MOV     R7,#03H
+0008A6 80D2              SJMP    _GPIO_SetOutput
    18: 	else
-00089A         ?C0002?LED:
+0008A8         ?C0002?LED:
    19: 	{
    20: 		GPIO_SetOutput(GAMEPAD1_LED_GPIO,LED_OFF);
-00089A C206              CLR     ?_GPIO_SetOutput?BIT
-00089C 7F04              MOV     R7,#04H
-00089E 116C              ACALL   _GPIO_SetOutput
+0008A8 C206              CLR     ?_GPIO_SetOutput?BIT
+0008AA 7F04              MOV     R7,#04H
+0008AC 117A              ACALL   _GPIO_SetOutput
    21: 		GPIO_SetOutput(GAMEPAD2_LED_GPIO,LED_ON);
-0008A0 D206              SETB    ?_GPIO_SetOutput?BIT
-0008A2 7F03              MOV     R7,#03H
-0008A4 80C6              SJMP    _GPIO_SetOutput
+0008AE D206              SETB    ?_GPIO_SetOutput?BIT
+0008B0 7F03              MOV     R7,#03H
+0008B2 80C6              SJMP    _GPIO_SetOutput
    22: 	}
 ----- FUNCTION LED_device_poweron (END) -------
 
@@ -1241,39 +1251,39 @@
   211: {
   212: 	if (power_on_flag != 2)
   213: 		return;
-0008A6 904DE5            MOV     DPTR,#power_on_flag
-0008A9 E0                MOVX    A,@DPTR
-0008AA 6402              XRL     A,#02H
-0008AC 7021              JNZ     ?C0032?SYS
-0008AE         ?C0031?SYS:
+0008B4 904DE5            MOV     DPTR,#power_on_flag
+0008B7 E0                MOVX    A,@DPTR
+0008B8 6402              XRL     A,#02H
+0008BA 7021              JNZ     ?C0032?SYS
+0008BC         ?C0031?SYS:
   214:  	if (g_variable.pairing_g24_timeout != 0)
-0008AE 904CFD            MOV     DPTR,#g_variable+03EH
-0008B1 E0                MOVX    A,@DPTR
-0008B2 601B              JZ      ?C0032?SYS
+0008BC 904CFD            MOV     DPTR,#g_variable+03EH
+0008BF E0                MOVX    A,@DPTR
+0008C0 601B              JZ      ?C0032?SYS
   215: 	{
   216: 		if(m_gamepad_device_num == 1)
-0008B4 904D77            MOV     DPTR,#m_gamepad_device_num
-0008B7 E0                MOVX    A,@DPTR
-0008B8 B4010A            CJNE    A,#01H,?C0034?SYS
+0008C2 904D77            MOV     DPTR,#m_gamepad_device_num
+0008C5 E0                MOVX    A,@DPTR
+0008C6 B4010A            CJNE    A,#01H,?C0034?SYS
   217: 		{
   218: 			GPIO_FlipOutBit(GAMEPAD2_LED_GPIO);
-0008BB 7F03              MOV     R7,#03H
-0008BD 11D0              ACALL   _GPIO_FlipOutBit
+0008C9 7F03              MOV     R7,#03H
+0008CB 11DE              ACALL   _GPIO_FlipOutBit
   219: 			GPIO_SetOutput(GAMEPAD1_LED_GPIO,LED_OFF);
-0008BF C206              CLR     ?_GPIO_SetOutput?BIT
-0008C1 7F04              MOV     R7,#04H
-0008C3 80A7              SJMP    _GPIO_SetOutput
+0008CD C206              CLR     ?_GPIO_SetOutput?BIT
+0008CF 7F04              MOV     R7,#04H
+0008D1 80A7              SJMP    _GPIO_SetOutput
   220: 		}
-0008C5         ?C0034?SYS:
+0008D3         ?C0034?SYS:
   221: 		else
   222: 		{
   223: 			GPIO_FlipOutBit(GAMEPAD1_LED_GPIO);
-0008C5 7F04              MOV     R7,#04H
-0008C7 11D0              ACALL   _GPIO_FlipOutBit
+0008D3 7F04              MOV     R7,#04H
+0008D5 11DE              ACALL   _GPIO_FlipOutBit
   224: 			GPIO_SetOutput(GAMEPAD2_LED_GPIO,LED_OFF);
-0008C9 C206              CLR     ?_GPIO_SetOutput?BIT
-0008CB 7F03              MOV     R7,#03H
-0008CD 116C              ACALL   _GPIO_SetOutput
+0008D7 C206              CLR     ?_GPIO_SetOutput?BIT
+0008D9 7F03              MOV     R7,#03H
+0008DB 117A              ACALL   _GPIO_SetOutput
   225: 		}
   226: 	}
   227: 	else
@@ -1283,164 +1293,164 @@
   231: 
   232: 	
   233: }
-0008CF         ?C0032?SYS:
-0008CF 22                RET     
+0008DD         ?C0032?SYS:
+0008DD 22                RET     
 ----- FUNCTION LED_timer500ms (END) -------
 
 
 ----- FUNCTION _GPIO_FlipOutBit (BEGIN) -----
-0008D0 904E88            MOV     DPTR,#gpio_num
-0008D3 EF                MOV     A,R7
-0008D4 F0                MOVX    @DPTR,A
-0008D5 7B01              MOV     R3,#01H
-0008D7 7A80              MOV     R2,#080H
-0008D9 7974              MOV     R1,#074H
-0008DB D100              ACALL   _gpioGetBit
-0008DD 9209              MOV     st,C
-0008DF 904E88            MOV     DPTR,#gpio_num
-0008E2 E0                MOVX    A,@DPTR
-0008E3 FF                MOV     R7,A
-0008E4 A209              MOV     C,st
-0008E6 B3                CPL     C
-0008E7 9201              MOV     ?_GPIO_Setout?BIT,C
-0008E9 015B              AJMP    _GPIO_Setout
+0008DE 904E88            MOV     DPTR,#gpio_num
+0008E1 EF                MOV     A,R7
+0008E2 F0                MOVX    @DPTR,A
+0008E3 7B01              MOV     R3,#01H
+0008E5 7A80              MOV     R2,#080H
+0008E7 7974              MOV     R1,#074H
+0008E9 D10E              ACALL   _gpioGetBit
+0008EB 9209              MOV     st,C
+0008ED 904E88            MOV     DPTR,#gpio_num
+0008F0 E0                MOVX    A,@DPTR
+0008F1 FF                MOV     R7,A
+0008F2 A209              MOV     C,st
+0008F4 B3                CPL     C
+0008F5 9201              MOV     ?_GPIO_Setout?BIT,C
+0008F7 0169              AJMP    _GPIO_Setout
 ----- FUNCTION _GPIO_FlipOutBit (END) -------
 
 
 ----- FUNCTION _IIC_WriteBlock (BEGIN) -----
-0008EB 904E36            MOV     DPTR,#addr
-0008EE EE                MOV     A,R6
-0008EF F0                MOVX    @DPTR,A
-0008F0 A3                INC     DPTR
-0008F1 EF                MOV     A,R7
-0008F2 F0                MOVX    @DPTR,A
-0008F3 A3                INC     DPTR
-0008F4 EC                MOV     A,R4
-0008F5 F0                MOVX    @DPTR,A
-0008F6 A3                INC     DPTR
-0008F7 ED                MOV     A,R5
-0008F8 F0                MOVX    @DPTR,A
-0008F9 A3                INC     DPTR
-0008FA EB                MOV     A,R3
-0008FB F0                MOVX    @DPTR,A
-0008FC A3                INC     DPTR
-0008FD EA                MOV     A,R2
-0008FE F0                MOVX    @DPTR,A
-0008FF A3                INC     DPTR
-000900 E9                MOV     A,R1
-000901 F0                MOVX    @DPTR,A
-000902         ?C0007?IIC:
-000902 904E38            MOV     DPTR,#len
-000905 E0                MOVX    A,@DPTR
-000906 7002              JNZ     ?C0012?IIC
-000908 A3                INC     DPTR
-000909 E0                MOVX    A,@DPTR
-00090A         ?C0012?IIC:
-00090A 7002              JNZ     $ + 4H
-00090C 2198              AJMP    ?C0011?IIC
-00090E 904E36            MOV     DPTR,#addr
-000911 E0                MOVX    A,@DPTR
-000912 FE                MOV     R6,A
-000913 A3                INC     DPTR
-000914 E0                MOVX    A,@DPTR
-000915 FF                MOV     R7,A
-000916 440F              ORL     A,#0FH
-000918 2401              ADD     A,#01H
-00091A FD                MOV     R5,A
-00091B E4                CLR     A
-00091C 3E                ADDC    A,R6
-00091D FC                MOV     R4,A
+0008F9 904E36            MOV     DPTR,#addr
+0008FC EE                MOV     A,R6
+0008FD F0                MOVX    @DPTR,A
+0008FE A3                INC     DPTR
+0008FF EF                MOV     A,R7
+000900 F0                MOVX    @DPTR,A
+000901 A3                INC     DPTR
+000902 EC                MOV     A,R4
+000903 F0                MOVX    @DPTR,A
+000904 A3                INC     DPTR
+000905 ED                MOV     A,R5
+000906 F0                MOVX    @DPTR,A
+000907 A3                INC     DPTR
+000908 EB                MOV     A,R3
+000909 F0                MOVX    @DPTR,A
+00090A A3                INC     DPTR
+00090B EA                MOV     A,R2
+00090C F0                MOVX    @DPTR,A
+00090D A3                INC     DPTR
+00090E E9                MOV     A,R1
+00090F F0                MOVX    @DPTR,A
+000910         ?C0007?IIC:
+000910 904E38            MOV     DPTR,#len
+000913 E0                MOVX    A,@DPTR
+000914 7002              JNZ     ?C0012?IIC
+000916 A3                INC     DPTR
+000917 E0                MOVX    A,@DPTR
+000918         ?C0012?IIC:
+000918 7002              JNZ     $ + 4H
+00091A 21A6              AJMP    ?C0011?IIC
+00091C 904E36            MOV     DPTR,#addr
+00091F E0                MOVX    A,@DPTR
+000920 FE                MOV     R6,A
+000921 A3                INC     DPTR
+000922 E0                MOVX    A,@DPTR
+000923 FF                MOV     R7,A
+000924 440F              ORL     A,#0FH
+000926 2401              ADD     A,#01H
+000928 FD                MOV     R5,A
+000929 E4                CLR     A
+00092A 3E                ADDC    A,R6
+00092B FC                MOV     R4,A
 ;---- Variable 'cris' assigned to Register 'R4/R5' ----
-00091E C3                CLR     C
-00091F ED                MOV     A,R5
-000920 9F                SUBB    A,R7
-000921 FF                MOV     R7,A
-000922 EC                MOV     A,R4
-000923 9E                SUBB    A,R6
-000924 FE                MOV     R6,A
-000925 904E3D            MOV     DPTR,#curr_len
-000928 F0                MOVX    @DPTR,A
-000929 A3                INC     DPTR
-00092A EF                MOV     A,R7
-00092B F0                MOVX    @DPTR,A
-00092C 904E38            MOV     DPTR,#len
-00092F E0                MOVX    A,@DPTR
-000930 FC                MOV     R4,A
-000931 A3                INC     DPTR
-000932 E0                MOVX    A,@DPTR
-000933 FD                MOV     R5,A
-000934 D3                SETB    C
-000935 9F                SUBB    A,R7
-000936 EC                MOV     A,R4
-000937 9E                SUBB    A,R6
-000938 400A              JC      ?C0009?IIC
-00093A 904E3D            MOV     DPTR,#curr_len
+00092C C3                CLR     C
+00092D ED                MOV     A,R5
+00092E 9F                SUBB    A,R7
+00092F FF                MOV     R7,A
+000930 EC                MOV     A,R4
+000931 9E                SUBB    A,R6
+000932 FE                MOV     R6,A
+000933 904E3D            MOV     DPTR,#curr_len
+000936 F0                MOVX    @DPTR,A
+000937 A3                INC     DPTR
+000938 EF                MOV     A,R7
+000939 F0                MOVX    @DPTR,A
+00093A 904E38            MOV     DPTR,#len
 00093D E0                MOVX    A,@DPTR
-00093E FE                MOV     R6,A
+00093E FC                MOV     R4,A
 00093F A3                INC     DPTR
 000940 E0                MOVX    A,@DPTR
-000941 FF                MOV     R7,A
-000942 8004              SJMP    ?C0010?IIC
-000944         ?C0009?IIC:
-000944 AE04              MOV     R6,AR4
-000946 AF05              MOV     R7,AR5
-000948         ?C0010?IIC:
+000941 FD                MOV     R5,A
+000942 D3                SETB    C
+000943 9F                SUBB    A,R7
+000944 EC                MOV     A,R4
+000945 9E                SUBB    A,R6
+000946 400A              JC      ?C0009?IIC
 000948 904E3D            MOV     DPTR,#curr_len
-00094B EE                MOV     A,R6
-00094C F0                MOVX    @DPTR,A
-00094D FC                MOV     R4,A
-00094E A3                INC     DPTR
-00094F EF                MOV     A,R7
-000950 F0                MOVX    @DPTR,A
-000951 FD                MOV     R5,A
-000952 C3                CLR     C
-000953 904E39            MOV     DPTR,#len+01H
-000956 E0                MOVX    A,@DPTR
-000957 9D                SUBB    A,R5
-000958 F0                MOVX    @DPTR,A
-000959 904E38            MOV     DPTR,#len
-00095C E0                MOVX    A,@DPTR
-00095D 9C                SUBB    A,R4
+00094B E0                MOVX    A,@DPTR
+00094C FE                MOV     R6,A
+00094D A3                INC     DPTR
+00094E E0                MOVX    A,@DPTR
+00094F FF                MOV     R7,A
+000950 8004              SJMP    ?C0010?IIC
+000952         ?C0009?IIC:
+000952 AE04              MOV     R6,AR4
+000954 AF05              MOV     R7,AR5
+000956         ?C0010?IIC:
+000956 904E3D            MOV     DPTR,#curr_len
+000959 EE                MOV     A,R6
+00095A F0                MOVX    @DPTR,A
+00095B FC                MOV     R4,A
+00095C A3                INC     DPTR
+00095D EF                MOV     A,R7
 00095E F0                MOVX    @DPTR,A
-00095F 904E36            MOV     DPTR,#addr
-000962 E0                MOVX    A,@DPTR
-000963 FE                MOV     R6,A
-000964 A3                INC     DPTR
-000965 E0                MOVX    A,@DPTR
-000966 FF                MOV     R7,A
-000967 904E3A            MOV     DPTR,#pbuff
+00095F FD                MOV     R5,A
+000960 C3                CLR     C
+000961 904E39            MOV     DPTR,#len+01H
+000964 E0                MOVX    A,@DPTR
+000965 9D                SUBB    A,R5
+000966 F0                MOVX    @DPTR,A
+000967 904E38            MOV     DPTR,#len
 00096A E0                MOVX    A,@DPTR
-00096B FB                MOV     R3,A
-00096C A3                INC     DPTR
-00096D E0                MOVX    A,@DPTR
-00096E FA                MOV     R2,A
-00096F A3                INC     DPTR
+00096B 9C                SUBB    A,R4
+00096C F0                MOVX    @DPTR,A
+00096D 904E36            MOV     DPTR,#addr
 000970 E0                MOVX    A,@DPTR
-000971 F9                MOV     R1,A
-000972 7158              ACALL   _IIC_write
-000974 7F0A              MOV     R7,#0AH
-000976 120596            LCALL   _Delay1ms
-000979 904E3D            MOV     DPTR,#curr_len
-00097C E0                MOVX    A,@DPTR
-00097D FE                MOV     R6,A
-00097E A3                INC     DPTR
-00097F E0                MOVX    A,@DPTR
-000980 FF                MOV     R7,A
-000981 904E3B            MOV     DPTR,#pbuff+01H
-000984 EE                MOV     A,R6
-000985 8FF0              MOV     B,R7
-000987 120151            LCALL   ?C?IILDX
-00098A 904E37            MOV     DPTR,#addr+01H
+000971 FE                MOV     R6,A
+000972 A3                INC     DPTR
+000973 E0                MOVX    A,@DPTR
+000974 FF                MOV     R7,A
+000975 904E3A            MOV     DPTR,#pbuff
+000978 E0                MOVX    A,@DPTR
+000979 FB                MOV     R3,A
+00097A A3                INC     DPTR
+00097B E0                MOVX    A,@DPTR
+00097C FA                MOV     R2,A
+00097D A3                INC     DPTR
+00097E E0                MOVX    A,@DPTR
+00097F F9                MOV     R1,A
+000980 7166              ACALL   _IIC_write
+000982 7F0A              MOV     R7,#0AH
+000984 120596            LCALL   _Delay1ms
+000987 904E3D            MOV     DPTR,#curr_len
+00098A E0                MOVX    A,@DPTR
+00098B FE                MOV     R6,A
+00098C A3                INC     DPTR
 00098D E0                MOVX    A,@DPTR
-00098E 2F                ADD     A,R7
-00098F F0                MOVX    @DPTR,A
-000990 904E36            MOV     DPTR,#addr
-000993 E0                MOVX    A,@DPTR
-000994 3E                ADDC    A,R6
-000995 F0                MOVX    @DPTR,A
-000996 2102              AJMP    ?C0007?IIC
-000998         ?C0011?IIC:
-000998 22                RET     
+00098E FF                MOV     R7,A
+00098F 904E3B            MOV     DPTR,#pbuff+01H
+000992 EE                MOV     A,R6
+000993 8FF0              MOV     B,R7
+000995 120151            LCALL   ?C?IILDX
+000998 904E37            MOV     DPTR,#addr+01H
+00099B E0                MOVX    A,@DPTR
+00099C 2F                ADD     A,R7
+00099D F0                MOVX    @DPTR,A
+00099E 904E36            MOV     DPTR,#addr
+0009A1 E0                MOVX    A,@DPTR
+0009A2 3E                ADDC    A,R6
+0009A3 F0                MOVX    @DPTR,A
+0009A4 2110              AJMP    ?C0007?IIC
+0009A6         ?C0011?IIC:
+0009A6 22                RET     
 ----- FUNCTION _IIC_WriteBlock (END) -------
 
 
@@ -1450,13 +1460,13 @@
     5: {
     6: 	GPIO_SetOutput(GAMEPAD1_LED_GPIO,LED_OFF);
     7: 	GPIO_SetOutput(GAMEPAD2_LED_GPIO,LED_OFF);
-000999 C206              CLR     ?_GPIO_SetOutput?BIT
-00099B 7F04              MOV     R7,#04H
-00099D 116C              ACALL   _GPIO_SetOutput
+0009A7 C206              CLR     ?_GPIO_SetOutput?BIT
+0009A9 7F04              MOV     R7,#04H
+0009AB 117A              ACALL   _GPIO_SetOutput
     8: }
-00099F C206              CLR     ?_GPIO_SetOutput?BIT
-0009A1 7F03              MOV     R7,#03H
-0009A3 016C              AJMP    _GPIO_SetOutput
+0009AD C206              CLR     ?_GPIO_SetOutput?BIT
+0009AF 7F03              MOV     R7,#03H
+0009B1 017A              AJMP    _GPIO_SetOutput
 ----- FUNCTION LED_all_shutdown (END) -------
 
 
@@ -1466,17 +1476,17 @@
   400: {
   401: 	kb_cb_init();
   402: 	while(1) {
-0009A5 510E              ACALL   kb_cb_init
-0009A7         ?C0071?SYS:
+0009B3 511C              ACALL   kb_cb_init
+0009B5         ?C0071?SYS:
   403: 		IPC_DealSingleStep();
   404: 		kb_need_keyscan();
-0009A7 71F8              ACALL   IPC_DealSingleStep
+0009B5 9106              ACALL   IPC_DealSingleStep
   405: 		YC_update_eeprom_data();
-0009A9 710F              ACALL   kb_need_keyscan
+0009B7 711D              ACALL   kb_need_keyscan
   406: 		LED_handle();
-0009AB 111E              ACALL   YC_update_eeprom_data
+0009B9 111E              ACALL   YC_update_eeprom_data
   407: 
-0009AD D141              ACALL   LED_handle
+0009BB D14F              ACALL   LED_handle
   408: 	#ifdef PC_SLEEP_STATUS_GET		
   409: 		if(m_pc_sleep_flag)
   410: 		{
@@ -1485,56 +1495,56 @@
   413: 	#endif	
   414: 	
   415: 		switch (current_task) {
-0009AF 900B7E            MOV     DPTR,#current_task
-0009B2 E0                MOVX    A,@DPTR
-0009B3 14                DEC     A
-0009B4 600C              JZ      ?C0077?SYS
-0009B6 24FE              ADD     A,#0FEH
-0009B8 70ED              JNZ     ?C0071?SYS
+0009BD 900B7E            MOV     DPTR,#current_task
+0009C0 E0                MOVX    A,@DPTR
+0009C1 14                DEC     A
+0009C2 600C              JZ      ?C0077?SYS
+0009C4 24FE              ADD     A,#0FEH
+0009C6 70ED              JNZ     ?C0071?SYS
   416: 		case FIX_ENTER_HIBERNATE:
-0009BA         ?C0074?SYS:
+0009C8         ?C0074?SYS:
   417: 			KS_Unistall();
-0009BA 31DB              ACALL   KS_Unistall
+0009C8 31E9              ACALL   KS_Unistall
   418: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
   419: 			LED_all_shutdown();
-0009BC 3199              ACALL   LED_all_shutdown
+0009CA 31A7              ACALL   LED_all_shutdown
   420: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-0009BE 31DC              ACALL   IPC_WaitLpm
-0009C0         ?C0075?SYS:
+0009CC 31EA              ACALL   IPC_WaitLpm
+0009CE         ?C0075?SYS:
   421: 			while(1);
-0009C0 80FE              SJMP    ?C0075?SYS
+0009CE 80FE              SJMP    ?C0075?SYS
   422: 			break;
   423: 			
   424: 		case FIX_ENTER_LPM:
-0009C2         ?C0077?SYS:
+0009D0         ?C0077?SYS:
   425: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm) 
-0009C2 904CF9            MOV     DPTR,#g_variable+03AH
-0009C5 E0                MOVX    A,@DPTR
-0009C6 7006              JNZ     ?C0079?SYS
-0009C8 904CFB            MOV     DPTR,#g_variable+03CH
-0009CB E0                MOVX    A,@DPTR
-0009CC 6004              JZ      ?C0078?SYS
-0009CE         ?C0079?SYS:
+0009D0 904CF9            MOV     DPTR,#g_variable+03AH
+0009D3 E0                MOVX    A,@DPTR
+0009D4 7006              JNZ     ?C0079?SYS
+0009D6 904CFB            MOV     DPTR,#g_variable+03CH
+0009D9 E0                MOVX    A,@DPTR
+0009DA 6004              JZ      ?C0078?SYS
+0009DC         ?C0079?SYS:
   426: 			{
   427: 				IPC_AbandonLpm();
-0009CE D147              ACALL   IPC_AbandonLpm
+0009DC D155              ACALL   IPC_AbandonLpm
   428: 				break;
-0009D0 80D5              SJMP    ?C0071?SYS
+0009DE 80D5              SJMP    ?C0071?SYS
   429: 			}
-0009D2         ?C0078?SYS:
+0009E0         ?C0078?SYS:
   430: 			else
   431: 			{
   432: 				KS_Unistall();
-0009D2 31DB              ACALL   KS_Unistall
+0009E0 31E9              ACALL   KS_Unistall
   433: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-0009D4 31DC              ACALL   IPC_WaitLpm
+0009E2 31EA              ACALL   IPC_WaitLpm
   434: 				break;
-0009D6 80CF              SJMP    ?C0071?SYS
+0009E4 80CF              SJMP    ?C0071?SYS
   435: 			}
   436: 		}
   437: 	}
-0009D8 80CD              SJMP    ?C0071?SYS
-0009DA 22                RET     
+0009E6 80CD              SJMP    ?C0071?SYS
+0009E8 22                RET     
 ----- FUNCTION YC_System_Main (END) -------
 
 
@@ -1544,18 +1554,18 @@
    34: {
    35: 
    36: }
-0009DB 22                RET     
+0009E9 22                RET     
 ----- FUNCTION KS_Unistall (END) -------
 
 
 ----- FUNCTION IPC_WaitLpm (BEGIN) -----
-0009DC E4                CLR     A
-0009DD 900B7F            MOV     DPTR,#lpm_flag
-0009E0 F0                MOVX    @DPTR,A
-0009E1 900B7E            MOV     DPTR,#current_task
-0009E4 F0                MOVX    @DPTR,A
-0009E5 7F01              MOV     R7,#01H
-0009E7 020596            LJMP    _Delay1ms
+0009EA E4                CLR     A
+0009EB 900B7F            MOV     DPTR,#lpm_flag
+0009EE F0                MOVX    @DPTR,A
+0009EF 900B7E            MOV     DPTR,#current_task
+0009F2 F0                MOVX    @DPTR,A
+0009F3 7F01              MOV     R7,#01H
+0009F5 020596            LJMP    _Delay1ms
 ----- FUNCTION IPC_WaitLpm (END) -------
 
 
@@ -1565,11 +1575,11 @@
    46: {
    47: 	System_IIC_clk_setup();
    48: 	KS_Initialize();
-0009EA D153              ACALL   System_IIC_clk_setup
+0009F8 D161              ACALL   System_IIC_clk_setup
    49: 	LED_all_shutdown();
-0009EC 31F0              ACALL   KS_Initialize
+0009FA 31FE              ACALL   KS_Initialize
    50: }
-0009EE 80A9              SJMP    LED_all_shutdown
+0009FC 80A9              SJMP    LED_all_shutdown
 ----- FUNCTION System_Hardware_init (END) -------
 
 
@@ -1588,30 +1598,30 @@
    21: {
    22: 	byte i = 0;
    23: 	for (i=0; col[i]!=0; i++) {
-0009F0 E4                CLR     A
-0009F1 904E82            MOV     DPTR,#i
-0009F4 F0                MOVX    @DPTR,A
+0009FE E4                CLR     A
+0009FF 904E82            MOV     DPTR,#i
+000A02 F0                MOVX    @DPTR,A
    24: 		GPIO_SetInput(col[i], 0);
-0009F5 F0                MOVX    @DPTR,A
-0009F6         ?C0005?KEYSCAN:
-0009F6 904E82            MOV     DPTR,#i
-0009F9 E0                MOVX    A,@DPTR
-0009FA 900354            MOV     DPTR,#col
-0009FD 93                MOVC    A,@A+DPTR
-0009FE FF                MOV     R7,A
-0009FF 600C              JZ      ?C0008?KEYSCAN
+000A03 F0                MOVX    @DPTR,A
+000A04         ?C0005?KEYSCAN:
+000A04 904E82            MOV     DPTR,#i
+000A07 E0                MOVX    A,@DPTR
+000A08 900354            MOV     DPTR,#col
+000A0B 93                MOVC    A,@A+DPTR
+000A0C FF                MOV     R7,A
+000A0D 600C              JZ      ?C0008?KEYSCAN
    25: 	}
-000A01 C205              CLR     ?_GPIO_SetInput?BIT
-000A03 513E              ACALL   _GPIO_SetInput
+000A0F C205              CLR     ?_GPIO_SetInput?BIT
+000A11 514C              ACALL   _GPIO_SetInput
    26: }
-000A05 904E82            MOV     DPTR,#i
-000A08 E0                MOVX    A,@DPTR
-000A09 04                INC     A
-000A0A F0                MOVX    @DPTR,A
-000A0B 80E9              SJMP    ?C0005?KEYSCAN
+000A13 904E82            MOV     DPTR,#i
+000A16 E0                MOVX    A,@DPTR
+000A17 04                INC     A
+000A18 F0                MOVX    @DPTR,A
+000A19 80E9              SJMP    ?C0005?KEYSCAN
    27: 
-000A0D         ?C0008?KEYSCAN:
-000A0D 22                RET     
+000A1B         ?C0008?KEYSCAN:
+000A1B 22                RET     
 ----- FUNCTION ksColInitialize (END) -------
 
 
@@ -1621,21 +1631,21 @@
   393: {
   394: 	IPC_Initialize(&cb);
   395: }
-000A0E 7B01              MOV     R3,#01H
-000A10 7A4D              MOV     R2,#HIGH cb
-000A12 79F3              MOV     R1,#LOW cb
+000A1C 7B01              MOV     R3,#01H
+000A1E 7A4D              MOV     R2,#HIGH cb
+000A20 79F3              MOV     R1,#LOW cb
 ;----                  JMP     _IPC_Initialize
 ----- FUNCTION kb_cb_init (END) -------
 
 
 ----- FUNCTION _IPC_Initialize (BEGIN) -----
 ;---- Variable 'cb' assigned to Register 'R1/R2/R3' ----
-000A14 7805              MOV     R0,#LOW ipcCb
-000A16 7C4E              MOV     R4,#HIGH ipcCb
-000A18 7D01              MOV     R5,#01H
-000A1A 7E00              MOV     R6,#00H
-000A1C 7F12              MOV     R7,#012H
-000A1E 0200D3            LJMP    ?C?COPY
+000A22 7805              MOV     R0,#LOW ipcCb
+000A24 7C4E              MOV     R4,#HIGH ipcCb
+000A26 7D01              MOV     R5,#01H
+000A28 7E00              MOV     R6,#00H
+000A2A 7F12              MOV     R7,#012H
+000A2C 0200D3            LJMP    ?C?COPY
 ----- FUNCTION _IPC_Initialize (END) -------
 
 
@@ -1645,171 +1655,171 @@
    26: {
    27: 	GPIO_SetOutput(GAMEPAD1_LED_GPIO,LED_OFF);
    28: 	GPIO_SetOutput(GAMEPAD2_LED_GPIO,LED_OFF);
-000A21 C206              CLR     ?_GPIO_SetOutput?BIT
-000A23 7F04              MOV     R7,#04H
-000A25 116C              ACALL   _GPIO_SetOutput
+000A2F C206              CLR     ?_GPIO_SetOutput?BIT
+000A31 7F04              MOV     R7,#04H
+000A33 117A              ACALL   _GPIO_SetOutput
    29: }
-000A27 C206              CLR     ?_GPIO_SetOutput?BIT
-000A29 7F03              MOV     R7,#03H
-000A2B 016C              AJMP    _GPIO_SetOutput
+000A35 C206              CLR     ?_GPIO_SetOutput?BIT
+000A37 7F03              MOV     R7,#03H
+000A39 017A              AJMP    _GPIO_SetOutput
 ----- FUNCTION LED_device_poweroff (END) -------
 
 
 ----- FUNCTION _GPIO_SetPu (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-000A2D EF                MOV     A,R7
-000A2E F4                CPL     A
-000A2F 600C              JZ      ?C0009?GPIO
-000A31         ?C0008?GPIO:
-000A31 7B01              MOV     R3,#01H
-000A33 7A80              MOV     R2,#080H
-000A35 7978              MOV     R1,#078H
-000A37 A202              MOV     C,bit_val
-000A39 9200              MOV     ?_gpioSetBit?BIT,C
-000A3B 516D              ACALL   _gpioSetBit
-000A3D         ?C0009?GPIO:
-000A3D 22                RET     
+000A3B EF                MOV     A,R7
+000A3C F4                CPL     A
+000A3D 600C              JZ      ?C0009?GPIO
+000A3F         ?C0008?GPIO:
+000A3F 7B01              MOV     R3,#01H
+000A41 7A80              MOV     R2,#080H
+000A43 7978              MOV     R1,#078H
+000A45 A202              MOV     C,bit_val
+000A47 9200              MOV     ?_gpioSetBit?BIT,C
+000A49 517B              ACALL   _gpioSetBit
+000A4B         ?C0009?GPIO:
+000A4B 22                RET     
 ----- FUNCTION _GPIO_SetPu (END) -------
 
 
 ----- FUNCTION _GPIO_SetInput (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R4' ----
-000A3E AC07              MOV     R4,AR7
-000A40 EC                MOV     A,R4
-000A41 F4                CPL     A
-000A42 6017              JZ      ?C0015?GPIO
-000A44         ?C0014?GPIO:
-000A44 AF04              MOV     R7,AR4
-000A46 A205              MOV     C,st
-000A48 9203              MOV     ?_GPIO_SetPd?BIT,C
-000A4A 51CE              ACALL   _GPIO_SetPd
-000A4C AF04              MOV     R7,AR4
-000A4E A205              MOV     C,st
-000A50 B3                CPL     C
-000A51 9202              MOV     ?_GPIO_SetPu?BIT,C
-000A53 512D              ACALL   _GPIO_SetPu
-000A55 AF04              MOV     R7,AR4
-000A57 C204              CLR     ?_GPIO_Setoe?BIT
-000A59 515C              ACALL   _GPIO_Setoe
-000A5B         ?C0015?GPIO:
-000A5B 22                RET     
+000A4C AC07              MOV     R4,AR7
+000A4E EC                MOV     A,R4
+000A4F F4                CPL     A
+000A50 6017              JZ      ?C0015?GPIO
+000A52         ?C0014?GPIO:
+000A52 AF04              MOV     R7,AR4
+000A54 A205              MOV     C,st
+000A56 9203              MOV     ?_GPIO_SetPd?BIT,C
+000A58 51DC              ACALL   _GPIO_SetPd
+000A5A AF04              MOV     R7,AR4
+000A5C A205              MOV     C,st
+000A5E B3                CPL     C
+000A5F 9202              MOV     ?_GPIO_SetPu?BIT,C
+000A61 513B              ACALL   _GPIO_SetPu
+000A63 AF04              MOV     R7,AR4
+000A65 C204              CLR     ?_GPIO_Setoe?BIT
+000A67 516A              ACALL   _GPIO_Setoe
+000A69         ?C0015?GPIO:
+000A69 22                RET     
 ----- FUNCTION _GPIO_SetInput (END) -------
 
 
 ----- FUNCTION _GPIO_Setoe (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-000A5C EF                MOV     A,R7
-000A5D F4                CPL     A
-000A5E 600C              JZ      ?C0013?GPIO
-000A60         ?C0012?GPIO:
-000A60 7B01              MOV     R3,#01H
-000A62 7A80              MOV     R2,#080H
-000A64 7970              MOV     R1,#070H
-000A66 A204              MOV     C,bit_val
-000A68 9200              MOV     ?_gpioSetBit?BIT,C
-000A6A 516D              ACALL   _gpioSetBit
-000A6C         ?C0013?GPIO:
-000A6C 22                RET     
+000A6A EF                MOV     A,R7
+000A6B F4                CPL     A
+000A6C 600C              JZ      ?C0013?GPIO
+000A6E         ?C0012?GPIO:
+000A6E 7B01              MOV     R3,#01H
+000A70 7A80              MOV     R2,#080H
+000A72 7970              MOV     R1,#070H
+000A74 A204              MOV     C,bit_val
+000A76 9200              MOV     ?_gpioSetBit?BIT,C
+000A78 517B              ACALL   _gpioSetBit
+000A7A         ?C0013?GPIO:
+000A7A 22                RET     
 ----- FUNCTION _GPIO_Setoe (END) -------
 
 
 ----- FUNCTION _gpioSetBit (BEGIN) -----
-000A6D 904E7A            MOV     DPTR,#reg_base
-000A70 EB                MOV     A,R3
-000A71 F0                MOVX    @DPTR,A
-000A72 A3                INC     DPTR
-000A73 EA                MOV     A,R2
-000A74 F0                MOVX    @DPTR,A
-000A75 A3                INC     DPTR
-000A76 E9                MOV     A,R1
-000A77 F0                MOVX    @DPTR,A
+000A7B 904E7A            MOV     DPTR,#reg_base
+000A7E EB                MOV     A,R3
+000A7F F0                MOVX    @DPTR,A
+000A80 A3                INC     DPTR
+000A81 EA                MOV     A,R2
+000A82 F0                MOVX    @DPTR,A
+000A83 A3                INC     DPTR
+000A84 E9                MOV     A,R1
+000A85 F0                MOVX    @DPTR,A
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
 ;---- Variable 'queue' assigned to Register 'R6' ----
-000A78 E4                CLR     A
-000A79 FE                MOV     R6,A
+000A86 E4                CLR     A
+000A87 FE                MOV     R6,A
 ;---- Variable 'group' assigned to Register 'R5' ----
-000A7A FD                MOV     R5,A
-000A7B EF                MOV     A,R7
-000A7C 5407              ANL     A,#07H
-000A7E FE                MOV     R6,A
-000A7F EF                MOV     A,R7
-000A80 13                RRC     A
-000A81 13                RRC     A
-000A82 13                RRC     A
-000A83 5403              ANL     A,#03H
-000A85 FD                MOV     R5,A
-000A86 300022            JNB     bit_val,?C0001?GPIO
-000A89 904E7A            MOV     DPTR,#reg_base
-000A8C E0                MOVX    A,@DPTR
-000A8D FB                MOV     R3,A
-000A8E A3                INC     DPTR
-000A8F E0                MOVX    A,@DPTR
-000A90 FA                MOV     R2,A
-000A91 A3                INC     DPTR
-000A92 E0                MOVX    A,@DPTR
-000A93 2D                ADD     A,R5
-000A94 F9                MOV     R1,A
-000A95 E4                CLR     A
-000A96 3A                ADDC    A,R2
-000A97 FA                MOV     R2,A
-000A98 1200F9            LCALL   ?C?CLDPTR
-000A9B FF                MOV     R7,A
-000A9C 7401              MOV     A,#01H
-000A9E A806              MOV     R0,AR6
-000AA0 08                INC     R0
-000AA1 8002              SJMP    ?C0031?GPIO
-000AA3         ?C0030?GPIO:
-000AA3 C3                CLR     C
-000AA4 33                RLC     A
-000AA5         ?C0031?GPIO:
-000AA5 D8FC              DJNZ    R0,?C0030?GPIO
-000AA7 4F                ORL     A,R7
-000AA8 02013F            LJMP    ?C?CSTPTR
-000AAB         ?C0001?GPIO:
-000AAB 904E7A            MOV     DPTR,#reg_base
-000AAE E0                MOVX    A,@DPTR
-000AAF FB                MOV     R3,A
-000AB0 A3                INC     DPTR
-000AB1 E0                MOVX    A,@DPTR
-000AB2 FA                MOV     R2,A
-000AB3 A3                INC     DPTR
-000AB4 E0                MOVX    A,@DPTR
-000AB5 2D                ADD     A,R5
-000AB6 F9                MOV     R1,A
-000AB7 E4                CLR     A
-000AB8 3A                ADDC    A,R2
-000AB9 FA                MOV     R2,A
-000ABA 1200F9            LCALL   ?C?CLDPTR
-000ABD FF                MOV     R7,A
-000ABE 7401              MOV     A,#01H
-000AC0 A806              MOV     R0,AR6
-000AC2 08                INC     R0
-000AC3 8002              SJMP    ?C0033?GPIO
-000AC5         ?C0032?GPIO:
-000AC5 C3                CLR     C
-000AC6 33                RLC     A
-000AC7         ?C0033?GPIO:
-000AC7 D8FC              DJNZ    R0,?C0032?GPIO
-000AC9 F4                CPL     A
-000ACA 5F                ANL     A,R7
-000ACB 02013F            LJMP    ?C?CSTPTR
+000A88 FD                MOV     R5,A
+000A89 EF                MOV     A,R7
+000A8A 5407              ANL     A,#07H
+000A8C FE                MOV     R6,A
+000A8D EF                MOV     A,R7
+000A8E 13                RRC     A
+000A8F 13                RRC     A
+000A90 13                RRC     A
+000A91 5403              ANL     A,#03H
+000A93 FD                MOV     R5,A
+000A94 300022            JNB     bit_val,?C0001?GPIO
+000A97 904E7A            MOV     DPTR,#reg_base
+000A9A E0                MOVX    A,@DPTR
+000A9B FB                MOV     R3,A
+000A9C A3                INC     DPTR
+000A9D E0                MOVX    A,@DPTR
+000A9E FA                MOV     R2,A
+000A9F A3                INC     DPTR
+000AA0 E0                MOVX    A,@DPTR
+000AA1 2D                ADD     A,R5
+000AA2 F9                MOV     R1,A
+000AA3 E4                CLR     A
+000AA4 3A                ADDC    A,R2
+000AA5 FA                MOV     R2,A
+000AA6 1200F9            LCALL   ?C?CLDPTR
+000AA9 FF                MOV     R7,A
+000AAA 7401              MOV     A,#01H
+000AAC A806              MOV     R0,AR6
+000AAE 08                INC     R0
+000AAF 8002              SJMP    ?C0031?GPIO
+000AB1         ?C0030?GPIO:
+000AB1 C3                CLR     C
+000AB2 33                RLC     A
+000AB3         ?C0031?GPIO:
+000AB3 D8FC              DJNZ    R0,?C0030?GPIO
+000AB5 4F                ORL     A,R7
+000AB6 02013F            LJMP    ?C?CSTPTR
+000AB9         ?C0001?GPIO:
+000AB9 904E7A            MOV     DPTR,#reg_base
+000ABC E0                MOVX    A,@DPTR
+000ABD FB                MOV     R3,A
+000ABE A3                INC     DPTR
+000ABF E0                MOVX    A,@DPTR
+000AC0 FA                MOV     R2,A
+000AC1 A3                INC     DPTR
+000AC2 E0                MOVX    A,@DPTR
+000AC3 2D                ADD     A,R5
+000AC4 F9                MOV     R1,A
+000AC5 E4                CLR     A
+000AC6 3A                ADDC    A,R2
+000AC7 FA                MOV     R2,A
+000AC8 1200F9            LCALL   ?C?CLDPTR
+000ACB FF                MOV     R7,A
+000ACC 7401              MOV     A,#01H
+000ACE A806              MOV     R0,AR6
+000AD0 08                INC     R0
+000AD1 8002              SJMP    ?C0033?GPIO
+000AD3         ?C0032?GPIO:
+000AD3 C3                CLR     C
+000AD4 33                RLC     A
+000AD5         ?C0033?GPIO:
+000AD5 D8FC              DJNZ    R0,?C0032?GPIO
+000AD7 F4                CPL     A
+000AD8 5F                ANL     A,R7
+000AD9 02013F            LJMP    ?C?CSTPTR
 ----- FUNCTION _gpioSetBit (END) -------
 
 
 ----- FUNCTION _GPIO_SetPd (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-000ACE EF                MOV     A,R7
-000ACF F4                CPL     A
-000AD0 600C              JZ      ?C0011?GPIO
-000AD2         ?C0010?GPIO:
-000AD2 7B01              MOV     R3,#01H
-000AD4 7A80              MOV     R2,#080H
-000AD6 797C              MOV     R1,#07CH
-000AD8 A203              MOV     C,bit_val
-000ADA 9200              MOV     ?_gpioSetBit?BIT,C
-000ADC 516D              ACALL   _gpioSetBit
-000ADE         ?C0011?GPIO:
-000ADE 22                RET     
+000ADC EF                MOV     A,R7
+000ADD F4                CPL     A
+000ADE 600C              JZ      ?C0011?GPIO
+000AE0         ?C0010?GPIO:
+000AE0 7B01              MOV     R3,#01H
+000AE2 7A80              MOV     R2,#080H
+000AE4 797C              MOV     R1,#07CH
+000AE6 A203              MOV     C,bit_val
+000AE8 9200              MOV     ?_gpioSetBit?BIT,C
+000AEA 517B              ACALL   _gpioSetBit
+000AEC         ?C0011?GPIO:
+000AEC 22                RET     
 ----- FUNCTION _GPIO_SetPd (END) -------
 
 
@@ -1819,464 +1829,464 @@
   345: {
   346: 
   347: 	if (g_variable.delay_enter_lpm_timer) 
-000ADF 904CF9            MOV     DPTR,#g_variable+03AH
-000AE2 E0                MOVX    A,@DPTR
-000AE3 6002              JZ      ?C0063?SYS
+000AED 904CF9            MOV     DPTR,#g_variable+03AH
+000AF0 E0                MOVX    A,@DPTR
+000AF1 6002              JZ      ?C0063?SYS
   348: 	{
   349: 		g_variable.delay_enter_lpm_timer --;
-000AE5 14                DEC     A
-000AE6 F0                MOVX    @DPTR,A
+000AF3 14                DEC     A
+000AF4 F0                MOVX    @DPTR,A
   350: 	}
-000AE7         ?C0063?SYS:
+000AF5         ?C0063?SYS:
   351: 
   352: 	if(g_variable.recon_delay)
-000AE7 904CFE            MOV     DPTR,#g_variable+03FH
-000AEA E0                MOVX    A,@DPTR
-000AEB 6002              JZ      ?C0064?SYS
+000AF5 904CFE            MOV     DPTR,#g_variable+03FH
+000AF8 E0                MOVX    A,@DPTR
+000AF9 6002              JZ      ?C0064?SYS
   353: 		g_variable.recon_delay--;
-000AED 14                DEC     A
-000AEE F0                MOVX    @DPTR,A
-000AEF         ?C0064?SYS:
+000AFB 14                DEC     A
+000AFC F0                MOVX    @DPTR,A
+000AFD         ?C0064?SYS:
   354: 
   355: 
   356: 	if (g_variable.powerOn_timer != 0)
-000AEF 904CF7            MOV     DPTR,#g_variable+038H
-000AF2 E0                MOVX    A,@DPTR
-000AF3 6010              JZ      ?C0065?SYS
+000AFD 904CF7            MOV     DPTR,#g_variable+038H
+000B00 E0                MOVX    A,@DPTR
+000B01 6010              JZ      ?C0065?SYS
   357: 	{	
   358: 		if(g_variable.pairing_g24_timeout)
-000AF5 904CFD            MOV     DPTR,#g_variable+03EH
-000AF8 E0                MOVX    A,@DPTR
-000AF9 7013              JNZ     ?C0067?SYS
+000B03 904CFD            MOV     DPTR,#g_variable+03EH
+000B06 E0                MOVX    A,@DPTR
+000B07 7013              JNZ     ?C0067?SYS
   359: 		{
   360: 	//		g_variable.powerOn_timer = 0;
   361: 			return;
   362: 		}
-000AFB         ?C0066?SYS:
+000B09         ?C0066?SYS:
   363: 			
   364: //		g_variable.powerOn_timer--;
   365: 		LED_device_poweron();
-000AFB 1187              ACALL   LED_device_poweron
+000B09 1195              ACALL   LED_device_poweron
   366: 		if (!g_variable.powerOn_timer)
-000AFD 904CF7            MOV     DPTR,#g_variable+038H
-000B00 E0                MOVX    A,@DPTR
-000B01 7002              JNZ     ?C0065?SYS
+000B0B 904CF7            MOV     DPTR,#g_variable+038H
+000B0E E0                MOVX    A,@DPTR
+000B0F 7002              JNZ     ?C0065?SYS
   367: 		{
   368: 			LED_device_poweroff();
-000B03 5121              ACALL   LED_device_poweroff
+000B11 512F              ACALL   LED_device_poweroff
   369: 		}
   370: 	}
-000B05         ?C0065?SYS:
+000B13         ?C0065?SYS:
   371: 	
   372: 
   373: 
   374: 	if (delayChgInvTimer != 0)
-000B05 904DE0            MOV     DPTR,#delayChgInvTimer
-000B08 E0                MOVX    A,@DPTR
-000B09 6003              JZ      ?C0067?SYS
+000B13 904DE0            MOV     DPTR,#delayChgInvTimer
+000B16 E0                MOVX    A,@DPTR
+000B17 6003              JZ      ?C0067?SYS
   375: 	{
   376: 		delayChgInvTimer--;
-000B0B E0                MOVX    A,@DPTR
-000B0C 14                DEC     A
-000B0D F0                MOVX    @DPTR,A
+000B19 E0                MOVX    A,@DPTR
+000B1A 14                DEC     A
+000B1B F0                MOVX    @DPTR,A
   377: 	}
   378: }
-000B0E         ?C0067?SYS:
-000B0E 22                RET     
+000B1C         ?C0067?SYS:
+000B1C 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
 ----- FUNCTION kb_need_keyscan (BEGIN) -----
  FILE: 'kb_process.c'
-  346: void kb_need_keyscan()
-  347: {
-  348: 	if (!IPC_IsTxBuffEmpty())
-  349: 		return;
-000B0F F105              ACALL   IPC_IsTxBuffEmpty
-000B11 5044              JNC     ?C0106?KB_PROCESS
-000B13         ?C0105?KB_PROCESS:
-  350: 
-  351: 	if(g_variable.g24_long_sleep_flag == 1)
-000B13 904D04            MOV     DPTR,#g_variable+045H
-000B16 E0                MOVX    A,@DPTR
-000B17 B4010E            CJNE    A,#01H,?C0107?KB_PROCESS
-  352: 	{
-  353: 		m_24g_enter_hibernate[0]	= 0xff;
-000B1A 904D3D            MOV     DPTR,#m_24g_enter_hibernate
-000B1D 74FF              MOV     A,#0FFH
-000B1F F0                MOVX    @DPTR,A
-  354: 		m_24g_enter_hibernate[1]	= 0xff;
-000B20 A3                INC     DPTR
-000B21 F0                MOVX    @DPTR,A
-  355: 		m_24g_enter_hibernate[2]	= 0xff;
-000B22 A3                INC     DPTR
-000B23 F0                MOVX    @DPTR,A
-  356: 		m_24g_enter_hibernate[3]	= 0xff;
-000B24 A3                INC     DPTR
-000B25 F0                MOVX    @DPTR,A
-  357: 	}
-000B26 8010              SJMP    ?C0108?KB_PROCESS
-000B28         ?C0107?KB_PROCESS:
-  358: 	else
-  359: 	{
-  360: 		m_24g_enter_hibernate[0]	= 0x00;
-000B28 E4                CLR     A
-000B29 904D3D            MOV     DPTR,#m_24g_enter_hibernate
-000B2C F0                MOVX    @DPTR,A
-  361: 		m_24g_enter_hibernate[1]	= 0xfd;
-000B2D A3                INC     DPTR
-000B2E 74FD              MOV     A,#0FDH
-000B30 F0                MOVX    @DPTR,A
-  362: 		m_24g_enter_hibernate[2]	= 0xe8;
-000B31 A3                INC     DPTR
-000B32 74E8              MOV     A,#0E8H
-000B34 F0                MOVX    @DPTR,A
-  363: 		m_24g_enter_hibernate[3]	= 0x00;
-000B35 E4                CLR     A
-000B36 A3                INC     DPTR
-000B37 F0                MOVX    @DPTR,A
-  364: 	}
-000B38         ?C0108?KB_PROCESS:
-  365: 
-  366: 	KS_ScanMatrix();
-000B38 91BF              ACALL   KS_ScanMatrix
-  367: 		
-  368: 	if(m_customize_timer_last != m_customize_timer)
-000B3A 904D52            MOV     DPTR,#m_customize_timer
-000B3D E0                MOVX    A,@DPTR
-000B3E FF                MOV     R7,A
-000B3F 904DDD            MOV     DPTR,#m_customize_timer_last
-000B42 E0                MOVX    A,@DPTR
-000B43 6F                XRL     A,R7
-000B44 6011              JZ      ?C0106?KB_PROCESS
-  369: 	{
-  370: 		m_customize_timer_last = m_customize_timer;
-000B46 904D52            MOV     DPTR,#m_customize_timer
-000B49 E0                MOVX    A,@DPTR
-000B4A 904DDD            MOV     DPTR,#m_customize_timer_last
-000B4D F0                MOVX    @DPTR,A
-  371: 		delayChgInvTimer = 10;
-000B4E 904DE0            MOV     DPTR,#delayChgInvTimer
-000B51 740A              MOV     A,#0AH
-000B53 F0                MOVX    @DPTR,A
-  372: 	#ifndef MOUSE_TEST
-  373: 		kb_set_gamepad_data();
-000B54 121068            LCALL   kb_set_gamepad_data
-  374: 	#else		
-  375: 		g_variable.sensor_x_l = 0;
-  376: 		g_variable.sensor_x_h = 0;
-  377: 		g_variable.sensor_y_l = 0;
-  378: 		g_variable.sensor_y_h = 0;
-  379: 		g_variable.sensor_wheel = 0;
-  380: 		g_variable.sensor_titl = 0;	
-  381: 
-  382: 		g_variable.test_buff++;
-  383: 		if(g_variable.test_buff <= 50)
-  384: 		{
-  385: 			g_variable.sensor_x_l = 0x0a;
-  386: 		}
-  387: 		else if(g_variable.test_buff <= 100)
-  388: 		{
-  389: 			g_variable.sensor_y_l = 0x0a;
-  390: 		}
-  391: 		else if(g_variable.test_buff <= 150)
-  392: 		{
-  393: 			g_variable.sensor_x_l = 0xf6;
-  394: 			g_variable.sensor_x_h = 0xff;
-  395: 		}
-  396: 		else if(g_variable.test_buff <= 200)
-  397: 		{
-  398: 			g_variable.sensor_y_l = 0xf6;
-  399: 			g_variable.sensor_y_h = 0xff;
-  400: 		}
-  401: 		else
-  402: 			g_variable.test_buff = 0;
-  403: 
-  404: 		multikey[0] = HID_REPORTID_3;
-  405: 		multikey[1] = g_variable.sensor_key;
-  406: 		multikey[2] = g_variable.sensor_x_l;
-  407: 		multikey[3] = g_variable.sensor_x_h;
-  408: 		multikey[4] = g_variable.sensor_y_l;
-  409: 		multikey[5] = g_variable.sensor_y_h;
-  410: 		multikey[6] = g_variable.sensor_wheel;
-  411: 		multikey[7] = g_variable.sensor_titl;
-  412: 		IPC_TxHidData(multikey, 8);
-  413: 		xmemclear(multikey,9);
-  414: 	#endif	
-  415: 	}
-  416: }
-000B57         ?C0106?KB_PROCESS:
-000B57 22                RET     
+  349: void kb_need_keyscan()
+  350: {
+  351: 	if (!IPC_IsTxBuffEmpty())
+  352: 		return;
+000B1D F113              ACALL   IPC_IsTxBuffEmpty
+000B1F 5044              JNC     ?C0107?KB_PROCESS
+000B21         ?C0106?KB_PROCESS:
+  353: 
+  354: 	if(g_variable.g24_long_sleep_flag == 1)
+000B21 904D04            MOV     DPTR,#g_variable+045H
+000B24 E0                MOVX    A,@DPTR
+000B25 B4010E            CJNE    A,#01H,?C0108?KB_PROCESS
+  355: 	{
+  356: 		m_24g_enter_hibernate[0]	= 0xff;
+000B28 904D3D            MOV     DPTR,#m_24g_enter_hibernate
+000B2B 74FF              MOV     A,#0FFH
+000B2D F0                MOVX    @DPTR,A
+  357: 		m_24g_enter_hibernate[1]	= 0xff;
+000B2E A3                INC     DPTR
+000B2F F0                MOVX    @DPTR,A
+  358: 		m_24g_enter_hibernate[2]	= 0xff;
+000B30 A3                INC     DPTR
+000B31 F0                MOVX    @DPTR,A
+  359: 		m_24g_enter_hibernate[3]	= 0xff;
+000B32 A3                INC     DPTR
+000B33 F0                MOVX    @DPTR,A
+  360: 	}
+000B34 8010              SJMP    ?C0109?KB_PROCESS
+000B36         ?C0108?KB_PROCESS:
+  361: 	else
+  362: 	{
+  363: 		m_24g_enter_hibernate[0]	= 0x00;
+000B36 E4                CLR     A
+000B37 904D3D            MOV     DPTR,#m_24g_enter_hibernate
+000B3A F0                MOVX    @DPTR,A
+  364: 		m_24g_enter_hibernate[1]	= 0xfd;
+000B3B A3                INC     DPTR
+000B3C 74FD              MOV     A,#0FDH
+000B3E F0                MOVX    @DPTR,A
+  365: 		m_24g_enter_hibernate[2]	= 0xe8;
+000B3F A3                INC     DPTR
+000B40 74E8              MOV     A,#0E8H
+000B42 F0                MOVX    @DPTR,A
+  366: 		m_24g_enter_hibernate[3]	= 0x00;
+000B43 E4                CLR     A
+000B44 A3                INC     DPTR
+000B45 F0                MOVX    @DPTR,A
+  367: 	}
+000B46         ?C0109?KB_PROCESS:
+  368: 
+  369: 	KS_ScanMatrix();
+000B46 91CD              ACALL   KS_ScanMatrix
+  370: 		
+  371: 	if(m_customize_timer_last != m_customize_timer)
+000B48 904D52            MOV     DPTR,#m_customize_timer
+000B4B E0                MOVX    A,@DPTR
+000B4C FF                MOV     R7,A
+000B4D 904DDD            MOV     DPTR,#m_customize_timer_last
+000B50 E0                MOVX    A,@DPTR
+000B51 6F                XRL     A,R7
+000B52 6011              JZ      ?C0107?KB_PROCESS
+  372: 	{
+  373: 		m_customize_timer_last = m_customize_timer;
+000B54 904D52            MOV     DPTR,#m_customize_timer
+000B57 E0                MOVX    A,@DPTR
+000B58 904DDD            MOV     DPTR,#m_customize_timer_last
+000B5B F0                MOVX    @DPTR,A
+  374: 		delayChgInvTimer = 10;
+000B5C 904DE0            MOV     DPTR,#delayChgInvTimer
+000B5F 740A              MOV     A,#0AH
+000B61 F0                MOVX    @DPTR,A
+  375: 	#ifndef MOUSE_TEST
+  376: 		kb_set_gamepad_data();
+000B62 121076            LCALL   kb_set_gamepad_data
+  377: 	#else		
+  378: 		g_variable.sensor_x_l = 0;
+  379: 		g_variable.sensor_x_h = 0;
+  380: 		g_variable.sensor_y_l = 0;
+  381: 		g_variable.sensor_y_h = 0;
+  382: 		g_variable.sensor_wheel = 0;
+  383: 		g_variable.sensor_titl = 0;	
+  384: 
+  385: 		g_variable.test_buff++;
+  386: 		if(g_variable.test_buff <= 50)
+  387: 		{
+  388: 			g_variable.sensor_x_l = 0x0a;
+  389: 		}
+  390: 		else if(g_variable.test_buff <= 100)
+  391: 		{
+  392: 			g_variable.sensor_y_l = 0x0a;
+  393: 		}
+  394: 		else if(g_variable.test_buff <= 150)
+  395: 		{
+  396: 			g_variable.sensor_x_l = 0xf6;
+  397: 			g_variable.sensor_x_h = 0xff;
+  398: 		}
+  399: 		else if(g_variable.test_buff <= 200)
+  400: 		{
+  401: 			g_variable.sensor_y_l = 0xf6;
+  402: 			g_variable.sensor_y_h = 0xff;
+  403: 		}
+  404: 		else
+  405: 			g_variable.test_buff = 0;
+  406: 
+  407: 		multikey[0] = HID_REPORTID_3;
+  408: 		multikey[1] = g_variable.sensor_key;
+  409: 		multikey[2] = g_variable.sensor_x_l;
+  410: 		multikey[3] = g_variable.sensor_x_h;
+  411: 		multikey[4] = g_variable.sensor_y_l;
+  412: 		multikey[5] = g_variable.sensor_y_h;
+  413: 		multikey[6] = g_variable.sensor_wheel;
+  414: 		multikey[7] = g_variable.sensor_titl;
+  415: 		IPC_TxHidData(multikey, 8);
+  416: 		xmemclear(multikey,9);
+  417: 	#endif	
+  418: 	}
+  419: }
+000B65         ?C0107?KB_PROCESS:
+000B65 22                RET     
 ----- FUNCTION kb_need_keyscan (END) -------
 
 
 ----- FUNCTION _IIC_write (BEGIN) -----
-000B58 904E4E            MOV     DPTR,#addr
-000B5B EE                MOV     A,R6
-000B5C F0                MOVX    @DPTR,A
-000B5D A3                INC     DPTR
-000B5E EF                MOV     A,R7
-000B5F F0                MOVX    @DPTR,A
-000B60 904E52            MOV     DPTR,#pbuff
-000B63 EB                MOV     A,R3
-000B64 F0                MOVX    @DPTR,A
-000B65 A3                INC     DPTR
-000B66 EA                MOV     A,R2
-000B67 F0                MOVX    @DPTR,A
-000B68 A3                INC     DPTR
-000B69 E9                MOV     A,R1
+000B66 904E4E            MOV     DPTR,#addr
+000B69 EE                MOV     A,R6
 000B6A F0                MOVX    @DPTR,A
-000B6B 904E50            MOV     DPTR,#len
-000B6E EC                MOV     A,R4
-000B6F F0                MOVX    @DPTR,A
-000B70 A3                INC     DPTR
-000B71 ED                MOV     A,R5
+000B6B A3                INC     DPTR
+000B6C EF                MOV     A,R7
+000B6D F0                MOVX    @DPTR,A
+000B6E 904E52            MOV     DPTR,#pbuff
+000B71 EB                MOV     A,R3
 000B72 F0                MOVX    @DPTR,A
 000B73 A3                INC     DPTR
-000B74 E0                MOVX    A,@DPTR
-000B75 F9                MOV     R1,A
+000B74 EA                MOV     A,R2
+000B75 F0                MOVX    @DPTR,A
 000B76 A3                INC     DPTR
-000B77 E0                MOVX    A,@DPTR
-000B78 FA                MOV     R2,A
-000B79 A3                INC     DPTR
-000B7A E0                MOVX    A,@DPTR
-000B7B 904E42            MOV     DPTR,#?_dmemcpy?BYTE+03H
-000B7E C9                XCH     A,R1
-000B7F F0                MOVX    @DPTR,A
-000B80 A3                INC     DPTR
-000B81 EA                MOV     A,R2
-000B82 F0                MOVX    @DPTR,A
-000B83 A3                INC     DPTR
-000B84 E9                MOV     A,R1
-000B85 F0                MOVX    @DPTR,A
-000B86 A3                INC     DPTR
-000B87 EC                MOV     A,R4
-000B88 F0                MOVX    @DPTR,A
-000B89 A3                INC     DPTR
-000B8A ED                MOV     A,R5
-000B8B F0                MOVX    @DPTR,A
-000B8C 7B01              MOV     R3,#01H
-000B8E 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
-000B90 7986              MOV     R1,#LOW IIC_TempBuff+03H
-000B92 F151              ACALL   _dmemcpy
-000B94 900B83            MOV     DPTR,#IIC_TempBuff
-000B97 74A0              MOV     A,#0A0H
+000B77 E9                MOV     A,R1
+000B78 F0                MOVX    @DPTR,A
+000B79 904E50            MOV     DPTR,#len
+000B7C EC                MOV     A,R4
+000B7D F0                MOVX    @DPTR,A
+000B7E A3                INC     DPTR
+000B7F ED                MOV     A,R5
+000B80 F0                MOVX    @DPTR,A
+000B81 A3                INC     DPTR
+000B82 E0                MOVX    A,@DPTR
+000B83 F9                MOV     R1,A
+000B84 A3                INC     DPTR
+000B85 E0                MOVX    A,@DPTR
+000B86 FA                MOV     R2,A
+000B87 A3                INC     DPTR
+000B88 E0                MOVX    A,@DPTR
+000B89 904E42            MOV     DPTR,#?_dmemcpy?BYTE+03H
+000B8C C9                XCH     A,R1
+000B8D F0                MOVX    @DPTR,A
+000B8E A3                INC     DPTR
+000B8F EA                MOV     A,R2
+000B90 F0                MOVX    @DPTR,A
+000B91 A3                INC     DPTR
+000B92 E9                MOV     A,R1
+000B93 F0                MOVX    @DPTR,A
+000B94 A3                INC     DPTR
+000B95 EC                MOV     A,R4
+000B96 F0                MOVX    @DPTR,A
+000B97 A3                INC     DPTR
+000B98 ED                MOV     A,R5
 000B99 F0                MOVX    @DPTR,A
-000B9A 904E4E            MOV     DPTR,#addr
-000B9D E0                MOVX    A,@DPTR
-000B9E FF                MOV     R7,A
-000B9F A3                INC     DPTR
-000BA0 E0                MOVX    A,@DPTR
-000BA1 900B84            MOV     DPTR,#IIC_TempBuff+01H
-000BA4 CF                XCH     A,R7
-000BA5 F0                MOVX    @DPTR,A
-000BA6 A3                INC     DPTR
-000BA7 EF                MOV     A,R7
-000BA8 F0                MOVX    @DPTR,A
-000BA9 904E51            MOV     DPTR,#len+01H
-000BAC E0                MOVX    A,@DPTR
-000BAD 2403              ADD     A,#03H
-000BAF FD                MOV     R5,A
-000BB0 904E50            MOV     DPTR,#len
-000BB3 E0                MOVX    A,@DPTR
-000BB4 3400              ADDC    A,#00H
-000BB6 FC                MOV     R4,A
-000BB7 ED                MOV     A,R5
-000BB8 FA                MOV     R2,A
-000BB9 EC                MOV     A,R4
-000BBA FF                MOV     R7,A
-000BBB EA                MOV     A,R2
-000BBC FE                MOV     R6,A
-000BBD EF                MOV     A,R7
-000BBE 908098            MOV     DPTR,#08098H
-000BC1 EE                MOV     A,R6
-000BC2 F0                MOVX    @DPTR,A
-000BC3 A3                INC     DPTR
-000BC4 EF                MOV     A,R7
-000BC5 F0                MOVX    @DPTR,A
-000BC6 7A0B              MOV     R2,#HIGH IIC_TempBuff
-000BC8 7983              MOV     R1,#LOW IIC_TempBuff
-000BCA 7E0B              MOV     R6,#HIGH IIC_TempBuff
-000BCC 7F83              MOV     R7,#LOW IIC_TempBuff
-000BCE 7483              MOV     A,#LOW IIC_TempBuff
-000BD0 FC                MOV     R4,A
-000BD1 740B              MOV     A,#HIGH IIC_TempBuff
-000BD3 FF                MOV     R7,A
-000BD4 EC                MOV     A,R4
-000BD5 FE                MOV     R6,A
-000BD6 EF                MOV     A,R7
-000BD7 A3                INC     DPTR
-000BD8 EE                MOV     A,R6
-000BD9 F0                MOVX    @DPTR,A
-000BDA A3                INC     DPTR
-000BDB EF                MOV     A,R7
-000BDC F0                MOVX    @DPTR,A
-000BDD 90809E            MOV     DPTR,#0809EH
-000BE0 E4                CLR     A
-000BE1 F0                MOVX    @DPTR,A
-000BE2 A3                INC     DPTR
-000BE3 F0                MOVX    @DPTR,A
-000BE4 908090            MOV     DPTR,#08090H
-000BE7 04                INC     A
-000BE8 F0                MOVX    @DPTR,A
-000BE9 908006            MOV     DPTR,#08006H
-000BEC E0                MOVX    A,@DPTR
-000BED 4404              ORL     A,#04H
+000B9A 7B01              MOV     R3,#01H
+000B9C 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
+000B9E 7986              MOV     R1,#LOW IIC_TempBuff+03H
+000BA0 F15F              ACALL   _dmemcpy
+000BA2 900B83            MOV     DPTR,#IIC_TempBuff
+000BA5 74A0              MOV     A,#0A0H
+000BA7 F0                MOVX    @DPTR,A
+000BA8 904E4E            MOV     DPTR,#addr
+000BAB E0                MOVX    A,@DPTR
+000BAC FF                MOV     R7,A
+000BAD A3                INC     DPTR
+000BAE E0                MOVX    A,@DPTR
+000BAF 900B84            MOV     DPTR,#IIC_TempBuff+01H
+000BB2 CF                XCH     A,R7
+000BB3 F0                MOVX    @DPTR,A
+000BB4 A3                INC     DPTR
+000BB5 EF                MOV     A,R7
+000BB6 F0                MOVX    @DPTR,A
+000BB7 904E51            MOV     DPTR,#len+01H
+000BBA E0                MOVX    A,@DPTR
+000BBB 2403              ADD     A,#03H
+000BBD FD                MOV     R5,A
+000BBE 904E50            MOV     DPTR,#len
+000BC1 E0                MOVX    A,@DPTR
+000BC2 3400              ADDC    A,#00H
+000BC4 FC                MOV     R4,A
+000BC5 ED                MOV     A,R5
+000BC6 FA                MOV     R2,A
+000BC7 EC                MOV     A,R4
+000BC8 FF                MOV     R7,A
+000BC9 EA                MOV     A,R2
+000BCA FE                MOV     R6,A
+000BCB EF                MOV     A,R7
+000BCC 908098            MOV     DPTR,#08098H
+000BCF EE                MOV     A,R6
+000BD0 F0                MOVX    @DPTR,A
+000BD1 A3                INC     DPTR
+000BD2 EF                MOV     A,R7
+000BD3 F0                MOVX    @DPTR,A
+000BD4 7A0B              MOV     R2,#HIGH IIC_TempBuff
+000BD6 7983              MOV     R1,#LOW IIC_TempBuff
+000BD8 7E0B              MOV     R6,#HIGH IIC_TempBuff
+000BDA 7F83              MOV     R7,#LOW IIC_TempBuff
+000BDC 7483              MOV     A,#LOW IIC_TempBuff
+000BDE FC                MOV     R4,A
+000BDF 740B              MOV     A,#HIGH IIC_TempBuff
+000BE1 FF                MOV     R7,A
+000BE2 EC                MOV     A,R4
+000BE3 FE                MOV     R6,A
+000BE4 EF                MOV     A,R7
+000BE5 A3                INC     DPTR
+000BE6 EE                MOV     A,R6
+000BE7 F0                MOVX    @DPTR,A
+000BE8 A3                INC     DPTR
+000BE9 EF                MOV     A,R7
+000BEA F0                MOVX    @DPTR,A
+000BEB 90809E            MOV     DPTR,#0809EH
+000BEE E4                CLR     A
 000BEF F0                MOVX    @DPTR,A
+000BF0 A3                INC     DPTR
+000BF1 F0                MOVX    @DPTR,A
+000BF2 908090            MOV     DPTR,#08090H
+000BF5 04                INC     A
+000BF6 F0                MOVX    @DPTR,A
+000BF7 908006            MOV     DPTR,#08006H
+000BFA E0                MOVX    A,@DPTR
+000BFB 4404              ORL     A,#04H
+000BFD F0                MOVX    @DPTR,A
 ;----                  JMP     IIcWaitDone
 ----- FUNCTION _IIC_write (END) -------
 
 
 ----- FUNCTION IIcWaitDone (BEGIN) -----
-000BF0         ?C0001?IIC:
-000BF0 90812C            MOV     DPTR,#0812CH
-000BF3 E0                MOVX    A,@DPTR
-000BF4 30E5F9            JNB     ACC.5,?C0001?IIC
-000BF7 22                RET     
+000BFE         ?C0001?IIC:
+000BFE 90812C            MOV     DPTR,#0812CH
+000C01 E0                MOVX    A,@DPTR
+000C02 30E5F9            JNB     ACC.5,?C0001?IIC
+000C05 22                RET     
 ----- FUNCTION IIcWaitDone (END) -------
 
 
 ----- FUNCTION IPC_DealSingleStep (BEGIN) -----
-000BF8 7A0C              MOV     R2,#HIGH ipcReadBuff
-000BFA 794B              MOV     R1,#LOW ipcReadBuff
-000BFC 904E71            MOV     DPTR,#pbuff
-000BFF 7401              MOV     A,#01H
-000C01 F0                MOVX    @DPTR,A
-000C02 A3                INC     DPTR
-000C03 740C              MOV     A,#HIGH ipcReadBuff
-000C05 F0                MOVX    @DPTR,A
-000C06 A3                INC     DPTR
-000C07 744B              MOV     A,#LOW ipcReadBuff
-000C09 F0                MOVX    @DPTR,A
-000C0A 904BA0            MOV     DPTR,#ipcRxWritePtr
-000C0D E0                MOVX    A,@DPTR
-000C0E FE                MOV     R6,A
-000C0F A3                INC     DPTR
-000C10 E0                MOVX    A,@DPTR
-000C11 FF                MOV     R7,A
-000C12 904B9E            MOV     DPTR,#ipcRxReadPtr
-000C15 E0                MOVX    A,@DPTR
-000C16 6E                XRL     A,R6
-000C17 7003              JNZ     ?C0038?IPC
-000C19 A3                INC     DPTR
-000C1A E0                MOVX    A,@DPTR
-000C1B 6F                XRL     A,R7
-000C1C         ?C0038?IPC:
-000C1C 6047              JZ      ?C0029?IPC
-000C1E         ?C0023?IPC:
-000C1E 7E0C              MOV     R6,#HIGH ipcReadBuff
-000C20 7F4B              MOV     R7,#LOW ipcReadBuff
-000C22 7D03              MOV     R5,#03H
-000C24 121BB5            LCALL   _ipcRx
-000C27 904E71            MOV     DPTR,#pbuff
-000C2A E0                MOVX    A,@DPTR
-000C2B FB                MOV     R3,A
-000C2C A3                INC     DPTR
-000C2D E0                MOVX    A,@DPTR
-000C2E FA                MOV     R2,A
-000C2F A3                INC     DPTR
-000C30 E0                MOVX    A,@DPTR
-000C31 F9                MOV     R1,A
-000C32 1200F9            LCALL   ?C?CLDPTR
-000C35 B4022B            CJNE    A,#02H,?C0027?IPC
-000C38 904E72            MOV     DPTR,#pbuff+01H
-000C3B E4                CLR     A
-000C3C 75F002            MOV     B,#02H
-000C3F 120151            LCALL   ?C?IILDX
-000C42 904E71            MOV     DPTR,#pbuff
-000C45 E0                MOVX    A,@DPTR
-000C46 FB                MOV     R3,A
-000C47 A3                INC     DPTR
-000C48 E0                MOVX    A,@DPTR
-000C49 FA                MOV     R2,A
-000C4A A3                INC     DPTR
-000C4B E0                MOVX    A,@DPTR
-000C4C F9                MOV     R1,A
-000C4D 1200F9            LCALL   ?C?CLDPTR
-000C50 FF                MOV     R7,A
-000C51 904E05            MOV     DPTR,#ipcCb
-000C54 E0                MOVX    A,@DPTR
+000C06 7A0C              MOV     R2,#HIGH ipcReadBuff
+000C08 794B              MOV     R1,#LOW ipcReadBuff
+000C0A 904E71            MOV     DPTR,#pbuff
+000C0D 7401              MOV     A,#01H
+000C0F F0                MOVX    @DPTR,A
+000C10 A3                INC     DPTR
+000C11 740C              MOV     A,#HIGH ipcReadBuff
+000C13 F0                MOVX    @DPTR,A
+000C14 A3                INC     DPTR
+000C15 744B              MOV     A,#LOW ipcReadBuff
+000C17 F0                MOVX    @DPTR,A
+000C18 904BA0            MOV     DPTR,#ipcRxWritePtr
+000C1B E0                MOVX    A,@DPTR
+000C1C FE                MOV     R6,A
+000C1D A3                INC     DPTR
+000C1E E0                MOVX    A,@DPTR
+000C1F FF                MOV     R7,A
+000C20 904B9E            MOV     DPTR,#ipcRxReadPtr
+000C23 E0                MOVX    A,@DPTR
+000C24 6E                XRL     A,R6
+000C25 7003              JNZ     ?C0038?IPC
+000C27 A3                INC     DPTR
+000C28 E0                MOVX    A,@DPTR
+000C29 6F                XRL     A,R7
+000C2A         ?C0038?IPC:
+000C2A 6047              JZ      ?C0029?IPC
+000C2C         ?C0023?IPC:
+000C2C 7E0C              MOV     R6,#HIGH ipcReadBuff
+000C2E 7F4B              MOV     R7,#LOW ipcReadBuff
+000C30 7D03              MOV     R5,#03H
+000C32 121BCA            LCALL   _ipcRx
+000C35 904E71            MOV     DPTR,#pbuff
+000C38 E0                MOVX    A,@DPTR
+000C39 FB                MOV     R3,A
+000C3A A3                INC     DPTR
+000C3B E0                MOVX    A,@DPTR
+000C3C FA                MOV     R2,A
+000C3D A3                INC     DPTR
+000C3E E0                MOVX    A,@DPTR
+000C3F F9                MOV     R1,A
+000C40 1200F9            LCALL   ?C?CLDPTR
+000C43 B4022B            CJNE    A,#02H,?C0027?IPC
+000C46 904E72            MOV     DPTR,#pbuff+01H
+000C49 E4                CLR     A
+000C4A 75F002            MOV     B,#02H
+000C4D 120151            LCALL   ?C?IILDX
+000C50 904E71            MOV     DPTR,#pbuff
+000C53 E0                MOVX    A,@DPTR
+000C54 FB                MOV     R3,A
 000C55 A3                INC     DPTR
 000C56 E0                MOVX    A,@DPTR
 000C57 FA                MOV     R2,A
 000C58 A3                INC     DPTR
 000C59 E0                MOVX    A,@DPTR
-000C5A F582              MOV     DPL,A
-000C5C 8A83              MOV     DPH,R2
-000C5E 1202B0            LCALL   ?C?ICALL2
-000C61 8002              SJMP    ?C0029?IPC
-000C63         ?C0027?IPC:
-000C63 80FE              SJMP    ?C0027?IPC
-000C65         IPC_TIMER:
-000C65         ?C0029?IPC:
-000C65 904BA5            MOV     DPTR,#bttimer
-000C68 E0                MOVX    A,@DPTR
-000C69 FE                MOV     R6,A
-000C6A A3                INC     DPTR
-000C6B E0                MOVX    A,@DPTR
-000C6C FF                MOV     R7,A
-000C6D 904C5E            MOV     DPTR,#c51timer
-000C70 E0                MOVX    A,@DPTR
-000C71 6E                XRL     A,R6
-000C72 7003              JNZ     ?C0039?IPC
-000C74 A3                INC     DPTR
-000C75 E0                MOVX    A,@DPTR
-000C76 6F                XRL     A,R7
-000C77         ?C0039?IPC:
-000C77 6022              JZ      ?C0033?IPC
-000C79 904E0B            MOV     DPTR,#ipcCb+06H
-000C7C E0                MOVX    A,@DPTR
-000C7D FB                MOV     R3,A
-000C7E A3                INC     DPTR
-000C7F E0                MOVX    A,@DPTR
-000C80 FA                MOV     R2,A
-000C81 A3                INC     DPTR
-000C82 E0                MOVX    A,@DPTR
-000C83 F9                MOV     R1,A
-000C84 4A                ORL     A,R2
-000C85 6037              JZ      ?C0032?IPC
-000C87         ?C0031?IPC:
-000C87 1202AC            LCALL   ?C?ICALL
-000C8A 904BA5            MOV     DPTR,#bttimer
+000C5A F9                MOV     R1,A
+000C5B 1200F9            LCALL   ?C?CLDPTR
+000C5E FF                MOV     R7,A
+000C5F 904E05            MOV     DPTR,#ipcCb
+000C62 E0                MOVX    A,@DPTR
+000C63 A3                INC     DPTR
+000C64 E0                MOVX    A,@DPTR
+000C65 FA                MOV     R2,A
+000C66 A3                INC     DPTR
+000C67 E0                MOVX    A,@DPTR
+000C68 F582              MOV     DPL,A
+000C6A 8A83              MOV     DPH,R2
+000C6C 1202B0            LCALL   ?C?ICALL2
+000C6F 8002              SJMP    ?C0029?IPC
+000C71         ?C0027?IPC:
+000C71 80FE              SJMP    ?C0027?IPC
+000C73         IPC_TIMER:
+000C73         ?C0029?IPC:
+000C73 904BA5            MOV     DPTR,#bttimer
+000C76 E0                MOVX    A,@DPTR
+000C77 FE                MOV     R6,A
+000C78 A3                INC     DPTR
+000C79 E0                MOVX    A,@DPTR
+000C7A FF                MOV     R7,A
+000C7B 904C5E            MOV     DPTR,#c51timer
+000C7E E0                MOVX    A,@DPTR
+000C7F 6E                XRL     A,R6
+000C80 7003              JNZ     ?C0039?IPC
+000C82 A3                INC     DPTR
+000C83 E0                MOVX    A,@DPTR
+000C84 6F                XRL     A,R7
+000C85         ?C0039?IPC:
+000C85 6022              JZ      ?C0033?IPC
+000C87 904E0B            MOV     DPTR,#ipcCb+06H
+000C8A E0                MOVX    A,@DPTR
+000C8B FB                MOV     R3,A
+000C8C A3                INC     DPTR
 000C8D E0                MOVX    A,@DPTR
-000C8E FF                MOV     R7,A
+000C8E FA                MOV     R2,A
 000C8F A3                INC     DPTR
 000C90 E0                MOVX    A,@DPTR
-000C91 904C5E            MOV     DPTR,#c51timer
-000C94 CF                XCH     A,R7
-000C95 F0                MOVX    @DPTR,A
-000C96 A3                INC     DPTR
-000C97 EF                MOV     A,R7
-000C98 F0                MOVX    @DPTR,A
-000C99 80CA              SJMP    ?C0029?IPC
-000C9B         ?C0033?IPC:
-000C9B 904C8D            MOV     DPTR,#btstimer
+000C91 F9                MOV     R1,A
+000C92 4A                ORL     A,R2
+000C93 6037              JZ      ?C0032?IPC
+000C95         ?C0031?IPC:
+000C95 1202AC            LCALL   ?C?ICALL
+000C98 904BA5            MOV     DPTR,#bttimer
+000C9B E0                MOVX    A,@DPTR
+000C9C FF                MOV     R7,A
+000C9D A3                INC     DPTR
 000C9E E0                MOVX    A,@DPTR
-000C9F FF                MOV     R7,A
-000CA0 A3                INC     DPTR
-000CA1 E0                MOVX    A,@DPTR
-000CA2 6F                XRL     A,R7
-000CA3 6019              JZ      ?C0032?IPC
-000CA5 904E0E            MOV     DPTR,#ipcCb+09H
-000CA8 E0                MOVX    A,@DPTR
-000CA9 FB                MOV     R3,A
-000CAA A3                INC     DPTR
-000CAB E0                MOVX    A,@DPTR
-000CAC FA                MOV     R2,A
-000CAD A3                INC     DPTR
-000CAE E0                MOVX    A,@DPTR
-000CAF F9                MOV     R1,A
-000CB0 4A                ORL     A,R2
-000CB1 600B              JZ      ?C0032?IPC
-000CB3         ?C0035?IPC:
-000CB3 1202AC            LCALL   ?C?ICALL
-000CB6 904C8D            MOV     DPTR,#btstimer
+000C9F 904C5E            MOV     DPTR,#c51timer
+000CA2 CF                XCH     A,R7
+000CA3 F0                MOVX    @DPTR,A
+000CA4 A3                INC     DPTR
+000CA5 EF                MOV     A,R7
+000CA6 F0                MOVX    @DPTR,A
+000CA7 80CA              SJMP    ?C0029?IPC
+000CA9         ?C0033?IPC:
+000CA9 904C8D            MOV     DPTR,#btstimer
+000CAC E0                MOVX    A,@DPTR
+000CAD FF                MOV     R7,A
+000CAE A3                INC     DPTR
+000CAF E0                MOVX    A,@DPTR
+000CB0 6F                XRL     A,R7
+000CB1 6019              JZ      ?C0032?IPC
+000CB3 904E0E            MOV     DPTR,#ipcCb+09H
+000CB6 E0                MOVX    A,@DPTR
+000CB7 FB                MOV     R3,A
+000CB8 A3                INC     DPTR
 000CB9 E0                MOVX    A,@DPTR
-000CBA A3                INC     DPTR
-000CBB F0                MOVX    @DPTR,A
-000CBC 80DD              SJMP    ?C0033?IPC
-000CBE         ?C0032?IPC:
-000CBE 22                RET     
+000CBA FA                MOV     R2,A
+000CBB A3                INC     DPTR
+000CBC E0                MOVX    A,@DPTR
+000CBD F9                MOV     R1,A
+000CBE 4A                ORL     A,R2
+000CBF 600B              JZ      ?C0032?IPC
+000CC1         ?C0035?IPC:
+000CC1 1202AC            LCALL   ?C?ICALL
+000CC4 904C8D            MOV     DPTR,#btstimer
+000CC7 E0                MOVX    A,@DPTR
+000CC8 A3                INC     DPTR
+000CC9 F0                MOVX    @DPTR,A
+000CCA 80DD              SJMP    ?C0033?IPC
+000CCC         ?C0032?IPC:
+000CCC 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
@@ -2286,306 +2296,306 @@
    40: {
    41: 	byte i = 0;
    42: 	ksSelMapCurr = 0;
-000CBF E4                CLR     A
-000CC0 904E83            MOV     DPTR,#i
-000CC3 F0                MOVX    @DPTR,A
+000CCD E4                CLR     A
+000CCE 904E83            MOV     DPTR,#i
+000CD1 F0                MOVX    @DPTR,A
    43: 	ksSelMapCheck = 0;
-000CC4 904D9B            MOV     DPTR,#ksSelMapCurr
-000CC7 12027B            LCALL   ?C?LSTKXDATA
-000CCA 00                DB      00H
-000CCB 00                DB      00H
-000CCC 00                DB      00H
-000CCD 00                DB      00H
+000CD2 904D9B            MOV     DPTR,#ksSelMapCurr
+000CD5 12027B            LCALL   ?C?LSTKXDATA
+000CD8 00                DB      00H
+000CD9 00                DB      00H
+000CDA 00                DB      00H
+000CDB 00                DB      00H
    44: 	
-000CCE 904D97            MOV     DPTR,#ksSelMapCheck
-000CD1 12027B            LCALL   ?C?LSTKXDATA
-000CD4 00                DB      00H
-000CD5 00                DB      00H
-000CD6 00                DB      00H
-000CD7 00                DB      00H
+000CDC 904D97            MOV     DPTR,#ksSelMapCheck
+000CDF 12027B            LCALL   ?C?LSTKXDATA
+000CE2 00                DB      00H
+000CE3 00                DB      00H
+000CE4 00                DB      00H
+000CE5 00                DB      00H
    45: 	for (i=0; col[i]!=0; i++) 
-000CD8 E4                CLR     A
-000CD9 904E83            MOV     DPTR,#i
-000CDC F0                MOVX    @DPTR,A
-000CDD         ?C0011?KEYSCAN:
-000CDD 904E83            MOV     DPTR,#i
-000CE0 E0                MOVX    A,@DPTR
-000CE1 900354            MOV     DPTR,#col
-000CE4 93                MOVC    A,@A+DPTR
-000CE5 605B              JZ      ?C0012?KEYSCAN
+000CE6 E4                CLR     A
+000CE7 904E83            MOV     DPTR,#i
+000CEA F0                MOVX    @DPTR,A
+000CEB         ?C0011?KEYSCAN:
+000CEB 904E83            MOV     DPTR,#i
+000CEE E0                MOVX    A,@DPTR
+000CEF 900354            MOV     DPTR,#col
+000CF2 93                MOVC    A,@A+DPTR
+000CF3 605B              JZ      ?C0012?KEYSCAN
    46: 	{
    47: 		ksSelMapCurr |= ~ (GPIO_GetInputStatus(col[i]));
-000CE7 904D9B            MOV     DPTR,#ksSelMapCurr
-000CEA E0                MOVX    A,@DPTR
-000CEB F8                MOV     R0,A
-000CEC A3                INC     DPTR
-000CED E0                MOVX    A,@DPTR
-000CEE F9                MOV     R1,A
-000CEF A3                INC     DPTR
-000CF0 E0                MOVX    A,@DPTR
-000CF1 FA                MOV     R2,A
-000CF2 A3                INC     DPTR
-000CF3 E0                MOVX    A,@DPTR
-000CF4 FB                MOV     R3,A
-000CF5 C000              PUSH    AR0
-000CF7 C001              PUSH    AR1
-000CF9 C002              PUSH    AR2
-000CFB C003              PUSH    AR3
-000CFD 904E83            MOV     DPTR,#i
-000D00 E0                MOVX    A,@DPTR
-000D01 900354            MOV     DPTR,#col
-000D04 93                MOVC    A,@A+DPTR
-000D05 FF                MOV     R7,A
-000D06 B1FA              ACALL   _GPIO_GetInputStatus
-000D08 B3                CPL     C
-000D09 E4                CLR     A
-000D0A 33                RLC     A
-000D0B D003              POP     AR3
-000D0D D002              POP     AR2
-000D0F D001              POP     AR1
-000D11 D000              POP     AR0
-000D13 4B                ORL     A,R3
-000D14 FF                MOV     R7,A
-000D15 EA                MOV     A,R2
-000D16 FE                MOV     R6,A
-000D17 E9                MOV     A,R1
-000D18 FD                MOV     R5,A
-000D19 E8                MOV     A,R0
-000D1A FC                MOV     R4,A
-000D1B 904D9B            MOV     DPTR,#ksSelMapCurr
-000D1E 12026F            LCALL   ?C?LSTXDATA
+000CF5 904D9B            MOV     DPTR,#ksSelMapCurr
+000CF8 E0                MOVX    A,@DPTR
+000CF9 F8                MOV     R0,A
+000CFA A3                INC     DPTR
+000CFB E0                MOVX    A,@DPTR
+000CFC F9                MOV     R1,A
+000CFD A3                INC     DPTR
+000CFE E0                MOVX    A,@DPTR
+000CFF FA                MOV     R2,A
+000D00 A3                INC     DPTR
+000D01 E0                MOVX    A,@DPTR
+000D02 FB                MOV     R3,A
+000D03 C000              PUSH    AR0
+000D05 C001              PUSH    AR1
+000D07 C002              PUSH    AR2
+000D09 C003              PUSH    AR3
+000D0B 904E83            MOV     DPTR,#i
+000D0E E0                MOVX    A,@DPTR
+000D0F 900354            MOV     DPTR,#col
+000D12 93                MOVC    A,@A+DPTR
+000D13 FF                MOV     R7,A
+000D14 D108              ACALL   _GPIO_GetInputStatus
+000D16 B3                CPL     C
+000D17 E4                CLR     A
+000D18 33                RLC     A
+000D19 D003              POP     AR3
+000D1B D002              POP     AR2
+000D1D D001              POP     AR1
+000D1F D000              POP     AR0
+000D21 4B                ORL     A,R3
+000D22 FF                MOV     R7,A
+000D23 EA                MOV     A,R2
+000D24 FE                MOV     R6,A
+000D25 E9                MOV     A,R1
+000D26 FD                MOV     R5,A
+000D27 E8                MOV     A,R0
+000D28 FC                MOV     R4,A
+000D29 904D9B            MOV     DPTR,#ksSelMapCurr
+000D2C 12026F            LCALL   ?C?LSTXDATA
    48: 		ksSelMapCurr <<= 1;
-000D21 904D9B            MOV     DPTR,#ksSelMapCurr
-000D24 E0                MOVX    A,@DPTR
-000D25 FC                MOV     R4,A
-000D26 A3                INC     DPTR
-000D27 E0                MOVX    A,@DPTR
-000D28 FD                MOV     R5,A
-000D29 A3                INC     DPTR
-000D2A E0                MOVX    A,@DPTR
-000D2B FE                MOV     R6,A
-000D2C A3                INC     DPTR
-000D2D E0                MOVX    A,@DPTR
-000D2E FF                MOV     R7,A
-000D2F 7801              MOV     R0,#01H
-000D31 12025C            LCALL   ?C?LSHL
-000D34 904D9B            MOV     DPTR,#ksSelMapCurr
-000D37 12026F            LCALL   ?C?LSTXDATA
+000D2F 904D9B            MOV     DPTR,#ksSelMapCurr
+000D32 E0                MOVX    A,@DPTR
+000D33 FC                MOV     R4,A
+000D34 A3                INC     DPTR
+000D35 E0                MOVX    A,@DPTR
+000D36 FD                MOV     R5,A
+000D37 A3                INC     DPTR
+000D38 E0                MOVX    A,@DPTR
+000D39 FE                MOV     R6,A
+000D3A A3                INC     DPTR
+000D3B E0                MOVX    A,@DPTR
+000D3C FF                MOV     R7,A
+000D3D 7801              MOV     R0,#01H
+000D3F 12025C            LCALL   ?C?LSHL
+000D42 904D9B            MOV     DPTR,#ksSelMapCurr
+000D45 12026F            LCALL   ?C?LSTXDATA
    49: 	}
-000D3A 904E83            MOV     DPTR,#i
-000D3D E0                MOVX    A,@DPTR
-000D3E 04                INC     A
-000D3F F0                MOVX    @DPTR,A
-000D40 809B              SJMP    ?C0011?KEYSCAN
-000D42         ?C0012?KEYSCAN:
+000D48 904E83            MOV     DPTR,#i
+000D4B E0                MOVX    A,@DPTR
+000D4C 04                INC     A
+000D4D F0                MOVX    @DPTR,A
+000D4E 809B              SJMP    ?C0011?KEYSCAN
+000D50         ?C0012?KEYSCAN:
    50: 
    51: 	for (i=0; col[i]!=0; i++) 
-000D42 E4                CLR     A
-000D43 904E83            MOV     DPTR,#i
-000D46 F0                MOVX    @DPTR,A
-000D47         ?C0014?KEYSCAN:
-000D47 904E83            MOV     DPTR,#i
-000D4A E0                MOVX    A,@DPTR
-000D4B 900354            MOV     DPTR,#col
-000D4E 93                MOVC    A,@A+DPTR
-000D4F 605B              JZ      ?C0015?KEYSCAN
+000D50 E4                CLR     A
+000D51 904E83            MOV     DPTR,#i
+000D54 F0                MOVX    @DPTR,A
+000D55         ?C0014?KEYSCAN:
+000D55 904E83            MOV     DPTR,#i
+000D58 E0                MOVX    A,@DPTR
+000D59 900354            MOV     DPTR,#col
+000D5C 93                MOVC    A,@A+DPTR
+000D5D 605B              JZ      ?C0015?KEYSCAN
    52: 	{
    53: 		ksSelMapCheck |= ~ (GPIO_GetInputStatus(col[i]));
-000D51 904D97            MOV     DPTR,#ksSelMapCheck
-000D54 E0                MOVX    A,@DPTR
-000D55 F8                MOV     R0,A
-000D56 A3                INC     DPTR
-000D57 E0                MOVX    A,@DPTR
-000D58 F9                MOV     R1,A
-000D59 A3                INC     DPTR
-000D5A E0                MOVX    A,@DPTR
-000D5B FA                MOV     R2,A
-000D5C A3                INC     DPTR
-000D5D E0                MOVX    A,@DPTR
-000D5E FB                MOV     R3,A
-000D5F C000              PUSH    AR0
-000D61 C001              PUSH    AR1
-000D63 C002              PUSH    AR2
-000D65 C003              PUSH    AR3
-000D67 904E83            MOV     DPTR,#i
-000D6A E0                MOVX    A,@DPTR
-000D6B 900354            MOV     DPTR,#col
-000D6E 93                MOVC    A,@A+DPTR
-000D6F FF                MOV     R7,A
-000D70 B1FA              ACALL   _GPIO_GetInputStatus
-000D72 B3                CPL     C
-000D73 E4                CLR     A
-000D74 33                RLC     A
-000D75 D003              POP     AR3
-000D77 D002              POP     AR2
-000D79 D001              POP     AR1
-000D7B D000              POP     AR0
-000D7D 4B                ORL     A,R3
-000D7E FF                MOV     R7,A
-000D7F EA                MOV     A,R2
-000D80 FE                MOV     R6,A
-000D81 E9                MOV     A,R1
-000D82 FD                MOV     R5,A
-000D83 E8                MOV     A,R0
-000D84 FC                MOV     R4,A
-000D85 904D97            MOV     DPTR,#ksSelMapCheck
-000D88 12026F            LCALL   ?C?LSTXDATA
+000D5F 904D97            MOV     DPTR,#ksSelMapCheck
+000D62 E0                MOVX    A,@DPTR
+000D63 F8                MOV     R0,A
+000D64 A3                INC     DPTR
+000D65 E0                MOVX    A,@DPTR
+000D66 F9                MOV     R1,A
+000D67 A3                INC     DPTR
+000D68 E0                MOVX    A,@DPTR
+000D69 FA                MOV     R2,A
+000D6A A3                INC     DPTR
+000D6B E0                MOVX    A,@DPTR
+000D6C FB                MOV     R3,A
+000D6D C000              PUSH    AR0
+000D6F C001              PUSH    AR1
+000D71 C002              PUSH    AR2
+000D73 C003              PUSH    AR3
+000D75 904E83            MOV     DPTR,#i
+000D78 E0                MOVX    A,@DPTR
+000D79 900354            MOV     DPTR,#col
+000D7C 93                MOVC    A,@A+DPTR
+000D7D FF                MOV     R7,A
+000D7E D108              ACALL   _GPIO_GetInputStatus
+000D80 B3                CPL     C
+000D81 E4                CLR     A
+000D82 33                RLC     A
+000D83 D003              POP     AR3
+000D85 D002              POP     AR2
+000D87 D001              POP     AR1
+000D89 D000              POP     AR0
+000D8B 4B                ORL     A,R3
+000D8C FF                MOV     R7,A
+000D8D EA                MOV     A,R2
+000D8E FE                MOV     R6,A
+000D8F E9                MOV     A,R1
+000D90 FD                MOV     R5,A
+000D91 E8                MOV     A,R0
+000D92 FC                MOV     R4,A
+000D93 904D97            MOV     DPTR,#ksSelMapCheck
+000D96 12026F            LCALL   ?C?LSTXDATA
    54: 		ksSelMapCheck <<= 1;
-000D8B 904D97            MOV     DPTR,#ksSelMapCheck
-000D8E E0                MOVX    A,@DPTR
-000D8F FC                MOV     R4,A
-000D90 A3                INC     DPTR
-000D91 E0                MOVX    A,@DPTR
-000D92 FD                MOV     R5,A
-000D93 A3                INC     DPTR
-000D94 E0                MOVX    A,@DPTR
-000D95 FE                MOV     R6,A
-000D96 A3                INC     DPTR
-000D97 E0                MOVX    A,@DPTR
-000D98 FF                MOV     R7,A
-000D99 7801              MOV     R0,#01H
-000D9B 12025C            LCALL   ?C?LSHL
-000D9E 904D97            MOV     DPTR,#ksSelMapCheck
-000DA1 12026F            LCALL   ?C?LSTXDATA
+000D99 904D97            MOV     DPTR,#ksSelMapCheck
+000D9C E0                MOVX    A,@DPTR
+000D9D FC                MOV     R4,A
+000D9E A3                INC     DPTR
+000D9F E0                MOVX    A,@DPTR
+000DA0 FD                MOV     R5,A
+000DA1 A3                INC     DPTR
+000DA2 E0                MOVX    A,@DPTR
+000DA3 FE                MOV     R6,A
+000DA4 A3                INC     DPTR
+000DA5 E0                MOVX    A,@DPTR
+000DA6 FF                MOV     R7,A
+000DA7 7801              MOV     R0,#01H
+000DA9 12025C            LCALL   ?C?LSHL
+000DAC 904D97            MOV     DPTR,#ksSelMapCheck
+000DAF 12026F            LCALL   ?C?LSTXDATA
    55: 	}
-000DA4 904E83            MOV     DPTR,#i
-000DA7 E0                MOVX    A,@DPTR
-000DA8 04                INC     A
-000DA9 F0                MOVX    @DPTR,A
-000DAA 809B              SJMP    ?C0014?KEYSCAN
-000DAC         ?C0015?KEYSCAN:
+000DB2 904E83            MOV     DPTR,#i
+000DB5 E0                MOVX    A,@DPTR
+000DB6 04                INC     A
+000DB7 F0                MOVX    @DPTR,A
+000DB8 809B              SJMP    ?C0014?KEYSCAN
+000DBA         ?C0015?KEYSCAN:
    56: 
    57: 	if (ksSelMapCheck!=ksSelMapCurr)
-000DAC 904D9B            MOV     DPTR,#ksSelMapCurr
-000DAF E0                MOVX    A,@DPTR
-000DB0 FC                MOV     R4,A
-000DB1 A3                INC     DPTR
-000DB2 E0                MOVX    A,@DPTR
-000DB3 FD                MOV     R5,A
-000DB4 A3                INC     DPTR
-000DB5 E0                MOVX    A,@DPTR
-000DB6 FE                MOV     R6,A
-000DB7 A3                INC     DPTR
-000DB8 E0                MOVX    A,@DPTR
-000DB9 FF                MOV     R7,A
-000DBA 904D97            MOV     DPTR,#ksSelMapCheck
+000DBA 904D9B            MOV     DPTR,#ksSelMapCurr
 000DBD E0                MOVX    A,@DPTR
-000DBE F8                MOV     R0,A
+000DBE FC                MOV     R4,A
 000DBF A3                INC     DPTR
 000DC0 E0                MOVX    A,@DPTR
-000DC1 F9                MOV     R1,A
+000DC1 FD                MOV     R5,A
 000DC2 A3                INC     DPTR
 000DC3 E0                MOVX    A,@DPTR
-000DC4 FA                MOV     R2,A
+000DC4 FE                MOV     R6,A
 000DC5 A3                INC     DPTR
 000DC6 E0                MOVX    A,@DPTR
-000DC7 FB                MOV     R3,A
-000DC8 C3                CLR     C
-000DC9 12024B            LCALL   ?C?ULCMP
-000DCC 602B              JZ      ?C0018?KEYSCAN
-   58: 	{
-   59: 		ksSelMapCurr &= ksSelMapCheck;
-000DCE 904D9B            MOV     DPTR,#ksSelMapCurr
+000DC7 FF                MOV     R7,A
+000DC8 904D97            MOV     DPTR,#ksSelMapCheck
+000DCB E0                MOVX    A,@DPTR
+000DCC F8                MOV     R0,A
+000DCD A3                INC     DPTR
+000DCE E0                MOVX    A,@DPTR
+000DCF F9                MOV     R1,A
+000DD0 A3                INC     DPTR
 000DD1 E0                MOVX    A,@DPTR
-000DD2 FC                MOV     R4,A
+000DD2 FA                MOV     R2,A
 000DD3 A3                INC     DPTR
 000DD4 E0                MOVX    A,@DPTR
-000DD5 FD                MOV     R5,A
-000DD6 A3                INC     DPTR
-000DD7 E0                MOVX    A,@DPTR
-000DD8 FE                MOV     R6,A
-000DD9 A3                INC     DPTR
-000DDA E0                MOVX    A,@DPTR
-000DDB FF                MOV     R7,A
-000DDC 904D97            MOV     DPTR,#ksSelMapCheck
+000DD5 FB                MOV     R3,A
+000DD6 C3                CLR     C
+000DD7 12024B            LCALL   ?C?ULCMP
+000DDA 602B              JZ      ?C0018?KEYSCAN
+   58: 	{
+   59: 		ksSelMapCurr &= ksSelMapCheck;
+000DDC 904D9B            MOV     DPTR,#ksSelMapCurr
 000DDF E0                MOVX    A,@DPTR
-000DE0 F8                MOV     R0,A
+000DE0 FC                MOV     R4,A
 000DE1 A3                INC     DPTR
 000DE2 E0                MOVX    A,@DPTR
-000DE3 A3                INC     DPTR
-000DE4 E0                MOVX    A,@DPTR
-000DE5 A3                INC     DPTR
-000DE6 E0                MOVX    A,@DPTR
-000DE7 EF                MOV     A,R7
-000DE8 5B                ANL     A,R3
+000DE3 FD                MOV     R5,A
+000DE4 A3                INC     DPTR
+000DE5 E0                MOVX    A,@DPTR
+000DE6 FE                MOV     R6,A
+000DE7 A3                INC     DPTR
+000DE8 E0                MOVX    A,@DPTR
 000DE9 FF                MOV     R7,A
-000DEA EE                MOV     A,R6
-000DEB 5A                ANL     A,R2
-000DEC FE                MOV     R6,A
-000DED ED                MOV     A,R5
-000DEE 59                ANL     A,R1
-000DEF FD                MOV     R5,A
-000DF0 EC                MOV     A,R4
-000DF1 58                ANL     A,R0
-000DF2 FC                MOV     R4,A
-000DF3 904D9B            MOV     DPTR,#ksSelMapCurr
-000DF6 12026F            LCALL   ?C?LSTXDATA
+000DEA 904D97            MOV     DPTR,#ksSelMapCheck
+000DED E0                MOVX    A,@DPTR
+000DEE F8                MOV     R0,A
+000DEF A3                INC     DPTR
+000DF0 E0                MOVX    A,@DPTR
+000DF1 A3                INC     DPTR
+000DF2 E0                MOVX    A,@DPTR
+000DF3 A3                INC     DPTR
+000DF4 E0                MOVX    A,@DPTR
+000DF5 EF                MOV     A,R7
+000DF6 5B                ANL     A,R3
+000DF7 FF                MOV     R7,A
+000DF8 EE                MOV     A,R6
+000DF9 5A                ANL     A,R2
+000DFA FE                MOV     R6,A
+000DFB ED                MOV     A,R5
+000DFC 59                ANL     A,R1
+000DFD FD                MOV     R5,A
+000DFE EC                MOV     A,R4
+000DFF 58                ANL     A,R0
+000E00 FC                MOV     R4,A
+000E01 904D9B            MOV     DPTR,#ksSelMapCurr
+000E04 12026F            LCALL   ?C?LSTXDATA
    60: 	}
    61: }
-000DF9         ?C0018?KEYSCAN:
-000DF9 22                RET     
+000E07         ?C0018?KEYSCAN:
+000E07 22                RET     
 ----- FUNCTION KS_ScanMatrix (END) -------
 
 
 ----- FUNCTION _GPIO_GetInputStatus (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-000DFA 7B01              MOV     R3,#01H
-000DFC 7A81              MOV     R2,#081H
-000DFE 791C              MOV     R1,#01CH
+000E08 7B01              MOV     R3,#01H
+000E0A 7A81              MOV     R2,#081H
+000E0C 791C              MOV     R1,#01CH
 ;----                  JMP     _gpioGetBit
 ----- FUNCTION _GPIO_GetInputStatus (END) -------
 
 
 ----- FUNCTION _gpioGetBit (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R5' ----
-000E00 AD07              MOV     R5,AR7
+000E0E AD07              MOV     R5,AR7
 ;---- Variable 'reg_base' assigned to Register 'R1/R2/R3' ----
-000E02 E4                CLR     A
-000E03 904E86            MOV     DPTR,#queue
-000E06 F0                MOVX    @DPTR,A
+000E10 E4                CLR     A
+000E11 904E86            MOV     DPTR,#queue
+000E14 F0                MOVX    @DPTR,A
 ;---- Variable 'group' assigned to Register 'R6' ----
-000E07 FE                MOV     R6,A
-000E08 EF                MOV     A,R7
-000E09 5407              ANL     A,#07H
-000E0B F0                MOVX    @DPTR,A
-000E0C EF                MOV     A,R7
-000E0D 13                RRC     A
-000E0E 13                RRC     A
-000E0F 13                RRC     A
-000E10 5403              ANL     A,#03H
-000E12 FE                MOV     R6,A
-000E13 F582              MOV     DPL,A
-000E15 758300            MOV     DPH,#00H
-000E18 120112            LCALL   ?C?CLDOPTR
-000E1B FD                MOV     R5,A
-000E1C 33                RLC     A
-000E1D 95E0              SUBB    A,ACC
-000E1F FC                MOV     R4,A
-000E20 904E86            MOV     DPTR,#queue
-000E23 E0                MOVX    A,@DPTR
-000E24 FF                MOV     R7,A
-000E25 7401              MOV     A,#01H
-000E27 7E00              MOV     R6,#00H
-000E29 A807              MOV     R0,AR7
-000E2B 08                INC     R0
-000E2C 8005              SJMP    ?C0035?GPIO
-000E2E         ?C0034?GPIO:
-000E2E C3                CLR     C
-000E2F 33                RLC     A
-000E30 CE                XCH     A,R6
-000E31 33                RLC     A
-000E32 CE                XCH     A,R6
-000E33         ?C0035?GPIO:
-000E33 D8F9              DJNZ    R0,?C0034?GPIO
-000E35 FF                MOV     R7,A
-000E36 EE                MOV     A,R6
-000E37 5C                ANL     A,R4
-000E38 FE                MOV     R6,A
-000E39 EF                MOV     A,R7
-000E3A 5D                ANL     A,R5
-000E3B 4E                ORL     A,R6
-000E3C 24FF              ADD     A,#0FFH
-000E3E 22                RET     
+000E15 FE                MOV     R6,A
+000E16 EF                MOV     A,R7
+000E17 5407              ANL     A,#07H
+000E19 F0                MOVX    @DPTR,A
+000E1A EF                MOV     A,R7
+000E1B 13                RRC     A
+000E1C 13                RRC     A
+000E1D 13                RRC     A
+000E1E 5403              ANL     A,#03H
+000E20 FE                MOV     R6,A
+000E21 F582              MOV     DPL,A
+000E23 758300            MOV     DPH,#00H
+000E26 120112            LCALL   ?C?CLDOPTR
+000E29 FD                MOV     R5,A
+000E2A 33                RLC     A
+000E2B 95E0              SUBB    A,ACC
+000E2D FC                MOV     R4,A
+000E2E 904E86            MOV     DPTR,#queue
+000E31 E0                MOVX    A,@DPTR
+000E32 FF                MOV     R7,A
+000E33 7401              MOV     A,#01H
+000E35 7E00              MOV     R6,#00H
+000E37 A807              MOV     R0,AR7
+000E39 08                INC     R0
+000E3A 8005              SJMP    ?C0035?GPIO
+000E3C         ?C0034?GPIO:
+000E3C C3                CLR     C
+000E3D 33                RLC     A
+000E3E CE                XCH     A,R6
+000E3F 33                RLC     A
+000E40 CE                XCH     A,R6
+000E41         ?C0035?GPIO:
+000E41 D8F9              DJNZ    R0,?C0034?GPIO
+000E43 FF                MOV     R7,A
+000E44 EE                MOV     A,R6
+000E45 5C                ANL     A,R4
+000E46 FE                MOV     R6,A
+000E47 EF                MOV     A,R7
+000E48 5D                ANL     A,R5
+000E49 4E                ORL     A,R6
+000E4A 24FF              ADD     A,#0FFH
+000E4C 22                RET     
 ----- FUNCTION _gpioGetBit (END) -------
 
 
@@ -2595,7 +2605,7 @@
     6: {
     7: 	YC_System_Main();
     8: }
-000E3F 21A5              AJMP    YC_System_Main
+000E4D 21B3              AJMP    YC_System_Main
 ----- FUNCTION main (END) -------
 
 
@@ -2605,25 +2615,25 @@
    33: {
    34: 	if (power_on_flag != 2)
    35: 		return;
-000E41 904DE5            MOV     DPTR,#power_on_flag
-000E44 E0                MOVX    A,@DPTR
-000E45 FF                MOV     R7,A
+000E4F 904DE5            MOV     DPTR,#power_on_flag
+000E52 E0                MOVX    A,@DPTR
+000E53 FF                MOV     R7,A
    36: 
    37: 	
    38: 
    39: }
-000E46 22                RET     
+000E54 22                RET     
 ----- FUNCTION LED_handle (END) -------
 
 
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-000E47 900B7F            MOV     DPTR,#lpm_flag
-000E4A 7401              MOV     A,#01H
-000E4C F0                MOVX    @DPTR,A
-000E4D E4                CLR     A
-000E4E 900B7E            MOV     DPTR,#current_task
-000E51 F0                MOVX    @DPTR,A
-000E52 22                RET     
+000E55 900B7F            MOV     DPTR,#lpm_flag
+000E58 7401              MOV     A,#01H
+000E5A F0                MOVX    @DPTR,A
+000E5B E4                CLR     A
+000E5C 900B7E            MOV     DPTR,#current_task
+000E5F F0                MOVX    @DPTR,A
+000E60 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
@@ -2633,175 +2643,175 @@
    36: {
    37: 	REG_IICD_SCL_LOW  =  0x0d;
    38:    	REG_IICD_SCL_HIGH  =  0x0e;
-000E53 908091            MOV     DPTR,#08091H
-000E56 740D              MOV     A,#0DH
-000E58 F0                MOVX    @DPTR,A
+000E61 908091            MOV     DPTR,#08091H
+000E64 740D              MOV     A,#0DH
+000E66 F0                MOVX    @DPTR,A
    39:    	REG_IICD_START_SETUP  = 0x0e;
-000E59 A3                INC     DPTR
-000E5A 04                INC     A
-000E5B F0                MOVX    @DPTR,A
+000E67 A3                INC     DPTR
+000E68 04                INC     A
+000E69 F0                MOVX    @DPTR,A
    40:    	REG_IICD_START_HOLD  = 0x0e;
-000E5C A3                INC     DPTR
-000E5D F0                MOVX    @DPTR,A
+000E6A A3                INC     DPTR
+000E6B F0                MOVX    @DPTR,A
    41:   	REG_IICD_STOP_SETUP  = 0x0e;
-000E5E A3                INC     DPTR
-000E5F F0                MOVX    @DPTR,A
+000E6C A3                INC     DPTR
+000E6D F0                MOVX    @DPTR,A
    42:    	REG_IICD_DATA_SETUP  = 0x0d;
-000E60 A3                INC     DPTR
-000E61 F0                MOVX    @DPTR,A
+000E6E A3                INC     DPTR
+000E6F F0                MOVX    @DPTR,A
    43: }
-000E62 A3                INC     DPTR
-000E63 14                DEC     A
-000E64 F0                MOVX    @DPTR,A
+000E70 A3                INC     DPTR
+000E71 14                DEC     A
+000E72 F0                MOVX    @DPTR,A
    44: 
-000E65 22                RET     
+000E73 22                RET     
 ----- FUNCTION System_IIC_clk_setup (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (BEGIN) -----
-000E66 904E87            MOV     DPTR,#gpio_num
-000E69 EF                MOV     A,R7
-000E6A F0                MOVX    @DPTR,A
-000E6B B1FA              ACALL   _GPIO_GetInputStatus
-000E6D 9208              MOV     st,C
-000E6F 904E87            MOV     DPTR,#gpio_num
-000E72 E0                MOVX    A,@DPTR
-000E73 FF                MOV     R7,A
-000E74 A208              MOV     C,st
-000E76 B3                CPL     C
-000E77 9207              MOV     ?_GPIO_SetWakeup?BIT,C
+000E74 904E87            MOV     DPTR,#gpio_num
+000E77 EF                MOV     A,R7
+000E78 F0                MOVX    @DPTR,A
+000E79 D108              ACALL   _GPIO_GetInputStatus
+000E7B 9208              MOV     st,C
+000E7D 904E87            MOV     DPTR,#gpio_num
+000E80 E0                MOVX    A,@DPTR
+000E81 FF                MOV     R7,A
+000E82 A208              MOV     C,st
+000E84 B3                CPL     C
+000E85 9207              MOV     ?_GPIO_SetWakeup?BIT,C
 ;----                  JMP     _GPIO_SetWakeup
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-000E79 EF                MOV     A,R7
-000E7A F4                CPL     A
-000E7B 7002              JNZ     $ + 4H
-000E7D E104              AJMP    ?C0019?GPIO
-000E7F         ?C0018?GPIO:
-000E7F EF                MOV     A,R7
-000E80 5407              ANL     A,#07H
-000E82 FE                MOV     R6,A
+000E87 EF                MOV     A,R7
+000E88 F4                CPL     A
+000E89 7002              JNZ     $ + 4H
+000E8B E112              AJMP    ?C0019?GPIO
+000E8D         ?C0018?GPIO:
+000E8D EF                MOV     A,R7
+000E8E 5407              ANL     A,#07H
+000E90 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-000E83 EF                MOV     A,R7
-000E84 13                RRC     A
-000E85 13                RRC     A
-000E86 13                RRC     A
-000E87 5403              ANL     A,#03H
-000E89 FF                MOV     R7,A
+000E91 EF                MOV     A,R7
+000E92 13                RRC     A
+000E93 13                RRC     A
+000E94 13                RRC     A
+000E95 5403              ANL     A,#03H
+000E97 FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-000E8A 300743            JNB     st,?C0020?GPIO
-000E8D 24A3              ADD     A,#LOW YC_GPIOWakeupL
-000E8F F582              MOV     DPL,A
-000E91 E4                CLR     A
-000E92 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-000E94 F583              MOV     DPH,A
-000E96 C083              PUSH    DPH
-000E98 C082              PUSH    DPL
-000E9A E0                MOVX    A,@DPTR
-000E9B FD                MOV     R5,A
-000E9C 7401              MOV     A,#01H
-000E9E A806              MOV     R0,AR6
-000EA0 08                INC     R0
-000EA1 8002              SJMP    ?C0037?GPIO
-000EA3         ?C0036?GPIO:
-000EA3 C3                CLR     C
-000EA4 33                RLC     A
-000EA5         ?C0037?GPIO:
-000EA5 D8FC              DJNZ    R0,?C0036?GPIO
-000EA7 F4                CPL     A
-000EA8 5D                ANL     A,R5
-000EA9 D082              POP     DPL
-000EAB D083              POP     DPH
-000EAD F0                MOVX    @DPTR,A
-000EAE 74A7              MOV     A,#LOW YC_GPIOWakeupH
-000EB0 2F                ADD     A,R7
-000EB1 F582              MOV     DPL,A
-000EB3 E4                CLR     A
-000EB4 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-000EB6 F583              MOV     DPH,A
-000EB8 C083              PUSH    DPH
-000EBA C082              PUSH    DPL
-000EBC E0                MOVX    A,@DPTR
-000EBD FF                MOV     R7,A
-000EBE 7401              MOV     A,#01H
-000EC0 A806              MOV     R0,AR6
-000EC2 08                INC     R0
-000EC3 8002              SJMP    ?C0039?GPIO
-000EC5         ?C0038?GPIO:
-000EC5 C3                CLR     C
-000EC6 33                RLC     A
-000EC7         ?C0039?GPIO:
-000EC7 D8FC              DJNZ    R0,?C0038?GPIO
-000EC9 4F                ORL     A,R7
-000ECA D082              POP     DPL
-000ECC D083              POP     DPH
-000ECE F0                MOVX    @DPTR,A
-000ECF 22                RET     
-000ED0         ?C0020?GPIO:
-000ED0 74A3              MOV     A,#LOW YC_GPIOWakeupL
-000ED2 2F                ADD     A,R7
-000ED3 F582              MOV     DPL,A
-000ED5 E4                CLR     A
-000ED6 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-000ED8 F583              MOV     DPH,A
-000EDA C083              PUSH    DPH
-000EDC C082              PUSH    DPL
-000EDE E0                MOVX    A,@DPTR
-000EDF FD                MOV     R5,A
-000EE0 7401              MOV     A,#01H
-000EE2 A806              MOV     R0,AR6
-000EE4 08                INC     R0
-000EE5 8002              SJMP    ?C0041?GPIO
-000EE7         ?C0040?GPIO:
-000EE7 C3                CLR     C
-000EE8 33                RLC     A
-000EE9         ?C0041?GPIO:
-000EE9 D8FC              DJNZ    R0,?C0040?GPIO
-000EEB FC                MOV     R4,A
-000EEC 4D                ORL     A,R5
-000EED D082              POP     DPL
-000EEF D083              POP     DPH
-000EF1 F0                MOVX    @DPTR,A
-000EF2 74A7              MOV     A,#LOW YC_GPIOWakeupH
-000EF4 2F                ADD     A,R7
-000EF5 F582              MOV     DPL,A
-000EF7 E4                CLR     A
-000EF8 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-000EFA F583              MOV     DPH,A
-000EFC E0                MOVX    A,@DPTR
-000EFD FF                MOV     R7,A
-000EFE EC                MOV     A,R4
-000EFF F4                CPL     A
-000F00 FE                MOV     R6,A
-000F01 EF                MOV     A,R7
-000F02 5E                ANL     A,R6
-000F03 F0                MOVX    @DPTR,A
-000F04         ?C0019?GPIO:
-000F04 22                RET     
+000E98 300743            JNB     st,?C0020?GPIO
+000E9B 24A3              ADD     A,#LOW YC_GPIOWakeupL
+000E9D F582              MOV     DPL,A
+000E9F E4                CLR     A
+000EA0 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+000EA2 F583              MOV     DPH,A
+000EA4 C083              PUSH    DPH
+000EA6 C082              PUSH    DPL
+000EA8 E0                MOVX    A,@DPTR
+000EA9 FD                MOV     R5,A
+000EAA 7401              MOV     A,#01H
+000EAC A806              MOV     R0,AR6
+000EAE 08                INC     R0
+000EAF 8002              SJMP    ?C0037?GPIO
+000EB1         ?C0036?GPIO:
+000EB1 C3                CLR     C
+000EB2 33                RLC     A
+000EB3         ?C0037?GPIO:
+000EB3 D8FC              DJNZ    R0,?C0036?GPIO
+000EB5 F4                CPL     A
+000EB6 5D                ANL     A,R5
+000EB7 D082              POP     DPL
+000EB9 D083              POP     DPH
+000EBB F0                MOVX    @DPTR,A
+000EBC 74A7              MOV     A,#LOW YC_GPIOWakeupH
+000EBE 2F                ADD     A,R7
+000EBF F582              MOV     DPL,A
+000EC1 E4                CLR     A
+000EC2 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+000EC4 F583              MOV     DPH,A
+000EC6 C083              PUSH    DPH
+000EC8 C082              PUSH    DPL
+000ECA E0                MOVX    A,@DPTR
+000ECB FF                MOV     R7,A
+000ECC 7401              MOV     A,#01H
+000ECE A806              MOV     R0,AR6
+000ED0 08                INC     R0
+000ED1 8002              SJMP    ?C0039?GPIO
+000ED3         ?C0038?GPIO:
+000ED3 C3                CLR     C
+000ED4 33                RLC     A
+000ED5         ?C0039?GPIO:
+000ED5 D8FC              DJNZ    R0,?C0038?GPIO
+000ED7 4F                ORL     A,R7
+000ED8 D082              POP     DPL
+000EDA D083              POP     DPH
+000EDC F0                MOVX    @DPTR,A
+000EDD 22                RET     
+000EDE         ?C0020?GPIO:
+000EDE 74A3              MOV     A,#LOW YC_GPIOWakeupL
+000EE0 2F                ADD     A,R7
+000EE1 F582              MOV     DPL,A
+000EE3 E4                CLR     A
+000EE4 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+000EE6 F583              MOV     DPH,A
+000EE8 C083              PUSH    DPH
+000EEA C082              PUSH    DPL
+000EEC E0                MOVX    A,@DPTR
+000EED FD                MOV     R5,A
+000EEE 7401              MOV     A,#01H
+000EF0 A806              MOV     R0,AR6
+000EF2 08                INC     R0
+000EF3 8002              SJMP    ?C0041?GPIO
+000EF5         ?C0040?GPIO:
+000EF5 C3                CLR     C
+000EF6 33                RLC     A
+000EF7         ?C0041?GPIO:
+000EF7 D8FC              DJNZ    R0,?C0040?GPIO
+000EF9 FC                MOV     R4,A
+000EFA 4D                ORL     A,R5
+000EFB D082              POP     DPL
+000EFD D083              POP     DPH
+000EFF F0                MOVX    @DPTR,A
+000F00 74A7              MOV     A,#LOW YC_GPIOWakeupH
+000F02 2F                ADD     A,R7
+000F03 F582              MOV     DPL,A
+000F05 E4                CLR     A
+000F06 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+000F08 F583              MOV     DPH,A
+000F0A E0                MOVX    A,@DPTR
+000F0B FF                MOV     R7,A
+000F0C EC                MOV     A,R4
+000F0D F4                CPL     A
+000F0E FE                MOV     R6,A
+000F0F EF                MOV     A,R7
+000F10 5E                ANL     A,R6
+000F11 F0                MOVX    @DPTR,A
+000F12         ?C0019?GPIO:
+000F12 22                RET     
 ----- FUNCTION _GPIO_SetWakeup (END) -------
 
 
 ----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-000F05 904B9C            MOV     DPTR,#ipcTxWritePtr
-000F08 E0                MOVX    A,@DPTR
-000F09 FE                MOV     R6,A
-000F0A A3                INC     DPTR
-000F0B E0                MOVX    A,@DPTR
-000F0C FF                MOV     R7,A
-000F0D 904B9A            MOV     DPTR,#ipcTxReadPtr
-000F10 E0                MOVX    A,@DPTR
-000F11 B50607            CJNE    A,AR6,?C0021?IPC
-000F14 A3                INC     DPTR
-000F15 E0                MOVX    A,@DPTR
-000F16 B50702            CJNE    A,AR7,?C0021?IPC
-000F19 D3                SETB    C
-000F1A 22                RET     
-000F1B         ?C0021?IPC:
-000F1B C3                CLR     C
-000F1C 22                RET     
+000F13 904B9C            MOV     DPTR,#ipcTxWritePtr
+000F16 E0                MOVX    A,@DPTR
+000F17 FE                MOV     R6,A
+000F18 A3                INC     DPTR
+000F19 E0                MOVX    A,@DPTR
+000F1A FF                MOV     R7,A
+000F1B 904B9A            MOV     DPTR,#ipcTxReadPtr
+000F1E E0                MOVX    A,@DPTR
+000F1F B50607            CJNE    A,AR6,?C0021?IPC
+000F22 A3                INC     DPTR
+000F23 E0                MOVX    A,@DPTR
+000F24 B50702            CJNE    A,AR7,?C0021?IPC
+000F27 D3                SETB    C
+000F28 22                RET     
+000F29         ?C0021?IPC:
+000F29 C3                CLR     C
+000F2A 22                RET     
 ----- FUNCTION IPC_IsTxBuffEmpty (END) -------
 
 
@@ -2811,23 +2821,23 @@
   331: {
   332: 	LED_timer500ms();	
   333: 
-000F1D 11A6              ACALL   LED_timer500ms
+000F2B 11B4              ACALL   LED_timer500ms
   334: 	g_variable.sleepTimer++;
-000F1F 904CF6            MOV     DPTR,#g_variable+037H
-000F22 E0                MOVX    A,@DPTR
-000F23 04                INC     A
-000F24 F0                MOVX    @DPTR,A
-000F25 7006              JNZ     ?C0082?SYS
-000F27 904CF5            MOV     DPTR,#g_variable+036H
-000F2A E0                MOVX    A,@DPTR
-000F2B 04                INC     A
-000F2C F0                MOVX    @DPTR,A
-000F2D         ?C0082?SYS:
+000F2D 904CF6            MOV     DPTR,#g_variable+037H
+000F30 E0                MOVX    A,@DPTR
+000F31 04                INC     A
+000F32 F0                MOVX    @DPTR,A
+000F33 7006              JNZ     ?C0082?SYS
+000F35 904CF5            MOV     DPTR,#g_variable+036H
+000F38 E0                MOVX    A,@DPTR
+000F39 04                INC     A
+000F3A F0                MOVX    @DPTR,A
+000F3B         ?C0082?SYS:
   335: 
   336: 	YC_connect_timeout_500ms();
-000F2D F195              ACALL   YC_connect_timeout_500ms
+000F3B F1A3              ACALL   YC_connect_timeout_500ms
   337: 	kb_button_press_timer500ms();
-000F2F 1206BE            LCALL   kb_button_press_timer500ms
+000F3D 1206BE            LCALL   kb_button_press_timer500ms
 ;----                  JMP     YC_pairing_timerout_500ms
   338: 	YC_pairing_timerout_500ms();
   339: 	
@@ -2841,81 +2851,81 @@
   263: {
   264: //pairing timer
   265: 	if (g_variable.pairing_g24_timeout != 0)
-000F32 904CFD            MOV     DPTR,#g_variable+03EH
-000F35 E0                MOVX    A,@DPTR
-000F36 6018              JZ      ?C0047?SYS
+000F40 904CFD            MOV     DPTR,#g_variable+03EH
+000F43 E0                MOVX    A,@DPTR
+000F44 6018              JZ      ?C0047?SYS
   266: 	{
   267: 		g_variable.sleepTimer = 0;
-000F38 E4                CLR     A
-000F39 904CF5            MOV     DPTR,#g_variable+036H
-000F3C F0                MOVX    @DPTR,A
-000F3D A3                INC     DPTR
-000F3E F0                MOVX    @DPTR,A
+000F46 E4                CLR     A
+000F47 904CF5            MOV     DPTR,#g_variable+036H
+000F4A F0                MOVX    @DPTR,A
+000F4B A3                INC     DPTR
+000F4C F0                MOVX    @DPTR,A
   268: 		g_variable.pairing_g24_timeout--;
-000F3F 904CFD            MOV     DPTR,#g_variable+03EH
-000F42 E0                MOVX    A,@DPTR
-000F43 14                DEC     A
-000F44 F0                MOVX    @DPTR,A
+000F4D 904CFD            MOV     DPTR,#g_variable+03EH
+000F50 E0                MOVX    A,@DPTR
+000F51 14                DEC     A
+000F52 F0                MOVX    @DPTR,A
   269: 		if (g_variable.pairing_g24_timeout == 0)
-000F45 E0                MOVX    A,@DPTR
-000F46 7008              JNZ     ?C0047?SYS
+000F53 E0                MOVX    A,@DPTR
+000F54 7008              JNZ     ?C0047?SYS
   270: 		{
   271: //			IPC_TxControlCmd(IPC_CMD_STOP_24G);
   272: 			Delay1ms(10);
-000F48 7F0A              MOV     R7,#0AH
-000F4A 120596            LCALL   _Delay1ms
+000F56 7F0A              MOV     R7,#0AH
+000F58 120596            LCALL   _Delay1ms
   273: 			System_long_sleep();
-000F4D 1206A2            LCALL   System_long_sleep
+000F5B 1206A2            LCALL   System_long_sleep
   274: 		}
   275: 	}
   276: }
-000F50         ?C0047?SYS:
-000F50 22                RET     
+000F5E         ?C0047?SYS:
+000F5E 22                RET     
 ----- FUNCTION YC_pairing_timerout_500ms (END) -------
 
 
 ----- FUNCTION _dmemcpy (BEGIN) -----
-000F51 904E3F            MOV     DPTR,#dest
-000F54 EB                MOV     A,R3
-000F55 F0                MOVX    @DPTR,A
-000F56 A3                INC     DPTR
-000F57 EA                MOV     A,R2
-000F58 F0                MOVX    @DPTR,A
-000F59 A3                INC     DPTR
-000F5A E9                MOV     A,R1
-000F5B F0                MOVX    @DPTR,A
-000F5C         ?C0005?UTILITIES:
-000F5C 904E45            MOV     DPTR,#len
-000F5F 74FF              MOV     A,#0FFH
-000F61 F5F0              MOV     B,A
-000F63 120167            LCALL   ?C?ILDIX
-000F66 45F0              ORL     A,B
-000F68 602A              JZ      ?C0007?UTILITIES
-000F6A 904E42            MOV     DPTR,#src
-000F6D E0                MOVX    A,@DPTR
-000F6E FB                MOV     R3,A
-000F6F A3                INC     DPTR
-000F70 E4                CLR     A
-000F71 75F001            MOV     B,#01H
-000F74 120167            LCALL   ?C?ILDIX
-000F77 A9F0              MOV     R1,B
-000F79 FA                MOV     R2,A
-000F7A 1200F9            LCALL   ?C?CLDPTR
-000F7D FF                MOV     R7,A
-000F7E 904E3F            MOV     DPTR,#dest
-000F81 E0                MOVX    A,@DPTR
-000F82 FB                MOV     R3,A
-000F83 A3                INC     DPTR
-000F84 E4                CLR     A
-000F85 75F001            MOV     B,#01H
-000F88 120167            LCALL   ?C?ILDIX
-000F8B A9F0              MOV     R1,B
-000F8D FA                MOV     R2,A
-000F8E EF                MOV     A,R7
-000F8F 12013F            LCALL   ?C?CSTPTR
-000F92 80C8              SJMP    ?C0005?UTILITIES
-000F94         ?C0007?UTILITIES:
-000F94 22                RET     
+000F5F 904E3F            MOV     DPTR,#dest
+000F62 EB                MOV     A,R3
+000F63 F0                MOVX    @DPTR,A
+000F64 A3                INC     DPTR
+000F65 EA                MOV     A,R2
+000F66 F0                MOVX    @DPTR,A
+000F67 A3                INC     DPTR
+000F68 E9                MOV     A,R1
+000F69 F0                MOVX    @DPTR,A
+000F6A         ?C0005?UTILITIES:
+000F6A 904E45            MOV     DPTR,#len
+000F6D 74FF              MOV     A,#0FFH
+000F6F F5F0              MOV     B,A
+000F71 120167            LCALL   ?C?ILDIX
+000F74 45F0              ORL     A,B
+000F76 602A              JZ      ?C0007?UTILITIES
+000F78 904E42            MOV     DPTR,#src
+000F7B E0                MOVX    A,@DPTR
+000F7C FB                MOV     R3,A
+000F7D A3                INC     DPTR
+000F7E E4                CLR     A
+000F7F 75F001            MOV     B,#01H
+000F82 120167            LCALL   ?C?ILDIX
+000F85 A9F0              MOV     R1,B
+000F87 FA                MOV     R2,A
+000F88 1200F9            LCALL   ?C?CLDPTR
+000F8B FF                MOV     R7,A
+000F8C 904E3F            MOV     DPTR,#dest
+000F8F E0                MOVX    A,@DPTR
+000F90 FB                MOV     R3,A
+000F91 A3                INC     DPTR
+000F92 E4                CLR     A
+000F93 75F001            MOV     B,#01H
+000F96 120167            LCALL   ?C?ILDIX
+000F99 A9F0              MOV     R1,B
+000F9B FA                MOV     R2,A
+000F9C EF                MOV     A,R7
+000F9D 12013F            LCALL   ?C?CSTPTR
+000FA0 80C8              SJMP    ?C0005?UTILITIES
+000FA2         ?C0007?UTILITIES:
+000FA2 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
@@ -2926,62 +2936,62 @@
   237: 	
   238: //system long sleep timer
   239: 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-000F95 904CC5            MOV     DPTR,#g_variable+06H
-000F98 E0                MOVX    A,@DPTR
-000F99 B40312            CJNE    A,#03H,?C0037?SYS
+000FA3 904CC5            MOV     DPTR,#g_variable+06H
+000FA6 E0                MOVX    A,@DPTR
+000FA7 B40312            CJNE    A,#03H,?C0037?SYS
   240: 	{
   241: 		if (g_variable.sleepTimer >= STANDBY_TIMER_2MIN)	
-000F9C C3                CLR     C
-000F9D 904CF6            MOV     DPTR,#g_variable+037H
-000FA0 E0                MOVX    A,@DPTR
-000FA1 94F0              SUBB    A,#0F0H
-000FA3 904CF5            MOV     DPTR,#g_variable+036H
-000FA6 E0                MOVX    A,@DPTR
-000FA7 9400              SUBB    A,#00H
-000FA9 402E              JC      ?C0044?SYS
+000FAA C3                CLR     C
+000FAB 904CF6            MOV     DPTR,#g_variable+037H
+000FAE E0                MOVX    A,@DPTR
+000FAF 94F0              SUBB    A,#0F0H
+000FB1 904CF5            MOV     DPTR,#g_variable+036H
+000FB4 E0                MOVX    A,@DPTR
+000FB5 9400              SUBB    A,#00H
+000FB7 402E              JC      ?C0044?SYS
   242: 			System_long_sleep();	// 2.4g long sleep  lpm will wakeup every 3min15s
-000FAB 0206A2            LJMP    System_long_sleep
+000FB9 0206A2            LJMP    System_long_sleep
   243: 	}
-000FAE         ?C0037?SYS:
+000FBC         ?C0037?SYS:
   244: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
-000FAE 904CC5            MOV     DPTR,#g_variable+06H
-000FB1 E0                MOVX    A,@DPTR
-000FB2 B40112            CJNE    A,#01H,?C0040?SYS
+000FBC 904CC5            MOV     DPTR,#g_variable+06H
+000FBF E0                MOVX    A,@DPTR
+000FC0 B40112            CJNE    A,#01H,?C0040?SYS
   245: 	{
   246: 		if (g_variable.sleepTimer >= BT_PAIRING_TIME_OUT_1MIN)
-000FB5 C3                CLR     C
-000FB6 904CF6            MOV     DPTR,#g_variable+037H
-000FB9 E0                MOVX    A,@DPTR
-000FBA 9478              SUBB    A,#078H
-000FBC 904CF5            MOV     DPTR,#g_variable+036H
-000FBF E0                MOVX    A,@DPTR
-000FC0 9400              SUBB    A,#00H
-000FC2 4015              JC      ?C0044?SYS
+000FC3 C3                CLR     C
+000FC4 904CF6            MOV     DPTR,#g_variable+037H
+000FC7 E0                MOVX    A,@DPTR
+000FC8 9478              SUBB    A,#078H
+000FCA 904CF5            MOV     DPTR,#g_variable+036H
+000FCD E0                MOVX    A,@DPTR
+000FCE 9400              SUBB    A,#00H
+000FD0 4015              JC      ?C0044?SYS
   247: 		{
   248: 			System_long_sleep();
-000FC4 0206A2            LJMP    System_long_sleep
+000FD2 0206A2            LJMP    System_long_sleep
   249: 		}
   250: 	}
-000FC7         ?C0040?SYS:
+000FD5         ?C0040?SYS:
   251: 	else
   252: 	{
   253: 		if (g_variable.sleepTimer >= RECONNECT_TIMER_10S)
-000FC7 C3                CLR     C
-000FC8 904CF6            MOV     DPTR,#g_variable+037H
-000FCB E0                MOVX    A,@DPTR
-000FCC 9414              SUBB    A,#014H
-000FCE 904CF5            MOV     DPTR,#g_variable+036H
-000FD1 E0                MOVX    A,@DPTR
-000FD2 9400              SUBB    A,#00H
-000FD4 4003              JC      ?C0044?SYS
+000FD5 C3                CLR     C
+000FD6 904CF6            MOV     DPTR,#g_variable+037H
+000FD9 E0                MOVX    A,@DPTR
+000FDA 9414              SUBB    A,#014H
+000FDC 904CF5            MOV     DPTR,#g_variable+036H
+000FDF E0                MOVX    A,@DPTR
+000FE0 9400              SUBB    A,#00H
+000FE2 4003              JC      ?C0044?SYS
   254: 		{
   255: 			System_long_sleep();
-000FD6 1206A2            LCALL   System_long_sleep
+000FE4 1206A2            LCALL   System_long_sleep
   256: 		}
   257: 	}
   258: }
-000FD9         ?C0044?SYS:
-000FD9 22                RET     
+000FE7         ?C0044?SYS:
+000FE7 22                RET     
 ----- FUNCTION YC_connect_timeout_500ms (END) -------
 
 
@@ -2989,93 +2999,93 @@
  FILE: 'kb_process.c'
    56: void IPC_TxHidData(byte* dt, byte len)
    57: {	
-000FDA 904E28            MOV     DPTR,#dt
-000FDD EB                MOV     A,R3
-000FDE F0                MOVX    @DPTR,A
-000FDF A3                INC     DPTR
-000FE0 EA                MOV     A,R2
-000FE1 F0                MOVX    @DPTR,A
-000FE2 A3                INC     DPTR
-000FE3 E9                MOV     A,R1
-000FE4 F0                MOVX    @DPTR,A
-000FE5 A3                INC     DPTR
-000FE6 ED                MOV     A,R5
-000FE7 F0                MOVX    @DPTR,A
+000FE8 904E28            MOV     DPTR,#dt
+000FEB EB                MOV     A,R3
+000FEC F0                MOVX    @DPTR,A
+000FED A3                INC     DPTR
+000FEE EA                MOV     A,R2
+000FEF F0                MOVX    @DPTR,A
+000FF0 A3                INC     DPTR
+000FF1 E9                MOV     A,R1
+000FF2 F0                MOVX    @DPTR,A
+000FF3 A3                INC     DPTR
+000FF4 ED                MOV     A,R5
+000FF5 F0                MOVX    @DPTR,A
    58: 	xbyte tx_hid_buff[10];
    59: 	byte i=0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-000FE8 E4                CLR     A
-000FE9 FF                MOV     R7,A
+000FF6 E4                CLR     A
+000FF7 FF                MOV     R7,A
    60: 
    61: 	for(i==0; i< len; i++)
-000FEA         ?C0011?KB_PROCESS:
-000FEA 904E2B            MOV     DPTR,#len
-000FED E0                MOVX    A,@DPTR
-000FEE FE                MOV     R6,A
-000FEF EF                MOV     A,R7
-000FF0 C3                CLR     C
-000FF1 9E                SUBB    A,R6
-000FF2 5023              JNC     ?C0012?KB_PROCESS
+000FF8         ?C0011?KB_PROCESS:
+000FF8 904E2B            MOV     DPTR,#len
+000FFB E0                MOVX    A,@DPTR
+000FFC FE                MOV     R6,A
+000FFD EF                MOV     A,R7
+000FFE C3                CLR     C
+000FFF 9E                SUBB    A,R6
+001000 5023              JNC     ?C0012?KB_PROCESS
    62: 	{
    63: 		tx_hid_buff[i] = dt[i];
-000FF4 904E28            MOV     DPTR,#dt
-000FF7 E0                MOVX    A,@DPTR
-000FF8 FB                MOV     R3,A
-000FF9 A3                INC     DPTR
-000FFA E0                MOVX    A,@DPTR
-000FFB FA                MOV     R2,A
-000FFC A3                INC     DPTR
-000FFD E0                MOVX    A,@DPTR
-000FFE F9                MOV     R1,A
-000FFF 8F82              MOV     DPL,R7
-001001 758300            MOV     DPH,#00H
-001004 120112            LCALL   ?C?CLDOPTR
-001007 FE                MOV     R6,A
-001008 742C              MOV     A,#LOW tx_hid_buff
-00100A 2F                ADD     A,R7
-00100B F582              MOV     DPL,A
-00100D E4                CLR     A
-00100E 344E              ADDC    A,#HIGH tx_hid_buff
-001010 F583              MOV     DPH,A
-001012 EE                MOV     A,R6
-001013 F0                MOVX    @DPTR,A
+001002 904E28            MOV     DPTR,#dt
+001005 E0                MOVX    A,@DPTR
+001006 FB                MOV     R3,A
+001007 A3                INC     DPTR
+001008 E0                MOVX    A,@DPTR
+001009 FA                MOV     R2,A
+00100A A3                INC     DPTR
+00100B E0                MOVX    A,@DPTR
+00100C F9                MOV     R1,A
+00100D 8F82              MOV     DPL,R7
+00100F 758300            MOV     DPH,#00H
+001012 120112            LCALL   ?C?CLDOPTR
+001015 FE                MOV     R6,A
+001016 742C              MOV     A,#LOW tx_hid_buff
+001018 2F                ADD     A,R7
+001019 F582              MOV     DPL,A
+00101B E4                CLR     A
+00101C 344E              ADDC    A,#HIGH tx_hid_buff
+00101E F583              MOV     DPH,A
+001020 EE                MOV     A,R6
+001021 F0                MOVX    @DPTR,A
    64: 	}
-001014 0F                INC     R7
-001015 80D3              SJMP    ?C0011?KB_PROCESS
-001017         ?C0012?KB_PROCESS:
+001022 0F                INC     R7
+001023 80D3              SJMP    ?C0011?KB_PROCESS
+001025         ?C0012?KB_PROCESS:
    65: 
    66: 	if(!YC_check_need_reconnected()) 
-001017 120379            LCALL   YC_check_need_reconnected
-00101A EF                MOV     A,R7
-00101B 601D              JZ      ?C0015?KB_PROCESS
-00101D         ?C0014?KB_PROCESS:
+001025 120379            LCALL   YC_check_need_reconnected
+001028 EF                MOV     A,R7
+001029 601D              JZ      ?C0015?KB_PROCESS
+00102B         ?C0014?KB_PROCESS:
    67: 		return;
    68: 	if (g_variable.release_data)
-00101D 904CFA            MOV     DPTR,#g_variable+03BH
-001020 E0                MOVX    A,@DPTR
-001021 7017              JNZ     ?C0015?KB_PROCESS
-001023         ?C0016?KB_PROCESS:
+00102B 904CFA            MOV     DPTR,#g_variable+03BH
+00102E E0                MOVX    A,@DPTR
+00102F 7017              JNZ     ?C0015?KB_PROCESS
+001031         ?C0016?KB_PROCESS:
    69: 		return;
    70: #ifndef MOUSE_TEST
    71: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-001023 904CC5            MOV     DPTR,#g_variable+06H
-001026 E0                MOVX    A,@DPTR
-001027 B40310            CJNE    A,#03H,?C0015?KB_PROCESS
+001031 904CC5            MOV     DPTR,#g_variable+06H
+001034 E0                MOVX    A,@DPTR
+001035 B40310            CJNE    A,#03H,?C0015?KB_PROCESS
    72: 	{
    73: 		IPC_Tx24GData(dt,len);
-00102A 904E28            MOV     DPTR,#dt
-00102D E0                MOVX    A,@DPTR
-00102E FB                MOV     R3,A
-00102F A3                INC     DPTR
-001030 E0                MOVX    A,@DPTR
-001031 FA                MOV     R2,A
-001032 A3                INC     DPTR
-001033 E0                MOVX    A,@DPTR
-001034 F9                MOV     R1,A
-001035 A3                INC     DPTR
-001036 E0                MOVX    A,@DPTR
-001037 FD                MOV     R5,A
-001038 113B              ACALL   _IPC_Tx24GData
+001038 904E28            MOV     DPTR,#dt
+00103B E0                MOVX    A,@DPTR
+00103C FB                MOV     R3,A
+00103D A3                INC     DPTR
+00103E E0                MOVX    A,@DPTR
+00103F FA                MOV     R2,A
+001040 A3                INC     DPTR
+001041 E0                MOVX    A,@DPTR
+001042 F9                MOV     R1,A
+001043 A3                INC     DPTR
+001044 E0                MOVX    A,@DPTR
+001045 FD                MOV     R5,A
+001046 1149              ACALL   _IPC_Tx24GData
    74: 	}
    75: #else
    76: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
@@ -3108,44 +3118,44 @@
   103: 	}
   104: #endif	
   105: }
-00103A         ?C0015?KB_PROCESS:
-00103A 22                RET     
+001048         ?C0015?KB_PROCESS:
+001048 22                RET     
 ----- FUNCTION _IPC_TxHidData (END) -------
 
 
 ----- FUNCTION _IPC_Tx24GData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-00103B 900BE7            MOV     DPTR,#ipcSendBuff
-00103E 7406              MOV     A,#06H
-001040 F0                MOVX    @DPTR,A
+001049 900BE7            MOV     DPTR,#ipcSendBuff
+00104C 7406              MOV     A,#06H
+00104E F0                MOVX    @DPTR,A
 ;----                  JMP     _IPC_TxData
 ----- FUNCTION _IPC_Tx24GData (END) -------
 
 
 ----- FUNCTION _IPC_TxData (BEGIN) -----
-001041 904E85            MOV     DPTR,#len
-001044 ED                MOV     A,R5
-001045 F0                MOVX    @DPTR,A
+00104F 904E85            MOV     DPTR,#len
+001052 ED                MOV     A,R5
+001053 F0                MOVX    @DPTR,A
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-001046 E0                MOVX    A,@DPTR
-001047 FD                MOV     R5,A
-001048 900BE8            MOV     DPTR,#ipcSendBuff+01H
-00104B F0                MOVX    @DPTR,A
-00104C 7E0B              MOV     R6,#HIGH ipcSendBuff+02H
-00104E 7FE9              MOV     R7,#LOW ipcSendBuff+02H
-001050 904E60            MOV     DPTR,#?_xmemcpy?BYTE+05H
-001053 ED                MOV     A,R5
-001054 F0                MOVX    @DPTR,A
-001055 12065C            LCALL   _xmemcpy
-001058 7B01              MOV     R3,#01H
-00105A 7A0B              MOV     R2,#HIGH ipcSendBuff
-00105C 79E7              MOV     R1,#LOW ipcSendBuff
-00105E 904E85            MOV     DPTR,#len
-001061 E0                MOVX    A,@DPTR
-001062 2402              ADD     A,#02H
-001064 FD                MOV     R5,A
-001065 020787            LJMP    _ipcTx
+001054 E0                MOVX    A,@DPTR
+001055 FD                MOV     R5,A
+001056 900BE8            MOV     DPTR,#ipcSendBuff+01H
+001059 F0                MOVX    @DPTR,A
+00105A 7E0B              MOV     R6,#HIGH ipcSendBuff+02H
+00105C 7FE9              MOV     R7,#LOW ipcSendBuff+02H
+00105E 904E60            MOV     DPTR,#?_xmemcpy?BYTE+05H
+001061 ED                MOV     A,R5
+001062 F0                MOVX    @DPTR,A
+001063 12065C            LCALL   _xmemcpy
+001066 7B01              MOV     R3,#01H
+001068 7A0B              MOV     R2,#HIGH ipcSendBuff
+00106A 79E7              MOV     R1,#LOW ipcSendBuff
+00106C 904E85            MOV     DPTR,#len
+00106F E0                MOVX    A,@DPTR
+001070 2402              ADD     A,#02H
+001072 FD                MOV     R5,A
+001073 020787            LJMP    _ipcTx
 ----- FUNCTION _IPC_TxData (END) -------
 
 
@@ -3155,2107 +3165,2113 @@
   109: {
   110: 	byte i = 0;
   111: 	ulong adc_gamepad_value0 = 0;
-001068 E4                CLR     A
-001069 904E17            MOV     DPTR,#i
-00106C F0                MOVX    @DPTR,A
+001076 E4                CLR     A
+001077 904E17            MOV     DPTR,#i
+00107A F0                MOVX    @DPTR,A
   112: 	ulong adc_gamepad_value1 = 0;
-00106D A3                INC     DPTR
-00106E 12027B            LCALL   ?C?LSTKXDATA
-001071 00                DB      00H
-001072 00                DB      00H
-001073 00                DB      00H
-001074 00                DB      00H
+00107B A3                INC     DPTR
+00107C 12027B            LCALL   ?C?LSTKXDATA
+00107F 00                DB      00H
+001080 00                DB      00H
+001081 00                DB      00H
+001082 00                DB      00H
   113: 	ulong adc_gamepad_value2 = 0;
-001075 904E1C            MOV     DPTR,#adc_gamepad_value1
-001078 12027B            LCALL   ?C?LSTKXDATA
-00107B 00                DB      00H
-00107C 00                DB      00H
-00107D 00                DB      00H
-00107E 00                DB      00H
+001083 904E1C            MOV     DPTR,#adc_gamepad_value1
+001086 12027B            LCALL   ?C?LSTKXDATA
+001089 00                DB      00H
+00108A 00                DB      00H
+00108B 00                DB      00H
+00108C 00                DB      00H
   114: 	ulong adc_gamepad_value3 = 0;
-00107F 904E20            MOV     DPTR,#adc_gamepad_value2
-001082 12027B            LCALL   ?C?LSTKXDATA
-001085 00                DB      00H
-001086 00                DB      00H
-001087 00                DB      00H
-001088 00                DB      00H
+00108D 904E20            MOV     DPTR,#adc_gamepad_value2
+001090 12027B            LCALL   ?C?LSTKXDATA
+001093 00                DB      00H
+001094 00                DB      00H
+001095 00                DB      00H
+001096 00                DB      00H
   115: 	
-001089 904E24            MOV     DPTR,#adc_gamepad_value3
-00108C 12027B            LCALL   ?C?LSTKXDATA
-00108F 00                DB      00H
-001090 00                DB      00H
-001091 00                DB      00H
-001092 00                DB      00H
+001097 904E24            MOV     DPTR,#adc_gamepad_value3
+00109A 12027B            LCALL   ?C?LSTKXDATA
+00109D 00                DB      00H
+00109E 00                DB      00H
+00109F 00                DB      00H
+0010A0 00                DB      00H
   116: 	g_variable.gamepad_z = 0x80;
-001093 904D06            MOV     DPTR,#g_variable+047H
-001096 7480              MOV     A,#080H
-001098 F0                MOVX    @DPTR,A
+0010A1 904D06            MOV     DPTR,#g_variable+047H
+0010A4 7480              MOV     A,#080H
+0010A6 F0                MOVX    @DPTR,A
   117: 	g_variable.gamepad_rz = 0x80;
-001099 A3                INC     DPTR
-00109A F0                MOVX    @DPTR,A
+0010A7 A3                INC     DPTR
+0010A8 F0                MOVX    @DPTR,A
   118: 	g_variable.gamepad_x = 0x80;
-00109B A3                INC     DPTR
-00109C F0                MOVX    @DPTR,A
+0010A9 A3                INC     DPTR
+0010AA F0                MOVX    @DPTR,A
   119: 	g_variable.gamepad_y = 0x80;
-00109D A3                INC     DPTR
-00109E F0                MOVX    @DPTR,A
+0010AB A3                INC     DPTR
+0010AC F0                MOVX    @DPTR,A
   120: 	g_variable.gamepad_hatswitch = 0x0f;
-00109F A3                INC     DPTR
-0010A0 740F              MOV     A,#0FH
-0010A2 F0                MOVX    @DPTR,A
+0010AD A3                INC     DPTR
+0010AE 740F              MOV     A,#0FH
+0010B0 F0                MOVX    @DPTR,A
   121: 	g_variable.gamepad_key0 = 0;
-0010A3 E4                CLR     A
-0010A4 A3                INC     DPTR
-0010A5 F0                MOVX    @DPTR,A
+0010B1 E4                CLR     A
+0010B2 A3                INC     DPTR
+0010B3 F0                MOVX    @DPTR,A
   122: 	g_variable.gamepad_key1 = 0;
-0010A6 A3                INC     DPTR
-0010A7 F0                MOVX    @DPTR,A
+0010B4 A3                INC     DPTR
+0010B5 F0                MOVX    @DPTR,A
   123: 
   124: 	
   125: 	g_variable.battery_gamepad_value0[g_variable.battery_gamepad_value_index] = m_gamepad_adc_value_0;
-0010A8 904D7D            MOV     DPTR,#m_gamepad_adc_value_0
-0010AB E0                MOVX    A,@DPTR
-0010AC FE                MOV     R6,A
-0010AD A3                INC     DPTR
-0010AE E0                MOVX    A,@DPTR
-0010AF FF                MOV     R7,A
-0010B0 904CDC            MOV     DPTR,#g_variable+01DH
-0010B3 E0                MOVX    A,@DPTR
-0010B4 FD                MOV     R5,A
-0010B5 25E0              ADD     A,ACC
-0010B7 24DD              ADD     A,#LOW g_variable+01EH
-0010B9 F582              MOV     DPL,A
-0010BB E4                CLR     A
-0010BC 344C              ADDC    A,#HIGH g_variable+01EH
-0010BE F583              MOV     DPH,A
-0010C0 EE                MOV     A,R6
-0010C1 F0                MOVX    @DPTR,A
-0010C2 A3                INC     DPTR
-0010C3 EF                MOV     A,R7
-0010C4 F0                MOVX    @DPTR,A
+0010B6 904D7D            MOV     DPTR,#m_gamepad_adc_value_0
+0010B9 E0                MOVX    A,@DPTR
+0010BA FE                MOV     R6,A
+0010BB A3                INC     DPTR
+0010BC E0                MOVX    A,@DPTR
+0010BD FF                MOV     R7,A
+0010BE 904CDC            MOV     DPTR,#g_variable+01DH
+0010C1 E0                MOVX    A,@DPTR
+0010C2 FD                MOV     R5,A
+0010C3 25E0              ADD     A,ACC
+0010C5 24DD              ADD     A,#LOW g_variable+01EH
+0010C7 F582              MOV     DPL,A
+0010C9 E4                CLR     A
+0010CA 344C              ADDC    A,#HIGH g_variable+01EH
+0010CC F583              MOV     DPH,A
+0010CE EE                MOV     A,R6
+0010CF F0                MOVX    @DPTR,A
+0010D0 A3                INC     DPTR
+0010D1 EF                MOV     A,R7
+0010D2 F0                MOVX    @DPTR,A
   126: 	g_variable.battery_gamepad_value1[g_variable.battery_gamepad_value_index] = m_gamepad_adc_value_1;
-0010C5 904D7F            MOV     DPTR,#m_gamepad_adc_value_1
-0010C8 E0                MOVX    A,@DPTR
-0010C9 FE                MOV     R6,A
-0010CA A3                INC     DPTR
-0010CB E0                MOVX    A,@DPTR
-0010CC FF                MOV     R7,A
-0010CD ED                MOV     A,R5
-0010CE 25E0              ADD     A,ACC
-0010D0 24E3              ADD     A,#LOW g_variable+024H
-0010D2 F582              MOV     DPL,A
-0010D4 E4                CLR     A
-0010D5 344C              ADDC    A,#HIGH g_variable+024H
-0010D7 F583              MOV     DPH,A
-0010D9 EE                MOV     A,R6
-0010DA F0                MOVX    @DPTR,A
-0010DB A3                INC     DPTR
-0010DC EF                MOV     A,R7
-0010DD F0                MOVX    @DPTR,A
+0010D3 904D7F            MOV     DPTR,#m_gamepad_adc_value_1
+0010D6 E0                MOVX    A,@DPTR
+0010D7 FE                MOV     R6,A
+0010D8 A3                INC     DPTR
+0010D9 E0                MOVX    A,@DPTR
+0010DA FF                MOV     R7,A
+0010DB ED                MOV     A,R5
+0010DC 25E0              ADD     A,ACC
+0010DE 24E3              ADD     A,#LOW g_variable+024H
+0010E0 F582              MOV     DPL,A
+0010E2 E4                CLR     A
+0010E3 344C              ADDC    A,#HIGH g_variable+024H
+0010E5 F583              MOV     DPH,A
+0010E7 EE                MOV     A,R6
+0010E8 F0                MOVX    @DPTR,A
+0010E9 A3                INC     DPTR
+0010EA EF                MOV     A,R7
+0010EB F0                MOVX    @DPTR,A
   127: 	g_variable.battery_gamepad_value2[g_variable.battery_gamepad_value_index] = m_gamepad_adc_value_2;
-0010DE 904D81            MOV     DPTR,#m_gamepad_adc_value_2
-0010E1 E0                MOVX    A,@DPTR
-0010E2 FE                MOV     R6,A
-0010E3 A3                INC     DPTR
-0010E4 E0                MOVX    A,@DPTR
-0010E5 FF                MOV     R7,A
-0010E6 ED                MOV     A,R5
-0010E7 25E0              ADD     A,ACC
-0010E9 24E9              ADD     A,#LOW g_variable+02AH
-0010EB F582              MOV     DPL,A
-0010ED E4                CLR     A
-0010EE 344C              ADDC    A,#HIGH g_variable+02AH
-0010F0 F583              MOV     DPH,A
-0010F2 EE                MOV     A,R6
-0010F3 F0                MOVX    @DPTR,A
-0010F4 A3                INC     DPTR
-0010F5 EF                MOV     A,R7
-0010F6 F0                MOVX    @DPTR,A
+0010EC 904D81            MOV     DPTR,#m_gamepad_adc_value_2
+0010EF E0                MOVX    A,@DPTR
+0010F0 FE                MOV     R6,A
+0010F1 A3                INC     DPTR
+0010F2 E0                MOVX    A,@DPTR
+0010F3 FF                MOV     R7,A
+0010F4 ED                MOV     A,R5
+0010F5 25E0              ADD     A,ACC
+0010F7 24E9              ADD     A,#LOW g_variable+02AH
+0010F9 F582              MOV     DPL,A
+0010FB E4                CLR     A
+0010FC 344C              ADDC    A,#HIGH g_variable+02AH
+0010FE F583              MOV     DPH,A
+001100 EE                MOV     A,R6
+001101 F0                MOVX    @DPTR,A
+001102 A3                INC     DPTR
+001103 EF                MOV     A,R7
+001104 F0                MOVX    @DPTR,A
   128: 	g_variable.battery_gamepad_value3[g_variable.battery_gamepad_value_index] = m_gamepad_adc_value_3;
-0010F7 904D83            MOV     DPTR,#m_gamepad_adc_value_3
-0010FA E0                MOVX    A,@DPTR
-0010FB FE                MOV     R6,A
-0010FC A3                INC     DPTR
-0010FD E0                MOVX    A,@DPTR
-0010FE FF                MOV     R7,A
-0010FF ED                MOV     A,R5
-001100 25E0              ADD     A,ACC
-001102 24EF              ADD     A,#LOW g_variable+030H
-001104 F582              MOV     DPL,A
-001106 E4                CLR     A
-001107 344C              ADDC    A,#HIGH g_variable+030H
-001109 F583              MOV     DPH,A
-00110B EE                MOV     A,R6
-00110C F0                MOVX    @DPTR,A
-00110D A3                INC     DPTR
-00110E EF                MOV     A,R7
-00110F F0                MOVX    @DPTR,A
+001105 904D83            MOV     DPTR,#m_gamepad_adc_value_3
+001108 E0                MOVX    A,@DPTR
+001109 FE                MOV     R6,A
+00110A A3                INC     DPTR
+00110B E0                MOVX    A,@DPTR
+00110C FF                MOV     R7,A
+00110D ED                MOV     A,R5
+00110E 25E0              ADD     A,ACC
+001110 24EF              ADD     A,#LOW g_variable+030H
+001112 F582              MOV     DPL,A
+001114 E4                CLR     A
+001115 344C              ADDC    A,#HIGH g_variable+030H
+001117 F583              MOV     DPH,A
+001119 EE                MOV     A,R6
+00111A F0                MOVX    @DPTR,A
+00111B A3                INC     DPTR
+00111C EF                MOV     A,R7
+00111D F0                MOVX    @DPTR,A
   129: 
   130: 	g_variable.battery_gamepad_value_index = g_variable.battery_gamepad_value_index++;
-001110 904CDC            MOV     DPTR,#g_variable+01DH
-001113 E0                MOVX    A,@DPTR
-001114 04                INC     A
-001115 F0                MOVX    @DPTR,A
+00111E 904CDC            MOV     DPTR,#g_variable+01DH
+001121 E0                MOVX    A,@DPTR
+001122 04                INC     A
+001123 F0                MOVX    @DPTR,A
   131: 	if (g_variable.battery_gamepad_value_index >= BAT_ARRAY_LEN)
-001116 E0                MOVX    A,@DPTR
-001117 C3                CLR     C
-001118 9403              SUBB    A,#03H
-00111A 4002              JC      ?C0018?KB_PROCESS
+001124 E0                MOVX    A,@DPTR
+001125 C3                CLR     C
+001126 9403              SUBB    A,#03H
+001128 4002              JC      ?C0018?KB_PROCESS
   132: 		g_variable.battery_gamepad_value_index = 0;
-00111C E4                CLR     A
-00111D F0                MOVX    @DPTR,A
-00111E         ?C0018?KB_PROCESS:
+00112A E4                CLR     A
+00112B F0                MOVX    @DPTR,A
+00112C         ?C0018?KB_PROCESS:
   133: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-00111E E4                CLR     A
-00111F 904E17            MOV     DPTR,#i
-001122 F0                MOVX    @DPTR,A
-001123         ?C0019?KB_PROCESS:
+00112C E4                CLR     A
+00112D 904E17            MOV     DPTR,#i
+001130 F0                MOVX    @DPTR,A
+001131         ?C0019?KB_PROCESS:
   134: 	{
   135: 		adc_gamepad_value0 += g_variable.battery_gamepad_value0[i];
-001123 904E18            MOV     DPTR,#adc_gamepad_value0
-001126 E0                MOVX    A,@DPTR
-001127 F8                MOV     R0,A
-001128 A3                INC     DPTR
-001129 E0                MOVX    A,@DPTR
-00112A F9                MOV     R1,A
-00112B A3                INC     DPTR
-00112C E0                MOVX    A,@DPTR
-00112D FA                MOV     R2,A
-00112E A3                INC     DPTR
-00112F E0                MOVX    A,@DPTR
-001130 FB                MOV     R3,A
-001131 904E17            MOV     DPTR,#i
+001131 904E18            MOV     DPTR,#adc_gamepad_value0
 001134 E0                MOVX    A,@DPTR
-001135 25E0              ADD     A,ACC
-001137 24DD              ADD     A,#LOW g_variable+01EH
-001139 F582              MOV     DPL,A
-00113B E4                CLR     A
-00113C 344C              ADDC    A,#HIGH g_variable+01EH
-00113E F583              MOV     DPH,A
-001140 E0                MOVX    A,@DPTR
-001141 FE                MOV     R6,A
-001142 A3                INC     DPTR
-001143 E0                MOVX    A,@DPTR
-001144 FF                MOV     R7,A
-001145 E4                CLR     A
-001146 FC                MOV     R4,A
-001147 FD                MOV     R5,A
-001148 EB                MOV     A,R3
-001149 2F                ADD     A,R7
-00114A FF                MOV     R7,A
-00114B EA                MOV     A,R2
-00114C 3E                ADDC    A,R6
-00114D FE                MOV     R6,A
-00114E ED                MOV     A,R5
-00114F 39                ADDC    A,R1
-001150 FD                MOV     R5,A
-001151 EC                MOV     A,R4
-001152 38                ADDC    A,R0
-001153 FC                MOV     R4,A
-001154 904E18            MOV     DPTR,#adc_gamepad_value0
-001157 12026F            LCALL   ?C?LSTXDATA
+001135 F8                MOV     R0,A
+001136 A3                INC     DPTR
+001137 E0                MOVX    A,@DPTR
+001138 F9                MOV     R1,A
+001139 A3                INC     DPTR
+00113A E0                MOVX    A,@DPTR
+00113B FA                MOV     R2,A
+00113C A3                INC     DPTR
+00113D E0                MOVX    A,@DPTR
+00113E FB                MOV     R3,A
+00113F 904E17            MOV     DPTR,#i
+001142 E0                MOVX    A,@DPTR
+001143 25E0              ADD     A,ACC
+001145 24DD              ADD     A,#LOW g_variable+01EH
+001147 F582              MOV     DPL,A
+001149 E4                CLR     A
+00114A 344C              ADDC    A,#HIGH g_variable+01EH
+00114C F583              MOV     DPH,A
+00114E E0                MOVX    A,@DPTR
+00114F FE                MOV     R6,A
+001150 A3                INC     DPTR
+001151 E0                MOVX    A,@DPTR
+001152 FF                MOV     R7,A
+001153 E4                CLR     A
+001154 FC                MOV     R4,A
+001155 FD                MOV     R5,A
+001156 EB                MOV     A,R3
+001157 2F                ADD     A,R7
+001158 FF                MOV     R7,A
+001159 EA                MOV     A,R2
+00115A 3E                ADDC    A,R6
+00115B FE                MOV     R6,A
+00115C ED                MOV     A,R5
+00115D 39                ADDC    A,R1
+00115E FD                MOV     R5,A
+00115F EC                MOV     A,R4
+001160 38                ADDC    A,R0
+001161 FC                MOV     R4,A
+001162 904E18            MOV     DPTR,#adc_gamepad_value0
+001165 12026F            LCALL   ?C?LSTXDATA
   136: 		adc_gamepad_value1 += g_variable.battery_gamepad_value1[i];
-00115A 904E1C            MOV     DPTR,#adc_gamepad_value1
-00115D E0                MOVX    A,@DPTR
-00115E F8                MOV     R0,A
-00115F A3                INC     DPTR
-001160 E0                MOVX    A,@DPTR
-001161 F9                MOV     R1,A
-001162 A3                INC     DPTR
-001163 E0                MOVX    A,@DPTR
-001164 FA                MOV     R2,A
-001165 A3                INC     DPTR
-001166 E0                MOVX    A,@DPTR
-001167 FB                MOV     R3,A
-001168 904E17            MOV     DPTR,#i
+001168 904E1C            MOV     DPTR,#adc_gamepad_value1
 00116B E0                MOVX    A,@DPTR
-00116C 25E0              ADD     A,ACC
-00116E 24E3              ADD     A,#LOW g_variable+024H
-001170 F582              MOV     DPL,A
-001172 E4                CLR     A
-001173 344C              ADDC    A,#HIGH g_variable+024H
-001175 F583              MOV     DPH,A
-001177 E0                MOVX    A,@DPTR
-001178 FE                MOV     R6,A
-001179 A3                INC     DPTR
-00117A E0                MOVX    A,@DPTR
-00117B FF                MOV     R7,A
-00117C E4                CLR     A
-00117D FC                MOV     R4,A
-00117E FD                MOV     R5,A
-00117F EB                MOV     A,R3
-001180 2F                ADD     A,R7
-001181 FF                MOV     R7,A
-001182 EA                MOV     A,R2
-001183 3E                ADDC    A,R6
-001184 FE                MOV     R6,A
-001185 ED                MOV     A,R5
-001186 39                ADDC    A,R1
-001187 FD                MOV     R5,A
-001188 EC                MOV     A,R4
-001189 38                ADDC    A,R0
-00118A FC                MOV     R4,A
-00118B 904E1C            MOV     DPTR,#adc_gamepad_value1
-00118E 12026F            LCALL   ?C?LSTXDATA
+00116C F8                MOV     R0,A
+00116D A3                INC     DPTR
+00116E E0                MOVX    A,@DPTR
+00116F F9                MOV     R1,A
+001170 A3                INC     DPTR
+001171 E0                MOVX    A,@DPTR
+001172 FA                MOV     R2,A
+001173 A3                INC     DPTR
+001174 E0                MOVX    A,@DPTR
+001175 FB                MOV     R3,A
+001176 904E17            MOV     DPTR,#i
+001179 E0                MOVX    A,@DPTR
+00117A 25E0              ADD     A,ACC
+00117C 24E3              ADD     A,#LOW g_variable+024H
+00117E F582              MOV     DPL,A
+001180 E4                CLR     A
+001181 344C              ADDC    A,#HIGH g_variable+024H
+001183 F583              MOV     DPH,A
+001185 E0                MOVX    A,@DPTR
+001186 FE                MOV     R6,A
+001187 A3                INC     DPTR
+001188 E0                MOVX    A,@DPTR
+001189 FF                MOV     R7,A
+00118A E4                CLR     A
+00118B FC                MOV     R4,A
+00118C FD                MOV     R5,A
+00118D EB                MOV     A,R3
+00118E 2F                ADD     A,R7
+00118F FF                MOV     R7,A
+001190 EA                MOV     A,R2
+001191 3E                ADDC    A,R6
+001192 FE                MOV     R6,A
+001193 ED                MOV     A,R5
+001194 39                ADDC    A,R1
+001195 FD                MOV     R5,A
+001196 EC                MOV     A,R4
+001197 38                ADDC    A,R0
+001198 FC                MOV     R4,A
+001199 904E1C            MOV     DPTR,#adc_gamepad_value1
+00119C 12026F            LCALL   ?C?LSTXDATA
   137: 		adc_gamepad_value2 += g_variable.battery_gamepad_value2[i];
-001191 904E20            MOV     DPTR,#adc_gamepad_value2
-001194 E0                MOVX    A,@DPTR
-001195 F8                MOV     R0,A
-001196 A3                INC     DPTR
-001197 E0                MOVX    A,@DPTR
-001198 F9                MOV     R1,A
-001199 A3                INC     DPTR
-00119A E0                MOVX    A,@DPTR
-00119B FA                MOV     R2,A
-00119C A3                INC     DPTR
-00119D E0                MOVX    A,@DPTR
-00119E FB                MOV     R3,A
-00119F 904E17            MOV     DPTR,#i
+00119F 904E20            MOV     DPTR,#adc_gamepad_value2
 0011A2 E0                MOVX    A,@DPTR
-0011A3 25E0              ADD     A,ACC
-0011A5 24E9              ADD     A,#LOW g_variable+02AH
-0011A7 F582              MOV     DPL,A
-0011A9 E4                CLR     A
-0011AA 344C              ADDC    A,#HIGH g_variable+02AH
-0011AC F583              MOV     DPH,A
-0011AE E0                MOVX    A,@DPTR
-0011AF FE                MOV     R6,A
-0011B0 A3                INC     DPTR
-0011B1 E0                MOVX    A,@DPTR
-0011B2 FF                MOV     R7,A
-0011B3 E4                CLR     A
-0011B4 FC                MOV     R4,A
-0011B5 FD                MOV     R5,A
-0011B6 EB                MOV     A,R3
-0011B7 2F                ADD     A,R7
-0011B8 FF                MOV     R7,A
-0011B9 EA                MOV     A,R2
-0011BA 3E                ADDC    A,R6
-0011BB FE                MOV     R6,A
-0011BC ED                MOV     A,R5
-0011BD 39                ADDC    A,R1
-0011BE FD                MOV     R5,A
-0011BF EC                MOV     A,R4
-0011C0 38                ADDC    A,R0
-0011C1 FC                MOV     R4,A
-0011C2 904E20            MOV     DPTR,#adc_gamepad_value2
-0011C5 12026F            LCALL   ?C?LSTXDATA
+0011A3 F8                MOV     R0,A
+0011A4 A3                INC     DPTR
+0011A5 E0                MOVX    A,@DPTR
+0011A6 F9                MOV     R1,A
+0011A7 A3                INC     DPTR
+0011A8 E0                MOVX    A,@DPTR
+0011A9 FA                MOV     R2,A
+0011AA A3                INC     DPTR
+0011AB E0                MOVX    A,@DPTR
+0011AC FB                MOV     R3,A
+0011AD 904E17            MOV     DPTR,#i
+0011B0 E0                MOVX    A,@DPTR
+0011B1 25E0              ADD     A,ACC
+0011B3 24E9              ADD     A,#LOW g_variable+02AH
+0011B5 F582              MOV     DPL,A
+0011B7 E4                CLR     A
+0011B8 344C              ADDC    A,#HIGH g_variable+02AH
+0011BA F583              MOV     DPH,A
+0011BC E0                MOVX    A,@DPTR
+0011BD FE                MOV     R6,A
+0011BE A3                INC     DPTR
+0011BF E0                MOVX    A,@DPTR
+0011C0 FF                MOV     R7,A
+0011C1 E4                CLR     A
+0011C2 FC                MOV     R4,A
+0011C3 FD                MOV     R5,A
+0011C4 EB                MOV     A,R3
+0011C5 2F                ADD     A,R7
+0011C6 FF                MOV     R7,A
+0011C7 EA                MOV     A,R2
+0011C8 3E                ADDC    A,R6
+0011C9 FE                MOV     R6,A
+0011CA ED                MOV     A,R5
+0011CB 39                ADDC    A,R1
+0011CC FD                MOV     R5,A
+0011CD EC                MOV     A,R4
+0011CE 38                ADDC    A,R0
+0011CF FC                MOV     R4,A
+0011D0 904E20            MOV     DPTR,#adc_gamepad_value2
+0011D3 12026F            LCALL   ?C?LSTXDATA
   138: 		adc_gamepad_value3 += g_variable.battery_gamepad_value3[i];
-0011C8 904E24            MOV     DPTR,#adc_gamepad_value3
-0011CB E0                MOVX    A,@DPTR
-0011CC F8                MOV     R0,A
-0011CD A3                INC     DPTR
-0011CE E0                MOVX    A,@DPTR
-0011CF F9                MOV     R1,A
-0011D0 A3                INC     DPTR
-0011D1 E0                MOVX    A,@DPTR
-0011D2 FA                MOV     R2,A
-0011D3 A3                INC     DPTR
-0011D4 E0                MOVX    A,@DPTR
-0011D5 FB                MOV     R3,A
-0011D6 904E17            MOV     DPTR,#i
+0011D6 904E24            MOV     DPTR,#adc_gamepad_value3
 0011D9 E0                MOVX    A,@DPTR
-0011DA 25E0              ADD     A,ACC
-0011DC 24EF              ADD     A,#LOW g_variable+030H
-0011DE F582              MOV     DPL,A
-0011E0 E4                CLR     A
-0011E1 344C              ADDC    A,#HIGH g_variable+030H
-0011E3 F583              MOV     DPH,A
-0011E5 E0                MOVX    A,@DPTR
-0011E6 FE                MOV     R6,A
-0011E7 A3                INC     DPTR
-0011E8 E0                MOVX    A,@DPTR
-0011E9 FF                MOV     R7,A
-0011EA E4                CLR     A
-0011EB FC                MOV     R4,A
-0011EC FD                MOV     R5,A
-0011ED EB                MOV     A,R3
-0011EE 2F                ADD     A,R7
-0011EF FF                MOV     R7,A
-0011F0 EA                MOV     A,R2
-0011F1 3E                ADDC    A,R6
-0011F2 FE                MOV     R6,A
-0011F3 ED                MOV     A,R5
-0011F4 39                ADDC    A,R1
-0011F5 FD                MOV     R5,A
-0011F6 EC                MOV     A,R4
-0011F7 38                ADDC    A,R0
-0011F8 FC                MOV     R4,A
-0011F9 904E24            MOV     DPTR,#adc_gamepad_value3
-0011FC 12026F            LCALL   ?C?LSTXDATA
+0011DA F8                MOV     R0,A
+0011DB A3                INC     DPTR
+0011DC E0                MOVX    A,@DPTR
+0011DD F9                MOV     R1,A
+0011DE A3                INC     DPTR
+0011DF E0                MOVX    A,@DPTR
+0011E0 FA                MOV     R2,A
+0011E1 A3                INC     DPTR
+0011E2 E0                MOVX    A,@DPTR
+0011E3 FB                MOV     R3,A
+0011E4 904E17            MOV     DPTR,#i
+0011E7 E0                MOVX    A,@DPTR
+0011E8 25E0              ADD     A,ACC
+0011EA 24EF              ADD     A,#LOW g_variable+030H
+0011EC F582              MOV     DPL,A
+0011EE E4                CLR     A
+0011EF 344C              ADDC    A,#HIGH g_variable+030H
+0011F1 F583              MOV     DPH,A
+0011F3 E0                MOVX    A,@DPTR
+0011F4 FE                MOV     R6,A
+0011F5 A3                INC     DPTR
+0011F6 E0                MOVX    A,@DPTR
+0011F7 FF                MOV     R7,A
+0011F8 E4                CLR     A
+0011F9 FC                MOV     R4,A
+0011FA FD                MOV     R5,A
+0011FB EB                MOV     A,R3
+0011FC 2F                ADD     A,R7
+0011FD FF                MOV     R7,A
+0011FE EA                MOV     A,R2
+0011FF 3E                ADDC    A,R6
+001200 FE                MOV     R6,A
+001201 ED                MOV     A,R5
+001202 39                ADDC    A,R1
+001203 FD                MOV     R5,A
+001204 EC                MOV     A,R4
+001205 38                ADDC    A,R0
+001206 FC                MOV     R4,A
+001207 904E24            MOV     DPTR,#adc_gamepad_value3
+00120A 12026F            LCALL   ?C?LSTXDATA
   139: 	}
-0011FF 904E17            MOV     DPTR,#i
-001202 E0                MOVX    A,@DPTR
-001203 04                INC     A
-001204 F0                MOVX    @DPTR,A
-001205 E0                MOVX    A,@DPTR
-001206 6403              XRL     A,#03H
-001208 6002              JZ      $ + 4H
-00120A 2123              AJMP    ?C0019?KB_PROCESS
-00120C         ?C0020?KB_PROCESS:
+00120D 904E17            MOV     DPTR,#i
+001210 E0                MOVX    A,@DPTR
+001211 04                INC     A
+001212 F0                MOVX    @DPTR,A
+001213 E0                MOVX    A,@DPTR
+001214 6403              XRL     A,#03H
+001216 6002              JZ      $ + 4H
+001218 2131              AJMP    ?C0019?KB_PROCESS
+00121A         ?C0020?KB_PROCESS:
   140: 	adc_gamepad_value0 = adc_gamepad_value0/BAT_ARRAY_LEN;
-00120C 904E18            MOV     DPTR,#adc_gamepad_value0
-00120F E0                MOVX    A,@DPTR
-001210 FC                MOV     R4,A
-001211 A3                INC     DPTR
-001212 E0                MOVX    A,@DPTR
-001213 FD                MOV     R5,A
-001214 A3                INC     DPTR
-001215 E0                MOVX    A,@DPTR
-001216 FE                MOV     R6,A
-001217 A3                INC     DPTR
-001218 E0                MOVX    A,@DPTR
-001219 FF                MOV     R7,A
-00121A E4                CLR     A
-00121B 7B03              MOV     R3,#03H
-00121D FA                MOV     R2,A
-00121E F9                MOV     R1,A
-00121F F8                MOV     R0,A
-001220 1201B9            LCALL   ?C?ULDIV
-001223 904E18            MOV     DPTR,#adc_gamepad_value0
-001226 12026F            LCALL   ?C?LSTXDATA
+00121A 904E18            MOV     DPTR,#adc_gamepad_value0
+00121D E0                MOVX    A,@DPTR
+00121E FC                MOV     R4,A
+00121F A3                INC     DPTR
+001220 E0                MOVX    A,@DPTR
+001221 FD                MOV     R5,A
+001222 A3                INC     DPTR
+001223 E0                MOVX    A,@DPTR
+001224 FE                MOV     R6,A
+001225 A3                INC     DPTR
+001226 E0                MOVX    A,@DPTR
+001227 FF                MOV     R7,A
+001228 E4                CLR     A
+001229 7B03              MOV     R3,#03H
+00122B FA                MOV     R2,A
+00122C F9                MOV     R1,A
+00122D F8                MOV     R0,A
+00122E 1201B9            LCALL   ?C?ULDIV
+001231 904E18            MOV     DPTR,#adc_gamepad_value0
+001234 12026F            LCALL   ?C?LSTXDATA
   141: 	adc_gamepad_value1 = adc_gamepad_value1/BAT_ARRAY_LEN;
-001229 904E1C            MOV     DPTR,#adc_gamepad_value1
-00122C E0                MOVX    A,@DPTR
-00122D FC                MOV     R4,A
-00122E A3                INC     DPTR
-00122F E0                MOVX    A,@DPTR
-001230 FD                MOV     R5,A
-001231 A3                INC     DPTR
-001232 E0                MOVX    A,@DPTR
-001233 FE                MOV     R6,A
-001234 A3                INC     DPTR
-001235 E0                MOVX    A,@DPTR
-001236 FF                MOV     R7,A
-001237 E4                CLR     A
-001238 7B03              MOV     R3,#03H
-00123A FA                MOV     R2,A
-00123B F9                MOV     R1,A
-00123C F8                MOV     R0,A
-00123D 1201B9            LCALL   ?C?ULDIV
-001240 904E1C            MOV     DPTR,#adc_gamepad_value1
-001243 12026F            LCALL   ?C?LSTXDATA
+001237 904E1C            MOV     DPTR,#adc_gamepad_value1
+00123A E0                MOVX    A,@DPTR
+00123B FC                MOV     R4,A
+00123C A3                INC     DPTR
+00123D E0                MOVX    A,@DPTR
+00123E FD                MOV     R5,A
+00123F A3                INC     DPTR
+001240 E0                MOVX    A,@DPTR
+001241 FE                MOV     R6,A
+001242 A3                INC     DPTR
+001243 E0                MOVX    A,@DPTR
+001244 FF                MOV     R7,A
+001245 E4                CLR     A
+001246 7B03              MOV     R3,#03H
+001248 FA                MOV     R2,A
+001249 F9                MOV     R1,A
+00124A F8                MOV     R0,A
+00124B 1201B9            LCALL   ?C?ULDIV
+00124E 904E1C            MOV     DPTR,#adc_gamepad_value1
+001251 12026F            LCALL   ?C?LSTXDATA
   142: 	adc_gamepad_value2 = adc_gamepad_value2/BAT_ARRAY_LEN;
-001246 904E20            MOV     DPTR,#adc_gamepad_value2
-001249 E0                MOVX    A,@DPTR
-00124A FC                MOV     R4,A
-00124B A3                INC     DPTR
-00124C E0                MOVX    A,@DPTR
-00124D FD                MOV     R5,A
-00124E A3                INC     DPTR
-00124F E0                MOVX    A,@DPTR
-001250 FE                MOV     R6,A
-001251 A3                INC     DPTR
-001252 E0                MOVX    A,@DPTR
-001253 FF                MOV     R7,A
-001254 E4                CLR     A
-001255 7B03              MOV     R3,#03H
-001257 FA                MOV     R2,A
-001258 F9                MOV     R1,A
-001259 F8                MOV     R0,A
-00125A 1201B9            LCALL   ?C?ULDIV
-00125D 904E20            MOV     DPTR,#adc_gamepad_value2
-001260 12026F            LCALL   ?C?LSTXDATA
+001254 904E20            MOV     DPTR,#adc_gamepad_value2
+001257 E0                MOVX    A,@DPTR
+001258 FC                MOV     R4,A
+001259 A3                INC     DPTR
+00125A E0                MOVX    A,@DPTR
+00125B FD                MOV     R5,A
+00125C A3                INC     DPTR
+00125D E0                MOVX    A,@DPTR
+00125E FE                MOV     R6,A
+00125F A3                INC     DPTR
+001260 E0                MOVX    A,@DPTR
+001261 FF                MOV     R7,A
+001262 E4                CLR     A
+001263 7B03              MOV     R3,#03H
+001265 FA                MOV     R2,A
+001266 F9                MOV     R1,A
+001267 F8                MOV     R0,A
+001268 1201B9            LCALL   ?C?ULDIV
+00126B 904E20            MOV     DPTR,#adc_gamepad_value2
+00126E 12026F            LCALL   ?C?LSTXDATA
   143: 	adc_gamepad_value3 = adc_gamepad_value3/BAT_ARRAY_LEN;
-001263 904E24            MOV     DPTR,#adc_gamepad_value3
-001266 E0                MOVX    A,@DPTR
-001267 FC                MOV     R4,A
-001268 A3                INC     DPTR
-001269 E0                MOVX    A,@DPTR
-00126A FD                MOV     R5,A
-00126B A3                INC     DPTR
-00126C E0                MOVX    A,@DPTR
-00126D FE                MOV     R6,A
-00126E A3                INC     DPTR
-00126F E0                MOVX    A,@DPTR
-001270 FF                MOV     R7,A
-001271 E4                CLR     A
-001272 7B03              MOV     R3,#03H
-001274 FA                MOV     R2,A
-001275 F9                MOV     R1,A
-001276 F8                MOV     R0,A
-001277 1201B9            LCALL   ?C?ULDIV
-00127A 904E24            MOV     DPTR,#adc_gamepad_value3
-00127D 12026F            LCALL   ?C?LSTXDATA
+001271 904E24            MOV     DPTR,#adc_gamepad_value3
+001274 E0                MOVX    A,@DPTR
+001275 FC                MOV     R4,A
+001276 A3                INC     DPTR
+001277 E0                MOVX    A,@DPTR
+001278 FD                MOV     R5,A
+001279 A3                INC     DPTR
+00127A E0                MOVX    A,@DPTR
+00127B FE                MOV     R6,A
+00127C A3                INC     DPTR
+00127D E0                MOVX    A,@DPTR
+00127E FF                MOV     R7,A
+00127F E4                CLR     A
+001280 7B03              MOV     R3,#03H
+001282 FA                MOV     R2,A
+001283 F9                MOV     R1,A
+001284 F8                MOV     R0,A
+001285 1201B9            LCALL   ?C?ULDIV
+001288 904E24            MOV     DPTR,#adc_gamepad_value3
+00128B 12026F            LCALL   ?C?LSTXDATA
   144: 
   145: 
   146: 	if(g_variable.system_mode == 0)
-001280 904CC1            MOV     DPTR,#g_variable+02H
-001283 E0                MOVX    A,@DPTR
-001284 6002              JZ      $ + 4H
-001286 C13D              AJMP    ?C0022?KB_PROCESS
+00128E 904CC1            MOV     DPTR,#g_variable+02H
+001291 E0                MOVX    A,@DPTR
+001292 6002              JZ      $ + 4H
+001294 C14B              AJMP    ?C0022?KB_PROCESS
   147: 	{
   148: 		if(adc_gamepad_value0 < 0x3ea0)
-001288 7FA0              MOV     R7,#0A0H
-00128A 7E3E              MOV     R6,#03EH
-00128C FD                MOV     R5,A
-00128D FC                MOV     R4,A
-00128E 904E18            MOV     DPTR,#adc_gamepad_value0
-001291 E0                MOVX    A,@DPTR
-001292 F8                MOV     R0,A
-001293 A3                INC     DPTR
-001294 E0                MOVX    A,@DPTR
-001295 F9                MOV     R1,A
-001296 A3                INC     DPTR
-001297 E0                MOVX    A,@DPTR
-001298 FA                MOV     R2,A
-001299 A3                INC     DPTR
-00129A E0                MOVX    A,@DPTR
-00129B FB                MOV     R3,A
-00129C C3                CLR     C
-00129D 12024B            LCALL   ?C?ULCMP
-0012A0 5008              JNC     ?C0023?KB_PROCESS
+001296 7FA0              MOV     R7,#0A0H
+001298 7E3E              MOV     R6,#03EH
+00129A FD                MOV     R5,A
+00129B FC                MOV     R4,A
+00129C 904E18            MOV     DPTR,#adc_gamepad_value0
+00129F E0                MOVX    A,@DPTR
+0012A0 F8                MOV     R0,A
+0012A1 A3                INC     DPTR
+0012A2 E0                MOVX    A,@DPTR
+0012A3 F9                MOV     R1,A
+0012A4 A3                INC     DPTR
+0012A5 E0                MOVX    A,@DPTR
+0012A6 FA                MOV     R2,A
+0012A7 A3                INC     DPTR
+0012A8 E0                MOVX    A,@DPTR
+0012A9 FB                MOV     R3,A
+0012AA C3                CLR     C
+0012AB 12024B            LCALL   ?C?ULCMP
+0012AE 5008              JNC     ?C0023?KB_PROCESS
   149: 			g_variable.gamepad_x = 0xff;
-0012A2 904D08            MOV     DPTR,#g_variable+049H
-0012A5 74FF              MOV     A,#0FFH
-0012A7 F0                MOVX    @DPTR,A
-0012A8 805C              SJMP    ?C0024?KB_PROCESS
-0012AA         ?C0023?KB_PROCESS:
+0012B0 904D08            MOV     DPTR,#g_variable+049H
+0012B3 74FF              MOV     A,#0FFH
+0012B5 F0                MOVX    @DPTR,A
+0012B6 805C              SJMP    ?C0024?KB_PROCESS
+0012B8         ?C0023?KB_PROCESS:
   150: 		else if(adc_gamepad_value0 > 0x7ba0)
-0012AA E4                CLR     A
-0012AB 7FA0              MOV     R7,#0A0H
-0012AD 7E7B              MOV     R6,#07BH
-0012AF FD                MOV     R5,A
-0012B0 FC                MOV     R4,A
-0012B1 904E18            MOV     DPTR,#adc_gamepad_value0
-0012B4 E0                MOVX    A,@DPTR
-0012B5 F8                MOV     R0,A
-0012B6 A3                INC     DPTR
-0012B7 E0                MOVX    A,@DPTR
-0012B8 F9                MOV     R1,A
-0012B9 A3                INC     DPTR
-0012BA E0                MOVX    A,@DPTR
-0012BB FA                MOV     R2,A
-0012BC A3                INC     DPTR
-0012BD E0                MOVX    A,@DPTR
-0012BE FB                MOV     R3,A
-0012BF D3                SETB    C
-0012C0 12024B            LCALL   ?C?ULCMP
-0012C3 4007              JC      ?C0025?KB_PROCESS
+0012B8 E4                CLR     A
+0012B9 7FA0              MOV     R7,#0A0H
+0012BB 7E7B              MOV     R6,#07BH
+0012BD FD                MOV     R5,A
+0012BE FC                MOV     R4,A
+0012BF 904E18            MOV     DPTR,#adc_gamepad_value0
+0012C2 E0                MOVX    A,@DPTR
+0012C3 F8                MOV     R0,A
+0012C4 A3                INC     DPTR
+0012C5 E0                MOVX    A,@DPTR
+0012C6 F9                MOV     R1,A
+0012C7 A3                INC     DPTR
+0012C8 E0                MOVX    A,@DPTR
+0012C9 FA                MOV     R2,A
+0012CA A3                INC     DPTR
+0012CB E0                MOVX    A,@DPTR
+0012CC FB                MOV     R3,A
+0012CD D3                SETB    C
+0012CE 12024B            LCALL   ?C?ULCMP
+0012D1 4007              JC      ?C0025?KB_PROCESS
   151: 			g_variable.gamepad_x = 0x00;
-0012C5 E4                CLR     A
-0012C6 904D08            MOV     DPTR,#g_variable+049H
-0012C9 F0                MOVX    @DPTR,A
-0012CA 803A              SJMP    ?C0024?KB_PROCESS
-0012CC         ?C0025?KB_PROCESS:
+0012D3 E4                CLR     A
+0012D4 904D08            MOV     DPTR,#g_variable+049H
+0012D7 F0                MOVX    @DPTR,A
+0012D8 803A              SJMP    ?C0024?KB_PROCESS
+0012DA         ?C0025?KB_PROCESS:
   152: 		else
   153: 		{
   154: 			g_variable.gamepad_x = 0 - (byte)((adc_gamepad_value0 - 0x3ea0)/62);
-0012CC 904E18            MOV     DPTR,#adc_gamepad_value0
-0012CF E0                MOVX    A,@DPTR
-0012D0 FC                MOV     R4,A
-0012D1 A3                INC     DPTR
-0012D2 E0                MOVX    A,@DPTR
-0012D3 FD                MOV     R5,A
-0012D4 A3                INC     DPTR
-0012D5 E0                MOVX    A,@DPTR
-0012D6 FE                MOV     R6,A
-0012D7 A3                INC     DPTR
-0012D8 E0                MOVX    A,@DPTR
-0012D9 2460              ADD     A,#060H
-0012DB FF                MOV     R7,A
-0012DC EE                MOV     A,R6
-0012DD 34C1              ADDC    A,#0C1H
-0012DF FE                MOV     R6,A
-0012E0 ED                MOV     A,R5
-0012E1 34FF              ADDC    A,#0FFH
-0012E3 FD                MOV     R5,A
-0012E4 EC                MOV     A,R4
-0012E5 34FF              ADDC    A,#0FFH
-0012E7 FC                MOV     R4,A
-0012E8 E4                CLR     A
-0012E9 7B3E              MOV     R3,#03EH
-0012EB FA                MOV     R2,A
-0012EC F9                MOV     R1,A
-0012ED F8                MOV     R0,A
-0012EE 1201B9            LCALL   ?C?ULDIV
-0012F1 EF                MOV     A,R7
-0012F2 F4                CPL     A
-0012F3 04                INC     A
-0012F4 904D08            MOV     DPTR,#g_variable+049H
-0012F7 F0                MOVX    @DPTR,A
+0012DA 904E18            MOV     DPTR,#adc_gamepad_value0
+0012DD E0                MOVX    A,@DPTR
+0012DE FC                MOV     R4,A
+0012DF A3                INC     DPTR
+0012E0 E0                MOVX    A,@DPTR
+0012E1 FD                MOV     R5,A
+0012E2 A3                INC     DPTR
+0012E3 E0                MOVX    A,@DPTR
+0012E4 FE                MOV     R6,A
+0012E5 A3                INC     DPTR
+0012E6 E0                MOVX    A,@DPTR
+0012E7 2460              ADD     A,#060H
+0012E9 FF                MOV     R7,A
+0012EA EE                MOV     A,R6
+0012EB 34C1              ADDC    A,#0C1H
+0012ED FE                MOV     R6,A
+0012EE ED                MOV     A,R5
+0012EF 34FF              ADDC    A,#0FFH
+0012F1 FD                MOV     R5,A
+0012F2 EC                MOV     A,R4
+0012F3 34FF              ADDC    A,#0FFH
+0012F5 FC                MOV     R4,A
+0012F6 E4                CLR     A
+0012F7 7B3E              MOV     R3,#03EH
+0012F9 FA                MOV     R2,A
+0012FA F9                MOV     R1,A
+0012FB F8                MOV     R0,A
+0012FC 1201B9            LCALL   ?C?ULDIV
+0012FF EF                MOV     A,R7
+001300 F4                CPL     A
+001301 04                INC     A
+001302 904D08            MOV     DPTR,#g_variable+049H
+001305 F0                MOVX    @DPTR,A
   155: 			if(g_variable.gamepad_x >= 0x70 && g_variable.gamepad_x <= 0x95)
-0012F8 C3                CLR     C
-0012F9 9470              SUBB    A,#070H
-0012FB 4009              JC      ?C0024?KB_PROCESS
-0012FD E0                MOVX    A,@DPTR
-0012FE D3                SETB    C
-0012FF 9495              SUBB    A,#095H
-001301 5003              JNC     ?C0024?KB_PROCESS
+001306 C3                CLR     C
+001307 9470              SUBB    A,#070H
+001309 4009              JC      ?C0024?KB_PROCESS
+00130B E0                MOVX    A,@DPTR
+00130C D3                SETB    C
+00130D 9495              SUBB    A,#095H
+00130F 5003              JNC     ?C0024?KB_PROCESS
   156: 				g_variable.gamepad_x = 0x80;
-001303 7480              MOV     A,#080H
-001305 F0                MOVX    @DPTR,A
+001311 7480              MOV     A,#080H
+001313 F0                MOVX    @DPTR,A
   157: 		}
-001306         ?C0024?KB_PROCESS:
+001314         ?C0024?KB_PROCESS:
   158: 
   159: 		if(adc_gamepad_value1 < 0x3ea0)
-001306 E4                CLR     A
-001307 7FA0              MOV     R7,#0A0H
-001309 7E3E              MOV     R6,#03EH
-00130B FD                MOV     R5,A
-00130C FC                MOV     R4,A
-00130D 904E1C            MOV     DPTR,#adc_gamepad_value1
-001310 E0                MOVX    A,@DPTR
-001311 F8                MOV     R0,A
-001312 A3                INC     DPTR
-001313 E0                MOVX    A,@DPTR
-001314 F9                MOV     R1,A
-001315 A3                INC     DPTR
-001316 E0                MOVX    A,@DPTR
-001317 FA                MOV     R2,A
-001318 A3                INC     DPTR
-001319 E0                MOVX    A,@DPTR
-00131A FB                MOV     R3,A
-00131B C3                CLR     C
-00131C 12024B            LCALL   ?C?ULCMP
-00131F 5007              JNC     ?C0028?KB_PROCESS
+001314 E4                CLR     A
+001315 7FA0              MOV     R7,#0A0H
+001317 7E3E              MOV     R6,#03EH
+001319 FD                MOV     R5,A
+00131A FC                MOV     R4,A
+00131B 904E1C            MOV     DPTR,#adc_gamepad_value1
+00131E E0                MOVX    A,@DPTR
+00131F F8                MOV     R0,A
+001320 A3                INC     DPTR
+001321 E0                MOVX    A,@DPTR
+001322 F9                MOV     R1,A
+001323 A3                INC     DPTR
+001324 E0                MOVX    A,@DPTR
+001325 FA                MOV     R2,A
+001326 A3                INC     DPTR
+001327 E0                MOVX    A,@DPTR
+001328 FB                MOV     R3,A
+001329 C3                CLR     C
+00132A 12024B            LCALL   ?C?ULCMP
+00132D 5007              JNC     ?C0028?KB_PROCESS
   160: 			g_variable.gamepad_y = 0x00;
-001321 E4                CLR     A
-001322 904D09            MOV     DPTR,#g_variable+04AH
-001325 F0                MOVX    @DPTR,A
-001326 61BE              AJMP    ?C0029?KB_PROCESS
-001328         ?C0028?KB_PROCESS:
+00132F E4                CLR     A
+001330 904D09            MOV     DPTR,#g_variable+04AH
+001333 F0                MOVX    @DPTR,A
+001334 61CC              AJMP    ?C0029?KB_PROCESS
+001336         ?C0028?KB_PROCESS:
   161: 		else if(adc_gamepad_value1 >= 0x5e60 && adc_gamepad_value1 <= 0x60a0)
-001328 E4                CLR     A
-001329 7F60              MOV     R7,#060H
-00132B 7E5E              MOV     R6,#05EH
-00132D FD                MOV     R5,A
-00132E FC                MOV     R4,A
-00132F 904E1C            MOV     DPTR,#adc_gamepad_value1
-001332 E0                MOVX    A,@DPTR
-001333 F8                MOV     R0,A
-001334 A3                INC     DPTR
-001335 E0                MOVX    A,@DPTR
-001336 F9                MOV     R1,A
-001337 A3                INC     DPTR
-001338 E0                MOVX    A,@DPTR
-001339 FA                MOV     R2,A
-00133A A3                INC     DPTR
-00133B E0                MOVX    A,@DPTR
-00133C FB                MOV     R3,A
-00133D C3                CLR     C
-00133E 12024B            LCALL   ?C?ULCMP
-001341 4020              JC      ?C0030?KB_PROCESS
-001343 E4                CLR     A
-001344 7FA0              MOV     R7,#0A0H
-001346 7E60              MOV     R6,#060H
-001348 FD                MOV     R5,A
-001349 FC                MOV     R4,A
-00134A 904E1C            MOV     DPTR,#adc_gamepad_value1
-00134D E0                MOVX    A,@DPTR
-00134E F8                MOV     R0,A
-00134F A3                INC     DPTR
-001350 E0                MOVX    A,@DPTR
-001351 A3                INC     DPTR
-001352 E0                MOVX    A,@DPTR
-001353 A3                INC     DPTR
-001354 E0                MOVX    A,@DPTR
-001355 D3                SETB    C
-001356 12024B            LCALL   ?C?ULCMP
-001359 5008              JNC     ?C0030?KB_PROCESS
+001336 E4                CLR     A
+001337 7F60              MOV     R7,#060H
+001339 7E5E              MOV     R6,#05EH
+00133B FD                MOV     R5,A
+00133C FC                MOV     R4,A
+00133D 904E1C            MOV     DPTR,#adc_gamepad_value1
+001340 E0                MOVX    A,@DPTR
+001341 F8                MOV     R0,A
+001342 A3                INC     DPTR
+001343 E0                MOVX    A,@DPTR
+001344 F9                MOV     R1,A
+001345 A3                INC     DPTR
+001346 E0                MOVX    A,@DPTR
+001347 FA                MOV     R2,A
+001348 A3                INC     DPTR
+001349 E0                MOVX    A,@DPTR
+00134A FB                MOV     R3,A
+00134B C3                CLR     C
+00134C 12024B            LCALL   ?C?ULCMP
+00134F 4020              JC      ?C0030?KB_PROCESS
+001351 E4                CLR     A
+001352 7FA0              MOV     R7,#0A0H
+001354 7E60              MOV     R6,#060H
+001356 FD                MOV     R5,A
+001357 FC                MOV     R4,A
+001358 904E1C            MOV     DPTR,#adc_gamepad_value1
+00135B E0                MOVX    A,@DPTR
+00135C F8                MOV     R0,A
+00135D A3                INC     DPTR
+00135E E0                MOVX    A,@DPTR
+00135F A3                INC     DPTR
+001360 E0                MOVX    A,@DPTR
+001361 A3                INC     DPTR
+001362 E0                MOVX    A,@DPTR
+001363 D3                SETB    C
+001364 12024B            LCALL   ?C?ULCMP
+001367 5008              JNC     ?C0030?KB_PROCESS
   162: 			g_variable.gamepad_y = 0x80;
-00135B 904D09            MOV     DPTR,#g_variable+04AH
-00135E 7480              MOV     A,#080H
-001360 F0                MOVX    @DPTR,A
-001361 805B              SJMP    ?C0029?KB_PROCESS
-001363         ?C0030?KB_PROCESS:
+001369 904D09            MOV     DPTR,#g_variable+04AH
+00136C 7480              MOV     A,#080H
+00136E F0                MOVX    @DPTR,A
+00136F 805B              SJMP    ?C0029?KB_PROCESS
+001371         ?C0030?KB_PROCESS:
   163: 		else if(adc_gamepad_value1 > 0x7ba0)
-001363 E4                CLR     A
-001364 7FA0              MOV     R7,#0A0H
-001366 7E7B              MOV     R6,#07BH
-001368 FD                MOV     R5,A
-001369 FC                MOV     R4,A
-00136A 904E1C            MOV     DPTR,#adc_gamepad_value1
-00136D E0                MOVX    A,@DPTR
-00136E F8                MOV     R0,A
-00136F A3                INC     DPTR
-001370 E0                MOVX    A,@DPTR
-001371 F9                MOV     R1,A
-001372 A3                INC     DPTR
-001373 E0                MOVX    A,@DPTR
-001374 FA                MOV     R2,A
-001375 A3                INC     DPTR
-001376 E0                MOVX    A,@DPTR
-001377 FB                MOV     R3,A
-001378 D3                SETB    C
-001379 12024B            LCALL   ?C?ULCMP
-00137C 4008              JC      ?C0032?KB_PROCESS
+001371 E4                CLR     A
+001372 7FA0              MOV     R7,#0A0H
+001374 7E7B              MOV     R6,#07BH
+001376 FD                MOV     R5,A
+001377 FC                MOV     R4,A
+001378 904E1C            MOV     DPTR,#adc_gamepad_value1
+00137B E0                MOVX    A,@DPTR
+00137C F8                MOV     R0,A
+00137D A3                INC     DPTR
+00137E E0                MOVX    A,@DPTR
+00137F F9                MOV     R1,A
+001380 A3                INC     DPTR
+001381 E0                MOVX    A,@DPTR
+001382 FA                MOV     R2,A
+001383 A3                INC     DPTR
+001384 E0                MOVX    A,@DPTR
+001385 FB                MOV     R3,A
+001386 D3                SETB    C
+001387 12024B            LCALL   ?C?ULCMP
+00138A 4008              JC      ?C0032?KB_PROCESS
   164: 			g_variable.gamepad_y = 0xff;
-00137E 904D09            MOV     DPTR,#g_variable+04AH
-001381 74FF              MOV     A,#0FFH
-001383 F0                MOVX    @DPTR,A
-001384 8038              SJMP    ?C0029?KB_PROCESS
-001386         ?C0032?KB_PROCESS:
+00138C 904D09            MOV     DPTR,#g_variable+04AH
+00138F 74FF              MOV     A,#0FFH
+001391 F0                MOVX    @DPTR,A
+001392 8038              SJMP    ?C0029?KB_PROCESS
+001394         ?C0032?KB_PROCESS:
   165: 		else
   166: 		{
   167: 			g_variable.gamepad_y = (byte)((adc_gamepad_value1 - 0x3ea0)/62);
-001386 904E1C            MOV     DPTR,#adc_gamepad_value1
-001389 E0                MOVX    A,@DPTR
-00138A FC                MOV     R4,A
-00138B A3                INC     DPTR
-00138C E0                MOVX    A,@DPTR
-00138D FD                MOV     R5,A
-00138E A3                INC     DPTR
-00138F E0                MOVX    A,@DPTR
-001390 FE                MOV     R6,A
-001391 A3                INC     DPTR
-001392 E0                MOVX    A,@DPTR
-001393 2460              ADD     A,#060H
-001395 FF                MOV     R7,A
-001396 EE                MOV     A,R6
-001397 34C1              ADDC    A,#0C1H
-001399 FE                MOV     R6,A
-00139A ED                MOV     A,R5
-00139B 34FF              ADDC    A,#0FFH
-00139D FD                MOV     R5,A
-00139E EC                MOV     A,R4
-00139F 34FF              ADDC    A,#0FFH
-0013A1 FC                MOV     R4,A
-0013A2 E4                CLR     A
-0013A3 7B3E              MOV     R3,#03EH
-0013A5 FA                MOV     R2,A
-0013A6 F9                MOV     R1,A
-0013A7 F8                MOV     R0,A
-0013A8 1201B9            LCALL   ?C?ULDIV
-0013AB 904D09            MOV     DPTR,#g_variable+04AH
-0013AE EF                MOV     A,R7
-0013AF F0                MOVX    @DPTR,A
+001394 904E1C            MOV     DPTR,#adc_gamepad_value1
+001397 E0                MOVX    A,@DPTR
+001398 FC                MOV     R4,A
+001399 A3                INC     DPTR
+00139A E0                MOVX    A,@DPTR
+00139B FD                MOV     R5,A
+00139C A3                INC     DPTR
+00139D E0                MOVX    A,@DPTR
+00139E FE                MOV     R6,A
+00139F A3                INC     DPTR
+0013A0 E0                MOVX    A,@DPTR
+0013A1 2460              ADD     A,#060H
+0013A3 FF                MOV     R7,A
+0013A4 EE                MOV     A,R6
+0013A5 34C1              ADDC    A,#0C1H
+0013A7 FE                MOV     R6,A
+0013A8 ED                MOV     A,R5
+0013A9 34FF              ADDC    A,#0FFH
+0013AB FD                MOV     R5,A
+0013AC EC                MOV     A,R4
+0013AD 34FF              ADDC    A,#0FFH
+0013AF FC                MOV     R4,A
+0013B0 E4                CLR     A
+0013B1 7B3E              MOV     R3,#03EH
+0013B3 FA                MOV     R2,A
+0013B4 F9                MOV     R1,A
+0013B5 F8                MOV     R0,A
+0013B6 1201B9            LCALL   ?C?ULDIV
+0013B9 904D09            MOV     DPTR,#g_variable+04AH
+0013BC EF                MOV     A,R7
+0013BD F0                MOVX    @DPTR,A
   168: 			if(g_variable.gamepad_y >= 0x70 && g_variable.gamepad_y <= 0x95)
-0013B0 C3                CLR     C
-0013B1 9470              SUBB    A,#070H
-0013B3 4009              JC      ?C0029?KB_PROCESS
-0013B5 E0                MOVX    A,@DPTR
-0013B6 D3                SETB    C
-0013B7 9495              SUBB    A,#095H
-0013B9 5003              JNC     ?C0029?KB_PROCESS
+0013BE C3                CLR     C
+0013BF 9470              SUBB    A,#070H
+0013C1 4009              JC      ?C0029?KB_PROCESS
+0013C3 E0                MOVX    A,@DPTR
+0013C4 D3                SETB    C
+0013C5 9495              SUBB    A,#095H
+0013C7 5003              JNC     ?C0029?KB_PROCESS
   169: 				g_variable.gamepad_y = 0x80;
-0013BB 7480              MOV     A,#080H
-0013BD F0                MOVX    @DPTR,A
+0013C9 7480              MOV     A,#080H
+0013CB F0                MOVX    @DPTR,A
   170: 		}
-0013BE         ?C0029?KB_PROCESS:
+0013CC         ?C0029?KB_PROCESS:
   171: 
   172: 		if(adc_gamepad_value2 < 0x3ea0)
-0013BE E4                CLR     A
-0013BF 7FA0              MOV     R7,#0A0H
-0013C1 7E3E              MOV     R6,#03EH
-0013C3 FD                MOV     R5,A
-0013C4 FC                MOV     R4,A
-0013C5 904E20            MOV     DPTR,#adc_gamepad_value2
-0013C8 E0                MOVX    A,@DPTR
-0013C9 F8                MOV     R0,A
-0013CA A3                INC     DPTR
-0013CB E0                MOVX    A,@DPTR
-0013CC F9                MOV     R1,A
-0013CD A3                INC     DPTR
-0013CE E0                MOVX    A,@DPTR
-0013CF FA                MOV     R2,A
-0013D0 A3                INC     DPTR
-0013D1 E0                MOVX    A,@DPTR
-0013D2 FB                MOV     R3,A
-0013D3 C3                CLR     C
-0013D4 12024B            LCALL   ?C?ULCMP
-0013D7 5007              JNC     ?C0035?KB_PROCESS
+0013CC E4                CLR     A
+0013CD 7FA0              MOV     R7,#0A0H
+0013CF 7E3E              MOV     R6,#03EH
+0013D1 FD                MOV     R5,A
+0013D2 FC                MOV     R4,A
+0013D3 904E20            MOV     DPTR,#adc_gamepad_value2
+0013D6 E0                MOVX    A,@DPTR
+0013D7 F8                MOV     R0,A
+0013D8 A3                INC     DPTR
+0013D9 E0                MOVX    A,@DPTR
+0013DA F9                MOV     R1,A
+0013DB A3                INC     DPTR
+0013DC E0                MOVX    A,@DPTR
+0013DD FA                MOV     R2,A
+0013DE A3                INC     DPTR
+0013DF E0                MOVX    A,@DPTR
+0013E0 FB                MOV     R3,A
+0013E1 C3                CLR     C
+0013E2 12024B            LCALL   ?C?ULCMP
+0013E5 5007              JNC     ?C0035?KB_PROCESS
   173: 			g_variable.gamepad_z = 0x00;
-0013D9 E4                CLR     A
-0013DA 904D06            MOV     DPTR,#g_variable+047H
-0013DD F0                MOVX    @DPTR,A
-0013DE 8176              AJMP    ?C0036?KB_PROCESS
-0013E0         ?C0035?KB_PROCESS:
+0013E7 E4                CLR     A
+0013E8 904D06            MOV     DPTR,#g_variable+047H
+0013EB F0                MOVX    @DPTR,A
+0013EC 8184              AJMP    ?C0036?KB_PROCESS
+0013EE         ?C0035?KB_PROCESS:
   174: 		else if(adc_gamepad_value2 >= 0x5e60 && adc_gamepad_value2 <= 0x60a0)
-0013E0 E4                CLR     A
-0013E1 7F60              MOV     R7,#060H
-0013E3 7E5E              MOV     R6,#05EH
-0013E5 FD                MOV     R5,A
-0013E6 FC                MOV     R4,A
-0013E7 904E20            MOV     DPTR,#adc_gamepad_value2
-0013EA E0                MOVX    A,@DPTR
-0013EB F8                MOV     R0,A
-0013EC A3                INC     DPTR
-0013ED E0                MOVX    A,@DPTR
-0013EE F9                MOV     R1,A
-0013EF A3                INC     DPTR
-0013F0 E0                MOVX    A,@DPTR
-0013F1 FA                MOV     R2,A
-0013F2 A3                INC     DPTR
-0013F3 E0                MOVX    A,@DPTR
-0013F4 FB                MOV     R3,A
-0013F5 C3                CLR     C
-0013F6 12024B            LCALL   ?C?ULCMP
-0013F9 4020              JC      ?C0037?KB_PROCESS
-0013FB E4                CLR     A
-0013FC 7FA0              MOV     R7,#0A0H
-0013FE 7E60              MOV     R6,#060H
-001400 FD                MOV     R5,A
-001401 FC                MOV     R4,A
-001402 904E20            MOV     DPTR,#adc_gamepad_value2
-001405 E0                MOVX    A,@DPTR
-001406 F8                MOV     R0,A
-001407 A3                INC     DPTR
-001408 E0                MOVX    A,@DPTR
-001409 A3                INC     DPTR
-00140A E0                MOVX    A,@DPTR
-00140B A3                INC     DPTR
-00140C E0                MOVX    A,@DPTR
-00140D D3                SETB    C
-00140E 12024B            LCALL   ?C?ULCMP
-001411 5008              JNC     ?C0037?KB_PROCESS
+0013EE E4                CLR     A
+0013EF 7F60              MOV     R7,#060H
+0013F1 7E5E              MOV     R6,#05EH
+0013F3 FD                MOV     R5,A
+0013F4 FC                MOV     R4,A
+0013F5 904E20            MOV     DPTR,#adc_gamepad_value2
+0013F8 E0                MOVX    A,@DPTR
+0013F9 F8                MOV     R0,A
+0013FA A3                INC     DPTR
+0013FB E0                MOVX    A,@DPTR
+0013FC F9                MOV     R1,A
+0013FD A3                INC     DPTR
+0013FE E0                MOVX    A,@DPTR
+0013FF FA                MOV     R2,A
+001400 A3                INC     DPTR
+001401 E0                MOVX    A,@DPTR
+001402 FB                MOV     R3,A
+001403 C3                CLR     C
+001404 12024B            LCALL   ?C?ULCMP
+001407 4020              JC      ?C0037?KB_PROCESS
+001409 E4                CLR     A
+00140A 7FA0              MOV     R7,#0A0H
+00140C 7E60              MOV     R6,#060H
+00140E FD                MOV     R5,A
+00140F FC                MOV     R4,A
+001410 904E20            MOV     DPTR,#adc_gamepad_value2
+001413 E0                MOVX    A,@DPTR
+001414 F8                MOV     R0,A
+001415 A3                INC     DPTR
+001416 E0                MOVX    A,@DPTR
+001417 A3                INC     DPTR
+001418 E0                MOVX    A,@DPTR
+001419 A3                INC     DPTR
+00141A E0                MOVX    A,@DPTR
+00141B D3                SETB    C
+00141C 12024B            LCALL   ?C?ULCMP
+00141F 5008              JNC     ?C0037?KB_PROCESS
   175: 			g_variable.gamepad_z = 0x80;	
-001413 904D06            MOV     DPTR,#g_variable+047H
-001416 7480              MOV     A,#080H
-001418 F0                MOVX    @DPTR,A
-001419 805B              SJMP    ?C0036?KB_PROCESS
-00141B         ?C0037?KB_PROCESS:
+001421 904D06            MOV     DPTR,#g_variable+047H
+001424 7480              MOV     A,#080H
+001426 F0                MOVX    @DPTR,A
+001427 805B              SJMP    ?C0036?KB_PROCESS
+001429         ?C0037?KB_PROCESS:
   176: 		else if(adc_gamepad_value2 > 0x7ba0)
-00141B E4                CLR     A
-00141C 7FA0              MOV     R7,#0A0H
-00141E 7E7B              MOV     R6,#07BH
-001420 FD                MOV     R5,A
-001421 FC                MOV     R4,A
-001422 904E20            MOV     DPTR,#adc_gamepad_value2
-001425 E0                MOVX    A,@DPTR
-001426 F8                MOV     R0,A
-001427 A3                INC     DPTR
-001428 E0                MOVX    A,@DPTR
-001429 F9                MOV     R1,A
-00142A A3                INC     DPTR
-00142B E0                MOVX    A,@DPTR
-00142C FA                MOV     R2,A
-00142D A3                INC     DPTR
-00142E E0                MOVX    A,@DPTR
-00142F FB                MOV     R3,A
-001430 D3                SETB    C
-001431 12024B            LCALL   ?C?ULCMP
-001434 4008              JC      ?C0039?KB_PROCESS
+001429 E4                CLR     A
+00142A 7FA0              MOV     R7,#0A0H
+00142C 7E7B              MOV     R6,#07BH
+00142E FD                MOV     R5,A
+00142F FC                MOV     R4,A
+001430 904E20            MOV     DPTR,#adc_gamepad_value2
+001433 E0                MOVX    A,@DPTR
+001434 F8                MOV     R0,A
+001435 A3                INC     DPTR
+001436 E0                MOVX    A,@DPTR
+001437 F9                MOV     R1,A
+001438 A3                INC     DPTR
+001439 E0                MOVX    A,@DPTR
+00143A FA                MOV     R2,A
+00143B A3                INC     DPTR
+00143C E0                MOVX    A,@DPTR
+00143D FB                MOV     R3,A
+00143E D3                SETB    C
+00143F 12024B            LCALL   ?C?ULCMP
+001442 4008              JC      ?C0039?KB_PROCESS
   177: 			g_variable.gamepad_z = 0xff;
-001436 904D06            MOV     DPTR,#g_variable+047H
-001439 74FF              MOV     A,#0FFH
-00143B F0                MOVX    @DPTR,A
-00143C 8038              SJMP    ?C0036?KB_PROCESS
-00143E         ?C0039?KB_PROCESS:
+001444 904D06            MOV     DPTR,#g_variable+047H
+001447 74FF              MOV     A,#0FFH
+001449 F0                MOVX    @DPTR,A
+00144A 8038              SJMP    ?C0036?KB_PROCESS
+00144C         ?C0039?KB_PROCESS:
   178: 		else
   179: 		{
   180: 			g_variable.gamepad_z = (byte)((adc_gamepad_value2 - 0x3ea0)/62);
-00143E 904E20            MOV     DPTR,#adc_gamepad_value2
-001441 E0                MOVX    A,@DPTR
-001442 FC                MOV     R4,A
-001443 A3                INC     DPTR
-001444 E0                MOVX    A,@DPTR
-001445 FD                MOV     R5,A
-001446 A3                INC     DPTR
-001447 E0                MOVX    A,@DPTR
-001448 FE                MOV     R6,A
-001449 A3                INC     DPTR
-00144A E0                MOVX    A,@DPTR
-00144B 2460              ADD     A,#060H
-00144D FF                MOV     R7,A
-00144E EE                MOV     A,R6
-00144F 34C1              ADDC    A,#0C1H
-001451 FE                MOV     R6,A
-001452 ED                MOV     A,R5
-001453 34FF              ADDC    A,#0FFH
-001455 FD                MOV     R5,A
-001456 EC                MOV     A,R4
-001457 34FF              ADDC    A,#0FFH
-001459 FC                MOV     R4,A
-00145A E4                CLR     A
-00145B 7B3E              MOV     R3,#03EH
-00145D FA                MOV     R2,A
-00145E F9                MOV     R1,A
-00145F F8                MOV     R0,A
-001460 1201B9            LCALL   ?C?ULDIV
-001463 904D06            MOV     DPTR,#g_variable+047H
-001466 EF                MOV     A,R7
-001467 F0                MOVX    @DPTR,A
+00144C 904E20            MOV     DPTR,#adc_gamepad_value2
+00144F E0                MOVX    A,@DPTR
+001450 FC                MOV     R4,A
+001451 A3                INC     DPTR
+001452 E0                MOVX    A,@DPTR
+001453 FD                MOV     R5,A
+001454 A3                INC     DPTR
+001455 E0                MOVX    A,@DPTR
+001456 FE                MOV     R6,A
+001457 A3                INC     DPTR
+001458 E0                MOVX    A,@DPTR
+001459 2460              ADD     A,#060H
+00145B FF                MOV     R7,A
+00145C EE                MOV     A,R6
+00145D 34C1              ADDC    A,#0C1H
+00145F FE                MOV     R6,A
+001460 ED                MOV     A,R5
+001461 34FF              ADDC    A,#0FFH
+001463 FD                MOV     R5,A
+001464 EC                MOV     A,R4
+001465 34FF              ADDC    A,#0FFH
+001467 FC                MOV     R4,A
+001468 E4                CLR     A
+001469 7B3E              MOV     R3,#03EH
+00146B FA                MOV     R2,A
+00146C F9                MOV     R1,A
+00146D F8                MOV     R0,A
+00146E 1201B9            LCALL   ?C?ULDIV
+001471 904D06            MOV     DPTR,#g_variable+047H
+001474 EF                MOV     A,R7
+001475 F0                MOVX    @DPTR,A
   181: 			if(g_variable.gamepad_z >= 0x70 && g_variable.gamepad_z <= 0x95)
-001468 C3                CLR     C
-001469 9470              SUBB    A,#070H
-00146B 4009              JC      ?C0036?KB_PROCESS
-00146D E0                MOVX    A,@DPTR
-00146E D3                SETB    C
-00146F 9495              SUBB    A,#095H
-001471 5003              JNC     ?C0036?KB_PROCESS
+001476 C3                CLR     C
+001477 9470              SUBB    A,#070H
+001479 4009              JC      ?C0036?KB_PROCESS
+00147B E0                MOVX    A,@DPTR
+00147C D3                SETB    C
+00147D 9495              SUBB    A,#095H
+00147F 5003              JNC     ?C0036?KB_PROCESS
   182: 				g_variable.gamepad_z = 0x80;
-001473 7480              MOV     A,#080H
-001475 F0                MOVX    @DPTR,A
+001481 7480              MOV     A,#080H
+001483 F0                MOVX    @DPTR,A
   183: 		}
-001476         ?C0036?KB_PROCESS:
+001484         ?C0036?KB_PROCESS:
   184: 
   185: 		if(adc_gamepad_value3 < 0x3ea0)
-001476 E4                CLR     A
-001477 7FA0              MOV     R7,#0A0H
-001479 7E3E              MOV     R6,#03EH
-00147B FD                MOV     R5,A
-00147C FC                MOV     R4,A
-00147D 904E24            MOV     DPTR,#adc_gamepad_value3
-001480 E0                MOVX    A,@DPTR
-001481 F8                MOV     R0,A
-001482 A3                INC     DPTR
-001483 E0                MOVX    A,@DPTR
-001484 F9                MOV     R1,A
-001485 A3                INC     DPTR
-001486 E0                MOVX    A,@DPTR
-001487 FA                MOV     R2,A
-001488 A3                INC     DPTR
-001489 E0                MOVX    A,@DPTR
-00148A FB                MOV     R3,A
-00148B C3                CLR     C
-00148C 12024B            LCALL   ?C?ULCMP
-00148F 5007              JNC     ?C0042?KB_PROCESS
+001484 E4                CLR     A
+001485 7FA0              MOV     R7,#0A0H
+001487 7E3E              MOV     R6,#03EH
+001489 FD                MOV     R5,A
+00148A FC                MOV     R4,A
+00148B 904E24            MOV     DPTR,#adc_gamepad_value3
+00148E E0                MOVX    A,@DPTR
+00148F F8                MOV     R0,A
+001490 A3                INC     DPTR
+001491 E0                MOVX    A,@DPTR
+001492 F9                MOV     R1,A
+001493 A3                INC     DPTR
+001494 E0                MOVX    A,@DPTR
+001495 FA                MOV     R2,A
+001496 A3                INC     DPTR
+001497 E0                MOVX    A,@DPTR
+001498 FB                MOV     R3,A
+001499 C3                CLR     C
+00149A 12024B            LCALL   ?C?ULCMP
+00149D 5007              JNC     ?C0042?KB_PROCESS
   186: 			g_variable.gamepad_rz = 0x00;
-001491 E4                CLR     A
-001492 904D07            MOV     DPTR,#g_variable+048H
-001495 F0                MOVX    @DPTR,A
-001496 A12E              AJMP    ?C0043?KB_PROCESS
-001498         ?C0042?KB_PROCESS:
+00149F E4                CLR     A
+0014A0 904D07            MOV     DPTR,#g_variable+048H
+0014A3 F0                MOVX    @DPTR,A
+0014A4 A13C              AJMP    ?C0043?KB_PROCESS
+0014A6         ?C0042?KB_PROCESS:
   187: 		else if(adc_gamepad_value3 >= 0x5e60 && adc_gamepad_value3 <= 0x60a0)
-001498 E4                CLR     A
-001499 7F60              MOV     R7,#060H
-00149B 7E5E              MOV     R6,#05EH
-00149D FD                MOV     R5,A
-00149E FC                MOV     R4,A
-00149F 904E24            MOV     DPTR,#adc_gamepad_value3
-0014A2 E0                MOVX    A,@DPTR
-0014A3 F8                MOV     R0,A
-0014A4 A3                INC     DPTR
-0014A5 E0                MOVX    A,@DPTR
-0014A6 F9                MOV     R1,A
-0014A7 A3                INC     DPTR
-0014A8 E0                MOVX    A,@DPTR
-0014A9 FA                MOV     R2,A
-0014AA A3                INC     DPTR
-0014AB E0                MOVX    A,@DPTR
-0014AC FB                MOV     R3,A
-0014AD C3                CLR     C
-0014AE 12024B            LCALL   ?C?ULCMP
-0014B1 4020              JC      ?C0044?KB_PROCESS
-0014B3 E4                CLR     A
-0014B4 7FA0              MOV     R7,#0A0H
-0014B6 7E60              MOV     R6,#060H
-0014B8 FD                MOV     R5,A
-0014B9 FC                MOV     R4,A
-0014BA 904E24            MOV     DPTR,#adc_gamepad_value3
-0014BD E0                MOVX    A,@DPTR
-0014BE F8                MOV     R0,A
-0014BF A3                INC     DPTR
-0014C0 E0                MOVX    A,@DPTR
-0014C1 A3                INC     DPTR
-0014C2 E0                MOVX    A,@DPTR
-0014C3 A3                INC     DPTR
-0014C4 E0                MOVX    A,@DPTR
-0014C5 D3                SETB    C
-0014C6 12024B            LCALL   ?C?ULCMP
-0014C9 5008              JNC     ?C0044?KB_PROCESS
+0014A6 E4                CLR     A
+0014A7 7F60              MOV     R7,#060H
+0014A9 7E5E              MOV     R6,#05EH
+0014AB FD                MOV     R5,A
+0014AC FC                MOV     R4,A
+0014AD 904E24            MOV     DPTR,#adc_gamepad_value3
+0014B0 E0                MOVX    A,@DPTR
+0014B1 F8                MOV     R0,A
+0014B2 A3                INC     DPTR
+0014B3 E0                MOVX    A,@DPTR
+0014B4 F9                MOV     R1,A
+0014B5 A3                INC     DPTR
+0014B6 E0                MOVX    A,@DPTR
+0014B7 FA                MOV     R2,A
+0014B8 A3                INC     DPTR
+0014B9 E0                MOVX    A,@DPTR
+0014BA FB                MOV     R3,A
+0014BB C3                CLR     C
+0014BC 12024B            LCALL   ?C?ULCMP
+0014BF 4020              JC      ?C0044?KB_PROCESS
+0014C1 E4                CLR     A
+0014C2 7FA0              MOV     R7,#0A0H
+0014C4 7E60              MOV     R6,#060H
+0014C6 FD                MOV     R5,A
+0014C7 FC                MOV     R4,A
+0014C8 904E24            MOV     DPTR,#adc_gamepad_value3
+0014CB E0                MOVX    A,@DPTR
+0014CC F8                MOV     R0,A
+0014CD A3                INC     DPTR
+0014CE E0                MOVX    A,@DPTR
+0014CF A3                INC     DPTR
+0014D0 E0                MOVX    A,@DPTR
+0014D1 A3                INC     DPTR
+0014D2 E0                MOVX    A,@DPTR
+0014D3 D3                SETB    C
+0014D4 12024B            LCALL   ?C?ULCMP
+0014D7 5008              JNC     ?C0044?KB_PROCESS
   188: 			g_variable.gamepad_rz = 0x80;	
-0014CB 904D07            MOV     DPTR,#g_variable+048H
-0014CE 7480              MOV     A,#080H
-0014D0 F0                MOVX    @DPTR,A
-0014D1 805B              SJMP    ?C0043?KB_PROCESS
-0014D3         ?C0044?KB_PROCESS:
+0014D9 904D07            MOV     DPTR,#g_variable+048H
+0014DC 7480              MOV     A,#080H
+0014DE F0                MOVX    @DPTR,A
+0014DF 805B              SJMP    ?C0043?KB_PROCESS
+0014E1         ?C0044?KB_PROCESS:
   189: 		else if(adc_gamepad_value3 > 0x7ba0)
-0014D3 E4                CLR     A
-0014D4 7FA0              MOV     R7,#0A0H
-0014D6 7E7B              MOV     R6,#07BH
-0014D8 FD                MOV     R5,A
-0014D9 FC                MOV     R4,A
-0014DA 904E24            MOV     DPTR,#adc_gamepad_value3
-0014DD E0                MOVX    A,@DPTR
-0014DE F8                MOV     R0,A
-0014DF A3                INC     DPTR
-0014E0 E0                MOVX    A,@DPTR
-0014E1 F9                MOV     R1,A
-0014E2 A3                INC     DPTR
-0014E3 E0                MOVX    A,@DPTR
-0014E4 FA                MOV     R2,A
-0014E5 A3                INC     DPTR
-0014E6 E0                MOVX    A,@DPTR
-0014E7 FB                MOV     R3,A
-0014E8 D3                SETB    C
-0014E9 12024B            LCALL   ?C?ULCMP
-0014EC 4008              JC      ?C0046?KB_PROCESS
+0014E1 E4                CLR     A
+0014E2 7FA0              MOV     R7,#0A0H
+0014E4 7E7B              MOV     R6,#07BH
+0014E6 FD                MOV     R5,A
+0014E7 FC                MOV     R4,A
+0014E8 904E24            MOV     DPTR,#adc_gamepad_value3
+0014EB E0                MOVX    A,@DPTR
+0014EC F8                MOV     R0,A
+0014ED A3                INC     DPTR
+0014EE E0                MOVX    A,@DPTR
+0014EF F9                MOV     R1,A
+0014F0 A3                INC     DPTR
+0014F1 E0                MOVX    A,@DPTR
+0014F2 FA                MOV     R2,A
+0014F3 A3                INC     DPTR
+0014F4 E0                MOVX    A,@DPTR
+0014F5 FB                MOV     R3,A
+0014F6 D3                SETB    C
+0014F7 12024B            LCALL   ?C?ULCMP
+0014FA 4008              JC      ?C0046?KB_PROCESS
   190: 			g_variable.gamepad_rz = 0xff;
-0014EE 904D07            MOV     DPTR,#g_variable+048H
-0014F1 74FF              MOV     A,#0FFH
-0014F3 F0                MOVX    @DPTR,A
-0014F4 8038              SJMP    ?C0043?KB_PROCESS
-0014F6         ?C0046?KB_PROCESS:
+0014FC 904D07            MOV     DPTR,#g_variable+048H
+0014FF 74FF              MOV     A,#0FFH
+001501 F0                MOVX    @DPTR,A
+001502 8038              SJMP    ?C0043?KB_PROCESS
+001504         ?C0046?KB_PROCESS:
   191: 		else
   192: 		{
   193: 			g_variable.gamepad_rz = (byte)((adc_gamepad_value3 - 0x3ea0)/62);
-0014F6 904E24            MOV     DPTR,#adc_gamepad_value3
-0014F9 E0                MOVX    A,@DPTR
-0014FA FC                MOV     R4,A
-0014FB A3                INC     DPTR
-0014FC E0                MOVX    A,@DPTR
-0014FD FD                MOV     R5,A
-0014FE A3                INC     DPTR
-0014FF E0                MOVX    A,@DPTR
-001500 FE                MOV     R6,A
-001501 A3                INC     DPTR
-001502 E0                MOVX    A,@DPTR
-001503 2460              ADD     A,#060H
-001505 FF                MOV     R7,A
-001506 EE                MOV     A,R6
-001507 34C1              ADDC    A,#0C1H
-001509 FE                MOV     R6,A
-00150A ED                MOV     A,R5
-00150B 34FF              ADDC    A,#0FFH
-00150D FD                MOV     R5,A
-00150E EC                MOV     A,R4
-00150F 34FF              ADDC    A,#0FFH
-001511 FC                MOV     R4,A
-001512 E4                CLR     A
-001513 7B3E              MOV     R3,#03EH
-001515 FA                MOV     R2,A
-001516 F9                MOV     R1,A
-001517 F8                MOV     R0,A
-001518 1201B9            LCALL   ?C?ULDIV
-00151B 904D07            MOV     DPTR,#g_variable+048H
-00151E EF                MOV     A,R7
-00151F F0                MOVX    @DPTR,A
+001504 904E24            MOV     DPTR,#adc_gamepad_value3
+001507 E0                MOVX    A,@DPTR
+001508 FC                MOV     R4,A
+001509 A3                INC     DPTR
+00150A E0                MOVX    A,@DPTR
+00150B FD                MOV     R5,A
+00150C A3                INC     DPTR
+00150D E0                MOVX    A,@DPTR
+00150E FE                MOV     R6,A
+00150F A3                INC     DPTR
+001510 E0                MOVX    A,@DPTR
+001511 2460              ADD     A,#060H
+001513 FF                MOV     R7,A
+001514 EE                MOV     A,R6
+001515 34C1              ADDC    A,#0C1H
+001517 FE                MOV     R6,A
+001518 ED                MOV     A,R5
+001519 34FF              ADDC    A,#0FFH
+00151B FD                MOV     R5,A
+00151C EC                MOV     A,R4
+00151D 34FF              ADDC    A,#0FFH
+00151F FC                MOV     R4,A
+001520 E4                CLR     A
+001521 7B3E              MOV     R3,#03EH
+001523 FA                MOV     R2,A
+001524 F9                MOV     R1,A
+001525 F8                MOV     R0,A
+001526 1201B9            LCALL   ?C?ULDIV
+001529 904D07            MOV     DPTR,#g_variable+048H
+00152C EF                MOV     A,R7
+00152D F0                MOVX    @DPTR,A
   194: 			if(g_variable.gamepad_rz >= 0x70 && g_variable.gamepad_rz <= 0x95)
-001520 C3                CLR     C
-001521 9470              SUBB    A,#070H
-001523 4009              JC      ?C0043?KB_PROCESS
-001525 E0                MOVX    A,@DPTR
-001526 D3                SETB    C
-001527 9495              SUBB    A,#095H
-001529 5003              JNC     ?C0043?KB_PROCESS
+00152E C3                CLR     C
+00152F 9470              SUBB    A,#070H
+001531 4009              JC      ?C0043?KB_PROCESS
+001533 E0                MOVX    A,@DPTR
+001534 D3                SETB    C
+001535 9495              SUBB    A,#095H
+001537 5003              JNC     ?C0043?KB_PROCESS
   195: 				g_variable.gamepad_rz = 0x80;
-00152B 7480              MOV     A,#080H
-00152D F0                MOVX    @DPTR,A
+001539 7480              MOV     A,#080H
+00153B F0                MOVX    @DPTR,A
   196: 		}
-00152E         ?C0043?KB_PROCESS:
+00153C         ?C0043?KB_PROCESS:
   197: 
   198: 		if(ksSelMapCurr & 0x20000)						//  left
-00152E 904D9B            MOV     DPTR,#ksSelMapCurr
-001531 E0                MOVX    A,@DPTR
-001532 FC                MOV     R4,A
-001533 A3                INC     DPTR
-001534 E0                MOVX    A,@DPTR
-001535 FD                MOV     R5,A
-001536 A3                INC     DPTR
-001537 E0                MOVX    A,@DPTR
-001538 FE                MOV     R6,A
-001539 A3                INC     DPTR
-00153A E0                MOVX    A,@DPTR
-00153B E4                CLR     A
-00153C FF                MOV     R7,A
-00153D FE                MOV     R6,A
-00153E ED                MOV     A,R5
-00153F 5402              ANL     A,#02H
-001541 FD                MOV     R5,A
-001542 E4                CLR     A
-001543 FC                MOV     R4,A
-001544 ED                MOV     A,R5
-001545 604A              JZ      ?C0049?KB_PROCESS
+00153C 904D9B            MOV     DPTR,#ksSelMapCurr
+00153F E0                MOVX    A,@DPTR
+001540 FC                MOV     R4,A
+001541 A3                INC     DPTR
+001542 E0                MOVX    A,@DPTR
+001543 FD                MOV     R5,A
+001544 A3                INC     DPTR
+001545 E0                MOVX    A,@DPTR
+001546 FE                MOV     R6,A
+001547 A3                INC     DPTR
+001548 E0                MOVX    A,@DPTR
+001549 E4                CLR     A
+00154A FF                MOV     R7,A
+00154B FE                MOV     R6,A
+00154C ED                MOV     A,R5
+00154D 5402              ANL     A,#02H
+00154F FD                MOV     R5,A
+001550 E4                CLR     A
+001551 FC                MOV     R4,A
+001552 ED                MOV     A,R5
+001553 604A              JZ      ?C0049?KB_PROCESS
   199: 		{
   200: 			if(ksSelMapCurr & 0x8000)					
-001547 904D9B            MOV     DPTR,#ksSelMapCurr
-00154A E0                MOVX    A,@DPTR
-00154B FC                MOV     R4,A
-00154C A3                INC     DPTR
-00154D E0                MOVX    A,@DPTR
-00154E FD                MOV     R5,A
-00154F A3                INC     DPTR
-001550 E0                MOVX    A,@DPTR
-001551 FE                MOV     R6,A
-001552 A3                INC     DPTR
-001553 E0                MOVX    A,@DPTR
-001554 E4                CLR     A
-001555 FF                MOV     R7,A
-001556 EE                MOV     A,R6
-001557 5480              ANL     A,#080H
-001559 FE                MOV     R6,A
-00155A E4                CLR     A
-00155B FD                MOV     R5,A
-00155C FC                MOV     R4,A
-00155D EE                MOV     A,R6
-00155E 6008              JZ      ?C0050?KB_PROCESS
+001555 904D9B            MOV     DPTR,#ksSelMapCurr
+001558 E0                MOVX    A,@DPTR
+001559 FC                MOV     R4,A
+00155A A3                INC     DPTR
+00155B E0                MOVX    A,@DPTR
+00155C FD                MOV     R5,A
+00155D A3                INC     DPTR
+00155E E0                MOVX    A,@DPTR
+00155F FE                MOV     R6,A
+001560 A3                INC     DPTR
+001561 E0                MOVX    A,@DPTR
+001562 E4                CLR     A
+001563 FF                MOV     R7,A
+001564 EE                MOV     A,R6
+001565 5480              ANL     A,#080H
+001567 FE                MOV     R6,A
+001568 E4                CLR     A
+001569 FD                MOV     R5,A
+00156A FC                MOV     R4,A
+00156B EE                MOV     A,R6
+00156C 6008              JZ      ?C0050?KB_PROCESS
   201: 				g_variable.gamepad_hatswitch = 0x05;
-001560 904D0A            MOV     DPTR,#g_variable+04BH
-001563 7405              MOV     A,#05H
-001565 F0                MOVX    @DPTR,A
-001566 E1DD              AJMP    ?C0065?KB_PROCESS
-001568         ?C0050?KB_PROCESS:
+00156E 904D0A            MOV     DPTR,#g_variable+04BH
+001571 7405              MOV     A,#05H
+001573 F0                MOVX    @DPTR,A
+001574 E1EB              AJMP    ?C0065?KB_PROCESS
+001576         ?C0050?KB_PROCESS:
   202: 			else if(ksSelMapCurr & 0x4000)
-001568 904D9B            MOV     DPTR,#ksSelMapCurr
-00156B E0                MOVX    A,@DPTR
-00156C FC                MOV     R4,A
-00156D A3                INC     DPTR
-00156E E0                MOVX    A,@DPTR
-00156F FD                MOV     R5,A
-001570 A3                INC     DPTR
-001571 E0                MOVX    A,@DPTR
-001572 FE                MOV     R6,A
-001573 A3                INC     DPTR
-001574 E0                MOVX    A,@DPTR
-001575 E4                CLR     A
-001576 FF                MOV     R7,A
-001577 EE                MOV     A,R6
-001578 5440              ANL     A,#040H
-00157A FE                MOV     R6,A
-00157B E4                CLR     A
-00157C FD                MOV     R5,A
-00157D FC                MOV     R4,A
-00157E EE                MOV     A,R6
-00157F 6008              JZ      ?C0052?KB_PROCESS
+001576 904D9B            MOV     DPTR,#ksSelMapCurr
+001579 E0                MOVX    A,@DPTR
+00157A FC                MOV     R4,A
+00157B A3                INC     DPTR
+00157C E0                MOVX    A,@DPTR
+00157D FD                MOV     R5,A
+00157E A3                INC     DPTR
+00157F E0                MOVX    A,@DPTR
+001580 FE                MOV     R6,A
+001581 A3                INC     DPTR
+001582 E0                MOVX    A,@DPTR
+001583 E4                CLR     A
+001584 FF                MOV     R7,A
+001585 EE                MOV     A,R6
+001586 5440              ANL     A,#040H
+001588 FE                MOV     R6,A
+001589 E4                CLR     A
+00158A FD                MOV     R5,A
+00158B FC                MOV     R4,A
+00158C EE                MOV     A,R6
+00158D 6008              JZ      ?C0052?KB_PROCESS
   203: 				g_variable.gamepad_hatswitch = 0x07;
-001581 904D0A            MOV     DPTR,#g_variable+04BH
-001584 7407              MOV     A,#07H
-001586 F0                MOVX    @DPTR,A
-001587 E1DD              AJMP    ?C0065?KB_PROCESS
-001589         ?C0052?KB_PROCESS:
+00158F 904D0A            MOV     DPTR,#g_variable+04BH
+001592 7407              MOV     A,#07H
+001594 F0                MOVX    @DPTR,A
+001595 E1EB              AJMP    ?C0065?KB_PROCESS
+001597         ?C0052?KB_PROCESS:
   204: 			else	
   205: 				g_variable.gamepad_hatswitch = 0x06;
-001589 904D0A            MOV     DPTR,#g_variable+04BH
-00158C 7406              MOV     A,#06H
-00158E F0                MOVX    @DPTR,A
+001597 904D0A            MOV     DPTR,#g_variable+04BH
+00159A 7406              MOV     A,#06H
+00159C F0                MOVX    @DPTR,A
   206: 		}
-00158F E1DD              AJMP    ?C0065?KB_PROCESS
-001591         ?C0049?KB_PROCESS:
+00159D E1EB              AJMP    ?C0065?KB_PROCESS
+00159F         ?C0049?KB_PROCESS:
   207: 		else if(ksSelMapCurr & 0x10000)					// right
-001591 904D9B            MOV     DPTR,#ksSelMapCurr
-001594 E0                MOVX    A,@DPTR
-001595 FC                MOV     R4,A
-001596 A3                INC     DPTR
-001597 E0                MOVX    A,@DPTR
-001598 FD                MOV     R5,A
-001599 A3                INC     DPTR
-00159A E0                MOVX    A,@DPTR
-00159B FE                MOV     R6,A
-00159C A3                INC     DPTR
-00159D E0                MOVX    A,@DPTR
-00159E E4                CLR     A
-00159F FF                MOV     R7,A
-0015A0 FE                MOV     R6,A
-0015A1 ED                MOV     A,R5
-0015A2 5401              ANL     A,#01H
-0015A4 FD                MOV     R5,A
-0015A5 E4                CLR     A
-0015A6 FC                MOV     R4,A
-0015A7 ED                MOV     A,R5
-0015A8 604A              JZ      ?C0055?KB_PROCESS
+00159F 904D9B            MOV     DPTR,#ksSelMapCurr
+0015A2 E0                MOVX    A,@DPTR
+0015A3 FC                MOV     R4,A
+0015A4 A3                INC     DPTR
+0015A5 E0                MOVX    A,@DPTR
+0015A6 FD                MOV     R5,A
+0015A7 A3                INC     DPTR
+0015A8 E0                MOVX    A,@DPTR
+0015A9 FE                MOV     R6,A
+0015AA A3                INC     DPTR
+0015AB E0                MOVX    A,@DPTR
+0015AC E4                CLR     A
+0015AD FF                MOV     R7,A
+0015AE FE                MOV     R6,A
+0015AF ED                MOV     A,R5
+0015B0 5401              ANL     A,#01H
+0015B2 FD                MOV     R5,A
+0015B3 E4                CLR     A
+0015B4 FC                MOV     R4,A
+0015B5 ED                MOV     A,R5
+0015B6 604A              JZ      ?C0055?KB_PROCESS
   208: 		{
   209: 			if(ksSelMapCurr & 0x8000)
-0015AA 904D9B            MOV     DPTR,#ksSelMapCurr
-0015AD E0                MOVX    A,@DPTR
-0015AE FC                MOV     R4,A
-0015AF A3                INC     DPTR
-0015B0 E0                MOVX    A,@DPTR
-0015B1 FD                MOV     R5,A
-0015B2 A3                INC     DPTR
-0015B3 E0                MOVX    A,@DPTR
-0015B4 FE                MOV     R6,A
-0015B5 A3                INC     DPTR
-0015B6 E0                MOVX    A,@DPTR
-0015B7 E4                CLR     A
-0015B8 FF                MOV     R7,A
-0015B9 EE                MOV     A,R6
-0015BA 5480              ANL     A,#080H
-0015BC FE                MOV     R6,A
-0015BD E4                CLR     A
-0015BE FD                MOV     R5,A
-0015BF FC                MOV     R4,A
-0015C0 EE                MOV     A,R6
-0015C1 6008              JZ      ?C0056?KB_PROCESS
+0015B8 904D9B            MOV     DPTR,#ksSelMapCurr
+0015BB E0                MOVX    A,@DPTR
+0015BC FC                MOV     R4,A
+0015BD A3                INC     DPTR
+0015BE E0                MOVX    A,@DPTR
+0015BF FD                MOV     R5,A
+0015C0 A3                INC     DPTR
+0015C1 E0                MOVX    A,@DPTR
+0015C2 FE                MOV     R6,A
+0015C3 A3                INC     DPTR
+0015C4 E0                MOVX    A,@DPTR
+0015C5 E4                CLR     A
+0015C6 FF                MOV     R7,A
+0015C7 EE                MOV     A,R6
+0015C8 5480              ANL     A,#080H
+0015CA FE                MOV     R6,A
+0015CB E4                CLR     A
+0015CC FD                MOV     R5,A
+0015CD FC                MOV     R4,A
+0015CE EE                MOV     A,R6
+0015CF 6008              JZ      ?C0056?KB_PROCESS
   210: 				g_variable.gamepad_hatswitch = 0x03;
-0015C3 904D0A            MOV     DPTR,#g_variable+04BH
-0015C6 7403              MOV     A,#03H
-0015C8 F0                MOVX    @DPTR,A
-0015C9 E1DD              AJMP    ?C0065?KB_PROCESS
-0015CB         ?C0056?KB_PROCESS:
+0015D1 904D0A            MOV     DPTR,#g_variable+04BH
+0015D4 7403              MOV     A,#03H
+0015D6 F0                MOVX    @DPTR,A
+0015D7 E1EB              AJMP    ?C0065?KB_PROCESS
+0015D9         ?C0056?KB_PROCESS:
   211: 			else if(ksSelMapCurr & 0x4000)
-0015CB 904D9B            MOV     DPTR,#ksSelMapCurr
-0015CE E0                MOVX    A,@DPTR
-0015CF FC                MOV     R4,A
-0015D0 A3                INC     DPTR
-0015D1 E0                MOVX    A,@DPTR
-0015D2 FD                MOV     R5,A
-0015D3 A3                INC     DPTR
-0015D4 E0                MOVX    A,@DPTR
-0015D5 FE                MOV     R6,A
-0015D6 A3                INC     DPTR
-0015D7 E0                MOVX    A,@DPTR
-0015D8 E4                CLR     A
-0015D9 FF                MOV     R7,A
-0015DA EE                MOV     A,R6
-0015DB 5440              ANL     A,#040H
-0015DD FE                MOV     R6,A
-0015DE E4                CLR     A
-0015DF FD                MOV     R5,A
-0015E0 FC                MOV     R4,A
-0015E1 EE                MOV     A,R6
-0015E2 6008              JZ      ?C0058?KB_PROCESS
+0015D9 904D9B            MOV     DPTR,#ksSelMapCurr
+0015DC E0                MOVX    A,@DPTR
+0015DD FC                MOV     R4,A
+0015DE A3                INC     DPTR
+0015DF E0                MOVX    A,@DPTR
+0015E0 FD                MOV     R5,A
+0015E1 A3                INC     DPTR
+0015E2 E0                MOVX    A,@DPTR
+0015E3 FE                MOV     R6,A
+0015E4 A3                INC     DPTR
+0015E5 E0                MOVX    A,@DPTR
+0015E6 E4                CLR     A
+0015E7 FF                MOV     R7,A
+0015E8 EE                MOV     A,R6
+0015E9 5440              ANL     A,#040H
+0015EB FE                MOV     R6,A
+0015EC E4                CLR     A
+0015ED FD                MOV     R5,A
+0015EE FC                MOV     R4,A
+0015EF EE                MOV     A,R6
+0015F0 6008              JZ      ?C0058?KB_PROCESS
   212: 				g_variable.gamepad_hatswitch = 0x01;
-0015E4 904D0A            MOV     DPTR,#g_variable+04BH
-0015E7 7401              MOV     A,#01H
-0015E9 F0                MOVX    @DPTR,A
-0015EA E1DD              AJMP    ?C0065?KB_PROCESS
-0015EC         ?C0058?KB_PROCESS:
+0015F2 904D0A            MOV     DPTR,#g_variable+04BH
+0015F5 7401              MOV     A,#01H
+0015F7 F0                MOVX    @DPTR,A
+0015F8 E1EB              AJMP    ?C0065?KB_PROCESS
+0015FA         ?C0058?KB_PROCESS:
   213: 			else	
   214: 				g_variable.gamepad_hatswitch = 0x02;
-0015EC 904D0A            MOV     DPTR,#g_variable+04BH
-0015EF 7402              MOV     A,#02H
-0015F1 F0                MOVX    @DPTR,A
+0015FA 904D0A            MOV     DPTR,#g_variable+04BH
+0015FD 7402              MOV     A,#02H
+0015FF F0                MOVX    @DPTR,A
   215: 		}
-0015F2 E1DD              AJMP    ?C0065?KB_PROCESS
-0015F4         ?C0055?KB_PROCESS:
+001600 E1EB              AJMP    ?C0065?KB_PROCESS
+001602         ?C0055?KB_PROCESS:
   216: 		else if(ksSelMapCurr & 0x8000)						//down
-0015F4 904D9B            MOV     DPTR,#ksSelMapCurr
-0015F7 E0                MOVX    A,@DPTR
-0015F8 FC                MOV     R4,A
-0015F9 A3                INC     DPTR
-0015FA E0                MOVX    A,@DPTR
-0015FB FD                MOV     R5,A
-0015FC A3                INC     DPTR
-0015FD E0                MOVX    A,@DPTR
-0015FE FE                MOV     R6,A
-0015FF A3                INC     DPTR
-001600 E0                MOVX    A,@DPTR
-001601 E4                CLR     A
-001602 FF                MOV     R7,A
-001603 EE                MOV     A,R6
-001604 5480              ANL     A,#080H
-001606 FE                MOV     R6,A
-001607 E4                CLR     A
-001608 FD                MOV     R5,A
-001609 FC                MOV     R4,A
-00160A EE                MOV     A,R6
-00160B 6008              JZ      ?C0061?KB_PROCESS
+001602 904D9B            MOV     DPTR,#ksSelMapCurr
+001605 E0                MOVX    A,@DPTR
+001606 FC                MOV     R4,A
+001607 A3                INC     DPTR
+001608 E0                MOVX    A,@DPTR
+001609 FD                MOV     R5,A
+00160A A3                INC     DPTR
+00160B E0                MOVX    A,@DPTR
+00160C FE                MOV     R6,A
+00160D A3                INC     DPTR
+00160E E0                MOVX    A,@DPTR
+00160F E4                CLR     A
+001610 FF                MOV     R7,A
+001611 EE                MOV     A,R6
+001612 5480              ANL     A,#080H
+001614 FE                MOV     R6,A
+001615 E4                CLR     A
+001616 FD                MOV     R5,A
+001617 FC                MOV     R4,A
+001618 EE                MOV     A,R6
+001619 6008              JZ      ?C0061?KB_PROCESS
   217: 			g_variable.gamepad_hatswitch = 0x04;
-00160D 904D0A            MOV     DPTR,#g_variable+04BH
-001610 7404              MOV     A,#04H
-001612 F0                MOVX    @DPTR,A
-001613 E1DD              AJMP    ?C0065?KB_PROCESS
-001615         ?C0061?KB_PROCESS:
+00161B 904D0A            MOV     DPTR,#g_variable+04BH
+00161E 7404              MOV     A,#04H
+001620 F0                MOVX    @DPTR,A
+001621 E1EB              AJMP    ?C0065?KB_PROCESS
+001623         ?C0061?KB_PROCESS:
   218: 		else if(ksSelMapCurr & 0x4000)						//up
-001615 904D9B            MOV     DPTR,#ksSelMapCurr
-001618 E0                MOVX    A,@DPTR
-001619 FC                MOV     R4,A
-00161A A3                INC     DPTR
-00161B E0                MOVX    A,@DPTR
-00161C FD                MOV     R5,A
-00161D A3                INC     DPTR
-00161E E0                MOVX    A,@DPTR
-00161F FE                MOV     R6,A
-001620 A3                INC     DPTR
-001621 E0                MOVX    A,@DPTR
-001622 E4                CLR     A
-001623 FF                MOV     R7,A
-001624 EE                MOV     A,R6
-001625 5440              ANL     A,#040H
-001627 FE                MOV     R6,A
-001628 E4                CLR     A
-001629 FD                MOV     R5,A
-00162A FC                MOV     R4,A
-00162B EE                MOV     A,R6
-00162C 6007              JZ      ?C0063?KB_PROCESS
+001623 904D9B            MOV     DPTR,#ksSelMapCurr
+001626 E0                MOVX    A,@DPTR
+001627 FC                MOV     R4,A
+001628 A3                INC     DPTR
+001629 E0                MOVX    A,@DPTR
+00162A FD                MOV     R5,A
+00162B A3                INC     DPTR
+00162C E0                MOVX    A,@DPTR
+00162D FE                MOV     R6,A
+00162E A3                INC     DPTR
+00162F E0                MOVX    A,@DPTR
+001630 E4                CLR     A
+001631 FF                MOV     R7,A
+001632 EE                MOV     A,R6
+001633 5440              ANL     A,#040H
+001635 FE                MOV     R6,A
+001636 E4                CLR     A
+001637 FD                MOV     R5,A
+001638 FC                MOV     R4,A
+001639 EE                MOV     A,R6
+00163A 6007              JZ      ?C0063?KB_PROCESS
   219: 			g_variable.gamepad_hatswitch = 0x00;
-00162E E4                CLR     A
-00162F 904D0A            MOV     DPTR,#g_variable+04BH
-001632 F0                MOVX    @DPTR,A
-001633 E1DD              AJMP    ?C0065?KB_PROCESS
-001635         ?C0063?KB_PROCESS:
+00163C E4                CLR     A
+00163D 904D0A            MOV     DPTR,#g_variable+04BH
+001640 F0                MOVX    @DPTR,A
+001641 E1EB              AJMP    ?C0065?KB_PROCESS
+001643         ?C0063?KB_PROCESS:
   220: 		else
   221: 			g_variable.gamepad_hatswitch = 0x0f;
-001635 904D0A            MOV     DPTR,#g_variable+04BH
-001638 740F              MOV     A,#0FH
-00163A F0                MOVX    @DPTR,A
+001643 904D0A            MOV     DPTR,#g_variable+04BH
+001646 740F              MOV     A,#0FH
+001648 F0                MOVX    @DPTR,A
   222: 
   223: 	}
-00163B E1DD              AJMP    ?C0065?KB_PROCESS
-00163D         ?C0022?KB_PROCESS:
+001649 E1EB              AJMP    ?C0065?KB_PROCESS
+00164B         ?C0022?KB_PROCESS:
   224: 	else
   225: 	{
   226: 		if(adc_gamepad_value0 < 0x4e50)
-00163D E4                CLR     A
-00163E 7F50              MOV     R7,#050H
-001640 7E4E              MOV     R6,#04EH
-001642 FD                MOV     R5,A
-001643 FC                MOV     R4,A
-001644 904E18            MOV     DPTR,#adc_gamepad_value0
-001647 E0                MOVX    A,@DPTR
-001648 F8                MOV     R0,A
-001649 A3                INC     DPTR
-00164A E0                MOVX    A,@DPTR
-00164B F9                MOV     R1,A
-00164C A3                INC     DPTR
-00164D E0                MOVX    A,@DPTR
-00164E FA                MOV     R2,A
-00164F A3                INC     DPTR
-001650 E0                MOVX    A,@DPTR
-001651 FB                MOV     R3,A
-001652 C3                CLR     C
-001653 12024B            LCALL   ?C?ULCMP
-001656 5008              JNC     ?C0066?KB_PROCESS
+00164B E4                CLR     A
+00164C 7F50              MOV     R7,#050H
+00164E 7E4E              MOV     R6,#04EH
+001650 FD                MOV     R5,A
+001651 FC                MOV     R4,A
+001652 904E18            MOV     DPTR,#adc_gamepad_value0
+001655 E0                MOVX    A,@DPTR
+001656 F8                MOV     R0,A
+001657 A3                INC     DPTR
+001658 E0                MOVX    A,@DPTR
+001659 F9                MOV     R1,A
+00165A A3                INC     DPTR
+00165B E0                MOVX    A,@DPTR
+00165C FA                MOV     R2,A
+00165D A3                INC     DPTR
+00165E E0                MOVX    A,@DPTR
+00165F FB                MOV     R3,A
+001660 C3                CLR     C
+001661 12024B            LCALL   ?C?ULCMP
+001664 5008              JNC     ?C0066?KB_PROCESS
   227: 			g_variable.gamepad_x = 0xff;
-001658 904D08            MOV     DPTR,#g_variable+049H
-00165B 74FF              MOV     A,#0FFH
-00165D F0                MOVX    @DPTR,A
-00165E 8028              SJMP    ?C0067?KB_PROCESS
-001660         ?C0066?KB_PROCESS:
+001666 904D08            MOV     DPTR,#g_variable+049H
+001669 74FF              MOV     A,#0FFH
+00166B F0                MOVX    @DPTR,A
+00166C 8028              SJMP    ?C0067?KB_PROCESS
+00166E         ?C0066?KB_PROCESS:
   228: 		else if(adc_gamepad_value0 > 0x6ba0)
-001660 E4                CLR     A
-001661 7FA0              MOV     R7,#0A0H
-001663 7E6B              MOV     R6,#06BH
-001665 FD                MOV     R5,A
-001666 FC                MOV     R4,A
-001667 904E18            MOV     DPTR,#adc_gamepad_value0
-00166A E0                MOVX    A,@DPTR
-00166B F8                MOV     R0,A
-00166C A3                INC     DPTR
-00166D E0                MOVX    A,@DPTR
-00166E F9                MOV     R1,A
-00166F A3                INC     DPTR
-001670 E0                MOVX    A,@DPTR
-001671 FA                MOV     R2,A
-001672 A3                INC     DPTR
-001673 E0                MOVX    A,@DPTR
-001674 FB                MOV     R3,A
-001675 D3                SETB    C
-001676 12024B            LCALL   ?C?ULCMP
-001679 4007              JC      ?C0068?KB_PROCESS
+00166E E4                CLR     A
+00166F 7FA0              MOV     R7,#0A0H
+001671 7E6B              MOV     R6,#06BH
+001673 FD                MOV     R5,A
+001674 FC                MOV     R4,A
+001675 904E18            MOV     DPTR,#adc_gamepad_value0
+001678 E0                MOVX    A,@DPTR
+001679 F8                MOV     R0,A
+00167A A3                INC     DPTR
+00167B E0                MOVX    A,@DPTR
+00167C F9                MOV     R1,A
+00167D A3                INC     DPTR
+00167E E0                MOVX    A,@DPTR
+00167F FA                MOV     R2,A
+001680 A3                INC     DPTR
+001681 E0                MOVX    A,@DPTR
+001682 FB                MOV     R3,A
+001683 D3                SETB    C
+001684 12024B            LCALL   ?C?ULCMP
+001687 4007              JC      ?C0068?KB_PROCESS
   229: 			g_variable.gamepad_x = 0x00;
-00167B E4                CLR     A
-00167C 904D08            MOV     DPTR,#g_variable+049H
-00167F F0                MOVX    @DPTR,A
-001680 8006              SJMP    ?C0067?KB_PROCESS
-001682         ?C0068?KB_PROCESS:
+001689 E4                CLR     A
+00168A 904D08            MOV     DPTR,#g_variable+049H
+00168D F0                MOVX    @DPTR,A
+00168E 8006              SJMP    ?C0067?KB_PROCESS
+001690         ?C0068?KB_PROCESS:
   230: 		else 
   231: 			g_variable.gamepad_x = 0x80;
-001682 904D08            MOV     DPTR,#g_variable+049H
-001685 7480              MOV     A,#080H
-001687 F0                MOVX    @DPTR,A
-001688         ?C0067?KB_PROCESS:
+001690 904D08            MOV     DPTR,#g_variable+049H
+001693 7480              MOV     A,#080H
+001695 F0                MOVX    @DPTR,A
+001696         ?C0067?KB_PROCESS:
   232: 
   233: 		if(adc_gamepad_value1 < 0x4e50)
-001688 E4                CLR     A
-001689 7F50              MOV     R7,#050H
-00168B 7E4E              MOV     R6,#04EH
-00168D FD                MOV     R5,A
-00168E FC                MOV     R4,A
-00168F 904E1C            MOV     DPTR,#adc_gamepad_value1
-001692 E0                MOVX    A,@DPTR
-001693 F8                MOV     R0,A
-001694 A3                INC     DPTR
-001695 E0                MOVX    A,@DPTR
-001696 F9                MOV     R1,A
-001697 A3                INC     DPTR
-001698 E0                MOVX    A,@DPTR
-001699 FA                MOV     R2,A
-00169A A3                INC     DPTR
-00169B E0                MOVX    A,@DPTR
-00169C FB                MOV     R3,A
-00169D C3                CLR     C
-00169E 12024B            LCALL   ?C?ULCMP
-0016A1 5007              JNC     ?C0070?KB_PROCESS
+001696 E4                CLR     A
+001697 7F50              MOV     R7,#050H
+001699 7E4E              MOV     R6,#04EH
+00169B FD                MOV     R5,A
+00169C FC                MOV     R4,A
+00169D 904E1C            MOV     DPTR,#adc_gamepad_value1
+0016A0 E0                MOVX    A,@DPTR
+0016A1 F8                MOV     R0,A
+0016A2 A3                INC     DPTR
+0016A3 E0                MOVX    A,@DPTR
+0016A4 F9                MOV     R1,A
+0016A5 A3                INC     DPTR
+0016A6 E0                MOVX    A,@DPTR
+0016A7 FA                MOV     R2,A
+0016A8 A3                INC     DPTR
+0016A9 E0                MOVX    A,@DPTR
+0016AA FB                MOV     R3,A
+0016AB C3                CLR     C
+0016AC 12024B            LCALL   ?C?ULCMP
+0016AF 5007              JNC     ?C0070?KB_PROCESS
   234: 			g_variable.gamepad_y = 0x00;
-0016A3 E4                CLR     A
-0016A4 904D09            MOV     DPTR,#g_variable+04AH
-0016A7 F0                MOVX    @DPTR,A
-0016A8 8029              SJMP    ?C0071?KB_PROCESS
-0016AA         ?C0070?KB_PROCESS:
+0016B1 E4                CLR     A
+0016B2 904D09            MOV     DPTR,#g_variable+04AH
+0016B5 F0                MOVX    @DPTR,A
+0016B6 8029              SJMP    ?C0071?KB_PROCESS
+0016B8         ?C0070?KB_PROCESS:
   235: 		else if(adc_gamepad_value1 > 0x6ba0)
-0016AA E4                CLR     A
-0016AB 7FA0              MOV     R7,#0A0H
-0016AD 7E6B              MOV     R6,#06BH
-0016AF FD                MOV     R5,A
-0016B0 FC                MOV     R4,A
-0016B1 904E1C            MOV     DPTR,#adc_gamepad_value1
-0016B4 E0                MOVX    A,@DPTR
-0016B5 F8                MOV     R0,A
-0016B6 A3                INC     DPTR
-0016B7 E0                MOVX    A,@DPTR
-0016B8 F9                MOV     R1,A
-0016B9 A3                INC     DPTR
-0016BA E0                MOVX    A,@DPTR
-0016BB FA                MOV     R2,A
-0016BC A3                INC     DPTR
-0016BD E0                MOVX    A,@DPTR
-0016BE FB                MOV     R3,A
-0016BF D3                SETB    C
-0016C0 12024B            LCALL   ?C?ULCMP
-0016C3 4008              JC      ?C0072?KB_PROCESS
+0016B8 E4                CLR     A
+0016B9 7FA0              MOV     R7,#0A0H
+0016BB 7E6B              MOV     R6,#06BH
+0016BD FD                MOV     R5,A
+0016BE FC                MOV     R4,A
+0016BF 904E1C            MOV     DPTR,#adc_gamepad_value1
+0016C2 E0                MOVX    A,@DPTR
+0016C3 F8                MOV     R0,A
+0016C4 A3                INC     DPTR
+0016C5 E0                MOVX    A,@DPTR
+0016C6 F9                MOV     R1,A
+0016C7 A3                INC     DPTR
+0016C8 E0                MOVX    A,@DPTR
+0016C9 FA                MOV     R2,A
+0016CA A3                INC     DPTR
+0016CB E0                MOVX    A,@DPTR
+0016CC FB                MOV     R3,A
+0016CD D3                SETB    C
+0016CE 12024B            LCALL   ?C?ULCMP
+0016D1 4008              JC      ?C0072?KB_PROCESS
   236: 			g_variable.gamepad_y = 0xff;
-0016C5 904D09            MOV     DPTR,#g_variable+04AH
-0016C8 74FF              MOV     A,#0FFH
-0016CA F0                MOVX    @DPTR,A
-0016CB 8006              SJMP    ?C0071?KB_PROCESS
-0016CD         ?C0072?KB_PROCESS:
+0016D3 904D09            MOV     DPTR,#g_variable+04AH
+0016D6 74FF              MOV     A,#0FFH
+0016D8 F0                MOVX    @DPTR,A
+0016D9 8006              SJMP    ?C0071?KB_PROCESS
+0016DB         ?C0072?KB_PROCESS:
   237: 		else 
   238: 			g_variable.gamepad_y = 0x80;
-0016CD 904D09            MOV     DPTR,#g_variable+04AH
-0016D0 7480              MOV     A,#080H
-0016D2 F0                MOVX    @DPTR,A
-0016D3         ?C0071?KB_PROCESS:
+0016DB 904D09            MOV     DPTR,#g_variable+04AH
+0016DE 7480              MOV     A,#080H
+0016E0 F0                MOVX    @DPTR,A
+0016E1         ?C0071?KB_PROCESS:
   239: 
   240: 		if(adc_gamepad_value2 < 0x4e50)
-0016D3 E4                CLR     A
-0016D4 7F50              MOV     R7,#050H
-0016D6 7E4E              MOV     R6,#04EH
-0016D8 FD                MOV     R5,A
-0016D9 FC                MOV     R4,A
-0016DA 904E20            MOV     DPTR,#adc_gamepad_value2
-0016DD E0                MOVX    A,@DPTR
-0016DE F8                MOV     R0,A
-0016DF A3                INC     DPTR
-0016E0 E0                MOVX    A,@DPTR
-0016E1 F9                MOV     R1,A
-0016E2 A3                INC     DPTR
-0016E3 E0                MOVX    A,@DPTR
-0016E4 FA                MOV     R2,A
-0016E5 A3                INC     DPTR
-0016E6 E0                MOVX    A,@DPTR
-0016E7 FB                MOV     R3,A
-0016E8 C3                CLR     C
-0016E9 12024B            LCALL   ?C?ULCMP
-0016EC 5009              JNC     ?C0074?KB_PROCESS
-  241: 			g_variable.gamepad_hatswitch |= 0x10;
-0016EE 904D0A            MOV     DPTR,#g_variable+04BH
+0016E1 E4                CLR     A
+0016E2 7F50              MOV     R7,#050H
+0016E4 7E4E              MOV     R6,#04EH
+0016E6 FD                MOV     R5,A
+0016E7 FC                MOV     R4,A
+0016E8 904E20            MOV     DPTR,#adc_gamepad_value2
+0016EB E0                MOVX    A,@DPTR
+0016EC F8                MOV     R0,A
+0016ED A3                INC     DPTR
+0016EE E0                MOVX    A,@DPTR
+0016EF F9                MOV     R1,A
+0016F0 A3                INC     DPTR
 0016F1 E0                MOVX    A,@DPTR
-0016F2 4410              ORL     A,#010H
-0016F4 F0                MOVX    @DPTR,A
-0016F5 8022              SJMP    ?C0075?KB_PROCESS
-0016F7         ?C0074?KB_PROCESS:
+0016F2 FA                MOV     R2,A
+0016F3 A3                INC     DPTR
+0016F4 E0                MOVX    A,@DPTR
+0016F5 FB                MOV     R3,A
+0016F6 C3                CLR     C
+0016F7 12024B            LCALL   ?C?ULCMP
+0016FA 5009              JNC     ?C0074?KB_PROCESS
+  241: 			g_variable.gamepad_hatswitch |= 0x10;
+0016FC 904D0A            MOV     DPTR,#g_variable+04BH
+0016FF E0                MOVX    A,@DPTR
+001700 4410              ORL     A,#010H
+001702 F0                MOVX    @DPTR,A
+001703 8022              SJMP    ?C0075?KB_PROCESS
+001705         ?C0074?KB_PROCESS:
   242: 		else if(adc_gamepad_value2 > 0x6ba0)
-0016F7 E4                CLR     A
-0016F8 7FA0              MOV     R7,#0A0H
-0016FA 7E6B              MOV     R6,#06BH
-0016FC FD                MOV     R5,A
-0016FD FC                MOV     R4,A
-0016FE 904E20            MOV     DPTR,#adc_gamepad_value2
-001701 E0                MOVX    A,@DPTR
-001702 F8                MOV     R0,A
-001703 A3                INC     DPTR
-001704 E0                MOVX    A,@DPTR
-001705 F9                MOV     R1,A
-001706 A3                INC     DPTR
-001707 E0                MOVX    A,@DPTR
-001708 FA                MOV     R2,A
-001709 A3                INC     DPTR
-00170A E0                MOVX    A,@DPTR
-00170B FB                MOV     R3,A
-00170C D3                SETB    C
-00170D 12024B            LCALL   ?C?ULCMP
-001710 4007              JC      ?C0075?KB_PROCESS
-  243: 			g_variable.gamepad_hatswitch |= 0x40;
-001712 904D0A            MOV     DPTR,#g_variable+04BH
+001705 E4                CLR     A
+001706 7FA0              MOV     R7,#0A0H
+001708 7E6B              MOV     R6,#06BH
+00170A FD                MOV     R5,A
+00170B FC                MOV     R4,A
+00170C 904E20            MOV     DPTR,#adc_gamepad_value2
+00170F E0                MOVX    A,@DPTR
+001710 F8                MOV     R0,A
+001711 A3                INC     DPTR
+001712 E0                MOVX    A,@DPTR
+001713 F9                MOV     R1,A
+001714 A3                INC     DPTR
 001715 E0                MOVX    A,@DPTR
-001716 4440              ORL     A,#040H
-001718 F0                MOVX    @DPTR,A
-001719         ?C0075?KB_PROCESS:
+001716 FA                MOV     R2,A
+001717 A3                INC     DPTR
+001718 E0                MOVX    A,@DPTR
+001719 FB                MOV     R3,A
+00171A D3                SETB    C
+00171B 12024B            LCALL   ?C?ULCMP
+00171E 4007              JC      ?C0075?KB_PROCESS
+  243: 			g_variable.gamepad_hatswitch |= 0x40;
+001720 904D0A            MOV     DPTR,#g_variable+04BH
+001723 E0                MOVX    A,@DPTR
+001724 4440              ORL     A,#040H
+001726 F0                MOVX    @DPTR,A
+001727         ?C0075?KB_PROCESS:
   244: 
   245: 		if(adc_gamepad_value3 < 0x4e50)
-001719 E4                CLR     A
-00171A 7F50              MOV     R7,#050H
-00171C 7E4E              MOV     R6,#04EH
-00171E FD                MOV     R5,A
-00171F FC                MOV     R4,A
-001720 904E24            MOV     DPTR,#adc_gamepad_value3
-001723 E0                MOVX    A,@DPTR
-001724 F8                MOV     R0,A
-001725 A3                INC     DPTR
-001726 E0                MOVX    A,@DPTR
-001727 F9                MOV     R1,A
-001728 A3                INC     DPTR
-001729 E0                MOVX    A,@DPTR
-00172A FA                MOV     R2,A
-00172B A3                INC     DPTR
-00172C E0                MOVX    A,@DPTR
-00172D FB                MOV     R3,A
-00172E C3                CLR     C
-00172F 12024B            LCALL   ?C?ULCMP
-001732 5009              JNC     ?C0077?KB_PROCESS
-  246: 			g_variable.gamepad_hatswitch |= 0x20;
-001734 904D0A            MOV     DPTR,#g_variable+04BH
+001727 E4                CLR     A
+001728 7F50              MOV     R7,#050H
+00172A 7E4E              MOV     R6,#04EH
+00172C FD                MOV     R5,A
+00172D FC                MOV     R4,A
+00172E 904E24            MOV     DPTR,#adc_gamepad_value3
+001731 E0                MOVX    A,@DPTR
+001732 F8                MOV     R0,A
+001733 A3                INC     DPTR
+001734 E0                MOVX    A,@DPTR
+001735 F9                MOV     R1,A
+001736 A3                INC     DPTR
 001737 E0                MOVX    A,@DPTR
-001738 4420              ORL     A,#020H
-00173A F0                MOVX    @DPTR,A
-00173B 8022              SJMP    ?C0078?KB_PROCESS
-00173D         ?C0077?KB_PROCESS:
+001738 FA                MOV     R2,A
+001739 A3                INC     DPTR
+00173A E0                MOVX    A,@DPTR
+00173B FB                MOV     R3,A
+00173C C3                CLR     C
+00173D 12024B            LCALL   ?C?ULCMP
+001740 5009              JNC     ?C0077?KB_PROCESS
+  246: 			g_variable.gamepad_hatswitch |= 0x20;
+001742 904D0A            MOV     DPTR,#g_variable+04BH
+001745 E0                MOVX    A,@DPTR
+001746 4420              ORL     A,#020H
+001748 F0                MOVX    @DPTR,A
+001749 8022              SJMP    ?C0078?KB_PROCESS
+00174B         ?C0077?KB_PROCESS:
   247: 		else if(adc_gamepad_value3 > 0x6ba0)
-00173D E4                CLR     A
-00173E 7FA0              MOV     R7,#0A0H
-001740 7E6B              MOV     R6,#06BH
-001742 FD                MOV     R5,A
-001743 FC                MOV     R4,A
-001744 904E24            MOV     DPTR,#adc_gamepad_value3
-001747 E0                MOVX    A,@DPTR
-001748 F8                MOV     R0,A
-001749 A3                INC     DPTR
-00174A E0                MOVX    A,@DPTR
-00174B F9                MOV     R1,A
-00174C A3                INC     DPTR
-00174D E0                MOVX    A,@DPTR
-00174E FA                MOV     R2,A
-00174F A3                INC     DPTR
-001750 E0                MOVX    A,@DPTR
-001751 FB                MOV     R3,A
-001752 D3                SETB    C
-001753 12024B            LCALL   ?C?ULCMP
-001756 4007              JC      ?C0078?KB_PROCESS
-  248: 			g_variable.gamepad_hatswitch |= 0x80;
-001758 904D0A            MOV     DPTR,#g_variable+04BH
+00174B E4                CLR     A
+00174C 7FA0              MOV     R7,#0A0H
+00174E 7E6B              MOV     R6,#06BH
+001750 FD                MOV     R5,A
+001751 FC                MOV     R4,A
+001752 904E24            MOV     DPTR,#adc_gamepad_value3
+001755 E0                MOVX    A,@DPTR
+001756 F8                MOV     R0,A
+001757 A3                INC     DPTR
+001758 E0                MOVX    A,@DPTR
+001759 F9                MOV     R1,A
+00175A A3                INC     DPTR
 00175B E0                MOVX    A,@DPTR
-00175C 4480              ORL     A,#080H
-00175E F0                MOVX    @DPTR,A
-00175F         ?C0078?KB_PROCESS:
+00175C FA                MOV     R2,A
+00175D A3                INC     DPTR
+00175E E0                MOVX    A,@DPTR
+00175F FB                MOV     R3,A
+001760 D3                SETB    C
+001761 12024B            LCALL   ?C?ULCMP
+001764 4007              JC      ?C0078?KB_PROCESS
+  248: 			g_variable.gamepad_hatswitch |= 0x80;
+001766 904D0A            MOV     DPTR,#g_variable+04BH
+001769 E0                MOVX    A,@DPTR
+00176A 4480              ORL     A,#080H
+00176C F0                MOVX    @DPTR,A
+00176D         ?C0078?KB_PROCESS:
   249: 
   250: 		if(ksSelMapCurr & 0x20000)						//  left
-00175F 904D9B            MOV     DPTR,#ksSelMapCurr
-001762 E0                MOVX    A,@DPTR
-001763 FC                MOV     R4,A
-001764 A3                INC     DPTR
-001765 E0                MOVX    A,@DPTR
-001766 FD                MOV     R5,A
-001767 A3                INC     DPTR
-001768 E0                MOVX    A,@DPTR
-001769 FE                MOV     R6,A
-00176A A3                INC     DPTR
-00176B E0                MOVX    A,@DPTR
-00176C E4                CLR     A
-00176D FF                MOV     R7,A
-00176E FE                MOV     R6,A
-00176F ED                MOV     A,R5
-001770 5402              ANL     A,#02H
-001772 FD                MOV     R5,A
-001773 E4                CLR     A
-001774 FC                MOV     R4,A
-001775 ED                MOV     A,R5
-001776 6007              JZ      ?C0080?KB_PROCESS
+00176D 904D9B            MOV     DPTR,#ksSelMapCurr
+001770 E0                MOVX    A,@DPTR
+001771 FC                MOV     R4,A
+001772 A3                INC     DPTR
+001773 E0                MOVX    A,@DPTR
+001774 FD                MOV     R5,A
+001775 A3                INC     DPTR
+001776 E0                MOVX    A,@DPTR
+001777 FE                MOV     R6,A
+001778 A3                INC     DPTR
+001779 E0                MOVX    A,@DPTR
+00177A E4                CLR     A
+00177B FF                MOV     R7,A
+00177C FE                MOV     R6,A
+00177D ED                MOV     A,R5
+00177E 5402              ANL     A,#02H
+001780 FD                MOV     R5,A
+001781 E4                CLR     A
+001782 FC                MOV     R4,A
+001783 ED                MOV     A,R5
+001784 6007              JZ      ?C0080?KB_PROCESS
   251: 			g_variable.gamepad_x = 0x00;
-001778 E4                CLR     A
-001779 904D08            MOV     DPTR,#g_variable+049H
-00177C F0                MOVX    @DPTR,A
-00177D 801F              SJMP    ?C0081?KB_PROCESS
-00177F         ?C0080?KB_PROCESS:
+001786 E4                CLR     A
+001787 904D08            MOV     DPTR,#g_variable+049H
+00178A F0                MOVX    @DPTR,A
+00178B 801F              SJMP    ?C0081?KB_PROCESS
+00178D         ?C0080?KB_PROCESS:
   252: 		else if(ksSelMapCurr & 0x10000)					// right
-00177F 904D9B            MOV     DPTR,#ksSelMapCurr
-001782 E0                MOVX    A,@DPTR
-001783 FC                MOV     R4,A
-001784 A3                INC     DPTR
-001785 E0                MOVX    A,@DPTR
-001786 FD                MOV     R5,A
-001787 A3                INC     DPTR
-001788 E0                MOVX    A,@DPTR
-001789 FE                MOV     R6,A
-00178A A3                INC     DPTR
-00178B E0                MOVX    A,@DPTR
-00178C E4                CLR     A
-00178D FF                MOV     R7,A
-00178E FE                MOV     R6,A
-00178F ED                MOV     A,R5
-001790 5401              ANL     A,#01H
-001792 FD                MOV     R5,A
-001793 E4                CLR     A
-001794 FC                MOV     R4,A
-001795 ED                MOV     A,R5
-001796 6006              JZ      ?C0081?KB_PROCESS
+00178D 904D9B            MOV     DPTR,#ksSelMapCurr
+001790 E0                MOVX    A,@DPTR
+001791 FC                MOV     R4,A
+001792 A3                INC     DPTR
+001793 E0                MOVX    A,@DPTR
+001794 FD                MOV     R5,A
+001795 A3                INC     DPTR
+001796 E0                MOVX    A,@DPTR
+001797 FE                MOV     R6,A
+001798 A3                INC     DPTR
+001799 E0                MOVX    A,@DPTR
+00179A E4                CLR     A
+00179B FF                MOV     R7,A
+00179C FE                MOV     R6,A
+00179D ED                MOV     A,R5
+00179E 5401              ANL     A,#01H
+0017A0 FD                MOV     R5,A
+0017A1 E4                CLR     A
+0017A2 FC                MOV     R4,A
+0017A3 ED                MOV     A,R5
+0017A4 6006              JZ      ?C0081?KB_PROCESS
   253: 			g_variable.gamepad_x = 0xff;
-001798 904D08            MOV     DPTR,#g_variable+049H
-00179B 74FF              MOV     A,#0FFH
-00179D F0                MOVX    @DPTR,A
-00179E         ?C0081?KB_PROCESS:
+0017A6 904D08            MOV     DPTR,#g_variable+049H
+0017A9 74FF              MOV     A,#0FFH
+0017AB F0                MOVX    @DPTR,A
+0017AC         ?C0081?KB_PROCESS:
   254: 		if(ksSelMapCurr & 0x8000)							//down
-00179E 904D9B            MOV     DPTR,#ksSelMapCurr
-0017A1 E0                MOVX    A,@DPTR
-0017A2 FC                MOV     R4,A
-0017A3 A3                INC     DPTR
-0017A4 E0                MOVX    A,@DPTR
-0017A5 FD                MOV     R5,A
-0017A6 A3                INC     DPTR
-0017A7 E0                MOVX    A,@DPTR
-0017A8 FE                MOV     R6,A
-0017A9 A3                INC     DPTR
-0017AA E0                MOVX    A,@DPTR
-0017AB E4                CLR     A
-0017AC FF                MOV     R7,A
-0017AD EE                MOV     A,R6
-0017AE 5480              ANL     A,#080H
-0017B0 FE                MOV     R6,A
-0017B1 E4                CLR     A
-0017B2 FD                MOV     R5,A
-0017B3 FC                MOV     R4,A
-0017B4 EE                MOV     A,R6
-0017B5 6008              JZ      ?C0083?KB_PROCESS
+0017AC 904D9B            MOV     DPTR,#ksSelMapCurr
+0017AF E0                MOVX    A,@DPTR
+0017B0 FC                MOV     R4,A
+0017B1 A3                INC     DPTR
+0017B2 E0                MOVX    A,@DPTR
+0017B3 FD                MOV     R5,A
+0017B4 A3                INC     DPTR
+0017B5 E0                MOVX    A,@DPTR
+0017B6 FE                MOV     R6,A
+0017B7 A3                INC     DPTR
+0017B8 E0                MOVX    A,@DPTR
+0017B9 E4                CLR     A
+0017BA FF                MOV     R7,A
+0017BB EE                MOV     A,R6
+0017BC 5480              ANL     A,#080H
+0017BE FE                MOV     R6,A
+0017BF E4                CLR     A
+0017C0 FD                MOV     R5,A
+0017C1 FC                MOV     R4,A
+0017C2 EE                MOV     A,R6
+0017C3 6008              JZ      ?C0083?KB_PROCESS
   255: 			g_variable.gamepad_y = 0xff;
-0017B7 904D09            MOV     DPTR,#g_variable+04AH
-0017BA 74FF              MOV     A,#0FFH
-0017BC F0                MOVX    @DPTR,A
-0017BD 801E              SJMP    ?C0065?KB_PROCESS
-0017BF         ?C0083?KB_PROCESS:
+0017C5 904D09            MOV     DPTR,#g_variable+04AH
+0017C8 74FF              MOV     A,#0FFH
+0017CA F0                MOVX    @DPTR,A
+0017CB 801E              SJMP    ?C0065?KB_PROCESS
+0017CD         ?C0083?KB_PROCESS:
   256: 		else if(ksSelMapCurr & 0x4000)						//up
-0017BF 904D9B            MOV     DPTR,#ksSelMapCurr
-0017C2 E0                MOVX    A,@DPTR
-0017C3 FC                MOV     R4,A
-0017C4 A3                INC     DPTR
-0017C5 E0                MOVX    A,@DPTR
-0017C6 FD                MOV     R5,A
-0017C7 A3                INC     DPTR
-0017C8 E0                MOVX    A,@DPTR
-0017C9 FE                MOV     R6,A
-0017CA A3                INC     DPTR
-0017CB E0                MOVX    A,@DPTR
-0017CC E4                CLR     A
-0017CD FF                MOV     R7,A
-0017CE EE                MOV     A,R6
-0017CF 5440              ANL     A,#040H
-0017D1 FE                MOV     R6,A
-0017D2 E4                CLR     A
-0017D3 FD                MOV     R5,A
-0017D4 FC                MOV     R4,A
-0017D5 EE                MOV     A,R6
-0017D6 6005              JZ      ?C0065?KB_PROCESS
+0017CD 904D9B            MOV     DPTR,#ksSelMapCurr
+0017D0 E0                MOVX    A,@DPTR
+0017D1 FC                MOV     R4,A
+0017D2 A3                INC     DPTR
+0017D3 E0                MOVX    A,@DPTR
+0017D4 FD                MOV     R5,A
+0017D5 A3                INC     DPTR
+0017D6 E0                MOVX    A,@DPTR
+0017D7 FE                MOV     R6,A
+0017D8 A3                INC     DPTR
+0017D9 E0                MOVX    A,@DPTR
+0017DA E4                CLR     A
+0017DB FF                MOV     R7,A
+0017DC EE                MOV     A,R6
+0017DD 5440              ANL     A,#040H
+0017DF FE                MOV     R6,A
+0017E0 E4                CLR     A
+0017E1 FD                MOV     R5,A
+0017E2 FC                MOV     R4,A
+0017E3 EE                MOV     A,R6
+0017E4 6005              JZ      ?C0065?KB_PROCESS
   257: 			g_variable.gamepad_y = 0x00;	
-0017D8 E4                CLR     A
-0017D9 904D09            MOV     DPTR,#g_variable+04AH
-0017DC F0                MOVX    @DPTR,A
+0017E6 E4                CLR     A
+0017E7 904D09            MOV     DPTR,#g_variable+04AH
+0017EA F0                MOVX    @DPTR,A
   258: 
   259: 	}
-0017DD         ?C0065?KB_PROCESS:
+0017EB         ?C0065?KB_PROCESS:
   260: 
   261: 
   262: 	if(ksSelMapCurr & 0x800)		// A
-0017DD 904D9B            MOV     DPTR,#ksSelMapCurr
-0017E0 E0                MOVX    A,@DPTR
-0017E1 FC                MOV     R4,A
-0017E2 A3                INC     DPTR
-0017E3 E0                MOVX    A,@DPTR
-0017E4 FD                MOV     R5,A
-0017E5 A3                INC     DPTR
-0017E6 E0                MOVX    A,@DPTR
-0017E7 FE                MOV     R6,A
-0017E8 A3                INC     DPTR
-0017E9 E0                MOVX    A,@DPTR
-0017EA E4                CLR     A
-0017EB FF                MOV     R7,A
-0017EC EE                MOV     A,R6
-0017ED 5408              ANL     A,#08H
-0017EF FE                MOV     R6,A
-0017F0 E4                CLR     A
-0017F1 FD                MOV     R5,A
-0017F2 FC                MOV     R4,A
-0017F3 EE                MOV     A,R6
-0017F4 6007              JZ      ?C0086?KB_PROCESS
+0017EB 904D9B            MOV     DPTR,#ksSelMapCurr
+0017EE E0                MOVX    A,@DPTR
+0017EF FC                MOV     R4,A
+0017F0 A3                INC     DPTR
+0017F1 E0                MOVX    A,@DPTR
+0017F2 FD                MOV     R5,A
+0017F3 A3                INC     DPTR
+0017F4 E0                MOVX    A,@DPTR
+0017F5 FE                MOV     R6,A
+0017F6 A3                INC     DPTR
+0017F7 E0                MOVX    A,@DPTR
+0017F8 E4                CLR     A
+0017F9 FF                MOV     R7,A
+0017FA EE                MOV     A,R6
+0017FB 5408              ANL     A,#08H
+0017FD FE                MOV     R6,A
+0017FE E4                CLR     A
+0017FF FD                MOV     R5,A
+001800 FC                MOV     R4,A
+001801 EE                MOV     A,R6
+001802 6007              JZ      ?C0086?KB_PROCESS
   263: 	{
   264: 		g_variable.gamepad_hatswitch |= 0x40;
-0017F6 904D0A            MOV     DPTR,#g_variable+04BH
-0017F9 E0                MOVX    A,@DPTR
-0017FA 4440              ORL     A,#040H
-0017FC F0                MOVX    @DPTR,A
+001804 904D0A            MOV     DPTR,#g_variable+04BH
+001807 E0                MOVX    A,@DPTR
+001808 4440              ORL     A,#040H
+00180A F0                MOVX    @DPTR,A
   265: 	}
-0017FD         ?C0086?KB_PROCESS:
+00180B         ?C0086?KB_PROCESS:
   266: 	if(ksSelMapCurr & 0x1000)		// B
-0017FD 904D9B            MOV     DPTR,#ksSelMapCurr
-001800 E0                MOVX    A,@DPTR
-001801 FC                MOV     R4,A
-001802 A3                INC     DPTR
-001803 E0                MOVX    A,@DPTR
-001804 FD                MOV     R5,A
-001805 A3                INC     DPTR
-001806 E0                MOVX    A,@DPTR
-001807 FE                MOV     R6,A
-001808 A3                INC     DPTR
-001809 E0                MOVX    A,@DPTR
-00180A E4                CLR     A
-00180B FF                MOV     R7,A
-00180C EE                MOV     A,R6
-00180D 5410              ANL     A,#010H
-00180F FE                MOV     R6,A
-001810 E4                CLR     A
-001811 FD                MOV     R5,A
-001812 FC                MOV     R4,A
-001813 EE                MOV     A,R6
-001814 6007              JZ      ?C0087?KB_PROCESS
+00180B 904D9B            MOV     DPTR,#ksSelMapCurr
+00180E E0                MOVX    A,@DPTR
+00180F FC                MOV     R4,A
+001810 A3                INC     DPTR
+001811 E0                MOVX    A,@DPTR
+001812 FD                MOV     R5,A
+001813 A3                INC     DPTR
+001814 E0                MOVX    A,@DPTR
+001815 FE                MOV     R6,A
+001816 A3                INC     DPTR
+001817 E0                MOVX    A,@DPTR
+001818 E4                CLR     A
+001819 FF                MOV     R7,A
+00181A EE                MOV     A,R6
+00181B 5410              ANL     A,#010H
+00181D FE                MOV     R6,A
+00181E E4                CLR     A
+00181F FD                MOV     R5,A
+001820 FC                MOV     R4,A
+001821 EE                MOV     A,R6
+001822 6007              JZ      ?C0087?KB_PROCESS
   267: 	{
   268: 		g_variable.gamepad_hatswitch |= 0x20;
-001816 904D0A            MOV     DPTR,#g_variable+04BH
-001819 E0                MOVX    A,@DPTR
-00181A 4420              ORL     A,#020H
-00181C F0                MOVX    @DPTR,A
+001824 904D0A            MOV     DPTR,#g_variable+04BH
+001827 E0                MOVX    A,@DPTR
+001828 4420              ORL     A,#020H
+00182A F0                MOVX    @DPTR,A
   269: 	}
-00181D         ?C0087?KB_PROCESS:
+00182B         ?C0087?KB_PROCESS:
   270: 	if(ksSelMapCurr & 0x400)		// X
-00181D 904D9B            MOV     DPTR,#ksSelMapCurr
-001820 E0                MOVX    A,@DPTR
-001821 FC                MOV     R4,A
-001822 A3                INC     DPTR
-001823 E0                MOVX    A,@DPTR
-001824 FD                MOV     R5,A
-001825 A3                INC     DPTR
-001826 E0                MOVX    A,@DPTR
-001827 FE                MOV     R6,A
-001828 A3                INC     DPTR
-001829 E0                MOVX    A,@DPTR
-00182A E4                CLR     A
-00182B FF                MOV     R7,A
-00182C EE                MOV     A,R6
-00182D 5404              ANL     A,#04H
-00182F FE                MOV     R6,A
-001830 E4                CLR     A
-001831 FD                MOV     R5,A
-001832 FC                MOV     R4,A
-001833 EE                MOV     A,R6
-001834 6007              JZ      ?C0088?KB_PROCESS
+00182B 904D9B            MOV     DPTR,#ksSelMapCurr
+00182E E0                MOVX    A,@DPTR
+00182F FC                MOV     R4,A
+001830 A3                INC     DPTR
+001831 E0                MOVX    A,@DPTR
+001832 FD                MOV     R5,A
+001833 A3                INC     DPTR
+001834 E0                MOVX    A,@DPTR
+001835 FE                MOV     R6,A
+001836 A3                INC     DPTR
+001837 E0                MOVX    A,@DPTR
+001838 E4                CLR     A
+001839 FF                MOV     R7,A
+00183A EE                MOV     A,R6
+00183B 5404              ANL     A,#04H
+00183D FE                MOV     R6,A
+00183E E4                CLR     A
+00183F FD                MOV     R5,A
+001840 FC                MOV     R4,A
+001841 EE                MOV     A,R6
+001842 6007              JZ      ?C0088?KB_PROCESS
   271: 	{
   272: 		g_variable.gamepad_hatswitch |= 0x80;
-001836 904D0A            MOV     DPTR,#g_variable+04BH
-001839 E0                MOVX    A,@DPTR
-00183A 4480              ORL     A,#080H
-00183C F0                MOVX    @DPTR,A
+001844 904D0A            MOV     DPTR,#g_variable+04BH
+001847 E0                MOVX    A,@DPTR
+001848 4480              ORL     A,#080H
+00184A F0                MOVX    @DPTR,A
   273: 	}
-00183D         ?C0088?KB_PROCESS:
+00184B         ?C0088?KB_PROCESS:
   274: 	if(ksSelMapCurr & 0x2000)		// Y
-00183D 904D9B            MOV     DPTR,#ksSelMapCurr
-001840 E0                MOVX    A,@DPTR
-001841 FC                MOV     R4,A
-001842 A3                INC     DPTR
-001843 E0                MOVX    A,@DPTR
-001844 FD                MOV     R5,A
-001845 A3                INC     DPTR
-001846 E0                MOVX    A,@DPTR
-001847 FE                MOV     R6,A
-001848 A3                INC     DPTR
-001849 E0                MOVX    A,@DPTR
-00184A E4                CLR     A
-00184B FF                MOV     R7,A
-00184C EE                MOV     A,R6
-00184D 5420              ANL     A,#020H
-00184F FE                MOV     R6,A
-001850 E4                CLR     A
-001851 FD                MOV     R5,A
-001852 FC                MOV     R4,A
-001853 EE                MOV     A,R6
-001854 6007              JZ      ?C0089?KB_PROCESS
+00184B 904D9B            MOV     DPTR,#ksSelMapCurr
+00184E E0                MOVX    A,@DPTR
+00184F FC                MOV     R4,A
+001850 A3                INC     DPTR
+001851 E0                MOVX    A,@DPTR
+001852 FD                MOV     R5,A
+001853 A3                INC     DPTR
+001854 E0                MOVX    A,@DPTR
+001855 FE                MOV     R6,A
+001856 A3                INC     DPTR
+001857 E0                MOVX    A,@DPTR
+001858 E4                CLR     A
+001859 FF                MOV     R7,A
+00185A EE                MOV     A,R6
+00185B 5420              ANL     A,#020H
+00185D FE                MOV     R6,A
+00185E E4                CLR     A
+00185F FD                MOV     R5,A
+001860 FC                MOV     R4,A
+001861 EE                MOV     A,R6
+001862 6007              JZ      ?C0089?KB_PROCESS
   275: 	{
   276: 		g_variable.gamepad_hatswitch |= 0x10;
-001856 904D0A            MOV     DPTR,#g_variable+04BH
-001859 E0                MOVX    A,@DPTR
-00185A 4410              ORL     A,#010H
-00185C F0                MOVX    @DPTR,A
+001864 904D0A            MOV     DPTR,#g_variable+04BH
+001867 E0                MOVX    A,@DPTR
+001868 4410              ORL     A,#010H
+00186A F0                MOVX    @DPTR,A
   277: 	}
-00185D         ?C0089?KB_PROCESS:
+00186B         ?C0089?KB_PROCESS:
   278: 
   279: 	if(ksSelMapCurr & 0x200)		// L1
-00185D 904D9B            MOV     DPTR,#ksSelMapCurr
-001860 E0                MOVX    A,@DPTR
-001861 FC                MOV     R4,A
-001862 A3                INC     DPTR
-001863 E0                MOVX    A,@DPTR
-001864 FD                MOV     R5,A
-001865 A3                INC     DPTR
-001866 E0                MOVX    A,@DPTR
-001867 FE                MOV     R6,A
-001868 A3                INC     DPTR
-001869 E0                MOVX    A,@DPTR
-00186A E4                CLR     A
-00186B FF                MOV     R7,A
-00186C EE                MOV     A,R6
-00186D 5402              ANL     A,#02H
-00186F FE                MOV     R6,A
-001870 E4                CLR     A
-001871 FD                MOV     R5,A
-001872 FC                MOV     R4,A
-001873 EE                MOV     A,R6
-001874 6007              JZ      ?C0090?KB_PROCESS
+00186B 904D9B            MOV     DPTR,#ksSelMapCurr
+00186E E0                MOVX    A,@DPTR
+00186F FC                MOV     R4,A
+001870 A3                INC     DPTR
+001871 E0                MOVX    A,@DPTR
+001872 FD                MOV     R5,A
+001873 A3                INC     DPTR
+001874 E0                MOVX    A,@DPTR
+001875 FE                MOV     R6,A
+001876 A3                INC     DPTR
+001877 E0                MOVX    A,@DPTR
+001878 E4                CLR     A
+001879 FF                MOV     R7,A
+00187A EE                MOV     A,R6
+00187B 5402              ANL     A,#02H
+00187D FE                MOV     R6,A
+00187E E4                CLR     A
+00187F FD                MOV     R5,A
+001880 FC                MOV     R4,A
+001881 EE                MOV     A,R6
+001882 6007              JZ      ?C0090?KB_PROCESS
   280: 	{
   281: 		g_variable.gamepad_key0 |= 0x01;
-001876 904D0B            MOV     DPTR,#g_variable+04CH
-001879 E0                MOVX    A,@DPTR
-00187A 4401              ORL     A,#01H
-00187C F0                MOVX    @DPTR,A
+001884 904D0B            MOV     DPTR,#g_variable+04CH
+001887 E0                MOVX    A,@DPTR
+001888 4401              ORL     A,#01H
+00188A F0                MOVX    @DPTR,A
   282: 	}
-00187D         ?C0090?KB_PROCESS:
+00188B         ?C0090?KB_PROCESS:
   283: 	if(ksSelMapCurr & 0x80)		// L2
-00187D 904D9B            MOV     DPTR,#ksSelMapCurr
-001880 E0                MOVX    A,@DPTR
-001881 FC                MOV     R4,A
-001882 A3                INC     DPTR
-001883 E0                MOVX    A,@DPTR
-001884 FD                MOV     R5,A
-001885 A3                INC     DPTR
-001886 E0                MOVX    A,@DPTR
-001887 FE                MOV     R6,A
-001888 A3                INC     DPTR
-001889 E0                MOVX    A,@DPTR
-00188A 5480              ANL     A,#080H
-00188C FF                MOV     R7,A
-00188D E4                CLR     A
-00188E FE                MOV     R6,A
-00188F FD                MOV     R5,A
-001890 FC                MOV     R4,A
-001891 EF                MOV     A,R7
-001892 6007              JZ      ?C0091?KB_PROCESS
+00188B 904D9B            MOV     DPTR,#ksSelMapCurr
+00188E E0                MOVX    A,@DPTR
+00188F FC                MOV     R4,A
+001890 A3                INC     DPTR
+001891 E0                MOVX    A,@DPTR
+001892 FD                MOV     R5,A
+001893 A3                INC     DPTR
+001894 E0                MOVX    A,@DPTR
+001895 FE                MOV     R6,A
+001896 A3                INC     DPTR
+001897 E0                MOVX    A,@DPTR
+001898 5480              ANL     A,#080H
+00189A FF                MOV     R7,A
+00189B E4                CLR     A
+00189C FE                MOV     R6,A
+00189D FD                MOV     R5,A
+00189E FC                MOV     R4,A
+00189F EF                MOV     A,R7
+0018A0 6007              JZ      ?C0091?KB_PROCESS
   284: 	{
   285: 		g_variable.gamepad_key0 |= 0x04;
-001894 904D0B            MOV     DPTR,#g_variable+04CH
-001897 E0                MOVX    A,@DPTR
-001898 4404              ORL     A,#04H
-00189A F0                MOVX    @DPTR,A
+0018A2 904D0B            MOV     DPTR,#g_variable+04CH
+0018A5 E0                MOVX    A,@DPTR
+0018A6 4404              ORL     A,#04H
+0018A8 F0                MOVX    @DPTR,A
   286: 	}
-00189B         ?C0091?KB_PROCESS:
+0018A9         ?C0091?KB_PROCESS:
   287: 	if(ksSelMapCurr & 0x100)		// R1
-00189B 904D9B            MOV     DPTR,#ksSelMapCurr
-00189E E0                MOVX    A,@DPTR
-00189F FC                MOV     R4,A
-0018A0 A3                INC     DPTR
-0018A1 E0                MOVX    A,@DPTR
-0018A2 FD                MOV     R5,A
-0018A3 A3                INC     DPTR
-0018A4 E0                MOVX    A,@DPTR
-0018A5 FE                MOV     R6,A
-0018A6 A3                INC     DPTR
-0018A7 E0                MOVX    A,@DPTR
-0018A8 E4                CLR     A
-0018A9 FF                MOV     R7,A
-0018AA EE                MOV     A,R6
-0018AB 5401              ANL     A,#01H
-0018AD FE                MOV     R6,A
-0018AE E4                CLR     A
-0018AF FD                MOV     R5,A
-0018B0 FC                MOV     R4,A
-0018B1 EE                MOV     A,R6
-0018B2 6007              JZ      ?C0092?KB_PROCESS
+0018A9 904D9B            MOV     DPTR,#ksSelMapCurr
+0018AC E0                MOVX    A,@DPTR
+0018AD FC                MOV     R4,A
+0018AE A3                INC     DPTR
+0018AF E0                MOVX    A,@DPTR
+0018B0 FD                MOV     R5,A
+0018B1 A3                INC     DPTR
+0018B2 E0                MOVX    A,@DPTR
+0018B3 FE                MOV     R6,A
+0018B4 A3                INC     DPTR
+0018B5 E0                MOVX    A,@DPTR
+0018B6 E4                CLR     A
+0018B7 FF                MOV     R7,A
+0018B8 EE                MOV     A,R6
+0018B9 5401              ANL     A,#01H
+0018BB FE                MOV     R6,A
+0018BC E4                CLR     A
+0018BD FD                MOV     R5,A
+0018BE FC                MOV     R4,A
+0018BF EE                MOV     A,R6
+0018C0 6007              JZ      ?C0092?KB_PROCESS
   288: 	{
   289: 		g_variable.gamepad_key0 |= 0x02;
-0018B4 904D0B            MOV     DPTR,#g_variable+04CH
-0018B7 E0                MOVX    A,@DPTR
-0018B8 4402              ORL     A,#02H
-0018BA F0                MOVX    @DPTR,A
+0018C2 904D0B            MOV     DPTR,#g_variable+04CH
+0018C5 E0                MOVX    A,@DPTR
+0018C6 4402              ORL     A,#02H
+0018C8 F0                MOVX    @DPTR,A
   290: 	}
-0018BB         ?C0092?KB_PROCESS:
+0018C9         ?C0092?KB_PROCESS:
   291: 	if(ksSelMapCurr & 0x40)		// R2
-0018BB 904D9B            MOV     DPTR,#ksSelMapCurr
-0018BE E0                MOVX    A,@DPTR
-0018BF FC                MOV     R4,A
-0018C0 A3                INC     DPTR
-0018C1 E0                MOVX    A,@DPTR
-0018C2 FD                MOV     R5,A
-0018C3 A3                INC     DPTR
-0018C4 E0                MOVX    A,@DPTR
-0018C5 FE                MOV     R6,A
-0018C6 A3                INC     DPTR
-0018C7 E0                MOVX    A,@DPTR
-0018C8 5440              ANL     A,#040H
-0018CA FF                MOV     R7,A
-0018CB E4                CLR     A
-0018CC FE                MOV     R6,A
-0018CD FD                MOV     R5,A
-0018CE FC                MOV     R4,A
-0018CF EF                MOV     A,R7
-0018D0 6007              JZ      ?C0093?KB_PROCESS
+0018C9 904D9B            MOV     DPTR,#ksSelMapCurr
+0018CC E0                MOVX    A,@DPTR
+0018CD FC                MOV     R4,A
+0018CE A3                INC     DPTR
+0018CF E0                MOVX    A,@DPTR
+0018D0 FD                MOV     R5,A
+0018D1 A3                INC     DPTR
+0018D2 E0                MOVX    A,@DPTR
+0018D3 FE                MOV     R6,A
+0018D4 A3                INC     DPTR
+0018D5 E0                MOVX    A,@DPTR
+0018D6 5440              ANL     A,#040H
+0018D8 FF                MOV     R7,A
+0018D9 E4                CLR     A
+0018DA FE                MOV     R6,A
+0018DB FD                MOV     R5,A
+0018DC FC                MOV     R4,A
+0018DD EF                MOV     A,R7
+0018DE 6007              JZ      ?C0093?KB_PROCESS
   292: 	{
   293: 		g_variable.gamepad_key0 |= 0x08;
-0018D2 904D0B            MOV     DPTR,#g_variable+04CH
-0018D5 E0                MOVX    A,@DPTR
-0018D6 4408              ORL     A,#08H
-0018D8 F0                MOVX    @DPTR,A
+0018E0 904D0B            MOV     DPTR,#g_variable+04CH
+0018E3 E0                MOVX    A,@DPTR
+0018E4 4408              ORL     A,#08H
+0018E6 F0                MOVX    @DPTR,A
   294: 	}
-0018D9         ?C0093?KB_PROCESS:
+0018E7         ?C0093?KB_PROCESS:
   295: 
   296: 	if(ksSelMapCurr & 0x08)		// S1
-0018D9 904D9B            MOV     DPTR,#ksSelMapCurr
-0018DC E0                MOVX    A,@DPTR
-0018DD FC                MOV     R4,A
-0018DE A3                INC     DPTR
-0018DF E0                MOVX    A,@DPTR
-0018E0 FD                MOV     R5,A
-0018E1 A3                INC     DPTR
-0018E2 E0                MOVX    A,@DPTR
-0018E3 FE                MOV     R6,A
-0018E4 A3                INC     DPTR
-0018E5 E0                MOVX    A,@DPTR
-0018E6 5408              ANL     A,#08H
-0018E8 FF                MOV     R7,A
-0018E9 E4                CLR     A
-0018EA FE                MOV     R6,A
-0018EB FD                MOV     R5,A
-0018EC FC                MOV     R4,A
-0018ED EF                MOV     A,R7
-0018EE 6007              JZ      ?C0094?KB_PROCESS
+0018E7 904D9B            MOV     DPTR,#ksSelMapCurr
+0018EA E0                MOVX    A,@DPTR
+0018EB FC                MOV     R4,A
+0018EC A3                INC     DPTR
+0018ED E0                MOVX    A,@DPTR
+0018EE FD                MOV     R5,A
+0018EF A3                INC     DPTR
+0018F0 E0                MOVX    A,@DPTR
+0018F1 FE                MOV     R6,A
+0018F2 A3                INC     DPTR
+0018F3 E0                MOVX    A,@DPTR
+0018F4 5408              ANL     A,#08H
+0018F6 FF                MOV     R7,A
+0018F7 E4                CLR     A
+0018F8 FE                MOV     R6,A
+0018F9 FD                MOV     R5,A
+0018FA FC                MOV     R4,A
+0018FB EF                MOV     A,R7
+0018FC 6007              JZ      ?C0094?KB_PROCESS
   297: 	{
   298: 		g_variable.gamepad_key0 |= 0x40;
-0018F0 904D0B            MOV     DPTR,#g_variable+04CH
-0018F3 E0                MOVX    A,@DPTR
-0018F4 4440              ORL     A,#040H
-0018F6 F0                MOVX    @DPTR,A
+0018FE 904D0B            MOV     DPTR,#g_variable+04CH
+001901 E0                MOVX    A,@DPTR
+001902 4440              ORL     A,#040H
+001904 F0                MOVX    @DPTR,A
   299: 	}
-0018F7         ?C0094?KB_PROCESS:
+001905         ?C0094?KB_PROCESS:
   300: 	if(ksSelMapCurr & 0x04)		// S2
-0018F7 904D9B            MOV     DPTR,#ksSelMapCurr
-0018FA E0                MOVX    A,@DPTR
-0018FB FC                MOV     R4,A
-0018FC A3                INC     DPTR
-0018FD E0                MOVX    A,@DPTR
-0018FE FD                MOV     R5,A
-0018FF A3                INC     DPTR
-001900 E0                MOVX    A,@DPTR
-001901 FE                MOV     R6,A
-001902 A3                INC     DPTR
-001903 E0                MOVX    A,@DPTR
-001904 5404              ANL     A,#04H
-001906 FF                MOV     R7,A
-001907 E4                CLR     A
-001908 FE                MOV     R6,A
-001909 FD                MOV     R5,A
-00190A FC                MOV     R4,A
-00190B EF                MOV     A,R7
-00190C 6007              JZ      ?C0095?KB_PROCESS
+001905 904D9B            MOV     DPTR,#ksSelMapCurr
+001908 E0                MOVX    A,@DPTR
+001909 FC                MOV     R4,A
+00190A A3                INC     DPTR
+00190B E0                MOVX    A,@DPTR
+00190C FD                MOV     R5,A
+00190D A3                INC     DPTR
+00190E E0                MOVX    A,@DPTR
+00190F FE                MOV     R6,A
+001910 A3                INC     DPTR
+001911 E0                MOVX    A,@DPTR
+001912 5404              ANL     A,#04H
+001914 FF                MOV     R7,A
+001915 E4                CLR     A
+001916 FE                MOV     R6,A
+001917 FD                MOV     R5,A
+001918 FC                MOV     R4,A
+001919 EF                MOV     A,R7
+00191A 6007              JZ      ?C0095?KB_PROCESS
   301: 	{
   302: 		g_variable.gamepad_key0 |= 0x80;
-00190E 904D0B            MOV     DPTR,#g_variable+04CH
-001911 E0                MOVX    A,@DPTR
-001912 4480              ORL     A,#080H
-001914 F0                MOVX    @DPTR,A
+00191C 904D0B            MOV     DPTR,#g_variable+04CH
+00191F E0                MOVX    A,@DPTR
+001920 4480              ORL     A,#080H
+001922 F0                MOVX    @DPTR,A
   303: 	}
-001915         ?C0095?KB_PROCESS:
+001923         ?C0095?KB_PROCESS:
   304: 	if(ksSelMapCurr & 0x20)		// SELECT
-001915 904D9B            MOV     DPTR,#ksSelMapCurr
-001918 E0                MOVX    A,@DPTR
-001919 FC                MOV     R4,A
-00191A A3                INC     DPTR
-00191B E0                MOVX    A,@DPTR
-00191C FD                MOV     R5,A
-00191D A3                INC     DPTR
-00191E E0                MOVX    A,@DPTR
-00191F FE                MOV     R6,A
-001920 A3                INC     DPTR
-001921 E0                MOVX    A,@DPTR
-001922 5420              ANL     A,#020H
-001924 FF                MOV     R7,A
-001925 E4                CLR     A
-001926 FE                MOV     R6,A
-001927 FD                MOV     R5,A
-001928 FC                MOV     R4,A
-001929 EF                MOV     A,R7
-00192A 6007              JZ      ?C0096?KB_PROCESS
+001923 904D9B            MOV     DPTR,#ksSelMapCurr
+001926 E0                MOVX    A,@DPTR
+001927 FC                MOV     R4,A
+001928 A3                INC     DPTR
+001929 E0                MOVX    A,@DPTR
+00192A FD                MOV     R5,A
+00192B A3                INC     DPTR
+00192C E0                MOVX    A,@DPTR
+00192D FE                MOV     R6,A
+00192E A3                INC     DPTR
+00192F E0                MOVX    A,@DPTR
+001930 5420              ANL     A,#020H
+001932 FF                MOV     R7,A
+001933 E4                CLR     A
+001934 FE                MOV     R6,A
+001935 FD                MOV     R5,A
+001936 FC                MOV     R4,A
+001937 EF                MOV     A,R7
+001938 6007              JZ      ?C0096?KB_PROCESS
   305: 	{
   306: 		g_variable.gamepad_key0 |= 0x10;
-00192C 904D0B            MOV     DPTR,#g_variable+04CH
-00192F E0                MOVX    A,@DPTR
-001930 4410              ORL     A,#010H
-001932 F0                MOVX    @DPTR,A
+00193A 904D0B            MOV     DPTR,#g_variable+04CH
+00193D E0                MOVX    A,@DPTR
+00193E 4410              ORL     A,#010H
+001940 F0                MOVX    @DPTR,A
   307: 	}
-001933         ?C0096?KB_PROCESS:
+001941         ?C0096?KB_PROCESS:
   308: 	if(ksSelMapCurr & 0x10)		// START
-001933 904D9B            MOV     DPTR,#ksSelMapCurr
-001936 E0                MOVX    A,@DPTR
-001937 FC                MOV     R4,A
-001938 A3                INC     DPTR
-001939 E0                MOVX    A,@DPTR
-00193A FD                MOV     R5,A
-00193B A3                INC     DPTR
-00193C E0                MOVX    A,@DPTR
-00193D FE                MOV     R6,A
-00193E A3                INC     DPTR
-00193F E0                MOVX    A,@DPTR
-001940 5410              ANL     A,#010H
-001942 FF                MOV     R7,A
-001943 E4                CLR     A
-001944 FE                MOV     R6,A
-001945 FD                MOV     R5,A
-001946 FC                MOV     R4,A
-001947 EF                MOV     A,R7
-001948 6007              JZ      ?C0097?KB_PROCESS
+001941 904D9B            MOV     DPTR,#ksSelMapCurr
+001944 E0                MOVX    A,@DPTR
+001945 FC                MOV     R4,A
+001946 A3                INC     DPTR
+001947 E0                MOVX    A,@DPTR
+001948 FD                MOV     R5,A
+001949 A3                INC     DPTR
+00194A E0                MOVX    A,@DPTR
+00194B FE                MOV     R6,A
+00194C A3                INC     DPTR
+00194D E0                MOVX    A,@DPTR
+00194E 5410              ANL     A,#010H
+001950 FF                MOV     R7,A
+001951 E4                CLR     A
+001952 FE                MOV     R6,A
+001953 FD                MOV     R5,A
+001954 FC                MOV     R4,A
+001955 EF                MOV     A,R7
+001956 6007              JZ      ?C0097?KB_PROCESS
   309: 	{
   310: 		g_variable.gamepad_key0 |= 0x20;
-00194A 904D0B            MOV     DPTR,#g_variable+04CH
-00194D E0                MOVX    A,@DPTR
-00194E 4420              ORL     A,#020H
-001950 F0                MOVX    @DPTR,A
+001958 904D0B            MOV     DPTR,#g_variable+04CH
+00195B E0                MOVX    A,@DPTR
+00195C 4420              ORL     A,#020H
+00195E F0                MOVX    @DPTR,A
   311: 	}
-001951         ?C0097?KB_PROCESS:
+00195F         ?C0097?KB_PROCESS:
   312: 
   313: 	if(ksSelMapCurr & 0x02)		// MODE
-001951 904D9B            MOV     DPTR,#ksSelMapCurr
-001954 E0                MOVX    A,@DPTR
-001955 FC                MOV     R4,A
-001956 A3                INC     DPTR
-001957 E0                MOVX    A,@DPTR
-001958 FD                MOV     R5,A
-001959 A3                INC     DPTR
-00195A E0                MOVX    A,@DPTR
-00195B FE                MOV     R6,A
-00195C A3                INC     DPTR
-00195D E0                MOVX    A,@DPTR
-00195E 5402              ANL     A,#02H
-001960 FF                MOV     R7,A
-001961 E4                CLR     A
-001962 FE                MOV     R6,A
-001963 FD                MOV     R5,A
-001964 FC                MOV     R4,A
-001965 EF                MOV     A,R7
-001966 6007              JZ      ?C0098?KB_PROCESS
+00195F 904D9B            MOV     DPTR,#ksSelMapCurr
+001962 E0                MOVX    A,@DPTR
+001963 FC                MOV     R4,A
+001964 A3                INC     DPTR
+001965 E0                MOVX    A,@DPTR
+001966 FD                MOV     R5,A
+001967 A3                INC     DPTR
+001968 E0                MOVX    A,@DPTR
+001969 FE                MOV     R6,A
+00196A A3                INC     DPTR
+00196B E0                MOVX    A,@DPTR
+00196C 5402              ANL     A,#02H
+00196E FF                MOV     R7,A
+00196F E4                CLR     A
+001970 FE                MOV     R6,A
+001971 FD                MOV     R5,A
+001972 FC                MOV     R4,A
+001973 EF                MOV     A,R7
+001974 6007              JZ      ?C0098?KB_PROCESS
   314: 	{
   315: 		g_variable.gamepad_key1 |= 0x01;	
-001968 904D0C            MOV     DPTR,#g_variable+04DH
-00196B E0                MOVX    A,@DPTR
-00196C 4401              ORL     A,#01H
-00196E F0                MOVX    @DPTR,A
+001976 904D0C            MOV     DPTR,#g_variable+04DH
+001979 E0                MOVX    A,@DPTR
+00197A 4401              ORL     A,#01H
+00197C F0                MOVX    @DPTR,A
   316: 	}
-00196F         ?C0098?KB_PROCESS:
+00197D         ?C0098?KB_PROCESS:
   317: 
-  318: 	if((g_variable.gamepad_key1_last == 0) && (g_variable.gamepad_key1 == 1))
-00196F 904D0D            MOV     DPTR,#g_variable+04EH
-001972 E0                MOVX    A,@DPTR
-001973 701D              JNZ     ?C0099?KB_PROCESS
-001975 904D0C            MOV     DPTR,#g_variable+04DH
-001978 E0                MOVX    A,@DPTR
-001979 B40116            CJNE    A,#01H,?C0099?KB_PROCESS
+  318: 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+00197D 904CC5            MOV     DPTR,#g_variable+06H
+001980 E0                MOVX    A,@DPTR
+001981 B40323            CJNE    A,#03H,?C0099?KB_PROCESS
   319: 	{
-  320: 		if(g_variable.system_mode)
-00197C 904CC1            MOV     DPTR,#g_variable+02H
-00197F E0                MOVX    A,@DPTR
-001980 6004              JZ      ?C0100?KB_PROCESS
-  321: 			g_variable.system_mode = 0;
-001982 E4                CLR     A
-001983 F0                MOVX    @DPTR,A
-001984 8006              SJMP    ?C0101?KB_PROCESS
-001986         ?C0100?KB_PROCESS:
-  322: 		else
-  323: 			g_variable.system_mode = 1;
-001986 904CC1            MOV     DPTR,#g_variable+02H
-001989 7401              MOV     A,#01H
-00198B F0                MOVX    @DPTR,A
-00198C         ?C0101?KB_PROCESS:
-  324: 		g_variable.update_eeprom_flag = 1;
-00198C 904CBF            MOV     DPTR,#g_variable
-00198F 7401              MOV     A,#01H
-001991 F0                MOVX    @DPTR,A
-  325: 	}
-001992         ?C0099?KB_PROCESS:
-  326: 	g_variable.gamepad_key1_last = g_variable.gamepad_key1;
-001992 904D0C            MOV     DPTR,#g_variable+04DH
-001995 E0                MOVX    A,@DPTR
-001996 A3                INC     DPTR
-001997 F0                MOVX    @DPTR,A
-  327: 
-  328: 
-  329: 	if(g_variable.gamepad_z != 0x80 || g_variable.gamepad_rz != 0x80 || g_variable.gamepad_x != 0x80 || g_variable.g
->> amepad_y != 0x80
-001998 904D06            MOV     DPTR,#g_variable+047H
-00199B E0                MOVX    A,@DPTR
-00199C 6480              XRL     A,#080H
-00199E 701D              JNZ     ?C0103?KB_PROCESS
-0019A0 A3                INC     DPTR
-0019A1 E0                MOVX    A,@DPTR
-0019A2 6480              XRL     A,#080H
-0019A4 7017              JNZ     ?C0103?KB_PROCESS
-0019A6 A3                INC     DPTR
-0019A7 E0                MOVX    A,@DPTR
-0019A8 B48012            CJNE    A,#080H,?C0103?KB_PROCESS
+  320: 		if((g_variable.gamepad_key1_last == 0) && (g_variable.gamepad_key1 == 1))
+001984 904D0D            MOV     DPTR,#g_variable+04EH
+001987 E0                MOVX    A,@DPTR
+001988 701D              JNZ     ?C0099?KB_PROCESS
+00198A 904D0C            MOV     DPTR,#g_variable+04DH
+00198D E0                MOVX    A,@DPTR
+00198E B40116            CJNE    A,#01H,?C0099?KB_PROCESS
+  321: 		{
+  322: 			if(g_variable.system_mode)
+001991 904CC1            MOV     DPTR,#g_variable+02H
+001994 E0                MOVX    A,@DPTR
+001995 6004              JZ      ?C0101?KB_PROCESS
+  323: 				g_variable.system_mode = 0;
+001997 E4                CLR     A
+001998 F0                MOVX    @DPTR,A
+001999 8006              SJMP    ?C0102?KB_PROCESS
+00199B         ?C0101?KB_PROCESS:
+  324: 			else
+  325: 				g_variable.system_mode = 1;
+00199B 904CC1            MOV     DPTR,#g_variable+02H
+00199E 7401              MOV     A,#01H
+0019A0 F0                MOVX    @DPTR,A
+0019A1         ?C0102?KB_PROCESS:
+  326: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_MODE;
+0019A1 904CBF            MOV     DPTR,#g_variable
+0019A4 7402              MOV     A,#02H
+0019A6 F0                MOVX    @DPTR,A
+  327: 		}
+  328: 	}
+0019A7         ?C0099?KB_PROCESS:
+  329: 	g_variable.gamepad_key1_last = g_variable.gamepad_key1;
+0019A7 904D0C            MOV     DPTR,#g_variable+04DH
+0019AA E0                MOVX    A,@DPTR
 0019AB A3                INC     DPTR
-0019AC E0                MOVX    A,@DPTR
-0019AD B4800D            CJNE    A,#080H,?C0103?KB_PROCESS
-0019B0 A3                INC     DPTR
-0019B1 E0                MOVX    A,@DPTR
-0019B2 B40F08            CJNE    A,#0FH,?C0103?KB_PROCESS
+0019AC F0                MOVX    @DPTR,A
+  330: 
+  331: 
+  332: 	if(g_variable.gamepad_z != 0x80 || g_variable.gamepad_rz != 0x80 || g_variable.gamepad_x != 0x80 || g_variable.g
+>> amepad_y != 0x80
+0019AD 904D06            MOV     DPTR,#g_variable+047H
+0019B0 E0                MOVX    A,@DPTR
+0019B1 6480              XRL     A,#080H
+0019B3 701D              JNZ     ?C0104?KB_PROCESS
 0019B5 A3                INC     DPTR
 0019B6 E0                MOVX    A,@DPTR
-0019B7 6004              JZ      ?C0103?KB_PROCESS
-0019B9 A3                INC     DPTR
-0019BA E0                MOVX    A,@DPTR
-0019BB 7007              JNZ     ?C0102?KB_PROCESS
-0019BD         ?C0103?KB_PROCESS:
-  330: 	|| g_variable.gamepad_hatswitch != 0x0f || !g_variable.gamepad_key0 || !g_variable.gamepad_key1)
-  331: 		g_variable.sleepTimer = 0;
-0019BD E4                CLR     A
-0019BE 904CF5            MOV     DPTR,#g_variable+036H
-0019C1 F0                MOVX    @DPTR,A
-0019C2 A3                INC     DPTR
-0019C3 F0                MOVX    @DPTR,A
-0019C4         ?C0102?KB_PROCESS:
-  332: 
-  333: 	multikey[0] = HID_REPORTID_GAMEPAD;
-0019C4 904DE9            MOV     DPTR,#multikey
-0019C7 7409              MOV     A,#09H
-0019C9 F0                MOVX    @DPTR,A
-  334: 	multikey[1] = g_variable.gamepad_z;
-0019CA 904D06            MOV     DPTR,#g_variable+047H
-0019CD E0                MOVX    A,@DPTR
-0019CE 904DEA            MOV     DPTR,#multikey+01H
-0019D1 F0                MOVX    @DPTR,A
-  335: 	multikey[2] = g_variable.gamepad_rz;
-0019D2 904D07            MOV     DPTR,#g_variable+048H
-0019D5 E0                MOVX    A,@DPTR
-0019D6 904DEB            MOV     DPTR,#multikey+02H
-0019D9 F0                MOVX    @DPTR,A
-  336: 	multikey[3] = g_variable.gamepad_x;
-0019DA 904D08            MOV     DPTR,#g_variable+049H
-0019DD E0                MOVX    A,@DPTR
-0019DE 904DEC            MOV     DPTR,#multikey+03H
-0019E1 F0                MOVX    @DPTR,A
-  337: 	multikey[4] = g_variable.gamepad_y;
-0019E2 904D09            MOV     DPTR,#g_variable+04AH
-0019E5 E0                MOVX    A,@DPTR
-0019E6 904DED            MOV     DPTR,#multikey+04H
-0019E9 F0                MOVX    @DPTR,A
-  338: 	multikey[5] = g_variable.gamepad_hatswitch;
-0019EA 904D0A            MOV     DPTR,#g_variable+04BH
-0019ED E0                MOVX    A,@DPTR
-0019EE 904DEE            MOV     DPTR,#multikey+05H
-0019F1 F0                MOVX    @DPTR,A
-  339: 	multikey[6] = g_variable.gamepad_key0;
-0019F2 904D0B            MOV     DPTR,#g_variable+04CH
-0019F5 E0                MOVX    A,@DPTR
-0019F6 904DEF            MOV     DPTR,#multikey+06H
-0019F9 F0                MOVX    @DPTR,A
-  340: 	multikey[7] = g_variable.gamepad_key1;
-0019FA 904D0C            MOV     DPTR,#g_variable+04DH
-0019FD E0                MOVX    A,@DPTR
-0019FE 904DF0            MOV     DPTR,#multikey+07H
-001A01 F0                MOVX    @DPTR,A
-  341: 	IPC_TxHidData(multikey, 8);
-001A02 7B01              MOV     R3,#01H
-001A04 7A4D              MOV     R2,#HIGH multikey
-001A06 79E9              MOV     R1,#LOW multikey
-001A08 7D08              MOV     R5,#08H
-001A0A 120FDA            LCALL   _IPC_TxHidData
-  342: 	xmemclear(multikey,9);
-001A0D 7B01              MOV     R3,#01H
-001A0F 7A4D              MOV     R2,#HIGH multikey
-001A11 79E9              MOV     R1,#LOW multikey
-001A13 7D09              MOV     R5,#09H
-001A15 7C00              MOV     R4,#00H
+0019B7 6480              XRL     A,#080H
+0019B9 7017              JNZ     ?C0104?KB_PROCESS
+0019BB A3                INC     DPTR
+0019BC E0                MOVX    A,@DPTR
+0019BD B48012            CJNE    A,#080H,?C0104?KB_PROCESS
+0019C0 A3                INC     DPTR
+0019C1 E0                MOVX    A,@DPTR
+0019C2 B4800D            CJNE    A,#080H,?C0104?KB_PROCESS
+0019C5 A3                INC     DPTR
+0019C6 E0                MOVX    A,@DPTR
+0019C7 B40F08            CJNE    A,#0FH,?C0104?KB_PROCESS
+0019CA A3                INC     DPTR
+0019CB E0                MOVX    A,@DPTR
+0019CC 6004              JZ      ?C0104?KB_PROCESS
+0019CE A3                INC     DPTR
+0019CF E0                MOVX    A,@DPTR
+0019D0 7007              JNZ     ?C0103?KB_PROCESS
+0019D2         ?C0104?KB_PROCESS:
+  333: 	|| g_variable.gamepad_hatswitch != 0x0f || !g_variable.gamepad_key0 || !g_variable.gamepad_key1)
+  334: 		g_variable.sleepTimer = 0;
+0019D2 E4                CLR     A
+0019D3 904CF5            MOV     DPTR,#g_variable+036H
+0019D6 F0                MOVX    @DPTR,A
+0019D7 A3                INC     DPTR
+0019D8 F0                MOVX    @DPTR,A
+0019D9         ?C0103?KB_PROCESS:
+  335: 
+  336: 	multikey[0] = HID_REPORTID_GAMEPAD;
+0019D9 904DE9            MOV     DPTR,#multikey
+0019DC 7409              MOV     A,#09H
+0019DE F0                MOVX    @DPTR,A
+  337: 	multikey[1] = g_variable.gamepad_z;
+0019DF 904D06            MOV     DPTR,#g_variable+047H
+0019E2 E0                MOVX    A,@DPTR
+0019E3 904DEA            MOV     DPTR,#multikey+01H
+0019E6 F0                MOVX    @DPTR,A
+  338: 	multikey[2] = g_variable.gamepad_rz;
+0019E7 904D07            MOV     DPTR,#g_variable+048H
+0019EA E0                MOVX    A,@DPTR
+0019EB 904DEB            MOV     DPTR,#multikey+02H
+0019EE F0                MOVX    @DPTR,A
+  339: 	multikey[3] = g_variable.gamepad_x;
+0019EF 904D08            MOV     DPTR,#g_variable+049H
+0019F2 E0                MOVX    A,@DPTR
+0019F3 904DEC            MOV     DPTR,#multikey+03H
+0019F6 F0                MOVX    @DPTR,A
+  340: 	multikey[4] = g_variable.gamepad_y;
+0019F7 904D09            MOV     DPTR,#g_variable+04AH
+0019FA E0                MOVX    A,@DPTR
+0019FB 904DED            MOV     DPTR,#multikey+04H
+0019FE F0                MOVX    @DPTR,A
+  341: 	multikey[5] = g_variable.gamepad_hatswitch;
+0019FF 904D0A            MOV     DPTR,#g_variable+04BH
+001A02 E0                MOVX    A,@DPTR
+001A03 904DEE            MOV     DPTR,#multikey+05H
+001A06 F0                MOVX    @DPTR,A
+  342: 	multikey[6] = g_variable.gamepad_key0;
+001A07 904D0B            MOV     DPTR,#g_variable+04CH
+001A0A E0                MOVX    A,@DPTR
+001A0B 904DEF            MOV     DPTR,#multikey+06H
+001A0E F0                MOVX    @DPTR,A
+  343: 	multikey[7] = g_variable.gamepad_key1;
+001A0F 904D0C            MOV     DPTR,#g_variable+04DH
+001A12 E0                MOVX    A,@DPTR
+001A13 904DF0            MOV     DPTR,#multikey+07H
+001A16 F0                MOVX    @DPTR,A
+  344: 	IPC_TxHidData(multikey, 8);
+001A17 7B01              MOV     R3,#01H
+001A19 7A4D              MOV     R2,#HIGH multikey
+001A1B 79E9              MOV     R1,#LOW multikey
+001A1D 7D08              MOV     R5,#08H
+001A1F 120FE8            LCALL   _IPC_TxHidData
+  345: 	xmemclear(multikey,9);
+001A22 7B01              MOV     R3,#01H
+001A24 7A4D              MOV     R2,#HIGH multikey
+001A26 79E9              MOV     R1,#LOW multikey
+001A28 7D09              MOV     R5,#09H
+001A2A 7C00              MOV     R4,#00H
 ;----                  JMP     _xmemclear
-  343: }
+  346: }
 ----- FUNCTION kb_set_gamepad_data (END) -------
 
 
 ----- FUNCTION _xmemclear (BEGIN) -----
-001A17 904E74            MOV     DPTR,#dest
-001A1A EB                MOV     A,R3
-001A1B F0                MOVX    @DPTR,A
-001A1C A3                INC     DPTR
-001A1D EA                MOV     A,R2
-001A1E F0                MOVX    @DPTR,A
-001A1F A3                INC     DPTR
-001A20 E9                MOV     A,R1
-001A21 F0                MOVX    @DPTR,A
-;---- Variable 'len' assigned to Register 'R4/R5' ----
-001A22         ?C0008?UTILITIES:
-001A22 ED                MOV     A,R5
-001A23 1D                DEC     R5
-001A24 AE04              MOV     R6,AR4
-001A26 7001              JNZ     ?C0026?UTILITIES
-001A28 1C                DEC     R4
-001A29         ?C0026?UTILITIES:
-001A29 4E                ORL     A,R6
-001A2A 6016              JZ      ?C0010?UTILITIES
 001A2C 904E74            MOV     DPTR,#dest
-001A2F E0                MOVX    A,@DPTR
-001A30 FB                MOV     R3,A
+001A2F EB                MOV     A,R3
+001A30 F0                MOVX    @DPTR,A
 001A31 A3                INC     DPTR
-001A32 E4                CLR     A
-001A33 75F001            MOV     B,#01H
-001A36 120167            LCALL   ?C?ILDIX
-001A39 A9F0              MOV     R1,B
-001A3B FA                MOV     R2,A
-001A3C E4                CLR     A
-001A3D 12013F            LCALL   ?C?CSTPTR
-001A40 80E0              SJMP    ?C0008?UTILITIES
-001A42         ?C0010?UTILITIES:
-001A42 22                RET     
+001A32 EA                MOV     A,R2
+001A33 F0                MOVX    @DPTR,A
+001A34 A3                INC     DPTR
+001A35 E9                MOV     A,R1
+001A36 F0                MOVX    @DPTR,A
+;---- Variable 'len' assigned to Register 'R4/R5' ----
+001A37         ?C0008?UTILITIES:
+001A37 ED                MOV     A,R5
+001A38 1D                DEC     R5
+001A39 AE04              MOV     R6,AR4
+001A3B 7001              JNZ     ?C0026?UTILITIES
+001A3D 1C                DEC     R4
+001A3E         ?C0026?UTILITIES:
+001A3E 4E                ORL     A,R6
+001A3F 6016              JZ      ?C0010?UTILITIES
+001A41 904E74            MOV     DPTR,#dest
+001A44 E0                MOVX    A,@DPTR
+001A45 FB                MOV     R3,A
+001A46 A3                INC     DPTR
+001A47 E4                CLR     A
+001A48 75F001            MOV     B,#01H
+001A4B 120167            LCALL   ?C?ILDIX
+001A4E A9F0              MOV     R1,B
+001A50 FA                MOV     R2,A
+001A51 E4                CLR     A
+001A52 12013F            LCALL   ?C?CSTPTR
+001A55 80E0              SJMP    ?C0008?UTILITIES
+001A57         ?C0010?UTILITIES:
+001A57 22                RET     
 ----- FUNCTION _xmemclear (END) -------
 
 
@@ -5265,65 +5281,65 @@
    14: {
    15: 	xmemclear((byte *)&g_variable,sizeof(G_VARIABLE_MAP));
    16: 	xmemclear(hidBuff,9);
-001A43 7B01              MOV     R3,#01H
-001A45 7A4C              MOV     R2,#HIGH g_variable
-001A47 79BF              MOV     R1,#LOW g_variable
-001A49 7D57              MOV     R5,#057H
-001A4B 7C00              MOV     R4,#00H
-001A4D 5117              ACALL   _xmemclear
+001A58 7B01              MOV     R3,#01H
+001A5A 7A4C              MOV     R2,#HIGH g_variable
+001A5C 79BF              MOV     R1,#LOW g_variable
+001A5E 7D57              MOV     R5,#057H
+001A60 7C00              MOV     R4,#00H
+001A62 512C              ACALL   _xmemclear
    17: 	xmemclear(multikey,9);
-001A4F 7B01              MOV     R3,#01H
-001A51 7A48              MOV     R2,#HIGH hidBuff
-001A53 7900              MOV     R1,#LOW hidBuff
-001A55 7D09              MOV     R5,#09H
-001A57 7C00              MOV     R4,#00H
-001A59 5117              ACALL   _xmemclear
+001A64 7B01              MOV     R3,#01H
+001A66 7A48              MOV     R2,#HIGH hidBuff
+001A68 7900              MOV     R1,#LOW hidBuff
+001A6A 7D09              MOV     R5,#09H
+001A6C 7C00              MOV     R4,#00H
+001A6E 512C              ACALL   _xmemclear
    18:  
-001A5B 7B01              MOV     R3,#01H
-001A5D 7A4D              MOV     R2,#HIGH multikey
-001A5F 79E9              MOV     R1,#LOW multikey
-001A61 7D09              MOV     R5,#09H
-001A63 7C00              MOV     R4,#00H
-001A65 5117              ACALL   _xmemclear
+001A70 7B01              MOV     R3,#01H
+001A72 7A4D              MOV     R2,#HIGH multikey
+001A74 79E9              MOV     R1,#LOW multikey
+001A76 7D09              MOV     R5,#09H
+001A78 7C00              MOV     R4,#00H
+001A7A 512C              ACALL   _xmemclear
    19: 	delayChgInvTimer = 0;
-001A67 E4                CLR     A
-001A68 904DE0            MOV     DPTR,#delayChgInvTimer
-001A6B F0                MOVX    @DPTR,A
+001A7C E4                CLR     A
+001A7D 904DE0            MOV     DPTR,#delayChgInvTimer
+001A80 F0                MOVX    @DPTR,A
    20: 	action_timeout = 0;
-001A6C 904DE6            MOV     DPTR,#action_timeout
-001A6F F0                MOVX    @DPTR,A
+001A81 904DE6            MOV     DPTR,#action_timeout
+001A84 F0                MOVX    @DPTR,A
    21: 
    22: 
    23: 	power_on_flag = 0;
-001A70 904DE5            MOV     DPTR,#power_on_flag
-001A73 F0                MOVX    @DPTR,A
+001A85 904DE5            MOV     DPTR,#power_on_flag
+001A88 F0                MOVX    @DPTR,A
    24: 	repeat_send_24g = 0;
-001A74 904DD6            MOV     DPTR,#repeat_send_24g
-001A77 F0                MOVX    @DPTR,A
+001A89 904DD6            MOV     DPTR,#repeat_send_24g
+001A8C F0                MOVX    @DPTR,A
    25: 	get_24g_led_send = 0;
-001A78 904DD0            MOV     DPTR,#get_24g_led_send
-001A7B F0                MOVX    @DPTR,A
+001A8D 904DD0            MOV     DPTR,#get_24g_led_send
+001A90 F0                MOVX    @DPTR,A
    26: 	press_long_time_flag = 0;
-001A7C 904DDC            MOV     DPTR,#press_long_time_flag
-001A7F F0                MOVX    @DPTR,A
+001A91 904DDC            MOV     DPTR,#press_long_time_flag
+001A94 F0                MOVX    @DPTR,A
    27: 	mult_key_status = 0;
-001A80 904DE8            MOV     DPTR,#mult_key_status
-001A83 F0                MOVX    @DPTR,A
+001A95 904DE8            MOV     DPTR,#mult_key_status
+001A98 F0                MOVX    @DPTR,A
    28: 	long_press_flag = 0;
-001A84 904DD5            MOV     DPTR,#long_press_flag
-001A87 F0                MOVX    @DPTR,A
+001A99 904DD5            MOV     DPTR,#long_press_flag
+001A9C F0                MOVX    @DPTR,A
    29: 	standard_key_release_flag = 0;
-001A88 904DD8            MOV     DPTR,#standard_key_release_flag
-001A8B F0                MOVX    @DPTR,A
+001A9D 904DD8            MOV     DPTR,#standard_key_release_flag
+001AA0 F0                MOVX    @DPTR,A
    30: 
    31: 	mult_key_value = 0;
-001A8C 904DE7            MOV     DPTR,#mult_key_value
-001A8F F0                MOVX    @DPTR,A
+001AA1 904DE7            MOV     DPTR,#mult_key_value
+001AA4 F0                MOVX    @DPTR,A
    32: 	m_reconnect_continue = 0;
-001A90 904D38            MOV     DPTR,#m_reconnect_continue
-001A93 F0                MOVX    @DPTR,A
+001AA5 904D38            MOV     DPTR,#m_reconnect_continue
+001AA8 F0                MOVX    @DPTR,A
    33: }
-001A94 22                RET     
+001AA9 22                RET     
 ----- FUNCTION System_clear_mem (END) -------
 
 
@@ -5333,27 +5349,27 @@
    54: {
    55: 	System_clear_mem();
    56: 	YC_adc_init();
-001A95 5143              ACALL   System_clear_mem
+001AAA 5158              ACALL   System_clear_mem
    57: 	g_variable.release_data =1;
-001A97 51B1              ACALL   YC_adc_init
+001AAC 51C6              ACALL   YC_adc_init
    58: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-001A99 904CFA            MOV     DPTR,#g_variable+03BH
-001A9C 7401              MOV     A,#01H
-001A9E F0                MOVX    @DPTR,A
+001AAE 904CFA            MOV     DPTR,#g_variable+03BH
+001AB1 7401              MOV     A,#01H
+001AB3 F0                MOVX    @DPTR,A
    59: 	g_variable.recon_count = 0;
-001A9F 904CF7            MOV     DPTR,#g_variable+038H
-001AA2 741E              MOV     A,#01EH
-001AA4 F0                MOVX    @DPTR,A
+001AB4 904CF7            MOV     DPTR,#g_variable+038H
+001AB7 741E              MOV     A,#01EH
+001AB9 F0                MOVX    @DPTR,A
    60: 	g_variable.test_buff = 0xff;
-001AA5 E4                CLR     A
-001AA6 904CFF            MOV     DPTR,#g_variable+040H
-001AA9 F0                MOVX    @DPTR,A
+001ABA E4                CLR     A
+001ABB 904CFF            MOV     DPTR,#g_variable+040H
+001ABE F0                MOVX    @DPTR,A
    61: }
-001AAA 904D15            MOV     DPTR,#g_variable+056H
-001AAD 74FF              MOV     A,#0FFH
-001AAF F0                MOVX    @DPTR,A
+001ABF 904D15            MOV     DPTR,#g_variable+056H
+001AC2 74FF              MOV     A,#0FFH
+001AC4 F0                MOVX    @DPTR,A
    62: 
-001AB0 22                RET     
+001AC5 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -5364,68 +5380,68 @@
     5: 	byte i;
     6: 
     7: 	g_variable.battery_gamepad_value_index = 0;
-001AB1 E4                CLR     A
-001AB2 904CDC            MOV     DPTR,#g_variable+01DH
-001AB5 F0                MOVX    @DPTR,A
+001AC6 E4                CLR     A
+001AC7 904CDC            MOV     DPTR,#g_variable+01DH
+001ACA F0                MOVX    @DPTR,A
     8: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-001AB6 FF                MOV     R7,A
-001AB7         ?C0001?ADC:
+001ACB FF                MOV     R7,A
+001ACC         ?C0001?ADC:
     9: 	{
    10: 		g_variable.battery_gamepad_value0[i] = INIT_BATTERY_VALUE_GPIO;
-001AB7 EF                MOV     A,R7
-001AB8 25E0              ADD     A,ACC
-001ABA 24DD              ADD     A,#LOW g_variable+01EH
-001ABC F582              MOV     DPL,A
-001ABE E4                CLR     A
-001ABF 344C              ADDC    A,#HIGH g_variable+01EH
-001AC1 F583              MOV     DPH,A
-001AC3 745E              MOV     A,#05EH
-001AC5 F0                MOVX    @DPTR,A
-001AC6 A3                INC     DPTR
-001AC7 F0                MOVX    @DPTR,A
+001ACC EF                MOV     A,R7
+001ACD 25E0              ADD     A,ACC
+001ACF 24DD              ADD     A,#LOW g_variable+01EH
+001AD1 F582              MOV     DPL,A
+001AD3 E4                CLR     A
+001AD4 344C              ADDC    A,#HIGH g_variable+01EH
+001AD6 F583              MOV     DPH,A
+001AD8 745E              MOV     A,#05EH
+001ADA F0                MOVX    @DPTR,A
+001ADB A3                INC     DPTR
+001ADC F0                MOVX    @DPTR,A
    11: 		g_variable.battery_gamepad_value1[i] = INIT_BATTERY_VALUE_GPIO;
-001AC8 EF                MOV     A,R7
-001AC9 25E0              ADD     A,ACC
-001ACB 24E3              ADD     A,#LOW g_variable+024H
-001ACD F582              MOV     DPL,A
-001ACF E4                CLR     A
-001AD0 344C              ADDC    A,#HIGH g_variable+024H
-001AD2 F583              MOV     DPH,A
-001AD4 745E              MOV     A,#05EH
-001AD6 F0                MOVX    @DPTR,A
-001AD7 A3                INC     DPTR
-001AD8 F0                MOVX    @DPTR,A
+001ADD EF                MOV     A,R7
+001ADE 25E0              ADD     A,ACC
+001AE0 24E3              ADD     A,#LOW g_variable+024H
+001AE2 F582              MOV     DPL,A
+001AE4 E4                CLR     A
+001AE5 344C              ADDC    A,#HIGH g_variable+024H
+001AE7 F583              MOV     DPH,A
+001AE9 745E              MOV     A,#05EH
+001AEB F0                MOVX    @DPTR,A
+001AEC A3                INC     DPTR
+001AED F0                MOVX    @DPTR,A
    12: 		g_variable.battery_gamepad_value2[i] = INIT_BATTERY_VALUE_GPIO;
-001AD9 EF                MOV     A,R7
-001ADA 25E0              ADD     A,ACC
-001ADC 24E9              ADD     A,#LOW g_variable+02AH
-001ADE F582              MOV     DPL,A
-001AE0 E4                CLR     A
-001AE1 344C              ADDC    A,#HIGH g_variable+02AH
-001AE3 F583              MOV     DPH,A
-001AE5 745E              MOV     A,#05EH
-001AE7 F0                MOVX    @DPTR,A
-001AE8 A3                INC     DPTR
-001AE9 F0                MOVX    @DPTR,A
+001AEE EF                MOV     A,R7
+001AEF 25E0              ADD     A,ACC
+001AF1 24E9              ADD     A,#LOW g_variable+02AH
+001AF3 F582              MOV     DPL,A
+001AF5 E4                CLR     A
+001AF6 344C              ADDC    A,#HIGH g_variable+02AH
+001AF8 F583              MOV     DPH,A
+001AFA 745E              MOV     A,#05EH
+001AFC F0                MOVX    @DPTR,A
+001AFD A3                INC     DPTR
+001AFE F0                MOVX    @DPTR,A
    13: 		g_variable.battery_gamepad_value3[i] = INIT_BATTERY_VALUE_GPIO;
-001AEA EF                MOV     A,R7
-001AEB 25E0              ADD     A,ACC
-001AED 24EF              ADD     A,#LOW g_variable+030H
-001AEF F582              MOV     DPL,A
-001AF1 E4                CLR     A
-001AF2 344C              ADDC    A,#HIGH g_variable+030H
-001AF4 F583              MOV     DPH,A
-001AF6 745E              MOV     A,#05EH
-001AF8 F0                MOVX    @DPTR,A
-001AF9 A3                INC     DPTR
-001AFA F0                MOVX    @DPTR,A
+001AFF EF                MOV     A,R7
+001B00 25E0              ADD     A,ACC
+001B02 24EF              ADD     A,#LOW g_variable+030H
+001B04 F582              MOV     DPL,A
+001B06 E4                CLR     A
+001B07 344C              ADDC    A,#HIGH g_variable+030H
+001B09 F583              MOV     DPH,A
+001B0B 745E              MOV     A,#05EH
+001B0D F0                MOVX    @DPTR,A
+001B0E A3                INC     DPTR
+001B0F F0                MOVX    @DPTR,A
    14: 	}
-001AFB 0F                INC     R7
-001AFC EF                MOV     A,R7
-001AFD B403B7            CJNE    A,#03H,?C0001?ADC
+001B10 0F                INC     R7
+001B11 EF                MOV     A,R7
+001B12 B403B7            CJNE    A,#03H,?C0001?ADC
    15: }
-001B00 22                RET     
+001B15 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -5437,23 +5453,23 @@
    13: 	unsigned char c;
    14: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-001B01 E4                CLR     A
-001B02 FE                MOV     R6,A
-001B03         ?C0001?KEYSCAN:
-001B03 EF                MOV     A,R7
-001B04 6006              JZ      ?C0002?KEYSCAN
+001B16 E4                CLR     A
+001B17 FE                MOV     R6,A
+001B18         ?C0001?KEYSCAN:
+001B18 EF                MOV     A,R7
+001B19 6006              JZ      ?C0002?KEYSCAN
    15:     	v &= v - 1;
-001B06 14                DEC     A
-001B07 5F                ANL     A,R7
-001B08 FF                MOV     R7,A
+001B1B 14                DEC     A
+001B1C 5F                ANL     A,R7
+001B1D FF                MOV     R7,A
    16:     }
-001B09 0E                INC     R6
-001B0A 80F7              SJMP    ?C0001?KEYSCAN
-001B0C         ?C0002?KEYSCAN:
+001B1E 0E                INC     R6
+001B1F 80F7              SJMP    ?C0001?KEYSCAN
+001B21         ?C0002?KEYSCAN:
    17:     return c;
-001B0C AF06              MOV     R7,AR6
+001B21 AF06              MOV     R7,AR6
    18: }
-001B0E 22                RET     
+001B23 22                RET     
 ----- FUNCTION _bit_count (END) -------
 
 
@@ -5461,53 +5477,53 @@
  FILE: 'keyscan.c'
    63: byte array_is_empty(byte * str1,byte len)
    64: {
-001B0F 904E6E            MOV     DPTR,#str1
-001B12 EB                MOV     A,R3
-001B13 F0                MOVX    @DPTR,A
-001B14 A3                INC     DPTR
-001B15 EA                MOV     A,R2
-001B16 F0                MOVX    @DPTR,A
-001B17 A3                INC     DPTR
-001B18 E9                MOV     A,R1
-001B19 F0                MOVX    @DPTR,A
+001B24 904E6E            MOV     DPTR,#str1
+001B27 EB                MOV     A,R3
+001B28 F0                MOVX    @DPTR,A
+001B29 A3                INC     DPTR
+001B2A EA                MOV     A,R2
+001B2B F0                MOVX    @DPTR,A
+001B2C A3                INC     DPTR
+001B2D E9                MOV     A,R1
+001B2E F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R5' ----
    65: 	byte i;
    66: 	for (i=0;i < len;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-001B1A E4                CLR     A
-001B1B FF                MOV     R7,A
-001B1C         ?C0019?KEYSCAN:
-001B1C EF                MOV     A,R7
-001B1D C3                CLR     C
-001B1E 9D                SUBB    A,R5
-001B1F 501B              JNC     ?C0020?KEYSCAN
+001B2F E4                CLR     A
+001B30 FF                MOV     R7,A
+001B31         ?C0019?KEYSCAN:
+001B31 EF                MOV     A,R7
+001B32 C3                CLR     C
+001B33 9D                SUBB    A,R5
+001B34 501B              JNC     ?C0020?KEYSCAN
    67: 	{
    68: 		if (str1[i] != 0)
-001B21 904E6E            MOV     DPTR,#str1
-001B24 E0                MOVX    A,@DPTR
-001B25 FB                MOV     R3,A
-001B26 A3                INC     DPTR
-001B27 E0                MOVX    A,@DPTR
-001B28 FA                MOV     R2,A
-001B29 A3                INC     DPTR
-001B2A E0                MOVX    A,@DPTR
-001B2B F9                MOV     R1,A
-001B2C 8F82              MOV     DPL,R7
-001B2E 758300            MOV     DPH,#00H
-001B31 120112            LCALL   ?C?CLDOPTR
-001B34 6003              JZ      ?C0021?KEYSCAN
+001B36 904E6E            MOV     DPTR,#str1
+001B39 E0                MOVX    A,@DPTR
+001B3A FB                MOV     R3,A
+001B3B A3                INC     DPTR
+001B3C E0                MOVX    A,@DPTR
+001B3D FA                MOV     R2,A
+001B3E A3                INC     DPTR
+001B3F E0                MOVX    A,@DPTR
+001B40 F9                MOV     R1,A
+001B41 8F82              MOV     DPL,R7
+001B43 758300            MOV     DPH,#00H
+001B46 120112            LCALL   ?C?CLDOPTR
+001B49 6003              JZ      ?C0021?KEYSCAN
    69: 			return 0x00;
-001B36 7F00              MOV     R7,#00H
-001B38 22                RET     
+001B4B 7F00              MOV     R7,#00H
+001B4D 22                RET     
    70: 	}
-001B39         ?C0021?KEYSCAN:
-001B39 0F                INC     R7
-001B3A 80E0              SJMP    ?C0019?KEYSCAN
-001B3C         ?C0020?KEYSCAN:
+001B4E         ?C0021?KEYSCAN:
+001B4E 0F                INC     R7
+001B4F 80E0              SJMP    ?C0019?KEYSCAN
+001B51         ?C0020?KEYSCAN:
    71: 	return 0x01;
-001B3C 7F01              MOV     R7,#01H
+001B51 7F01              MOV     R7,#01H
    72: }
-001B3E 22                RET     
+001B53 22                RET     
 ----- FUNCTION _array_is_empty (END) -------
 
 
@@ -5517,13 +5533,13 @@
    64: {
    65: 	m_reset_reg = 1;
    66: 	while(1);
-001B3F 908010            MOV     DPTR,#m_reset_reg
-001B42 7401              MOV     A,#01H
-001B44 F0                MOVX    @DPTR,A
-001B45         ?C0005?SYS:
+001B54 908010            MOV     DPTR,#m_reset_reg
+001B57 7401              MOV     A,#01H
+001B59 F0                MOVX    @DPTR,A
+001B5A         ?C0005?SYS:
    67: }
-001B45 80FE              SJMP    ?C0005?SYS
-001B47 22                RET     
+001B5A 80FE              SJMP    ?C0005?SYS
+001B5C 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -5533,7 +5549,7 @@
    88: {
    89: 	System_Hardware_reset();
    90: }
-001B48 80F5              SJMP    System_Hardware_reset
+001B5D 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -5541,21 +5557,21 @@
  FILE: 'sys.c'
    97: static void kb_cb_Hid(byte *p,byte len) {
    98: 	//p[0] is hid type,always is 1(kb) now
-001B4A 904E7D            MOV     DPTR,#len
-001B4D ED                MOV     A,R5
-001B4E F0                MOVX    @DPTR,A
+001B5F 904E7D            MOV     DPTR,#len
+001B62 ED                MOV     A,R5
+001B63 F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
    99: 	byte temp = p[1];
-001B4F 900001            MOV     DPTR,#01H
-001B52 120112            LCALL   ?C?CLDOPTR
-001B55 904E7E            MOV     DPTR,#temp
-001B58 F0                MOVX    @DPTR,A
+001B64 900001            MOV     DPTR,#01H
+001B67 120112            LCALL   ?C?CLDOPTR
+001B6A 904E7E            MOV     DPTR,#temp
+001B6D F0                MOVX    @DPTR,A
   100: 
   101: 	if (len<2) {
   102: 		return;
   103: 	}
   104: }
-001B59 22                RET     
+001B6E 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
@@ -5565,347 +5581,347 @@
    18: {
    19: }
    20: 
-001B5A 22                RET     
+001B6F 22                RET     
 ----- FUNCTION YC_adc_check_timer500ms (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-001B5B 904E66            MOV     DPTR,#rptr
-001B5E EE                MOV     A,R6
-001B5F F0                MOVX    @DPTR,A
-001B60 A3                INC     DPTR
-001B61 EF                MOV     A,R7
-001B62 F0                MOVX    @DPTR,A
-001B63 904E68            MOV     DPTR,#wptr
-001B66 EC                MOV     A,R4
-001B67 F0                MOVX    @DPTR,A
-001B68 A3                INC     DPTR
-001B69 ED                MOV     A,R5
-001B6A F0                MOVX    @DPTR,A
+001B70 904E66            MOV     DPTR,#rptr
+001B73 EE                MOV     A,R6
+001B74 F0                MOVX    @DPTR,A
+001B75 A3                INC     DPTR
+001B76 EF                MOV     A,R7
+001B77 F0                MOVX    @DPTR,A
+001B78 904E68            MOV     DPTR,#wptr
+001B7B EC                MOV     A,R4
+001B7C F0                MOVX    @DPTR,A
+001B7D A3                INC     DPTR
+001B7E ED                MOV     A,R5
+001B7F F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-001B6B 904E68            MOV     DPTR,#wptr
-001B6E E0                MOVX    A,@DPTR
-001B6F FE                MOV     R6,A
-001B70 A3                INC     DPTR
-001B71 E0                MOVX    A,@DPTR
-001B72 FF                MOV     R7,A
-001B73 D3                SETB    C
-001B74 904E67            MOV     DPTR,#rptr+01H
-001B77 E0                MOVX    A,@DPTR
-001B78 9F                SUBB    A,R7
-001B79 904E66            MOV     DPTR,#rptr
-001B7C E0                MOVX    A,@DPTR
-001B7D 9E                SUBB    A,R6
-001B7E 4016              JC      ?C0001?IPC
 001B80 904E68            MOV     DPTR,#wptr
 001B83 E0                MOVX    A,@DPTR
 001B84 FE                MOV     R6,A
 001B85 A3                INC     DPTR
 001B86 E0                MOVX    A,@DPTR
 001B87 FF                MOV     R7,A
-001B88 904E67            MOV     DPTR,#rptr+01H
-001B8B E0                MOVX    A,@DPTR
-001B8C 9F                SUBB    A,R7
-001B8D FF                MOV     R7,A
+001B88 D3                SETB    C
+001B89 904E67            MOV     DPTR,#rptr+01H
+001B8C E0                MOVX    A,@DPTR
+001B8D 9F                SUBB    A,R7
 001B8E 904E66            MOV     DPTR,#rptr
 001B91 E0                MOVX    A,@DPTR
 001B92 9E                SUBB    A,R6
-001B93 FE                MOV     R6,A
-001B94 801E              SJMP    ?C0002?IPC
-001B96         ?C0001?IPC:
-001B96 904E66            MOV     DPTR,#rptr
-001B99 E0                MOVX    A,@DPTR
-001B9A FE                MOV     R6,A
-001B9B A3                INC     DPTR
-001B9C E0                MOVX    A,@DPTR
-001B9D FF                MOV     R7,A
-001B9E C3                CLR     C
-001B9F 904E69            MOV     DPTR,#wptr+01H
-001BA2 E0                MOVX    A,@DPTR
-001BA3 9F                SUBB    A,R7
-001BA4 FF                MOV     R7,A
-001BA5 904E68            MOV     DPTR,#wptr
-001BA8 E0                MOVX    A,@DPTR
-001BA9 9E                SUBB    A,R6
-001BAA FE                MOV     R6,A
-001BAB AD03              MOV     R5,AR3
-001BAD C3                CLR     C
-001BAE EB                MOV     A,R3
-001BAF 9F                SUBB    A,R7
-001BB0 FF                MOV     R7,A
-001BB1 E4                CLR     A
-001BB2 9E                SUBB    A,R6
-001BB3 FE                MOV     R6,A
-001BB4         ?C0002?IPC:
-001BB4 22                RET     
+001B93 4016              JC      ?C0001?IPC
+001B95 904E68            MOV     DPTR,#wptr
+001B98 E0                MOVX    A,@DPTR
+001B99 FE                MOV     R6,A
+001B9A A3                INC     DPTR
+001B9B E0                MOVX    A,@DPTR
+001B9C FF                MOV     R7,A
+001B9D 904E67            MOV     DPTR,#rptr+01H
+001BA0 E0                MOVX    A,@DPTR
+001BA1 9F                SUBB    A,R7
+001BA2 FF                MOV     R7,A
+001BA3 904E66            MOV     DPTR,#rptr
+001BA6 E0                MOVX    A,@DPTR
+001BA7 9E                SUBB    A,R6
+001BA8 FE                MOV     R6,A
+001BA9 801E              SJMP    ?C0002?IPC
+001BAB         ?C0001?IPC:
+001BAB 904E66            MOV     DPTR,#rptr
+001BAE E0                MOVX    A,@DPTR
+001BAF FE                MOV     R6,A
+001BB0 A3                INC     DPTR
+001BB1 E0                MOVX    A,@DPTR
+001BB2 FF                MOV     R7,A
+001BB3 C3                CLR     C
+001BB4 904E69            MOV     DPTR,#wptr+01H
+001BB7 E0                MOVX    A,@DPTR
+001BB8 9F                SUBB    A,R7
+001BB9 FF                MOV     R7,A
+001BBA 904E68            MOV     DPTR,#wptr
+001BBD E0                MOVX    A,@DPTR
+001BBE 9E                SUBB    A,R6
+001BBF FE                MOV     R6,A
+001BC0 AD03              MOV     R5,AR3
+001BC2 C3                CLR     C
+001BC3 EB                MOV     A,R3
+001BC4 9F                SUBB    A,R7
+001BC5 FF                MOV     R7,A
+001BC6 E4                CLR     A
+001BC7 9E                SUBB    A,R6
+001BC8 FE                MOV     R6,A
+001BC9         ?C0002?IPC:
+001BC9 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-001BB5 904E7F            MOV     DPTR,#dest
-001BB8 EE                MOV     A,R6
-001BB9 F0                MOVX    @DPTR,A
-001BBA A3                INC     DPTR
-001BBB EF                MOV     A,R7
-001BBC F0                MOVX    @DPTR,A
+001BCA 904E7F            MOV     DPTR,#dest
+001BCD EE                MOV     A,R6
+001BCE F0                MOVX    @DPTR,A
+001BCF A3                INC     DPTR
+001BD0 EF                MOV     A,R7
+001BD1 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-001BBD A905              MOV     R1,AR5
-001BBF 904B9E            MOV     DPTR,#ipcRxReadPtr
-001BC2 E0                MOVX    A,@DPTR
-001BC3 FE                MOV     R6,A
-001BC4 A3                INC     DPTR
-001BC5 E0                MOVX    A,@DPTR
-001BC6 FF                MOV     R7,A
+001BD2 A905              MOV     R1,AR5
+001BD4 904B9E            MOV     DPTR,#ipcRxReadPtr
+001BD7 E0                MOVX    A,@DPTR
+001BD8 FE                MOV     R6,A
+001BD9 A3                INC     DPTR
+001BDA E0                MOVX    A,@DPTR
+001BDB FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-001BC7         ?C0004?IPC:
-001BC7 AD01              MOV     R5,AR1
-001BC9 19                DEC     R1
-001BCA ED                MOV     A,R5
-001BCB 602F              JZ      ?C0005?IPC
-001BCD 0F                INC     R7
-001BCE EF                MOV     A,R7
-001BCF AC06              MOV     R4,AR6
-001BD1 7001              JNZ     ?C0036?IPC
-001BD3 0E                INC     R6
-001BD4         ?C0036?IPC:
-001BD4 14                DEC     A
-001BD5 F582              MOV     DPL,A
-001BD7 8C83              MOV     DPH,R4
-001BD9 E0                MOVX    A,@DPTR
-001BDA FD                MOV     R5,A
-001BDB 904E7F            MOV     DPTR,#dest
-001BDE E4                CLR     A
-001BDF 75F001            MOV     B,#01H
-001BE2 120167            LCALL   ?C?ILDIX
-001BE5 85F082            MOV     DPL,B
-001BE8 F583              MOV     DPH,A
-001BEA ED                MOV     A,R5
-001BEB F0                MOVX    @DPTR,A
-001BEC AD07              MOV     R5,AR7
-001BEE AC06              MOV     R4,AR6
-001BF0 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-001BF3 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-001BF6 7E4B              MOV     R6,#04BH
-001BF8 7F36              MOV     R7,#036H
-001BFA 80CB              SJMP    ?C0004?IPC
-001BFC         ?C0005?IPC:
-001BFC 904B9E            MOV     DPTR,#ipcRxReadPtr
-001BFF EE                MOV     A,R6
+001BDC         ?C0004?IPC:
+001BDC AD01              MOV     R5,AR1
+001BDE 19                DEC     R1
+001BDF ED                MOV     A,R5
+001BE0 602F              JZ      ?C0005?IPC
+001BE2 0F                INC     R7
+001BE3 EF                MOV     A,R7
+001BE4 AC06              MOV     R4,AR6
+001BE6 7001              JNZ     ?C0036?IPC
+001BE8 0E                INC     R6
+001BE9         ?C0036?IPC:
+001BE9 14                DEC     A
+001BEA F582              MOV     DPL,A
+001BEC 8C83              MOV     DPH,R4
+001BEE E0                MOVX    A,@DPTR
+001BEF FD                MOV     R5,A
+001BF0 904E7F            MOV     DPTR,#dest
+001BF3 E4                CLR     A
+001BF4 75F001            MOV     B,#01H
+001BF7 120167            LCALL   ?C?ILDIX
+001BFA 85F082            MOV     DPL,B
+001BFD F583              MOV     DPH,A
+001BFF ED                MOV     A,R5
 001C00 F0                MOVX    @DPTR,A
-001C01 A3                INC     DPTR
-001C02 EF                MOV     A,R7
-001C03 F0                MOVX    @DPTR,A
-001C04 22                RET     
+001C01 AD07              MOV     R5,AR7
+001C03 AC06              MOV     R4,AR6
+001C05 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+001C08 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+001C0B 7E4B              MOV     R6,#04BH
+001C0D 7F36              MOV     R7,#036H
+001C0F 80CB              SJMP    ?C0004?IPC
+001C11         ?C0005?IPC:
+001C11 904B9E            MOV     DPTR,#ipcRxReadPtr
+001C14 EE                MOV     A,R6
+001C15 F0                MOVX    @DPTR,A
+001C16 A3                INC     DPTR
+001C17 EF                MOV     A,R7
+001C18 F0                MOVX    @DPTR,A
+001C19 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-001C05 900446            MOV     DPTR,#bbDisReason
-001C08 E0                MOVX    A,@DPTR
-001C09 FF                MOV     R7,A
-001C0A 22                RET     
+001C1A 900446            MOV     DPTR,#bbDisReason
+001C1D E0                MOVX    A,@DPTR
+001C1E FF                MOV     R7,A
+001C1F 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-001C0B 908280            MOV     DPTR,#08280H
-001C0E 7401              MOV     A,#01H
-001C10 F0                MOVX    @DPTR,A
-001C11 22                RET     
+001C20 908280            MOV     DPTR,#08280H
+001C23 7401              MOV     A,#01H
+001C25 F0                MOVX    @DPTR,A
+001C26 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _xmemclear_ff (BEGIN) -----
-001C12 904E77            MOV     DPTR,#dest
-001C15 EB                MOV     A,R3
-001C16 F0                MOVX    @DPTR,A
-001C17 A3                INC     DPTR
-001C18 EA                MOV     A,R2
-001C19 F0                MOVX    @DPTR,A
-001C1A A3                INC     DPTR
-001C1B E9                MOV     A,R1
-001C1C F0                MOVX    @DPTR,A
-;---- Variable 'len' assigned to Register 'R4/R5' ----
-001C1D         ?C0011?UTILITIES:
-001C1D ED                MOV     A,R5
-001C1E 1D                DEC     R5
-001C1F AE04              MOV     R6,AR4
-001C21 7001              JNZ     ?C0027?UTILITIES
-001C23 1C                DEC     R4
-001C24         ?C0027?UTILITIES:
-001C24 4E                ORL     A,R6
-001C25 6017              JZ      ?C0013?UTILITIES
 001C27 904E77            MOV     DPTR,#dest
-001C2A E0                MOVX    A,@DPTR
-001C2B FB                MOV     R3,A
+001C2A EB                MOV     A,R3
+001C2B F0                MOVX    @DPTR,A
 001C2C A3                INC     DPTR
-001C2D E4                CLR     A
-001C2E 75F001            MOV     B,#01H
-001C31 120167            LCALL   ?C?ILDIX
-001C34 A9F0              MOV     R1,B
-001C36 FA                MOV     R2,A
-001C37 74FF              MOV     A,#0FFH
-001C39 12013F            LCALL   ?C?CSTPTR
-001C3C 80DF              SJMP    ?C0011?UTILITIES
-001C3E         ?C0013?UTILITIES:
-001C3E 22                RET     
+001C2D EA                MOV     A,R2
+001C2E F0                MOVX    @DPTR,A
+001C2F A3                INC     DPTR
+001C30 E9                MOV     A,R1
+001C31 F0                MOVX    @DPTR,A
+;---- Variable 'len' assigned to Register 'R4/R5' ----
+001C32         ?C0011?UTILITIES:
+001C32 ED                MOV     A,R5
+001C33 1D                DEC     R5
+001C34 AE04              MOV     R6,AR4
+001C36 7001              JNZ     ?C0027?UTILITIES
+001C38 1C                DEC     R4
+001C39         ?C0027?UTILITIES:
+001C39 4E                ORL     A,R6
+001C3A 6017              JZ      ?C0013?UTILITIES
+001C3C 904E77            MOV     DPTR,#dest
+001C3F E0                MOVX    A,@DPTR
+001C40 FB                MOV     R3,A
+001C41 A3                INC     DPTR
+001C42 E4                CLR     A
+001C43 75F001            MOV     B,#01H
+001C46 120167            LCALL   ?C?ILDIX
+001C49 A9F0              MOV     R1,B
+001C4B FA                MOV     R2,A
+001C4C 74FF              MOV     A,#0FFH
+001C4E 12013F            LCALL   ?C?CSTPTR
+001C51 80DF              SJMP    ?C0011?UTILITIES
+001C53         ?C0013?UTILITIES:
+001C53 22                RET     
 ----- FUNCTION _xmemclear_ff (END) -------
 
 
 ----- FUNCTION _compare_str (BEGIN) -----
-001C3F 904E47            MOV     DPTR,#str1
-001C42 EB                MOV     A,R3
-001C43 F0                MOVX    @DPTR,A
-001C44 A3                INC     DPTR
-001C45 EA                MOV     A,R2
-001C46 F0                MOVX    @DPTR,A
-001C47 A3                INC     DPTR
-001C48 E9                MOV     A,R1
-001C49 F0                MOVX    @DPTR,A
+001C54 904E47            MOV     DPTR,#str1
+001C57 EB                MOV     A,R3
+001C58 F0                MOVX    @DPTR,A
+001C59 A3                INC     DPTR
+001C5A EA                MOV     A,R2
+001C5B F0                MOVX    @DPTR,A
+001C5C A3                INC     DPTR
+001C5D E9                MOV     A,R1
+001C5E F0                MOVX    @DPTR,A
 ;---- Variable 'i' assigned to Register 'R7' ----
-001C4A E4                CLR     A
-001C4B FF                MOV     R7,A
-001C4C         ?C0021?UTILITIES:
-001C4C 904E4D            MOV     DPTR,#len
-001C4F E0                MOVX    A,@DPTR
-001C50 FE                MOV     R6,A
-001C51 EF                MOV     A,R7
-001C52 C3                CLR     C
-001C53 9E                SUBB    A,R6
-001C54 5030              JNC     ?C0022?UTILITIES
-001C56 904E4A            MOV     DPTR,#str2
-001C59 E0                MOVX    A,@DPTR
-001C5A FB                MOV     R3,A
-001C5B A3                INC     DPTR
-001C5C E0                MOVX    A,@DPTR
-001C5D FA                MOV     R2,A
-001C5E A3                INC     DPTR
-001C5F E0                MOVX    A,@DPTR
-001C60 F9                MOV     R1,A
-001C61 8F82              MOV     DPL,R7
-001C63 758300            MOV     DPH,#00H
-001C66 120112            LCALL   ?C?CLDOPTR
-001C69 FE                MOV     R6,A
-001C6A 904E47            MOV     DPTR,#str1
-001C6D E0                MOVX    A,@DPTR
-001C6E FB                MOV     R3,A
-001C6F A3                INC     DPTR
-001C70 E0                MOVX    A,@DPTR
-001C71 FA                MOV     R2,A
-001C72 A3                INC     DPTR
-001C73 E0                MOVX    A,@DPTR
-001C74 F9                MOV     R1,A
-001C75 8F82              MOV     DPL,R7
-001C77 758300            MOV     DPH,#00H
-001C7A 120112            LCALL   ?C?CLDOPTR
-001C7D 6E                XRL     A,R6
-001C7E 6003              JZ      ?C0023?UTILITIES
-001C80 7F00              MOV     R7,#00H
-001C82 22                RET     
-001C83         ?C0023?UTILITIES:
-001C83 0F                INC     R7
-001C84 80C6              SJMP    ?C0021?UTILITIES
-001C86         ?C0022?UTILITIES:
-001C86 7F01              MOV     R7,#01H
-001C88 22                RET     
+001C5F E4                CLR     A
+001C60 FF                MOV     R7,A
+001C61         ?C0021?UTILITIES:
+001C61 904E4D            MOV     DPTR,#len
+001C64 E0                MOVX    A,@DPTR
+001C65 FE                MOV     R6,A
+001C66 EF                MOV     A,R7
+001C67 C3                CLR     C
+001C68 9E                SUBB    A,R6
+001C69 5030              JNC     ?C0022?UTILITIES
+001C6B 904E4A            MOV     DPTR,#str2
+001C6E E0                MOVX    A,@DPTR
+001C6F FB                MOV     R3,A
+001C70 A3                INC     DPTR
+001C71 E0                MOVX    A,@DPTR
+001C72 FA                MOV     R2,A
+001C73 A3                INC     DPTR
+001C74 E0                MOVX    A,@DPTR
+001C75 F9                MOV     R1,A
+001C76 8F82              MOV     DPL,R7
+001C78 758300            MOV     DPH,#00H
+001C7B 120112            LCALL   ?C?CLDOPTR
+001C7E FE                MOV     R6,A
+001C7F 904E47            MOV     DPTR,#str1
+001C82 E0                MOVX    A,@DPTR
+001C83 FB                MOV     R3,A
+001C84 A3                INC     DPTR
+001C85 E0                MOVX    A,@DPTR
+001C86 FA                MOV     R2,A
+001C87 A3                INC     DPTR
+001C88 E0                MOVX    A,@DPTR
+001C89 F9                MOV     R1,A
+001C8A 8F82              MOV     DPL,R7
+001C8C 758300            MOV     DPH,#00H
+001C8F 120112            LCALL   ?C?CLDOPTR
+001C92 6E                XRL     A,R6
+001C93 6003              JZ      ?C0023?UTILITIES
+001C95 7F00              MOV     R7,#00H
+001C97 22                RET     
+001C98         ?C0023?UTILITIES:
+001C98 0F                INC     R7
+001C99 80C6              SJMP    ?C0021?UTILITIES
+001C9B         ?C0022?UTILITIES:
+001C9B 7F01              MOV     R7,#01H
+001C9D 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001C89 EF                MOV     A,R7
-001C8A F4                CPL     A
-001C8B 603A              JZ      ?C0023?GPIO
-001C8D         ?C0022?GPIO:
-001C8D EF                MOV     A,R7
-001C8E 5407              ANL     A,#07H
-001C90 FE                MOV     R6,A
+001C9E EF                MOV     A,R7
+001C9F F4                CPL     A
+001CA0 603A              JZ      ?C0023?GPIO
+001CA2         ?C0022?GPIO:
+001CA2 EF                MOV     A,R7
+001CA3 5407              ANL     A,#07H
+001CA5 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-001C91 EF                MOV     A,R7
-001C92 13                RRC     A
-001C93 13                RRC     A
-001C94 13                RRC     A
-001C95 5403              ANL     A,#03H
-001C97 FF                MOV     R7,A
+001CA6 EF                MOV     A,R7
+001CA7 13                RRC     A
+001CA8 13                RRC     A
+001CA9 13                RRC     A
+001CAA 5403              ANL     A,#03H
+001CAC FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-001C98 24A3              ADD     A,#LOW YC_GPIOWakeupL
-001C9A F582              MOV     DPL,A
-001C9C E4                CLR     A
-001C9D 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-001C9F F583              MOV     DPH,A
-001CA1 C083              PUSH    DPH
-001CA3 C082              PUSH    DPL
-001CA5 E0                MOVX    A,@DPTR
-001CA6 FD                MOV     R5,A
-001CA7 7401              MOV     A,#01H
-001CA9 A806              MOV     R0,AR6
-001CAB 08                INC     R0
-001CAC 8002              SJMP    ?C0043?GPIO
-001CAE         ?C0042?GPIO:
-001CAE C3                CLR     C
-001CAF 33                RLC     A
-001CB0         ?C0043?GPIO:
-001CB0 D8FC              DJNZ    R0,?C0042?GPIO
-001CB2 F4                CPL     A
-001CB3 FC                MOV     R4,A
-001CB4 5D                ANL     A,R5
-001CB5 D082              POP     DPL
-001CB7 D083              POP     DPH
-001CB9 F0                MOVX    @DPTR,A
-001CBA 74A7              MOV     A,#LOW YC_GPIOWakeupH
-001CBC 2F                ADD     A,R7
-001CBD F582              MOV     DPL,A
-001CBF E4                CLR     A
-001CC0 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-001CC2 F583              MOV     DPH,A
-001CC4 E0                MOVX    A,@DPTR
-001CC5 5C                ANL     A,R4
-001CC6 F0                MOVX    @DPTR,A
-001CC7         ?C0023?GPIO:
-001CC7 22                RET     
+001CAD 24A3              ADD     A,#LOW YC_GPIOWakeupL
+001CAF F582              MOV     DPL,A
+001CB1 E4                CLR     A
+001CB2 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+001CB4 F583              MOV     DPH,A
+001CB6 C083              PUSH    DPH
+001CB8 C082              PUSH    DPL
+001CBA E0                MOVX    A,@DPTR
+001CBB FD                MOV     R5,A
+001CBC 7401              MOV     A,#01H
+001CBE A806              MOV     R0,AR6
+001CC0 08                INC     R0
+001CC1 8002              SJMP    ?C0043?GPIO
+001CC3         ?C0042?GPIO:
+001CC3 C3                CLR     C
+001CC4 33                RLC     A
+001CC5         ?C0043?GPIO:
+001CC5 D8FC              DJNZ    R0,?C0042?GPIO
+001CC7 F4                CPL     A
+001CC8 FC                MOV     R4,A
+001CC9 5D                ANL     A,R5
+001CCA D082              POP     DPL
+001CCC D083              POP     DPH
+001CCE F0                MOVX    @DPTR,A
+001CCF 74A7              MOV     A,#LOW YC_GPIOWakeupH
+001CD1 2F                ADD     A,R7
+001CD2 F582              MOV     DPL,A
+001CD4 E4                CLR     A
+001CD5 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+001CD7 F583              MOV     DPH,A
+001CD9 E0                MOVX    A,@DPTR
+001CDA 5C                ANL     A,R4
+001CDB F0                MOVX    @DPTR,A
+001CDC         ?C0023?GPIO:
+001CDC 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-001CC8 E4                CLR     A
-001CC9 FF                MOV     R7,A
-001CCA         ?C0026?GPIO:
-001CCA EF                MOV     A,R7
-001CCB FD                MOV     R5,A
-001CCC 7C00              MOV     R4,#00H
-001CCE 2478              ADD     A,#078H
-001CD0 FB                MOV     R3,A
-001CD1 EC                MOV     A,R4
-001CD2 3480              ADDC    A,#080H
-001CD4 8B82              MOV     DPL,R3
-001CD6 F583              MOV     DPH,A
-001CD8 E0                MOVX    A,@DPTR
-001CD9 FE                MOV     R6,A
-001CDA ED                MOV     A,R5
-001CDB 2470              ADD     A,#070H
-001CDD FD                MOV     R5,A
-001CDE EC                MOV     A,R4
-001CDF 3480              ADDC    A,#080H
-001CE1 8D82              MOV     DPL,R5
-001CE3 F583              MOV     DPH,A
-001CE5 E0                MOVX    A,@DPTR
-001CE6 4E                ORL     A,R6
-001CE7 F4                CPL     A
-001CE8 FE                MOV     R6,A
-001CE9 EF                MOV     A,R7
-001CEA 247C              ADD     A,#07CH
-001CEC FD                MOV     R5,A
-001CED EC                MOV     A,R4
-001CEE 3480              ADDC    A,#080H
-001CF0 8D82              MOV     DPL,R5
-001CF2 F583              MOV     DPH,A
-001CF4 EE                MOV     A,R6
-001CF5 F0                MOVX    @DPTR,A
-001CF6 0F                INC     R7
-001CF7 EF                MOV     A,R7
-001CF8 B404CF            CJNE    A,#04H,?C0026?GPIO
-001CFB 22                RET     
+001CDD E4                CLR     A
+001CDE FF                MOV     R7,A
+001CDF         ?C0026?GPIO:
+001CDF EF                MOV     A,R7
+001CE0 FD                MOV     R5,A
+001CE1 7C00              MOV     R4,#00H
+001CE3 2478              ADD     A,#078H
+001CE5 FB                MOV     R3,A
+001CE6 EC                MOV     A,R4
+001CE7 3480              ADDC    A,#080H
+001CE9 8B82              MOV     DPL,R3
+001CEB F583              MOV     DPH,A
+001CED E0                MOVX    A,@DPTR
+001CEE FE                MOV     R6,A
+001CEF ED                MOV     A,R5
+001CF0 2470              ADD     A,#070H
+001CF2 FD                MOV     R5,A
+001CF3 EC                MOV     A,R4
+001CF4 3480              ADDC    A,#080H
+001CF6 8D82              MOV     DPL,R5
+001CF8 F583              MOV     DPH,A
+001CFA E0                MOVX    A,@DPTR
+001CFB 4E                ORL     A,R6
+001CFC F4                CPL     A
+001CFD FE                MOV     R6,A
+001CFE EF                MOV     A,R7
+001CFF 247C              ADD     A,#07CH
+001D01 FD                MOV     R5,A
+001D02 EC                MOV     A,R4
+001D03 3480              ADDC    A,#080H
+001D05 8D82              MOV     DPL,R5
+001D07 F583              MOV     DPH,A
+001D09 EE                MOV     A,R6
+001D0A F0                MOVX    @DPTR,A
+001D0B 0F                INC     R7
+001D0C EF                MOV     A,R7
+001D0D B404CF            CJNE    A,#04H,?C0026?GPIO
+001D10 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/FW.HTM	(revision 441)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/FW.HTM	(working copy)
@@ -25,7 +25,7 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.41</b><br>
-Creation time: <b>06/02/2022  23:34:52</b><p>
+Creation time: <b>06/06/2022  11:36:53</b><p>
 
 <hr>
 
@@ -42,33 +42,33 @@
 <li><a href="#S78">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S57"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:0009F0H - C:000A0DH)</h2>
+<h2><a name="S57"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:0009FEH - C:000A1BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S155">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S155">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S63"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001B0FH - C:001B3EH)</h2>
+<h2><a name="S63"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001B24H - C:001B53H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S182">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S182">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S73"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001B3FH - C:001B47H)</h2>
+<h2><a name="S73"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001B54H - C:001B5CH)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S75">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
 </ul>
 
-<h2><a name="S75"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001B48H - C:001B49H)</h2>
+<h2><a name="S75"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001B5DH - C:001B5EH)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S73">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
 </ul>
 
-<h2><a name="S76"></a>?PR?_KB_CB_HID?SYS (C:001B4AH - C:001B59H)</h2>
+<h2><a name="S76"></a>?PR?_KB_CB_HID?SYS (C:001B5FH - C:001B6EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S182">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -93,7 +93,7 @@
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S82"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:000F32H - C:000F50H)</h2>
+<h2><a name="S82"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:000F40H - C:000F5EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S74">?PR?SYSTEM_LONG_SLEEP?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -101,7 +101,7 @@
 <li><a href="#S74">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 </ul>
 
-<h2><a name="S84"></a>?PR?KB_CB_TIMER500MS?SYS (C:000F1DH - C:000F31H)</h2>
+<h2><a name="S84"></a>?PR?KB_CB_TIMER500MS?SYS (C:000F2BH - C:000F3FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S81">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -110,7 +110,7 @@
 <li><a href="#S81">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S85"></a>?PR?KB_CB_TIMER100MS?SYS (C:000ADFH - C:000B0EH)</h2>
+<h2><a name="S85"></a>?PR?KB_CB_TIMER100MS?SYS (C:000AEDH - C:000B1CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S66">?PR?LED_DEVICE_POWERON?LED</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -118,7 +118,7 @@
 <li><a href="#S66">?PR?LED_DEVICE_POWERON?LED</a></li>
 </ul>
 
-<h2><a name="S87"></a>?PR?YC_SYSTEM_MAIN?SYS (C:0009A5H - C:0009DAH)</h2>
+<h2><a name="S87"></a>?PR?YC_SYSTEM_MAIN?SYS (C:0009B3H - C:0009E8H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S55">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -138,7 +138,7 @@
 <li><a href="#S93">?PR?MAIN?RAM</a></li>
 </ul>
 
-<h2><a name="S93"></a>?PR?MAIN?RAM (C:000E3FH - C:000E40H)</h2>
+<h2><a name="S93"></a>?PR?MAIN?RAM (C:000E4DH - C:000E4EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -158,7 +158,7 @@
 <li><a href="#S102">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S102"></a>?PR?_IPC_TXDATA?IPC (C:001041H - C:001067H)</h2>
+<h2><a name="S102"></a>?PR?_IPC_TXDATA?IPC (C:00104FH - C:001075H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S130">?PR?_XMEMCPY?UTILITIES</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -166,27 +166,27 @@
 <li><a href="#S130">?PR?_XMEMCPY?UTILITIES</a></li>
 </ul>
 
-<h2><a name="S106"></a>?PR?_IPC_INITIALIZE?IPC (C:000A14H - C:000A20H)</h2>
+<h2><a name="S106"></a>?PR?_IPC_INITIALIZE?IPC (C:000A22H - C:000A2EH)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S182">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S136"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:001C12H - C:001C3EH)</h2>
+<h2><a name="S136"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:001C27H - C:001C53H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S182">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S182">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S139"></a>?PR?_COMPARE_STR?UTILITIES (C:001C3FH - C:001C88H)</h2>
+<h2><a name="S139"></a>?PR?_COMPARE_STR?UTILITIES (C:001C54H - C:001C9DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S182">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S182">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S162"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:000E66H - C:000E78H)</h2>
+<h2><a name="S162"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:000E74H - C:000E86H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S146">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -225,7 +225,7 @@
 <li><a href="#S83">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S7"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:00081EH - C:00085AH)</h2>
+<h2><a name="S7"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:00081EH - C:000868H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S176">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=2 Bytes (<a href="#S78">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -258,7 +258,7 @@
 <li><a href="#S6">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S51"></a>?PR?_IPC_TXHIDDATA?KB_PROCESS (C:000FDAH - C:00103AH)</h2>
+<h2><a name="S51"></a>?PR?_IPC_TXHIDDATA?KB_PROCESS (C:000FE8H - C:001048H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>) Top=6 Bytes (<a href="#S53">?PR?KB_SET_GAMEPAD_DATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -272,7 +272,7 @@
 <li><a href="#S53">?PR?KB_SET_GAMEPAD_DATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S53"></a>?PR?KB_SET_GAMEPAD_DATA?KB_PROCESS (C:001068H - C:001A16H)</h2>
+<h2><a name="S53"></a>?PR?KB_SET_GAMEPAD_DATA?KB_PROCESS (C:001076H - C:001A2BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S51">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S55">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -285,7 +285,7 @@
 <li><a href="#S55">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S55"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:000B0FH - C:000B57H)</h2>
+<h2><a name="S55"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:000B1DH - C:000B65H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S53">?PR?KB_SET_GAMEPAD_DATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -299,7 +299,7 @@
 <li><a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S59"></a>?PR?KS_INITIALIZE?KEYSCAN (C:0009F0H - C:0009EFH)</h2>
+<h2><a name="S59"></a>?PR?KS_INITIALIZE?KEYSCAN (C:0009FEH - C:0009FDH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S71">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -307,14 +307,14 @@
 <li><a href="#S71">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S60"></a>?PR?KS_UNISTALL?KEYSCAN (C:0009DBH - C:0009DBH)</h2>
+<h2><a name="S60"></a>?PR?KS_UNISTALL?KEYSCAN (C:0009E9H - C:0009E9H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S61"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:000CBFH - C:000DF9H)</h2>
+<h2><a name="S61"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:000CCDH - C:000E07H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S146">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S55">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -328,7 +328,7 @@
 <li><a href="#S55">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S65"></a>?PR?LED_ALL_SHUTDOWN?LED (C:000999H - C:0009A4H)</h2>
+<h2><a name="S65"></a>?PR?LED_ALL_SHUTDOWN?LED (C:0009A7H - C:0009B2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S157">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=6 Bytes (<a href="#S74">?PR?SYSTEM_LONG_SLEEP?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -342,7 +342,7 @@
 <li><a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S66"></a>?PR?LED_DEVICE_POWERON?LED (C:000887H - C:0008A5H)</h2>
+<h2><a name="S66"></a>?PR?LED_DEVICE_POWERON?LED (C:000895H - C:0008B3H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S157">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S85">?PR?KB_CB_TIMER100MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -354,7 +354,7 @@
 <li><a href="#S85">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S67"></a>?PR?LED_DEVICE_POWEROFF?LED (C:000A21H - C:000A2CH)</h2>
+<h2><a name="S67"></a>?PR?LED_DEVICE_POWEROFF?LED (C:000A2FH - C:000A3AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S157">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S85">?PR?KB_CB_TIMER100MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -366,14 +366,14 @@
 <li><a href="#S85">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S68"></a>?PR?LED_HANDLE?LED (C:000E41H - C:000E46H)</h2>
+<h2><a name="S68"></a>?PR?LED_HANDLE?LED (C:000E4FH - C:000E54H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S69"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:001A43H - C:001A94H)</h2>
+<h2><a name="S69"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:001A58H - C:001AA9H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S134">?PR?_XMEMCLEAR?UTILITIES</a>) Top=4 Bytes (<a href="#S72">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -385,7 +385,7 @@
 <li><a href="#S72">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S70"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:000E53H - C:000E65H)</h2>
+<h2><a name="S70"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:000E61H - C:000E73H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S71">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -393,7 +393,7 @@
 <li><a href="#S71">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S71"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0009EAH - C:0009EFH)</h2>
+<h2><a name="S71"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0009F8H - C:0009FDH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S65">?PR?LED_ALL_SHUTDOWN?LED</a>) Top=2 Bytes (<a href="#S78">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -407,7 +407,7 @@
 <li><a href="#S78">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S72"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:001A95H - C:001AB0H)</h2>
+<h2><a name="S72"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:001AAAH - C:001AC5H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S69">?PR?SYSTEM_CLEAR_MEM?SYS</a>) Top=2 Bytes (<a href="#S78">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -435,7 +435,7 @@
 <li><a href="#S82">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S80"></a>?PR?LED_TIMER500MS?SYS (C:0008A6H - C:0008CFH)</h2>
+<h2><a name="S80"></a>?PR?LED_TIMER500MS?SYS (C:0008B4H - C:0008DDH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S157">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S84">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -448,7 +448,7 @@
 <li><a href="#S84">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S81"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:000F95H - C:000FD9H)</h2>
+<h2><a name="S81"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:000FA3H - C:000FE7H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S74">?PR?SYSTEM_LONG_SLEEP?SYS</a>) Top=2 Bytes (<a href="#S84">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -475,28 +475,28 @@
 <li><a href="#S84">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S86"></a>?PR?KB_CB_INIT?SYS (C:000A0EH - C:000A13H)</h2>
+<h2><a name="S86"></a>?PR?KB_CB_INIT?SYS (C:000A1CH - C:000A21H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S91"></a>?PR?YC_ADC_INIT?ADC (C:001AB1H - C:001B00H)</h2>
+<h2><a name="S91"></a>?PR?YC_ADC_INIT?ADC (C:001AC6H - C:001B15H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S72">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S94"></a>?PR?_BUFSIZE?IPC (C:001B5BH - C:001BB4H)</h2>
+<h2><a name="S94"></a>?PR?_BUFSIZE?IPC (C:001B70H - C:001BC9H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S98">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S98">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S96"></a>?PR?_IPCRX?IPC (C:001BB5H - C:001C04H)</h2>
+<h2><a name="S96"></a>?PR?_IPCRX?IPC (C:001BCAH - C:001C19H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S182">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S110">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -521,14 +521,14 @@
 <li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S104"></a>?PR?_IPC_TX24GDATA?IPC (C:00103BH - C:001040H)</h2>
+<h2><a name="S104"></a>?PR?_IPC_TX24GDATA?IPC (C:001049H - C:00104EH)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S51">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S51">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S107"></a>?PR?IPC_WAITLPM?IPC (C:0009DCH - C:0009E9H)</h2>
+<h2><a name="S107"></a>?PR?IPC_WAITLPM?IPC (C:0009EAH - C:0009F7H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -540,21 +540,21 @@
 <li><a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S108"></a>?PR?IPC_ABANDONLPM?IPC (C:000E47H - C:000E52H)</h2>
+<h2><a name="S108"></a>?PR?IPC_ABANDONLPM?IPC (C:000E55H - C:000E60H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S109"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:000F05H - C:000F1CH)</h2>
+<h2><a name="S109"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:000F13H - C:000F2AH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S55">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S55">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S110"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:000BF8H - C:000CBEH)</h2>
+<h2><a name="S110"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:000C06H - C:000CCCH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S96">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -579,7 +579,7 @@
 <li><a href="#S102">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S132"></a>?PR?_DMEMCPY?UTILITIES (C:000F51H - C:000F94H)</h2>
+<h2><a name="S132"></a>?PR?_DMEMCPY?UTILITIES (C:000F5FH - C:000FA2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S182">?C?LIB_CODE</a>) Top=8 Bytes (<a href="#S174">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -591,7 +591,7 @@
 <li><a href="#S174">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S134"></a>?PR?_XMEMCLEAR?UTILITIES (C:001A17H - C:001A42H)</h2>
+<h2><a name="S134"></a>?PR?_XMEMCLEAR?UTILITIES (C:001A2CH - C:001A57H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S182">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S69">?PR?SYSTEM_CLEAR_MEM?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -616,7 +616,7 @@
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S141"></a>?PR?_GPIOSETBIT?GPIO (C:000A6DH - C:000ACDH)</h2>
+<h2><a name="S141"></a>?PR?_GPIOSETBIT?GPIO (C:000A7BH - C:000ADBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S182">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S153">?PR?_GPIO_SETOE?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -631,7 +631,7 @@
 <li><a href="#S149">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
-<h2><a name="S144"></a>?PR?_GPIOGETBIT?GPIO (C:000E00H - C:000E3EH)</h2>
+<h2><a name="S144"></a>?PR?_GPIOGETBIT?GPIO (C:000E0EH - C:000E4CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S182">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S165">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -643,7 +643,7 @@
 <li><a href="#S165">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
-<h2><a name="S146"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:000DFAH - C:000DFFH)</h2>
+<h2><a name="S146"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:000E08H - C:000E0DH)</h2>
 <p><br><b>Maximum Stack:</b> Top=10 Bytes (<a href="#S61">?PR?KS_SCANMATRIX?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -651,7 +651,7 @@
 <li><a href="#S61">?PR?KS_SCANMATRIX?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S147"></a>?PR?_GPIO_SETOUT?GPIO (C:00085BH - C:00086BH)</h2>
+<h2><a name="S147"></a>?PR?_GPIO_SETOUT?GPIO (C:000869H - C:000879H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S141">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S157">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -665,7 +665,7 @@
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S149"></a>?PR?_GPIO_SETPU?GPIO (C:000A2DH - C:000A3DH)</h2>
+<h2><a name="S149"></a>?PR?_GPIO_SETPU?GPIO (C:000A3BH - C:000A4BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S141">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S157">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -678,7 +678,7 @@
 <li><a href="#S157">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S151"></a>?PR?_GPIO_SETPD?GPIO (C:000ACEH - C:000ADEH)</h2>
+<h2><a name="S151"></a>?PR?_GPIO_SETPD?GPIO (C:000ADCH - C:000AECH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S141">?PR?_GPIOSETBIT?GPIO</a>) Top=4 Bytes (<a href="#S155">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -690,7 +690,7 @@
 <li><a href="#S155">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S153"></a>?PR?_GPIO_SETOE?GPIO (C:000A5CH - C:000A6CH)</h2>
+<h2><a name="S153"></a>?PR?_GPIO_SETOE?GPIO (C:000A6AH - C:000A7AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S141">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S157">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -703,7 +703,7 @@
 <li><a href="#S157">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S155"></a>?PR?_GPIO_SETINPUT?GPIO (C:000A3EH - C:000A5BH)</h2>
+<h2><a name="S155"></a>?PR?_GPIO_SETINPUT?GPIO (C:000A4CH - C:000A69H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S151">?PR?_GPIO_SETPD?GPIO</a>) Top=2 Bytes (<a href="#S57">?PR?KSCOLINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -717,7 +717,7 @@
 <li><a href="#S57">?PR?KSCOLINITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S157"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:00086CH - C:000886H)</h2>
+<h2><a name="S157"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:00087AH - C:000894H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S153">?PR?_GPIO_SETOE?GPIO</a>) Top=8 Bytes (<a href="#S65">?PR?LED_ALL_SHUTDOWN?LED</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -734,7 +734,7 @@
 <li><a href="#S80">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S165"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:0008D0H - C:0008EAH)</h2>
+<h2><a name="S165"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:0008DEH - C:0008F8H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S144">?PR?_GPIOGETBIT?GPIO</a>) Top=4 Bytes (<a href="#S80">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -747,7 +747,7 @@
 <li><a href="#S80">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S171"></a>?PR?IICWAITDONE?IIC (C:000BF0H - C:000BF7H)</h2>
+<h2><a name="S171"></a>?PR?IICWAITDONE?IIC (C:000BFEH - C:000C05H)</h2>
 <p><br><b>Maximum Stack:</b> Top=14 Bytes (<a href="#S172">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -767,7 +767,7 @@
 <li><a href="#S49">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S174"></a>?PR?_IIC_WRITE?IIC (C:000B58H - C:000BEFH)</h2>
+<h2><a name="S174"></a>?PR?_IIC_WRITE?IIC (C:000B66H - C:000BFDH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S132">?PR?_DMEMCPY?UTILITIES</a>) Top=6 Bytes (<a href="#S176">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -779,7 +779,7 @@
 <li><a href="#S176">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 </ul>
 
-<h2><a name="S176"></a>?PR?_IIC_WRITEBLOCK?IIC (C:0008EBH - C:000998H)</h2>
+<h2><a name="S176"></a>?PR?_IIC_WRITEBLOCK?IIC (C:0008F9H - C:0009A6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S174">?PR?_IIC_WRITE?IIC</a>) Top=4 Bytes (<a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
Index: c51/output/FW.MAP
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/FW.MAP	(revision 441)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               06/02/2022  23:34:52  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               06/06/2022  11:36:53  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -72,7 +72,7 @@
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
 X:000000H   X:004DD0H   X:004F40H   0002E9H   XDATA
-C:000000H   C:000000H   C:00FFFFH   001CE4H   CODE
+C:000000H   C:000000H   C:00FFFFH   001CF9H   CODE
 I:000000H   I:000010H   I:00007FH   000008H   DATA
 I:000000H   I:000080H   I:0000CFH   000001H   IDATA
 C:000000H   C:000000H   C:00FFFFH   000018H   CONST
@@ -122,69 +122,69 @@
 000760H   000786H   000027H   BYTE   UNIT     CODE           ?PR?_IPC_TXCONTROLCMD?IPC
 000787H   000818H   000092H   BYTE   UNIT     CODE           ?PR?_IPCTX?IPC
 000819H   00081DH   000005H   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
-00081EH   00085AH   00003DH   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
-00085BH   00086BH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
-00086CH   000886H   00001BH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
-000887H   0008A5H   00001FH   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
-0008A6H   0008CFH   00002AH   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
-0008D0H   0008EAH   00001BH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
-0008EBH   000998H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
-000999H   0009A4H   00000CH   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
-0009A5H   0009DAH   000036H   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
-0009DBH   0009DBH   000001H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
-0009DCH   0009E9H   00000EH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
-0009EAH   0009EFH   000006H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
-0009F0H   ---       000000H   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
-0009F0H   000A0DH   00001EH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
-000A0EH   000A13H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
-000A14H   000A20H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
-000A21H   000A2CH   00000CH   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
-000A2DH   000A3DH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
-000A3EH   000A5BH   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
-000A5CH   000A6CH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
-000A6DH   000ACDH   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
-000ACEH   000ADEH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
-000ADFH   000B0EH   000030H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-000B0FH   000B57H   000049H   BYTE   UNIT     CODE           ?PR?KB_NEED_KEYSCAN?KB_PROCESS
-000B58H   000BEFH   000098H   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
-000BF0H   000BF7H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
-000BF8H   000CBEH   0000C7H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-000CBFH   000DF9H   00013BH   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
-000DFAH   000DFFH   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
-000E00H   000E3EH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
-000E3FH   000E40H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
-000E41H   000E46H   000006H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
-000E47H   000E52H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-000E53H   000E65H   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
-000E66H   000E78H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
-000E79H   000F04H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
-000F05H   000F1CH   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-000F1DH   000F31H   000015H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
-000F32H   000F50H   00001FH   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
-000F51H   000F94H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-000F95H   000FD9H   000045H   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
-000FDAH   00103AH   000061H   BYTE   UNIT     CODE           ?PR?_IPC_TXHIDDATA?KB_PROCESS
-00103BH   001040H   000006H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
-001041H   001067H   000027H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
-001068H   001A16H   0009AFH   BYTE   UNIT     CODE           ?PR?KB_SET_GAMEPAD_DATA?KB_PROCESS
-001A17H   001A42H   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
-001A43H   001A94H   000052H   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
-001A95H   001AB0H   00001CH   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-001AB1H   001B00H   000050H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-001B01H   001B0EH   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
-001B0FH   001B3EH   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
-001B3FH   001B47H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-001B48H   001B49H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-001B4AH   001B59H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-001B5AH   001B5AH   000001H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
-001B5BH   001BB4H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-001BB5H   001C04H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-001C05H   001C0AH   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-001C0BH   001C11H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-001C12H   001C3EH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
-001C3FH   001C88H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
-001C89H   001CC7H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-001CC8H   001CFBH   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+00081EH   000868H   00004BH   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
+000869H   000879H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
+00087AH   000894H   00001BH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
+000895H   0008B3H   00001FH   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
+0008B4H   0008DDH   00002AH   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
+0008DEH   0008F8H   00001BH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
+0008F9H   0009A6H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
+0009A7H   0009B2H   00000CH   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
+0009B3H   0009E8H   000036H   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
+0009E9H   0009E9H   000001H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
+0009EAH   0009F7H   00000EH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
+0009F8H   0009FDH   000006H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
+0009FEH   ---       000000H   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
+0009FEH   000A1BH   00001EH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
+000A1CH   000A21H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+000A22H   000A2EH   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+000A2FH   000A3AH   00000CH   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
+000A3BH   000A4BH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+000A4CH   000A69H   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+000A6AH   000A7AH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+000A7BH   000ADBH   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+000ADCH   000AECH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+000AEDH   000B1CH   000030H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+000B1DH   000B65H   000049H   BYTE   UNIT     CODE           ?PR?KB_NEED_KEYSCAN?KB_PROCESS
+000B66H   000BFDH   000098H   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
+000BFEH   000C05H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
+000C06H   000CCCH   0000C7H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+000CCDH   000E07H   00013BH   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+000E08H   000E0DH   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+000E0EH   000E4CH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+000E4DH   000E4EH   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+000E4FH   000E54H   000006H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
+000E55H   000E60H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+000E61H   000E73H   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
+000E74H   000E86H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+000E87H   000F12H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
+000F13H   000F2AH   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+000F2BH   000F3FH   000015H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
+000F40H   000F5EH   00001FH   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
+000F5FH   000FA2H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+000FA3H   000FE7H   000045H   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
+000FE8H   001048H   000061H   BYTE   UNIT     CODE           ?PR?_IPC_TXHIDDATA?KB_PROCESS
+001049H   00104EH   000006H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
+00104FH   001075H   000027H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
+001076H   001A2BH   0009B6H   BYTE   UNIT     CODE           ?PR?KB_SET_GAMEPAD_DATA?KB_PROCESS
+001A2CH   001A57H   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
+001A58H   001AA9H   000052H   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
+001AAAH   001AC5H   00001CH   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+001AC6H   001B15H   000050H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+001B16H   001B23H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+001B24H   001B53H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+001B54H   001B5CH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+001B5DH   001B5EH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+001B5FH   001B6EH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+001B6FH   001B6FH   000001H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+001B70H   001BC9H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+001BCAH   001C19H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+001C1AH   001C1FH   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+001C20H   001C26H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+001C27H   001C53H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+001C54H   001C9DH   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+001C9EH   001CDCH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+001CDDH   001D10H   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?34
@@ -343,31 +343,31 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       010002F9H   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      01001B0FH   CODE     ---       _array_is_empty
-      01001C3FH   CODE     ---       _compare_str
+      01001B24H   CODE     ---       _array_is_empty
+      01001C54H   CODE     ---       _compare_str
       01000596H   CODE     ---       _Delay1ms
-      01000F51H   CODE     ---       _dmemcpy
-      01001C89H   CODE     ---       _GPIO_ClearWakeup
-      010008D0H   CODE     ---       _GPIO_FlipOutBit
-      01000DFAH   CODE     ---       _GPIO_GetInputStatus
-      01000A3EH   CODE     ---       _GPIO_SetInput
-      01000A5CH   CODE     ---       _GPIO_Setoe
-      0100085BH   CODE     ---       _GPIO_Setout
-      0100086CH   CODE     ---       _GPIO_SetOutput
-      01000ACEH   CODE     ---       _GPIO_SetPd
-      01000A2DH   CODE     ---       _GPIO_SetPu
-      01000E79H   CODE     ---       _GPIO_SetWakeup
-      01000E66H   CODE     ---       _GPIO_SetWakeupByCurrentState
+      01000F5FH   CODE     ---       _dmemcpy
+      01001C9EH   CODE     ---       _GPIO_ClearWakeup
+      010008DEH   CODE     ---       _GPIO_FlipOutBit
+      01000E08H   CODE     ---       _GPIO_GetInputStatus
+      01000A4CH   CODE     ---       _GPIO_SetInput
+      01000A6AH   CODE     ---       _GPIO_Setoe
+      01000869H   CODE     ---       _GPIO_Setout
+      0100087AH   CODE     ---       _GPIO_SetOutput
+      01000ADCH   CODE     ---       _GPIO_SetPd
+      01000A3BH   CODE     ---       _GPIO_SetPu
+      01000E87H   CODE     ---       _GPIO_SetWakeup
+      01000E74H   CODE     ---       _GPIO_SetWakeupByCurrentState
       010005AEH   CODE     ---       _IIC_Read
-      01000B58H   CODE     ---       _IIC_write
-      010008EBH   CODE     ---       _IIC_WriteBlock
-      01000A14H   CODE     ---       _IPC_Initialize
-      0100103BH   CODE     ---       _IPC_Tx24GData
+      01000B66H   CODE     ---       _IIC_write
+      010008F9H   CODE     ---       _IIC_WriteBlock
+      01000A22H   CODE     ---       _IPC_Initialize
+      01001049H   CODE     ---       _IPC_Tx24GData
       01000760H   CODE     ---       _IPC_TxControlCmd
-      01001041H   CODE     ---       _IPC_TxData
-      01000FDAH   CODE     ---       _IPC_TxHidData
-      01001A17H   CODE     ---       _xmemclear
-      01001C12H   CODE     ---       _xmemclear_ff
+      0100104FH   CODE     ---       _IPC_TxData
+      01000FE8H   CODE     ---       _IPC_TxHidData
+      01001A2CH   CODE     ---       _xmemclear
+      01001C27H   CODE     ---       _xmemclear_ff
       0100065CH   CODE     ---       _xmemcpy
       010003AEH   CODE     ---       _YC_key_action_handle
       02004DE6H   XDATA    BYTE      action_timeout
@@ -386,37 +386,37 @@
       02004DD3H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD0H   XDATA    BYTE      get_24g_led_send
-      01001CC8H   CODE     ---       GPIO_fillpd
+      01001CDDH   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DDAH   XDATA    BYTE      iOS_rec_pinCode
-      01000E47H   CODE     ---       IPC_AbandonLpm
-      01000BF8H   CODE     ---       IPC_DealSingleStep
-      01001C05H   CODE     ---       IPC_GetBBDIsconnectReason
-      01000F05H   CODE     ---       IPC_IsTxBuffEmpty
-      010009DCH   CODE     ---       IPC_WaitLpm
+      01000E55H   CODE     ---       IPC_AbandonLpm
+      01000C06H   CODE     ---       IPC_DealSingleStep
+      01001C1AH   CODE     ---       IPC_GetBBDIsconnectReason
+      01000F13H   CODE     ---       IPC_IsTxBuffEmpty
+      010009EAH   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
       02000C4BH   XDATA    ---       ipcReadBuff
       02000BE7H   XDATA    ---       ipcSendBuff
       010006BEH   CODE     ---       kb_button_press_timer500ms
-      01000B0FH   CODE     ---       kb_need_keyscan
-      01001068H   CODE     ---       kb_set_gamepad_data
+      01000B1DH   CODE     ---       kb_need_keyscan
+      01001076H   CODE     ---       kb_set_gamepad_data
       02004DE2H   XDATA    BYTE      key_value_temp
       02004DDEH   XDATA    BYTE      keyCount
-      010009F0H   CODE     ---       KS_Initialize
-      01000CBFH   CODE     ---       KS_ScanMatrix
-      010009DBH   CODE     ---       KS_Unistall
+      010009FEH   CODE     ---       KS_Initialize
+      01000CCDH   CODE     ---       KS_ScanMatrix
+      010009E9H   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
       02004D97H   XDATA    DWORD     ksSelMapCheck
       02004D9BH   XDATA    DWORD     ksSelMapCurr
       02004D93H   XDATA    DWORD     ksSelMapOld
       02004D39H   XDATA    DWORD     le_pin_code
       02004DD2H   XDATA    BYTE      le_pin_code_len
-      01000999H   CODE     ---       LED_all_shutdown
-      01000A21H   CODE     ---       LED_device_poweroff
-      01000887H   CODE     ---       LED_device_poweron
-      01000E41H   CODE     ---       LED_handle
-      010008A6H   CODE     ---       LED_timer500ms
+      010009A7H   CODE     ---       LED_all_shutdown
+      01000A2FH   CODE     ---       LED_device_poweroff
+      01000895H   CODE     ---       LED_device_poweron
+      01000E4FH   CODE     ---       LED_handle
+      010008B4H   CODE     ---       LED_timer500ms
       02004DD5H   XDATA    BYTE      long_press_flag
       02000B7FH   XDATA    BYTE      lpm_flag
       02004C00H   XDATA    ---       m_24g_addr
@@ -453,7 +453,7 @@
       02008010H   XDATA    BYTE      m_reset_reg
       020047F4H   XDATA    WORD      m_ui_state_map
       02000B81H   XDATA    BYTE      m_wakup_from_power_flag
-      01000E3FH   CODE     ---       main
+      01000E4DH   CODE     ---       main
       02004DE8H   XDATA    BYTE      mult_key_status
       02004DE7H   XDATA    BYTE      mult_key_value
       02004DE9H   XDATA    ---       multikey
@@ -466,22 +466,22 @@
       02004DD4H   XDATA    BYTE      switch_role_timer
       02004DE3H   XDATA    BYTE      system_key_press
       010006A2H   CODE     ---       System_long_sleep
-      01001B48H   CODE     ---       System_Reset_Connect
-      01001A95H   CODE     ---       System_Software_init
+      01001B5DH   CODE     ---       System_Reset_Connect
+      01001AAAH   CODE     ---       System_Software_init
       02004FF0H   XDATA    BYTE      test_aaa
-      01001B5AH   CODE     ---       YC_adc_check_timer500ms
-      01001AB1H   CODE     ---       YC_adc_init
+      01001B6FH   CODE     ---       YC_adc_check_timer500ms
+      01001AC6H   CODE     ---       YC_adc_init
       0100036CH   CODE     ---       YC_check_is_connected
       01000379H   CODE     ---       YC_check_need_reconnected
       0100069CH   CODE     ---       YC_clear_reconnect_flag
-      01000F95H   CODE     ---       YC_connect_timeout_500ms
+      01000FA3H   CODE     ---       YC_connect_timeout_500ms
       01000749H   CODE     ---       YC_disconnect_all_link
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      01001C0BH   CODE     ---       YC_Ice_break
-      01000F32H   CODE     ---       YC_pairing_timerout_500ms
+      01001C20H   CODE     ---       YC_Ice_break
+      01000F40H   CODE     ---       YC_pairing_timerout_500ms
       01000819H   CODE     ---       YC_start_reconnect
-      010009A5H   CODE     ---       YC_System_Main
+      010009B3H   CODE     ---       YC_System_Main
       0100081EH   CODE     ---       YC_update_eeprom_data
 
 
@@ -570,12 +570,14 @@
       01000824H   LINE      ---      ---       #69
       01000824H   LINE      ---      ---       #70
       0100082AH   LINE      ---      ---       #71
-      0100083AH   LINE      ---      ---       #72
-      0100084AH   LINE      ---      ---       #75
-      01000850H   LINE      ---      ---       #76
-      01000855H   LINE      ---      ---       #77
-      0100085AH   LINE      ---      ---       #78
-      0100085AH   LINE      ---      ---       #79
+      01000831H   LINE      ---      ---       #72
+      01000841H   LINE      ---      ---       #73
+      01000848H   LINE      ---      ---       #74
+      01000858H   LINE      ---      ---       #77
+      0100085EH   LINE      ---      ---       #78
+      01000863H   LINE      ---      ---       #79
+      01000868H   LINE      ---      ---       #80
+      01000868H   LINE      ---      ---       #81
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       GLOBAL_VARIABLE
@@ -648,9 +650,9 @@
       01000354H   PUBLIC    CONST    ---       col
 
       ---         MODULE    ---      ---       KB_PROCESS
-      01000B0FH   PUBLIC    CODE     ---       kb_need_keyscan
-      01001068H   PUBLIC    CODE     ---       kb_set_gamepad_data
-      01000FDAH   PUBLIC    CODE     ---       _IPC_TxHidData
+      01000B1DH   PUBLIC    CODE     ---       kb_need_keyscan
+      01001076H   PUBLIC    CODE     ---       kb_set_gamepad_data
+      01000FE8H   PUBLIC    CODE     ---       _IPC_TxHidData
       010003AEH   PUBLIC    CODE     ---       _YC_key_action_handle
 
       010003AEH   BLOCK     CODE     ---       LVL=0
@@ -702,227 +704,230 @@
       01000455H   LINE      ---      ---       #52
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01000FDAH   BLOCK     CODE     ---       LVL=0
-      01000FDAH   LINE      ---      ---       #56
-      01000FE8H   LINE      ---      ---       #57
-      01000FE8H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000FE8H   LINE      ---      ---       #59
-      01000FEAH   LINE      ---      ---       #61
-      01000FF4H   LINE      ---      ---       #62
-      01000FF4H   LINE      ---      ---       #63
-      01001014H   LINE      ---      ---       #64
-      01001017H   LINE      ---      ---       #66
-      0100101DH   LINE      ---      ---       #68
-      01001023H   LINE      ---      ---       #71
-      0100102AH   LINE      ---      ---       #72
-      0100102AH   LINE      ---      ---       #73
-      0100103AH   LINE      ---      ---       #74
-      0100103AH   LINE      ---      ---       #105
+      01000FE8H   BLOCK     CODE     ---       LVL=0
+      01000FE8H   LINE      ---      ---       #56
+      01000FF6H   LINE      ---      ---       #57
+      01000FF6H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000FF6H   LINE      ---      ---       #59
+      01000FF8H   LINE      ---      ---       #61
+      01001002H   LINE      ---      ---       #62
+      01001002H   LINE      ---      ---       #63
+      01001022H   LINE      ---      ---       #64
+      01001025H   LINE      ---      ---       #66
+      0100102BH   LINE      ---      ---       #68
+      01001031H   LINE      ---      ---       #71
+      01001038H   LINE      ---      ---       #72
+      01001038H   LINE      ---      ---       #73
+      01001048H   LINE      ---      ---       #74
+      01001048H   LINE      ---      ---       #105
       02004E2CH   SYMBOL    XDATA    VOID      tx_hid_buff
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001068H   BLOCK     CODE     ---       LVL=0
-      01001068H   LINE      ---      ---       #108
-      01001068H   LINE      ---      ---       #109
-      01001068H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001068H   LINE      ---      ---       #110
-      0100106DH   LINE      ---      ---       #111
-      01001075H   LINE      ---      ---       #112
-      0100107FH   LINE      ---      ---       #113
-      01001089H   LINE      ---      ---       #114
-      01001093H   LINE      ---      ---       #116
-      01001099H   LINE      ---      ---       #117
-      0100109BH   LINE      ---      ---       #118
-      0100109DH   LINE      ---      ---       #119
-      0100109FH   LINE      ---      ---       #120
-      010010A3H   LINE      ---      ---       #121
-      010010A6H   LINE      ---      ---       #122
-      010010A8H   LINE      ---      ---       #125
-      010010C5H   LINE      ---      ---       #126
-      010010DEH   LINE      ---      ---       #127
-      010010F7H   LINE      ---      ---       #128
-      01001110H   LINE      ---      ---       #130
-      01001116H   LINE      ---      ---       #131
-      0100111CH   LINE      ---      ---       #132
-      0100111EH   LINE      ---      ---       #133
-      01001123H   LINE      ---      ---       #134
-      01001123H   LINE      ---      ---       #135
-      0100115AH   LINE      ---      ---       #136
-      01001191H   LINE      ---      ---       #137
-      010011C8H   LINE      ---      ---       #138
-      010011FFH   LINE      ---      ---       #139
-      0100120CH   LINE      ---      ---       #140
-      01001229H   LINE      ---      ---       #141
-      01001246H   LINE      ---      ---       #142
-      01001263H   LINE      ---      ---       #143
-      01001280H   LINE      ---      ---       #146
-      01001288H   LINE      ---      ---       #147
-      01001288H   LINE      ---      ---       #148
-      010012A2H   LINE      ---      ---       #149
-      010012AAH   LINE      ---      ---       #150
-      010012C5H   LINE      ---      ---       #151
-      010012CCH   LINE      ---      ---       #153
-      010012CCH   LINE      ---      ---       #154
-      010012F8H   LINE      ---      ---       #155
-      01001303H   LINE      ---      ---       #156
-      01001306H   LINE      ---      ---       #157
-      01001306H   LINE      ---      ---       #159
-      01001321H   LINE      ---      ---       #160
-      01001328H   LINE      ---      ---       #161
-      0100135BH   LINE      ---      ---       #162
-      01001363H   LINE      ---      ---       #163
-      0100137EH   LINE      ---      ---       #164
-      01001386H   LINE      ---      ---       #166
-      01001386H   LINE      ---      ---       #167
-      010013B0H   LINE      ---      ---       #168
-      010013BBH   LINE      ---      ---       #169
-      010013BEH   LINE      ---      ---       #170
-      010013BEH   LINE      ---      ---       #172
-      010013D9H   LINE      ---      ---       #173
-      010013E0H   LINE      ---      ---       #174
-      01001413H   LINE      ---      ---       #175
-      0100141BH   LINE      ---      ---       #176
-      01001436H   LINE      ---      ---       #177
-      0100143EH   LINE      ---      ---       #179
-      0100143EH   LINE      ---      ---       #180
-      01001468H   LINE      ---      ---       #181
-      01001473H   LINE      ---      ---       #182
-      01001476H   LINE      ---      ---       #183
-      01001476H   LINE      ---      ---       #185
-      01001491H   LINE      ---      ---       #186
-      01001498H   LINE      ---      ---       #187
-      010014CBH   LINE      ---      ---       #188
-      010014D3H   LINE      ---      ---       #189
-      010014EEH   LINE      ---      ---       #190
-      010014F6H   LINE      ---      ---       #192
-      010014F6H   LINE      ---      ---       #193
-      01001520H   LINE      ---      ---       #194
-      0100152BH   LINE      ---      ---       #195
-      0100152EH   LINE      ---      ---       #196
-      0100152EH   LINE      ---      ---       #198
-      01001547H   LINE      ---      ---       #199
-      01001547H   LINE      ---      ---       #200
-      01001560H   LINE      ---      ---       #201
-      01001568H   LINE      ---      ---       #202
-      01001581H   LINE      ---      ---       #203
-      01001589H   LINE      ---      ---       #205
-      0100158FH   LINE      ---      ---       #206
-      01001591H   LINE      ---      ---       #207
-      010015AAH   LINE      ---      ---       #208
-      010015AAH   LINE      ---      ---       #209
-      010015C3H   LINE      ---      ---       #210
-      010015CBH   LINE      ---      ---       #211
-      010015E4H   LINE      ---      ---       #212
-      010015ECH   LINE      ---      ---       #214
-      010015F2H   LINE      ---      ---       #215
-      010015F4H   LINE      ---      ---       #216
-      0100160DH   LINE      ---      ---       #217
-      01001615H   LINE      ---      ---       #218
-      0100162EH   LINE      ---      ---       #219
-      01001635H   LINE      ---      ---       #221
-      0100163BH   LINE      ---      ---       #223
-      0100163DH   LINE      ---      ---       #225
-      0100163DH   LINE      ---      ---       #226
-      01001658H   LINE      ---      ---       #227
-      01001660H   LINE      ---      ---       #228
-      0100167BH   LINE      ---      ---       #229
-      01001682H   LINE      ---      ---       #231
-      01001688H   LINE      ---      ---       #233
-      010016A3H   LINE      ---      ---       #234
-      010016AAH   LINE      ---      ---       #235
-      010016C5H   LINE      ---      ---       #236
-      010016CDH   LINE      ---      ---       #238
-      010016D3H   LINE      ---      ---       #240
-      010016EEH   LINE      ---      ---       #241
-      010016F7H   LINE      ---      ---       #242
-      01001712H   LINE      ---      ---       #243
-      01001719H   LINE      ---      ---       #245
-      01001734H   LINE      ---      ---       #246
-      0100173DH   LINE      ---      ---       #247
-      01001758H   LINE      ---      ---       #248
-      0100175FH   LINE      ---      ---       #250
-      01001778H   LINE      ---      ---       #251
-      0100177FH   LINE      ---      ---       #252
-      01001798H   LINE      ---      ---       #253
-      0100179EH   LINE      ---      ---       #254
-      010017B7H   LINE      ---      ---       #255
-      010017BFH   LINE      ---      ---       #256
-      010017D8H   LINE      ---      ---       #257
-      010017DDH   LINE      ---      ---       #259
-      010017DDH   LINE      ---      ---       #262
-      010017F6H   LINE      ---      ---       #263
-      010017F6H   LINE      ---      ---       #264
-      010017FDH   LINE      ---      ---       #265
-      010017FDH   LINE      ---      ---       #266
-      01001816H   LINE      ---      ---       #267
-      01001816H   LINE      ---      ---       #268
-      0100181DH   LINE      ---      ---       #269
-      0100181DH   LINE      ---      ---       #270
-      01001836H   LINE      ---      ---       #271
-      01001836H   LINE      ---      ---       #272
-      0100183DH   LINE      ---      ---       #273
-      0100183DH   LINE      ---      ---       #274
-      01001856H   LINE      ---      ---       #275
-      01001856H   LINE      ---      ---       #276
-      0100185DH   LINE      ---      ---       #277
-      0100185DH   LINE      ---      ---       #279
-      01001876H   LINE      ---      ---       #280
-      01001876H   LINE      ---      ---       #281
-      0100187DH   LINE      ---      ---       #282
-      0100187DH   LINE      ---      ---       #283
-      01001894H   LINE      ---      ---       #284
-      01001894H   LINE      ---      ---       #285
-      0100189BH   LINE      ---      ---       #286
-      0100189BH   LINE      ---      ---       #287
-      010018B4H   LINE      ---      ---       #288
-      010018B4H   LINE      ---      ---       #289
-      010018BBH   LINE      ---      ---       #290
-      010018BBH   LINE      ---      ---       #291
-      010018D2H   LINE      ---      ---       #292
-      010018D2H   LINE      ---      ---       #293
-      010018D9H   LINE      ---      ---       #294
-      010018D9H   LINE      ---      ---       #296
-      010018F0H   LINE      ---      ---       #297
-      010018F0H   LINE      ---      ---       #298
-      010018F7H   LINE      ---      ---       #299
-      010018F7H   LINE      ---      ---       #300
-      0100190EH   LINE      ---      ---       #301
-      0100190EH   LINE      ---      ---       #302
-      01001915H   LINE      ---      ---       #303
-      01001915H   LINE      ---      ---       #304
-      0100192CH   LINE      ---      ---       #305
-      0100192CH   LINE      ---      ---       #306
-      01001933H   LINE      ---      ---       #307
-      01001933H   LINE      ---      ---       #308
-      0100194AH   LINE      ---      ---       #309
-      0100194AH   LINE      ---      ---       #310
-      01001951H   LINE      ---      ---       #311
-      01001951H   LINE      ---      ---       #313
-      01001968H   LINE      ---      ---       #314
-      01001968H   LINE      ---      ---       #315
-      0100196FH   LINE      ---      ---       #316
-      0100196FH   LINE      ---      ---       #318
-      0100197CH   LINE      ---      ---       #319
-      0100197CH   LINE      ---      ---       #320
-      01001982H   LINE      ---      ---       #321
-      01001986H   LINE      ---      ---       #323
-      0100198CH   LINE      ---      ---       #324
-      01001992H   LINE      ---      ---       #325
-      01001992H   LINE      ---      ---       #326
-      01001998H   LINE      ---      ---       #329
-      010019BDH   LINE      ---      ---       #331
-      010019C4H   LINE      ---      ---       #333
-      010019CAH   LINE      ---      ---       #334
-      010019D2H   LINE      ---      ---       #335
-      010019DAH   LINE      ---      ---       #336
-      010019E2H   LINE      ---      ---       #337
-      010019EAH   LINE      ---      ---       #338
-      010019F2H   LINE      ---      ---       #339
-      010019FAH   LINE      ---      ---       #340
-      01001A02H   LINE      ---      ---       #341
-      01001A0DH   LINE      ---      ---       #342
+      01001076H   BLOCK     CODE     ---       LVL=0
+      01001076H   LINE      ---      ---       #108
+      01001076H   LINE      ---      ---       #109
+      01001076H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001076H   LINE      ---      ---       #110
+      0100107BH   LINE      ---      ---       #111
+      01001083H   LINE      ---      ---       #112
+      0100108DH   LINE      ---      ---       #113
+      01001097H   LINE      ---      ---       #114
+      010010A1H   LINE      ---      ---       #116
+      010010A7H   LINE      ---      ---       #117
+      010010A9H   LINE      ---      ---       #118
+      010010ABH   LINE      ---      ---       #119
+      010010ADH   LINE      ---      ---       #120
+      010010B1H   LINE      ---      ---       #121
+      010010B4H   LINE      ---      ---       #122
+      010010B6H   LINE      ---      ---       #125
+      010010D3H   LINE      ---      ---       #126
+      010010ECH   LINE      ---      ---       #127
+      01001105H   LINE      ---      ---       #128
+      0100111EH   LINE      ---      ---       #130
+      01001124H   LINE      ---      ---       #131
+      0100112AH   LINE      ---      ---       #132
+      0100112CH   LINE      ---      ---       #133
+      01001131H   LINE      ---      ---       #134
+      01001131H   LINE      ---      ---       #135
+      01001168H   LINE      ---      ---       #136
+      0100119FH   LINE      ---      ---       #137
+      010011D6H   LINE      ---      ---       #138
+      0100120DH   LINE      ---      ---       #139
+      0100121AH   LINE      ---      ---       #140
+      01001237H   LINE      ---      ---       #141
+      01001254H   LINE      ---      ---       #142
+      01001271H   LINE      ---      ---       #143
+      0100128EH   LINE      ---      ---       #146
+      01001296H   LINE      ---      ---       #147
+      01001296H   LINE      ---      ---       #148
+      010012B0H   LINE      ---      ---       #149
+      010012B8H   LINE      ---      ---       #150
+      010012D3H   LINE      ---      ---       #151
+      010012DAH   LINE      ---      ---       #153
+      010012DAH   LINE      ---      ---       #154
+      01001306H   LINE      ---      ---       #155
+      01001311H   LINE      ---      ---       #156
+      01001314H   LINE      ---      ---       #157
+      01001314H   LINE      ---      ---       #159
+      0100132FH   LINE      ---      ---       #160
+      01001336H   LINE      ---      ---       #161
+      01001369H   LINE      ---      ---       #162
+      01001371H   LINE      ---      ---       #163
+      0100138CH   LINE      ---      ---       #164
+      01001394H   LINE      ---      ---       #166
+      01001394H   LINE      ---      ---       #167
+      010013BEH   LINE      ---      ---       #168
+      010013C9H   LINE      ---      ---       #169
+      010013CCH   LINE      ---      ---       #170
+      010013CCH   LINE      ---      ---       #172
+      010013E7H   LINE      ---      ---       #173
+      010013EEH   LINE      ---      ---       #174
+      01001421H   LINE      ---      ---       #175
+      01001429H   LINE      ---      ---       #176
+      01001444H   LINE      ---      ---       #177
+      0100144CH   LINE      ---      ---       #179
+      0100144CH   LINE      ---      ---       #180
+      01001476H   LINE      ---      ---       #181
+      01001481H   LINE      ---      ---       #182
+      01001484H   LINE      ---      ---       #183
+      01001484H   LINE      ---      ---       #185
+      0100149FH   LINE      ---      ---       #186
+      010014A6H   LINE      ---      ---       #187
+      010014D9H   LINE      ---      ---       #188
+      010014E1H   LINE      ---      ---       #189
+      010014FCH   LINE      ---      ---       #190
+      01001504H   LINE      ---      ---       #192
+      01001504H   LINE      ---      ---       #193
+      0100152EH   LINE      ---      ---       #194
+      01001539H   LINE      ---      ---       #195
+      0100153CH   LINE      ---      ---       #196
+      0100153CH   LINE      ---      ---       #198
+      01001555H   LINE      ---      ---       #199
+      01001555H   LINE      ---      ---       #200
+      0100156EH   LINE      ---      ---       #201
+      01001576H   LINE      ---      ---       #202
+      0100158FH   LINE      ---      ---       #203
+      01001597H   LINE      ---      ---       #205
+      0100159DH   LINE      ---      ---       #206
+      0100159FH   LINE      ---      ---       #207
+      010015B8H   LINE      ---      ---       #208
+      010015B8H   LINE      ---      ---       #209
+      010015D1H   LINE      ---      ---       #210
+      010015D9H   LINE      ---      ---       #211
+      010015F2H   LINE      ---      ---       #212
+      010015FAH   LINE      ---      ---       #214
+      01001600H   LINE      ---      ---       #215
+      01001602H   LINE      ---      ---       #216
+      0100161BH   LINE      ---      ---       #217
+      01001623H   LINE      ---      ---       #218
+      0100163CH   LINE      ---      ---       #219
+      01001643H   LINE      ---      ---       #221
+      01001649H   LINE      ---      ---       #223
+      0100164BH   LINE      ---      ---       #225
+      0100164BH   LINE      ---      ---       #226
+      01001666H   LINE      ---      ---       #227
+      0100166EH   LINE      ---      ---       #228
+      01001689H   LINE      ---      ---       #229
+      01001690H   LINE      ---      ---       #231
+      01001696H   LINE      ---      ---       #233
+      010016B1H   LINE      ---      ---       #234
+      010016B8H   LINE      ---      ---       #235
+      010016D3H   LINE      ---      ---       #236
+      010016DBH   LINE      ---      ---       #238
+      010016E1H   LINE      ---      ---       #240
+      010016FCH   LINE      ---      ---       #241
+      01001705H   LINE      ---      ---       #242
+      01001720H   LINE      ---      ---       #243
+      01001727H   LINE      ---      ---       #245
+      01001742H   LINE      ---      ---       #246
+      0100174BH   LINE      ---      ---       #247
+      01001766H   LINE      ---      ---       #248
+      0100176DH   LINE      ---      ---       #250
+      01001786H   LINE      ---      ---       #251
+      0100178DH   LINE      ---      ---       #252
+      010017A6H   LINE      ---      ---       #253
+      010017ACH   LINE      ---      ---       #254
+      010017C5H   LINE      ---      ---       #255
+      010017CDH   LINE      ---      ---       #256
+      010017E6H   LINE      ---      ---       #257
+      010017EBH   LINE      ---      ---       #259
+      010017EBH   LINE      ---      ---       #262
+      01001804H   LINE      ---      ---       #263
+      01001804H   LINE      ---      ---       #264
+      0100180BH   LINE      ---      ---       #265
+      0100180BH   LINE      ---      ---       #266
+      01001824H   LINE      ---      ---       #267
+      01001824H   LINE      ---      ---       #268
+      0100182BH   LINE      ---      ---       #269
+      0100182BH   LINE      ---      ---       #270
+      01001844H   LINE      ---      ---       #271
+      01001844H   LINE      ---      ---       #272
+      0100184BH   LINE      ---      ---       #273
+      0100184BH   LINE      ---      ---       #274
+      01001864H   LINE      ---      ---       #275
+      01001864H   LINE      ---      ---       #276
+      0100186BH   LINE      ---      ---       #277
+      0100186BH   LINE      ---      ---       #279
+      01001884H   LINE      ---      ---       #280
+      01001884H   LINE      ---      ---       #281
+      0100188BH   LINE      ---      ---       #282
+      0100188BH   LINE      ---      ---       #283
+      010018A2H   LINE      ---      ---       #284
+      010018A2H   LINE      ---      ---       #285
+      010018A9H   LINE      ---      ---       #286
+      010018A9H   LINE      ---      ---       #287
+      010018C2H   LINE      ---      ---       #288
+      010018C2H   LINE      ---      ---       #289
+      010018C9H   LINE      ---      ---       #290
+      010018C9H   LINE      ---      ---       #291
+      010018E0H   LINE      ---      ---       #292
+      010018E0H   LINE      ---      ---       #293
+      010018E7H   LINE      ---      ---       #294
+      010018E7H   LINE      ---      ---       #296
+      010018FEH   LINE      ---      ---       #297
+      010018FEH   LINE      ---      ---       #298
+      01001905H   LINE      ---      ---       #299
+      01001905H   LINE      ---      ---       #300
+      0100191CH   LINE      ---      ---       #301
+      0100191CH   LINE      ---      ---       #302
+      01001923H   LINE      ---      ---       #303
+      01001923H   LINE      ---      ---       #304
+      0100193AH   LINE      ---      ---       #305
+      0100193AH   LINE      ---      ---       #306
+      01001941H   LINE      ---      ---       #307
+      01001941H   LINE      ---      ---       #308
+      01001958H   LINE      ---      ---       #309
+      01001958H   LINE      ---      ---       #310
+      0100195FH   LINE      ---      ---       #311
+      0100195FH   LINE      ---      ---       #313
+      01001976H   LINE      ---      ---       #314
+      01001976H   LINE      ---      ---       #315
+      0100197DH   LINE      ---      ---       #316
+      0100197DH   LINE      ---      ---       #318
+      01001984H   LINE      ---      ---       #319
+      01001984H   LINE      ---      ---       #320
+      01001991H   LINE      ---      ---       #321
+      01001991H   LINE      ---      ---       #322
+      01001997H   LINE      ---      ---       #323
+      0100199BH   LINE      ---      ---       #325
+      010019A1H   LINE      ---      ---       #326
+      010019A7H   LINE      ---      ---       #327
+      010019A7H   LINE      ---      ---       #328
+      010019A7H   LINE      ---      ---       #329
+      010019ADH   LINE      ---      ---       #332
+      010019D2H   LINE      ---      ---       #334
+      010019D9H   LINE      ---      ---       #336
+      010019DFH   LINE      ---      ---       #337
+      010019E7H   LINE      ---      ---       #338
+      010019EFH   LINE      ---      ---       #339
+      010019F7H   LINE      ---      ---       #340
+      010019FFH   LINE      ---      ---       #341
+      01001A07H   LINE      ---      ---       #342
+      01001A0FH   LINE      ---      ---       #343
+      01001A17H   LINE      ---      ---       #344
+      01001A22H   LINE      ---      ---       #345
       02004E17H   SYMBOL    XDATA    VOID      i
       02004E18H   SYMBOL    XDATA    VOID      adc_gamepad_value0
       02004E1CH   SYMBOL    XDATA    VOID      adc_gamepad_value1
@@ -931,223 +936,223 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000B0FH   BLOCK     CODE     ---       LVL=0
-      01000B0FH   LINE      ---      ---       #346
-      01000B0FH   LINE      ---      ---       #347
-      01000B0FH   LINE      ---      ---       #348
-      01000B13H   LINE      ---      ---       #351
-      01000B1AH   LINE      ---      ---       #352
-      01000B1AH   LINE      ---      ---       #353
-      01000B20H   LINE      ---      ---       #354
-      01000B22H   LINE      ---      ---       #355
-      01000B24H   LINE      ---      ---       #356
-      01000B26H   LINE      ---      ---       #357
-      01000B28H   LINE      ---      ---       #359
-      01000B28H   LINE      ---      ---       #360
-      01000B2DH   LINE      ---      ---       #361
-      01000B31H   LINE      ---      ---       #362
-      01000B35H   LINE      ---      ---       #363
-      01000B38H   LINE      ---      ---       #364
-      01000B38H   LINE      ---      ---       #366
-      01000B3AH   LINE      ---      ---       #368
+      01000B1DH   BLOCK     CODE     ---       LVL=0
+      01000B1DH   LINE      ---      ---       #349
+      01000B1DH   LINE      ---      ---       #350
+      01000B1DH   LINE      ---      ---       #351
+      01000B21H   LINE      ---      ---       #354
+      01000B28H   LINE      ---      ---       #355
+      01000B28H   LINE      ---      ---       #356
+      01000B2EH   LINE      ---      ---       #357
+      01000B30H   LINE      ---      ---       #358
+      01000B32H   LINE      ---      ---       #359
+      01000B34H   LINE      ---      ---       #360
+      01000B36H   LINE      ---      ---       #362
+      01000B36H   LINE      ---      ---       #363
+      01000B3BH   LINE      ---      ---       #364
+      01000B3FH   LINE      ---      ---       #365
+      01000B43H   LINE      ---      ---       #366
+      01000B46H   LINE      ---      ---       #367
       01000B46H   LINE      ---      ---       #369
-      01000B46H   LINE      ---      ---       #370
-      01000B4EH   LINE      ---      ---       #371
+      01000B48H   LINE      ---      ---       #371
+      01000B54H   LINE      ---      ---       #372
       01000B54H   LINE      ---      ---       #373
-      01000B57H   LINE      ---      ---       #415
-      01000B57H   LINE      ---      ---       #416
+      01000B5CH   LINE      ---      ---       #374
+      01000B62H   LINE      ---      ---       #376
+      01000B65H   LINE      ---      ---       #418
+      01000B65H   LINE      ---      ---       #419
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
-      01001B0FH   PUBLIC    CODE     ---       _array_is_empty
-      01000CBFH   PUBLIC    CODE     ---       KS_ScanMatrix
-      010009DBH   PUBLIC    CODE     ---       KS_Unistall
-      010009F0H   PUBLIC    CODE     ---       KS_Initialize
-
-      01001B01H   BLOCK     CODE     ---       LVL=0
-      01001B01H   LINE      ---      ---       #11
-      01001B01H   LINE      ---      ---       #12
-      01001B01H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001B01H   LINE      ---      ---       #14
-      01001B06H   LINE      ---      ---       #15
-      01001B09H   LINE      ---      ---       #16
-      01001B0CH   LINE      ---      ---       #17
-      01001B0EH   LINE      ---      ---       #18
+      01001B24H   PUBLIC    CODE     ---       _array_is_empty
+      01000CCDH   PUBLIC    CODE     ---       KS_ScanMatrix
+      010009E9H   PUBLIC    CODE     ---       KS_Unistall
+      010009FEH   PUBLIC    CODE     ---       KS_Initialize
+
+      01001B16H   BLOCK     CODE     ---       LVL=0
+      01001B16H   LINE      ---      ---       #11
+      01001B16H   LINE      ---      ---       #12
+      01001B16H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B16H   LINE      ---      ---       #14
+      01001B1BH   LINE      ---      ---       #15
+      01001B1EH   LINE      ---      ---       #16
+      01001B21H   LINE      ---      ---       #17
+      01001B23H   LINE      ---      ---       #18
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010009F0H   BLOCK     CODE     ---       LVL=0
-      010009F0H   LINE      ---      ---       #20
-      010009F0H   LINE      ---      ---       #21
-      010009F0H   BLOCK     CODE     NEAR LAB  LVL=1
-      010009F0H   LINE      ---      ---       #22
-      010009F5H   LINE      ---      ---       #23
-      01000A01H   LINE      ---      ---       #24
-      01000A05H   LINE      ---      ---       #25
-      01000A0DH   LINE      ---      ---       #26
+      010009FEH   BLOCK     CODE     ---       LVL=0
+      010009FEH   LINE      ---      ---       #20
+      010009FEH   LINE      ---      ---       #21
+      010009FEH   BLOCK     CODE     NEAR LAB  LVL=1
+      010009FEH   LINE      ---      ---       #22
+      01000A03H   LINE      ---      ---       #23
+      01000A0FH   LINE      ---      ---       #24
+      01000A13H   LINE      ---      ---       #25
+      01000A1BH   LINE      ---      ---       #26
       02004E82H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010009F0H   BLOCK     CODE     ---       LVL=0
+      010009FEH   BLOCK     CODE     ---       LVL=0
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010009DBH   BLOCK     CODE     ---       LVL=0
-      010009DBH   LINE      ---      ---       #33
-      010009DBH   LINE      ---      ---       #34
-      010009DBH   LINE      ---      ---       #36
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000CBFH   BLOCK     CODE     ---       LVL=0
-      01000CBFH   LINE      ---      ---       #39
-      01000CBFH   LINE      ---      ---       #40
-      01000CBFH   BLOCK     CODE     NEAR LAB  LVL=1
-      01000CBFH   LINE      ---      ---       #41
-      01000CC4H   LINE      ---      ---       #42
-      01000CCEH   LINE      ---      ---       #43
-      01000CD8H   LINE      ---      ---       #45
-      01000CE7H   LINE      ---      ---       #46
-      01000CE7H   LINE      ---      ---       #47
-      01000D21H   LINE      ---      ---       #48
-      01000D3AH   LINE      ---      ---       #49
-      01000D42H   LINE      ---      ---       #51
-      01000D51H   LINE      ---      ---       #52
-      01000D51H   LINE      ---      ---       #53
-      01000D8BH   LINE      ---      ---       #54
-      01000DA4H   LINE      ---      ---       #55
-      01000DACH   LINE      ---      ---       #57
-      01000DCEH   LINE      ---      ---       #58
-      01000DCEH   LINE      ---      ---       #59
-      01000DF9H   LINE      ---      ---       #60
-      01000DF9H   LINE      ---      ---       #61
+      010009E9H   BLOCK     CODE     ---       LVL=0
+      010009E9H   LINE      ---      ---       #33
+      010009E9H   LINE      ---      ---       #34
+      010009E9H   LINE      ---      ---       #36
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000CCDH   BLOCK     CODE     ---       LVL=0
+      01000CCDH   LINE      ---      ---       #39
+      01000CCDH   LINE      ---      ---       #40
+      01000CCDH   BLOCK     CODE     NEAR LAB  LVL=1
+      01000CCDH   LINE      ---      ---       #41
+      01000CD2H   LINE      ---      ---       #42
+      01000CDCH   LINE      ---      ---       #43
+      01000CE6H   LINE      ---      ---       #45
+      01000CF5H   LINE      ---      ---       #46
+      01000CF5H   LINE      ---      ---       #47
+      01000D2FH   LINE      ---      ---       #48
+      01000D48H   LINE      ---      ---       #49
+      01000D50H   LINE      ---      ---       #51
+      01000D5FH   LINE      ---      ---       #52
+      01000D5FH   LINE      ---      ---       #53
+      01000D99H   LINE      ---      ---       #54
+      01000DB2H   LINE      ---      ---       #55
+      01000DBAH   LINE      ---      ---       #57
+      01000DDCH   LINE      ---      ---       #58
+      01000DDCH   LINE      ---      ---       #59
+      01000E07H   LINE      ---      ---       #60
+      01000E07H   LINE      ---      ---       #61
       02004E83H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001B0FH   BLOCK     CODE     ---       LVL=0
-      01001B0FH   LINE      ---      ---       #63
-      01001B1AH   LINE      ---      ---       #64
-      01001B1AH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001B1AH   LINE      ---      ---       #66
-      01001B21H   LINE      ---      ---       #67
-      01001B21H   LINE      ---      ---       #68
-      01001B36H   LINE      ---      ---       #69
-      01001B39H   LINE      ---      ---       #70
-      01001B3CH   LINE      ---      ---       #71
-      01001B3EH   LINE      ---      ---       #72
+      01001B24H   BLOCK     CODE     ---       LVL=0
+      01001B24H   LINE      ---      ---       #63
+      01001B2FH   LINE      ---      ---       #64
+      01001B2FH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B2FH   LINE      ---      ---       #66
+      01001B36H   LINE      ---      ---       #67
+      01001B36H   LINE      ---      ---       #68
+      01001B4BH   LINE      ---      ---       #69
+      01001B4EH   LINE      ---      ---       #70
+      01001B51H   LINE      ---      ---       #71
+      01001B53H   LINE      ---      ---       #72
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       LED
-      01000E41H   PUBLIC    CODE     ---       LED_handle
-      01000A21H   PUBLIC    CODE     ---       LED_device_poweroff
-      01000887H   PUBLIC    CODE     ---       LED_device_poweron
-      01000999H   PUBLIC    CODE     ---       LED_all_shutdown
-
-      01000999H   BLOCK     CODE     ---       LVL=0
-      01000999H   LINE      ---      ---       #4
-      01000999H   LINE      ---      ---       #5
-      01000999H   LINE      ---      ---       #6
-      0100099FH   LINE      ---      ---       #7
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000887H   BLOCK     CODE     ---       LVL=0
-      01000887H   LINE      ---      ---       #11
-      01000887H   LINE      ---      ---       #12
-      01000887H   LINE      ---      ---       #13
-      0100088EH   LINE      ---      ---       #14
-      0100088EH   LINE      ---      ---       #15
-      01000894H   LINE      ---      ---       #16
-      0100089AH   LINE      ---      ---       #17
-      0100089AH   LINE      ---      ---       #19
-      0100089AH   LINE      ---      ---       #20
-      010008A0H   LINE      ---      ---       #21
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000A21H   BLOCK     CODE     ---       LVL=0
-      01000A21H   LINE      ---      ---       #25
-      01000A21H   LINE      ---      ---       #26
-      01000A21H   LINE      ---      ---       #27
-      01000A27H   LINE      ---      ---       #28
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000E41H   BLOCK     CODE     ---       LVL=0
-      01000E41H   LINE      ---      ---       #32
-      01000E41H   LINE      ---      ---       #33
-      01000E41H   LINE      ---      ---       #34
-      01000E46H   LINE      ---      ---       #39
+      01000E4FH   PUBLIC    CODE     ---       LED_handle
+      01000A2FH   PUBLIC    CODE     ---       LED_device_poweroff
+      01000895H   PUBLIC    CODE     ---       LED_device_poweron
+      010009A7H   PUBLIC    CODE     ---       LED_all_shutdown
+
+      010009A7H   BLOCK     CODE     ---       LVL=0
+      010009A7H   LINE      ---      ---       #4
+      010009A7H   LINE      ---      ---       #5
+      010009A7H   LINE      ---      ---       #6
+      010009ADH   LINE      ---      ---       #7
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000895H   BLOCK     CODE     ---       LVL=0
+      01000895H   LINE      ---      ---       #11
+      01000895H   LINE      ---      ---       #12
+      01000895H   LINE      ---      ---       #13
+      0100089CH   LINE      ---      ---       #14
+      0100089CH   LINE      ---      ---       #15
+      010008A2H   LINE      ---      ---       #16
+      010008A8H   LINE      ---      ---       #17
+      010008A8H   LINE      ---      ---       #19
+      010008A8H   LINE      ---      ---       #20
+      010008AEH   LINE      ---      ---       #21
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000A2FH   BLOCK     CODE     ---       LVL=0
+      01000A2FH   LINE      ---      ---       #25
+      01000A2FH   LINE      ---      ---       #26
+      01000A2FH   LINE      ---      ---       #27
+      01000A35H   LINE      ---      ---       #28
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000E4FH   BLOCK     CODE     ---       LVL=0
+      01000E4FH   LINE      ---      ---       #32
+      01000E4FH   LINE      ---      ---       #33
+      01000E4FH   LINE      ---      ---       #34
+      01000E54H   LINE      ---      ---       #39
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       SYS
       02004FF0H   PUBLIC    XDATA    BYTE      test_aaa
-      010009A5H   PUBLIC    CODE     ---       YC_System_Main
+      010009B3H   PUBLIC    CODE     ---       YC_System_Main
       010006BEH   PUBLIC    CODE     ---       kb_button_press_timer500ms
-      01000F32H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
-      01000F95H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
-      010008A6H   PUBLIC    CODE     ---       LED_timer500ms
-      01001B48H   PUBLIC    CODE     ---       System_Reset_Connect
+      01000F40H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
+      01000FA3H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
+      010008B4H   PUBLIC    CODE     ---       LED_timer500ms
+      01001B5DH   PUBLIC    CODE     ---       System_Reset_Connect
       010006A2H   PUBLIC    CODE     ---       System_long_sleep
-      01001A95H   PUBLIC    CODE     ---       System_Software_init
+      01001AAAH   PUBLIC    CODE     ---       System_Software_init
 
-      01001A43H   BLOCK     CODE     ---       LVL=0
-      01001A43H   LINE      ---      ---       #13
-      01001A43H   LINE      ---      ---       #14
-      01001A43H   LINE      ---      ---       #15
-      01001A4FH   LINE      ---      ---       #16
-      01001A5BH   LINE      ---      ---       #17
-      01001A67H   LINE      ---      ---       #19
-      01001A6CH   LINE      ---      ---       #20
-      01001A70H   LINE      ---      ---       #23
-      01001A74H   LINE      ---      ---       #24
-      01001A78H   LINE      ---      ---       #25
-      01001A7CH   LINE      ---      ---       #26
-      01001A80H   LINE      ---      ---       #27
-      01001A84H   LINE      ---      ---       #28
-      01001A88H   LINE      ---      ---       #29
-      01001A8CH   LINE      ---      ---       #31
-      01001A90H   LINE      ---      ---       #32
-      01001A94H   LINE      ---      ---       #33
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000E53H   BLOCK     CODE     ---       LVL=0
-      01000E53H   LINE      ---      ---       #35
-      01000E53H   LINE      ---      ---       #36
-      01000E53H   LINE      ---      ---       #37
-      01000E59H   LINE      ---      ---       #38
-      01000E5CH   LINE      ---      ---       #39
-      01000E5EH   LINE      ---      ---       #40
-      01000E60H   LINE      ---      ---       #41
-      01000E62H   LINE      ---      ---       #42
-      01000E65H   LINE      ---      ---       #43
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010009EAH   BLOCK     CODE     ---       LVL=0
-      010009EAH   LINE      ---      ---       #45
-      010009EAH   LINE      ---      ---       #46
-      010009EAH   LINE      ---      ---       #47
-      010009ECH   LINE      ---      ---       #48
-      010009EEH   LINE      ---      ---       #49
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001A95H   BLOCK     CODE     ---       LVL=0
-      01001A95H   LINE      ---      ---       #53
-      01001A95H   LINE      ---      ---       #54
-      01001A95H   LINE      ---      ---       #55
-      01001A97H   LINE      ---      ---       #56
-      01001A99H   LINE      ---      ---       #57
-      01001A9FH   LINE      ---      ---       #58
-      01001AA5H   LINE      ---      ---       #59
-      01001AAAH   LINE      ---      ---       #60
-      01001AB0H   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001B3FH   BLOCK     CODE     ---       LVL=0
-      01001B3FH   LINE      ---      ---       #63
-      01001B3FH   LINE      ---      ---       #64
-      01001B3FH   LINE      ---      ---       #65
-      01001B45H   LINE      ---      ---       #66
+      01001A58H   BLOCK     CODE     ---       LVL=0
+      01001A58H   LINE      ---      ---       #13
+      01001A58H   LINE      ---      ---       #14
+      01001A58H   LINE      ---      ---       #15
+      01001A64H   LINE      ---      ---       #16
+      01001A70H   LINE      ---      ---       #17
+      01001A7CH   LINE      ---      ---       #19
+      01001A81H   LINE      ---      ---       #20
+      01001A85H   LINE      ---      ---       #23
+      01001A89H   LINE      ---      ---       #24
+      01001A8DH   LINE      ---      ---       #25
+      01001A91H   LINE      ---      ---       #26
+      01001A95H   LINE      ---      ---       #27
+      01001A99H   LINE      ---      ---       #28
+      01001A9DH   LINE      ---      ---       #29
+      01001AA1H   LINE      ---      ---       #31
+      01001AA5H   LINE      ---      ---       #32
+      01001AA9H   LINE      ---      ---       #33
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000E61H   BLOCK     CODE     ---       LVL=0
+      01000E61H   LINE      ---      ---       #35
+      01000E61H   LINE      ---      ---       #36
+      01000E61H   LINE      ---      ---       #37
+      01000E67H   LINE      ---      ---       #38
+      01000E6AH   LINE      ---      ---       #39
+      01000E6CH   LINE      ---      ---       #40
+      01000E6EH   LINE      ---      ---       #41
+      01000E70H   LINE      ---      ---       #42
+      01000E73H   LINE      ---      ---       #43
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010009F8H   BLOCK     CODE     ---       LVL=0
+      010009F8H   LINE      ---      ---       #45
+      010009F8H   LINE      ---      ---       #46
+      010009F8H   LINE      ---      ---       #47
+      010009FAH   LINE      ---      ---       #48
+      010009FCH   LINE      ---      ---       #49
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AAAH   BLOCK     CODE     ---       LVL=0
+      01001AAAH   LINE      ---      ---       #53
+      01001AAAH   LINE      ---      ---       #54
+      01001AAAH   LINE      ---      ---       #55
+      01001AACH   LINE      ---      ---       #56
+      01001AAEH   LINE      ---      ---       #57
+      01001AB4H   LINE      ---      ---       #58
+      01001ABAH   LINE      ---      ---       #59
+      01001ABFH   LINE      ---      ---       #60
+      01001AC5H   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001B54H   BLOCK     CODE     ---       LVL=0
+      01001B54H   LINE      ---      ---       #63
+      01001B54H   LINE      ---      ---       #64
+      01001B54H   LINE      ---      ---       #65
+      01001B5AH   LINE      ---      ---       #66
       ---         BLOCKEND  ---      ---       LVL=0
 
       010006A2H   BLOCK     CODE     ---       LVL=0
@@ -1163,19 +1168,19 @@
       010006BDH   LINE      ---      ---       #85
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001B48H   BLOCK     CODE     ---       LVL=0
-      01001B48H   LINE      ---      ---       #87
-      01001B48H   LINE      ---      ---       #88
-      01001B48H   LINE      ---      ---       #89
+      01001B5DH   BLOCK     CODE     ---       LVL=0
+      01001B5DH   LINE      ---      ---       #87
+      01001B5DH   LINE      ---      ---       #88
+      01001B5DH   LINE      ---      ---       #89
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001B4AH   BLOCK     CODE     ---       LVL=0
-      01001B4AH   LINE      ---      ---       #97
-      01001B4FH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001B4FH   LINE      ---      ---       #99
-      01001B59H   LINE      ---      ---       #101
-      01001B59H   LINE      ---      ---       #103
-      01001B59H   LINE      ---      ---       #104
+      01001B5FH   BLOCK     CODE     ---       LVL=0
+      01001B5FH   LINE      ---      ---       #97
+      01001B64H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B64H   LINE      ---      ---       #99
+      01001B6EH   LINE      ---      ---       #101
+      01001B6EH   LINE      ---      ---       #103
+      01001B6EH   LINE      ---      ---       #104
       02004E7EH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1265,65 +1270,65 @@
       01000595H   LINE      ---      ---       #207
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010008A6H   BLOCK     CODE     ---       LVL=0
-      010008A6H   LINE      ---      ---       #210
-      010008A6H   LINE      ---      ---       #211
-      010008A6H   LINE      ---      ---       #212
-      010008AEH   LINE      ---      ---       #214
-      010008B4H   LINE      ---      ---       #215
-      010008B4H   LINE      ---      ---       #216
-      010008BBH   LINE      ---      ---       #217
-      010008BBH   LINE      ---      ---       #218
-      010008BFH   LINE      ---      ---       #219
-      010008C5H   LINE      ---      ---       #220
-      010008C5H   LINE      ---      ---       #222
-      010008C5H   LINE      ---      ---       #223
-      010008C9H   LINE      ---      ---       #224
-      010008CFH   LINE      ---      ---       #225
-      010008CFH   LINE      ---      ---       #226
-      010008CFH   LINE      ---      ---       #228
-      010008CFH   LINE      ---      ---       #230
-      010008CFH   LINE      ---      ---       #233
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000F95H   BLOCK     CODE     ---       LVL=0
-      01000F95H   LINE      ---      ---       #235
-      01000F95H   LINE      ---      ---       #236
-      01000F95H   LINE      ---      ---       #239
-      01000F9CH   LINE      ---      ---       #240
-      01000F9CH   LINE      ---      ---       #241
-      01000FABH   LINE      ---      ---       #242
-      01000FAEH   LINE      ---      ---       #243
-      01000FAEH   LINE      ---      ---       #244
-      01000FB5H   LINE      ---      ---       #245
-      01000FB5H   LINE      ---      ---       #246
-      01000FC4H   LINE      ---      ---       #247
-      01000FC4H   LINE      ---      ---       #248
-      01000FC7H   LINE      ---      ---       #249
-      01000FC7H   LINE      ---      ---       #250
-      01000FC7H   LINE      ---      ---       #252
-      01000FC7H   LINE      ---      ---       #253
-      01000FD6H   LINE      ---      ---       #254
-      01000FD6H   LINE      ---      ---       #255
-      01000FD9H   LINE      ---      ---       #256
-      01000FD9H   LINE      ---      ---       #257
-      01000FD9H   LINE      ---      ---       #258
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000F32H   BLOCK     CODE     ---       LVL=0
-      01000F32H   LINE      ---      ---       #262
-      01000F32H   LINE      ---      ---       #263
-      01000F32H   LINE      ---      ---       #265
-      01000F38H   LINE      ---      ---       #266
-      01000F38H   LINE      ---      ---       #267
-      01000F3FH   LINE      ---      ---       #268
-      01000F45H   LINE      ---      ---       #269
-      01000F48H   LINE      ---      ---       #270
-      01000F48H   LINE      ---      ---       #272
-      01000F4DH   LINE      ---      ---       #273
-      01000F50H   LINE      ---      ---       #274
-      01000F50H   LINE      ---      ---       #275
-      01000F50H   LINE      ---      ---       #276
+      010008B4H   BLOCK     CODE     ---       LVL=0
+      010008B4H   LINE      ---      ---       #210
+      010008B4H   LINE      ---      ---       #211
+      010008B4H   LINE      ---      ---       #212
+      010008BCH   LINE      ---      ---       #214
+      010008C2H   LINE      ---      ---       #215
+      010008C2H   LINE      ---      ---       #216
+      010008C9H   LINE      ---      ---       #217
+      010008C9H   LINE      ---      ---       #218
+      010008CDH   LINE      ---      ---       #219
+      010008D3H   LINE      ---      ---       #220
+      010008D3H   LINE      ---      ---       #222
+      010008D3H   LINE      ---      ---       #223
+      010008D7H   LINE      ---      ---       #224
+      010008DDH   LINE      ---      ---       #225
+      010008DDH   LINE      ---      ---       #226
+      010008DDH   LINE      ---      ---       #228
+      010008DDH   LINE      ---      ---       #230
+      010008DDH   LINE      ---      ---       #233
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FA3H   BLOCK     CODE     ---       LVL=0
+      01000FA3H   LINE      ---      ---       #235
+      01000FA3H   LINE      ---      ---       #236
+      01000FA3H   LINE      ---      ---       #239
+      01000FAAH   LINE      ---      ---       #240
+      01000FAAH   LINE      ---      ---       #241
+      01000FB9H   LINE      ---      ---       #242
+      01000FBCH   LINE      ---      ---       #243
+      01000FBCH   LINE      ---      ---       #244
+      01000FC3H   LINE      ---      ---       #245
+      01000FC3H   LINE      ---      ---       #246
+      01000FD2H   LINE      ---      ---       #247
+      01000FD2H   LINE      ---      ---       #248
+      01000FD5H   LINE      ---      ---       #249
+      01000FD5H   LINE      ---      ---       #250
+      01000FD5H   LINE      ---      ---       #252
+      01000FD5H   LINE      ---      ---       #253
+      01000FE4H   LINE      ---      ---       #254
+      01000FE4H   LINE      ---      ---       #255
+      01000FE7H   LINE      ---      ---       #256
+      01000FE7H   LINE      ---      ---       #257
+      01000FE7H   LINE      ---      ---       #258
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F40H   BLOCK     CODE     ---       LVL=0
+      01000F40H   LINE      ---      ---       #262
+      01000F40H   LINE      ---      ---       #263
+      01000F40H   LINE      ---      ---       #265
+      01000F46H   LINE      ---      ---       #266
+      01000F46H   LINE      ---      ---       #267
+      01000F4DH   LINE      ---      ---       #268
+      01000F53H   LINE      ---      ---       #269
+      01000F56H   LINE      ---      ---       #270
+      01000F56H   LINE      ---      ---       #272
+      01000F5BH   LINE      ---      ---       #273
+      01000F5EH   LINE      ---      ---       #274
+      01000F5EH   LINE      ---      ---       #275
+      01000F5EH   LINE      ---      ---       #276
       ---         BLOCKEND  ---      ---       LVL=0
 
       010006BEH   BLOCK     CODE     ---       LVL=0
@@ -1372,113 +1377,113 @@
       01000748H   LINE      ---      ---       #326
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01000F1DH   BLOCK     CODE     ---       LVL=0
-      01000F1DH   LINE      ---      ---       #330
-      01000F1DH   LINE      ---      ---       #331
-      01000F1DH   LINE      ---      ---       #332
-      01000F1FH   LINE      ---      ---       #334
-      01000F2DH   LINE      ---      ---       #336
-      01000F2FH   LINE      ---      ---       #337
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000ADFH   BLOCK     CODE     ---       LVL=0
-      01000ADFH   LINE      ---      ---       #344
-      01000ADFH   LINE      ---      ---       #345
-      01000ADFH   LINE      ---      ---       #347
-      01000AE5H   LINE      ---      ---       #348
-      01000AE5H   LINE      ---      ---       #349
-      01000AE7H   LINE      ---      ---       #350
-      01000AE7H   LINE      ---      ---       #352
-      01000AEDH   LINE      ---      ---       #353
-      01000AEFH   LINE      ---      ---       #356
-      01000AF5H   LINE      ---      ---       #357
-      01000AF5H   LINE      ---      ---       #358
-      01000AFBH   LINE      ---      ---       #359
-      01000AFBH   LINE      ---      ---       #362
-      01000AFBH   LINE      ---      ---       #365
-      01000AFDH   LINE      ---      ---       #366
-      01000B03H   LINE      ---      ---       #367
-      01000B03H   LINE      ---      ---       #368
-      01000B05H   LINE      ---      ---       #369
-      01000B05H   LINE      ---      ---       #370
-      01000B05H   LINE      ---      ---       #374
-      01000B0BH   LINE      ---      ---       #375
-      01000B0BH   LINE      ---      ---       #376
-      01000B0EH   LINE      ---      ---       #377
-      01000B0EH   LINE      ---      ---       #378
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000A0EH   BLOCK     CODE     ---       LVL=0
-      01000A0EH   LINE      ---      ---       #392
-      01000A0EH   LINE      ---      ---       #393
-      01000A0EH   LINE      ---      ---       #394
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010009A5H   BLOCK     CODE     ---       LVL=0
-      010009A5H   LINE      ---      ---       #399
-      010009A5H   LINE      ---      ---       #400
-      010009A5H   LINE      ---      ---       #401
-      010009A7H   LINE      ---      ---       #402
-      010009A7H   LINE      ---      ---       #403
-      010009A9H   LINE      ---      ---       #404
-      010009ABH   LINE      ---      ---       #405
-      010009ADH   LINE      ---      ---       #406
-      010009AFH   LINE      ---      ---       #415
-      010009BAH   LINE      ---      ---       #416
-      010009BAH   LINE      ---      ---       #417
-      010009BCH   LINE      ---      ---       #419
-      010009BEH   LINE      ---      ---       #420
-      010009C0H   LINE      ---      ---       #421
-      010009C2H   LINE      ---      ---       #422
-      010009C2H   LINE      ---      ---       #424
-      010009C2H   LINE      ---      ---       #425
-      010009CEH   LINE      ---      ---       #426
-      010009CEH   LINE      ---      ---       #427
-      010009D0H   LINE      ---      ---       #428
-      010009D2H   LINE      ---      ---       #429
-      010009D2H   LINE      ---      ---       #431
-      010009D2H   LINE      ---      ---       #432
-      010009D4H   LINE      ---      ---       #433
-      010009D6H   LINE      ---      ---       #434
-      010009D8H   LINE      ---      ---       #435
-      010009D8H   LINE      ---      ---       #436
-      010009D8H   LINE      ---      ---       #437
+      01000F2BH   BLOCK     CODE     ---       LVL=0
+      01000F2BH   LINE      ---      ---       #330
+      01000F2BH   LINE      ---      ---       #331
+      01000F2BH   LINE      ---      ---       #332
+      01000F2DH   LINE      ---      ---       #334
+      01000F3BH   LINE      ---      ---       #336
+      01000F3DH   LINE      ---      ---       #337
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000AEDH   BLOCK     CODE     ---       LVL=0
+      01000AEDH   LINE      ---      ---       #344
+      01000AEDH   LINE      ---      ---       #345
+      01000AEDH   LINE      ---      ---       #347
+      01000AF3H   LINE      ---      ---       #348
+      01000AF3H   LINE      ---      ---       #349
+      01000AF5H   LINE      ---      ---       #350
+      01000AF5H   LINE      ---      ---       #352
+      01000AFBH   LINE      ---      ---       #353
+      01000AFDH   LINE      ---      ---       #356
+      01000B03H   LINE      ---      ---       #357
+      01000B03H   LINE      ---      ---       #358
+      01000B09H   LINE      ---      ---       #359
+      01000B09H   LINE      ---      ---       #362
+      01000B09H   LINE      ---      ---       #365
+      01000B0BH   LINE      ---      ---       #366
+      01000B11H   LINE      ---      ---       #367
+      01000B11H   LINE      ---      ---       #368
+      01000B13H   LINE      ---      ---       #369
+      01000B13H   LINE      ---      ---       #370
+      01000B13H   LINE      ---      ---       #374
+      01000B19H   LINE      ---      ---       #375
+      01000B19H   LINE      ---      ---       #376
+      01000B1CH   LINE      ---      ---       #377
+      01000B1CH   LINE      ---      ---       #378
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000A1CH   BLOCK     CODE     ---       LVL=0
+      01000A1CH   LINE      ---      ---       #392
+      01000A1CH   LINE      ---      ---       #393
+      01000A1CH   LINE      ---      ---       #394
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010009B3H   BLOCK     CODE     ---       LVL=0
+      010009B3H   LINE      ---      ---       #399
+      010009B3H   LINE      ---      ---       #400
+      010009B3H   LINE      ---      ---       #401
+      010009B5H   LINE      ---      ---       #402
+      010009B5H   LINE      ---      ---       #403
+      010009B7H   LINE      ---      ---       #404
+      010009B9H   LINE      ---      ---       #405
+      010009BBH   LINE      ---      ---       #406
+      010009BDH   LINE      ---      ---       #415
+      010009C8H   LINE      ---      ---       #416
+      010009C8H   LINE      ---      ---       #417
+      010009CAH   LINE      ---      ---       #419
+      010009CCH   LINE      ---      ---       #420
+      010009CEH   LINE      ---      ---       #421
+      010009D0H   LINE      ---      ---       #422
+      010009D0H   LINE      ---      ---       #424
+      010009D0H   LINE      ---      ---       #425
+      010009DCH   LINE      ---      ---       #426
+      010009DCH   LINE      ---      ---       #427
+      010009DEH   LINE      ---      ---       #428
+      010009E0H   LINE      ---      ---       #429
+      010009E0H   LINE      ---      ---       #431
+      010009E0H   LINE      ---      ---       #432
+      010009E2H   LINE      ---      ---       #433
+      010009E4H   LINE      ---      ---       #434
+      010009E6H   LINE      ---      ---       #435
+      010009E6H   LINE      ---      ---       #436
+      010009E6H   LINE      ---      ---       #437
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       ADC
-      01001B5AH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      01001AB1H   PUBLIC    CODE     ---       YC_adc_init
+      01001B6FH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      01001AC6H   PUBLIC    CODE     ---       YC_adc_init
 
-      01001AB1H   BLOCK     CODE     ---       LVL=0
-      01001AB1H   LINE      ---      ---       #3
-      01001AB1H   LINE      ---      ---       #4
-      01001AB1H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001AB1H   LINE      ---      ---       #7
-      01001AB6H   LINE      ---      ---       #8
-      01001AB7H   LINE      ---      ---       #9
-      01001AB7H   LINE      ---      ---       #10
-      01001AC8H   LINE      ---      ---       #11
-      01001AD9H   LINE      ---      ---       #12
-      01001AEAH   LINE      ---      ---       #13
-      01001AFBH   LINE      ---      ---       #14
-      01001B00H   LINE      ---      ---       #15
+      01001AC6H   BLOCK     CODE     ---       LVL=0
+      01001AC6H   LINE      ---      ---       #3
+      01001AC6H   LINE      ---      ---       #4
+      01001AC6H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001AC6H   LINE      ---      ---       #7
+      01001ACBH   LINE      ---      ---       #8
+      01001ACCH   LINE      ---      ---       #9
+      01001ACCH   LINE      ---      ---       #10
+      01001ADDH   LINE      ---      ---       #11
+      01001AEEH   LINE      ---      ---       #12
+      01001AFFH   LINE      ---      ---       #13
+      01001B10H   LINE      ---      ---       #14
+      01001B15H   LINE      ---      ---       #15
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001B5AH   BLOCK     CODE     ---       LVL=0
-      01001B5AH   LINE      ---      ---       #17
-      01001B5AH   LINE      ---      ---       #18
-      01001B5AH   LINE      ---      ---       #19
+      01001B6FH   BLOCK     CODE     ---       LVL=0
+      01001B6FH   LINE      ---      ---       #17
+      01001B6FH   LINE      ---      ---       #18
+      01001B6FH   LINE      ---      ---       #19
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      01000E3FH   PUBLIC    CODE     ---       main
+      01000E4DH   PUBLIC    CODE     ---       main
 
-      01000E3FH   BLOCK     CODE     ---       LVL=0
-      01000E3FH   LINE      ---      ---       #5
-      01000E3FH   LINE      ---      ---       #6
-      01000E3FH   LINE      ---      ---       #7
+      01000E4DH   BLOCK     CODE     ---       LVL=0
+      01000E4DH   LINE      ---      ---       #5
+      01000E4DH   LINE      ---      ---       #6
+      01000E4DH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
@@ -1492,36 +1497,36 @@
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      01000BF8H   PUBLIC    CODE     ---       IPC_DealSingleStep
-      01000F05H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      01000E47H   PUBLIC    CODE     ---       IPC_AbandonLpm
-      010009DCH   PUBLIC    CODE     ---       IPC_WaitLpm
-      01000A14H   PUBLIC    CODE     ---       _IPC_Initialize
-      01001C05H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
-      0100103BH   PUBLIC    CODE     ---       _IPC_Tx24GData
-      01001041H   PUBLIC    CODE     ---       _IPC_TxData
+      01000C06H   PUBLIC    CODE     ---       IPC_DealSingleStep
+      01000F13H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      01000E55H   PUBLIC    CODE     ---       IPC_AbandonLpm
+      010009EAH   PUBLIC    CODE     ---       IPC_WaitLpm
+      01000A22H   PUBLIC    CODE     ---       _IPC_Initialize
+      01001C1AH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01001049H   PUBLIC    CODE     ---       _IPC_Tx24GData
+      0100104FH   PUBLIC    CODE     ---       _IPC_TxData
       01000760H   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      01001B5BH   BLOCK     CODE     ---       LVL=0
-      01001B5BH   LINE      ---      ---       #44
-      01001B6BH   LINE      ---      ---       #45
-      01001B6BH   LINE      ---      ---       #46
-      01001BB4H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001BB5H   BLOCK     CODE     ---       LVL=0
-      01001BB5H   LINE      ---      ---       #49
-      01001BBFH   LINE      ---      ---       #50
-      01001BBFH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001BBFH   LINE      ---      ---       #51
-      01001BC7H   LINE      ---      ---       #52
-      01001BCDH   LINE      ---      ---       #53
-      01001BECH   LINE      ---      ---       #54
-      01001BF6H   LINE      ---      ---       #55
-      01001BFAH   LINE      ---      ---       #56
-      01001BFAH   LINE      ---      ---       #57
-      01001BFCH   LINE      ---      ---       #58
-      01001C04H   LINE      ---      ---       #59
+      01001B70H   BLOCK     CODE     ---       LVL=0
+      01001B70H   LINE      ---      ---       #44
+      01001B80H   LINE      ---      ---       #45
+      01001B80H   LINE      ---      ---       #46
+      01001BC9H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001BCAH   BLOCK     CODE     ---       LVL=0
+      01001BCAH   LINE      ---      ---       #49
+      01001BD4H   LINE      ---      ---       #50
+      01001BD4H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001BD4H   LINE      ---      ---       #51
+      01001BDCH   LINE      ---      ---       #52
+      01001BE2H   LINE      ---      ---       #53
+      01001C01H   LINE      ---      ---       #54
+      01001C0BH   LINE      ---      ---       #55
+      01001C0FH   LINE      ---      ---       #56
+      01001C0FH   LINE      ---      ---       #57
+      01001C11H   LINE      ---      ---       #58
+      01001C19H   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1555,107 +1560,107 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001041H   BLOCK     CODE     ---       LVL=0
-      01001041H   LINE      ---      ---       #83
-      01001046H   LINE      ---      ---       #84
-      01001046H   LINE      ---      ---       #85
-      0100104CH   LINE      ---      ---       #86
-      01001058H   LINE      ---      ---       #87
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100103BH   BLOCK     CODE     ---       LVL=0
-      0100103BH   LINE      ---      ---       #90
-      0100103BH   LINE      ---      ---       #91
-      0100103BH   LINE      ---      ---       #92
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001C05H   BLOCK     CODE     ---       LVL=0
-      01001C05H   LINE      ---      ---       #98
-      01001C05H   LINE      ---      ---       #99
-      01001C05H   LINE      ---      ---       #100
-      01001C0AH   LINE      ---      ---       #101
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000A14H   BLOCK     CODE     ---       LVL=0
-      01000A14H   LINE      ---      ---       #103
-      01000A14H   LINE      ---      ---       #104
-      01000A14H   LINE      ---      ---       #105
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010009DCH   BLOCK     CODE     ---       LVL=0
-      010009DCH   LINE      ---      ---       #108
-      010009DCH   LINE      ---      ---       #109
-      010009DCH   LINE      ---      ---       #110
-      010009E1H   LINE      ---      ---       #111
-      010009E5H   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000E47H   BLOCK     CODE     ---       LVL=0
-      01000E47H   LINE      ---      ---       #115
-      01000E47H   LINE      ---      ---       #116
-      01000E47H   LINE      ---      ---       #117
-      01000E4DH   LINE      ---      ---       #118
-      01000E52H   LINE      ---      ---       #119
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000F05H   BLOCK     CODE     ---       LVL=0
-      01000F05H   LINE      ---      ---       #121
-      01000F05H   LINE      ---      ---       #122
-      01000F05H   LINE      ---      ---       #123
-      01000F19H   LINE      ---      ---       #124
-      01000F1BH   LINE      ---      ---       #125
-      01000F1CH   LINE      ---      ---       #126
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000BF8H   BLOCK     CODE     ---       LVL=0
-      01000BF8H   LINE      ---      ---       #129
-      01000BF8H   LINE      ---      ---       #130
-      01000BF8H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000BF8H   LINE      ---      ---       #131
-      01000C0AH   LINE      ---      ---       #132
-      01000C1EH   LINE      ---      ---       #133
-      01000C1EH   LINE      ---      ---       #134
-      01000C27H   LINE      ---      ---       #135
-      01000C38H   LINE      ---      ---       #136
-      01000C42H   LINE      ---      ---       #137
-      01000C61H   LINE      ---      ---       #138
-      01000C63H   LINE      ---      ---       #139
-      01000C63H   LINE      ---      ---       #140
-      01000C65H   LINE      ---      ---       #141
-      01000C65H   LINE      ---      ---       #142
-      01000C65H   LINE      ---      ---       #143
-      01000C79H   LINE      ---      ---       #144
-      01000C87H   LINE      ---      ---       #146
-      01000C8AH   LINE      ---      ---       #148
-      01000C99H   LINE      ---      ---       #149
-      01000C9BH   LINE      ---      ---       #150
-      01000CA5H   LINE      ---      ---       #151
-      01000CB3H   LINE      ---      ---       #153
-      01000CB6H   LINE      ---      ---       #155
-      01000CBCH   LINE      ---      ---       #156
-      01000CBEH   LINE      ---      ---       #158
-      01000C65H   SYMBOL    ---      ---       IPC_TIMERingleStep
+      0100104FH   BLOCK     CODE     ---       LVL=0
+      0100104FH   LINE      ---      ---       #83
+      01001054H   LINE      ---      ---       #84
+      01001054H   LINE      ---      ---       #85
+      0100105AH   LINE      ---      ---       #86
+      01001066H   LINE      ---      ---       #87
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001049H   BLOCK     CODE     ---       LVL=0
+      01001049H   LINE      ---      ---       #90
+      01001049H   LINE      ---      ---       #91
+      01001049H   LINE      ---      ---       #92
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001C1AH   BLOCK     CODE     ---       LVL=0
+      01001C1AH   LINE      ---      ---       #98
+      01001C1AH   LINE      ---      ---       #99
+      01001C1AH   LINE      ---      ---       #100
+      01001C1FH   LINE      ---      ---       #101
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000A22H   BLOCK     CODE     ---       LVL=0
+      01000A22H   LINE      ---      ---       #103
+      01000A22H   LINE      ---      ---       #104
+      01000A22H   LINE      ---      ---       #105
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010009EAH   BLOCK     CODE     ---       LVL=0
+      010009EAH   LINE      ---      ---       #108
+      010009EAH   LINE      ---      ---       #109
+      010009EAH   LINE      ---      ---       #110
+      010009EFH   LINE      ---      ---       #111
+      010009F3H   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000E55H   BLOCK     CODE     ---       LVL=0
+      01000E55H   LINE      ---      ---       #115
+      01000E55H   LINE      ---      ---       #116
+      01000E55H   LINE      ---      ---       #117
+      01000E5BH   LINE      ---      ---       #118
+      01000E60H   LINE      ---      ---       #119
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F13H   BLOCK     CODE     ---       LVL=0
+      01000F13H   LINE      ---      ---       #121
+      01000F13H   LINE      ---      ---       #122
+      01000F13H   LINE      ---      ---       #123
+      01000F27H   LINE      ---      ---       #124
+      01000F29H   LINE      ---      ---       #125
+      01000F2AH   LINE      ---      ---       #126
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000C06H   BLOCK     CODE     ---       LVL=0
+      01000C06H   LINE      ---      ---       #129
+      01000C06H   LINE      ---      ---       #130
+      01000C06H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000C06H   LINE      ---      ---       #131
+      01000C18H   LINE      ---      ---       #132
+      01000C2CH   LINE      ---      ---       #133
+      01000C2CH   LINE      ---      ---       #134
+      01000C35H   LINE      ---      ---       #135
+      01000C46H   LINE      ---      ---       #136
+      01000C50H   LINE      ---      ---       #137
+      01000C6FH   LINE      ---      ---       #138
+      01000C71H   LINE      ---      ---       #139
+      01000C71H   LINE      ---      ---       #140
+      01000C73H   LINE      ---      ---       #141
+      01000C73H   LINE      ---      ---       #142
+      01000C73H   LINE      ---      ---       #143
+      01000C87H   LINE      ---      ---       #144
+      01000C95H   LINE      ---      ---       #146
+      01000C98H   LINE      ---      ---       #148
+      01000CA7H   LINE      ---      ---       #149
+      01000CA9H   LINE      ---      ---       #150
+      01000CB3H   LINE      ---      ---       #151
+      01000CC1H   LINE      ---      ---       #153
+      01000CC4H   LINE      ---      ---       #155
+      01000CCAH   LINE      ---      ---       #156
+      01000CCCH   LINE      ---      ---       #158
+      01000C73H   SYMBOL    ---      ---       IPC_TIMERingleStep
       02004E71H   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       UTILITIES
       02004E47H   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      01001C3FH   PUBLIC    CODE     ---       _compare_str
+      01001C54H   PUBLIC    CODE     ---       _compare_str
       01000596H   PUBLIC    CODE     ---       _Delay1ms
-      01001C12H   PUBLIC    CODE     ---       _xmemclear_ff
-      01001A17H   PUBLIC    CODE     ---       _xmemclear
+      01001C27H   PUBLIC    CODE     ---       _xmemclear_ff
+      01001A2CH   PUBLIC    CODE     ---       _xmemclear
       02004E3FH   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      01000F51H   PUBLIC    CODE     ---       _dmemcpy
+      01000F5FH   PUBLIC    CODE     ---       _dmemcpy
       02004E5BH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       0100065CH   PUBLIC    CODE     ---       _xmemcpy
-      01001C0BH   PUBLIC    CODE     ---       YC_Ice_break
+      01001C20H   PUBLIC    CODE     ---       YC_Ice_break
 
-      01001C0BH   BLOCK     CODE     ---       LVL=0
-      01001C0BH   LINE      ---      ---       #3
-      01001C0BH   LINE      ---      ---       #4
-      01001C0BH   LINE      ---      ---       #5
-      01001C11H   LINE      ---      ---       #7
+      01001C20H   BLOCK     CODE     ---       LVL=0
+      01001C20H   LINE      ---      ---       #3
+      01001C20H   LINE      ---      ---       #4
+      01001C20H   LINE      ---      ---       #5
+      01001C26H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100065CH   BLOCK     CODE     ---       LVL=0
@@ -1666,28 +1671,28 @@
       0100069BH   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01000F51H   BLOCK     CODE     ---       LVL=0
-      01000F51H   LINE      ---      ---       #16
-      01000F5CH   LINE      ---      ---       #17
-      01000F5CH   LINE      ---      ---       #18
-      01000F6AH   LINE      ---      ---       #19
-      01000F94H   LINE      ---      ---       #21
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001A17H   BLOCK     CODE     ---       LVL=0
-      01001A17H   LINE      ---      ---       #23
-      01001A22H   LINE      ---      ---       #24
-      01001A22H   LINE      ---      ---       #25
-      01001A2CH   LINE      ---      ---       #26
-      01001A42H   LINE      ---      ---       #28
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001C12H   BLOCK     CODE     ---       LVL=0
-      01001C12H   LINE      ---      ---       #30
-      01001C1DH   LINE      ---      ---       #31
-      01001C1DH   LINE      ---      ---       #32
-      01001C27H   LINE      ---      ---       #33
-      01001C3EH   LINE      ---      ---       #35
+      01000F5FH   BLOCK     CODE     ---       LVL=0
+      01000F5FH   LINE      ---      ---       #16
+      01000F6AH   LINE      ---      ---       #17
+      01000F6AH   LINE      ---      ---       #18
+      01000F78H   LINE      ---      ---       #19
+      01000FA2H   LINE      ---      ---       #21
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001A2CH   BLOCK     CODE     ---       LVL=0
+      01001A2CH   LINE      ---      ---       #23
+      01001A37H   LINE      ---      ---       #24
+      01001A37H   LINE      ---      ---       #25
+      01001A41H   LINE      ---      ---       #26
+      01001A57H   LINE      ---      ---       #28
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001C27H   BLOCK     CODE     ---       LVL=0
+      01001C27H   LINE      ---      ---       #30
+      01001C32H   LINE      ---      ---       #31
+      01001C32H   LINE      ---      ---       #32
+      01001C3CH   LINE      ---      ---       #33
+      01001C53H   LINE      ---      ---       #35
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000596H   BLOCK     CODE     ---       LVL=0
@@ -1702,16 +1707,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001C3FH   BLOCK     CODE     ---       LVL=0
-      01001C3FH   LINE      ---      ---       #54
-      01001C4AH   LINE      ---      ---       #55
-      01001C4AH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001C4AH   LINE      ---      ---       #57
-      01001C56H   LINE      ---      ---       #58
-      01001C80H   LINE      ---      ---       #59
-      01001C83H   LINE      ---      ---       #60
-      01001C86H   LINE      ---      ---       #61
-      01001C88H   LINE      ---      ---       #62
+      01001C54H   BLOCK     CODE     ---       LVL=0
+      01001C54H   LINE      ---      ---       #54
+      01001C5FH   LINE      ---      ---       #55
+      01001C5FH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C5FH   LINE      ---      ---       #57
+      01001C6BH   LINE      ---      ---       #58
+      01001C95H   LINE      ---      ---       #59
+      01001C98H   LINE      ---      ---       #60
+      01001C9BH   LINE      ---      ---       #61
+      01001C9DH   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1719,194 +1724,194 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      01001CC8H   PUBLIC    CODE     ---       GPIO_fillpd
-      010008D0H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
-      01000E66H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01001C89H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      01001CDDH   PUBLIC    CODE     ---       GPIO_fillpd
+      010008DEH   PUBLIC    CODE     ---       _GPIO_FlipOutBit
+      01000E74H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
+      01001C9EH   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
-      01000E79H   PUBLIC    CODE     ---       _GPIO_SetWakeup
+      01000E87H   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
-      0100086CH   PUBLIC    CODE     ---       _GPIO_SetOutput
+      0100087AH   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
-      01000A3EH   PUBLIC    CODE     ---       _GPIO_SetInput
+      01000A4CH   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      01000A5CH   PUBLIC    CODE     ---       _GPIO_Setoe
+      01000A6AH   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      01000ACEH   PUBLIC    CODE     ---       _GPIO_SetPd
+      01000ADCH   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      01000A2DH   PUBLIC    CODE     ---       _GPIO_SetPu
+      01000A3BH   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
-      0100085BH   PUBLIC    CODE     ---       _GPIO_Setout
-      01000DFAH   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      01000869H   PUBLIC    CODE     ---       _GPIO_Setout
+      01000E08H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
-      01000A6DH   BLOCK     CODE     ---       LVL=0
-      01000A6DH   LINE      ---      ---       #9
-      01000A78H   LINE      ---      ---       #10
-      01000A78H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000A78H   LINE      ---      ---       #11
-      01000A7AH   LINE      ---      ---       #12
-      01000A7BH   LINE      ---      ---       #14
-      01000A7FH   LINE      ---      ---       #15
-      01000A86H   LINE      ---      ---       #17
-      01000A89H   LINE      ---      ---       #18
-      01000AABH   LINE      ---      ---       #19
-      01000AABH   LINE      ---      ---       #21
-      01000AABH   LINE      ---      ---       #22
+      01000A7BH   BLOCK     CODE     ---       LVL=0
+      01000A7BH   LINE      ---      ---       #9
+      01000A86H   LINE      ---      ---       #10
+      01000A86H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000A86H   LINE      ---      ---       #11
+      01000A88H   LINE      ---      ---       #12
+      01000A89H   LINE      ---      ---       #14
+      01000A8DH   LINE      ---      ---       #15
+      01000A94H   LINE      ---      ---       #17
+      01000A97H   LINE      ---      ---       #18
+      01000AB9H   LINE      ---      ---       #19
+      01000AB9H   LINE      ---      ---       #21
+      01000AB9H   LINE      ---      ---       #22
       00000006H   SYMBOL    DATA     VOID      queue
       00000005H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000E00H   BLOCK     CODE     ---       LVL=0
-      01000E00H   LINE      ---      ---       #26
-      01000E02H   LINE      ---      ---       #27
-      01000E02H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000E02H   LINE      ---      ---       #28
-      01000E07H   LINE      ---      ---       #29
-      01000E08H   LINE      ---      ---       #31
-      01000E0CH   LINE      ---      ---       #32
-      01000E13H   LINE      ---      ---       #33
-      01000E3EH   LINE      ---      ---       #35
+      01000E0EH   BLOCK     CODE     ---       LVL=0
+      01000E0EH   LINE      ---      ---       #26
+      01000E10H   LINE      ---      ---       #27
+      01000E10H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000E10H   LINE      ---      ---       #28
+      01000E15H   LINE      ---      ---       #29
+      01000E16H   LINE      ---      ---       #31
+      01000E1AH   LINE      ---      ---       #32
+      01000E21H   LINE      ---      ---       #33
+      01000E4CH   LINE      ---      ---       #35
       02004E86H   SYMBOL    XDATA    VOID      queue
       00000006H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000DFAH   BLOCK     CODE     ---       LVL=0
-      01000DFAH   LINE      ---      ---       #37
-      01000DFAH   LINE      ---      ---       #38
-      01000DFAH   LINE      ---      ---       #39
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100085BH   BLOCK     CODE     ---       LVL=0
-      0100085BH   LINE      ---      ---       #42
-      0100085BH   LINE      ---      ---       #43
-      0100085BH   LINE      ---      ---       #44
-      0100085FH   LINE      ---      ---       #46
-      0100086BH   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000A2DH   BLOCK     CODE     ---       LVL=0
-      01000A2DH   LINE      ---      ---       #49
-      01000A2DH   LINE      ---      ---       #50
-      01000A2DH   LINE      ---      ---       #51
-      01000A31H   LINE      ---      ---       #53
-      01000A3DH   LINE      ---      ---       #54
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000ACEH   BLOCK     CODE     ---       LVL=0
-      01000ACEH   LINE      ---      ---       #56
-      01000ACEH   LINE      ---      ---       #57
-      01000ACEH   LINE      ---      ---       #58
-      01000AD2H   LINE      ---      ---       #60
-      01000ADEH   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000A5CH   BLOCK     CODE     ---       LVL=0
-      01000A5CH   LINE      ---      ---       #63
-      01000A5CH   LINE      ---      ---       #64
-      01000A5CH   LINE      ---      ---       #65
-      01000A60H   LINE      ---      ---       #67
-      01000A6CH   LINE      ---      ---       #68
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000A3EH   BLOCK     CODE     ---       LVL=0
-      01000A3EH   LINE      ---      ---       #70
-      01000A40H   LINE      ---      ---       #71
-      01000A40H   LINE      ---      ---       #72
-      01000A44H   LINE      ---      ---       #74
-      01000A4CH   LINE      ---      ---       #75
-      01000A55H   LINE      ---      ---       #76
-      01000A5BH   LINE      ---      ---       #77
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100086CH   BLOCK     CODE     ---       LVL=0
-      0100086CH   LINE      ---      ---       #79
-      0100086EH   LINE      ---      ---       #80
-      0100086EH   LINE      ---      ---       #81
-      01000872H   LINE      ---      ---       #83
-      01000878H   LINE      ---      ---       #84
-      01000880H   LINE      ---      ---       #85
-      01000886H   LINE      ---      ---       #86
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000E79H   BLOCK     CODE     ---       LVL=0
-      01000E79H   LINE      ---      ---       #88
-      01000E79H   LINE      ---      ---       #89
-      01000E79H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000E79H   LINE      ---      ---       #92
-      01000E7FH   LINE      ---      ---       #94
-      01000E83H   LINE      ---      ---       #95
-      01000E8AH   LINE      ---      ---       #96
-      01000E8DH   LINE      ---      ---       #97
-      01000EAEH   LINE      ---      ---       #98
-      01000ECFH   LINE      ---      ---       #99
-      01000ED0H   LINE      ---      ---       #101
-      01000ED0H   LINE      ---      ---       #102
-      01000EF2H   LINE      ---      ---       #103
-      01000F04H   LINE      ---      ---       #104
-      01000F04H   LINE      ---      ---       #105
+      01000E08H   BLOCK     CODE     ---       LVL=0
+      01000E08H   LINE      ---      ---       #37
+      01000E08H   LINE      ---      ---       #38
+      01000E08H   LINE      ---      ---       #39
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000869H   BLOCK     CODE     ---       LVL=0
+      01000869H   LINE      ---      ---       #42
+      01000869H   LINE      ---      ---       #43
+      01000869H   LINE      ---      ---       #44
+      0100086DH   LINE      ---      ---       #46
+      01000879H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000A3BH   BLOCK     CODE     ---       LVL=0
+      01000A3BH   LINE      ---      ---       #49
+      01000A3BH   LINE      ---      ---       #50
+      01000A3BH   LINE      ---      ---       #51
+      01000A3FH   LINE      ---      ---       #53
+      01000A4BH   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000ADCH   BLOCK     CODE     ---       LVL=0
+      01000ADCH   LINE      ---      ---       #56
+      01000ADCH   LINE      ---      ---       #57
+      01000ADCH   LINE      ---      ---       #58
+      01000AE0H   LINE      ---      ---       #60
+      01000AECH   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000A6AH   BLOCK     CODE     ---       LVL=0
+      01000A6AH   LINE      ---      ---       #63
+      01000A6AH   LINE      ---      ---       #64
+      01000A6AH   LINE      ---      ---       #65
+      01000A6EH   LINE      ---      ---       #67
+      01000A7AH   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000A4CH   BLOCK     CODE     ---       LVL=0
+      01000A4CH   LINE      ---      ---       #70
+      01000A4EH   LINE      ---      ---       #71
+      01000A4EH   LINE      ---      ---       #72
+      01000A52H   LINE      ---      ---       #74
+      01000A5AH   LINE      ---      ---       #75
+      01000A63H   LINE      ---      ---       #76
+      01000A69H   LINE      ---      ---       #77
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100087AH   BLOCK     CODE     ---       LVL=0
+      0100087AH   LINE      ---      ---       #79
+      0100087CH   LINE      ---      ---       #80
+      0100087CH   LINE      ---      ---       #81
+      01000880H   LINE      ---      ---       #83
+      01000886H   LINE      ---      ---       #84
+      0100088EH   LINE      ---      ---       #85
+      01000894H   LINE      ---      ---       #86
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000E87H   BLOCK     CODE     ---       LVL=0
+      01000E87H   LINE      ---      ---       #88
+      01000E87H   LINE      ---      ---       #89
+      01000E87H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000E87H   LINE      ---      ---       #92
+      01000E8DH   LINE      ---      ---       #94
+      01000E91H   LINE      ---      ---       #95
+      01000E98H   LINE      ---      ---       #96
+      01000E9BH   LINE      ---      ---       #97
+      01000EBCH   LINE      ---      ---       #98
+      01000EDDH   LINE      ---      ---       #99
+      01000EDEH   LINE      ---      ---       #101
+      01000EDEH   LINE      ---      ---       #102
+      01000F00H   LINE      ---      ---       #103
+      01000F12H   LINE      ---      ---       #104
+      01000F12H   LINE      ---      ---       #105
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001C89H   BLOCK     CODE     ---       LVL=0
-      01001C89H   LINE      ---      ---       #107
-      01001C89H   LINE      ---      ---       #108
-      01001C89H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001C89H   LINE      ---      ---       #111
-      01001C8DH   LINE      ---      ---       #113
-      01001C91H   LINE      ---      ---       #114
-      01001C98H   LINE      ---      ---       #115
-      01001CBAH   LINE      ---      ---       #116
-      01001CC7H   LINE      ---      ---       #117
+      01001C9EH   BLOCK     CODE     ---       LVL=0
+      01001C9EH   LINE      ---      ---       #107
+      01001C9EH   LINE      ---      ---       #108
+      01001C9EH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C9EH   LINE      ---      ---       #111
+      01001CA2H   LINE      ---      ---       #113
+      01001CA6H   LINE      ---      ---       #114
+      01001CADH   LINE      ---      ---       #115
+      01001CCFH   LINE      ---      ---       #116
+      01001CDCH   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000E66H   BLOCK     CODE     ---       LVL=0
-      01000E66H   LINE      ---      ---       #119
-      01000E6BH   LINE      ---      ---       #120
-      01000E6BH   BLOCK     CODE     NEAR LAB  LVL=1
-      01000E6BH   LINE      ---      ---       #121
-      01000E6FH   LINE      ---      ---       #122
+      01000E74H   BLOCK     CODE     ---       LVL=0
+      01000E74H   LINE      ---      ---       #119
+      01000E79H   LINE      ---      ---       #120
+      01000E79H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000E79H   LINE      ---      ---       #121
+      01000E7DH   LINE      ---      ---       #122
       00000021H.0 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010008D0H   BLOCK     CODE     ---       LVL=0
-      010008D0H   LINE      ---      ---       #125
-      010008D5H   LINE      ---      ---       #126
-      010008D5H   BLOCK     CODE     NEAR LAB  LVL=1
-      010008D5H   LINE      ---      ---       #127
-      010008DFH   LINE      ---      ---       #128
+      010008DEH   BLOCK     CODE     ---       LVL=0
+      010008DEH   LINE      ---      ---       #125
+      010008E3H   LINE      ---      ---       #126
+      010008E3H   BLOCK     CODE     NEAR LAB  LVL=1
+      010008E3H   LINE      ---      ---       #127
+      010008EDH   LINE      ---      ---       #128
       00000021H.1 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001CC8H   BLOCK     CODE     ---       LVL=0
-      01001CC8H   LINE      ---      ---       #131
-      01001CC8H   LINE      ---      ---       #132
-      01001CC8H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001CC8H   LINE      ---      ---       #134
-      01001CCAH   LINE      ---      ---       #135
-      01001CFBH   LINE      ---      ---       #136
+      01001CDDH   BLOCK     CODE     ---       LVL=0
+      01001CDDH   LINE      ---      ---       #131
+      01001CDDH   LINE      ---      ---       #132
+      01001CDDH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001CDDH   LINE      ---      ---       #134
+      01001CDFH   LINE      ---      ---       #135
+      01001D10H   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       IIC
-      010008EBH   PUBLIC    CODE     ---       _IIC_WriteBlock
-      01000B58H   PUBLIC    CODE     ---       _IIC_write
+      010008F9H   PUBLIC    CODE     ---       _IIC_WriteBlock
+      01000B66H   PUBLIC    CODE     ---       _IIC_write
       010005AEH   PUBLIC    CODE     ---       _IIC_Read
 
-      01000BF0H   BLOCK     CODE     ---       LVL=0
-      01000BF0H   LINE      ---      ---       #11
-      01000BF0H   LINE      ---      ---       #12
-      01000BF0H   LINE      ---      ---       #13
-      01000BF7H   LINE      ---      ---       #14
+      01000BFEH   BLOCK     CODE     ---       LVL=0
+      01000BFEH   LINE      ---      ---       #11
+      01000BFEH   LINE      ---      ---       #12
+      01000BFEH   LINE      ---      ---       #13
+      01000C05H   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
       010005AEH   BLOCK     CODE     ---       LVL=0
@@ -1932,34 +1937,34 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000B58H   BLOCK     CODE     ---       LVL=0
-      01000B58H   LINE      ---      ---       #35
-      01000B73H   LINE      ---      ---       #36
-      01000B73H   LINE      ---      ---       #37
-      01000B94H   LINE      ---      ---       #38
-      01000B9AH   LINE      ---      ---       #39
-      01000BA9H   LINE      ---      ---       #40
-      01000BC6H   LINE      ---      ---       #41
-      01000BDDH   LINE      ---      ---       #42
-      01000BE4H   LINE      ---      ---       #43
-      01000BE9H   LINE      ---      ---       #44
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010008EBH   BLOCK     CODE     ---       LVL=0
-      010008EBH   LINE      ---      ---       #48
-      01000902H   LINE      ---      ---       #49
-      01000902H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000902H   LINE      ---      ---       #51
-      0100090EH   LINE      ---      ---       #52
-      0100091EH   LINE      ---      ---       #53
-      0100092CH   LINE      ---      ---       #54
-      01000952H   LINE      ---      ---       #55
-      0100095FH   LINE      ---      ---       #56
-      01000974H   LINE      ---      ---       #57
-      01000979H   LINE      ---      ---       #58
-      0100098AH   LINE      ---      ---       #59
-      01000996H   LINE      ---      ---       #60
-      01000998H   LINE      ---      ---       #61
+      01000B66H   BLOCK     CODE     ---       LVL=0
+      01000B66H   LINE      ---      ---       #35
+      01000B81H   LINE      ---      ---       #36
+      01000B81H   LINE      ---      ---       #37
+      01000BA2H   LINE      ---      ---       #38
+      01000BA8H   LINE      ---      ---       #39
+      01000BB7H   LINE      ---      ---       #40
+      01000BD4H   LINE      ---      ---       #41
+      01000BEBH   LINE      ---      ---       #42
+      01000BF2H   LINE      ---      ---       #43
+      01000BF7H   LINE      ---      ---       #44
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010008F9H   BLOCK     CODE     ---       LVL=0
+      010008F9H   LINE      ---      ---       #48
+      01000910H   LINE      ---      ---       #49
+      01000910H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000910H   LINE      ---      ---       #51
+      0100091CH   LINE      ---      ---       #52
+      0100092CH   LINE      ---      ---       #53
+      0100093AH   LINE      ---      ---       #54
+      01000960H   LINE      ---      ---       #55
+      0100096DH   LINE      ---      ---       #56
+      01000982H   LINE      ---      ---       #57
+      01000987H   LINE      ---      ---       #58
+      01000998H   LINE      ---      ---       #59
+      010009A4H   LINE      ---      ---       #60
+      010009A6H   LINE      ---      ---       #61
       00000004H   SYMBOL    DATA     VOID      cris
       02004E3DH   SYMBOL    XDATA    VOID      curr_len
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -2008,5 +2013,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       010002F9H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=745 const=24 code=7396
+Program Size: data=10.2 xdata=745 const=24 code=7417
 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/YJX_gamepad/YC1085_gamepad_2device/c51/output/eeprom.dat	(revision 441)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/eeprom.dat	(working copy)
@@ -3848,8 +3848,8 @@
 6d
 aa
 55
-fe
-1c
+13
+1d
 02
 02
 b2
@@ -4554,7 +4554,7 @@
 f9
 02
 0e
-3f
+4d
 e4
 93
 a3
@@ -4691,16 +4691,16 @@
 00
 ff
 0f
-1d
+2b
 ff
 0a
-df
+ed
 00
 00
 00
 ff
 1b
-4a
+5f
 00
 0c
 0e
@@ -4994,10 +4994,10 @@
 95
 12
 09
-ea
+f8
 12
 1a
-95
+aa
 7b
 01
 7a
@@ -5067,7 +5067,7 @@
 1a
 12
 0c
-bf
+cd
 90
 4d
 9b
@@ -5096,10 +5096,10 @@
 19
 12
 0e
-53
+61
 12
 09
-f0
+fe
 e4
 90
 4d
@@ -5449,7 +5449,7 @@
 f0
 12
 0b
-f0
+fe
 90
 4e
 63
@@ -5550,7 +5550,7 @@
 22
 12
 09
-99
+a7
 90
 4b
 ef
@@ -5826,7 +5826,7 @@
 64
 12
 1b
-5b
+70
 90
 4e
 58
@@ -5933,13 +5933,20 @@
 bf
 e0
 60
-36
+44
 c2
 01
 7f
 ff
 11
-5b
+69
+90
+4c
+bf
+e0
+b4
+01
+10
 7b
 01
 7a
@@ -5955,7 +5962,14 @@
 7e
 3f
 11
-eb
+f9
+90
+4c
+bf
+e0
+b4
+02
+10
 7b
 01
 7a
@@ -5971,13 +5985,13 @@
 7e
 3f
 11
-eb
+f9
 d2
 01
 7f
 ff
 11
-5b
+69
 7f
 0a
 12
@@ -6004,7 +6018,7 @@
 92
 00
 51
-6d
+7b
 22
 ac
 07
@@ -6017,7 +6031,7 @@
 d2
 04
 51
-5c
+6a
 af
 04
 a2
@@ -6025,13 +6039,13 @@
 92
 01
 11
-5b
+69
 af
 04
 c2
 02
 51
-2d
+3b
 22
 90
 4d
@@ -6045,7 +6059,7 @@
 7f
 04
 11
-6c
+7a
 c2
 06
 7f
@@ -6057,7 +6071,7 @@
 7f
 04
 11
-6c
+7a
 d2
 06
 7f
@@ -6088,7 +6102,7 @@
 7f
 03
 11
-d0
+de
 c2
 06
 7f
@@ -6098,13 +6112,13 @@
 7f
 04
 11
-d0
+de
 c2
 06
 7f
 03
 11
-6c
+7a
 22
 90
 4e
@@ -6118,7 +6132,7 @@
 79
 74
 d1
-00
+0e
 92
 09
 90
@@ -6132,7 +6146,7 @@
 92
 01
 01
-5b
+69
 90
 4e
 36
@@ -6167,7 +6181,7 @@
 70
 02
 21
-98
+a6
 90
 4e
 36
@@ -6269,7 +6283,7 @@
 e0
 f9
 71
-58
+66
 7f
 0a
 12
@@ -6305,30 +6319,30 @@
 3e
 f0
 21
-02
+10
 22
 c2
 06
 7f
 04
 11
-6c
+7a
 c2
 06
 7f
 03
 01
-6c
+7a
 51
-0e
-71
-f8
+1c
+91
+06
 71
-0f
+1d
 11
 1e
 d1
-41
+4f
 90
 0b
 7e
@@ -6341,11 +6355,11 @@
 70
 ed
 31
-db
+e9
 31
-99
+a7
 31
-dc
+ea
 80
 fe
 90
@@ -6361,13 +6375,13 @@
 60
 04
 d1
-47
+55
 80
 d5
 31
-db
+e9
 31
-dc
+ea
 80
 cf
 80
@@ -6389,9 +6403,9 @@
 05
 96
 d1
-53
+61
 31
-f0
+fe
 80
 a9
 e4
@@ -6414,7 +6428,7 @@
 c2
 05
 51
-3e
+4c
 90
 4e
 82
@@ -6448,13 +6462,13 @@
 7f
 04
 11
-6c
+7a
 c2
 06
 7f
 03
 01
-6c
+7a
 ef
 f4
 60
@@ -6470,7 +6484,7 @@
 92
 00
 51
-6d
+7b
 22
 ac
 07
@@ -6485,7 +6499,7 @@
 92
 03
 51
-ce
+dc
 af
 04
 a2
@@ -6494,13 +6508,13 @@
 92
 02
 51
-2d
+3b
 af
 04
 c2
 04
 51
-5c
+6a
 22
 ef
 f4
@@ -6517,7 +6531,7 @@
 92
 00
 51
-6d
+7b
 22
 90
 4e
@@ -6631,7 +6645,7 @@
 92
 00
 51
-6d
+7b
 22
 90
 4c
@@ -6662,7 +6676,7 @@
 70
 13
 11
-87
+95
 90
 4c
 f7
@@ -6670,7 +6684,7 @@
 70
 02
 51
-21
+2f
 90
 4d
 e0
@@ -6682,7 +6696,7 @@
 f0
 22
 f1
-05
+13
 50
 44
 90
@@ -6723,7 +6737,7 @@
 a3
 f0
 91
-bf
+cd
 90
 4d
 52
@@ -6752,7 +6766,7 @@
 f0
 12
 10
-68
+76
 22
 90
 4e
@@ -6813,7 +6827,7 @@
 79
 86
 f1
-51
+5f
 90
 0b
 83
@@ -6960,7 +6974,7 @@
 03
 12
 1b
-b5
+ca
 90
 4e
 71
@@ -7184,8 +7198,8 @@
 54
 93
 ff
-b1
-fa
+d1
+08
 b3
 e4
 33
@@ -7290,8 +7304,8 @@
 54
 93
 ff
-b1
-fa
+d1
+08
 b3
 e4
 33
@@ -7498,7 +7512,7 @@
 ff
 22
 21
-a5
+b3
 90
 4d
 e5
@@ -7541,8 +7555,8 @@
 87
 ef
 f0
-b1
-fa
+d1
+08
 92
 08
 90
@@ -7560,7 +7574,7 @@
 70
 02
 e1
-04
+12
 ef
 54
 07
@@ -7720,7 +7734,7 @@
 c3
 22
 11
-a6
+b4
 90
 4c
 f6
@@ -7736,7 +7750,7 @@
 04
 f0
 f1
-95
+a3
 12
 06
 be
@@ -8003,7 +8017,7 @@
 e0
 fd
 11
-3b
+49
 22
 90
 0b
@@ -8469,7 +8483,7 @@
 60
 02
 21
-23
+31
 90
 4e
 18
@@ -8593,7 +8607,7 @@
 60
 02
 c1
-3d
+4b
 7f
 a0
 7e
@@ -8753,7 +8767,7 @@
 09
 f0
 61
-be
+cc
 e4
 7f
 60
@@ -8937,7 +8951,7 @@
 06
 f0
 81
-76
+84
 e4
 7f
 60
@@ -9121,7 +9135,7 @@
 07
 f0
 a1
-2e
+3c
 e4
 7f
 60
@@ -9329,7 +9343,7 @@
 05
 f0
 e1
-dd
+eb
 90
 4d
 9b
@@ -9362,7 +9376,7 @@
 07
 f0
 e1
-dd
+eb
 90
 4d
 0a
@@ -9370,7 +9384,7 @@
 06
 f0
 e1
-dd
+eb
 90
 4d
 9b
@@ -9428,7 +9442,7 @@
 03
 f0
 e1
-dd
+eb
 90
 4d
 9b
@@ -9461,7 +9475,7 @@
 01
 f0
 e1
-dd
+eb
 90
 4d
 0a
@@ -9469,7 +9483,7 @@
 02
 f0
 e1
-dd
+eb
 90
 4d
 9b
@@ -9502,7 +9516,7 @@
 04
 f0
 e1
-dd
+eb
 90
 4d
 9b
@@ -9534,7 +9548,7 @@
 0a
 f0
 e1
-dd
+eb
 90
 4d
 0a
@@ -9542,7 +9556,7 @@
 0f
 f0
 e1
-dd
+eb
 e4
 7f
 50
@@ -10362,6 +10376,13 @@
 01
 f0
 90
+4c
+c5
+e0
+b4
+03
+23
+90
 4d
 0d
 e0
@@ -10394,7 +10415,7 @@
 4c
 bf
 74
-01
+02
 f0
 90
 4d
@@ -10518,7 +10539,7 @@
 08
 12
 0f
-da
+e8
 7b
 01
 7a
@@ -10584,7 +10605,7 @@
 7c
 00
 51
-17
+2c
 7b
 01
 7a
@@ -10596,7 +10617,7 @@
 7c
 00
 51
-17
+2c
 7b
 01
 7a
@@ -10608,7 +10629,7 @@
 7c
 00
 51
-17
+2c
 e4
 90
 4d
@@ -10656,9 +10677,9 @@
 f0
 22
 51
-43
+58
 51
-b1
+c6
 90
 4c
 fa
@@ -11270,8 +11291,8 @@
 04
 cf
 22
-06
-4b
+7b
+8d
 aa
 55
 40
@@ -13342,29 +13363,8 @@
 6c
 59
 50
-80
-d8
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+e2
+44
 ff
 ff
 ff
@@ -16380,5 +16380,5 @@
 ff
 ff
 ff
-c5
-e2
+bd
+42
Index: c51/output/fw.hex
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/fw.hex	(revision 441)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/fw.hex	(working copy)
@@ -42,7 +42,7 @@
 :10029000E473E493A3C583C5F0C583C8C582C8F0E1
 :1002A000A3C583C5F0C583C8C582C8228A83898255
 :1002B000E473787FE4F6D8FD7581CF0202F9020E6F
-:1002C0003FE493A3F8E493A34003F68001F208DF30
+:1002C0004DE493A3F8E493A34003F68001F208DF22
 :1002D000F48029E493A3F85407240CC8C333C4540E
 :1002E0000F4420C8834004F456800146F6DFE480C2
 :1002F0000B010204081020408090033EE47E01932D
@@ -50,8 +50,8 @@
 :10031000010ECF54C025E060A840B8E493A3FAE4EE
 :1003200093A3F8E493A3C8C582C8CAC583CAF0A33F
 :10033000C8C582C8CAC583CADFE9DEE780BE524DA0
-:10034000F3FF0456000000FF0F1DFF0ADF0000004E
-:10035000FF1B4A000C0E0D0B1D1C1A1B091F081E4B
+:10034000F3FF0456000000FF0F2BFF0AED00000032
+:10035000FF1B5F000C0E0D0B1D1C1A1B091F081E36
 :100360000F1807161700000000010100904CC5E0AF
 :10037000B403037F01227F0022E4FF904CFDE06084
 :100380000122904CC5E06403601C904CFEE0701D9F
@@ -69,14 +69,14 @@
 :100440004CFD7478F0E4904CF8F0E4904CFCF02211
 :10045000E4904CFCF022904E84EFF024D0607D14A8
 :10046000700281E8147002A14F14600A24F76078CA
-:10047000240D6002A1951209EA121A957B017A4CAB
+:10047000240D6002A1951209F8121AAA7B017A4C88
 :1004800079007D047C007FF07E3FB1AE7F0AB1969B
 :10049000904CC1E0F97A007B007D017C007FF87E02
 :1004A0003FB1AE7F0AB196904CC1E0D394014002B7
 :1004B000E4F0904DE57402F0904E84E0B42F1A12EF
-:1004C0000CBF904D9BE0FCA3E0FDA3E0FEA3E0FF8A
-:1004D000EEE4BF12047F0A61AE020819120E531235
-:1004E00009F0E4904D04F022904CC57403F0E4A3AD
+:1004C0000CCD904D9BE0FCA3E0FDA3E0FEA3E0FF7C
+:1004D000EEE4BF12047F0A61AE020819120E611227
+:1004E00009FEE4904D04F022904CC57403F0E4A39F
 :1004F000F0D19CE4904CFDF0904CFAF0904CC0741C
 :10050000FEF0904CC3F0904D477403F0904DE074B2
 :10051000C8F0904E84E06431702E904DF2F0904C13
@@ -97,14 +97,14 @@
 :1006000090809EEEF0A3EFF07A0B79837E0B7F83D0
 :100610007483FC740BFFECFEEF90809CEEF0A3EF74
 :10062000F09080907402F090809CA3E020E7079007
-:100630008090E04401F0908006E04404F0120BF05A
+:100630008090E04401F0908006E04404F0120BFE4C
 :10064000904E63E0A3E0FAA3E0AE02FF7B017A0BD9
 :100650007983904E61E0A3E0904E60F0904E5BEEA7
 :10066000F0A3EFF0A3EBF0A3EAF0A3E9F0904E6063
 :10067000E0FF14F0EF6024904E5DE0FBA3E475F022
 :10068000013167A9F0FA11F9FF904E5BE475F001B2
 :10069000316785F082F583EFF080D222E4904CFF41
-:1006A000F022120999904BEF74FFF0904D04740101
+:1006A000F0221209A7904BEF74FFF0904D047401F3
 :1006B000F0904D3D74FFF0A3F0A3F0A3F022904C16
 :1006C000C9E030E13D904CCBE0C394FA5003E00424
 :1006D000F0904CCBE064B47036904DDCE004F0E078
@@ -121,345 +121,347 @@
 :10078000017A4E796B7D03904E55EBF0A3EAF0A30E
 :10079000E9F0A3EDF0904B9CE0FFA3E0904E59CF21
 :1007A000F0A3EFF0904B9AE0FEA3E0FF904B9CE0AB
-:1007B000FCA3E0FD7B64121B5B904E58E0FEEFC390
+:1007B000FCA3E0FD7B64121B70904E58E0FEEFC37B
 :1007C0009E40E1904E58E0FF14F0EF603C904E5593
 :1007D000E0FBA3E475F0013167A9F0FA11F9FF908D
 :1007E0004E59E475F001316785F082F583EFF090A2
 :1007F0004E59E0FEA3E0FFBE4BC9BF36C6904E592E
 :10080000744AF0A374A0F080BA904E59E0FFA3E0C0
 :10081000904B9CCFF0A3EFF0227F080203AE904CE8
-:10082000BFE06036C2017FFF115B7B017A4C79002B
-:100830007D047C007FF07E3F11EB7B017A4C79C117
-:100840007D017C007FF87E3F11EBD2017FFF115BC1
-:100850007F0A120596E4904CBFF022EFF4600C7B07
-:10086000017A807974A2019200516D22AC07ECF4F8
-:100870006014AF04D204515CAF04A2069201115B74
-:10088000AF04C202512D22904D77E0B4010CD20684
-:100890007F04116CC2067F0380D2C2067F04116CF4
-:1008A000D2067F0380C6904DE5E064027021904C33
-:1008B000FDE0601B904D77E0B4010A7F0311D0C2C8
-:1008C000067F0480A77F0411D0C2067F03116C222B
-:1008D000904E88EFF07B017A807974D10092099074
-:1008E0004E88E0FFA209B39201015B904E36EEF014
-:1008F000A3EFF0A3ECF0A3EDF0A3EBF0A3EAF0A3D9
-:10090000E9F0904E38E07002A3E070022198904E1A
-:1009100036E0FEA3E0FF440F2401FDE43EFCC3EDFE
-:100920009FFFEC9EFE904E3DF0A3EFF0904E38E01E
-:10093000FCA3E0FDD39FEC9E400A904E3DE0FEA359
-:10094000E0FF8004AE04AF05904E3DEEF0FCA3EF57
-:10095000F0FDC3904E39E09DF0904E38E09CF09051
-:100960004E36E0FEA3E0FF904E3AE0FBA3E0FAA390
-:10097000E0F971587F0A120596904E3DE0FEA3E023
-:10098000FF904E3BEE8FF0120151904E37E02FF06A
-:10099000904E36E03EF0210222C2067F04116CC266
-:1009A000067F03016C510E71F8710F111ED1419039
-:1009B0000B7EE014600C24FE70ED31DB319931DCEC
-:1009C00080FE904CF9E07006904CFBE06004D1474B
-:1009D00080D531DB31DC80CF80CD2222E4900B7FCB
-:1009E000F0900B7EF07F01020596D15331F080A983
-:1009F000E4904E82F0F0904E82E090035493FF60BA
-:100A00000CC205513E904E82E004F080E9227B0149
-:100A10007A4D79F378057C4E7D017E007F120200CD
-:100A2000D3C2067F04116CC2067F03016CEFF46031
-:100A30000C7B017A807978A2029200516D22AC077A
-:100A4000ECF46017AF04A205920351CEAF04A205E7
-:100A5000B39202512DAF04C204515C22EFF4600C3A
-:100A60007B017A807970A2049200516D22904E7AB7
-:100A7000EBF0A3EAF0A3E9F0E4FEFDEF5407FEEF8C
-:100A80001313135403FD300022904E7AE0FBA3E0D1
-:100A9000FAA3E02DF9E43AFA1200F9FF7401A8066E
-:100AA000088002C333D8FC4F02013F904E7AE0FB2E
-:100AB000A3E0FAA3E02DF9E43AFA1200F9FF740179
-:100AC000A806088002C333D8FCF45F02013FEFF4AC
-:100AD000600C7B017A80797CA2039200516D229098
-:100AE0004CF9E0600214F0904CFEE0600214F090CB
-:100AF0004CF7E06010904CFDE070131187904CF7BC
-:100B0000E070025121904DE0E06003E014F022F12A
-:100B1000055044904D04E0B4010E904D3D74FFF03B
-:100B2000A3F0A3F0A3F08010E4904D3DF0A374FD7A
-:100B3000F0A374E8F0E4A3F091BF904D52E0FF9071
-:100B40004DDDE06F6011904D52E0904DDDF0904D25
-:100B5000E0740AF012106822904E4EEEF0A3EFF00F
-:100B6000904E52EBF0A3EAF0A3E9F0904E50ECF077
-:100B7000A3EDF0A3E0F9A3E0FAA3E0904E42C9F0A0
-:100B8000A3EAF0A3E9F0A3ECF0A3EDF07B017A0B6C
-:100B90007986F151900B8374A0F0904E4EE0FFA344
-:100BA000E0900B84CFF0A3EFF0904E51E02403FDD2
-:100BB000904E50E03400FCEDFAECFFEAFEEF90803E
-:100BC00098EEF0A3EFF07A0B79837E0B7F8374832A
-:100BD000FC740BFFECFEEFA3EEF0A3EFF090809E11
-:100BE000E4F0A3F090809004F0908006E04404F0DC
-:100BF00090812CE030E5F9227A0C794B904E71749B
-:100C000001F0A3740CF0A3744BF0904BA0E0FEA392
-:100C1000E0FF904B9EE06E7003A3E06F60477E0C98
-:100C20007F4B7D03121BB5904E71E0FBA3E0FAA34E
-:100C3000E0F91200F9B4022B904E72E475F0021242
-:100C40000151904E71E0FBA3E0FAA3E0F91200F924
-:100C5000FF904E05E0A3E0FAA3E0F5828A8312023A
-:100C6000B0800280FE904BA5E0FEA3E0FF904C5EBA
-:100C7000E06E7003A3E06F6022904E0BE0FBA3E0F8
-:100C8000FAA3E0F94A60371202AC904BA5E0FFA34B
-:100C9000E0904C5ECFF0A3EFF080CA904C8DE0FF67
-:100CA000A3E06F6019904E0EE0FBA3E0FAA3E0F919
-:100CB0004A600B1202AC904C8DE0A3F080DD22E480
-:100CC000904E83F0904D9B12027B00000000904DEF
-:100CD0009712027B00000000E4904E83F0904E8358
-:100CE000E090035493605B904D9BE0F8A3E0F9A380
-:100CF000E0FAA3E0FBC000C001C002C003904E8335
-:100D0000E090035493FFB1FAB3E433D003D002D0A0
-:100D100001D0004BFFEAFEE9FDE8FC904D9B12027A
-:100D20006F904D9BE0FCA3E0FDA3E0FEA3E0FF7805
-:100D30000112025C904D9B12026F904E83E004F012
-:100D4000809BE4904E83F0904E83E0900354936038
-:100D50005B904D97E0F8A3E0F9A3E0FAA3E0FBC0B5
-:100D600000C001C002C003904E83E090035493FF83
-:100D7000B1FAB3E433D003D002D001D0004BFFEA84
-:100D8000FEE9FDE8FC904D9712026F904D97E0FC54
-:100D9000A3E0FDA3E0FEA3E0FF780112025C904D0A
-:100DA0009712026F904E83E004F0809B904D9BE081
-:100DB000FCA3E0FDA3E0FEA3E0FF904D97E0F8A3C5
-:100DC000E0F9A3E0FAA3E0FBC312024B602B904DC5
-:100DD0009BE0FCA3E0FDA3E0FEA3E0FF904D97E0C5
-:100DE000F8A3E0A3E0A3E0EF5BFFEE5AFEED59FDB0
-:100DF000EC58FC904D9B12026F227B017A81791C8A
-:100E0000AD07E4904E86F0FEEF5407F0EF13131396
-:100E10005403FEF582758300120112FD3395E0FC48
-:100E2000904E86E0FF74017E00A807088005C3335A
-:100E3000CE33CED8F9FFEE5CFEEF5D4E24FF2221CB
-:100E4000A5904DE5E0FF22900B7F7401F0E4900B3C
-:100E50007EF022908091740DF0A304F0A3F0A3F033
-:100E6000A3F0A314F022904E87EFF0B1FA9208900D
-:100E70004E87E0FFA208B39207EFF47002E104EF9F
-:100E80005407FEEF1313135403FF30074324A3F555
-:100E900082E43400F583C083C082E0FD7401A806BB
-:100EA000088002C333D8FCF45DD082D083F074A7ED
-:100EB0002FF582E43400F583C083C082E0FF740123
-:100EC000A806088002C333D8FC4FD082D083F0221A
-:100ED00074A32FF582E43400F583C083C082E0FD63
-:100EE0007401A806088002C333D8FCFC4DD082D020
-:100EF00083F074A72FF582E43400F583E0FFECF46F
-:100F0000FEEF5EF022904B9CE0FEA3E0FF904B9A38
-:100F1000E0B50607A3E0B50702D322C32211A690CD
-:100F20004CF6E004F07006904CF5E004F0F19512F8
-:100F300006BE904CFDE06018E4904CF5F0A3F090F4
-:100F40004CFDE014F0E070087F0A1205961206A22C
-:100F500022904E3FEBF0A3EAF0A3E9F0904E4574E7
-:100F6000FFF5F012016745F0602A904E42E0FBA3C6
-:100F7000E475F001120167A9F0FA1200F9FF904E32
-:100F80003FE0FBA3E475F001120167A9F0FAEF124C
-:100F9000013F80C822904CC5E0B40312C3904CF6C8
-:100FA000E094F0904CF5E09400402E0206A2904CA4
-:100FB000C5E0B40112C3904CF6E09478904CF5E093
-:100FC000940040150206A2C3904CF6E09414904C95
-:100FD000F5E0940040031206A222904E28EBF0A305
-:100FE000EAF0A3E9F0A3EDF0E4FF904E2BE0FEEF72
-:100FF000C39E5023904E28E0FBA3E0FAA3E0F98FB4
-:1010000082758300120112FE742C2FF582E4344E97
-:10101000F583EEF00F80D3120379EF601D904CFA48
-:10102000E07017904CC5E0B40310904E28E0FBA38D
-:10103000E0FAA3E0F9A3E0FD113B22900BE7740670
-:10104000F0904E85EDF0E0FD900BE8F07E0B7FE92F
-:10105000904E60EDF012065C7B017A0B79E7904EC2
-:1010600085E02402FD020787E4904E17F0A31202E8
-:101070007B00000000904E1C12027B0000000090DC
-:101080004E2012027B00000000904E2412027B00D2
-:10109000000000904D067480F0A3F0A3F0A3F0A32D
-:1010A000740FF0E4A3F0A3F0904D7DE0FEA3E0FF09
-:1010B000904CDCE0FD25E024DDF582E4344CF58342
-:1010C000EEF0A3EFF0904D7FE0FEA3E0FFED25E012
-:1010D00024E3F582E4344CF583EEF0A3EFF0904D79
-:1010E00081E0FEA3E0FFED25E024E9F582E4344C45
-:1010F000F583EEF0A3EFF0904D83E0FEA3E0FFED6B
-:1011000025E024EFF582E4344CF583EEF0A3EFF014
-:10111000904CDCE004F0E0C394034002E4F0E4907F
-:101120004E17F0904E18E0F8A3E0F9A3E0FAA3E020
-:10113000FB904E17E025E024DDF582E4344CF58386
-:10114000E0FEA3E0FFE4FCFDEB2FFFEA3EFEED39FD
-:10115000FDEC38FC904E1812026F904E1CE0F8A384
-:10116000E0F9A3E0FAA3E0FB904E17E025E024E3CA
-:10117000F582E4344CF583E0FEA3E0FFE4FCFDEBF4
-:101180002FFFEA3EFEED39FDEC38FC904E1C1202BA
-:101190006F904E20E0F8A3E0F9A3E0FAA3E0FB9003
-:1011A0004E17E025E024E9F582E4344CF583E0FEB7
-:1011B000A3E0FFE4FCFDEB2FFFEA3EFEED39FDEC82
-:1011C00038FC904E2012026F904E24E0F8A3E0F914
-:1011D000A3E0FAA3E0FB904E17E025E024EFF582B0
-:1011E000E4344CF583E0FEA3E0FFE4FCFDEB2FFFCD
-:1011F000EA3EFEED39FDEC38FC904E2412026F9071
-:101200004E17E004F0E0640360022123904E18E0E2
-:10121000FCA3E0FDA3E0FEA3E0FFE47B03FAF9F802
-:101220001201B9904E1812026F904E1CE0FCA3E020
-:10123000FDA3E0FEA3E0FFE47B03FAF9F81201B995
-:10124000904E1C12026F904E20E0FCA3E0FDA3E044
-:10125000FEA3E0FFE47B03FAF9F81201B9904E20F7
-:1012600012026F904E24E0FCA3E0FDA3E0FEA3E099
-:10127000FFE47B03FAF9F81201B9904E2412026FD1
-:10128000904CC1E06002C13D7FA07E3EFDFC904ECF
-:1012900018E0F8A3E0F9A3E0FAA3E0FBC312024BC5
-:1012A0005008904D0874FFF0805CE47FA07E7BFDC9
-:1012B000FC904E18E0F8A3E0F9A3E0FAA3E0FBD31A
-:1012C00012024B4007E4904D08F0803A904E18E02F
-:1012D000FCA3E0FDA3E0FEA3E02460FFEE34C1FE2A
-:1012E000ED34FFFDEC34FFFCE47B3EFAF9F812012B
-:1012F000B9EFF404904D08F0C394704009E0D39422
-:101300009550037480F0E47FA07E3EFDFC904E1C5F
-:10131000E0F8A3E0F9A3E0FAA3E0FBC312024B500C
-:1013200007E4904D09F061BEE47F607E5EFDFC90B5
-:101330004E1CE0F8A3E0F9A3E0FAA3E0FBC312021D
-:101340004B4020E47FA07E60FDFC904E1CE0F8A3A3
-:10135000E0A3E0A3E0D312024B5008904D09748043
-:10136000F0805BE47FA07E7BFDFC904E1CE0F8A348
-:10137000E0F9A3E0FAA3E0FBD312024B4008904D42
-:101380000974FFF08038904E1CE0FCA3E0FDA3E060
-:10139000FEA3E02460FFEE34C1FEED34FFFDEC342B
-:1013A000FFFCE47B3EFAF9F81201B9904D09EFF029
-:1013B000C394704009E0D3949550037480F0E47FA7
-:1013C000A07E3EFDFC904E20E0F8A3E0F9A3E0FAF9
-:1013D000A3E0FBC312024B5007E4904D06F0817668
-:1013E000E47F607E5EFDFC904E20E0F8A3E0F9A370
-:1013F000E0FAA3E0FBC312024B4020E47FA07E6032
-:10140000FDFC904E20E0F8A3E0A3E0A3E0D312029D
-:101410004B5008904D067480F0805BE47FA07E7B8B
-:10142000FDFC904E20E0F8A3E0F9A3E0FAA3E0FB76
-:10143000D312024B4008904D0674FFF08038904E56
-:1014400020E0FCA3E0FDA3E0FEA3E02460FFEE3477
-:10145000C1FEED34FFFDEC34FFFCE47B3EFAF9F80D
-:101460001201B9904D06EFF0C394704009E0D39497
-:101470009550037480F0E47FA07E3EFDFC904E24E6
-:10148000E0F8A3E0F9A3E0FAA3E0FBC312024B509B
-:1014900007E4904D07F0A12EE47F607E5EFDFC9096
-:1014A0004E24E0F8A3E0F9A3E0FAA3E0FBC31202A4
-:1014B0004B4020E47FA07E60FDFC904E24E0F8A32A
-:1014C000E0A3E0A3E0D312024B5008904D077480D4
-:1014D000F0805BE47FA07E7BFDFC904E24E0F8A3CF
-:1014E000E0F9A3E0FAA3E0FBD312024B4008904DD1
-:1014F0000774FFF08038904E24E0FCA3E0FDA3E0E9
-:10150000FEA3E02460FFEE34C1FEED34FFFDEC34B9
-:10151000FFFCE47B3EFAF9F81201B9904D07EFF0B9
-:10152000C394704009E0D3949550037480F0904DBB
-:101530009BE0FCA3E0FDA3E0FEA3E0E4FFFEED548E
-:1015400002FDE4FCED604A904D9BE0FCA3E0FDA3AE
-:10155000E0FEA3E0E4FFEE5480FEE4FDFCEE600854
-:10156000904D0A7405F0E1DD904D9BE0FCA3E0FD99
-:10157000A3E0FEA3E0E4FFEE5440FEE4FDFCEE60D9
-:1015800008904D0A7407F0E1DD904D0A7406F0E111
-:10159000DD904D9BE0FCA3E0FDA3E0FEA3E0E4FFB3
-:1015A000FEED5401FDE4FCED604A904D9BE0FCA390
-:1015B000E0FDA3E0FEA3E0E4FFEE5480FEE4FDFCCA
-:1015C000EE6008904D0A7403F0E1DD904D9BE0FC65
-:1015D000A3E0FDA3E0FEA3E0E4FFEE5440FEE4FD43
-:1015E000FCEE6008904D0A7401F0E1DD904D0A7444
-:1015F00002F0E1DD904D9BE0FCA3E0FDA3E0FEA343
-:10160000E0E4FFEE5480FEE4FDFCEE6008904D0A3D
-:101610007404F0E1DD904D9BE0FCA3E0FDA3E0FE4F
-:10162000A3E0E4FFEE5440FEE4FDFCEE6007E4902E
-:101630004D0AF0E1DD904D0A740FF0E1DDE47F50DA
-:101640007E4EFDFC904E18E0F8A3E0F9A3E0FAA36B
-:10165000E0FBC312024B5008904D0874FFF0802845
-:10166000E47FA07E6BFDFC904E18E0F8A3E0F9A3A8
-:10167000E0FAA3E0FBD312024B4007E4904D08F0E0
-:101680008006904D087480F0E47F507E4EFDFC9003
-:101690004E1CE0F8A3E0F9A3E0FAA3E0FBC31202BA
-:1016A0004B5007E4904D09F08029E47FA07E6BFD4C
-:1016B000FC904E1CE0F8A3E0F9A3E0FAA3E0FBD312
-:1016C00012024B4008904D0974FFF08006904D09BE
-:1016D0007480F0E47F507E4EFDFC904E20E0F8A335
-:1016E000E0F9A3E0FAA3E0FBC312024B5009904DCE
-:1016F0000AE04410F08022E47FA07E6BFDFC904E57
-:1017000020E0F8A3E0F9A3E0FAA3E0FBD312024B38
-:101710004007904D0AE04440F0E47F507E4EFDFCCF
-:10172000904E24E0F8A3E0F9A3E0FAA3E0FBC31293
-:10173000024B5009904D0AE04420F08022E47FA043
-:101740007E6BFDFC904E24E0F8A3E0F9A3E0FAA341
-:10175000E0FBD312024B4007904D0AE04480F0902A
-:101760004D9BE0FCA3E0FDA3E0FEA3E0E4FFFEED63
-:101770005402FDE4FCED6007E4904D08F0801F90FA
-:101780004D9BE0FCA3E0FDA3E0FEA3E0E4FFFEED43
-:101790005401FDE4FCED6006904D0874FFF0904D9F
-:1017A0009BE0FCA3E0FDA3E0FEA3E0E4FFEE548099
-:1017B000FEE4FDFCEE6008904D0974FFF0801E9081
-:1017C0004D9BE0FCA3E0FDA3E0FEA3E0E4FFEE54AC
-:1017D00040FEE4FDFCEE6005E4904D09F0904D9B69
-:1017E000E0FCA3E0FDA3E0FEA3E0E4FFEE5408FE6E
-:1017F000E4FDFCEE6007904D0AE04440F0904D9B04
-:10180000E0FCA3E0FDA3E0FEA3E0E4FFEE5410FE45
-:10181000E4FDFCEE6007904D0AE04420F0904D9B03
-:10182000E0FCA3E0FDA3E0FEA3E0E4FFEE5404FE31
-:10183000E4FDFCEE6007904D0AE04480F0904D9B83
-:10184000E0FCA3E0FDA3E0FEA3E0E4FFEE5420FEF5
-:10185000E4FDFCEE6007904D0AE04410F0904D9BD3
-:10186000E0FCA3E0FDA3E0FEA3E0E4FFEE5402FEF3
-:10187000E4FDFCEE6007904D0BE04401F0904D9BC1
-:10188000E0FCA3E0FDA3E0FEA3E05480FFE4FEFD46
-:10189000FCEF6007904D0BE04404F0904D9BE0FCA2
-:1018A000A3E0FDA3E0FEA3E0E4FFEE5401FEE4FDAF
-:1018B000FCEE6007904D0BE04402F0904D9BE0FC85
-:1018C000A3E0FDA3E0FEA3E05440FFE4FEFDFCEF37
-:1018D0006007904D0BE04408F0904D9BE0FCA3E0C6
-:1018E000FDA3E0FEA3E05408FFE4FEFDFCEF60076B
-:1018F000904D0BE04440F0904D9BE0FCA3E0FDA335
-:10190000E0FEA3E05404FFE4FEFDFCEF6007904D11
-:101910000BE04480F0904D9BE0FCA3E0FDA3E0FED3
-:10192000A3E05420FFE4FEFDFCEF6007904D0BE0C8
-:101930004410F0904D9BE0FCA3E0FDA3E0FEA3E08B
-:101940005410FFE4FEFDFCEF6007904D0BE04420D7
-:10195000F0904D9BE0FCA3E0FDA3E0FEA3E0540269
-:10196000FFE4FEFDFCEF6007904D0CE04401F090B9
-:101970004D0DE0701D904D0CE0B40116904CC1E08F
-:101980006004E4F08006904CC17401F0904CBF7488
-:1019900001F0904D0CE0A3F0904D06E06480701DC6
-:1019A000A3E064807017A3E0B48012A3E0B4800DBC
-:1019B000A3E0B40F08A3E06004A3E07007E4904C38
-:1019C000F5F0A3F0904DE97409F0904D06E0904DCC
-:1019D000EAF0904D07E0904DEBF0904D08E0904D0F
-:1019E000ECF0904D09E0904DEDF0904D0AE0904DF7
-:1019F000EEF0904D0BE0904DEFF0904D0CE0904DDF
-:101A0000F0F07B017A4D79E97D08120FDA7B017ADB
-:101A10004D79E97D097C00904E74EBF0A3EAF0A3C8
-:101A2000E9F0ED1DAE0470011C4E6016904E74E09E
-:101A3000FBA3E475F001120167A9F0FAE412013F7B
-:101A400080E0227B017A4C79BF7D577C0051177B67
-:101A5000017A4879007D097C0051177B017A4D7924
-:101A6000E97D097C005117E4904DE0F0904DE6F0DF
-:101A7000904DE5F0904DD6F0904DD0F0904DDCF0CB
-:101A8000904DE8F0904DD5F0904DD8F0904DE7F0A6
-:101A9000904D38F022514351B1904CFA7401F090BE
-:101AA0004CF7741EF0E4904CFFF0904D1574FFF06D
-:101AB00022E4904CDCF0FFEF25E024DDF582E434F5
-:101AC0004CF583745EF0A3F0EF25E024E3F582E4A7
-:101AD000344CF583745EF0A3F0EF25E024E9F58241
-:101AE000E4344CF583745EF0A3F0EF25E024EFF5C9
-:101AF00082E4344CF583745EF0A3F00FEFB403B7C7
-:101B000022E4FEEF6006145FFF0E80F7AF0622901E
-:101B10004E6EEBF0A3EAF0A3E9F0E4FFEFC39D50B3
-:101B20001B904E6EE0FBA3E0FAA3E0F98F82758371
-:101B30000012011260037F00220F80E07F012290DB
-:101B400080107401F080FE2280F5904E7DEDF090C3
-:101B50000001120112904E7EF02222904E66EEF0AD
-:101B6000A3EFF0904E68ECF0A3EDF0904E68E0FE2D
-:101B7000A3E0FFD3904E67E09F904E66E09E401634
-:101B8000904E68E0FEA3E0FF904E67E09FFF904E0E
-:101B900066E09EFE801E904E66E0FEA3E0FFC390CE
-:101BA0004E69E09FFF904E68E09EFEAD03C3EB9F41
-:101BB000FFE49EFE22904E7FEEF0A3EFF0A9059089
-:101BC0004B9EE0FEA3E0FFAD0119ED602F0FEFACDF
-:101BD0000670010E14F5828C83E0FD904E7FE47553
-:101BE000F00112016785F082F583EDF0AD07AC06D8
-:101BF000BC4BD4BD9AD17E4B7F3680CB904B9EEEB2
-:101C0000F0A3EFF022900446E0FF2290828074015E
-:101C1000F022904E77EBF0A3EAF0A3E9F0ED1DAED1
-:101C20000470011C4E6017904E77E0FBA3E475F042
-:101C300001120167A9F0FA74FF12013F80DF2290C0
-:101C40004E47EBF0A3EAF0A3E9F0E4FF904E4DE03D
-:101C5000FEEFC39E5030904E4AE0FBA3E0FAA3E0B3
-:101C6000F98F82758300120112FE904E47E0FBA3AC
-:101C7000E0FAA3E0F98F827583001201126E60030F
-:101C80007F00220F80C67F0122EFF4603AEF5407F5
-:101C9000FEEF1313135403FF24A3F582E43400F57D
-:101CA00083C083C082E0FD7401A806088002C333AC
-:101CB000D8FCF4FC5DD082D083F074A72FF582E4C9
-:101CC0003400F583E05CF022E4FFEFFD7C00247833
-:101CD000FBEC34808B82F583E0FEED2470FDEC3468
-:101CE000808D82F583E04EF4FEEF247CFDEC3480A1
-:0C1CF0008D82F583EEF00FEFB404CF22DC
+:10082000BFE06044C2017FFF1169904CBFE0B4019A
+:10083000107B017A4C79007D047C007FF07E3F11B3
+:10084000F9904CBFE0B402107B017A4C79C17D0174
+:100850007C007FF87E3F11F9D2017FFF11697F0A8A
+:10086000120596E4904CBFF022EFF4600C7B017A05
+:10087000807974A2019200517B22AC07ECF46014E1
+:10088000AF04D204516AAF04A20692011169AF0409
+:10089000C202513B22904D77E0B4010CD2067F0496
+:1008A000117AC2067F0380D2C2067F04117AD20673
+:1008B0007F0380C6904DE5E064027021904CFDE01E
+:1008C000601B904D77E0B4010A7F0311DEC2067F02
+:1008D0000480A77F0411DEC2067F03117A22904EA6
+:1008E00088EFF07B017A807974D10E9209904E885E
+:1008F000E0FFA209B392010169904E36EEF0A3EF3A
+:10090000F0A3ECF0A3EDF0A3EBF0A3EAF0A3E9F081
+:10091000904E38E07002A3E0700221A6904E36E0BF
+:10092000FEA3E0FF440F2401FDE43EFCC3ED9FFF66
+:10093000EC9EFE904E3DF0A3EFF0904E38E0FCA30D
+:10094000E0FDD39FEC9E400A904E3DE0FEA3E0FF09
+:100950008004AE04AF05904E3DEEF0FCA3EFF0FD39
+:10096000C3904E39E09DF0904E38E09CF0904E36AA
+:10097000E0FEA3E0FF904E3AE0FBA3E0FAA3E0F92B
+:1009800071667F0A120596904E3DE0FEA3E0FF904F
+:100990004E3BEE8FF0120151904E37E02FF0904E0B
+:1009A00036E03EF0211022C2067F04117AC2067F93
+:1009B00003017A511C9106711D111ED14F900B7EBF
+:1009C000E014600C24FE70ED31E931A731EA80FEBD
+:1009D000904CF9E07006904CFBE06004D15580D556
+:1009E00031E931EA80CF80CD2222E4900B7FF09074
+:1009F0000B7EF07F01020596D16131FE80A9E49063
+:100A00004E82F0F0904E82E090035493FF600CC24F
+:100A100005514C904E82E004F080E9227B017A4D32
+:100A200079F378057C4E7D017E007F120200D3C2EF
+:100A3000067F04117AC2067F03017AEFF4600C7B13
+:100A4000017A807978A2029200517B22AC07ECF403
+:100A50006017AF04A205920351DCAF04A205B39264
+:100A600002513BAF04C204516A22EFF4600C7B01D7
+:100A70007A807970A2049200517B22904E7AEBF03A
+:100A8000A3EAF0A3E9F0E4FEFDEF5407FEEF131331
+:100A9000135403FD300022904E7AE0FBA3E0FAA34A
+:100AA000E02DF9E43AFA1200F9FF7401A806088073
+:100AB00002C333D8FC4F02013F904E7AE0FBA3E023
+:100AC000FAA3E02DF9E43AFA1200F9FF7401A8063E
+:100AD000088002C333D8FCF45F02013FEFF4600CDE
+:100AE0007B017A80797CA2039200517B22904CF9A1
+:100AF000E0600214F0904CFEE0600214F0904CF7BD
+:100B0000E06010904CFDE070131195904CF7E07090
+:100B100002512F904DE0E06003E014F022F11350F9
+:100B200044904D04E0B4010E904D3D74FFF0A3F0ED
+:100B3000A3F0A3F08010E4904D3DF0A374FDF0A36A
+:100B400074E8F0E4A3F091CD904D52E0FF904DDDBC
+:100B5000E06F6011904D52E0904DDDF0904DE074EB
+:100B60000AF012107622904E4EEEF0A3EFF0904E67
+:100B700052EBF0A3EAF0A3E9F0904E50ECF0A3EDB5
+:100B8000F0A3E0F9A3E0FAA3E0904E42C9F0A3EA93
+:100B9000F0A3E9F0A3ECF0A3EDF07B017A0B7986EA
+:100BA000F15F900B8374A0F0904E4EE0FFA3E090B5
+:100BB0000B84CFF0A3EFF0904E51E02403FD904E54
+:100BC00050E03400FCEDFAECFFEAFEEF908098EE86
+:100BD000F0A3EFF07A0B79837E0B7F837483FC7430
+:100BE0000BFFECFEEFA3EEF0A3EFF090809EE4F09D
+:100BF000A3F090809004F0908006E04404F090818F
+:100C00002CE030E5F9227A0C794B904E717401F0AA
+:100C1000A3740CF0A3744BF0904BA0E0FEA3E0FF94
+:100C2000904B9EE06E7003A3E06F60477E0C7F4B9D
+:100C30007D03121BCA904E71E0FBA3E0FAA3E0F91A
+:100C40001200F9B4022B904E72E475F002120151B9
+:100C5000904E71E0FBA3E0FAA3E0F91200F9FF90D7
+:100C60004E05E0A3E0FAA3E0F5828A831202B08089
+:100C70000280FE904BA5E0FEA3E0FF904C5EE06E8C
+:100C80007003A3E06F6022904E0BE0FBA3E0FAA399
+:100C9000E0F94A60371202AC904BA5E0FFA3E09068
+:100CA0004C5ECFF0A3EFF080CA904C8DE0FFA3E044
+:100CB0006F6019904E0EE0FBA3E0FAA3E0F94A60E2
+:100CC0000B1202AC904C8DE0A3F080DD22E4904E3C
+:100CD00083F0904D9B12027B00000000904D971214
+:100CE000027B00000000E4904E83F0904E83E09081
+:100CF000035493605B904D9BE0F8A3E0F9A3E0FA06
+:100D0000A3E0FBC000C001C002C003904E83E0908E
+:100D1000035493FFD108B3E433D003D002D001D001
+:100D2000004BFFEAFEE9FDE8FC904D9B12026F903C
+:100D30004D9BE0FCA3E0FDA3E0FEA3E0FF780112E1
+:100D4000025C904D9B12026F904E83E004F0809BFA
+:100D5000E4904E83F0904E83E090035493605B9058
+:100D60004D97E0F8A3E0F9A3E0FAA3E0FBC000C0D0
+:100D700001C002C003904E83E090035493FFD1085A
+:100D8000B3E433D003D002D001D0004BFFEAFEE938
+:100D9000FDE8FC904D9712026F904D97E0FCA3E0A8
+:100DA000FDA3E0FEA3E0FF780112025C904D9712D4
+:100DB000026F904E83E004F0809B904D9BE0FCA37B
+:100DC000E0FDA3E0FEA3E0FF904D97E0F8A3E0F97B
+:100DD000A3E0FAA3E0FBC312024B602B904D9BE013
+:100DE000FCA3E0FDA3E0FEA3E0FF904D97E0F8A395
+:100DF000E0A3E0A3E0EF5BFFEE5AFEED59FDEC58F7
+:100E0000FC904D9B12026F227B017A81791CAD0709
+:100E1000E4904E86F0FEEF5407F0EF1313135403E3
+:100E2000FEF582758300120112FD3395E0FC904EB1
+:100E300086E0FF74017E00A807088005C333CE3327
+:100E4000CED8F9FFEE5CFEEF5D4E24FF2221B39079
+:100E50004DE5E0FF22900B7F7401F0E4900B7EF0F3
+:100E600022908091740DF0A304F0A3F0A3F0A3F0FE
+:100E7000A314F022904E87EFF0D1089208904E878D
+:100E8000E0FFA208B39207EFF47002E112EF5407FB
+:100E9000FEEF1313135403FF30074324A3F582E43A
+:100EA0003400F583C083C082E0FD7401A806088089
+:100EB00002C333D8FCF45DD082D083F074A72FF541
+:100EC00082E43400F583C083C082E0FF7401A80689
+:100ED000088002C333D8FC4FD082D083F02274A3A1
+:100EE0002FF582E43400F583C083C082E0FD7401F5
+:100EF000A806088002C333D8FCFC4DD082D083F012
+:100F000074A72FF582E43400F583E0FFECF4FEEFE4
+:100F10005EF022904B9CE0FEA3E0FF904B9AE0B580
+:100F20000607A3E0B50702D322C32211B4904CF602
+:100F3000E004F07006904CF5E004F0F1A31206BE58
+:100F4000904CFDE06018E4904CF5F0A3F0904CFD5F
+:100F5000E014F0E070087F0A1205961206A22290B3
+:100F60004E3FEBF0A3EAF0A3E9F0904E4574FFF595
+:100F7000F012016745F0602A904E42E0FBA3E47551
+:100F8000F001120167A9F0FA1200F9FF904E3FE05C
+:100F9000FBA3E475F001120167A9F0FAEF12013F1B
+:100FA00080C822904CC5E0B40312C3904CF6E09484
+:100FB000F0904CF5E09400402E0206A2904CC5E063
+:100FC000B40112C3904CF6E09478904CF5E0940094
+:100FD00040150206A2C3904CF6E09414904CF5E044
+:100FE000940040031206A222904E28EBF0A3EAF0F0
+:100FF000A3E9F0A3EDF0E4FF904E2BE0FEEFC39EDB
+:101000005023904E28E0FBA3E0FAA3E0F98F82750D
+:101010008300120112FE742C2FF582E4344EF58306
+:10102000EEF00F80D3120379EF601D904CFAE07060
+:1010300017904CC5E0B40310904E28E0FBA3E0FAF3
+:10104000A3E0F9A3E0FD114922900BE77406F090AC
+:101050004E85EDF0E0FD900BE8F07E0B7FE9904EC1
+:1010600060EDF012065C7B017A0B79E7904E85E02B
+:101070002402FD020787E4904E17F0A312027B00C2
+:10108000000000904E1C12027B00000000904E20D9
+:1010900012027B00000000904E2412027B00000030
+:1010A00000904D067480F0A3F0A3F0A3F0A3740F9A
+:1010B000F0E4A3F0A3F0904D7DE0FEA3E0FF904CA0
+:1010C000DCE0FD25E024DDF582E4344CF583EEF030
+:1010D000A3EFF0904D7FE0FEA3E0FFED25E024E3D9
+:1010E000F582E4344CF583EEF0A3EFF0904D81E00F
+:1010F000FEA3E0FFED25E024E9F582E4344CF5831E
+:10110000EEF0A3EFF0904D83E0FEA3E0FFED25E0CD
+:1011100024EFF582E4344CF583EEF0A3EFF0904C2D
+:10112000DCE004F0E0C394034002E4F0E4904E17E6
+:10113000F0904E18E0F8A3E0F9A3E0FAA3E0FB90EA
+:101140004E17E025E024DDF582E4344CF583E0FE23
+:10115000A3E0FFE4FCFDEB2FFFEA3EFEED39FDECE2
+:1011600038FC904E1812026F904E1CE0F8A3E0F984
+:10117000A3E0FAA3E0FB904E17E025E024E3F5821C
+:10118000E4344CF583E0FEA3E0FFE4FCFDEB2FFF2D
+:10119000EA3EFEED39FDEC38FC904E1C12026F90D9
+:1011A0004E20E0F8A3E0F9A3E0FAA3E0FB904E178D
+:1011B000E025E024E9F582E4344CF583E0FEA3E089
+:1011C000FFE4FCFDEB2FFFEA3EFEED39FDEC38FCC1
+:1011D000904E2012026F904E24E0F8A3E0F9A3E0B5
+:1011E000FAA3E0FB904E17E025E024EFF582E4340B
+:1011F0004CF583E0FEA3E0FFE4FCFDEB2FFFEA3EAD
+:10120000FEED39FDEC38FC904E2412026F904E1723
+:10121000E004F0E0640360022131904E18E0FCA38A
+:10122000E0FDA3E0FEA3E0FFE47B03FAF9F812017E
+:10123000B9904E1812026F904E1CE0FCA3E0FDA383
+:10124000E0FEA3E0FFE47B03FAF9F81201B9904E47
+:101250001C12026F904E20E0FCA3E0FDA3E0FEA371
+:10126000E0FFE47B03FAF9F81201B9904E20120274
+:101270006F904E24E0FCA3E0FDA3E0FEA3E0FFE4BA
+:101280007B03FAF9F81201B9904E2412026F904CC8
+:10129000C1E06002C14B7FA07E3EFDFC904E18E095
+:1012A000F8A3E0F9A3E0FAA3E0FBC312024B500855
+:1012B000904D0874FFF0805CE47FA07E7BFDFC9085
+:1012C0004E18E0F8A3E0F9A3E0FAA3E0FBD3120282
+:1012D0004B4007E4904D08F0803A904E18E0FCA394
+:1012E000E0FDA3E0FEA3E02460FFEE34C1FEED3498
+:1012F000FFFDEC34FFFCE47B3EFAF9F81201B9EF94
+:10130000F404904D08F0C394704009E0D3949550D4
+:10131000037480F0E47FA07E3EFDFC904E1CE0F85C
+:10132000A3E0F9A3E0FAA3E0FBC312024B5007E4E9
+:10133000904D09F061CCE47F607E5EFDFC904E1C18
+:10134000E0F8A3E0F9A3E0FAA3E0FBC312024B40EC
+:1013500020E47FA07E60FDFC904E1CE0F8A3E0A39B
+:10136000E0A3E0D312024B5008904D097480F08046
+:101370005BE47FA07E7BFDFC904E1CE0F8A3E0F9CF
+:10138000A3E0FAA3E0FBD312024B4008904D09748E
+:10139000FFF08038904E1CE0FCA3E0FDA3E0FEA32C
+:1013A000E02460FFEE34C1FEED34FFFDEC34FFFCC1
+:1013B000E47B3EFAF9F81201B9904D09EFF0C394BD
+:1013C000704009E0D3949550037480F0E47FA07ED0
+:1013D0003EFDFC904E20E0F8A3E0F9A3E0FAA3E084
+:1013E000FBC312024B5007E4904D06F08184E47F6A
+:1013F000607E5EFDFC904E20E0F8A3E0F9A3E0FAE9
+:10140000A3E0FBC312024B4020E47FA07E60FDFC02
+:10141000904E20E0F8A3E0A3E0A3E0D312024B50EB
+:1014200008904D067480F0805BE47FA07E7BFDFC1D
+:10143000904E20E0F8A3E0F9A3E0FAA3E0FBD3127A
+:10144000024B4008904D0674FFF08038904E20E02B
+:10145000FCA3E0FDA3E0FEA3E02460FFEE34C1FEA8
+:10146000ED34FFFDEC34FFFCE47B3EFAF9F81201A9
+:10147000B9904D06EFF0C394704009E0D3949550B5
+:10148000037480F0E47FA07E3EFDFC904E24E0F8E3
+:10149000A3E0F9A3E0FAA3E0FBC312024B5007E478
+:1014A000904D07F0A13CE47F607E5EFDFC904E24F1
+:1014B000E0F8A3E0F9A3E0FAA3E0FBC312024B407B
+:1014C00020E47FA07E60FDFC904E24E0F8A3E0A322
+:1014D000E0A3E0D312024B5008904D077480F080D7
+:1014E0005BE47FA07E7BFDFC904E24E0F8A3E0F956
+:1014F000A3E0FAA3E0FBD312024B4008904D07741F
+:10150000FFF08038904E24E0FCA3E0FDA3E0FEA3B2
+:10151000E02460FFEE34C1FEED34FFFDEC34FFFC4F
+:10152000E47B3EFAF9F81201B9904D07EFF0C3944D
+:10153000704009E0D3949550037480F0904D9BE087
+:10154000FCA3E0FDA3E0FEA3E0E4FFFEED5402FDFA
+:10155000E4FCED604A904D9BE0FCA3E0FDA3E0FEBF
+:10156000A3E0E4FFEE5480FEE4FDFCEE6008904D45
+:101570000A7405F0E1EB904D9BE0FCA3E0FDA3E0D5
+:10158000FEA3E0E4FFEE5440FEE4FDFCEE600890B4
+:101590004D0A7407F0E1EB904D0A7406F0E1EB9010
+:1015A0004D9BE0FCA3E0FDA3E0FEA3E0E4FFFEED25
+:1015B0005401FDE4FCED604A904D9BE0FCA3E0FD8E
+:1015C000A3E0FEA3E0E4FFEE5480FEE4FDFCEE6049
+:1015D00008904D0A7403F0E1EB904D9BE0FCA3E012
+:1015E000FDA3E0FEA3E0E4FFEE5440FEE4FDFCEECC
+:1015F0006008904D0A7401F0E1EB904D0A7402F01E
+:10160000E1EB904D9BE0FCA3E0FDA3E0FEA3E0E452
+:10161000FFEE5480FEE4FDFCEE6008904D0A740479
+:10162000F0E1EB904D9BE0FCA3E0FDA3E0FEA3E026
+:10163000E4FFEE5440FEE4FDFCEE6007E4904D0A4A
+:10164000F0E1EB904D0A740FF0E1EBE47F507E4E39
+:10165000FDFC904E18E0F8A3E0F9A3E0FAA3E0FB4C
+:10166000C312024B5008904D0874FFF08028E47FAD
+:10167000A07E6BFDFC904E18E0F8A3E0F9A3E0FA21
+:10168000A3E0FBD312024B4007E4904D08F0800624
+:10169000904D087480F0E47F507E4EFDFC904E1C0F
+:1016A000E0F8A3E0F9A3E0FAA3E0FBC312024B5079
+:1016B00007E4904D09F08029E47FA07E6BFDFC904B
+:1016C0004E1CE0F8A3E0F9A3E0FAA3E0FBD312027A
+:1016D0004B4008904D0974FFF08006904D097480CE
+:1016E000F0E47F507E4EFDFC904E20E0F8A3E0F940
+:1016F000A3E0FAA3E0FBC312024B5009904D0AE0AD
+:101700004410F08022E47FA07E6BFDFC904E20E030
+:10171000F8A3E0F9A3E0FAA3E0FBD312024B4007E1
+:10172000904D0AE04440F0E47F507E4EFDFC904E28
+:1017300024E0F8A3E0F9A3E0FAA3E0FBC312024B14
+:101740005009904D0AE04420F08022E47FA07E6B97
+:10175000FDFC904E24E0F8A3E0F9A3E0FAA3E0FB3F
+:10176000D312024B4007904D0AE04480F0904D9B0D
+:10177000E0FCA3E0FDA3E0FEA3E0E4FFFEED5402E5
+:10178000FDE4FCED6007E4904D08F0801F904D9B58
+:10179000E0FCA3E0FDA3E0FEA3E0E4FFFEED5401C6
+:1017A000FDE4FCED6006904D0874FFF0904D9BE069
+:1017B000FCA3E0FDA3E0FEA3E0E4FFEE5480FEE422
+:1017C000FDFCEE6008904D0974FFF0801E904D9B6B
+:1017D000E0FCA3E0FDA3E0FEA3E0E4FFEE5440FE46
+:1017E000E4FDFCEE6005E4904D09F0904D9BE0FCBB
+:1017F000A3E0FDA3E0FEA3E0E4FFEE5408FEE4FD59
+:10180000FCEE6007904D0AE04440F0904D9BE0FCF8
+:10181000A3E0FDA3E0FEA3E0E4FFEE5410FEE4FD30
+:10182000FCEE6007904D0AE04420F0904D9BE0FCF8
+:10183000A3E0FDA3E0FEA3E0E4FFEE5404FEE4FD1C
+:10184000FCEE6007904D0AE04480F0904D9BE0FC78
+:10185000A3E0FDA3E0FEA3E0E4FFEE5420FEE4FDE0
+:10186000FCEE6007904D0AE04410F0904D9BE0FCC8
+:10187000A3E0FDA3E0FEA3E0E4FFEE5402FEE4FDDE
+:10188000FCEE6007904D0BE04401F0904D9BE0FCB6
+:10189000A3E0FDA3E0FEA3E05480FFE4FEFDFCEF27
+:1018A0006007904D0BE04404F0904D9BE0FCA3E0FA
+:1018B000FDA3E0FEA3E0E4FFEE5401FEE4FDFCEE38
+:1018C0006007904D0BE04402F0904D9BE0FCA3E0DC
+:1018D000FDA3E0FEA3E05440FFE4FEFDFCEF600743
+:1018E000904D0BE04408F0904D9BE0FCA3E0FDA37D
+:1018F000E0FEA3E05408FFE4FEFDFCEF6007904D1E
+:101900000BE04440F0904D9BE0FCA3E0FDA3E0FE23
+:10191000A3E05404FFE4FEFDFCEF6007904D0BE0F4
+:101920004480F0904D9BE0FCA3E0FDA3E0FEA3E02B
+:101930005420FFE4FEFDFCEF6007904D0BE04410E7
+:10194000F0904D9BE0FCA3E0FDA3E0FEA3E054106B
+:10195000FFE4FEFDFCEF6007904D0BE04420F090AB
+:101960004D9BE0FCA3E0FDA3E0FEA3E05402FFE4F6
+:10197000FEFDFCEF6007904D0CE04401F0904CC57B
+:10198000E0B40323904D0DE0701D904D0CE0B401C8
+:1019900016904CC1E06004E4F08006904CC17401E4
+:1019A000F0904CBF7402F0904D0CE0A3F0904D0607
+:1019B000E06480701DA3E064807017A3E0B480121F
+:1019C000A3E0B4800DA3E0B40F08A3E06004A3E09B
+:1019D0007007E4904CF5F0A3F0904DE97409F09095
+:1019E0004D06E0904DEAF0904D07E0904DEBF09001
+:1019F0004D08E0904DECF0904D09E0904DEDF090E9
+:101A00004D0AE0904DEEF0904D0BE0904DEFF090D0
+:101A10004D0CE0904DF0F07B017A4D79E97D081294
+:101A20000FE87B017A4D79E97D097C00904E74EBDB
+:101A3000F0A3EAF0A3E9F0ED1DAE0470011C4E60C6
+:101A400016904E74E0FBA3E475F001120167A9F053
+:101A5000FAE412013F80E0227B017A4C79BF7D5786
+:101A60007C00512C7B017A4879007D097C00512C47
+:101A70007B017A4D79E97D097C00512CE4904DE0A1
+:101A8000F0904DE6F0904DE5F0904DD6F0904DD0B1
+:101A9000F0904DDCF0904DE8F0904DD5F0904DD8A1
+:101AA000F0904DE7F0904D38F022515851C6904CCF
+:101AB000FA7401F0904CF7741EF0E4904CFFF09033
+:101AC0004D1574FFF022E4904CDCF0FFEF25E0248C
+:101AD000DDF582E4344CF583745EF0A3F0EF25E08D
+:101AE00024E3F582E4344CF583745EF0A3F0EF2533
+:101AF000E024E9F582E4344CF583745EF0A3F0EF62
+:101B000025E024EFF582E4344CF583745EF0A3F015
+:101B10000FEFB403B722E4FEEF6006145FFF0E8000
+:101B2000F7AF0622904E6EEBF0A3EAF0A3E9F0E4E3
+:101B3000FFEFC39D501B904E6EE0FBA3E0FAA3E0C5
+:101B4000F98F8275830012011260037F00220F80DB
+:101B5000E07F01229080107401F080FE2280F590D9
+:101B60004E7DEDF0900001120112904E7EF0222287
+:101B7000904E66EEF0A3EFF0904E68ECF0A3EDF01F
+:101B8000904E68E0FEA3E0FFD3904E67E09F904E3A
+:101B900066E09E4016904E68E0FEA3E0FF904E6720
+:101BA000E09FFF904E66E09EFE801E904E66E0FE37
+:101BB000A3E0FFC3904E69E09FFF904E68E09EFE59
+:101BC000AD03C3EB9FFFE49EFE22904E7FEEF0A399
+:101BD000EFF0A905904B9EE0FEA3E0FFAD0119EDEB
+:101BE000602F0FEFAC0670010E14F5828C83E0FDC0
+:101BF000904E7FE475F00112016785F082F583ED68
+:101C0000F0AD07AC06BC4BD4BD9AD17E4B7F36807D
+:101C1000CB904B9EEEF0A3EFF022900446E0FF2223
+:101C20009082807401F022904E77EBF0A3EAF0A34B
+:101C3000E9F0ED1DAE0470011C4E6017904E77E088
+:101C4000FBA3E475F001120167A9F0FA74FF120119
+:101C50003F80DF22904E47EBF0A3EAF0A3E9F0E4E7
+:101C6000FF904E4DE0FEEFC39E5030904E4AE0FB99
+:101C7000A3E0FAA3E0F98F82758300120112FE90AF
+:101C80004E47E0FBA3E0FAA3E0F98F8275830012D0
+:101C900001126E60037F00220F80C67F0122EFF4E5
+:101CA000603AEF5407FEEF1313135403FF24A3F518
+:101CB00082E43400F583C083C082E0FD7401A8068D
+:101CC000088002C333D8FCF4FC5DD082D083F0746A
+:101CD000A72FF582E43400F583E05CF022E4FFEF07
+:101CE000FD7C002478FBEC34808B82F583E0FEEDF4
+:101CF0002470FDEC34808D82F583E04EF4FEEF24F9
+:101D00007CFDEC34808D82F583EEF00FEFB404CFD0
+:011D100022B0
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/fwram.rom	(revision 441)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/fwram.rom	(working copy)
@@ -702,7 +702,7 @@
 f9
 02
 0e
-3f
+4d
 e4
 93
 a3
@@ -839,16 +839,16 @@
 00
 ff
 0f
-1d
+2b
 ff
 0a
-df
+ed
 00
 00
 00
 ff
 1b
-4a
+5f
 00
 0c
 0e
@@ -1142,10 +1142,10 @@
 95
 12
 09
-ea
+f8
 12
 1a
-95
+aa
 7b
 01
 7a
@@ -1215,7 +1215,7 @@
 1a
 12
 0c
-bf
+cd
 90
 4d
 9b
@@ -1244,10 +1244,10 @@
 19
 12
 0e
-53
+61
 12
 09
-f0
+fe
 e4
 90
 4d
@@ -1597,7 +1597,7 @@
 f0
 12
 0b
-f0
+fe
 90
 4e
 63
@@ -1698,7 +1698,7 @@
 22
 12
 09
-99
+a7
 90
 4b
 ef
@@ -1974,7 +1974,7 @@
 64
 12
 1b
-5b
+70
 90
 4e
 58
@@ -2081,13 +2081,20 @@
 bf
 e0
 60
-36
+44
 c2
 01
 7f
 ff
 11
-5b
+69
+90
+4c
+bf
+e0
+b4
+01
+10
 7b
 01
 7a
@@ -2103,7 +2110,14 @@
 7e
 3f
 11
-eb
+f9
+90
+4c
+bf
+e0
+b4
+02
+10
 7b
 01
 7a
@@ -2119,13 +2133,13 @@
 7e
 3f
 11
-eb
+f9
 d2
 01
 7f
 ff
 11
-5b
+69
 7f
 0a
 12
@@ -2152,7 +2166,7 @@
 92
 00
 51
-6d
+7b
 22
 ac
 07
@@ -2165,7 +2179,7 @@
 d2
 04
 51
-5c
+6a
 af
 04
 a2
@@ -2173,13 +2187,13 @@
 92
 01
 11
-5b
+69
 af
 04
 c2
 02
 51
-2d
+3b
 22
 90
 4d
@@ -2193,7 +2207,7 @@
 7f
 04
 11
-6c
+7a
 c2
 06
 7f
@@ -2205,7 +2219,7 @@
 7f
 04
 11
-6c
+7a
 d2
 06
 7f
@@ -2236,7 +2250,7 @@
 7f
 03
 11
-d0
+de
 c2
 06
 7f
@@ -2246,13 +2260,13 @@
 7f
 04
 11
-d0
+de
 c2
 06
 7f
 03
 11
-6c
+7a
 22
 90
 4e
@@ -2266,7 +2280,7 @@
 79
 74
 d1
-00
+0e
 92
 09
 90
@@ -2280,7 +2294,7 @@
 92
 01
 01
-5b
+69
 90
 4e
 36
@@ -2315,7 +2329,7 @@
 70
 02
 21
-98
+a6
 90
 4e
 36
@@ -2417,7 +2431,7 @@
 e0
 f9
 71
-58
+66
 7f
 0a
 12
@@ -2453,30 +2467,30 @@
 3e
 f0
 21
-02
+10
 22
 c2
 06
 7f
 04
 11
-6c
+7a
 c2
 06
 7f
 03
 01
-6c
+7a
 51
-0e
-71
-f8
+1c
+91
+06
 71
-0f
+1d
 11
 1e
 d1
-41
+4f
 90
 0b
 7e
@@ -2489,11 +2503,11 @@
 70
 ed
 31
-db
+e9
 31
-99
+a7
 31
-dc
+ea
 80
 fe
 90
@@ -2509,13 +2523,13 @@
 60
 04
 d1
-47
+55
 80
 d5
 31
-db
+e9
 31
-dc
+ea
 80
 cf
 80
@@ -2537,9 +2551,9 @@
 05
 96
 d1
-53
+61
 31
-f0
+fe
 80
 a9
 e4
@@ -2562,7 +2576,7 @@
 c2
 05
 51
-3e
+4c
 90
 4e
 82
@@ -2596,13 +2610,13 @@
 7f
 04
 11
-6c
+7a
 c2
 06
 7f
 03
 01
-6c
+7a
 ef
 f4
 60
@@ -2618,7 +2632,7 @@
 92
 00
 51
-6d
+7b
 22
 ac
 07
@@ -2633,7 +2647,7 @@
 92
 03
 51
-ce
+dc
 af
 04
 a2
@@ -2642,13 +2656,13 @@
 92
 02
 51
-2d
+3b
 af
 04
 c2
 04
 51
-5c
+6a
 22
 ef
 f4
@@ -2665,7 +2679,7 @@
 92
 00
 51
-6d
+7b
 22
 90
 4e
@@ -2779,7 +2793,7 @@
 92
 00
 51
-6d
+7b
 22
 90
 4c
@@ -2810,7 +2824,7 @@
 70
 13
 11
-87
+95
 90
 4c
 f7
@@ -2818,7 +2832,7 @@
 70
 02
 51
-21
+2f
 90
 4d
 e0
@@ -2830,7 +2844,7 @@
 f0
 22
 f1
-05
+13
 50
 44
 90
@@ -2871,7 +2885,7 @@
 a3
 f0
 91
-bf
+cd
 90
 4d
 52
@@ -2900,7 +2914,7 @@
 f0
 12
 10
-68
+76
 22
 90
 4e
@@ -2961,7 +2975,7 @@
 79
 86
 f1
-51
+5f
 90
 0b
 83
@@ -3108,7 +3122,7 @@
 03
 12
 1b
-b5
+ca
 90
 4e
 71
@@ -3332,8 +3346,8 @@
 54
 93
 ff
-b1
-fa
+d1
+08
 b3
 e4
 33
@@ -3438,8 +3452,8 @@
 54
 93
 ff
-b1
-fa
+d1
+08
 b3
 e4
 33
@@ -3646,7 +3660,7 @@
 ff
 22
 21
-a5
+b3
 90
 4d
 e5
@@ -3689,8 +3703,8 @@
 87
 ef
 f0
-b1
-fa
+d1
+08
 92
 08
 90
@@ -3708,7 +3722,7 @@
 70
 02
 e1
-04
+12
 ef
 54
 07
@@ -3868,7 +3882,7 @@
 c3
 22
 11
-a6
+b4
 90
 4c
 f6
@@ -3884,7 +3898,7 @@
 04
 f0
 f1
-95
+a3
 12
 06
 be
@@ -4151,7 +4165,7 @@
 e0
 fd
 11
-3b
+49
 22
 90
 0b
@@ -4617,7 +4631,7 @@
 60
 02
 21
-23
+31
 90
 4e
 18
@@ -4741,7 +4755,7 @@
 60
 02
 c1
-3d
+4b
 7f
 a0
 7e
@@ -4901,7 +4915,7 @@
 09
 f0
 61
-be
+cc
 e4
 7f
 60
@@ -5085,7 +5099,7 @@
 06
 f0
 81
-76
+84
 e4
 7f
 60
@@ -5269,7 +5283,7 @@
 07
 f0
 a1
-2e
+3c
 e4
 7f
 60
@@ -5477,7 +5491,7 @@
 05
 f0
 e1
-dd
+eb
 90
 4d
 9b
@@ -5510,7 +5524,7 @@
 07
 f0
 e1
-dd
+eb
 90
 4d
 0a
@@ -5518,7 +5532,7 @@
 06
 f0
 e1
-dd
+eb
 90
 4d
 9b
@@ -5576,7 +5590,7 @@
 03
 f0
 e1
-dd
+eb
 90
 4d
 9b
@@ -5609,7 +5623,7 @@
 01
 f0
 e1
-dd
+eb
 90
 4d
 0a
@@ -5617,7 +5631,7 @@
 02
 f0
 e1
-dd
+eb
 90
 4d
 9b
@@ -5650,7 +5664,7 @@
 04
 f0
 e1
-dd
+eb
 90
 4d
 9b
@@ -5682,7 +5696,7 @@
 0a
 f0
 e1
-dd
+eb
 90
 4d
 0a
@@ -5690,7 +5704,7 @@
 0f
 f0
 e1
-dd
+eb
 e4
 7f
 50
@@ -6510,6 +6524,13 @@
 01
 f0
 90
+4c
+c5
+e0
+b4
+03
+23
+90
 4d
 0d
 e0
@@ -6542,7 +6563,7 @@
 4c
 bf
 74
-01
+02
 f0
 90
 4d
@@ -6666,7 +6687,7 @@
 08
 12
 0f
-da
+e8
 7b
 01
 7a
@@ -6732,7 +6753,7 @@
 7c
 00
 51
-17
+2c
 7b
 01
 7a
@@ -6744,7 +6765,7 @@
 7c
 00
 51
-17
+2c
 7b
 01
 7a
@@ -6756,7 +6777,7 @@
 7c
 00
 51
-17
+2c
 e4
 90
 4d
@@ -6804,9 +6825,9 @@
 f0
 22
 51
-43
+58
 51
-b1
+c6
 90
 4c
 fa
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
Index: c51/sys.c
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/sys.c	(revision 441)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/sys.c	(working copy)
@@ -166,7 +166,7 @@
 			if(m_24g_paring_addr[0] != 0x1f || m_24g_paring_addr[1] != 0x1f ||
 				m_24g_paring_addr[2] != 0x1f || m_24g_paring_addr[3] != 0x1f)
 				{
-					g_variable.update_eeprom_flag = 1;
+					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_ADDR;
 					YC_update_eeprom_data();
 					YC_key_action_handle(KEY_START_24G);
 				}
