Index: c51/kb_process.c
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/kb_process.c	(revision 442)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/kb_process.c	(working copy)
@@ -143,7 +143,8 @@
 	adc_gamepad_value3 = adc_gamepad_value3/BAT_ARRAY_LEN;
 
 
-	if(g_variable.system_mode == 0)
+//	if(g_variable.system_mode == 0)
+	if(0)
 	{
 		if(adc_gamepad_value0 < 0x3ea0)
 			g_variable.gamepad_x = 0xff;
@@ -315,6 +316,7 @@
 		g_variable.gamepad_key1 |= 0x01;	
 	}
 
+/*
 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
 	{
 		if((g_variable.gamepad_key1_last == 0) && (g_variable.gamepad_key1 == 1))
@@ -328,6 +330,7 @@
 	}
 	g_variable.gamepad_key1_last = g_variable.gamepad_key1;
 
+*/
 
 	if(g_variable.gamepad_z != 0x80 || g_variable.gamepad_rz != 0x80 || g_variable.gamepad_x != 0x80 || g_variable.gamepad_y != 0x80
 	|| g_variable.gamepad_hatswitch != 0x0f || !g_variable.gamepad_key0 || !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 442)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               06/06/2022  12:00:13  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               06/20/2022  16:44:31  PAGE 1
 
 
 
@@ -288,7 +288,7 @@
   115: 		System_Hardware_init();
 000476 1209F8            LCALL   System_Hardware_init
   116: 		System_Software_init();
-000479 121AAA            LCALL   System_Software_init
+000479 121A52            LCALL   System_Software_init
   117: 		
   118: 		IIC_Read(EEPROM_RECON_INFO_BASE_6,4 , (byte *)m_24g_addr);
 00047C 7B01              MOV     R3,#01H
@@ -1034,7 +1034,7 @@
 0007B2 E0                MOVX    A,@DPTR
 0007B3 FD                MOV     R5,A
 0007B4 7B64              MOV     R3,#064H
-0007B6 121B70            LCALL   _bufsize
+0007B6 121B18            LCALL   _bufsize
 0007B9 904E58            MOV     DPTR,#len
 0007BC E0                MOVX    A,@DPTR
 0007BD FE                MOV     R6,A
@@ -1898,124 +1898,124 @@
 
 ----- FUNCTION kb_need_keyscan (BEGIN) -----
  FILE: 'kb_process.c'
-  349: void kb_need_keyscan()
-  350: {
-  351: 	if (!IPC_IsTxBuffEmpty())
-  352: 		return;
+  352: void kb_need_keyscan()
+  353: {
+  354: 	if (!IPC_IsTxBuffEmpty())
+  355: 		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)
+000B1F 5044              JNC     ?C0103?KB_PROCESS
+000B21         ?C0102?KB_PROCESS:
+  356: 
+  357: 	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;
+000B25 B4010E            CJNE    A,#01H,?C0104?KB_PROCESS
+  358: 	{
+  359: 		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;
+  360: 		m_24g_enter_hibernate[1]	= 0xff;
 000B2E A3                INC     DPTR
 000B2F F0                MOVX    @DPTR,A
-  358: 		m_24g_enter_hibernate[2]	= 0xff;
+  361: 		m_24g_enter_hibernate[2]	= 0xff;
 000B30 A3                INC     DPTR
 000B31 F0                MOVX    @DPTR,A
-  359: 		m_24g_enter_hibernate[3]	= 0xff;
+  362: 		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;
+  363: 	}
+000B34 8010              SJMP    ?C0105?KB_PROCESS
+000B36         ?C0104?KB_PROCESS:
+  364: 	else
+  365: 	{
+  366: 		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;
+  367: 		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;
+  368: 		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;
+  369: 		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();
+  370: 	}
+000B46         ?C0105?KB_PROCESS:
+  371: 
+  372: 	KS_ScanMatrix();
 000B46 91CD              ACALL   KS_ScanMatrix
-  370: 		
-  371: 	if(m_customize_timer_last != m_customize_timer)
+  373: 		
+  374: 	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;
+000B52 6011              JZ      ?C0103?KB_PROCESS
+  375: 	{
+  376: 		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;
+  377: 		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();
+  378: 	#ifndef MOUSE_TEST
+  379: 		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:
+  380: 	#else		
+  381: 		g_variable.sensor_x_l = 0;
+  382: 		g_variable.sensor_x_h = 0;
+  383: 		g_variable.sensor_y_l = 0;
+  384: 		g_variable.sensor_y_h = 0;
+  385: 		g_variable.sensor_wheel = 0;
+  386: 		g_variable.sensor_titl = 0;	
+  387: 
+  388: 		g_variable.test_buff++;
+  389: 		if(g_variable.test_buff <= 50)
+  390: 		{
+  391: 			g_variable.sensor_x_l = 0x0a;
+  392: 		}
+  393: 		else if(g_variable.test_buff <= 100)
+  394: 		{
+  395: 			g_variable.sensor_y_l = 0x0a;
+  396: 		}
+  397: 		else if(g_variable.test_buff <= 150)
+  398: 		{
+  399: 			g_variable.sensor_x_l = 0xf6;
+  400: 			g_variable.sensor_x_h = 0xff;
+  401: 		}
+  402: 		else if(g_variable.test_buff <= 200)
+  403: 		{
+  404: 			g_variable.sensor_y_l = 0xf6;
+  405: 			g_variable.sensor_y_h = 0xff;
+  406: 		}
+  407: 		else
+  408: 			g_variable.test_buff = 0;
+  409: 
+  410: 		multikey[0] = HID_REPORTID_3;
+  411: 		multikey[1] = g_variable.sensor_key;
+  412: 		multikey[2] = g_variable.sensor_x_l;
+  413: 		multikey[3] = g_variable.sensor_x_h;
+  414: 		multikey[4] = g_variable.sensor_y_l;
+  415: 		multikey[5] = g_variable.sensor_y_h;
+  416: 		multikey[6] = g_variable.sensor_wheel;
+  417: 		multikey[7] = g_variable.sensor_titl;
+  418: 		IPC_TxHidData(multikey, 8);
+  419: 		xmemclear(multikey,9);
+  420: 	#endif	
+  421: 	}
+  422: }
+000B65         ?C0103?KB_PROCESS:
 000B65 22                RET     
 ----- FUNCTION kb_need_keyscan (END) -------
 
@@ -2177,7 +2177,7 @@
 000C2C 7E0C              MOV     R6,#HIGH ipcReadBuff
 000C2E 7F4B              MOV     R7,#LOW ipcReadBuff
 000C30 7D03              MOV     R5,#03H
-000C32 121BCA            LCALL   _ipcRx
+000C32 121B72            LCALL   _ipcRx
 000C35 904E71            MOV     DPTR,#pbuff
 000C38 E0                MOVX    A,@DPTR
 000C39 FB                MOV     R3,A
@@ -3589,828 +3589,837 @@
 00128B 12026F            LCALL   ?C?LSTXDATA
   144: 
   145: 
-  146: 	if(g_variable.system_mode == 0)
-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)
-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;
-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)
-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;
-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);
-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
+  146: //	if(g_variable.system_mode == 0)
+  147: 	if(0)
+00128E C123              AJMP    ?C0022?KB_PROCESS
+  148: 	{
+  149: 		if(adc_gamepad_value0 < 0x3ea0)
+  150: 			g_variable.gamepad_x = 0xff;
+001290         ?C0023?KB_PROCESS:
+  151: 		else if(adc_gamepad_value0 > 0x7ba0)
+001290 E4                CLR     A
+001291 7FA0              MOV     R7,#0A0H
+001293 7E7B              MOV     R6,#07BH
+001295 FD                MOV     R5,A
+001296 FC                MOV     R4,A
+001297 904E18            MOV     DPTR,#adc_gamepad_value0
+00129A E0                MOVX    A,@DPTR
+00129B F8                MOV     R0,A
+00129C A3                INC     DPTR
+00129D E0                MOVX    A,@DPTR
+00129E F9                MOV     R1,A
+00129F A3                INC     DPTR
+0012A0 E0                MOVX    A,@DPTR
+0012A1 FA                MOV     R2,A
+0012A2 A3                INC     DPTR
+0012A3 E0                MOVX    A,@DPTR
+0012A4 FB                MOV     R3,A
+0012A5 D3                SETB    C
+0012A6 12024B            LCALL   ?C?ULCMP
+0012A9 4007              JC      ?C0025?KB_PROCESS
+  152: 			g_variable.gamepad_x = 0x00;
+0012AB E4                CLR     A
+0012AC 904D08            MOV     DPTR,#g_variable+049H
+0012AF F0                MOVX    @DPTR,A
+0012B0 803A              SJMP    ?C0024?KB_PROCESS
+0012B2         ?C0025?KB_PROCESS:
+  153: 		else
+  154: 		{
+  155: 			g_variable.gamepad_x = 0 - (byte)((adc_gamepad_value0 - 0x3ea0)/62);
+0012B2 904E18            MOV     DPTR,#adc_gamepad_value0
+0012B5 E0                MOVX    A,@DPTR
+0012B6 FC                MOV     R4,A
+0012B7 A3                INC     DPTR
+0012B8 E0                MOVX    A,@DPTR
+0012B9 FD                MOV     R5,A
+0012BA A3                INC     DPTR
+0012BB E0                MOVX    A,@DPTR
+0012BC FE                MOV     R6,A
+0012BD A3                INC     DPTR
+0012BE E0                MOVX    A,@DPTR
+0012BF 2460              ADD     A,#060H
+0012C1 FF                MOV     R7,A
+0012C2 EE                MOV     A,R6
+0012C3 34C1              ADDC    A,#0C1H
+0012C5 FE                MOV     R6,A
+0012C6 ED                MOV     A,R5
+0012C7 34FF              ADDC    A,#0FFH
+0012C9 FD                MOV     R5,A
+0012CA EC                MOV     A,R4
+0012CB 34FF              ADDC    A,#0FFH
+0012CD FC                MOV     R4,A
+0012CE E4                CLR     A
+0012CF 7B3E              MOV     R3,#03EH
+0012D1 FA                MOV     R2,A
+0012D2 F9                MOV     R1,A
+0012D3 F8                MOV     R0,A
+0012D4 1201B9            LCALL   ?C?ULDIV
+0012D7 EF                MOV     A,R7
+0012D8 F4                CPL     A
+0012D9 04                INC     A
+0012DA 904D08            MOV     DPTR,#g_variable+049H
+0012DD F0                MOVX    @DPTR,A
+  156: 			if(g_variable.gamepad_x >= 0x70 && g_variable.gamepad_x <= 0x95)
+0012DE C3                CLR     C
+0012DF 9470              SUBB    A,#070H
+0012E1 4009              JC      ?C0024?KB_PROCESS
 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
+0012E4 D3                SETB    C
+0012E5 9495              SUBB    A,#095H
+0012E7 5003              JNC     ?C0024?KB_PROCESS
+  157: 				g_variable.gamepad_x = 0x80;
+0012E9 7480              MOV     A,#080H
+0012EB F0                MOVX    @DPTR,A
+  158: 		}
+0012EC         ?C0024?KB_PROCESS:
+  159: 
+  160: 		if(adc_gamepad_value1 < 0x3ea0)
+0012EC E4                CLR     A
+0012ED 7FA0              MOV     R7,#0A0H
+0012EF 7E3E              MOV     R6,#03EH
 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
+0012F2 FC                MOV     R4,A
+0012F3 904E1C            MOV     DPTR,#adc_gamepad_value1
+0012F6 E0                MOVX    A,@DPTR
+0012F7 F8                MOV     R0,A
+0012F8 A3                INC     DPTR
+0012F9 E0                MOVX    A,@DPTR
 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)
-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;
-001311 7480              MOV     A,#080H
-001313 F0                MOVX    @DPTR,A
-  157: 		}
-001314         ?C0024?KB_PROCESS:
-  158: 
-  159: 		if(adc_gamepad_value1 < 0x3ea0)
-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
+0012FB A3                INC     DPTR
+0012FC E0                MOVX    A,@DPTR
+0012FD FA                MOV     R2,A
+0012FE A3                INC     DPTR
+0012FF E0                MOVX    A,@DPTR
+001300 FB                MOV     R3,A
+001301 C3                CLR     C
+001302 12024B            LCALL   ?C?ULCMP
+001305 5007              JNC     ?C0028?KB_PROCESS
+  161: 			g_variable.gamepad_y = 0x00;
+001307 E4                CLR     A
+001308 904D09            MOV     DPTR,#g_variable+04AH
+00130B F0                MOVX    @DPTR,A
+00130C 61A4              AJMP    ?C0029?KB_PROCESS
+00130E         ?C0028?KB_PROCESS:
+  162: 		else if(adc_gamepad_value1 >= 0x5e60 && adc_gamepad_value1 <= 0x60a0)
+00130E E4                CLR     A
+00130F 7F60              MOV     R7,#060H
+001311 7E5E              MOV     R6,#05EH
+001313 FD                MOV     R5,A
+001314 FC                MOV     R4,A
+001315 904E1C            MOV     DPTR,#adc_gamepad_value1
+001318 E0                MOVX    A,@DPTR
+001319 F8                MOV     R0,A
+00131A A3                INC     DPTR
+00131B E0                MOVX    A,@DPTR
+00131C F9                MOV     R1,A
+00131D A3                INC     DPTR
 00131E E0                MOVX    A,@DPTR
-00131F F8                MOV     R0,A
+00131F FA                MOV     R2,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;
-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)
-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;
-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)
-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;
-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);
-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)
-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;
-0013C9 7480              MOV     A,#080H
-0013CB F0                MOVX    @DPTR,A
-  170: 		}
-0013CC         ?C0029?KB_PROCESS:
-  171: 
-  172: 		if(adc_gamepad_value2 < 0x3ea0)
-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
+001322 FB                MOV     R3,A
+001323 C3                CLR     C
+001324 12024B            LCALL   ?C?ULCMP
+001327 4020              JC      ?C0030?KB_PROCESS
+001329 E4                CLR     A
+00132A 7FA0              MOV     R7,#0A0H
+00132C 7E60              MOV     R6,#060H
+00132E FD                MOV     R5,A
+00132F FC                MOV     R4,A
+001330 904E1C            MOV     DPTR,#adc_gamepad_value1
+001333 E0                MOVX    A,@DPTR
+001334 F8                MOV     R0,A
+001335 A3                INC     DPTR
+001336 E0                MOVX    A,@DPTR
+001337 A3                INC     DPTR
+001338 E0                MOVX    A,@DPTR
+001339 A3                INC     DPTR
+00133A E0                MOVX    A,@DPTR
+00133B D3                SETB    C
+00133C 12024B            LCALL   ?C?ULCMP
+00133F 5008              JNC     ?C0030?KB_PROCESS
+  163: 			g_variable.gamepad_y = 0x80;
+001341 904D09            MOV     DPTR,#g_variable+04AH
+001344 7480              MOV     A,#080H
+001346 F0                MOVX    @DPTR,A
+001347 805B              SJMP    ?C0029?KB_PROCESS
+001349         ?C0030?KB_PROCESS:
+  164: 		else if(adc_gamepad_value1 > 0x7ba0)
+001349 E4                CLR     A
+00134A 7FA0              MOV     R7,#0A0H
+00134C 7E7B              MOV     R6,#07BH
+00134E FD                MOV     R5,A
+00134F FC                MOV     R4,A
+001350 904E1C            MOV     DPTR,#adc_gamepad_value1
+001353 E0                MOVX    A,@DPTR
+001354 F8                MOV     R0,A
+001355 A3                INC     DPTR
+001356 E0                MOVX    A,@DPTR
+001357 F9                MOV     R1,A
+001358 A3                INC     DPTR
+001359 E0                MOVX    A,@DPTR
+00135A FA                MOV     R2,A
+00135B A3                INC     DPTR
+00135C E0                MOVX    A,@DPTR
+00135D FB                MOV     R3,A
+00135E D3                SETB    C
+00135F 12024B            LCALL   ?C?ULCMP
+001362 4008              JC      ?C0032?KB_PROCESS
+  165: 			g_variable.gamepad_y = 0xff;
+001364 904D09            MOV     DPTR,#g_variable+04AH
+001367 74FF              MOV     A,#0FFH
+001369 F0                MOVX    @DPTR,A
+00136A 8038              SJMP    ?C0029?KB_PROCESS
+00136C         ?C0032?KB_PROCESS:
+  166: 		else
+  167: 		{
+  168: 			g_variable.gamepad_y = (byte)((adc_gamepad_value1 - 0x3ea0)/62);
+00136C 904E1C            MOV     DPTR,#adc_gamepad_value1
+00136F E0                MOVX    A,@DPTR
+001370 FC                MOV     R4,A
+001371 A3                INC     DPTR
+001372 E0                MOVX    A,@DPTR
+001373 FD                MOV     R5,A
+001374 A3                INC     DPTR
+001375 E0                MOVX    A,@DPTR
+001376 FE                MOV     R6,A
+001377 A3                INC     DPTR
+001378 E0                MOVX    A,@DPTR
+001379 2460              ADD     A,#060H
+00137B FF                MOV     R7,A
+00137C EE                MOV     A,R6
+00137D 34C1              ADDC    A,#0C1H
+00137F FE                MOV     R6,A
+001380 ED                MOV     A,R5
+001381 34FF              ADDC    A,#0FFH
+001383 FD                MOV     R5,A
+001384 EC                MOV     A,R4
+001385 34FF              ADDC    A,#0FFH
+001387 FC                MOV     R4,A
+001388 E4                CLR     A
+001389 7B3E              MOV     R3,#03EH
+00138B FA                MOV     R2,A
+00138C F9                MOV     R1,A
+00138D F8                MOV     R0,A
+00138E 1201B9            LCALL   ?C?ULDIV
+001391 904D09            MOV     DPTR,#g_variable+04AH
+001394 EF                MOV     A,R7
+001395 F0                MOVX    @DPTR,A
+  169: 			if(g_variable.gamepad_y >= 0x70 && g_variable.gamepad_y <= 0x95)
+001396 C3                CLR     C
+001397 9470              SUBB    A,#070H
+001399 4009              JC      ?C0029?KB_PROCESS
+00139B E0                MOVX    A,@DPTR
+00139C D3                SETB    C
+00139D 9495              SUBB    A,#095H
+00139F 5003              JNC     ?C0029?KB_PROCESS
+  170: 				g_variable.gamepad_y = 0x80;
+0013A1 7480              MOV     A,#080H
+0013A3 F0                MOVX    @DPTR,A
+  171: 		}
+0013A4         ?C0029?KB_PROCESS:
+  172: 
+  173: 		if(adc_gamepad_value2 < 0x3ea0)
+0013A4 E4                CLR     A
+0013A5 7FA0              MOV     R7,#0A0H
+0013A7 7E3E              MOV     R6,#03EH
+0013A9 FD                MOV     R5,A
+0013AA FC                MOV     R4,A
+0013AB 904E20            MOV     DPTR,#adc_gamepad_value2
+0013AE E0                MOVX    A,@DPTR
+0013AF F8                MOV     R0,A
+0013B0 A3                INC     DPTR
+0013B1 E0                MOVX    A,@DPTR
+0013B2 F9                MOV     R1,A
+0013B3 A3                INC     DPTR
+0013B4 E0                MOVX    A,@DPTR
+0013B5 FA                MOV     R2,A
+0013B6 A3                INC     DPTR
+0013B7 E0                MOVX    A,@DPTR
+0013B8 FB                MOV     R3,A
+0013B9 C3                CLR     C
+0013BA 12024B            LCALL   ?C?ULCMP
+0013BD 5007              JNC     ?C0035?KB_PROCESS
+  174: 			g_variable.gamepad_z = 0x00;
+0013BF E4                CLR     A
+0013C0 904D06            MOV     DPTR,#g_variable+047H
+0013C3 F0                MOVX    @DPTR,A
+0013C4 815C              AJMP    ?C0036?KB_PROCESS
+0013C6         ?C0035?KB_PROCESS:
+  175: 		else if(adc_gamepad_value2 >= 0x5e60 && adc_gamepad_value2 <= 0x60a0)
+0013C6 E4                CLR     A
+0013C7 7F60              MOV     R7,#060H
+0013C9 7E5E              MOV     R6,#05EH
+0013CB FD                MOV     R5,A
+0013CC FC                MOV     R4,A
+0013CD 904E20            MOV     DPTR,#adc_gamepad_value2
+0013D0 E0                MOVX    A,@DPTR
+0013D1 F8                MOV     R0,A
+0013D2 A3                INC     DPTR
+0013D3 E0                MOVX    A,@DPTR
+0013D4 F9                MOV     R1,A
+0013D5 A3                INC     DPTR
 0013D6 E0                MOVX    A,@DPTR
-0013D7 F8                MOV     R0,A
+0013D7 FA                MOV     R2,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;
-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)
-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;	
-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)
-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;
-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);
-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)
-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;
-001481 7480              MOV     A,#080H
-001483 F0                MOVX    @DPTR,A
-  183: 		}
-001484         ?C0036?KB_PROCESS:
-  184: 
-  185: 		if(adc_gamepad_value3 < 0x3ea0)
-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
+0013DA FB                MOV     R3,A
+0013DB C3                CLR     C
+0013DC 12024B            LCALL   ?C?ULCMP
+0013DF 4020              JC      ?C0037?KB_PROCESS
+0013E1 E4                CLR     A
+0013E2 7FA0              MOV     R7,#0A0H
+0013E4 7E60              MOV     R6,#060H
+0013E6 FD                MOV     R5,A
+0013E7 FC                MOV     R4,A
+0013E8 904E20            MOV     DPTR,#adc_gamepad_value2
+0013EB E0                MOVX    A,@DPTR
+0013EC F8                MOV     R0,A
+0013ED A3                INC     DPTR
+0013EE E0                MOVX    A,@DPTR
+0013EF A3                INC     DPTR
+0013F0 E0                MOVX    A,@DPTR
+0013F1 A3                INC     DPTR
+0013F2 E0                MOVX    A,@DPTR
+0013F3 D3                SETB    C
+0013F4 12024B            LCALL   ?C?ULCMP
+0013F7 5008              JNC     ?C0037?KB_PROCESS
+  176: 			g_variable.gamepad_z = 0x80;	
+0013F9 904D06            MOV     DPTR,#g_variable+047H
+0013FC 7480              MOV     A,#080H
+0013FE F0                MOVX    @DPTR,A
+0013FF 805B              SJMP    ?C0036?KB_PROCESS
+001401         ?C0037?KB_PROCESS:
+  177: 		else if(adc_gamepad_value2 > 0x7ba0)
+001401 E4                CLR     A
+001402 7FA0              MOV     R7,#0A0H
+001404 7E7B              MOV     R6,#07BH
+001406 FD                MOV     R5,A
+001407 FC                MOV     R4,A
+001408 904E20            MOV     DPTR,#adc_gamepad_value2
+00140B E0                MOVX    A,@DPTR
+00140C F8                MOV     R0,A
+00140D A3                INC     DPTR
+00140E E0                MOVX    A,@DPTR
+00140F F9                MOV     R1,A
+001410 A3                INC     DPTR
+001411 E0                MOVX    A,@DPTR
+001412 FA                MOV     R2,A
+001413 A3                INC     DPTR
+001414 E0                MOVX    A,@DPTR
+001415 FB                MOV     R3,A
+001416 D3                SETB    C
+001417 12024B            LCALL   ?C?ULCMP
+00141A 4008              JC      ?C0039?KB_PROCESS
+  178: 			g_variable.gamepad_z = 0xff;
+00141C 904D06            MOV     DPTR,#g_variable+047H
+00141F 74FF              MOV     A,#0FFH
+001421 F0                MOVX    @DPTR,A
+001422 8038              SJMP    ?C0036?KB_PROCESS
+001424         ?C0039?KB_PROCESS:
+  179: 		else
+  180: 		{
+  181: 			g_variable.gamepad_z = (byte)((adc_gamepad_value2 - 0x3ea0)/62);
+001424 904E20            MOV     DPTR,#adc_gamepad_value2
+001427 E0                MOVX    A,@DPTR
+001428 FC                MOV     R4,A
+001429 A3                INC     DPTR
+00142A E0                MOVX    A,@DPTR
+00142B FD                MOV     R5,A
+00142C A3                INC     DPTR
+00142D E0                MOVX    A,@DPTR
+00142E FE                MOV     R6,A
+00142F A3                INC     DPTR
+001430 E0                MOVX    A,@DPTR
+001431 2460              ADD     A,#060H
+001433 FF                MOV     R7,A
+001434 EE                MOV     A,R6
+001435 34C1              ADDC    A,#0C1H
+001437 FE                MOV     R6,A
+001438 ED                MOV     A,R5
+001439 34FF              ADDC    A,#0FFH
+00143B FD                MOV     R5,A
+00143C EC                MOV     A,R4
+00143D 34FF              ADDC    A,#0FFH
+00143F FC                MOV     R4,A
+001440 E4                CLR     A
+001441 7B3E              MOV     R3,#03EH
+001443 FA                MOV     R2,A
+001444 F9                MOV     R1,A
+001445 F8                MOV     R0,A
+001446 1201B9            LCALL   ?C?ULDIV
+001449 904D06            MOV     DPTR,#g_variable+047H
+00144C EF                MOV     A,R7
+00144D F0                MOVX    @DPTR,A
+  182: 			if(g_variable.gamepad_z >= 0x70 && g_variable.gamepad_z <= 0x95)
+00144E C3                CLR     C
+00144F 9470              SUBB    A,#070H
+001451 4009              JC      ?C0036?KB_PROCESS
+001453 E0                MOVX    A,@DPTR
+001454 D3                SETB    C
+001455 9495              SUBB    A,#095H
+001457 5003              JNC     ?C0036?KB_PROCESS
+  183: 				g_variable.gamepad_z = 0x80;
+001459 7480              MOV     A,#080H
+00145B F0                MOVX    @DPTR,A
+  184: 		}
+00145C         ?C0036?KB_PROCESS:
+  185: 
+  186: 		if(adc_gamepad_value3 < 0x3ea0)
+00145C E4                CLR     A
+00145D 7FA0              MOV     R7,#0A0H
+00145F 7E3E              MOV     R6,#03EH
+001461 FD                MOV     R5,A
+001462 FC                MOV     R4,A
+001463 904E24            MOV     DPTR,#adc_gamepad_value3
+001466 E0                MOVX    A,@DPTR
+001467 F8                MOV     R0,A
+001468 A3                INC     DPTR
+001469 E0                MOVX    A,@DPTR
+00146A F9                MOV     R1,A
+00146B A3                INC     DPTR
+00146C E0                MOVX    A,@DPTR
+00146D FA                MOV     R2,A
+00146E A3                INC     DPTR
+00146F E0                MOVX    A,@DPTR
+001470 FB                MOV     R3,A
+001471 C3                CLR     C
+001472 12024B            LCALL   ?C?ULCMP
+001475 5007              JNC     ?C0042?KB_PROCESS
+  187: 			g_variable.gamepad_rz = 0x00;
+001477 E4                CLR     A
+001478 904D07            MOV     DPTR,#g_variable+048H
+00147B F0                MOVX    @DPTR,A
+00147C A114              AJMP    ?C0043?KB_PROCESS
+00147E         ?C0042?KB_PROCESS:
+  188: 		else if(adc_gamepad_value3 >= 0x5e60 && adc_gamepad_value3 <= 0x60a0)
+00147E E4                CLR     A
+00147F 7F60              MOV     R7,#060H
+001481 7E5E              MOV     R6,#05EH
+001483 FD                MOV     R5,A
+001484 FC                MOV     R4,A
+001485 904E24            MOV     DPTR,#adc_gamepad_value3
+001488 E0                MOVX    A,@DPTR
+001489 F8                MOV     R0,A
+00148A A3                INC     DPTR
+00148B E0                MOVX    A,@DPTR
+00148C F9                MOV     R1,A
+00148D A3                INC     DPTR
 00148E E0                MOVX    A,@DPTR
-00148F F8                MOV     R0,A
+00148F FA                MOV     R2,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;
-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)
-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;	
-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)
-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;
-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);
-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
+001492 FB                MOV     R3,A
+001493 C3                CLR     C
+001494 12024B            LCALL   ?C?ULCMP
+001497 4020              JC      ?C0044?KB_PROCESS
+001499 E4                CLR     A
+00149A 7FA0              MOV     R7,#0A0H
+00149C 7E60              MOV     R6,#060H
+00149E FD                MOV     R5,A
+00149F FC                MOV     R4,A
+0014A0 904E24            MOV     DPTR,#adc_gamepad_value3
+0014A3 E0                MOVX    A,@DPTR
+0014A4 F8                MOV     R0,A
+0014A5 A3                INC     DPTR
+0014A6 E0                MOVX    A,@DPTR
+0014A7 A3                INC     DPTR
+0014A8 E0                MOVX    A,@DPTR
+0014A9 A3                INC     DPTR
+0014AA E0                MOVX    A,@DPTR
+0014AB D3                SETB    C
+0014AC 12024B            LCALL   ?C?ULCMP
+0014AF 5008              JNC     ?C0044?KB_PROCESS
+  189: 			g_variable.gamepad_rz = 0x80;	
+0014B1 904D07            MOV     DPTR,#g_variable+048H
+0014B4 7480              MOV     A,#080H
+0014B6 F0                MOVX    @DPTR,A
+0014B7 805B              SJMP    ?C0043?KB_PROCESS
+0014B9         ?C0044?KB_PROCESS:
+  190: 		else if(adc_gamepad_value3 > 0x7ba0)
+0014B9 E4                CLR     A
+0014BA 7FA0              MOV     R7,#0A0H
+0014BC 7E7B              MOV     R6,#07BH
+0014BE FD                MOV     R5,A
+0014BF FC                MOV     R4,A
+0014C0 904E24            MOV     DPTR,#adc_gamepad_value3
+0014C3 E0                MOVX    A,@DPTR
+0014C4 F8                MOV     R0,A
+0014C5 A3                INC     DPTR
+0014C6 E0                MOVX    A,@DPTR
+0014C7 F9                MOV     R1,A
+0014C8 A3                INC     DPTR
+0014C9 E0                MOVX    A,@DPTR
+0014CA FA                MOV     R2,A
+0014CB A3                INC     DPTR
+0014CC E0                MOVX    A,@DPTR
+0014CD FB                MOV     R3,A
+0014CE D3                SETB    C
+0014CF 12024B            LCALL   ?C?ULCMP
+0014D2 4008              JC      ?C0046?KB_PROCESS
+  191: 			g_variable.gamepad_rz = 0xff;
+0014D4 904D07            MOV     DPTR,#g_variable+048H
+0014D7 74FF              MOV     A,#0FFH
+0014D9 F0                MOVX    @DPTR,A
+0014DA 8038              SJMP    ?C0043?KB_PROCESS
+0014DC         ?C0046?KB_PROCESS:
+  192: 		else
+  193: 		{
+  194: 			g_variable.gamepad_rz = (byte)((adc_gamepad_value3 - 0x3ea0)/62);
+0014DC 904E24            MOV     DPTR,#adc_gamepad_value3
+0014DF E0                MOVX    A,@DPTR
+0014E0 FC                MOV     R4,A
+0014E1 A3                INC     DPTR
+0014E2 E0                MOVX    A,@DPTR
+0014E3 FD                MOV     R5,A
+0014E4 A3                INC     DPTR
+0014E5 E0                MOVX    A,@DPTR
+0014E6 FE                MOV     R6,A
+0014E7 A3                INC     DPTR
+0014E8 E0                MOVX    A,@DPTR
+0014E9 2460              ADD     A,#060H
+0014EB FF                MOV     R7,A
+0014EC EE                MOV     A,R6
+0014ED 34C1              ADDC    A,#0C1H
+0014EF FE                MOV     R6,A
+0014F0 ED                MOV     A,R5
+0014F1 34FF              ADDC    A,#0FFH
+0014F3 FD                MOV     R5,A
+0014F4 EC                MOV     A,R4
+0014F5 34FF              ADDC    A,#0FFH
+0014F7 FC                MOV     R4,A
+0014F8 E4                CLR     A
+0014F9 7B3E              MOV     R3,#03EH
+0014FB FA                MOV     R2,A
+0014FC F9                MOV     R1,A
+0014FD F8                MOV     R0,A
+0014FE 1201B9            LCALL   ?C?ULDIV
+001501 904D07            MOV     DPTR,#g_variable+048H
+001504 EF                MOV     A,R7
+001505 F0                MOVX    @DPTR,A
+  195: 			if(g_variable.gamepad_rz >= 0x70 && g_variable.gamepad_rz <= 0x95)
+001506 C3                CLR     C
+001507 9470              SUBB    A,#070H
+001509 4009              JC      ?C0043?KB_PROCESS
+00150B E0                MOVX    A,@DPTR
+00150C D3                SETB    C
+00150D 9495              SUBB    A,#095H
+00150F 5003              JNC     ?C0043?KB_PROCESS
+  196: 				g_variable.gamepad_rz = 0x80;
+001511 7480              MOV     A,#080H
+001513 F0                MOVX    @DPTR,A
+  197: 		}
+001514         ?C0043?KB_PROCESS:
+  198: 
+  199: 		if(ksSelMapCurr & 0x20000)						//  left
+001514 904D9B            MOV     DPTR,#ksSelMapCurr
+001517 E0                MOVX    A,@DPTR
+001518 FC                MOV     R4,A
+001519 A3                INC     DPTR
+00151A E0                MOVX    A,@DPTR
 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)
-00152E C3                CLR     C
-00152F 9470              SUBB    A,#070H
-001531 4009              JC      ?C0043?KB_PROCESS
+00151C A3                INC     DPTR
+00151D E0                MOVX    A,@DPTR
+00151E FE                MOV     R6,A
+00151F A3                INC     DPTR
+001520 E0                MOVX    A,@DPTR
+001521 E4                CLR     A
+001522 FF                MOV     R7,A
+001523 FE                MOV     R6,A
+001524 ED                MOV     A,R5
+001525 5402              ANL     A,#02H
+001527 FD                MOV     R5,A
+001528 E4                CLR     A
+001529 FC                MOV     R4,A
+00152A ED                MOV     A,R5
+00152B 604A              JZ      ?C0049?KB_PROCESS
+  200: 		{
+  201: 			if(ksSelMapCurr & 0x8000)					
+00152D 904D9B            MOV     DPTR,#ksSelMapCurr
+001530 E0                MOVX    A,@DPTR
+001531 FC                MOV     R4,A
+001532 A3                INC     DPTR
 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;
-001539 7480              MOV     A,#080H
-00153B F0                MOVX    @DPTR,A
-  196: 		}
-00153C         ?C0043?KB_PROCESS:
-  197: 
-  198: 		if(ksSelMapCurr & 0x20000)						//  left
-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)					
-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
+001534 FD                MOV     R5,A
+001535 A3                INC     DPTR
+001536 E0                MOVX    A,@DPTR
+001537 FE                MOV     R6,A
+001538 A3                INC     DPTR
+001539 E0                MOVX    A,@DPTR
+00153A E4                CLR     A
+00153B FF                MOV     R7,A
+00153C EE                MOV     A,R6
+00153D 5480              ANL     A,#080H
+00153F FE                MOV     R6,A
+001540 E4                CLR     A
+001541 FD                MOV     R5,A
+001542 FC                MOV     R4,A
+001543 EE                MOV     A,R6
+001544 6008              JZ      ?C0050?KB_PROCESS
+  202: 				g_variable.gamepad_hatswitch = 0x05;
+001546 904D0A            MOV     DPTR,#g_variable+04BH
+001549 7405              MOV     A,#05H
+00154B F0                MOVX    @DPTR,A
+00154C E1C3              AJMP    ?C0065?KB_PROCESS
+00154E         ?C0050?KB_PROCESS:
+  203: 			else if(ksSelMapCurr & 0x4000)
+00154E 904D9B            MOV     DPTR,#ksSelMapCurr
+001551 E0                MOVX    A,@DPTR
+001552 FC                MOV     R4,A
+001553 A3                INC     DPTR
+001554 E0                MOVX    A,@DPTR
+001555 FD                MOV     R5,A
+001556 A3                INC     DPTR
+001557 E0                MOVX    A,@DPTR
+001558 FE                MOV     R6,A
+001559 A3                INC     DPTR
+00155A E0                MOVX    A,@DPTR
+00155B E4                CLR     A
+00155C FF                MOV     R7,A
+00155D EE                MOV     A,R6
+00155E 5440              ANL     A,#040H
+001560 FE                MOV     R6,A
+001561 E4                CLR     A
+001562 FD                MOV     R5,A
+001563 FC                MOV     R4,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;
-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)
-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
+001565 6008              JZ      ?C0052?KB_PROCESS
+  204: 				g_variable.gamepad_hatswitch = 0x07;
+001567 904D0A            MOV     DPTR,#g_variable+04BH
+00156A 7407              MOV     A,#07H
+00156C F0                MOVX    @DPTR,A
+00156D E1C3              AJMP    ?C0065?KB_PROCESS
+00156F         ?C0052?KB_PROCESS:
+  205: 			else	
+  206: 				g_variable.gamepad_hatswitch = 0x06;
+00156F 904D0A            MOV     DPTR,#g_variable+04BH
+001572 7406              MOV     A,#06H
+001574 F0                MOVX    @DPTR,A
+  207: 		}
+001575 E1C3              AJMP    ?C0065?KB_PROCESS
+001577         ?C0049?KB_PROCESS:
+  208: 		else if(ksSelMapCurr & 0x10000)					// right
+001577 904D9B            MOV     DPTR,#ksSelMapCurr
+00157A E0                MOVX    A,@DPTR
+00157B FC                MOV     R4,A
+00157C A3                INC     DPTR
+00157D E0                MOVX    A,@DPTR
+00157E FD                MOV     R5,A
+00157F A3                INC     DPTR
+001580 E0                MOVX    A,@DPTR
+001581 FE                MOV     R6,A
+001582 A3                INC     DPTR
+001583 E0                MOVX    A,@DPTR
+001584 E4                CLR     A
+001585 FF                MOV     R7,A
+001586 FE                MOV     R6,A
+001587 ED                MOV     A,R5
+001588 5401              ANL     A,#01H
 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;
-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;
-001597 904D0A            MOV     DPTR,#g_variable+04BH
-00159A 7406              MOV     A,#06H
-00159C F0                MOVX    @DPTR,A
-  206: 		}
-00159D E1EB              AJMP    ?C0065?KB_PROCESS
-00159F         ?C0049?KB_PROCESS:
-  207: 		else if(ksSelMapCurr & 0x10000)					// right
-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)
-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
+00158B E4                CLR     A
+00158C FC                MOV     R4,A
+00158D ED                MOV     A,R5
+00158E 604A              JZ      ?C0055?KB_PROCESS
+  209: 		{
+  210: 			if(ksSelMapCurr & 0x8000)
+001590 904D9B            MOV     DPTR,#ksSelMapCurr
+001593 E0                MOVX    A,@DPTR
+001594 FC                MOV     R4,A
+001595 A3                INC     DPTR
+001596 E0                MOVX    A,@DPTR
+001597 FD                MOV     R5,A
+001598 A3                INC     DPTR
+001599 E0                MOVX    A,@DPTR
+00159A FE                MOV     R6,A
+00159B A3                INC     DPTR
+00159C E0                MOVX    A,@DPTR
+00159D E4                CLR     A
+00159E FF                MOV     R7,A
+00159F EE                MOV     A,R6
+0015A0 5480              ANL     A,#080H
+0015A2 FE                MOV     R6,A
+0015A3 E4                CLR     A
+0015A4 FD                MOV     R5,A
+0015A5 FC                MOV     R4,A
+0015A6 EE                MOV     A,R6
+0015A7 6008              JZ      ?C0056?KB_PROCESS
+  211: 				g_variable.gamepad_hatswitch = 0x03;
+0015A9 904D0A            MOV     DPTR,#g_variable+04BH
+0015AC 7403              MOV     A,#03H
+0015AE F0                MOVX    @DPTR,A
+0015AF E1C3              AJMP    ?C0065?KB_PROCESS
+0015B1         ?C0056?KB_PROCESS:
+  212: 			else if(ksSelMapCurr & 0x4000)
+0015B1 904D9B            MOV     DPTR,#ksSelMapCurr
+0015B4 E0                MOVX    A,@DPTR
+0015B5 FC                MOV     R4,A
+0015B6 A3                INC     DPTR
+0015B7 E0                MOVX    A,@DPTR
+0015B8 FD                MOV     R5,A
+0015B9 A3                INC     DPTR
+0015BA E0                MOVX    A,@DPTR
+0015BB FE                MOV     R6,A
+0015BC A3                INC     DPTR
+0015BD E0                MOVX    A,@DPTR
+0015BE E4                CLR     A
+0015BF FF                MOV     R7,A
+0015C0 EE                MOV     A,R6
+0015C1 5440              ANL     A,#040H
+0015C3 FE                MOV     R6,A
+0015C4 E4                CLR     A
+0015C5 FD                MOV     R5,A
+0015C6 FC                MOV     R4,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;
-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)
-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;
-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;
-0015FA 904D0A            MOV     DPTR,#g_variable+04BH
-0015FD 7402              MOV     A,#02H
-0015FF F0                MOVX    @DPTR,A
-  215: 		}
-001600 E1EB              AJMP    ?C0065?KB_PROCESS
-001602         ?C0055?KB_PROCESS:
-  216: 		else if(ksSelMapCurr & 0x8000)						//down
-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
+0015C8 6008              JZ      ?C0058?KB_PROCESS
+  213: 				g_variable.gamepad_hatswitch = 0x01;
+0015CA 904D0A            MOV     DPTR,#g_variable+04BH
+0015CD 7401              MOV     A,#01H
+0015CF F0                MOVX    @DPTR,A
+0015D0 E1C3              AJMP    ?C0065?KB_PROCESS
+0015D2         ?C0058?KB_PROCESS:
+  214: 			else	
+  215: 				g_variable.gamepad_hatswitch = 0x02;
+0015D2 904D0A            MOV     DPTR,#g_variable+04BH
+0015D5 7402              MOV     A,#02H
+0015D7 F0                MOVX    @DPTR,A
+  216: 		}
+0015D8 E1C3              AJMP    ?C0065?KB_PROCESS
+0015DA         ?C0055?KB_PROCESS:
+  217: 		else if(ksSelMapCurr & 0x8000)						//down
+0015DA 904D9B            MOV     DPTR,#ksSelMapCurr
+0015DD E0                MOVX    A,@DPTR
+0015DE FC                MOV     R4,A
+0015DF A3                INC     DPTR
+0015E0 E0                MOVX    A,@DPTR
+0015E1 FD                MOV     R5,A
+0015E2 A3                INC     DPTR
+0015E3 E0                MOVX    A,@DPTR
+0015E4 FE                MOV     R6,A
+0015E5 A3                INC     DPTR
+0015E6 E0                MOVX    A,@DPTR
+0015E7 E4                CLR     A
+0015E8 FF                MOV     R7,A
+0015E9 EE                MOV     A,R6
+0015EA 5480              ANL     A,#080H
+0015EC FE                MOV     R6,A
+0015ED E4                CLR     A
+0015EE FD                MOV     R5,A
+0015EF FC                MOV     R4,A
+0015F0 EE                MOV     A,R6
+0015F1 6008              JZ      ?C0061?KB_PROCESS
+  218: 			g_variable.gamepad_hatswitch = 0x04;
+0015F3 904D0A            MOV     DPTR,#g_variable+04BH
+0015F6 7404              MOV     A,#04H
+0015F8 F0                MOVX    @DPTR,A
+0015F9 E1C3              AJMP    ?C0065?KB_PROCESS
+0015FB         ?C0061?KB_PROCESS:
+  219: 		else if(ksSelMapCurr & 0x4000)						//up
+0015FB 904D9B            MOV     DPTR,#ksSelMapCurr
+0015FE E0                MOVX    A,@DPTR
+0015FF FC                MOV     R4,A
+001600 A3                INC     DPTR
+001601 E0                MOVX    A,@DPTR
+001602 FD                MOV     R5,A
+001603 A3                INC     DPTR
+001604 E0                MOVX    A,@DPTR
+001605 FE                MOV     R6,A
+001606 A3                INC     DPTR
+001607 E0                MOVX    A,@DPTR
+001608 E4                CLR     A
+001609 FF                MOV     R7,A
+00160A EE                MOV     A,R6
+00160B 5440              ANL     A,#040H
+00160D FE                MOV     R6,A
+00160E E4                CLR     A
+00160F FD                MOV     R5,A
+001610 FC                MOV     R4,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;
+001612 6007              JZ      ?C0063?KB_PROCESS
+  220: 			g_variable.gamepad_hatswitch = 0x00;
+001614 E4                CLR     A
+001615 904D0A            MOV     DPTR,#g_variable+04BH
+001618 F0                MOVX    @DPTR,A
+001619 E1C3              AJMP    ?C0065?KB_PROCESS
+00161B         ?C0063?KB_PROCESS:
+  221: 		else
+  222: 			g_variable.gamepad_hatswitch = 0x0f;
 00161B 904D0A            MOV     DPTR,#g_variable+04BH
-00161E 7404              MOV     A,#04H
+00161E 740F              MOV     A,#0FH
 001620 F0                MOVX    @DPTR,A
-001621 E1EB              AJMP    ?C0065?KB_PROCESS
-001623         ?C0061?KB_PROCESS:
-  218: 		else if(ksSelMapCurr & 0x4000)						//up
-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;
-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;
-001643 904D0A            MOV     DPTR,#g_variable+04BH
-001646 740F              MOV     A,#0FH
-001648 F0                MOVX    @DPTR,A
-  222: 
-  223: 	}
-001649 E1EB              AJMP    ?C0065?KB_PROCESS
-00164B         ?C0022?KB_PROCESS:
-  224: 	else
-  225: 	{
-  226: 		if(adc_gamepad_value0 < 0x4e50)
-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;
-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)
+  223: 
+  224: 	}
+001621 E1C3              AJMP    ?C0065?KB_PROCESS
+001623         ?C0022?KB_PROCESS:
+  225: 	else
+  226: 	{
+  227: 		if(adc_gamepad_value0 < 0x4e50)
+001623 E4                CLR     A
+001624 7F50              MOV     R7,#050H
+001626 7E4E              MOV     R6,#04EH
+001628 FD                MOV     R5,A
+001629 FC                MOV     R4,A
+00162A 904E18            MOV     DPTR,#adc_gamepad_value0
+00162D E0                MOVX    A,@DPTR
+00162E F8                MOV     R0,A
+00162F A3                INC     DPTR
+001630 E0                MOVX    A,@DPTR
+001631 F9                MOV     R1,A
+001632 A3                INC     DPTR
+001633 E0                MOVX    A,@DPTR
+001634 FA                MOV     R2,A
+001635 A3                INC     DPTR
+001636 E0                MOVX    A,@DPTR
+001637 FB                MOV     R3,A
+001638 C3                CLR     C
+001639 12024B            LCALL   ?C?ULCMP
+00163C 5008              JNC     ?C0066?KB_PROCESS
+  228: 			g_variable.gamepad_x = 0xff;
+00163E 904D08            MOV     DPTR,#g_variable+049H
+001641 74FF              MOV     A,#0FFH
+001643 F0                MOVX    @DPTR,A
+001644 8028              SJMP    ?C0067?KB_PROCESS
+001646         ?C0066?KB_PROCESS:
+  229: 		else if(adc_gamepad_value0 > 0x6ba0)
+001646 E4                CLR     A
+001647 7FA0              MOV     R7,#0A0H
+001649 7E6B              MOV     R6,#06BH
+00164B FD                MOV     R5,A
+00164C FC                MOV     R4,A
+00164D 904E18            MOV     DPTR,#adc_gamepad_value0
+001650 E0                MOVX    A,@DPTR
+001651 F8                MOV     R0,A
+001652 A3                INC     DPTR
+001653 E0                MOVX    A,@DPTR
+001654 F9                MOV     R1,A
+001655 A3                INC     DPTR
+001656 E0                MOVX    A,@DPTR
+001657 FA                MOV     R2,A
+001658 A3                INC     DPTR
+001659 E0                MOVX    A,@DPTR
+00165A FB                MOV     R3,A
+00165B D3                SETB    C
+00165C 12024B            LCALL   ?C?ULCMP
+00165F 4007              JC      ?C0068?KB_PROCESS
+  230: 			g_variable.gamepad_x = 0x00;
+001661 E4                CLR     A
+001662 904D08            MOV     DPTR,#g_variable+049H
+001665 F0                MOVX    @DPTR,A
+001666 8006              SJMP    ?C0067?KB_PROCESS
+001668         ?C0068?KB_PROCESS:
+  231: 		else 
+  232: 			g_variable.gamepad_x = 0x80;
+001668 904D08            MOV     DPTR,#g_variable+049H
+00166B 7480              MOV     A,#080H
+00166D F0                MOVX    @DPTR,A
+00166E         ?C0067?KB_PROCESS:
+  233: 
+  234: 		if(adc_gamepad_value1 < 0x4e50)
 00166E E4                CLR     A
-00166F 7FA0              MOV     R7,#0A0H
-001671 7E6B              MOV     R6,#06BH
+00166F 7F50              MOV     R7,#050H
+001671 7E4E              MOV     R6,#04EH
 001673 FD                MOV     R5,A
 001674 FC                MOV     R4,A
-001675 904E18            MOV     DPTR,#adc_gamepad_value0
+001675 904E1C            MOV     DPTR,#adc_gamepad_value1
 001678 E0                MOVX    A,@DPTR
 001679 F8                MOV     R0,A
 00167A A3                INC     DPTR
@@ -4422,856 +4431,796 @@
 001680 A3                INC     DPTR
 001681 E0                MOVX    A,@DPTR
 001682 FB                MOV     R3,A
-001683 D3                SETB    C
+001683 C3                CLR     C
 001684 12024B            LCALL   ?C?ULCMP
-001687 4007              JC      ?C0068?KB_PROCESS
-  229: 			g_variable.gamepad_x = 0x00;
+001687 5007              JNC     ?C0070?KB_PROCESS
+  235: 			g_variable.gamepad_y = 0x00;
 001689 E4                CLR     A
-00168A 904D08            MOV     DPTR,#g_variable+049H
+00168A 904D09            MOV     DPTR,#g_variable+04AH
 00168D F0                MOVX    @DPTR,A
-00168E 8006              SJMP    ?C0067?KB_PROCESS
-001690         ?C0068?KB_PROCESS:
-  230: 		else 
-  231: 			g_variable.gamepad_x = 0x80;
-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)
-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
+00168E 8029              SJMP    ?C0071?KB_PROCESS
+001690         ?C0070?KB_PROCESS:
+  236: 		else if(adc_gamepad_value1 > 0x6ba0)
+001690 E4                CLR     A
+001691 7FA0              MOV     R7,#0A0H
+001693 7E6B              MOV     R6,#06BH
+001695 FD                MOV     R5,A
+001696 FC                MOV     R4,A
+001697 904E1C            MOV     DPTR,#adc_gamepad_value1
+00169A E0                MOVX    A,@DPTR
+00169B F8                MOV     R0,A
+00169C A3                INC     DPTR
+00169D E0                MOVX    A,@DPTR
+00169E F9                MOV     R1,A
+00169F A3                INC     DPTR
 0016A0 E0                MOVX    A,@DPTR
-0016A1 F8                MOV     R0,A
+0016A1 FA                MOV     R2,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;
-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)
-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;
-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;
-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)
-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 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)
-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
+0016A4 FB                MOV     R3,A
+0016A5 D3                SETB    C
+0016A6 12024B            LCALL   ?C?ULCMP
+0016A9 4008              JC      ?C0072?KB_PROCESS
+  237: 			g_variable.gamepad_y = 0xff;
+0016AB 904D09            MOV     DPTR,#g_variable+04AH
+0016AE 74FF              MOV     A,#0FFH
+0016B0 F0                MOVX    @DPTR,A
+0016B1 8006              SJMP    ?C0071?KB_PROCESS
+0016B3         ?C0072?KB_PROCESS:
+  238: 		else 
+  239: 			g_variable.gamepad_y = 0x80;
+0016B3 904D09            MOV     DPTR,#g_variable+04AH
+0016B6 7480              MOV     A,#080H
+0016B8 F0                MOVX    @DPTR,A
+0016B9         ?C0071?KB_PROCESS:
+  240: 
+  241: 		if(adc_gamepad_value2 < 0x4e50)
+0016B9 E4                CLR     A
+0016BA 7F50              MOV     R7,#050H
+0016BC 7E4E              MOV     R6,#04EH
+0016BE FD                MOV     R5,A
+0016BF FC                MOV     R4,A
+0016C0 904E20            MOV     DPTR,#adc_gamepad_value2
+0016C3 E0                MOVX    A,@DPTR
+0016C4 F8                MOV     R0,A
+0016C5 A3                INC     DPTR
+0016C6 E0                MOVX    A,@DPTR
+0016C7 F9                MOV     R1,A
+0016C8 A3                INC     DPTR
+0016C9 E0                MOVX    A,@DPTR
+0016CA FA                MOV     R2,A
+0016CB A3                INC     DPTR
+0016CC E0                MOVX    A,@DPTR
+0016CD FB                MOV     R3,A
+0016CE C3                CLR     C
+0016CF 12024B            LCALL   ?C?ULCMP
+0016D2 5009              JNC     ?C0074?KB_PROCESS
+  242: 			g_variable.gamepad_hatswitch |= 0x10;
+0016D4 904D0A            MOV     DPTR,#g_variable+04BH
+0016D7 E0                MOVX    A,@DPTR
+0016D8 4410              ORL     A,#010H
+0016DA F0                MOVX    @DPTR,A
+0016DB 8022              SJMP    ?C0075?KB_PROCESS
+0016DD         ?C0074?KB_PROCESS:
+  243: 		else if(adc_gamepad_value2 > 0x6ba0)
+0016DD E4                CLR     A
+0016DE 7FA0              MOV     R7,#0A0H
+0016E0 7E6B              MOV     R6,#06BH
+0016E2 FD                MOV     R5,A
+0016E3 FC                MOV     R4,A
+0016E4 904E20            MOV     DPTR,#adc_gamepad_value2
+0016E7 E0                MOVX    A,@DPTR
+0016E8 F8                MOV     R0,A
+0016E9 A3                INC     DPTR
+0016EA E0                MOVX    A,@DPTR
+0016EB F9                MOV     R1,A
+0016EC A3                INC     DPTR
+0016ED E0                MOVX    A,@DPTR
+0016EE FA                MOV     R2,A
+0016EF A3                INC     DPTR
+0016F0 E0                MOVX    A,@DPTR
+0016F1 FB                MOV     R3,A
+0016F2 D3                SETB    C
+0016F3 12024B            LCALL   ?C?ULCMP
+0016F6 4007              JC      ?C0075?KB_PROCESS
+  244: 			g_variable.gamepad_hatswitch |= 0x40;
+0016F8 904D0A            MOV     DPTR,#g_variable+04BH
+0016FB E0                MOVX    A,@DPTR
+0016FC 4440              ORL     A,#040H
+0016FE F0                MOVX    @DPTR,A
+0016FF         ?C0075?KB_PROCESS:
+  245: 
+  246: 		if(adc_gamepad_value3 < 0x4e50)
+0016FF E4                CLR     A
+001700 7F50              MOV     R7,#050H
+001702 7E4E              MOV     R6,#04EH
+001704 FD                MOV     R5,A
+001705 FC                MOV     R4,A
+001706 904E24            MOV     DPTR,#adc_gamepad_value3
+001709 E0                MOVX    A,@DPTR
+00170A F8                MOV     R0,A
+00170B A3                INC     DPTR
+00170C E0                MOVX    A,@DPTR
+00170D F9                MOV     R1,A
+00170E A3                INC     DPTR
 00170F E0                MOVX    A,@DPTR
-001710 F8                MOV     R0,A
+001710 FA                MOV     R2,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 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)
-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 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)
-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 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
-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;
-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
-00178D 904D9B            MOV     DPTR,#ksSelMapCurr
+001713 FB                MOV     R3,A
+001714 C3                CLR     C
+001715 12024B            LCALL   ?C?ULCMP
+001718 5009              JNC     ?C0077?KB_PROCESS
+  247: 			g_variable.gamepad_hatswitch |= 0x20;
+00171A 904D0A            MOV     DPTR,#g_variable+04BH
+00171D E0                MOVX    A,@DPTR
+00171E 4420              ORL     A,#020H
+001720 F0                MOVX    @DPTR,A
+001721 8022              SJMP    ?C0078?KB_PROCESS
+001723         ?C0077?KB_PROCESS:
+  248: 		else if(adc_gamepad_value3 > 0x6ba0)
+001723 E4                CLR     A
+001724 7FA0              MOV     R7,#0A0H
+001726 7E6B              MOV     R6,#06BH
+001728 FD                MOV     R5,A
+001729 FC                MOV     R4,A
+00172A 904E24            MOV     DPTR,#adc_gamepad_value3
+00172D E0                MOVX    A,@DPTR
+00172E F8                MOV     R0,A
+00172F A3                INC     DPTR
+001730 E0                MOVX    A,@DPTR
+001731 F9                MOV     R1,A
+001732 A3                INC     DPTR
+001733 E0                MOVX    A,@DPTR
+001734 FA                MOV     R2,A
+001735 A3                INC     DPTR
+001736 E0                MOVX    A,@DPTR
+001737 FB                MOV     R3,A
+001738 D3                SETB    C
+001739 12024B            LCALL   ?C?ULCMP
+00173C 4007              JC      ?C0078?KB_PROCESS
+  249: 			g_variable.gamepad_hatswitch |= 0x80;
+00173E 904D0A            MOV     DPTR,#g_variable+04BH
+001741 E0                MOVX    A,@DPTR
+001742 4480              ORL     A,#080H
+001744 F0                MOVX    @DPTR,A
+001745         ?C0078?KB_PROCESS:
+  250: 
+  251: 		if(ksSelMapCurr & 0x20000)						//  left
+001745 904D9B            MOV     DPTR,#ksSelMapCurr
+001748 E0                MOVX    A,@DPTR
+001749 FC                MOV     R4,A
+00174A A3                INC     DPTR
+00174B E0                MOVX    A,@DPTR
+00174C FD                MOV     R5,A
+00174D A3                INC     DPTR
+00174E E0                MOVX    A,@DPTR
+00174F FE                MOV     R6,A
+001750 A3                INC     DPTR
+001751 E0                MOVX    A,@DPTR
+001752 E4                CLR     A
+001753 FF                MOV     R7,A
+001754 FE                MOV     R6,A
+001755 ED                MOV     A,R5
+001756 5402              ANL     A,#02H
+001758 FD                MOV     R5,A
+001759 E4                CLR     A
+00175A FC                MOV     R4,A
+00175B ED                MOV     A,R5
+00175C 6007              JZ      ?C0080?KB_PROCESS
+  252: 			g_variable.gamepad_x = 0x00;
+00175E E4                CLR     A
+00175F 904D08            MOV     DPTR,#g_variable+049H
+001762 F0                MOVX    @DPTR,A
+001763 801F              SJMP    ?C0081?KB_PROCESS
+001765         ?C0080?KB_PROCESS:
+  253: 		else if(ksSelMapCurr & 0x10000)					// right
+001765 904D9B            MOV     DPTR,#ksSelMapCurr
+001768 E0                MOVX    A,@DPTR
+001769 FC                MOV     R4,A
+00176A A3                INC     DPTR
+00176B E0                MOVX    A,@DPTR
+00176C FD                MOV     R5,A
+00176D A3                INC     DPTR
+00176E E0                MOVX    A,@DPTR
+00176F FE                MOV     R6,A
+001770 A3                INC     DPTR
+001771 E0                MOVX    A,@DPTR
+001772 E4                CLR     A
+001773 FF                MOV     R7,A
+001774 FE                MOV     R6,A
+001775 ED                MOV     A,R5
+001776 5401              ANL     A,#01H
+001778 FD                MOV     R5,A
+001779 E4                CLR     A
+00177A FC                MOV     R4,A
+00177B ED                MOV     A,R5
+00177C 6006              JZ      ?C0081?KB_PROCESS
+  254: 			g_variable.gamepad_x = 0xff;
+00177E 904D08            MOV     DPTR,#g_variable+049H
+001781 74FF              MOV     A,#0FFH
+001783 F0                MOVX    @DPTR,A
+001784         ?C0081?KB_PROCESS:
+  255: 		if(ksSelMapCurr & 0x8000)							//down
+001784 904D9B            MOV     DPTR,#ksSelMapCurr
+001787 E0                MOVX    A,@DPTR
+001788 FC                MOV     R4,A
+001789 A3                INC     DPTR
+00178A E0                MOVX    A,@DPTR
+00178B FD                MOV     R5,A
+00178C A3                INC     DPTR
+00178D E0                MOVX    A,@DPTR
+00178E FE                MOV     R6,A
+00178F A3                INC     DPTR
 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;
-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
-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
+001791 E4                CLR     A
+001792 FF                MOV     R7,A
+001793 EE                MOV     A,R6
+001794 5480              ANL     A,#080H
+001796 FE                MOV     R6,A
+001797 E4                CLR     A
+001798 FD                MOV     R5,A
+001799 FC                MOV     R4,A
+00179A EE                MOV     A,R6
+00179B 6008              JZ      ?C0083?KB_PROCESS
+  256: 			g_variable.gamepad_y = 0xff;
+00179D 904D09            MOV     DPTR,#g_variable+04AH
+0017A0 74FF              MOV     A,#0FFH
+0017A2 F0                MOVX    @DPTR,A
+0017A3 801E              SJMP    ?C0065?KB_PROCESS
+0017A5         ?C0083?KB_PROCESS:
+  257: 		else if(ksSelMapCurr & 0x4000)						//up
+0017A5 904D9B            MOV     DPTR,#ksSelMapCurr
+0017A8 E0                MOVX    A,@DPTR
+0017A9 FC                MOV     R4,A
+0017AA A3                INC     DPTR
+0017AB E0                MOVX    A,@DPTR
+0017AC FD                MOV     R5,A
+0017AD A3                INC     DPTR
+0017AE E0                MOVX    A,@DPTR
+0017AF FE                MOV     R6,A
+0017B0 A3                INC     DPTR
+0017B1 E0                MOVX    A,@DPTR
+0017B2 E4                CLR     A
+0017B3 FF                MOV     R7,A
+0017B4 EE                MOV     A,R6
+0017B5 5440              ANL     A,#040H
+0017B7 FE                MOV     R6,A
+0017B8 E4                CLR     A
+0017B9 FD                MOV     R5,A
+0017BA FC                MOV     R4,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;
-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
-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;	
-0017E6 E4                CLR     A
-0017E7 904D09            MOV     DPTR,#g_variable+04AH
-0017EA F0                MOVX    @DPTR,A
-  258: 
-  259: 	}
-0017EB         ?C0065?KB_PROCESS:
-  260: 
+0017BC 6005              JZ      ?C0065?KB_PROCESS
+  258: 			g_variable.gamepad_y = 0x00;	
+0017BE E4                CLR     A
+0017BF 904D09            MOV     DPTR,#g_variable+04AH
+0017C2 F0                MOVX    @DPTR,A
+  259: 
+  260: 	}
+0017C3         ?C0065?KB_PROCESS:
   261: 
-  262: 	if(ksSelMapCurr & 0x800)		// A
-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
+  262: 
+  263: 	if(ksSelMapCurr & 0x800)		// A
+0017C3 904D9B            MOV     DPTR,#ksSelMapCurr
+0017C6 E0                MOVX    A,@DPTR
+0017C7 FC                MOV     R4,A
+0017C8 A3                INC     DPTR
+0017C9 E0                MOVX    A,@DPTR
+0017CA FD                MOV     R5,A
+0017CB A3                INC     DPTR
+0017CC E0                MOVX    A,@DPTR
+0017CD FE                MOV     R6,A
+0017CE A3                INC     DPTR
+0017CF E0                MOVX    A,@DPTR
+0017D0 E4                CLR     A
+0017D1 FF                MOV     R7,A
+0017D2 EE                MOV     A,R6
+0017D3 5408              ANL     A,#08H
+0017D5 FE                MOV     R6,A
+0017D6 E4                CLR     A
+0017D7 FD                MOV     R5,A
+0017D8 FC                MOV     R4,A
+0017D9 EE                MOV     A,R6
+0017DA 6007              JZ      ?C0086?KB_PROCESS
+  264: 	{
+  265: 		g_variable.gamepad_hatswitch |= 0x40;
+0017DC 904D0A            MOV     DPTR,#g_variable+04BH
+0017DF E0                MOVX    A,@DPTR
+0017E0 4440              ORL     A,#040H
+0017E2 F0                MOVX    @DPTR,A
+  266: 	}
+0017E3         ?C0086?KB_PROCESS:
+  267: 	if(ksSelMapCurr & 0x1000)		// B
+0017E3 904D9B            MOV     DPTR,#ksSelMapCurr
+0017E6 E0                MOVX    A,@DPTR
+0017E7 FC                MOV     R4,A
+0017E8 A3                INC     DPTR
+0017E9 E0                MOVX    A,@DPTR
+0017EA FD                MOV     R5,A
+0017EB A3                INC     DPTR
+0017EC E0                MOVX    A,@DPTR
+0017ED FE                MOV     R6,A
+0017EE A3                INC     DPTR
+0017EF E0                MOVX    A,@DPTR
+0017F0 E4                CLR     A
+0017F1 FF                MOV     R7,A
+0017F2 EE                MOV     A,R6
+0017F3 5410              ANL     A,#010H
 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;
-001804 904D0A            MOV     DPTR,#g_variable+04BH
-001807 E0                MOVX    A,@DPTR
-001808 4440              ORL     A,#040H
-00180A F0                MOVX    @DPTR,A
-  265: 	}
-00180B         ?C0086?KB_PROCESS:
-  266: 	if(ksSelMapCurr & 0x1000)		// B
-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
+0017F6 E4                CLR     A
+0017F7 FD                MOV     R5,A
+0017F8 FC                MOV     R4,A
+0017F9 EE                MOV     A,R6
+0017FA 6007              JZ      ?C0087?KB_PROCESS
+  268: 	{
+  269: 		g_variable.gamepad_hatswitch |= 0x20;
+0017FC 904D0A            MOV     DPTR,#g_variable+04BH
+0017FF E0                MOVX    A,@DPTR
+001800 4420              ORL     A,#020H
+001802 F0                MOVX    @DPTR,A
+  270: 	}
+001803         ?C0087?KB_PROCESS:
+  271: 	if(ksSelMapCurr & 0x400)		// X
+001803 904D9B            MOV     DPTR,#ksSelMapCurr
+001806 E0                MOVX    A,@DPTR
+001807 FC                MOV     R4,A
+001808 A3                INC     DPTR
+001809 E0                MOVX    A,@DPTR
+00180A FD                MOV     R5,A
+00180B A3                INC     DPTR
+00180C E0                MOVX    A,@DPTR
+00180D FE                MOV     R6,A
+00180E A3                INC     DPTR
+00180F E0                MOVX    A,@DPTR
+001810 E4                CLR     A
+001811 FF                MOV     R7,A
+001812 EE                MOV     A,R6
+001813 5404              ANL     A,#04H
 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;
-001824 904D0A            MOV     DPTR,#g_variable+04BH
-001827 E0                MOVX    A,@DPTR
-001828 4420              ORL     A,#020H
-00182A F0                MOVX    @DPTR,A
-  269: 	}
-00182B         ?C0087?KB_PROCESS:
-  270: 	if(ksSelMapCurr & 0x400)		// X
-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
+001816 E4                CLR     A
+001817 FD                MOV     R5,A
+001818 FC                MOV     R4,A
+001819 EE                MOV     A,R6
+00181A 6007              JZ      ?C0088?KB_PROCESS
+  272: 	{
+  273: 		g_variable.gamepad_hatswitch |= 0x80;
+00181C 904D0A            MOV     DPTR,#g_variable+04BH
+00181F E0                MOVX    A,@DPTR
+001820 4480              ORL     A,#080H
+001822 F0                MOVX    @DPTR,A
+  274: 	}
+001823         ?C0088?KB_PROCESS:
+  275: 	if(ksSelMapCurr & 0x2000)		// Y
+001823 904D9B            MOV     DPTR,#ksSelMapCurr
+001826 E0                MOVX    A,@DPTR
+001827 FC                MOV     R4,A
+001828 A3                INC     DPTR
+001829 E0                MOVX    A,@DPTR
+00182A FD                MOV     R5,A
+00182B A3                INC     DPTR
+00182C E0                MOVX    A,@DPTR
+00182D FE                MOV     R6,A
+00182E A3                INC     DPTR
+00182F E0                MOVX    A,@DPTR
+001830 E4                CLR     A
+001831 FF                MOV     R7,A
+001832 EE                MOV     A,R6
+001833 5420              ANL     A,#020H
 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;
-001844 904D0A            MOV     DPTR,#g_variable+04BH
-001847 E0                MOVX    A,@DPTR
-001848 4480              ORL     A,#080H
-00184A F0                MOVX    @DPTR,A
-  273: 	}
-00184B         ?C0088?KB_PROCESS:
-  274: 	if(ksSelMapCurr & 0x2000)		// Y
-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
+001836 E4                CLR     A
+001837 FD                MOV     R5,A
+001838 FC                MOV     R4,A
+001839 EE                MOV     A,R6
+00183A 6007              JZ      ?C0089?KB_PROCESS
+  276: 	{
+  277: 		g_variable.gamepad_hatswitch |= 0x10;
+00183C 904D0A            MOV     DPTR,#g_variable+04BH
+00183F E0                MOVX    A,@DPTR
+001840 4410              ORL     A,#010H
+001842 F0                MOVX    @DPTR,A
+  278: 	}
+001843         ?C0089?KB_PROCESS:
+  279: 
+  280: 	if(ksSelMapCurr & 0x200)		// L1
+001843 904D9B            MOV     DPTR,#ksSelMapCurr
+001846 E0                MOVX    A,@DPTR
+001847 FC                MOV     R4,A
+001848 A3                INC     DPTR
+001849 E0                MOVX    A,@DPTR
+00184A FD                MOV     R5,A
+00184B A3                INC     DPTR
+00184C E0                MOVX    A,@DPTR
+00184D FE                MOV     R6,A
+00184E A3                INC     DPTR
+00184F E0                MOVX    A,@DPTR
+001850 E4                CLR     A
+001851 FF                MOV     R7,A
+001852 EE                MOV     A,R6
+001853 5402              ANL     A,#02H
 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;
-001864 904D0A            MOV     DPTR,#g_variable+04BH
-001867 E0                MOVX    A,@DPTR
-001868 4410              ORL     A,#010H
-00186A F0                MOVX    @DPTR,A
-  277: 	}
-00186B         ?C0089?KB_PROCESS:
-  278: 
-  279: 	if(ksSelMapCurr & 0x200)		// L1
-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;
-001884 904D0B            MOV     DPTR,#g_variable+04CH
+001856 E4                CLR     A
+001857 FD                MOV     R5,A
+001858 FC                MOV     R4,A
+001859 EE                MOV     A,R6
+00185A 6007              JZ      ?C0090?KB_PROCESS
+  281: 	{
+  282: 		g_variable.gamepad_key0 |= 0x01;
+00185C 904D0B            MOV     DPTR,#g_variable+04CH
+00185F E0                MOVX    A,@DPTR
+001860 4401              ORL     A,#01H
+001862 F0                MOVX    @DPTR,A
+  283: 	}
+001863         ?C0090?KB_PROCESS:
+  284: 	if(ksSelMapCurr & 0x80)		// L2
+001863 904D9B            MOV     DPTR,#ksSelMapCurr
+001866 E0                MOVX    A,@DPTR
+001867 FC                MOV     R4,A
+001868 A3                INC     DPTR
+001869 E0                MOVX    A,@DPTR
+00186A FD                MOV     R5,A
+00186B A3                INC     DPTR
+00186C E0                MOVX    A,@DPTR
+00186D FE                MOV     R6,A
+00186E A3                INC     DPTR
+00186F E0                MOVX    A,@DPTR
+001870 5480              ANL     A,#080H
+001872 FF                MOV     R7,A
+001873 E4                CLR     A
+001874 FE                MOV     R6,A
+001875 FD                MOV     R5,A
+001876 FC                MOV     R4,A
+001877 EF                MOV     A,R7
+001878 6007              JZ      ?C0091?KB_PROCESS
+  285: 	{
+  286: 		g_variable.gamepad_key0 |= 0x04;
+00187A 904D0B            MOV     DPTR,#g_variable+04CH
+00187D E0                MOVX    A,@DPTR
+00187E 4404              ORL     A,#04H
+001880 F0                MOVX    @DPTR,A
+  287: 	}
+001881         ?C0091?KB_PROCESS:
+  288: 	if(ksSelMapCurr & 0x100)		// R1
+001881 904D9B            MOV     DPTR,#ksSelMapCurr
+001884 E0                MOVX    A,@DPTR
+001885 FC                MOV     R4,A
+001886 A3                INC     DPTR
 001887 E0                MOVX    A,@DPTR
-001888 4401              ORL     A,#01H
-00188A F0                MOVX    @DPTR,A
-  282: 	}
-00188B         ?C0090?KB_PROCESS:
-  283: 	if(ksSelMapCurr & 0x80)		// L2
-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;
-0018A2 904D0B            MOV     DPTR,#g_variable+04CH
-0018A5 E0                MOVX    A,@DPTR
-0018A6 4404              ORL     A,#04H
-0018A8 F0                MOVX    @DPTR,A
-  286: 	}
-0018A9         ?C0091?KB_PROCESS:
-  287: 	if(ksSelMapCurr & 0x100)		// R1
-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;
-0018C2 904D0B            MOV     DPTR,#g_variable+04CH
+001888 FD                MOV     R5,A
+001889 A3                INC     DPTR
+00188A E0                MOVX    A,@DPTR
+00188B FE                MOV     R6,A
+00188C A3                INC     DPTR
+00188D E0                MOVX    A,@DPTR
+00188E E4                CLR     A
+00188F FF                MOV     R7,A
+001890 EE                MOV     A,R6
+001891 5401              ANL     A,#01H
+001893 FE                MOV     R6,A
+001894 E4                CLR     A
+001895 FD                MOV     R5,A
+001896 FC                MOV     R4,A
+001897 EE                MOV     A,R6
+001898 6007              JZ      ?C0092?KB_PROCESS
+  289: 	{
+  290: 		g_variable.gamepad_key0 |= 0x02;
+00189A 904D0B            MOV     DPTR,#g_variable+04CH
+00189D E0                MOVX    A,@DPTR
+00189E 4402              ORL     A,#02H
+0018A0 F0                MOVX    @DPTR,A
+  291: 	}
+0018A1         ?C0092?KB_PROCESS:
+  292: 	if(ksSelMapCurr & 0x40)		// R2
+0018A1 904D9B            MOV     DPTR,#ksSelMapCurr
+0018A4 E0                MOVX    A,@DPTR
+0018A5 FC                MOV     R4,A
+0018A6 A3                INC     DPTR
+0018A7 E0                MOVX    A,@DPTR
+0018A8 FD                MOV     R5,A
+0018A9 A3                INC     DPTR
+0018AA E0                MOVX    A,@DPTR
+0018AB FE                MOV     R6,A
+0018AC A3                INC     DPTR
+0018AD E0                MOVX    A,@DPTR
+0018AE 5440              ANL     A,#040H
+0018B0 FF                MOV     R7,A
+0018B1 E4                CLR     A
+0018B2 FE                MOV     R6,A
+0018B3 FD                MOV     R5,A
+0018B4 FC                MOV     R4,A
+0018B5 EF                MOV     A,R7
+0018B6 6007              JZ      ?C0093?KB_PROCESS
+  293: 	{
+  294: 		g_variable.gamepad_key0 |= 0x08;
+0018B8 904D0B            MOV     DPTR,#g_variable+04CH
+0018BB E0                MOVX    A,@DPTR
+0018BC 4408              ORL     A,#08H
+0018BE F0                MOVX    @DPTR,A
+  295: 	}
+0018BF         ?C0093?KB_PROCESS:
+  296: 
+  297: 	if(ksSelMapCurr & 0x08)		// S1
+0018BF 904D9B            MOV     DPTR,#ksSelMapCurr
+0018C2 E0                MOVX    A,@DPTR
+0018C3 FC                MOV     R4,A
+0018C4 A3                INC     DPTR
 0018C5 E0                MOVX    A,@DPTR
-0018C6 4402              ORL     A,#02H
-0018C8 F0                MOVX    @DPTR,A
-  290: 	}
-0018C9         ?C0092?KB_PROCESS:
-  291: 	if(ksSelMapCurr & 0x40)		// R2
-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;
-0018E0 904D0B            MOV     DPTR,#g_variable+04CH
+0018C6 FD                MOV     R5,A
+0018C7 A3                INC     DPTR
+0018C8 E0                MOVX    A,@DPTR
+0018C9 FE                MOV     R6,A
+0018CA A3                INC     DPTR
+0018CB E0                MOVX    A,@DPTR
+0018CC 5408              ANL     A,#08H
+0018CE FF                MOV     R7,A
+0018CF E4                CLR     A
+0018D0 FE                MOV     R6,A
+0018D1 FD                MOV     R5,A
+0018D2 FC                MOV     R4,A
+0018D3 EF                MOV     A,R7
+0018D4 6007              JZ      ?C0094?KB_PROCESS
+  298: 	{
+  299: 		g_variable.gamepad_key0 |= 0x40;
+0018D6 904D0B            MOV     DPTR,#g_variable+04CH
+0018D9 E0                MOVX    A,@DPTR
+0018DA 4440              ORL     A,#040H
+0018DC F0                MOVX    @DPTR,A
+  300: 	}
+0018DD         ?C0094?KB_PROCESS:
+  301: 	if(ksSelMapCurr & 0x04)		// S2
+0018DD 904D9B            MOV     DPTR,#ksSelMapCurr
+0018E0 E0                MOVX    A,@DPTR
+0018E1 FC                MOV     R4,A
+0018E2 A3                INC     DPTR
 0018E3 E0                MOVX    A,@DPTR
-0018E4 4408              ORL     A,#08H
-0018E6 F0                MOVX    @DPTR,A
-  294: 	}
-0018E7         ?C0093?KB_PROCESS:
-  295: 
-  296: 	if(ksSelMapCurr & 0x08)		// S1
-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;
-0018FE 904D0B            MOV     DPTR,#g_variable+04CH
+0018E4 FD                MOV     R5,A
+0018E5 A3                INC     DPTR
+0018E6 E0                MOVX    A,@DPTR
+0018E7 FE                MOV     R6,A
+0018E8 A3                INC     DPTR
+0018E9 E0                MOVX    A,@DPTR
+0018EA 5404              ANL     A,#04H
+0018EC FF                MOV     R7,A
+0018ED E4                CLR     A
+0018EE FE                MOV     R6,A
+0018EF FD                MOV     R5,A
+0018F0 FC                MOV     R4,A
+0018F1 EF                MOV     A,R7
+0018F2 6007              JZ      ?C0095?KB_PROCESS
+  302: 	{
+  303: 		g_variable.gamepad_key0 |= 0x80;
+0018F4 904D0B            MOV     DPTR,#g_variable+04CH
+0018F7 E0                MOVX    A,@DPTR
+0018F8 4480              ORL     A,#080H
+0018FA F0                MOVX    @DPTR,A
+  304: 	}
+0018FB         ?C0095?KB_PROCESS:
+  305: 	if(ksSelMapCurr & 0x20)		// SELECT
+0018FB 904D9B            MOV     DPTR,#ksSelMapCurr
+0018FE E0                MOVX    A,@DPTR
+0018FF FC                MOV     R4,A
+001900 A3                INC     DPTR
 001901 E0                MOVX    A,@DPTR
-001902 4440              ORL     A,#040H
-001904 F0                MOVX    @DPTR,A
-  299: 	}
-001905         ?C0094?KB_PROCESS:
-  300: 	if(ksSelMapCurr & 0x04)		// S2
-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;
-00191C 904D0B            MOV     DPTR,#g_variable+04CH
+001902 FD                MOV     R5,A
+001903 A3                INC     DPTR
+001904 E0                MOVX    A,@DPTR
+001905 FE                MOV     R6,A
+001906 A3                INC     DPTR
+001907 E0                MOVX    A,@DPTR
+001908 5420              ANL     A,#020H
+00190A FF                MOV     R7,A
+00190B E4                CLR     A
+00190C FE                MOV     R6,A
+00190D FD                MOV     R5,A
+00190E FC                MOV     R4,A
+00190F EF                MOV     A,R7
+001910 6007              JZ      ?C0096?KB_PROCESS
+  306: 	{
+  307: 		g_variable.gamepad_key0 |= 0x10;
+001912 904D0B            MOV     DPTR,#g_variable+04CH
+001915 E0                MOVX    A,@DPTR
+001916 4410              ORL     A,#010H
+001918 F0                MOVX    @DPTR,A
+  308: 	}
+001919         ?C0096?KB_PROCESS:
+  309: 	if(ksSelMapCurr & 0x10)		// START
+001919 904D9B            MOV     DPTR,#ksSelMapCurr
+00191C E0                MOVX    A,@DPTR
+00191D FC                MOV     R4,A
+00191E A3                INC     DPTR
 00191F E0                MOVX    A,@DPTR
-001920 4480              ORL     A,#080H
-001922 F0                MOVX    @DPTR,A
-  303: 	}
-001923         ?C0095?KB_PROCESS:
-  304: 	if(ksSelMapCurr & 0x20)		// SELECT
-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;
-00193A 904D0B            MOV     DPTR,#g_variable+04CH
+001920 FD                MOV     R5,A
+001921 A3                INC     DPTR
+001922 E0                MOVX    A,@DPTR
+001923 FE                MOV     R6,A
+001924 A3                INC     DPTR
+001925 E0                MOVX    A,@DPTR
+001926 5410              ANL     A,#010H
+001928 FF                MOV     R7,A
+001929 E4                CLR     A
+00192A FE                MOV     R6,A
+00192B FD                MOV     R5,A
+00192C FC                MOV     R4,A
+00192D EF                MOV     A,R7
+00192E 6007              JZ      ?C0097?KB_PROCESS
+  310: 	{
+  311: 		g_variable.gamepad_key0 |= 0x20;
+001930 904D0B            MOV     DPTR,#g_variable+04CH
+001933 E0                MOVX    A,@DPTR
+001934 4420              ORL     A,#020H
+001936 F0                MOVX    @DPTR,A
+  312: 	}
+001937         ?C0097?KB_PROCESS:
+  313: 
+  314: 	if(ksSelMapCurr & 0x02)		// MODE
+001937 904D9B            MOV     DPTR,#ksSelMapCurr
+00193A E0                MOVX    A,@DPTR
+00193B FC                MOV     R4,A
+00193C A3                INC     DPTR
 00193D E0                MOVX    A,@DPTR
-00193E 4410              ORL     A,#010H
-001940 F0                MOVX    @DPTR,A
-  307: 	}
-001941         ?C0096?KB_PROCESS:
-  308: 	if(ksSelMapCurr & 0x10)		// START
-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;
-001958 904D0B            MOV     DPTR,#g_variable+04CH
-00195B E0                MOVX    A,@DPTR
-00195C 4420              ORL     A,#020H
-00195E F0                MOVX    @DPTR,A
-  311: 	}
-00195F         ?C0097?KB_PROCESS:
-  312: 
-  313: 	if(ksSelMapCurr & 0x02)		// MODE
-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;	
-001976 904D0C            MOV     DPTR,#g_variable+04DH
-001979 E0                MOVX    A,@DPTR
-00197A 4401              ORL     A,#01H
-00197C F0                MOVX    @DPTR,A
-  316: 	}
-00197D         ?C0098?KB_PROCESS:
-  317: 
-  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.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
+00193E FD                MOV     R5,A
+00193F A3                INC     DPTR
+001940 E0                MOVX    A,@DPTR
+001941 FE                MOV     R6,A
+001942 A3                INC     DPTR
+001943 E0                MOVX    A,@DPTR
+001944 5402              ANL     A,#02H
+001946 FF                MOV     R7,A
+001947 E4                CLR     A
+001948 FE                MOV     R6,A
+001949 FD                MOV     R5,A
+00194A FC                MOV     R4,A
+00194B EF                MOV     A,R7
+00194C 6007              JZ      ?C0098?KB_PROCESS
+  315: 	{
+  316: 		g_variable.gamepad_key1 |= 0x01;	
+00194E 904D0C            MOV     DPTR,#g_variable+04DH
+001951 E0                MOVX    A,@DPTR
+001952 4401              ORL     A,#01H
+001954 F0                MOVX    @DPTR,A
+  317: 	}
+001955         ?C0098?KB_PROCESS:
+  318: 
+  319: /*
+  320: 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  321: 	{
+  322: 		if((g_variable.gamepad_key1_last == 0) && (g_variable.gamepad_key1 == 1))
+  323: 		{
+  324: 			if(g_variable.system_mode)
+  325: 				g_variable.system_mode = 0;
+  326: 			else
+  327: 				g_variable.system_mode = 1;
+  328: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_MODE;
+  329: 		}
+  330: 	}
+  331: 	g_variable.gamepad_key1_last = g_variable.gamepad_key1;
+  332: 
+  333: */
+  334: 
+  335: 	if(g_variable.gamepad_z != 0x80 || g_variable.gamepad_rz != 0x80 || g_variable.gamepad_x != 0x80 || g_variable.g
+>> amepad_y != 0x80
+001955 904D06            MOV     DPTR,#g_variable+047H
+001958 E0                MOVX    A,@DPTR
+001959 6480              XRL     A,#080H
+00195B 701D              JNZ     ?C0100?KB_PROCESS
+00195D A3                INC     DPTR
+00195E E0                MOVX    A,@DPTR
+00195F 6480              XRL     A,#080H
+001961 7017              JNZ     ?C0100?KB_PROCESS
+001963 A3                INC     DPTR
+001964 E0                MOVX    A,@DPTR
+001965 B48012            CJNE    A,#080H,?C0100?KB_PROCESS
+001968 A3                INC     DPTR
+001969 E0                MOVX    A,@DPTR
+00196A B4800D            CJNE    A,#080H,?C0100?KB_PROCESS
+00196D A3                INC     DPTR
+00196E E0                MOVX    A,@DPTR
+00196F B40F08            CJNE    A,#0FH,?C0100?KB_PROCESS
+001972 A3                INC     DPTR
+001973 E0                MOVX    A,@DPTR
+001974 6004              JZ      ?C0100?KB_PROCESS
+001976 A3                INC     DPTR
+001977 E0                MOVX    A,@DPTR
+001978 7007              JNZ     ?C0099?KB_PROCESS
+00197A         ?C0100?KB_PROCESS:
+  336: 	|| g_variable.gamepad_hatswitch != 0x0f || !g_variable.gamepad_key0 || !g_variable.gamepad_key1)
+  337: 		g_variable.sleepTimer = 0;
+00197A E4                CLR     A
+00197B 904CF5            MOV     DPTR,#g_variable+036H
+00197E F0                MOVX    @DPTR,A
+00197F A3                INC     DPTR
+001980 F0                MOVX    @DPTR,A
+001981         ?C0099?KB_PROCESS:
+  338: 
+  339: 	multikey[0] = HID_REPORTID_GAMEPAD;
+001981 904DE9            MOV     DPTR,#multikey
+001984 7409              MOV     A,#09H
+001986 F0                MOVX    @DPTR,A
+  340: 	multikey[1] = g_variable.gamepad_z;
+001987 904D06            MOV     DPTR,#g_variable+047H
+00198A E0                MOVX    A,@DPTR
+00198B 904DEA            MOV     DPTR,#multikey+01H
+00198E F0                MOVX    @DPTR,A
+  341: 	multikey[2] = g_variable.gamepad_rz;
+00198F 904D07            MOV     DPTR,#g_variable+048H
+001992 E0                MOVX    A,@DPTR
+001993 904DEB            MOV     DPTR,#multikey+02H
+001996 F0                MOVX    @DPTR,A
+  342: 	multikey[3] = g_variable.gamepad_x;
+001997 904D08            MOV     DPTR,#g_variable+049H
+00199A E0                MOVX    A,@DPTR
+00199B 904DEC            MOV     DPTR,#multikey+03H
+00199E F0                MOVX    @DPTR,A
+  343: 	multikey[4] = g_variable.gamepad_y;
+00199F 904D09            MOV     DPTR,#g_variable+04AH
+0019A2 E0                MOVX    A,@DPTR
+0019A3 904DED            MOV     DPTR,#multikey+04H
 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
+  344: 	multikey[5] = g_variable.gamepad_hatswitch;
+0019A7 904D0A            MOV     DPTR,#g_variable+04BH
 0019AA E0                MOVX    A,@DPTR
-0019AB A3                INC     DPTR
-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 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
+0019AB 904DEE            MOV     DPTR,#multikey+05H
+0019AE F0                MOVX    @DPTR,A
+  345: 	multikey[6] = g_variable.gamepad_key0;
+0019AF 904D0B            MOV     DPTR,#g_variable+04CH
+0019B2 E0                MOVX    A,@DPTR
+0019B3 904DEF            MOV     DPTR,#multikey+06H
+0019B6 F0                MOVX    @DPTR,A
+  346: 	multikey[7] = g_variable.gamepad_key1;
+0019B7 904D0C            MOV     DPTR,#g_variable+04DH
+0019BA E0                MOVX    A,@DPTR
+0019BB 904DF0            MOV     DPTR,#multikey+07H
+0019BE F0                MOVX    @DPTR,A
+  347: 	IPC_TxHidData(multikey, 8);
+0019BF 7B01              MOV     R3,#01H
+0019C1 7A4D              MOV     R2,#HIGH multikey
+0019C3 79E9              MOV     R1,#LOW multikey
+0019C5 7D08              MOV     R5,#08H
+0019C7 120FE8            LCALL   _IPC_TxHidData
+  348: 	xmemclear(multikey,9);
+0019CA 7B01              MOV     R3,#01H
+0019CC 7A4D              MOV     R2,#HIGH multikey
+0019CE 79E9              MOV     R1,#LOW multikey
+0019D0 7D09              MOV     R5,#09H
+0019D2 7C00              MOV     R4,#00H
 ;----                  JMP     _xmemclear
-  346: }
+  349: }
 ----- FUNCTION kb_set_gamepad_data (END) -------
 
 
 ----- FUNCTION _xmemclear (BEGIN) -----
-001A2C 904E74            MOV     DPTR,#dest
-001A2F EB                MOV     A,R3
-001A30 F0                MOVX    @DPTR,A
-001A31 A3                INC     DPTR
-001A32 EA                MOV     A,R2
-001A33 F0                MOVX    @DPTR,A
-001A34 A3                INC     DPTR
-001A35 E9                MOV     A,R1
-001A36 F0                MOVX    @DPTR,A
+0019D4 904E74            MOV     DPTR,#dest
+0019D7 EB                MOV     A,R3
+0019D8 F0                MOVX    @DPTR,A
+0019D9 A3                INC     DPTR
+0019DA EA                MOV     A,R2
+0019DB F0                MOVX    @DPTR,A
+0019DC A3                INC     DPTR
+0019DD E9                MOV     A,R1
+0019DE 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     
+0019DF         ?C0008?UTILITIES:
+0019DF ED                MOV     A,R5
+0019E0 1D                DEC     R5
+0019E1 AE04              MOV     R6,AR4
+0019E3 7001              JNZ     ?C0026?UTILITIES
+0019E5 1C                DEC     R4
+0019E6         ?C0026?UTILITIES:
+0019E6 4E                ORL     A,R6
+0019E7 6016              JZ      ?C0010?UTILITIES
+0019E9 904E74            MOV     DPTR,#dest
+0019EC E0                MOVX    A,@DPTR
+0019ED FB                MOV     R3,A
+0019EE A3                INC     DPTR
+0019EF E4                CLR     A
+0019F0 75F001            MOV     B,#01H
+0019F3 120167            LCALL   ?C?ILDIX
+0019F6 A9F0              MOV     R1,B
+0019F8 FA                MOV     R2,A
+0019F9 E4                CLR     A
+0019FA 12013F            LCALL   ?C?CSTPTR
+0019FD 80E0              SJMP    ?C0008?UTILITIES
+0019FF         ?C0010?UTILITIES:
+0019FF 22                RET     
 ----- FUNCTION _xmemclear (END) -------
 
 
@@ -5281,65 +5230,65 @@
    14: {
    15: 	xmemclear((byte *)&g_variable,sizeof(G_VARIABLE_MAP));
    16: 	xmemclear(hidBuff,9);
-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
+001A00 7B01              MOV     R3,#01H
+001A02 7A4C              MOV     R2,#HIGH g_variable
+001A04 79BF              MOV     R1,#LOW g_variable
+001A06 7D57              MOV     R5,#057H
+001A08 7C00              MOV     R4,#00H
+001A0A 31D4              ACALL   _xmemclear
    17: 	xmemclear(multikey,9);
-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
+001A0C 7B01              MOV     R3,#01H
+001A0E 7A48              MOV     R2,#HIGH hidBuff
+001A10 7900              MOV     R1,#LOW hidBuff
+001A12 7D09              MOV     R5,#09H
+001A14 7C00              MOV     R4,#00H
+001A16 31D4              ACALL   _xmemclear
    18:  
-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
+001A18 7B01              MOV     R3,#01H
+001A1A 7A4D              MOV     R2,#HIGH multikey
+001A1C 79E9              MOV     R1,#LOW multikey
+001A1E 7D09              MOV     R5,#09H
+001A20 7C00              MOV     R4,#00H
+001A22 31D4              ACALL   _xmemclear
    19: 	delayChgInvTimer = 0;
-001A7C E4                CLR     A
-001A7D 904DE0            MOV     DPTR,#delayChgInvTimer
-001A80 F0                MOVX    @DPTR,A
+001A24 E4                CLR     A
+001A25 904DE0            MOV     DPTR,#delayChgInvTimer
+001A28 F0                MOVX    @DPTR,A
    20: 	action_timeout = 0;
-001A81 904DE6            MOV     DPTR,#action_timeout
-001A84 F0                MOVX    @DPTR,A
+001A29 904DE6            MOV     DPTR,#action_timeout
+001A2C F0                MOVX    @DPTR,A
    21: 
    22: 
    23: 	power_on_flag = 0;
-001A85 904DE5            MOV     DPTR,#power_on_flag
-001A88 F0                MOVX    @DPTR,A
+001A2D 904DE5            MOV     DPTR,#power_on_flag
+001A30 F0                MOVX    @DPTR,A
    24: 	repeat_send_24g = 0;
-001A89 904DD6            MOV     DPTR,#repeat_send_24g
-001A8C F0                MOVX    @DPTR,A
+001A31 904DD6            MOV     DPTR,#repeat_send_24g
+001A34 F0                MOVX    @DPTR,A
    25: 	get_24g_led_send = 0;
-001A8D 904DD0            MOV     DPTR,#get_24g_led_send
-001A90 F0                MOVX    @DPTR,A
+001A35 904DD0            MOV     DPTR,#get_24g_led_send
+001A38 F0                MOVX    @DPTR,A
    26: 	press_long_time_flag = 0;
-001A91 904DDC            MOV     DPTR,#press_long_time_flag
-001A94 F0                MOVX    @DPTR,A
+001A39 904DDC            MOV     DPTR,#press_long_time_flag
+001A3C F0                MOVX    @DPTR,A
    27: 	mult_key_status = 0;
-001A95 904DE8            MOV     DPTR,#mult_key_status
-001A98 F0                MOVX    @DPTR,A
+001A3D 904DE8            MOV     DPTR,#mult_key_status
+001A40 F0                MOVX    @DPTR,A
    28: 	long_press_flag = 0;
-001A99 904DD5            MOV     DPTR,#long_press_flag
-001A9C F0                MOVX    @DPTR,A
+001A41 904DD5            MOV     DPTR,#long_press_flag
+001A44 F0                MOVX    @DPTR,A
    29: 	standard_key_release_flag = 0;
-001A9D 904DD8            MOV     DPTR,#standard_key_release_flag
-001AA0 F0                MOVX    @DPTR,A
+001A45 904DD8            MOV     DPTR,#standard_key_release_flag
+001A48 F0                MOVX    @DPTR,A
    30: 
    31: 	mult_key_value = 0;
-001AA1 904DE7            MOV     DPTR,#mult_key_value
-001AA4 F0                MOVX    @DPTR,A
+001A49 904DE7            MOV     DPTR,#mult_key_value
+001A4C F0                MOVX    @DPTR,A
    32: 	m_reconnect_continue = 0;
-001AA5 904D38            MOV     DPTR,#m_reconnect_continue
-001AA8 F0                MOVX    @DPTR,A
+001A4D 904D38            MOV     DPTR,#m_reconnect_continue
+001A50 F0                MOVX    @DPTR,A
    33: }
-001AA9 22                RET     
+001A51 22                RET     
 ----- FUNCTION System_clear_mem (END) -------
 
 
@@ -5349,27 +5298,27 @@
    54: {
    55: 	System_clear_mem();
    56: 	YC_adc_init();
-001AAA 5158              ACALL   System_clear_mem
+001A52 5100              ACALL   System_clear_mem
    57: 	g_variable.release_data =1;
-001AAC 51C6              ACALL   YC_adc_init
+001A54 516E              ACALL   YC_adc_init
    58: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-001AAE 904CFA            MOV     DPTR,#g_variable+03BH
-001AB1 7401              MOV     A,#01H
-001AB3 F0                MOVX    @DPTR,A
+001A56 904CFA            MOV     DPTR,#g_variable+03BH
+001A59 7401              MOV     A,#01H
+001A5B F0                MOVX    @DPTR,A
    59: 	g_variable.recon_count = 0;
-001AB4 904CF7            MOV     DPTR,#g_variable+038H
-001AB7 741E              MOV     A,#01EH
-001AB9 F0                MOVX    @DPTR,A
+001A5C 904CF7            MOV     DPTR,#g_variable+038H
+001A5F 741E              MOV     A,#01EH
+001A61 F0                MOVX    @DPTR,A
    60: 	g_variable.test_buff = 0xff;
-001ABA E4                CLR     A
-001ABB 904CFF            MOV     DPTR,#g_variable+040H
-001ABE F0                MOVX    @DPTR,A
+001A62 E4                CLR     A
+001A63 904CFF            MOV     DPTR,#g_variable+040H
+001A66 F0                MOVX    @DPTR,A
    61: }
-001ABF 904D15            MOV     DPTR,#g_variable+056H
-001AC2 74FF              MOV     A,#0FFH
-001AC4 F0                MOVX    @DPTR,A
+001A67 904D15            MOV     DPTR,#g_variable+056H
+001A6A 74FF              MOV     A,#0FFH
+001A6C F0                MOVX    @DPTR,A
    62: 
-001AC5 22                RET     
+001A6D 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -5380,68 +5329,68 @@
     5: 	byte i;
     6: 
     7: 	g_variable.battery_gamepad_value_index = 0;
-001AC6 E4                CLR     A
-001AC7 904CDC            MOV     DPTR,#g_variable+01DH
-001ACA F0                MOVX    @DPTR,A
+001A6E E4                CLR     A
+001A6F 904CDC            MOV     DPTR,#g_variable+01DH
+001A72 F0                MOVX    @DPTR,A
     8: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-001ACB FF                MOV     R7,A
-001ACC         ?C0001?ADC:
+001A73 FF                MOV     R7,A
+001A74         ?C0001?ADC:
     9: 	{
    10: 		g_variable.battery_gamepad_value0[i] = INIT_BATTERY_VALUE_GPIO;
-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
+001A74 EF                MOV     A,R7
+001A75 25E0              ADD     A,ACC
+001A77 24DD              ADD     A,#LOW g_variable+01EH
+001A79 F582              MOV     DPL,A
+001A7B E4                CLR     A
+001A7C 344C              ADDC    A,#HIGH g_variable+01EH
+001A7E F583              MOV     DPH,A
+001A80 745E              MOV     A,#05EH
+001A82 F0                MOVX    @DPTR,A
+001A83 A3                INC     DPTR
+001A84 F0                MOVX    @DPTR,A
    11: 		g_variable.battery_gamepad_value1[i] = INIT_BATTERY_VALUE_GPIO;
-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
+001A85 EF                MOV     A,R7
+001A86 25E0              ADD     A,ACC
+001A88 24E3              ADD     A,#LOW g_variable+024H
+001A8A F582              MOV     DPL,A
+001A8C E4                CLR     A
+001A8D 344C              ADDC    A,#HIGH g_variable+024H
+001A8F F583              MOV     DPH,A
+001A91 745E              MOV     A,#05EH
+001A93 F0                MOVX    @DPTR,A
+001A94 A3                INC     DPTR
+001A95 F0                MOVX    @DPTR,A
    12: 		g_variable.battery_gamepad_value2[i] = INIT_BATTERY_VALUE_GPIO;
-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
+001A96 EF                MOV     A,R7
+001A97 25E0              ADD     A,ACC
+001A99 24E9              ADD     A,#LOW g_variable+02AH
+001A9B F582              MOV     DPL,A
+001A9D E4                CLR     A
+001A9E 344C              ADDC    A,#HIGH g_variable+02AH
+001AA0 F583              MOV     DPH,A
+001AA2 745E              MOV     A,#05EH
+001AA4 F0                MOVX    @DPTR,A
+001AA5 A3                INC     DPTR
+001AA6 F0                MOVX    @DPTR,A
    13: 		g_variable.battery_gamepad_value3[i] = INIT_BATTERY_VALUE_GPIO;
-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
+001AA7 EF                MOV     A,R7
+001AA8 25E0              ADD     A,ACC
+001AAA 24EF              ADD     A,#LOW g_variable+030H
+001AAC F582              MOV     DPL,A
+001AAE E4                CLR     A
+001AAF 344C              ADDC    A,#HIGH g_variable+030H
+001AB1 F583              MOV     DPH,A
+001AB3 745E              MOV     A,#05EH
+001AB5 F0                MOVX    @DPTR,A
+001AB6 A3                INC     DPTR
+001AB7 F0                MOVX    @DPTR,A
    14: 	}
-001B10 0F                INC     R7
-001B11 EF                MOV     A,R7
-001B12 B403B7            CJNE    A,#03H,?C0001?ADC
+001AB8 0F                INC     R7
+001AB9 EF                MOV     A,R7
+001ABA B403B7            CJNE    A,#03H,?C0001?ADC
    15: }
-001B15 22                RET     
+001ABD 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -5453,23 +5402,23 @@
    13: 	unsigned char c;
    14: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-001B16 E4                CLR     A
-001B17 FE                MOV     R6,A
-001B18         ?C0001?KEYSCAN:
-001B18 EF                MOV     A,R7
-001B19 6006              JZ      ?C0002?KEYSCAN
+001ABE E4                CLR     A
+001ABF FE                MOV     R6,A
+001AC0         ?C0001?KEYSCAN:
+001AC0 EF                MOV     A,R7
+001AC1 6006              JZ      ?C0002?KEYSCAN
    15:     	v &= v - 1;
-001B1B 14                DEC     A
-001B1C 5F                ANL     A,R7
-001B1D FF                MOV     R7,A
+001AC3 14                DEC     A
+001AC4 5F                ANL     A,R7
+001AC5 FF                MOV     R7,A
    16:     }
-001B1E 0E                INC     R6
-001B1F 80F7              SJMP    ?C0001?KEYSCAN
-001B21         ?C0002?KEYSCAN:
+001AC6 0E                INC     R6
+001AC7 80F7              SJMP    ?C0001?KEYSCAN
+001AC9         ?C0002?KEYSCAN:
    17:     return c;
-001B21 AF06              MOV     R7,AR6
+001AC9 AF06              MOV     R7,AR6
    18: }
-001B23 22                RET     
+001ACB 22                RET     
 ----- FUNCTION _bit_count (END) -------
 
 
@@ -5477,53 +5426,53 @@
  FILE: 'keyscan.c'
    63: byte array_is_empty(byte * str1,byte len)
    64: {
-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
+001ACC 904E6E            MOV     DPTR,#str1
+001ACF EB                MOV     A,R3
+001AD0 F0                MOVX    @DPTR,A
+001AD1 A3                INC     DPTR
+001AD2 EA                MOV     A,R2
+001AD3 F0                MOVX    @DPTR,A
+001AD4 A3                INC     DPTR
+001AD5 E9                MOV     A,R1
+001AD6 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' ----
-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
+001AD7 E4                CLR     A
+001AD8 FF                MOV     R7,A
+001AD9         ?C0019?KEYSCAN:
+001AD9 EF                MOV     A,R7
+001ADA C3                CLR     C
+001ADB 9D                SUBB    A,R5
+001ADC 501B              JNC     ?C0020?KEYSCAN
    67: 	{
    68: 		if (str1[i] != 0)
-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
+001ADE 904E6E            MOV     DPTR,#str1
+001AE1 E0                MOVX    A,@DPTR
+001AE2 FB                MOV     R3,A
+001AE3 A3                INC     DPTR
+001AE4 E0                MOVX    A,@DPTR
+001AE5 FA                MOV     R2,A
+001AE6 A3                INC     DPTR
+001AE7 E0                MOVX    A,@DPTR
+001AE8 F9                MOV     R1,A
+001AE9 8F82              MOV     DPL,R7
+001AEB 758300            MOV     DPH,#00H
+001AEE 120112            LCALL   ?C?CLDOPTR
+001AF1 6003              JZ      ?C0021?KEYSCAN
    69: 			return 0x00;
-001B4B 7F00              MOV     R7,#00H
-001B4D 22                RET     
+001AF3 7F00              MOV     R7,#00H
+001AF5 22                RET     
    70: 	}
-001B4E         ?C0021?KEYSCAN:
-001B4E 0F                INC     R7
-001B4F 80E0              SJMP    ?C0019?KEYSCAN
-001B51         ?C0020?KEYSCAN:
+001AF6         ?C0021?KEYSCAN:
+001AF6 0F                INC     R7
+001AF7 80E0              SJMP    ?C0019?KEYSCAN
+001AF9         ?C0020?KEYSCAN:
    71: 	return 0x01;
-001B51 7F01              MOV     R7,#01H
+001AF9 7F01              MOV     R7,#01H
    72: }
-001B53 22                RET     
+001AFB 22                RET     
 ----- FUNCTION _array_is_empty (END) -------
 
 
@@ -5533,13 +5482,13 @@
    64: {
    65: 	m_reset_reg = 1;
    66: 	while(1);
-001B54 908010            MOV     DPTR,#m_reset_reg
-001B57 7401              MOV     A,#01H
-001B59 F0                MOVX    @DPTR,A
-001B5A         ?C0005?SYS:
+001AFC 908010            MOV     DPTR,#m_reset_reg
+001AFF 7401              MOV     A,#01H
+001B01 F0                MOVX    @DPTR,A
+001B02         ?C0005?SYS:
    67: }
-001B5A 80FE              SJMP    ?C0005?SYS
-001B5C 22                RET     
+001B02 80FE              SJMP    ?C0005?SYS
+001B04 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -5549,7 +5498,7 @@
    88: {
    89: 	System_Hardware_reset();
    90: }
-001B5D 80F5              SJMP    System_Hardware_reset
+001B05 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -5557,21 +5506,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
-001B5F 904E7D            MOV     DPTR,#len
-001B62 ED                MOV     A,R5
-001B63 F0                MOVX    @DPTR,A
+001B07 904E7D            MOV     DPTR,#len
+001B0A ED                MOV     A,R5
+001B0B F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
    99: 	byte temp = p[1];
-001B64 900001            MOV     DPTR,#01H
-001B67 120112            LCALL   ?C?CLDOPTR
-001B6A 904E7E            MOV     DPTR,#temp
-001B6D F0                MOVX    @DPTR,A
+001B0C 900001            MOV     DPTR,#01H
+001B0F 120112            LCALL   ?C?CLDOPTR
+001B12 904E7E            MOV     DPTR,#temp
+001B15 F0                MOVX    @DPTR,A
   100: 
   101: 	if (len<2) {
   102: 		return;
   103: 	}
   104: }
-001B6E 22                RET     
+001B16 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
@@ -5581,347 +5530,347 @@
    18: {
    19: }
    20: 
-001B6F 22                RET     
+001B17 22                RET     
 ----- FUNCTION YC_adc_check_timer500ms (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-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
+001B18 904E66            MOV     DPTR,#rptr
+001B1B EE                MOV     A,R6
+001B1C F0                MOVX    @DPTR,A
+001B1D A3                INC     DPTR
+001B1E EF                MOV     A,R7
+001B1F F0                MOVX    @DPTR,A
+001B20 904E68            MOV     DPTR,#wptr
+001B23 EC                MOV     A,R4
+001B24 F0                MOVX    @DPTR,A
+001B25 A3                INC     DPTR
+001B26 ED                MOV     A,R5
+001B27 F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-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 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 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     
+001B28 904E68            MOV     DPTR,#wptr
+001B2B E0                MOVX    A,@DPTR
+001B2C FE                MOV     R6,A
+001B2D A3                INC     DPTR
+001B2E E0                MOVX    A,@DPTR
+001B2F FF                MOV     R7,A
+001B30 D3                SETB    C
+001B31 904E67            MOV     DPTR,#rptr+01H
+001B34 E0                MOVX    A,@DPTR
+001B35 9F                SUBB    A,R7
+001B36 904E66            MOV     DPTR,#rptr
+001B39 E0                MOVX    A,@DPTR
+001B3A 9E                SUBB    A,R6
+001B3B 4016              JC      ?C0001?IPC
+001B3D 904E68            MOV     DPTR,#wptr
+001B40 E0                MOVX    A,@DPTR
+001B41 FE                MOV     R6,A
+001B42 A3                INC     DPTR
+001B43 E0                MOVX    A,@DPTR
+001B44 FF                MOV     R7,A
+001B45 904E67            MOV     DPTR,#rptr+01H
+001B48 E0                MOVX    A,@DPTR
+001B49 9F                SUBB    A,R7
+001B4A FF                MOV     R7,A
+001B4B 904E66            MOV     DPTR,#rptr
+001B4E E0                MOVX    A,@DPTR
+001B4F 9E                SUBB    A,R6
+001B50 FE                MOV     R6,A
+001B51 801E              SJMP    ?C0002?IPC
+001B53         ?C0001?IPC:
+001B53 904E66            MOV     DPTR,#rptr
+001B56 E0                MOVX    A,@DPTR
+001B57 FE                MOV     R6,A
+001B58 A3                INC     DPTR
+001B59 E0                MOVX    A,@DPTR
+001B5A FF                MOV     R7,A
+001B5B C3                CLR     C
+001B5C 904E69            MOV     DPTR,#wptr+01H
+001B5F E0                MOVX    A,@DPTR
+001B60 9F                SUBB    A,R7
+001B61 FF                MOV     R7,A
+001B62 904E68            MOV     DPTR,#wptr
+001B65 E0                MOVX    A,@DPTR
+001B66 9E                SUBB    A,R6
+001B67 FE                MOV     R6,A
+001B68 AD03              MOV     R5,AR3
+001B6A C3                CLR     C
+001B6B EB                MOV     A,R3
+001B6C 9F                SUBB    A,R7
+001B6D FF                MOV     R7,A
+001B6E E4                CLR     A
+001B6F 9E                SUBB    A,R6
+001B70 FE                MOV     R6,A
+001B71         ?C0002?IPC:
+001B71 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-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
+001B72 904E7F            MOV     DPTR,#dest
+001B75 EE                MOV     A,R6
+001B76 F0                MOVX    @DPTR,A
+001B77 A3                INC     DPTR
+001B78 EF                MOV     A,R7
+001B79 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-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
+001B7A A905              MOV     R1,AR5
+001B7C 904B9E            MOV     DPTR,#ipcRxReadPtr
+001B7F E0                MOVX    A,@DPTR
+001B80 FE                MOV     R6,A
+001B81 A3                INC     DPTR
+001B82 E0                MOVX    A,@DPTR
+001B83 FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-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 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     
+001B84         ?C0004?IPC:
+001B84 AD01              MOV     R5,AR1
+001B86 19                DEC     R1
+001B87 ED                MOV     A,R5
+001B88 602F              JZ      ?C0005?IPC
+001B8A 0F                INC     R7
+001B8B EF                MOV     A,R7
+001B8C AC06              MOV     R4,AR6
+001B8E 7001              JNZ     ?C0036?IPC
+001B90 0E                INC     R6
+001B91         ?C0036?IPC:
+001B91 14                DEC     A
+001B92 F582              MOV     DPL,A
+001B94 8C83              MOV     DPH,R4
+001B96 E0                MOVX    A,@DPTR
+001B97 FD                MOV     R5,A
+001B98 904E7F            MOV     DPTR,#dest
+001B9B E4                CLR     A
+001B9C 75F001            MOV     B,#01H
+001B9F 120167            LCALL   ?C?ILDIX
+001BA2 85F082            MOV     DPL,B
+001BA5 F583              MOV     DPH,A
+001BA7 ED                MOV     A,R5
+001BA8 F0                MOVX    @DPTR,A
+001BA9 AD07              MOV     R5,AR7
+001BAB AC06              MOV     R4,AR6
+001BAD BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+001BB0 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+001BB3 7E4B              MOV     R6,#04BH
+001BB5 7F36              MOV     R7,#036H
+001BB7 80CB              SJMP    ?C0004?IPC
+001BB9         ?C0005?IPC:
+001BB9 904B9E            MOV     DPTR,#ipcRxReadPtr
+001BBC EE                MOV     A,R6
+001BBD F0                MOVX    @DPTR,A
+001BBE A3                INC     DPTR
+001BBF EF                MOV     A,R7
+001BC0 F0                MOVX    @DPTR,A
+001BC1 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-001C1A 900446            MOV     DPTR,#bbDisReason
-001C1D E0                MOVX    A,@DPTR
-001C1E FF                MOV     R7,A
-001C1F 22                RET     
+001BC2 900446            MOV     DPTR,#bbDisReason
+001BC5 E0                MOVX    A,@DPTR
+001BC6 FF                MOV     R7,A
+001BC7 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-001C20 908280            MOV     DPTR,#08280H
-001C23 7401              MOV     A,#01H
-001C25 F0                MOVX    @DPTR,A
-001C26 22                RET     
+001BC8 908280            MOV     DPTR,#08280H
+001BCB 7401              MOV     A,#01H
+001BCD F0                MOVX    @DPTR,A
+001BCE 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _xmemclear_ff (BEGIN) -----
-001C27 904E77            MOV     DPTR,#dest
-001C2A EB                MOV     A,R3
-001C2B F0                MOVX    @DPTR,A
-001C2C A3                INC     DPTR
-001C2D EA                MOV     A,R2
-001C2E F0                MOVX    @DPTR,A
-001C2F A3                INC     DPTR
-001C30 E9                MOV     A,R1
-001C31 F0                MOVX    @DPTR,A
+001BCF 904E77            MOV     DPTR,#dest
+001BD2 EB                MOV     A,R3
+001BD3 F0                MOVX    @DPTR,A
+001BD4 A3                INC     DPTR
+001BD5 EA                MOV     A,R2
+001BD6 F0                MOVX    @DPTR,A
+001BD7 A3                INC     DPTR
+001BD8 E9                MOV     A,R1
+001BD9 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     
+001BDA         ?C0011?UTILITIES:
+001BDA ED                MOV     A,R5
+001BDB 1D                DEC     R5
+001BDC AE04              MOV     R6,AR4
+001BDE 7001              JNZ     ?C0027?UTILITIES
+001BE0 1C                DEC     R4
+001BE1         ?C0027?UTILITIES:
+001BE1 4E                ORL     A,R6
+001BE2 6017              JZ      ?C0013?UTILITIES
+001BE4 904E77            MOV     DPTR,#dest
+001BE7 E0                MOVX    A,@DPTR
+001BE8 FB                MOV     R3,A
+001BE9 A3                INC     DPTR
+001BEA E4                CLR     A
+001BEB 75F001            MOV     B,#01H
+001BEE 120167            LCALL   ?C?ILDIX
+001BF1 A9F0              MOV     R1,B
+001BF3 FA                MOV     R2,A
+001BF4 74FF              MOV     A,#0FFH
+001BF6 12013F            LCALL   ?C?CSTPTR
+001BF9 80DF              SJMP    ?C0011?UTILITIES
+001BFB         ?C0013?UTILITIES:
+001BFB 22                RET     
 ----- FUNCTION _xmemclear_ff (END) -------
 
 
 ----- FUNCTION _compare_str (BEGIN) -----
-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
+001BFC 904E47            MOV     DPTR,#str1
+001BFF EB                MOV     A,R3
+001C00 F0                MOVX    @DPTR,A
+001C01 A3                INC     DPTR
+001C02 EA                MOV     A,R2
+001C03 F0                MOVX    @DPTR,A
+001C04 A3                INC     DPTR
+001C05 E9                MOV     A,R1
+001C06 F0                MOVX    @DPTR,A
 ;---- Variable 'i' assigned to Register 'R7' ----
-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     
+001C07 E4                CLR     A
+001C08 FF                MOV     R7,A
+001C09         ?C0021?UTILITIES:
+001C09 904E4D            MOV     DPTR,#len
+001C0C E0                MOVX    A,@DPTR
+001C0D FE                MOV     R6,A
+001C0E EF                MOV     A,R7
+001C0F C3                CLR     C
+001C10 9E                SUBB    A,R6
+001C11 5030              JNC     ?C0022?UTILITIES
+001C13 904E4A            MOV     DPTR,#str2
+001C16 E0                MOVX    A,@DPTR
+001C17 FB                MOV     R3,A
+001C18 A3                INC     DPTR
+001C19 E0                MOVX    A,@DPTR
+001C1A FA                MOV     R2,A
+001C1B A3                INC     DPTR
+001C1C E0                MOVX    A,@DPTR
+001C1D F9                MOV     R1,A
+001C1E 8F82              MOV     DPL,R7
+001C20 758300            MOV     DPH,#00H
+001C23 120112            LCALL   ?C?CLDOPTR
+001C26 FE                MOV     R6,A
+001C27 904E47            MOV     DPTR,#str1
+001C2A E0                MOVX    A,@DPTR
+001C2B FB                MOV     R3,A
+001C2C A3                INC     DPTR
+001C2D E0                MOVX    A,@DPTR
+001C2E FA                MOV     R2,A
+001C2F A3                INC     DPTR
+001C30 E0                MOVX    A,@DPTR
+001C31 F9                MOV     R1,A
+001C32 8F82              MOV     DPL,R7
+001C34 758300            MOV     DPH,#00H
+001C37 120112            LCALL   ?C?CLDOPTR
+001C3A 6E                XRL     A,R6
+001C3B 6003              JZ      ?C0023?UTILITIES
+001C3D 7F00              MOV     R7,#00H
+001C3F 22                RET     
+001C40         ?C0023?UTILITIES:
+001C40 0F                INC     R7
+001C41 80C6              SJMP    ?C0021?UTILITIES
+001C43         ?C0022?UTILITIES:
+001C43 7F01              MOV     R7,#01H
+001C45 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-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
+001C46 EF                MOV     A,R7
+001C47 F4                CPL     A
+001C48 603A              JZ      ?C0023?GPIO
+001C4A         ?C0022?GPIO:
+001C4A EF                MOV     A,R7
+001C4B 5407              ANL     A,#07H
+001C4D FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-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
+001C4E EF                MOV     A,R7
+001C4F 13                RRC     A
+001C50 13                RRC     A
+001C51 13                RRC     A
+001C52 5403              ANL     A,#03H
+001C54 FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-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     
+001C55 24A3              ADD     A,#LOW YC_GPIOWakeupL
+001C57 F582              MOV     DPL,A
+001C59 E4                CLR     A
+001C5A 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+001C5C F583              MOV     DPH,A
+001C5E C083              PUSH    DPH
+001C60 C082              PUSH    DPL
+001C62 E0                MOVX    A,@DPTR
+001C63 FD                MOV     R5,A
+001C64 7401              MOV     A,#01H
+001C66 A806              MOV     R0,AR6
+001C68 08                INC     R0
+001C69 8002              SJMP    ?C0043?GPIO
+001C6B         ?C0042?GPIO:
+001C6B C3                CLR     C
+001C6C 33                RLC     A
+001C6D         ?C0043?GPIO:
+001C6D D8FC              DJNZ    R0,?C0042?GPIO
+001C6F F4                CPL     A
+001C70 FC                MOV     R4,A
+001C71 5D                ANL     A,R5
+001C72 D082              POP     DPL
+001C74 D083              POP     DPH
+001C76 F0                MOVX    @DPTR,A
+001C77 74A7              MOV     A,#LOW YC_GPIOWakeupH
+001C79 2F                ADD     A,R7
+001C7A F582              MOV     DPL,A
+001C7C E4                CLR     A
+001C7D 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+001C7F F583              MOV     DPH,A
+001C81 E0                MOVX    A,@DPTR
+001C82 5C                ANL     A,R4
+001C83 F0                MOVX    @DPTR,A
+001C84         ?C0023?GPIO:
+001C84 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-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     
+001C85 E4                CLR     A
+001C86 FF                MOV     R7,A
+001C87         ?C0026?GPIO:
+001C87 EF                MOV     A,R7
+001C88 FD                MOV     R5,A
+001C89 7C00              MOV     R4,#00H
+001C8B 2478              ADD     A,#078H
+001C8D FB                MOV     R3,A
+001C8E EC                MOV     A,R4
+001C8F 3480              ADDC    A,#080H
+001C91 8B82              MOV     DPL,R3
+001C93 F583              MOV     DPH,A
+001C95 E0                MOVX    A,@DPTR
+001C96 FE                MOV     R6,A
+001C97 ED                MOV     A,R5
+001C98 2470              ADD     A,#070H
+001C9A FD                MOV     R5,A
+001C9B EC                MOV     A,R4
+001C9C 3480              ADDC    A,#080H
+001C9E 8D82              MOV     DPL,R5
+001CA0 F583              MOV     DPH,A
+001CA2 E0                MOVX    A,@DPTR
+001CA3 4E                ORL     A,R6
+001CA4 F4                CPL     A
+001CA5 FE                MOV     R6,A
+001CA6 EF                MOV     A,R7
+001CA7 247C              ADD     A,#07CH
+001CA9 FD                MOV     R5,A
+001CAA EC                MOV     A,R4
+001CAB 3480              ADDC    A,#080H
+001CAD 8D82              MOV     DPL,R5
+001CAF F583              MOV     DPH,A
+001CB1 EE                MOV     A,R6
+001CB2 F0                MOVX    @DPTR,A
+001CB3 0F                INC     R7
+001CB4 EF                MOV     A,R7
+001CB5 B404CF            CJNE    A,#04H,?C0026?GPIO
+001CB8 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/FW.HTM	(revision 442)
+++ /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/06/2022  12:00:13</b><p>
+Creation time: <b>06/20/2022  16:44:31</b><p>
 
 <hr>
 
@@ -49,26 +49,26 @@
 <li><a href="#S155">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S63"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001B24H - C:001B53H)</h2>
+<h2><a name="S63"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001ACCH - C:001AFBH)</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:001B54H - C:001B5CH)</h2>
+<h2><a name="S73"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001AFCH - C:001B04H)</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:001B5DH - C:001B5EH)</h2>
+<h2><a name="S75"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001B05H - C:001B06H)</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:001B5FH - C:001B6EH)</h2>
+<h2><a name="S76"></a>?PR?_KB_CB_HID?SYS (C:001B07H - C:001B16H)</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>
@@ -172,14 +172,14 @@
 <li><a href="#S182">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S136"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:001C27H - C:001C53H)</h2>
+<h2><a name="S136"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:001BCFH - C:001BFBH)</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:001C54H - C:001C9DH)</h2>
+<h2><a name="S139"></a>?PR?_COMPARE_STR?UTILITIES (C:001BFCH - C:001C45H)</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>
@@ -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:001076H - C:001A2BH)</h2>
+<h2><a name="S53"></a>?PR?KB_SET_GAMEPAD_DATA?KB_PROCESS (C:001076H - C:0019D3H)</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>
@@ -373,7 +373,7 @@
 <li><a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S69"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:001A58H - C:001AA9H)</h2>
+<h2><a name="S69"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:001A00H - C:001A51H)</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>
@@ -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:001AAAH - C:001AC5H)</h2>
+<h2><a name="S72"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:001A52H - C:001A6DH)</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>
@@ -482,21 +482,21 @@
 <li><a href="#S87">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S91"></a>?PR?YC_ADC_INIT?ADC (C:001AC6H - C:001B15H)</h2>
+<h2><a name="S91"></a>?PR?YC_ADC_INIT?ADC (C:001A6EH - C:001ABDH)</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:001B70H - C:001BC9H)</h2>
+<h2><a name="S94"></a>?PR?_BUFSIZE?IPC (C:001B18H - C:001B71H)</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:001BCAH - C:001C19H)</h2>
+<h2><a name="S96"></a>?PR?_IPCRX?IPC (C:001B72H - C:001BC1H)</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>
@@ -591,7 +591,7 @@
 <li><a href="#S174">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S134"></a>?PR?_XMEMCLEAR?UTILITIES (C:001A2CH - C:001A57H)</h2>
+<h2><a name="S134"></a>?PR?_XMEMCLEAR?UTILITIES (C:0019D4H - C:0019FFH)</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>
Index: c51/output/FW.MAP
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/FW.MAP	(revision 442)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               06/06/2022  12:00:13  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               06/20/2022  16:44:31  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   001CF9H   CODE
+C:000000H   C:000000H   C:00FFFFH   001CA1H   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
@@ -166,25 +166,25 @@
 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
+001076H   0019D3H   00095EH   BYTE   UNIT     CODE           ?PR?KB_SET_GAMEPAD_DATA?KB_PROCESS
+0019D4H   0019FFH   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
+001A00H   001A51H   000052H   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
+001A52H   001A6DH   00001CH   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+001A6EH   001ABDH   000050H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+001ABEH   001ACBH   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+001ACCH   001AFBH   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+001AFCH   001B04H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+001B05H   001B06H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+001B07H   001B16H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+001B17H   001B17H   000001H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+001B18H   001B71H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+001B72H   001BC1H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+001BC2H   001BC7H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+001BC8H   001BCEH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+001BCFH   001BFBH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+001BFCH   001C45H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+001C46H   001C84H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+001C85H   001CB8H   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,11 +343,11 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       010002F9H   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      01001B24H   CODE     ---       _array_is_empty
-      01001C54H   CODE     ---       _compare_str
+      01001ACCH   CODE     ---       _array_is_empty
+      01001BFCH   CODE     ---       _compare_str
       01000596H   CODE     ---       _Delay1ms
       01000F5FH   CODE     ---       _dmemcpy
-      01001C9EH   CODE     ---       _GPIO_ClearWakeup
+      01001C46H   CODE     ---       _GPIO_ClearWakeup
       010008DEH   CODE     ---       _GPIO_FlipOutBit
       01000E08H   CODE     ---       _GPIO_GetInputStatus
       01000A4CH   CODE     ---       _GPIO_SetInput
@@ -366,8 +366,8 @@
       01000760H   CODE     ---       _IPC_TxControlCmd
       0100104FH   CODE     ---       _IPC_TxData
       01000FE8H   CODE     ---       _IPC_TxHidData
-      01001A2CH   CODE     ---       _xmemclear
-      01001C27H   CODE     ---       _xmemclear_ff
+      010019D4H   CODE     ---       _xmemclear
+      01001BCFH   CODE     ---       _xmemclear_ff
       0100065CH   CODE     ---       _xmemcpy
       010003AEH   CODE     ---       _YC_key_action_handle
       02004DE6H   XDATA    BYTE      action_timeout
@@ -386,12 +386,12 @@
       02004DD3H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD0H   XDATA    BYTE      get_24g_led_send
-      01001CDDH   CODE     ---       GPIO_fillpd
+      01001C85H   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DDAH   XDATA    BYTE      iOS_rec_pinCode
       01000E55H   CODE     ---       IPC_AbandonLpm
       01000C06H   CODE     ---       IPC_DealSingleStep
-      01001C1AH   CODE     ---       IPC_GetBBDIsconnectReason
+      01001BC2H   CODE     ---       IPC_GetBBDIsconnectReason
       01000F13H   CODE     ---       IPC_IsTxBuffEmpty
       010009EAH   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
@@ -466,11 +466,11 @@
       02004DD4H   XDATA    BYTE      switch_role_timer
       02004DE3H   XDATA    BYTE      system_key_press
       010006A2H   CODE     ---       System_long_sleep
-      01001B5DH   CODE     ---       System_Reset_Connect
-      01001AAAH   CODE     ---       System_Software_init
+      01001B05H   CODE     ---       System_Reset_Connect
+      01001A52H   CODE     ---       System_Software_init
       02004FF0H   XDATA    BYTE      test_aaa
-      01001B6FH   CODE     ---       YC_adc_check_timer500ms
-      01001AC6H   CODE     ---       YC_adc_init
+      01001B17H   CODE     ---       YC_adc_check_timer500ms
+      01001A6EH   CODE     ---       YC_adc_init
       0100036CH   CODE     ---       YC_check_is_connected
       01000379H   CODE     ---       YC_check_need_reconnected
       0100069CH   CODE     ---       YC_clear_reconnect_flag
@@ -478,7 +478,7 @@
       01000749H   CODE     ---       YC_disconnect_all_link
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      01001C20H   CODE     ---       YC_Ice_break
+      01001BC8H   CODE     ---       YC_Ice_break
       01000F40H   CODE     ---       YC_pairing_timerout_500ms
       01000819H   CODE     ---       YC_start_reconnect
       010009B3H   CODE     ---       YC_System_Main
@@ -759,175 +759,164 @@
       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
+      0100128EH   LINE      ---      ---       #147
+      01001290H   LINE      ---      ---       #148
+      01001290H   LINE      ---      ---       #149
+      01001290H   LINE      ---      ---       #150
+      01001290H   LINE      ---      ---       #151
+      010012ABH   LINE      ---      ---       #152
+      010012B2H   LINE      ---      ---       #154
+      010012B2H   LINE      ---      ---       #155
+      010012DEH   LINE      ---      ---       #156
+      010012E9H   LINE      ---      ---       #157
+      010012ECH   LINE      ---      ---       #158
+      010012ECH   LINE      ---      ---       #160
+      01001307H   LINE      ---      ---       #161
+      0100130EH   LINE      ---      ---       #162
+      01001341H   LINE      ---      ---       #163
+      01001349H   LINE      ---      ---       #164
+      01001364H   LINE      ---      ---       #165
+      0100136CH   LINE      ---      ---       #167
+      0100136CH   LINE      ---      ---       #168
+      01001396H   LINE      ---      ---       #169
+      010013A1H   LINE      ---      ---       #170
+      010013A4H   LINE      ---      ---       #171
+      010013A4H   LINE      ---      ---       #173
+      010013BFH   LINE      ---      ---       #174
+      010013C6H   LINE      ---      ---       #175
+      010013F9H   LINE      ---      ---       #176
+      01001401H   LINE      ---      ---       #177
+      0100141CH   LINE      ---      ---       #178
+      01001424H   LINE      ---      ---       #180
+      01001424H   LINE      ---      ---       #181
+      0100144EH   LINE      ---      ---       #182
+      01001459H   LINE      ---      ---       #183
+      0100145CH   LINE      ---      ---       #184
+      0100145CH   LINE      ---      ---       #186
+      01001477H   LINE      ---      ---       #187
+      0100147EH   LINE      ---      ---       #188
+      010014B1H   LINE      ---      ---       #189
+      010014B9H   LINE      ---      ---       #190
+      010014D4H   LINE      ---      ---       #191
+      010014DCH   LINE      ---      ---       #193
+      010014DCH   LINE      ---      ---       #194
+      01001506H   LINE      ---      ---       #195
+      01001511H   LINE      ---      ---       #196
+      01001514H   LINE      ---      ---       #197
+      01001514H   LINE      ---      ---       #199
+      0100152DH   LINE      ---      ---       #200
+      0100152DH   LINE      ---      ---       #201
+      01001546H   LINE      ---      ---       #202
+      0100154EH   LINE      ---      ---       #203
+      01001567H   LINE      ---      ---       #204
+      0100156FH   LINE      ---      ---       #206
+      01001575H   LINE      ---      ---       #207
+      01001577H   LINE      ---      ---       #208
+      01001590H   LINE      ---      ---       #209
+      01001590H   LINE      ---      ---       #210
+      010015A9H   LINE      ---      ---       #211
+      010015B1H   LINE      ---      ---       #212
+      010015CAH   LINE      ---      ---       #213
+      010015D2H   LINE      ---      ---       #215
+      010015D8H   LINE      ---      ---       #216
+      010015DAH   LINE      ---      ---       #217
+      010015F3H   LINE      ---      ---       #218
+      010015FBH   LINE      ---      ---       #219
+      01001614H   LINE      ---      ---       #220
+      0100161BH   LINE      ---      ---       #222
+      01001621H   LINE      ---      ---       #224
+      01001623H   LINE      ---      ---       #226
+      01001623H   LINE      ---      ---       #227
+      0100163EH   LINE      ---      ---       #228
+      01001646H   LINE      ---      ---       #229
+      01001661H   LINE      ---      ---       #230
+      01001668H   LINE      ---      ---       #232
+      0100166EH   LINE      ---      ---       #234
+      01001689H   LINE      ---      ---       #235
+      01001690H   LINE      ---      ---       #236
+      010016ABH   LINE      ---      ---       #237
+      010016B3H   LINE      ---      ---       #239
+      010016B9H   LINE      ---      ---       #241
+      010016D4H   LINE      ---      ---       #242
+      010016DDH   LINE      ---      ---       #243
+      010016F8H   LINE      ---      ---       #244
+      010016FFH   LINE      ---      ---       #246
+      0100171AH   LINE      ---      ---       #247
+      01001723H   LINE      ---      ---       #248
+      0100173EH   LINE      ---      ---       #249
+      01001745H   LINE      ---      ---       #251
+      0100175EH   LINE      ---      ---       #252
+      01001765H   LINE      ---      ---       #253
+      0100177EH   LINE      ---      ---       #254
+      01001784H   LINE      ---      ---       #255
+      0100179DH   LINE      ---      ---       #256
+      010017A5H   LINE      ---      ---       #257
+      010017BEH   LINE      ---      ---       #258
+      010017C3H   LINE      ---      ---       #260
+      010017C3H   LINE      ---      ---       #263
+      010017DCH   LINE      ---      ---       #264
+      010017DCH   LINE      ---      ---       #265
+      010017E3H   LINE      ---      ---       #266
+      010017E3H   LINE      ---      ---       #267
+      010017FCH   LINE      ---      ---       #268
+      010017FCH   LINE      ---      ---       #269
+      01001803H   LINE      ---      ---       #270
+      01001803H   LINE      ---      ---       #271
+      0100181CH   LINE      ---      ---       #272
+      0100181CH   LINE      ---      ---       #273
+      01001823H   LINE      ---      ---       #274
+      01001823H   LINE      ---      ---       #275
+      0100183CH   LINE      ---      ---       #276
+      0100183CH   LINE      ---      ---       #277
+      01001843H   LINE      ---      ---       #278
+      01001843H   LINE      ---      ---       #280
+      0100185CH   LINE      ---      ---       #281
+      0100185CH   LINE      ---      ---       #282
+      01001863H   LINE      ---      ---       #283
+      01001863H   LINE      ---      ---       #284
+      0100187AH   LINE      ---      ---       #285
+      0100187AH   LINE      ---      ---       #286
+      01001881H   LINE      ---      ---       #287
+      01001881H   LINE      ---      ---       #288
+      0100189AH   LINE      ---      ---       #289
+      0100189AH   LINE      ---      ---       #290
+      010018A1H   LINE      ---      ---       #291
+      010018A1H   LINE      ---      ---       #292
+      010018B8H   LINE      ---      ---       #293
+      010018B8H   LINE      ---      ---       #294
+      010018BFH   LINE      ---      ---       #295
+      010018BFH   LINE      ---      ---       #297
+      010018D6H   LINE      ---      ---       #298
+      010018D6H   LINE      ---      ---       #299
+      010018DDH   LINE      ---      ---       #300
+      010018DDH   LINE      ---      ---       #301
+      010018F4H   LINE      ---      ---       #302
+      010018F4H   LINE      ---      ---       #303
+      010018FBH   LINE      ---      ---       #304
+      010018FBH   LINE      ---      ---       #305
+      01001912H   LINE      ---      ---       #306
+      01001912H   LINE      ---      ---       #307
+      01001919H   LINE      ---      ---       #308
+      01001919H   LINE      ---      ---       #309
+      01001930H   LINE      ---      ---       #310
+      01001930H   LINE      ---      ---       #311
+      01001937H   LINE      ---      ---       #312
+      01001937H   LINE      ---      ---       #314
+      0100194EH   LINE      ---      ---       #315
+      0100194EH   LINE      ---      ---       #316
+      01001955H   LINE      ---      ---       #317
+      01001955H   LINE      ---      ---       #335
+      0100197AH   LINE      ---      ---       #337
+      01001981H   LINE      ---      ---       #339
+      01001987H   LINE      ---      ---       #340
+      0100198FH   LINE      ---      ---       #341
+      01001997H   LINE      ---      ---       #342
+      0100199FH   LINE      ---      ---       #343
+      010019A7H   LINE      ---      ---       #344
+      010019AFH   LINE      ---      ---       #345
+      010019B7H   LINE      ---      ---       #346
+      010019BFH   LINE      ---      ---       #347
+      010019CAH   LINE      ---      ---       #348
       02004E17H   SYMBOL    XDATA    VOID      i
       02004E18H   SYMBOL    XDATA    VOID      adc_gamepad_value0
       02004E1CH   SYMBOL    XDATA    VOID      adc_gamepad_value1
@@ -937,47 +926,47 @@
       ---         BLOCKEND  CODE     ---       LVL=0
 
       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
-      01000B48H   LINE      ---      ---       #371
-      01000B54H   LINE      ---      ---       #372
-      01000B54H   LINE      ---      ---       #373
-      01000B5CH   LINE      ---      ---       #374
-      01000B62H   LINE      ---      ---       #376
-      01000B65H   LINE      ---      ---       #418
-      01000B65H   LINE      ---      ---       #419
+      01000B1DH   LINE      ---      ---       #352
+      01000B1DH   LINE      ---      ---       #353
+      01000B1DH   LINE      ---      ---       #354
+      01000B21H   LINE      ---      ---       #357
+      01000B28H   LINE      ---      ---       #358
+      01000B28H   LINE      ---      ---       #359
+      01000B2EH   LINE      ---      ---       #360
+      01000B30H   LINE      ---      ---       #361
+      01000B32H   LINE      ---      ---       #362
+      01000B34H   LINE      ---      ---       #363
+      01000B36H   LINE      ---      ---       #365
+      01000B36H   LINE      ---      ---       #366
+      01000B3BH   LINE      ---      ---       #367
+      01000B3FH   LINE      ---      ---       #368
+      01000B43H   LINE      ---      ---       #369
+      01000B46H   LINE      ---      ---       #370
+      01000B46H   LINE      ---      ---       #372
+      01000B48H   LINE      ---      ---       #374
+      01000B54H   LINE      ---      ---       #375
+      01000B54H   LINE      ---      ---       #376
+      01000B5CH   LINE      ---      ---       #377
+      01000B62H   LINE      ---      ---       #379
+      01000B65H   LINE      ---      ---       #421
+      01000B65H   LINE      ---      ---       #422
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
-      01001B24H   PUBLIC    CODE     ---       _array_is_empty
+      01001ACCH   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
+      01001ABEH   BLOCK     CODE     ---       LVL=0
+      01001ABEH   LINE      ---      ---       #11
+      01001ABEH   LINE      ---      ---       #12
+      01001ABEH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001ABEH   LINE      ---      ---       #14
+      01001AC3H   LINE      ---      ---       #15
+      01001AC6H   LINE      ---      ---       #16
+      01001AC9H   LINE      ---      ---       #17
+      01001ACBH   LINE      ---      ---       #18
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1030,17 +1019,17 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      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
+      01001ACCH   BLOCK     CODE     ---       LVL=0
+      01001ACCH   LINE      ---      ---       #63
+      01001AD7H   LINE      ---      ---       #64
+      01001AD7H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001AD7H   LINE      ---      ---       #66
+      01001ADEH   LINE      ---      ---       #67
+      01001ADEH   LINE      ---      ---       #68
+      01001AF3H   LINE      ---      ---       #69
+      01001AF6H   LINE      ---      ---       #70
+      01001AF9H   LINE      ---      ---       #71
+      01001AFBH   LINE      ---      ---       #72
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1092,28 +1081,28 @@
       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
+      01001B05H   PUBLIC    CODE     ---       System_Reset_Connect
       010006A2H   PUBLIC    CODE     ---       System_long_sleep
-      01001AAAH   PUBLIC    CODE     ---       System_Software_init
+      01001A52H   PUBLIC    CODE     ---       System_Software_init
 
-      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
+      01001A00H   BLOCK     CODE     ---       LVL=0
+      01001A00H   LINE      ---      ---       #13
+      01001A00H   LINE      ---      ---       #14
+      01001A00H   LINE      ---      ---       #15
+      01001A0CH   LINE      ---      ---       #16
+      01001A18H   LINE      ---      ---       #17
+      01001A24H   LINE      ---      ---       #19
+      01001A29H   LINE      ---      ---       #20
+      01001A2DH   LINE      ---      ---       #23
+      01001A31H   LINE      ---      ---       #24
+      01001A35H   LINE      ---      ---       #25
+      01001A39H   LINE      ---      ---       #26
+      01001A3DH   LINE      ---      ---       #27
+      01001A41H   LINE      ---      ---       #28
+      01001A45H   LINE      ---      ---       #29
+      01001A49H   LINE      ---      ---       #31
+      01001A4DH   LINE      ---      ---       #32
+      01001A51H   LINE      ---      ---       #33
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000E61H   BLOCK     CODE     ---       LVL=0
@@ -1136,23 +1125,23 @@
       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
+      01001A52H   BLOCK     CODE     ---       LVL=0
+      01001A52H   LINE      ---      ---       #53
+      01001A52H   LINE      ---      ---       #54
+      01001A52H   LINE      ---      ---       #55
+      01001A54H   LINE      ---      ---       #56
+      01001A56H   LINE      ---      ---       #57
+      01001A5CH   LINE      ---      ---       #58
+      01001A62H   LINE      ---      ---       #59
+      01001A67H   LINE      ---      ---       #60
+      01001A6DH   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AFCH   BLOCK     CODE     ---       LVL=0
+      01001AFCH   LINE      ---      ---       #63
+      01001AFCH   LINE      ---      ---       #64
+      01001AFCH   LINE      ---      ---       #65
+      01001B02H   LINE      ---      ---       #66
       ---         BLOCKEND  ---      ---       LVL=0
 
       010006A2H   BLOCK     CODE     ---       LVL=0
@@ -1168,19 +1157,19 @@
       010006BDH   LINE      ---      ---       #85
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001B5DH   BLOCK     CODE     ---       LVL=0
-      01001B5DH   LINE      ---      ---       #87
-      01001B5DH   LINE      ---      ---       #88
-      01001B5DH   LINE      ---      ---       #89
+      01001B05H   BLOCK     CODE     ---       LVL=0
+      01001B05H   LINE      ---      ---       #87
+      01001B05H   LINE      ---      ---       #88
+      01001B05H   LINE      ---      ---       #89
       ---         BLOCKEND  ---      ---       LVL=0
 
-      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
+      01001B07H   BLOCK     CODE     ---       LVL=0
+      01001B07H   LINE      ---      ---       #97
+      01001B0CH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B0CH   LINE      ---      ---       #99
+      01001B16H   LINE      ---      ---       #101
+      01001B16H   LINE      ---      ---       #103
+      01001B16H   LINE      ---      ---       #104
       02004E7EH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1451,30 +1440,30 @@
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       ADC
-      01001B6FH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      01001AC6H   PUBLIC    CODE     ---       YC_adc_init
+      01001B17H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      01001A6EH   PUBLIC    CODE     ---       YC_adc_init
 
-      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
+      01001A6EH   BLOCK     CODE     ---       LVL=0
+      01001A6EH   LINE      ---      ---       #3
+      01001A6EH   LINE      ---      ---       #4
+      01001A6EH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001A6EH   LINE      ---      ---       #7
+      01001A73H   LINE      ---      ---       #8
+      01001A74H   LINE      ---      ---       #9
+      01001A74H   LINE      ---      ---       #10
+      01001A85H   LINE      ---      ---       #11
+      01001A96H   LINE      ---      ---       #12
+      01001AA7H   LINE      ---      ---       #13
+      01001AB8H   LINE      ---      ---       #14
+      01001ABDH   LINE      ---      ---       #15
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001B6FH   BLOCK     CODE     ---       LVL=0
-      01001B6FH   LINE      ---      ---       #17
-      01001B6FH   LINE      ---      ---       #18
-      01001B6FH   LINE      ---      ---       #19
+      01001B17H   BLOCK     CODE     ---       LVL=0
+      01001B17H   LINE      ---      ---       #17
+      01001B17H   LINE      ---      ---       #18
+      01001B17H   LINE      ---      ---       #19
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
@@ -1502,31 +1491,31 @@
       01000E55H   PUBLIC    CODE     ---       IPC_AbandonLpm
       010009EAH   PUBLIC    CODE     ---       IPC_WaitLpm
       01000A22H   PUBLIC    CODE     ---       _IPC_Initialize
-      01001C1AH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01001BC2H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
       01001049H   PUBLIC    CODE     ---       _IPC_Tx24GData
       0100104FH   PUBLIC    CODE     ---       _IPC_TxData
       01000760H   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      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
+      01001B18H   BLOCK     CODE     ---       LVL=0
+      01001B18H   LINE      ---      ---       #44
+      01001B28H   LINE      ---      ---       #45
+      01001B28H   LINE      ---      ---       #46
+      01001B71H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001B72H   BLOCK     CODE     ---       LVL=0
+      01001B72H   LINE      ---      ---       #49
+      01001B7CH   LINE      ---      ---       #50
+      01001B7CH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B7CH   LINE      ---      ---       #51
+      01001B84H   LINE      ---      ---       #52
+      01001B8AH   LINE      ---      ---       #53
+      01001BA9H   LINE      ---      ---       #54
+      01001BB3H   LINE      ---      ---       #55
+      01001BB7H   LINE      ---      ---       #56
+      01001BB7H   LINE      ---      ---       #57
+      01001BB9H   LINE      ---      ---       #58
+      01001BC1H   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1574,11 +1563,11 @@
       01001049H   LINE      ---      ---       #92
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001C1AH   BLOCK     CODE     ---       LVL=0
-      01001C1AH   LINE      ---      ---       #98
-      01001C1AH   LINE      ---      ---       #99
-      01001C1AH   LINE      ---      ---       #100
-      01001C1FH   LINE      ---      ---       #101
+      01001BC2H   BLOCK     CODE     ---       LVL=0
+      01001BC2H   LINE      ---      ---       #98
+      01001BC2H   LINE      ---      ---       #99
+      01001BC2H   LINE      ---      ---       #100
+      01001BC7H   LINE      ---      ---       #101
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000A22H   BLOCK     CODE     ---       LVL=0
@@ -1646,21 +1635,21 @@
 
       ---         MODULE    ---      ---       UTILITIES
       02004E47H   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      01001C54H   PUBLIC    CODE     ---       _compare_str
+      01001BFCH   PUBLIC    CODE     ---       _compare_str
       01000596H   PUBLIC    CODE     ---       _Delay1ms
-      01001C27H   PUBLIC    CODE     ---       _xmemclear_ff
-      01001A2CH   PUBLIC    CODE     ---       _xmemclear
+      01001BCFH   PUBLIC    CODE     ---       _xmemclear_ff
+      010019D4H   PUBLIC    CODE     ---       _xmemclear
       02004E3FH   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
       01000F5FH   PUBLIC    CODE     ---       _dmemcpy
       02004E5BH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       0100065CH   PUBLIC    CODE     ---       _xmemcpy
-      01001C20H   PUBLIC    CODE     ---       YC_Ice_break
+      01001BC8H   PUBLIC    CODE     ---       YC_Ice_break
 
-      01001C20H   BLOCK     CODE     ---       LVL=0
-      01001C20H   LINE      ---      ---       #3
-      01001C20H   LINE      ---      ---       #4
-      01001C20H   LINE      ---      ---       #5
-      01001C26H   LINE      ---      ---       #7
+      01001BC8H   BLOCK     CODE     ---       LVL=0
+      01001BC8H   LINE      ---      ---       #3
+      01001BC8H   LINE      ---      ---       #4
+      01001BC8H   LINE      ---      ---       #5
+      01001BCEH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100065CH   BLOCK     CODE     ---       LVL=0
@@ -1679,20 +1668,20 @@
       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
+      010019D4H   BLOCK     CODE     ---       LVL=0
+      010019D4H   LINE      ---      ---       #23
+      010019DFH   LINE      ---      ---       #24
+      010019DFH   LINE      ---      ---       #25
+      010019E9H   LINE      ---      ---       #26
+      010019FFH   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
+      01001BCFH   BLOCK     CODE     ---       LVL=0
+      01001BCFH   LINE      ---      ---       #30
+      01001BDAH   LINE      ---      ---       #31
+      01001BDAH   LINE      ---      ---       #32
+      01001BE4H   LINE      ---      ---       #33
+      01001BFBH   LINE      ---      ---       #35
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000596H   BLOCK     CODE     ---       LVL=0
@@ -1707,16 +1696,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      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
+      01001BFCH   BLOCK     CODE     ---       LVL=0
+      01001BFCH   LINE      ---      ---       #54
+      01001C07H   LINE      ---      ---       #55
+      01001C07H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C07H   LINE      ---      ---       #57
+      01001C13H   LINE      ---      ---       #58
+      01001C3DH   LINE      ---      ---       #59
+      01001C40H   LINE      ---      ---       #60
+      01001C43H   LINE      ---      ---       #61
+      01001C45H   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1724,10 +1713,10 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      01001CDDH   PUBLIC    CODE     ---       GPIO_fillpd
+      01001C85H   PUBLIC    CODE     ---       GPIO_fillpd
       010008DEH   PUBLIC    CODE     ---       _GPIO_FlipOutBit
       01000E74H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01001C9EH   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      01001C46H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
       01000E87H   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
@@ -1856,16 +1845,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      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
+      01001C46H   BLOCK     CODE     ---       LVL=0
+      01001C46H   LINE      ---      ---       #107
+      01001C46H   LINE      ---      ---       #108
+      01001C46H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C46H   LINE      ---      ---       #111
+      01001C4AH   LINE      ---      ---       #113
+      01001C4EH   LINE      ---      ---       #114
+      01001C55H   LINE      ---      ---       #115
+      01001C77H   LINE      ---      ---       #116
+      01001C84H   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -1891,13 +1880,13 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      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
+      01001C85H   BLOCK     CODE     ---       LVL=0
+      01001C85H   LINE      ---      ---       #131
+      01001C85H   LINE      ---      ---       #132
+      01001C85H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C85H   LINE      ---      ---       #134
+      01001C87H   LINE      ---      ---       #135
+      01001CB8H   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2013,5 +2002,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       010002F9H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=745 const=24 code=7417
+Program Size: data=10.2 xdata=745 const=24 code=7329
 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 442)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/eeprom.dat	(working copy)
@@ -3848,8 +3848,8 @@
 6d
 aa
 55
-13
-1d
+bb
+1c
 02
 02
 b2
@@ -4700,7 +4700,7 @@
 00
 ff
 1b
-5f
+07
 00
 0c
 0e
@@ -4997,7 +4997,7 @@
 f8
 12
 1a
-aa
+52
 7b
 01
 7a
@@ -5826,7 +5826,7 @@
 64
 12
 1b
-70
+18
 90
 4e
 58
@@ -6974,7 +6974,7 @@
 03
 12
 1b
-ca
+72
 90
 4e
 71
@@ -8600,48 +8600,8 @@
 12
 02
 6f
-90
-4c
 c1
-e0
-60
-02
-c1
-4b
-7f
-a0
-7e
-3e
-fd
-fc
-90
-4e
-18
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
-fb
-c3
-12
-02
-4b
-50
-08
-90
-4d
-08
-74
-ff
-f0
-80
-5c
+23
 e4
 7f
 a0
@@ -8767,7 +8727,7 @@
 09
 f0
 61
-cc
+a4
 e4
 7f
 60
@@ -8951,7 +8911,7 @@
 06
 f0
 81
-84
+5c
 e4
 7f
 60
@@ -9135,7 +9095,7 @@
 07
 f0
 a1
-3c
+14
 e4
 7f
 60
@@ -9343,7 +9303,7 @@
 05
 f0
 e1
-eb
+c3
 90
 4d
 9b
@@ -9376,7 +9336,7 @@
 07
 f0
 e1
-eb
+c3
 90
 4d
 0a
@@ -9384,7 +9344,7 @@
 06
 f0
 e1
-eb
+c3
 90
 4d
 9b
@@ -9442,7 +9402,7 @@
 03
 f0
 e1
-eb
+c3
 90
 4d
 9b
@@ -9475,7 +9435,7 @@
 01
 f0
 e1
-eb
+c3
 90
 4d
 0a
@@ -9483,7 +9443,7 @@
 02
 f0
 e1
-eb
+c3
 90
 4d
 9b
@@ -9516,7 +9476,7 @@
 04
 f0
 e1
-eb
+c3
 90
 4d
 9b
@@ -9548,7 +9508,7 @@
 0a
 f0
 e1
-eb
+c3
 90
 4d
 0a
@@ -9556,7 +9516,7 @@
 0f
 f0
 e1
-eb
+c3
 e4
 7f
 50
@@ -10376,54 +10336,6 @@
 01
 f0
 90
-4c
-c5
-e0
-b4
-03
-23
-90
-4d
-0d
-e0
-70
-1d
-90
-4d
-0c
-e0
-b4
-01
-16
-90
-4c
-c1
-e0
-60
-04
-e4
-f0
-80
-06
-90
-4c
-c1
-74
-01
-f0
-90
-4c
-bf
-74
-02
-f0
-90
-4d
-0c
-e0
-a3
-f0
-90
 4d
 06
 e0
@@ -10604,8 +10516,8 @@
 57
 7c
 00
-51
-2c
+31
+d4
 7b
 01
 7a
@@ -10616,8 +10528,8 @@
 09
 7c
 00
-51
-2c
+31
+d4
 7b
 01
 7a
@@ -10628,8 +10540,8 @@
 09
 7c
 00
-51
-2c
+31
+d4
 e4
 90
 4d
@@ -10677,9 +10589,9 @@
 f0
 22
 51
-58
+00
 51
-c6
+6e
 90
 4c
 fa
@@ -11291,8 +11203,8 @@
 04
 cf
 22
-7b
-8d
+88
+47
 aa
 55
 40
@@ -13363,8 +13275,8 @@
 6c
 59
 50
-e2
-44
+30
+00
 ff
 ff
 ff
@@ -16380,5 +16292,93 @@
 ff
 ff
 ff
-bd
-42
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+64
+4a
Index: c51/output/fw.hex
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/fw.hex	(revision 442)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/fw.hex	(working copy)
@@ -51,7 +51,7 @@
 :1003200093A3F8E493A3C8C582C8CAC583CAF0A33F
 :10033000C8C582C8CAC583CADFE9DEE780BE524DA0
 :10034000F3FF0456000000FF0F2BFF0AED00000032
-:10035000FF1B5F000C0E0D0B1D1C1A1B091F081E36
+:10035000FF1B07000C0E0D0B1D1C1A1B091F081E8E
 :100360000F1807161700000000010100904CC5E0AF
 :10037000B403037F01227F0022E4FF904CFDE06084
 :100380000122904CC5E06403601C904CFEE0701D9F
@@ -69,7 +69,7 @@
 :100440004CFD7478F0E4904CF8F0E4904CFCF02211
 :10045000E4904CFCF022904E84EFF024D0607D14A8
 :10046000700281E8147002A14F14600A24F76078CA
-:10047000240D6002A1951209F8121AAA7B017A4C88
+:10047000240D6002A1951209F8121A527B017A4CE0
 :1004800079007D047C007FF07E3FB1AE7F0AB1969B
 :10049000904CC1E0F97A007B007D017C007FF87E02
 :1004A0003FB1AE7F0AB196904CC1E0D394014002B7
@@ -121,7 +121,7 @@
 :10078000017A4E796B7D03904E55EBF0A3EAF0A30E
 :10079000E9F0A3EDF0904B9CE0FFA3E0904E59CF21
 :1007A000F0A3EFF0904B9AE0FEA3E0FF904B9CE0AB
-:1007B000FCA3E0FD7B64121B70904E58E0FEEFC37B
+:1007B000FCA3E0FD7B64121B18904E58E0FEEFC3D3
 :1007C0009E40E1904E58E0FF14F0EF603C904E5593
 :1007D000E0FBA3E475F0013167A9F0FA11F9FF908D
 :1007E0004E59E475F001316785F082F583EFF090A2
@@ -193,7 +193,7 @@
 :100C00002CE030E5F9227A0C794B904E717401F0AA
 :100C1000A3740CF0A3744BF0904BA0E0FEA3E0FF94
 :100C2000904B9EE06E7003A3E06F60477E0C7F4B9D
-:100C30007D03121BCA904E71E0FBA3E0FAA3E0F91A
+:100C30007D03121B72904E71E0FBA3E0FAA3E0F972
 :100C40001200F9B4022B904E72E475F002120151B9
 :100C5000904E71E0FBA3E0FAA3E0F91200F9FF90D7
 :100C60004E05E0A3E0FAA3E0F5828A831202B08089
@@ -294,174 +294,168 @@
 :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
+:101280007B03FAF9F81201B9904E2412026FC123C0
+:10129000E47FA07E7BFDFC904E18E0F8A3E0F9A36C
+:1012A000E0FAA3E0FBD312024B4007E4904D08F0B4
+:1012B000803A904E18E0FCA3E0FDA3E0FEA3E024FA
+:1012C00060FFEE34C1FEED34FFFDEC34FFFCE47B47
+:1012D0003EFAF9F81201B9EFF404904D08F0C39406
+:1012E000704009E0D3949550037480F0E47FA07EB1
+:1012F0003EFDFC904E1CE0F8A3E0F9A3E0FAA3E069
+:10130000FBC312024B5007E4904D09F061A4E47F47
+:10131000607E5EFDFC904E1CE0F8A3E0F9A3E0FACD
+:10132000A3E0FBC312024B4020E47FA07E60FDFCE3
+:10133000904E1CE0F8A3E0A3E0A3E0D312024B50D0
+:1013400008904D097480F0805BE47FA07E7BFDFCFB
+:10135000904E1CE0F8A3E0F9A3E0FAA3E0FBD3125F
+:10136000024B4008904D0974FFF08038904E1CE00D
+:10137000FCA3E0FDA3E0FEA3E02460FFEE34C1FE89
+:10138000ED34FFFDEC34FFFCE47B3EFAF9F812018A
+:10139000B9904D09EFF0C394704009E0D394955093
+:1013A000037480F0E47FA07E3EFDFC904E20E0F8C8
+:1013B000A3E0F9A3E0FAA3E0FBC312024B5007E459
+:1013C000904D06F0815CE47F607E5EFDFC904E20D7
+:1013D000E0F8A3E0F9A3E0FAA3E0FBC312024B405C
+:1013E00020E47FA07E60FDFC904E20E0F8A3E0A307
+:1013F000E0A3E0D312024B5008904D067480F080B9
+:101400005BE47FA07E7BFDFC904E20E0F8A3E0F93A
+:10141000A3E0FAA3E0FBD312024B4008904D067400
+:10142000FFF08038904E20E0FCA3E0FDA3E0FEA397
+:10143000E02460FFEE34C1FEED34FFFDEC34FFFC30
+:10144000E47B3EFAF9F81201B9904D06EFF0C3942F
+:10145000704009E0D3949550037480F0E47FA07E3F
+:101460003EFDFC904E24E0F8A3E0F9A3E0FAA3E0EF
+:10147000FBC312024B5007E4904D07F0A114E47F28
+:10148000607E5EFDFC904E24E0F8A3E0F9A3E0FA54
+:10149000A3E0FBC312024B4020E47FA07E60FDFC72
+:1014A000904E24E0F8A3E0A3E0A3E0D312024B5057
+:1014B00008904D077480F0805BE47FA07E7BFDFC8C
+:1014C000904E24E0F8A3E0F9A3E0FAA3E0FBD312E6
+:1014D000024B4008904D0774FFF08038904E24E096
+:1014E000FCA3E0FDA3E0FEA3E02460FFEE34C1FE18
+:1014F000ED34FFFDEC34FFFCE47B3EFAF9F8120119
+:10150000B9904D07EFF0C394704009E0D394955023
+:10151000037480F0904D9BE0FCA3E0FDA3E0FEA3EC
+:10152000E0E4FFFEED5402FDE4FCED604A904D9BCB
+:10153000E0FCA3E0FDA3E0FEA3E0E4FFEE5480FEA8
+:10154000E4FDFCEE6008904D0A7405F0E1C3904D97
+:101550009BE0FCA3E0FDA3E0FEA3E0E4FFEE54402B
+:10156000FEE4FDFCEE6008904D0A7407F0E1C390C4
+:101570004D0A7406F0E1C3904D9BE0FCA3E0FDA38F
+:10158000E0FEA3E0E4FFFEED5401FDE4FCED604A63
+:10159000904D9BE0FCA3E0FDA3E0FEA3E0E4FFEEA2
+:1015A0005480FEE4FDFCEE6008904D0A7403F0E107
+:1015B000C3904D9BE0FCA3E0FDA3E0FEA3E0E4FFAD
+:1015C000EE5440FEE4FDFCEE6008904D0A7401F01C
+:1015D000E1C3904D0A7402F0E1C3904D9BE0FCA37F
+:1015E000E0FDA3E0FEA3E0E4FFEE5480FEE4FDFC9A
+:1015F000EE6008904D0A7404F0E1C3904D9BE0FC4E
+:10160000A3E0FDA3E0FEA3E0E4FFEE5440FEE4FD12
+:10161000FCEE6007E4904D0AF0E1C3904D0A740FB0
+:10162000F0E1C3E47F507E4EFDFC904E18E0F8A33D
+:10163000E0F9A3E0FAA3E0FBC312024B5008904D7F
+:101640000874FFF08028E47FA07E6BFDFC904E18AC
+:10165000E0F8A3E0F9A3E0FAA3E0FBD312024B40C9
+:1016600007E4904D08F08006904D087480F0E47F08
+:10167000507E4EFDFC904E1CE0F8A3E0F9A3E0FA8A
+:10168000A3E0FBC312024B5007E4904D09F0802900
+:10169000E47FA07E6BFDFC904E1CE0F8A3E0F9A374
+:1016A000E0FAA3E0FBD312024B4008904D0974FF0F
+:1016B000F08006904D097480F0E47F507E4EFDFC72
+:1016C000904E20E0F8A3E0F9A3E0FAA3E0FBC312F8
+:1016D000024B5009904D0AE04410F08022E47FA0B4
+:1016E0007E6BFDFC904E20E0F8A3E0F9A3E0FAA3A6
+:1016F000E0FBD312024B4007904D0AE04440F0E477
+:101700007F507E4EFDFC904E24E0F8A3E0F9A3E06C
+:10171000FAA3E0FBC312024B5009904D0AE04420AB
+:10172000F08022E47FA07E6BFDFC904E24E0F8A3C5
+:10173000E0F9A3E0FAA3E0FBD312024B4007904D7F
+:101740000AE04480F0904D9BE0FCA3E0FDA3E0FEA6
+:10175000A3E0E4FFFEED5402FDE4FCED6007E4903D
+:101760004D08F0801F904D9BE0FCA3E0FDA3E0FE40
+:10177000A3E0E4FFFEED5401FDE4FCED6006904DB6
+:101780000874FFF0904D9BE0FCA3E0FDA3E0FEA3F6
+:10179000E0E4FFEE5480FEE4FDFCEE6008904D09AD
+:1017A00074FFF0801E904D9BE0FCA3E0FDA3E0FEE3
+:1017B000A3E0E4FFEE5440FEE4FDFCEE6005E4909F
+:1017C0004D09F0904D9BE0FCA3E0FDA3E0FEA3E0FB
+:1017D000E4FFEE5408FEE4FDFCEE6007904D0AE0E5
+:1017E0004440F0904D9BE0FCA3E0FDA3E0FEA3E0AD
+:1017F000E4FFEE5410FEE4FDFCEE6007904D0AE0BD
+:101800004420F0904D9BE0FCA3E0FDA3E0FEA3E0AC
+:10181000E4FFEE5404FEE4FDFCEE6007904D0AE0A8
+:101820004480F0904D9BE0FCA3E0FDA3E0FEA3E02C
+:10183000E4FFEE5420FEE4FDFCEE6007904D0AE06C
+:101840004410F0904D9BE0FCA3E0FDA3E0FEA3E07C
+:10185000E4FFEE5402FEE4FDFCEE6007904D0BE069
+:101860004401F0904D9BE0FCA3E0FDA3E0FEA3E06B
+:101870005480FFE4FEFDFCEF6007904D0BE0440454
+:10188000F0904D9BE0FCA3E0FDA3E0FEA3E0E4FFAD
+:10189000EE5401FEE4FDFCEE6007904D0BE04402C7
+:1018A000F0904D9BE0FCA3E0FDA3E0FEA3E05440DC
+:1018B000FFE4FEFDFCEF6007904D0BE04408F09064
+:1018C0004D9BE0FCA3E0FDA3E0FEA3E05408FFE491
+:1018D000FEFDFCEF6007904D0BE04440F0904D9B07
+:1018E000E0FCA3E0FDA3E0FEA3E05404FFE4FEFD62
+:1018F000FCEF6007904D0BE04480F0904D9BE0FCC6
+:10190000A3E0FDA3E0FEA3E05420FFE4FEFDFCEF16
+:101910006007904D0BE04410F0904D9BE0FCA3E07D
+:10192000FDA3E0FEA3E05410FFE4FEFDFCEF600722
+:10193000904D0BE04420F0904D9BE0FCA3E0FDA314
+:10194000E0FEA3E05402FFE4FEFDFCEF6007904DD3
+:101950000CE04401F0904D06E06480701DA3E0644B
+:10196000807017A3E0B48012A3E0B4800DA3E0B4AC
+:101970000F08A3E06004A3E07007E4904CF5F0A327
+:10198000F0904DE97409F0904D06E0904DEAF0902A
+:101990004D07E0904DEBF0904D08E0904DECF0904D
+:1019A0004D09E0904DEDF0904D0AE0904DEEF09035
+:1019B0004D0BE0904DEFF0904D0CE0904DF0F07B32
+:1019C000017A4D79E97D08120FE87B017A4D79E9BA
+:1019D0007D097C00904E74EBF0A3EAF0A3E9F0EDF2
+:1019E0001DAE0470011C4E6016904E74E0FBA3E423
+:1019F00075F001120167A9F0FAE412013F80E022BC
+:101A00007B017A4C79BF7D577C0031D47B017A48C9
+:101A100079007D097C0031D47B017A4D79E97D091B
+:101A20007C0031D4E4904DE0F0904DE6F0904DE52F
+:101A3000F0904DD6F0904DD0F0904DDCF0904DE808
+:101A4000F0904DD5F0904DD8F0904DE7F0904D3896
+:101A5000F0225100516E904CFA7401F0904CF774E2
+:101A60001EF0E4904CFFF0904D1574FFF022E490CE
+:101A70004CDCF0FFEF25E024DDF582E4344CF58307
+:101A8000745EF0A3F0EF25E024E3F582E4344CF536
+:101A900083745EF0A3F0EF25E024E9F582E4344C92
+:101AA000F583745EF0A3F0EF25E024EFF582E434D3
+:101AB0004CF583745EF0A3F00FEFB403B722E4FE9D
+:101AC000EF6006145FFF0E80F7AF0622904E6EEBBC
+:101AD000F0A3EAF0A3E9F0E4FFEFC39D501B904EA2
+:101AE0006EE0FBA3E0FAA3E0F98F82758300120198
+:101AF0001260037F00220F80E07F0122908010742B
+:101B000001F080FE2280F5904E7DEDF090000112F4
+:101B10000112904E7EF02222904E66EEF0A3EFF07E
+:101B2000904E68ECF0A3EDF0904E68E0FEA3E0FF6D
+:101B3000D3904E67E09F904E66E09E4016904E68B0
+:101B4000E0FEA3E0FF904E67E09FFF904E66E09EB0
+:101B5000FE801E904E66E0FEA3E0FFC3904E69E05B
+:101B60009FFF904E68E09EFEAD03C3EB9FFFE49E97
+:101B7000FE22904E7FEEF0A3EFF0A905904B9EE081
+:101B8000FEA3E0FFAD0119ED602F0FEFAC06700171
+:101B90000E14F5828C83E0FD904E7FE475F0011207
+:101BA000016785F082F583EDF0AD07AC06BC4BD440
+:101BB000BD9AD17E4B7F3680CB904B9EEEF0A3EF4B
+:101BC000F022900446E0FF229082807401F022907F
+:101BD0004E77EBF0A3EAF0A3E9F0ED1DAE0470013F
+:101BE0001C4E6017904E77E0FBA3E475F0011201E4
+:101BF00067A9F0FA74FF12013F80DF22904E47EB95
+:101C0000F0A3EAF0A3E9F0E4FF904E4DE0FEEFC34D
+:101C10009E5030904E4AE0FBA3E0FAA3E0F98F8299
+:101C2000758300120112FE904E47E0FBA3E0FAA379
+:101C3000E0F98F827583001201126E60037F00222B
+:101C40000F80C67F0122EFF4603AEF5407FEEF13D6
+:101C500013135403FF24A3F582E43400F583C083F7
+:101C6000C082E0FD7401A806088002C333D8FCF4EA
+:101C7000FC5DD082D083F074A72FF582E43400F5A8
+:101C800083E05CF022E4FFEFFD7C002478FBEC3481
+:101C9000808B82F583E0FEED2470FDEC34808D8234
+:101CA000F583E04EF4FEEF247CFDEC34808D82F56C
+:091CB00083EEF00FEFB404CF2223
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/fwram.rom	(revision 442)
+++ /YJX_KB_Project/YJX_gamepad/YC1085_gamepad_2device/c51/output/fwram.rom	(working copy)
@@ -848,7 +848,7 @@
 00
 ff
 1b
-5f
+07
 00
 0c
 0e
@@ -1145,7 +1145,7 @@
 f8
 12
 1a
-aa
+52
 7b
 01
 7a
@@ -1974,7 +1974,7 @@
 64
 12
 1b
-70
+18
 90
 4e
 58
@@ -3122,7 +3122,7 @@
 03
 12
 1b
-ca
+72
 90
 4e
 71
@@ -4748,48 +4748,8 @@
 12
 02
 6f
-90
-4c
 c1
-e0
-60
-02
-c1
-4b
-7f
-a0
-7e
-3e
-fd
-fc
-90
-4e
-18
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
-fb
-c3
-12
-02
-4b
-50
-08
-90
-4d
-08
-74
-ff
-f0
-80
-5c
+23
 e4
 7f
 a0
@@ -4915,7 +4875,7 @@
 09
 f0
 61
-cc
+a4
 e4
 7f
 60
@@ -5099,7 +5059,7 @@
 06
 f0
 81
-84
+5c
 e4
 7f
 60
@@ -5283,7 +5243,7 @@
 07
 f0
 a1
-3c
+14
 e4
 7f
 60
@@ -5491,7 +5451,7 @@
 05
 f0
 e1
-eb
+c3
 90
 4d
 9b
@@ -5524,7 +5484,7 @@
 07
 f0
 e1
-eb
+c3
 90
 4d
 0a
@@ -5532,7 +5492,7 @@
 06
 f0
 e1
-eb
+c3
 90
 4d
 9b
@@ -5590,7 +5550,7 @@
 03
 f0
 e1
-eb
+c3
 90
 4d
 9b
@@ -5623,7 +5583,7 @@
 01
 f0
 e1
-eb
+c3
 90
 4d
 0a
@@ -5631,7 +5591,7 @@
 02
 f0
 e1
-eb
+c3
 90
 4d
 9b
@@ -5664,7 +5624,7 @@
 04
 f0
 e1
-eb
+c3
 90
 4d
 9b
@@ -5696,7 +5656,7 @@
 0a
 f0
 e1
-eb
+c3
 90
 4d
 0a
@@ -5704,7 +5664,7 @@
 0f
 f0
 e1
-eb
+c3
 e4
 7f
 50
@@ -6524,54 +6484,6 @@
 01
 f0
 90
-4c
-c5
-e0
-b4
-03
-23
-90
-4d
-0d
-e0
-70
-1d
-90
-4d
-0c
-e0
-b4
-01
-16
-90
-4c
-c1
-e0
-60
-04
-e4
-f0
-80
-06
-90
-4c
-c1
-74
-01
-f0
-90
-4c
-bf
-74
-02
-f0
-90
-4d
-0c
-e0
-a3
-f0
-90
 4d
 06
 e0
@@ -6752,8 +6664,8 @@
 57
 7c
 00
-51
-2c
+31
+d4
 7b
 01
 7a
@@ -6764,8 +6676,8 @@
 09
 7c
 00
-51
-2c
+31
+d4
 7b
 01
 7a
@@ -6776,8 +6688,8 @@
 09
 7c
 00
-51
-2c
+31
+d4
 e4
 90
 4d
@@ -6825,9 +6737,9 @@
 f0
 22
 51
-58
+00
 51
-c6
+6e
 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
