diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo.Hbp b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo.Hbp
new file mode 100644
index 0000000000..0d3910dbcc
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo.Hbp
@@ -0,0 +1,4 @@
+[Setting]
+ToolChain=0
+[Section]
+WindowSize=726,544
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo.hws b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo.hws
new file mode 100644
index 0000000000..ab305f140a
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo.hws
@@ -0,0 +1,48 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"11.0" 
+[WORKSPACE_DETAILS]
+"RTOSDemo" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo.hws" "RX" "Renesas RX Standard" 
+[SHARED_WORKSPACE_CONTROL_STATUS]
+"" "" "" 
+"" "" "" 
+[PROJECTS]
+"RTOSDemo" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\RTOSDemo.hwp" 0 
+[INFORMATION]
+"No workspace information available" 
+[SCRAP]
+[PROJECT_DEPENDENCY]
+[WORKSPACE_PROPERTIES]
+[HELP_FILES]
+"c:\devtools\renesas\hew\tools\renesas\rx\1_0_0\hew\stdlib.chm" "C/C++ Standard Library Help" 0 
+"c:\devtools\renesas\hew\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0 
+"c:\devtools\renesas\hew\tools\renesas\rx\1_1_0\hew\stdlib.chm" "C/C++ Standard Library Help" 1 
+"c:\program files\renesas\hew\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0 
+"c:\program files\renesas\hew\tools\renesas\rx\1_1_0\hew\stdlib.chm" "C/C++ Standard Library Help" 0 
+"c:\program files\renesas\hew_002\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0 
+"c:\program files\renesas\hew_rx210\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0 
+"c:\program files\renesas\hewrx200\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0 
+[GENERAL_DATA_PROJECT]
+[USERMENUTOOLS]
+[CUSTOMPLACEHOLDERS]
+[MAKEFILE_BUILD_INFO]
+"$(WORKSPDIR)\make\$(PROJECTNAME)_$(CONFIGNAME).mak" "" "$(WORKSPDIR)\make" 0 0 0 
+[VD_CONFIGURATION_OPTIONS]
+"ACTIVE_DESKTOP" "0" 
+[VD_CONFIGURATIONS]
+"0" "Default1" "1" 
+"1" "Default2" "1" 
+"2" "Default3" "1" 
+"3" "Default4" "1" 
+[OPTIONS_DEBUG_TAB]
+0 0 0 0 0 
+[VCS]
+"" "" "" 0 
+[VCS_PROJECT]
+[MAKEFILE_ENV_STRINGS]
+[MAKEFILE_ENV_FLAGS]
+1 0 0 
+[MAKEFILE_CLEAN_INFO]
+"" 
+[END]
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo.tws b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo.tws
new file mode 100644
index 0000000000..ef666fddb1
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo.tws
@@ -0,0 +1,13 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.2" 
+[CURRENT_PROJECT]
+"RTOSDemo" 
+[GENERAL_DATA]
+[BREAKPOINTS]
+[OPEN_WORKSPACE_FILES]
+[WORKSPACE_FILE_STATES]
+[LOADED_PROJECTS]
+"RTOSDemo" 
+[END]
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Blinky/Blinky.hdp b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Blinky/Blinky.hdp
new file mode 100644
index 0000000000..dee092f46b
Binary files /dev/null and b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Blinky/Blinky.hdp differ
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/DefaultSession.hsf b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/DefaultSession.hsf
new file mode 100644
index 0000000000..4a7c75e6d6
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/DefaultSession.hsf
@@ -0,0 +1,106 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.3" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBreakpointFlag" "-1 " 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBreakpointStatus" "-1 " 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlSplitterPosition" "242" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileDir" "" 
+"{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileName" "" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+"{CBEBB610-1516-11D4-8F2D-00409545B67B}ElfDwarf2Objects" "1" 
+"{CBEBB610-1516-11D4-8F2D-00409545B67B}LoadModule0OBJ_ELFDWARF2_ARRAY_EXPAND_LIMIT" "-1" 
+"{CBEBB610-1516-11D4-8F2D-00409545B67B}LoadModule0OBJ_ELFDWARF2_STATIC_MEM_EXPAND" "1" 
+[LANGUAGE]
+"English" 
+[CONFIG_INFO_VD1]
+1 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 289 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 206 560 340 350 200 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 2 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 2 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 1 6 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000028_RTOSDEBUG}" "TOOLBAR 0" 59419 2 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000029_SYSTEMTOOL}" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N_Renesas\RTOSDemo\RTOSDemo.c" 
+[TARGET_NAME]
+"" "" 1229201492 
+[STATUSBAR_STATEINFO_VD1]
+"MasterShowState" 1 
+"ApplicationShowState" 1 
+"DebuggerShowState" 1 
+[STATUSBAR_STATEINFO_VD2]
+"MasterShowState" 1 
+"ApplicationShowState" 1 
+"DebuggerShowState" 1 
+[STATUSBAR_STATEINFO_VD3]
+"MasterShowState" 1 
+"ApplicationShowState" 1 
+"DebuggerShowState" 1 
+[STATUSBAR_STATEINFO_VD4]
+"MasterShowState" 1 
+"ApplicationShowState" 1 
+"DebuggerShowState" 1 
+[STATUSBAR_DEBUGGER_PANESTATE_VD1]
+[STATUSBAR_DEBUGGER_PANESTATE_VD2]
+[STATUSBAR_DEBUGGER_PANESTATE_VD3]
+[STATUSBAR_DEBUGGER_PANESTATE_VD4]
+[DEBUGGER_OPTIONS]
+"" 
+[DOWNLOAD_MODULES]
+[CONNECT_ON_GO]
+"FALSE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"TRUE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
+"FALSE" 
+[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_DURING_EXECUTION]
+"FALSE" 
+[DEBUGGER_OPTIONS_PROPERTIES]
+"1" 
+[COMMAND_FILES]
+[DEFAULT_DEBUG_FORMAT]
+"" 
+[FLASH_DETAILS]
+"0.000000" 0 0 "" 0 "" 0 0 "" 1 1 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/FreeRTOSConfig.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/FreeRTOSConfig.h
new file mode 100644
index 0000000000..e7130d5d85
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/FreeRTOSConfig.h
@@ -0,0 +1,165 @@
+/*
+    FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
+
+    ***************************************************************************
+    *                                                                         *
+    * If you are:                                                             *
+    *                                                                         *
+    *    + New to FreeRTOS,                                                   *
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *
+    *    + Looking for basic training,                                        *
+    *    + Wanting to improve your FreeRTOS skills and productivity           *
+    *                                                                         *
+    * then take a look at the FreeRTOS books - available as PDF or paperback  *
+    *                                                                         *
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *
+    *                  http://www.FreeRTOS.org/Documentation                  *
+    *                                                                         *
+    * A pdf reference manual is also available.  Both are usually delivered   *
+    * to your inbox within 20 minutes to two hours when purchased between 8am *
+    * and 8pm GMT (although please allow up to 24 hours in case of            *
+    * exceptional circumstances).  Thank you for your support!                *
+    *                                                                         *
+    ***************************************************************************
+
+    This file is part of the FreeRTOS distribution.
+
+    FreeRTOS is free software; you can redistribute it and/or modify it under
+    the terms of the GNU General Public License (version 2) as published by the
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+    ***NOTE*** The exception to the GPL is included to allow you to distribute
+    a combined work that includes FreeRTOS without being obliged to provide the
+    source code for proprietary components outside of the FreeRTOS kernel.
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+    more details. You should have received a copy of the GNU General Public 
+    License and the FreeRTOS license exception along with FreeRTOS; if not it 
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained 
+    by writing to Richard Barry, contact details for whom are available on the
+    FreeRTOS WEB site.
+
+    1 tab == 4 spaces!
+
+    http://www.FreeRTOS.org - Documentation, latest information, license and
+    contact details.
+
+    http://www.SafeRTOS.com - A version that is certified for use in safety
+    critical systems.
+
+    http://www.OpenRTOS.com - Commercial support, development, porting,
+    licensing and training services.
+*/
+
+#ifndef FREERTOS_CONFIG_H
+#define FREERTOS_CONFIG_H
+
+/* Board specifics. */
+#include "rskrx62ndef.h"
+
+/*-----------------------------------------------------------
+ * Application specific definitions.
+ *
+ * These definitions should be adjusted for your particular hardware and
+ * application requirements.
+ *
+ * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
+ * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
+ *
+ * See http://www.freertos.org/a00110.html.
+ *----------------------------------------------------------*/
+
+#define configUSE_PREEMPTION			1
+#define configUSE_IDLE_HOOK				0
+#define configUSE_TICK_HOOK				0
+#define configCPU_CLOCK_HZ				( ICLK_FREQUENCY ) /* Set in rskrx62ndef.h. */
+#define configPERIPHERAL_CLOCK_HZ		( PCLK_FREQUENCY ) /* Set in rskrx62ndef.h. */
+#define configTICK_RATE_HZ				( ( portTickType ) 1000 )
+#define configMINIMAL_STACK_SIZE		( ( unsigned short ) 140 )
+#define configTOTAL_HEAP_SIZE			( ( size_t ) ( 50 * 1024 ) )
+#define configMAX_TASK_NAME_LEN			( 12 )
+#define configUSE_TRACE_FACILITY		1
+#define configUSE_16_BIT_TICKS			0
+#define configIDLE_SHOULD_YIELD			1
+#define configUSE_CO_ROUTINES 			0
+#define configUSE_MUTEXES				1
+#define configGENERATE_RUN_TIME_STATS	1
+#define configCHECK_FOR_STACK_OVERFLOW	2
+#define configUSE_RECURSIVE_MUTEXES		1
+#define configQUEUE_REGISTRY_SIZE		0
+#define configUSE_MALLOC_FAILED_HOOK	1
+#define configUSE_APPLICATION_TASK_TAG	0
+
+#define configMAX_PRIORITIES			( ( unsigned portBASE_TYPE ) 7 )
+#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
+/* Software timer definitions. */
+#define configUSE_TIMERS				1
+#define configTIMER_TASK_PRIORITY		( 3 )
+#define configTIMER_QUEUE_LENGTH		5
+#define configTIMER_TASK_STACK_DEPTH	( configMINIMAL_STACK_SIZE )
+
+/* The interrupt priority used by the kernel itself for the tick interrupt and
+the pended interrupt.  This would normally be the lowest priority. */
+#define configKERNEL_INTERRUPT_PRIORITY         1
+
+/* The maximum interrupt priority from which FreeRTOS API calls can be made.
+Interrupts that use a priority above this will not be effected by anything the
+kernel is doing. */
+#define configMAX_SYSCALL_INTERRUPT_PRIORITY    4
+
+/* The peripheral used to generate the tick interrupt is configured as part of
+the application code.  This constant should be set to the vector number of the
+peripheral chosen.  As supplied this is CMT0. */
+#define configTICK_VECTOR						_CMT0_CMI0
+
+/* Set the following definitions to 1 to include the API function, or zero
+to exclude the API function. */
+
+#define INCLUDE_vTaskPrioritySet			1
+#define INCLUDE_uxTaskPriorityGet			1
+#define INCLUDE_vTaskDelete					1
+#define INCLUDE_vTaskCleanUpResources		0
+#define INCLUDE_vTaskSuspend				1
+#define INCLUDE_vTaskDelayUntil				1
+#define INCLUDE_vTaskDelay					1
+#define INCLUDE_uxTaskGetStackHighWaterMark	1
+#define INCLUDE_xTaskGetSchedulerState		1
+
+#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }	
+extern volatile unsigned long ulHighFrequencyTickCount;
+#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() nop() /* Run time stats use the same timer as the high frequency timer test. */
+#define portGET_RUN_TIME_COUNTER_VALUE() ulHighFrequencyTickCount
+
+
+/* Override some of the priorities set in the common demo tasks.  This is
+required to ensure flase positive timing errors are not reported. */
+#define bktPRIMARY_PRIORITY		( configMAX_PRIORITIES - 3 )
+#define bktSECONDARY_PRIORITY	( configMAX_PRIORITIES - 4 )
+#define intqHIGHER_PRIORITY		( configMAX_PRIORITIES - 3 )
+
+
+/*-----------------------------------------------------------
+ * Ethernet configuration.
+ *-----------------------------------------------------------*/
+
+/* MAC address configuration. */
+#define configMAC_ADDR0	0x00
+#define configMAC_ADDR1	0x12
+#define configMAC_ADDR2	0x13
+#define configMAC_ADDR3	0x10
+#define configMAC_ADDR4	0x15
+#define configMAC_ADDR5	0x11
+
+/* IP address configuration. */
+#define configIP_ADDR0		192
+#define configIP_ADDR1		168
+#define configIP_ADDR2		0
+#define configIP_ADDR3		200
+
+/* Netmask configuration. */
+#define configNET_MASK0		255
+#define configNET_MASK1		255
+#define configNET_MASK2		255
+#define configNET_MASK3		0
+
+#endif /* FREERTOS_CONFIG_H */
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/HighFrequencyTimerTest.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/HighFrequencyTimerTest.c
new file mode 100644
index 0000000000..f17faafc09
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/HighFrequencyTimerTest.c
@@ -0,0 +1,170 @@
+/*
+    FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
+
+    ***************************************************************************
+    *                                                                         *
+    * If you are:                                                             *
+    *                                                                         *
+    *    + New to FreeRTOS,                                                   *
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *
+    *    + Looking for basic training,                                        *
+    *    + Wanting to improve your FreeRTOS skills and productivity           *
+    *                                                                         *
+    * then take a look at the FreeRTOS books - available as PDF or paperback  *
+    *                                                                         *
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *
+    *                  http://www.FreeRTOS.org/Documentation                  *
+    *                                                                         *
+    * A pdf reference manual is also available.  Both are usually delivered   *
+    * to your inbox within 20 minutes to two hours when purchased between 8am *
+    * and 8pm GMT (although please allow up to 24 hours in case of            *
+    * exceptional circumstances).  Thank you for your support!                *
+    *                                                                         *
+    ***************************************************************************
+
+    This file is part of the FreeRTOS distribution.
+
+    FreeRTOS is free software; you can redistribute it and/or modify it under
+    the terms of the GNU General Public License (version 2) as published by the
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+    ***NOTE*** The exception to the GPL is included to allow you to distribute
+    a combined work that includes FreeRTOS without being obliged to provide the
+    source code for proprietary components outside of the FreeRTOS kernel.
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+    more details. You should have received a copy of the GNU General Public 
+    License and the FreeRTOS license exception along with FreeRTOS; if not it 
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained 
+    by writing to Richard Barry, contact details for whom are available on the
+    FreeRTOS WEB site.
+
+    1 tab == 4 spaces!
+
+    http://www.FreeRTOS.org - Documentation, latest information, license and
+    contact details.
+
+    http://www.SafeRTOS.com - A version that is certified for use in safety
+    critical systems.
+
+    http://www.OpenRTOS.com - Commercial support, development, porting,
+    licensing and training services.
+*/
+
+/* 
+ * High frequency timer test as described in main.c. 
+ */
+
+/* Scheduler includes. */
+#include "FreeRTOS.h"
+
+/* Hardware specifics. */
+#include "iodefine.h"
+
+/* The set frequency of the interrupt.  Deviations from this are measured as
+the jitter. */
+#define timerINTERRUPT_FREQUENCY		( 20000UL )
+
+/* The expected time between each of the timer interrupts - if the jitter was
+zero. */
+#define timerEXPECTED_DIFFERENCE_VALUE	( ( unsigned short ) ( ( configPERIPHERAL_CLOCK_HZ / 8UL ) / timerINTERRUPT_FREQUENCY ) )
+
+/* The highest available interrupt priority. */
+#define timerHIGHEST_PRIORITY			( 15 )
+
+/* Misc defines. */
+#define timerTIMER_3_COUNT_VALUE		( *( ( unsigned short * ) 0x8801a ) ) /*( CMT3.CMCNT )*/
+
+/*-----------------------------------------------------------*/
+
+/* Interrupt handler in which the jitter is measured. */
+static void prvTimer2IntHandler( void );
+
+/* Stores the value of the maximum recorded jitter between interrupts.  This is
+displayed on one of the served web pages. */
+volatile unsigned short usMaxJitter = 0;
+
+/* Counts the number of high frequency interrupts - used to generate the run
+time stats. */
+volatile unsigned long ulHighFrequencyTickCount = 0UL;
+
+/*-----------------------------------------------------------*/
+
+void vSetupHighFrequencyTimer( void )
+{
+	/* Timer CMT2 is used to generate the interrupts, and CMT3 is used
+	to measure the jitter. */
+
+	/* Enable compare match timer 2 and 3. */
+	MSTP( CMT2 ) = 0;
+	MSTP( CMT3 ) = 0;
+	
+	/* Interrupt on compare match. */
+	CMT2.CMCR.BIT.CMIE = 1;
+	
+	/* Set the compare match value. */
+	CMT2.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / timerINTERRUPT_FREQUENCY ) -1 ) / 8 );
+	
+	/* Divide the PCLK by 8. */
+	CMT2.CMCR.BIT.CKS = 0;
+	CMT3.CMCR.BIT.CKS = 0;
+	
+	/* Enable the interrupt... */
+	_IEN( _CMT2_CMI2 ) = 1;
+	
+	/* ...and set its priority to the maximum possible, this is above the priority
+	set by configMAX_SYSCALL_INTERRUPT_PRIORITY so will nest. */
+	_IPR( _CMT2_CMI2 ) = timerHIGHEST_PRIORITY;
+	
+	/* Start the timers. */
+	CMT.CMSTR1.BIT.STR2 = 1;
+	CMT.CMSTR1.BIT.STR3 = 1;
+}
+/*-----------------------------------------------------------*/
+
+#pragma interrupt ( prvTimer2IntHandler( vect = _VECT( _CMT2_CMI2 ), enable ) )
+static void prvTimer2IntHandler( void )
+{
+volatile unsigned short usCurrentCount;
+static unsigned short usMaxCount = 0;
+static unsigned long ulErrorCount = 0UL;
+
+	/* We use the timer 1 counter value to measure the clock cycles between
+	the timer 0 interrupts.  First stop the clock. */
+	CMT.CMSTR1.BIT.STR3 = 0;
+	nop();
+	nop();
+	usCurrentCount = timerTIMER_3_COUNT_VALUE;
+
+	/* Is this the largest count we have measured yet? */
+	if( usCurrentCount > usMaxCount )
+	{
+		if( usCurrentCount > timerEXPECTED_DIFFERENCE_VALUE )
+		{
+			usMaxJitter = usCurrentCount - timerEXPECTED_DIFFERENCE_VALUE;
+		}
+		else
+		{
+			/* This should not happen! */
+			ulErrorCount++;
+		}
+		
+		usMaxCount = usCurrentCount;
+	}
+
+	/* Used to generate the run time stats. */
+	ulHighFrequencyTickCount++;
+	
+	/* Clear the timer. */
+	timerTIMER_3_COUNT_VALUE = 0;
+	
+	/* Then start the clock again. */
+	CMT.CMSTR1.BIT.STR3 = 1;
+}
+
+
+
+
+
+
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/IntQueueTimer.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/IntQueueTimer.c
new file mode 100644
index 0000000000..7b5064c6ba
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/IntQueueTimer.c
@@ -0,0 +1,143 @@
+/*
+    FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
+
+    ***************************************************************************
+    *                                                                         *
+    * If you are:                                                             *
+    *                                                                         *
+    *    + New to FreeRTOS,                                                   *
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *
+    *    + Looking for basic training,                                        *
+    *    + Wanting to improve your FreeRTOS skills and productivity           *
+    *                                                                         *
+    * then take a look at the FreeRTOS books - available as PDF or paperback  *
+    *                                                                         *
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *
+    *                  http://www.FreeRTOS.org/Documentation                  *
+    *                                                                         *
+    * A pdf reference manual is also available.  Both are usually delivered   *
+    * to your inbox within 20 minutes to two hours when purchased between 8am *
+    * and 8pm GMT (although please allow up to 24 hours in case of            *
+    * exceptional circumstances).  Thank you for your support!                *
+    *                                                                         *
+    ***************************************************************************
+
+    This file is part of the FreeRTOS distribution.
+
+    FreeRTOS is free software; you can redistribute it and/or modify it under
+    the terms of the GNU General Public License (version 2) as published by the
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+    ***NOTE*** The exception to the GPL is included to allow you to distribute
+    a combined work that includes FreeRTOS without being obliged to provide the
+    source code for proprietary components outside of the FreeRTOS kernel.
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+    more details. You should have received a copy of the GNU General Public 
+    License and the FreeRTOS license exception along with FreeRTOS; if not it 
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained 
+    by writing to Richard Barry, contact details for whom are available on the
+    FreeRTOS WEB site.
+
+    1 tab == 4 spaces!
+
+    http://www.FreeRTOS.org - Documentation, latest information, license and
+    contact details.
+
+    http://www.SafeRTOS.com - A version that is certified for use in safety
+    critical systems.
+
+    http://www.OpenRTOS.com - Commercial support, development, porting,
+    licensing and training services.
+*/
+
+/*
+ * This file contains the non-portable and therefore RX62N specific parts of
+ * the IntQueue standard demo task - namely the configuration of the timers
+ * that generate the interrupts and the interrupt entry points.
+ */
+
+/* Scheduler includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+
+/* Demo includes. */
+#include "IntQueueTimer.h"
+#include "IntQueue.h"
+
+/* Hardware specifics. */
+#include "iodefine.h"
+
+#define tmrTIMER_0_1_FREQUENCY	( 2000UL )
+#define tmrTIMER_2_3_FREQUENCY	( 2001UL )
+
+void vInitialiseTimerForIntQueueTest( void )
+{
+	/* Ensure interrupts do not start until full configuration is complete. */
+	portENTER_CRITICAL();
+	{
+		/* Cascade two 8bit timer channels to generate the interrupts. 
+		8bit timer unit 1 (TMR0 and TMR1) and 8bit timer unit 2 (TMR2 and TMR3 are
+		utilised for this test. */
+
+		/* Enable the timers. */
+		SYSTEM.MSTPCRA.BIT.MSTPA5 = 0;
+		SYSTEM.MSTPCRA.BIT.MSTPA4 = 0;
+
+		/* Enable compare match A interrupt request. */
+		TMR0.TCR.BIT.CMIEA = 1;
+		TMR2.TCR.BIT.CMIEA = 1;
+
+		/* Clear the timer on compare match A. */
+		TMR0.TCR.BIT.CCLR = 1;
+		TMR2.TCR.BIT.CCLR = 1;
+
+		/* Set the compare match value. */
+		TMR01.TCORA = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / tmrTIMER_0_1_FREQUENCY ) -1 ) / 8 );
+		TMR23.TCORA = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / tmrTIMER_0_1_FREQUENCY ) -1 ) / 8 );
+
+		/* 16 bit operation ( count from timer 1,2 ). */
+		TMR0.TCCR.BIT.CSS = 3;
+		TMR2.TCCR.BIT.CSS = 3;
+	
+		/* Use PCLK as the input. */
+		TMR1.TCCR.BIT.CSS = 1;
+		TMR3.TCCR.BIT.CSS = 1;
+	
+		/* Divide PCLK by 8. */
+		TMR1.TCCR.BIT.CKS = 2;
+		TMR3.TCCR.BIT.CKS = 2;
+	
+		/* Enable TMR 0, 2 interrupts. */
+		IEN( TMR0, CMIA0 ) = 1;
+		IEN( TMR2, CMIA2 ) = 1;
+
+		/* Set the timer interrupts to be above the kernel.  The interrupts are
+		assigned different priorities so they nest with each other. */
+		IPR( TMR0, CMIA0 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+		IPR( TMR2, CMIA2 ) = ( configMAX_SYSCALL_INTERRUPT_PRIORITY - 2 );
+	}
+	portEXIT_CRITICAL();
+	
+	/* Ensure the interrupts are clear as they are edge detected. */
+	IR( TMR0, CMIA0 ) = 0;
+	IR( TMR2, CMIA2 ) = 0;
+}
+/*-----------------------------------------------------------*/
+
+#pragma interrupt ( vT0_1InterruptHandler( vect = VECT_TMR0_CMIA0, enable ) )
+void vT0_1InterruptHandler( void )
+{
+	portYIELD_FROM_ISR( xFirstTimerHandler() );
+}
+/*-----------------------------------------------------------*/
+
+#pragma interrupt ( vT2_3InterruptHandler( vect = VECT_TMR2_CMIA2, enable ) )
+void vT2_3InterruptHandler( void )
+{
+	portYIELD_FROM_ISR( xSecondTimerHandler() );
+}
+
+
+
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/ParTest.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/ParTest.c
new file mode 100644
index 0000000000..fa88596b5f
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/ParTest.c
@@ -0,0 +1,201 @@
+/*
+    FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
+
+    ***************************************************************************
+    *                                                                         *
+    * If you are:                                                             *
+    *                                                                         *
+    *    + New to FreeRTOS,                                                   *
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *
+    *    + Looking for basic training,                                        *
+    *    + Wanting to improve your FreeRTOS skills and productivity           *
+    *                                                                         *
+    * then take a look at the FreeRTOS books - available as PDF or paperback  *
+    *                                                                         *
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *
+    *                  http://www.FreeRTOS.org/Documentation                  *
+    *                                                                         *
+    * A pdf reference manual is also available.  Both are usually delivered   *
+    * to your inbox within 20 minutes to two hours when purchased between 8am *
+    * and 8pm GMT (although please allow up to 24 hours in case of            *
+    * exceptional circumstances).  Thank you for your support!                *
+    *                                                                         *
+    ***************************************************************************
+
+    This file is part of the FreeRTOS distribution.
+
+    FreeRTOS is free software; you can redistribute it and/or modify it under
+    the terms of the GNU General Public License (version 2) as published by the
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+    ***NOTE*** The exception to the GPL is included to allow you to distribute
+    a combined work that includes FreeRTOS without being obliged to provide the
+    source code for proprietary components outside of the FreeRTOS kernel.
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+    more details. You should have received a copy of the GNU General Public 
+    License and the FreeRTOS license exception along with FreeRTOS; if not it 
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained 
+    by writing to Richard Barry, contact details for whom are available on the
+    FreeRTOS WEB site.
+
+    1 tab == 4 spaces!
+
+    http://www.FreeRTOS.org - Documentation, latest information, license and
+    contact details.
+
+    http://www.SafeRTOS.com - A version that is certified for use in safety
+    critical systems.
+
+    http://www.OpenRTOS.com - Commercial support, development, porting,
+    licensing and training services.
+*/
+
+/*-----------------------------------------------------------
+ * Simple IO routines to control the LEDs.
+ *-----------------------------------------------------------*/
+
+/* Scheduler includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+
+/* Demo includes. */
+#include "partest.h"
+
+/* Hardware specifics. */
+#include "iodefine.h"
+
+#define partestNUM_LEDS ( 4 )
+
+long lParTestGetLEDState( unsigned long ulLED );
+
+/*-----------------------------------------------------------*/
+
+void vParTestInitialise( void )
+{
+	/* Port pin configuration is done by the low level set up prior to this 
+	function being called. */
+}
+/*-----------------------------------------------------------*/
+
+void vParTestSetLED( unsigned long ulLED, signed long xValue )
+{
+	if( ulLED < partestNUM_LEDS )
+	{
+		if( xValue != 0 )
+		{
+			/* Turn the LED on. */
+			taskENTER_CRITICAL();
+			{
+				switch( ulLED )
+				{
+					case 0:	LED0 = LED_ON;
+							break;
+					case 1:	LED1 = LED_ON;
+							break;
+					case 2:	LED2 = LED_ON;
+							break;
+					case 3:	LED3 = LED_ON;
+							break;
+//					case 4:	LED4 = LED_ON;
+//							break;
+//					case 5:	LED5 = LED_ON;
+//							break;
+				}
+			}
+			taskEXIT_CRITICAL();
+		}
+		else
+		{
+			/* Turn the LED off. */
+			taskENTER_CRITICAL();
+			{
+				switch( ulLED )
+				{
+					case 0:	LED0 = LED_OFF;
+							break;
+					case 1:	LED1 = LED_OFF;
+							break;
+					case 2:	LED2 = LED_OFF;
+							break;
+					case 3:	LED3 = LED_OFF;
+							break;
+//					case 4:	LED4 = LED_OFF;
+//							break;
+//					case 5:	LED5 = LED_OFF;
+//							break;
+				}
+
+			}
+			taskEXIT_CRITICAL();
+		}
+	}
+}
+/*-----------------------------------------------------------*/
+
+void vParTestToggleLED( unsigned long ulLED )
+{
+	if( ulLED < partestNUM_LEDS )
+	{
+		taskENTER_CRITICAL();
+		{
+			if( lParTestGetLEDState( ulLED ) != 0x00 )
+			{
+				vParTestSetLED( ulLED, 0 );
+			}
+			else
+			{
+				vParTestSetLED( ulLED, 1 );
+			}
+		}
+		taskEXIT_CRITICAL();
+	}
+}
+/*-----------------------------------------------------------*/
+							
+long lParTestGetLEDState( unsigned long ulLED )
+{
+long lReturn = pdTRUE;
+
+	if( ulLED < partestNUM_LEDS )
+	{
+		switch( ulLED )
+		{
+			case 0	:	if( LED0 != 0 )
+						{
+							lReturn =  pdFALSE;
+						}
+						break;					
+			case 1	:	if( LED1 != 0 )
+						{
+							lReturn =  pdFALSE;
+						}
+						break;					
+			case 2	:	if( LED2 != 0 )
+						{
+							lReturn =  pdFALSE;
+						}
+						break;					
+			case 3	:	if( LED3 != 0 )
+						{
+							lReturn =  pdFALSE;
+						}
+						break;					
+//			case 4	:	if( LED4 != 0 )
+//						{
+//							lReturn =  pdFALSE;
+//						}
+//						break;					
+//			case 5	:	if( LED5 != 0 )
+//						{
+//							lReturn =  pdFALSE;
+//						}
+//						break;					
+		}
+	}
+	
+	return lReturn;
+}
+/*-----------------------------------------------------------*/
+
+							
\ No newline at end of file
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/RTOSDemo.hwp b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/RTOSDemo.hwp
new file mode 100644
index 0000000000..0429704014
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/RTOSDemo.hwp
@@ -0,0 +1,561 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.8" 
+[PROJECT_DETAILS]
+"RTOSDemo" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\RTOSDemo.hwp" "RX" "Renesas RX Standard" "Application" "RX600" "Other" 
+[INFORMATION]
+"No project information available" 
+[TOOL_CHAIN]
+"Renesas RX Standard Toolchain" "1.1.0.0" 
+[CONFIGURATIONS]
+"Blinky" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Blinky" 
+"Debug" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Debug" 
+"Debug_RX600_E1_E20_SYSTEM" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Debug_RX600_E1_E20_SYSTEM" 
+"Debug_with_optimisation" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Debug_with_optimisation" 
+"SimDebug_RX600" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\SimDebug_RX600" 
+[BUILD_PHASES]
+"Renesas OptLinker" 1 
+"Renesas RX Assembler" 1 
+"Renesas RX C/C++ Compiler" 1 
+"Renesas RX C/C++ Library Generator" 1 
+"Renesas RX Configurator" 1 
+[TOOL_ENVIRONMENT]
+[EXTENSIONS]
+"Absolute file" "ABS" 
+"Assembly include file" "INC" 
+"Assembly list file" "LST" 
+"Assembly source file" "S" 
+"Assembly source file" "SRC" 
+"Binary file" "BIN" 
+"C header file" "H" 
+"C source file" "C" 
+"C++ header file" "HPP" 
+"C++ source file" "CC" 
+"C++ source file" "CP" 
+"C++ source file" "CPP" 
+"CPU information file" "CPU" 
+"Calling information file" "CAL" 
+"Configuration file" "CFG" 
+"Debug information file" "DBG" 
+"Hex file" "HEX" 
+"Library file" "LIB" 
+"Library information file" "LBP" 
+"Linkage map file" "MAP" 
+"Linkage symbol file" "FSY" 
+"Object file" "OBJ" 
+"Optimize map file" "bls" 
+"Preprocessed C source file" "P" 
+"Preprocessed C++ source file" "PP" 
+"Relocatable file" "REL" 
+"Rts information file" "RTS" 
+"S-Record file" "MOT" 
+"Stack information file" "SNI" 
+"TD include object file" "RTI" 
+[FILE_GROUPS]
+"Absolute file" "BIN" "NONE" "" 
+"Assembly include file" "TEXT" "EDITOR" "" 
+"Assembly list file" "TEXT" "EDITOR" "" 
+"Assembly source file" "TEXT" "EDITOR" "" 
+"Binary file" "BIN" "NONE" "" 
+"C header file" "TEXT" "EDITOR" "" 
+"C source file" "TEXT" "EDITOR" "" 
+"C++ header file" "TEXT" "EDITOR" "" 
+"C++ source file" "TEXT" "EDITOR" "" 
+"CPU information file" "BIN" "NONE" "" 
+"Calling information file" "BIN" "NONE" "" 
+"Configuration file" "TEXT" "EDITOR" "" 
+"Debug information file" "BIN" "NONE" "" 
+"Hex file" "TEXT" "EDITOR" "" 
+"Library file" "BIN" "NONE" "" 
+"Library information file" "TEXT" "EDITOR" "" 
+"Linkage map file" "TEXT" "EDITOR" "" 
+"Linkage symbol file" "TEXT" "EDITOR" "" 
+"Object file" "BIN" "NONE" "" 
+"Optimize map file" "BIN" "NONE" "" 
+"Preprocessed C source file" "TEXT" "EDITOR" "" 
+"Preprocessed C++ source file" "TEXT" "EDITOR" "" 
+"Relocatable file" "BIN" "NONE" "" 
+"Rts information file" "BIN" "NONE" "" 
+"S-Record file" "TEXT" "EDITOR" "" 
+"Stack information file" "BIN" "NONE" "" 
+"TD include object file" "BIN" "NONE" "" 
+[ASSOCIATED_APPLICATIONS]
+[TOOLCHAIN_PHASE]
+"Renesas OptLinker" 
+"Renesas RX Assembler" 
+"Renesas RX C/C++ Compiler" 
+"Renesas RX C/C++ Library Generator" 
+"Renesas RX Configurator" 
+[UTILITY_PHASE]
+[CUSTOM_PHASES]
+[CUSTOM_PHASE_INPUT_GROUP]
+[CUSTOM_PHASE_OUTPUT_SYNTAX]
+[BUILD_ORDER]
+"Renesas RX C/C++ Library Generator" 1 
+"Renesas RX C/C++ Compiler" 1 
+"Renesas RX Assembler" 1 
+"Renesas OptLinker" 1 
+"Renesas RX Configurator" 0 
+[BUILD_PHASE_DETAILS]
+"Renesas OptLinker" "Object file|Library file|Relocatable file" 0 
+"Renesas RX Assembler" "Assembly source file|Linkage symbol file" 1 
+"Renesas RX C/C++ Compiler" "C source file|C++ source file" 1 
+"Renesas RX C/C++ Library Generator" "" 0 
+"Renesas RX Configurator" "Configuration file" 0 
+[BUILD_FILE_ORDER_Assembly source file]
+"Renesas RX Assembler" 1 
+[BUILD_FILE_ORDER_C source file]
+"Renesas RX C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_C++ source file]
+"Renesas RX C/C++ Compiler" 1 
+[BUILD_FILE_ORDER_Linkage symbol file]
+"Renesas RX Assembler" 1 
+[SCRAP]
+"Project Generator Setup File" "" 
+[MAPPINGS]
+"Assembly source file" "Renesas RX Assembler" "Renesas RX C/C++ Compiler" 
+"Library file" "Renesas OptLinker" "Renesas RX C/C++ Library Generator" 
+"Object file" "Renesas OptLinker" "Renesas RX Assembler" 
+"Object file" "Renesas OptLinker" "Renesas RX C/C++ Compiler" 
+[PROJECT_FILES]
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "User" "C source file|Common demo tasks" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "User" "C source file" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "User" "C source file" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "User" "C source file" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "User" "C source file|Renesas Files" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "User" "C source file|Renesas Files" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "User" "C source file|Renesas Files" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "User" "C source file|Renesas Files" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "User" "C source file|Renesas Files" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "User" "C source file|Renesas Files" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "User" "C source file|Renesas Files" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "User" "C source file|Renesas Files" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "User" "C source file" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "User" "C source file" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "User" "C source file" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "User" "C source file|FreeRTOS" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "User" "C source file|FreeRTOS|Portable layer" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "User" "C source file|FreeRTOS|Portable layer" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "User" "Assembly source file" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "User" "C source file|FreeRTOS" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "User" "C source file|FreeRTOS" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "User" "C source file" 2 
+[FOLDER]
+"Assembly source file" "Assembly source file" 
+"C header file" "C header file" 
+"C source file" "C source file" 
+"C source file|Common demo tasks" "" 
+"C source file|FreeRTOS" "" 
+"C source file|FreeRTOS|Portable layer" "" 
+"C source file|Renesas Files" "" 
+[GENERAL_DATA_PROJECT]
+"FDT_AutoConnect" "0" 
+"FDT_BaseDevice" "" 
+"FDT_BaudRate" "" 
+"FDT_BlockLockConnect" "1" 
+"FDT_BlockLockDisconnect" "1" 
+"FDT_BootMode" "FALSE" 
+"FDT_CKM" "0" 
+"FDT_CKP" "0" 
+"FDT_ClockMode" "0" 
+"FDT_ClockSync" "00000000" 
+"FDT_Comments" "" 
+"FDT_ConnectionResetSuppression" "FFFFFFFF" 
+"FDT_Device" "" 
+"FDT_DoReadbackVerification" "" 
+"FDT_DoSecurityProtection" "" 
+"FDT_DoSecurityProtectionLevel" "" 
+"FDT_Frequency" "0.0000" 
+"FDT_Interface" "" 
+"FDT_InternalClock" "FALSE" 
+"FDT_KernelPath" "" 
+"FDT_KernelResident" "FALSE" 
+"FDT_McuId" "0" 
+"FDT_MessageLevel" "0" 
+"FDT_PinOutputs" "00000000" 
+"FDT_PinSettings" "00000000" 
+"FDT_Port" "" 
+"FDT_Protection" "0" 
+"FDT_Protocol" "" 
+"FDT_ReinterrogateGenericDevice" "" 
+"FDT_ResetOnDisconnect" "" 
+"FDT_ResetPinOutputs" "00000000" 
+"FDT_ResetPinSettings" "00000000" 
+"FDT_SerNumConfigString" "" 
+"FDT_SerNumDllFunction" "" 
+"FDT_SerNumDllLocation" "" 
+"FDT_SerNumEnabled" "FALSE" 
+"FDT_SerNumMemArea" "" 
+"FDT_UPMPinSettings" "00000000" 
+"FDT_UseDefaultBaudRate" "FALSE" 
+"FDT_UseInternalKernel" "TRUE" 
+"FDT_UserPinOutputs" "00000000" 
+"FDT_UserPinSettings" "00000000" 
+"MAKEGEN_GENERATE_MAKEFILE_FOR" "0" 
+"MAKEGEN_MAKEFILE_FORMAT" "2" 
+"MAKEGEN_MAKEFILE_RELATIVITY" "1" 
+"MAKEGEN_SCAN_DEPENDENCIES_WHILST_BUILDING_MAKEFILE" "1" 
+"MAKEGEN_USE_STATIC_SUBCOMMAND_FILES" "1" 
+"USE_CUSTOM_LINKAGE_ORDER" "0" 
+[ON_DEMAND_COMPONENTS_LOADED]
+[SYNC_SESSION_NAMES]
+[SESSIONS]
+"DefaultSession" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\DefaultSession.hsf" 0 
+"SessionRX200_E1_E20_SYSTEM" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\SessionRX200_E1_E20_SYSTEM.hsf" 0 
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_SESSION_SessionRX200_E1_E20_SYSTEM]
+[OPTIONS_Blinky_Renesas OptLinker]
+"Single Shot" "0d0f2119b896cc10" 5 
+[OPTIONS_Blinky_Renesas RX Assembler]
+"Assembly source file" "0fe42629efb3cc10" 4 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0fe42629efb3cc10" 4 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "0e2e6019b896cc10" 4 
+"Linkage symbol file" "0fe42629efb3cc10" 4 
+[OPTIONS_Blinky_Renesas RX C/C++ Compiler]
+"C source file" "0c9d1629efb3cc10" 2 
+"C++ source file" "0c9d1629efb3cc10" 3 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "0e2e6019b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0c9d1629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0c9d1629efb3cc10" 2 
+[OPTIONS_Blinky_Renesas RX C/C++ Library Generator]
+"Single Shot" "0c9d1629efb3cc10" 1 
+[OPTIONS_Blinky_Renesas RX Configurator]
+"Single Shot" "0e2e6019b896cc10" 6 
+[OPTIONS_Blinky]
+"" 0 
+"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6 
+"[V|VERSION|1] [B|SJIS|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1]
+" 4 
+"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\webserver^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]
+" 3 
+"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\webserver^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]
+" 2 
+"[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [B|NOFLOAT|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1]
+" 1 
+"[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(0FFF81000)|FIXEDVECT(0FFFFFFD0)] [B|SKIPDEPENDENCY|1]
+" 5 
+[EXCLUDED_FILES_Blinky]
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" 
+[LINKAGE_ORDER_Blinky]
+[GENERAL_DATA_CONFIGURATION_Blinky]
+[OPTIONS_Debug_Renesas OptLinker]
+"Single Shot" "0d0f2119b896cc10" 5 
+[OPTIONS_Debug_Renesas RX Assembler]
+"Assembly source file" "0fddf529efb3cc10" 4 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0fddf529efb3cc10" 4 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "0e2e6019b896cc10" 4 
+"Linkage symbol file" "0fddf529efb3cc10" 4 
+[OPTIONS_Debug_Renesas RX C/C++ Compiler]
+"C source file" "0c86f529efb3cc10" 2 
+"C++ source file" "0c86f529efb3cc10" 3 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "0e2e6019b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0c86f529efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0c86f529efb3cc10" 2 
+[OPTIONS_Debug_Renesas RX C/C++ Library Generator]
+"Single Shot" "0c86f529efb3cc10" 1 
+[OPTIONS_Debug_Renesas RX Configurator]
+"Single Shot" "0e2e6019b896cc10" 6 
+[OPTIONS_Debug]
+"" 0 
+"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6 
+"[V|VERSION|1] [B|SJIS|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
+" 4 
+"[V|VERSION|1] [S|LANG|C99] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
+" 2 
+"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
+" 3 
+"[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX600] [S|BASE|00000000=NONE]
+" 1 
+"[V|VERSION|6] [S|PRELINK|SKIP] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODALL|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [S|START|B_RX_DESC,B_TX_DESC,B_ETHERNET_BUFFERS,B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(0FFF81000)|FIXEDVECT(0FFFFFFD0)]
+" 5 
+[EXCLUDED_FILES_Debug]
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" 
+[LINKAGE_ORDER_Debug]
+[GENERAL_DATA_CONFIGURATION_Debug]
+[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas OptLinker]
+"Single Shot" "0d0f2119b896cc10" 5 
+[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX Assembler]
+"Assembly source file" "0ab81629efb3cc10" 4 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0ab81629efb3cc10" 4 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "0e2e6019b896cc10" 4 
+"Linkage symbol file" "0ab81629efb3cc10" 4 
+[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX C/C++ Compiler]
+"C source file" "07611629efb3cc10" 2 
+"C++ source file" "07611629efb3cc10" 3 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "0e2e6019b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "07611629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "07611629efb3cc10" 2 
+[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX C/C++ Library Generator]
+"Single Shot" "07611629efb3cc10" 1 
+[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX Configurator]
+"Single Shot" "0e2e6019b896cc10" 6 
+[OPTIONS_Debug_RX600_E1_E20_SYSTEM]
+"" 0 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|ROUND|NEAREST] [S|DBL_SIZE|4] [B|SIGNED_CHAR|0] [B|SIGNED_BITFIELD|0] [S|BIT_ORDER|RIGHT] [S|FINT_REGISTER|0] [S|BRANCH|24] [S|LANG|C] [B|RUNTIME|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|NEW|1] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|BUILD/CHANGED]" 1 
+"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6 
+"[V|VERSION|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|LISTFILE|0] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 4 
+"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
+" 3 
+"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
+" 2 
+"[V|VERSION|6] [B|DEBUG|1] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).abs^"]  [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [B|OPTIMIZE|0] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|FORM|STYPE] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(1000)|PResetPRG(FFFF8000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(FFFF8100)|FIXEDVECT(FFFFFFD0)] [S|ENDIAN|LITTLE]" 5 
+[EXCLUDED_FILES_Debug_RX600_E1_E20_SYSTEM]
+[LINKAGE_ORDER_Debug_RX600_E1_E20_SYSTEM]
+[GENERAL_DATA_CONFIGURATION_Debug_RX600_E1_E20_SYSTEM]
+[OPTIONS_Debug_with_optimisation_Renesas OptLinker]
+"Single Shot" "0d0f2119b896cc10" 5 
+[OPTIONS_Debug_with_optimisation_Renesas RX Assembler]
+"Assembly source file" "0d348e39e796cc10" 4 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0d348e39e796cc10" 4 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "0e2e6019b896cc10" 4 
+"Linkage symbol file" "0d348e39e796cc10" 4 
+[OPTIONS_Debug_with_optimisation_Renesas RX C/C++ Compiler]
+"C source file" "0b8cd057b896cc10" 2 
+"C++ source file" "0b8cd057b896cc10" 3 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "0e2e6019b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0b8cd057b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0b8cd057b896cc10" 2 
+[OPTIONS_Debug_with_optimisation_Renesas RX C/C++ Library Generator]
+"Single Shot" "0d348e39e796cc10" 1 
+[OPTIONS_Debug_with_optimisation_Renesas RX Configurator]
+"Single Shot" "0e2e6019b896cc10" 6 
+[OPTIONS_Debug_with_optimisation]
+"" 0 
+"[V|VERSION|1] [B|COMMAND|1] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|SPEC|UITRON4] [S|CPU|RX200] [S|BASE|00000000=NONE]
+" 6 
+"[V|VERSION|1] [B|SJIS|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [S|CPU|RX200] [S|BASE|00000000=NONE] [I|PID|16] [B|SKIPDEPENDENCY|1]
+" 4 
+"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX200^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINE|INCLUDE_HIGH_FREQUENCY_TIMER_TEST=1] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|LISTFILE|1] [S|LISTFILEPATH|^"$(CONFIGDIR)\$(FILELEAF).lst^"] [S|SHOW|SOURCE|CONDITIONALS|DEFINITIONS|EXPANSIONS] [S|OPTIMIZE|MAX] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [B|FPU|0] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX200] [S|BASE|00000000=NONE] [I|PID|16] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]
+" 3 
+"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX200^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINE|INCLUDE_HIGH_FREQUENCY_TIMER_TEST=1] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|LISTFILE|1] [S|LISTFILEPATH|^"$(CONFIGDIR)\$(FILELEAF).lst^"] [S|SHOW|SOURCE|CONDITIONALS|DEFINITIONS|EXPANSIONS] [S|OPTIMIZE|MAX] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [B|FPU|0] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX200] [S|BASE|00000000=NONE] [I|PID|16] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]
+" 2 
+"[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [B|NOFLOAT|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX200] [S|BASE|00000000=NONE] [I|PID|16] [B|SKIPDEPENDENCY|1]
+" 1 
+"[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|SPEED] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*,L(0FFF81000)|FIXEDVECT(0FFFFFFD0)] [B|SKIPDEPENDENCY|1]
+" 5 
+[EXCLUDED_FILES_Debug_with_optimisation]
+[LINKAGE_ORDER_Debug_with_optimisation]
+[GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]
+[OPTIONS_SimDebug_RX600_Renesas OptLinker]
+"Single Shot" "0d0f2119b896cc10" 5 
+[OPTIONS_SimDebug_RX600_Renesas RX Assembler]
+"Assembly source file" "041a0629efb3cc10" 4 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "041a0629efb3cc10" 4 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "0e2e6019b896cc10" 4 
+"Linkage symbol file" "041a0629efb3cc10" 4 
+[OPTIONS_SimDebug_RX600_Renesas RX C/C++ Compiler]
+"C source file" "02350629efb3cc10" 2 
+"C++ source file" "02350629efb3cc10" 3 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "0e2e6019b896cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "02350629efb3cc10" 2 
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "02350629efb3cc10" 2 
+[OPTIONS_SimDebug_RX600_Renesas RX C/C++ Library Generator]
+"Single Shot" "01c20629efb3cc10" 1 
+[OPTIONS_SimDebug_RX600_Renesas RX Configurator]
+"Single Shot" "0e2e6019b896cc10" 6 
+[OPTIONS_SimDebug_RX600]
+"" 0 
+"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|ROUND|NEAREST] [S|DBL_SIZE|4] [B|SIGNED_CHAR|0] [B|SIGNED_BITFIELD|0] [S|BIT_ORDER|RIGHT] [S|FINT_REGISTER|0] [S|BRANCH|24] [S|LANG|C] [B|RUNTIME|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|NEW|1] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|BUILD/CHANGED]" 1 
+"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6 
+"[V|VERSION|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|LISTFILE|0] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 4 
+"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
+" 3 
+"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
+" 2 
+"[V|VERSION|6] [B|DEBUG|1] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).abs^"]  [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [B|OPTIMIZE|0] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|FORM|STYPE] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(1000)|PResetPRG(FFFF8000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(FFFF8100)|FIXEDVECT(FFFFFFD0)] [S|ENDIAN|LITTLE]" 5 
+[EXCLUDED_FILES_SimDebug_RX600]
+[LINKAGE_ORDER_SimDebug_RX600]
+[GENERAL_DATA_CONFIGURATION_SimDebug_RX600]
+[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX200_E1_E20_SYSTEM]
+[SESSION_DATA_CONFIGURATION_SESSION_Blinky_SessionRX200_E1_E20_SYSTEM]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionRX200_E1_E20_SYSTEM]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_SessionRX200_E1_E20_SYSTEM]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SessionRX200_E1_E20_SYSTEM]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SessionRX200_E1_E20_SYSTEM]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX200_E1_E20_SYSTEM]
+[SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX200_E1_E20_SYSTEM]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_DefaultSession]
+[SESSION_DATA_CONFIGURATION_SESSION_SimDebug_RX600_DefaultSession]
+"MEMORY_MAPPING_OPTIONS" "" 
+[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SessionRX200_E1_E20_SYSTEM]
+[SESSION_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SessionRX200_E1_E20_SYSTEM]
+"MEMORY_MAPPING_OPTIONS" "" 
+[EXT_DEBUGGER_INFO]
+0 "" "" "" "" 
+[END]
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/RTOSDemo.nav b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/RTOSDemo.nav
new file mode 100644
index 0000000000..df3ec8e88a
Binary files /dev/null and b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/RTOSDemo.nav differ
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/RTOSDemo.tps b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/RTOSDemo.tps
new file mode 100644
index 0000000000..b06a5cd2d1
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/RTOSDemo.tps
@@ -0,0 +1,57 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"1.1" 
+[SESSIONS_]
+"DefaultSession" 
+"SessionRX200_E1_E20_SYSTEM" 
+[CONFIGURATIONS]
+"Blinky" 
+"Debug" 
+"Debug_RX600_E1_E20_SYSTEM" 
+"Debug_with_optimisation" 
+"SimDebug_RX600" 
+[CURRENT_CONFIGURATION]
+"Debug_with_optimisation" 
+[CURRENT_SESSION]
+"SessionRX200_E1_E20_SYSTEM" 
+[GENERAL_DATA_PROJECT]
+"FDT_UserBootAreaFiles" "" 
+[GENERAL_DATA_CONFIGURATION_Blinky]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE" 
+[SESSIONS_Blinky]
+"DefaultSession" 
+"SessionRX200_E1_E20_SYSTEM" 
+[GENERAL_DATA_CONFIGURATION_Debug]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE" 
+[SESSIONS_Debug]
+"DefaultSession" 
+"SessionRX200_E1_E20_SYSTEM" 
+[GENERAL_DATA_CONFIGURATION_Debug_RX600_E1_E20_SYSTEM]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE" 
+[SESSIONS_Debug_RX600_E1_E20_SYSTEM]
+"DefaultSession" 
+"SessionRX200_E1_E20_SYSTEM" 
+[GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
+[SESSIONS_Debug_with_optimisation]
+"DefaultSession" 
+"SessionRX200_E1_E20_SYSTEM" 
+[GENERAL_DATA_CONFIGURATION_SimDebug_RX600]
+"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE" 
+[SESSIONS_SimDebug_RX600]
+"DefaultSession" 
+"SessionRX200_E1_E20_SYSTEM" 
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX200_E1_E20_SYSTEM]
+[GENERAL_DATA_SESSION_SessionRX200_E1_E20_SYSTEM]
+[GENERAL_DATA_SESSION_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SessionRX200_E1_E20_SYSTEM]
+[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX200_E1_E20_SYSTEM]
+[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SessionRX200_E1_E20_SYSTEM]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]
+[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionRX200_E1_E20_SYSTEM]
+[END]
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/dbsct.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/dbsct.c
new file mode 100644
index 0000000000..156f0b8f37
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/dbsct.c
@@ -0,0 +1,66 @@
+/***********************************************************************/
+/*                                                                     */
+/*  FILE        :dbsct.c                                               */
+/*  DATE        :Wed, Aug 11, 2010                                     */
+/*  DESCRIPTION :Setting of B,R Section                                */
+/*  CPU TYPE    :Other                                                 */
+/*                                                                     */
+/*  This file is generated by Renesas Project Generator (Ver.4.50).    */
+/*  NOTE:THIS IS A TYPICAL EXAMPLE.                                    */
+/*                                                                     */
+/***********************************************************************/
+                  
+
+/*********************************************************************
+*
+* Device     : RX
+*
+* File Name  : dbsct.c
+*
+* Abstract   : Setting of B,R Section.
+*
+* History    : 1.00  (2009-08-07)
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+* Copyright(c) 2009 Renesas Technology Corp.
+*               And Renesas Solutions Corp.,All Rights Reserved. 
+*
+*********************************************************************/
+
+#include "typedefine.h"
+
+#pragma unpack
+
+#pragma section C C$DSEC
+extern const struct {
+    _UBYTE *rom_s;       /* Start address of the initialized data section in ROM */
+    _UBYTE *rom_e;       /* End address of the initialized data section in ROM   */
+    _UBYTE *ram_s;       /* Start address of the initialized data section in RAM */
+}   _DTBL[] = {
+    { __sectop("D"), __secend("D"), __sectop("R") },
+    { __sectop("D_2"), __secend("D_2"), __sectop("R_2") },
+    { __sectop("D_1"), __secend("D_1"), __sectop("R_1") }
+};
+#pragma section C C$BSEC
+extern const struct {
+    _UBYTE *b_s;         /* Start address of non-initialized data section */
+    _UBYTE *b_e;         /* End address of non-initialized data section */
+}   _BTBL[] = {
+    { __sectop("B"), __secend("B") },
+    { __sectop("B_2"), __secend("B_2") },
+    { __sectop("B_1"), __secend("B_1") }
+};
+
+#pragma section
+
+/*
+** CTBL prevents excessive output of L1100 messages when linking.
+** Even if CTBL is deleted, the operation of the program does not change.
+*/
+_UBYTE * const _CTBL[] = {
+    __sectop("C_1"), __sectop("C_2"), __sectop("C"),
+    __sectop("W_1"), __sectop("W_2"), __sectop("W")
+};
+
+#pragma packoption
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/hwsetup.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/hwsetup.c
new file mode 100644
index 0000000000..cba0b63d3f
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/hwsetup.c
@@ -0,0 +1,264 @@
+/******************************************************************************
+* DISCLAIMER
+
+* This software is supplied by Renesas Technology Corp. and is only 
+* intended for use with Renesas products. No other uses are authorized.
+
+* This software is owned by Renesas Technology Corp. and is protected under 
+* all applicable laws, including copyright laws.
+
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES
+* REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, 
+* INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+* PARTICULAR PURPOSE AND NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY 
+* DISCLAIMED.
+
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS 
+* TECHNOLOGY CORP. NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE 
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES 
+* FOR ANY REASON RELATED TO THE THIS SOFTWARE, EVEN IF RENESAS OR ITS 
+* AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+* Renesas reserves the right, without notice, to make changes to this 
+* software and to discontinue the availability of this software.  
+* By using this software, you agree to the additional terms and 
+* conditions found by accessing the following link:
+* http://www.renesas.com/disclaimer
+******************************************************************************
+* Copyright (C) 2008. Renesas Technology Corp., All Rights Reserved.
+*******************************************************************************	
+* File Name    : hwsetup.c
+* Version      : 1.00
+* Description  : Power up hardware initializations
+******************************************************************************
+* History : DD.MM.YYYY Version Description
+*         : 15.02.2010 1.00    First Release
+******************************************************************************/
+
+
+/******************************************************************************
+Includes   <System Includes> , "Project Includes"
+******************************************************************************/
+#include <stdint.h>
+#include "iodefine.h"
+//#include "r_ether.h"
+#include "rskrx62ndef.h"
+#include "hd44780.h"  /* EZ-LCD include file */
+
+/******************************************************************************
+Typedef definitions
+******************************************************************************/
+
+/******************************************************************************
+Macro definitions
+******************************************************************************/
+
+/******************************************************************************
+Imported global variables and functions (from other files)
+******************************************************************************/
+
+/******************************************************************************
+Exported global variables and functions (to be accessed by other files)
+******************************************************************************/
+
+/******************************************************************************
+Private global variables and functions
+******************************************************************************/
+void io_set_cpg(void);
+void ConfigurePortPins(void);
+void EnablePeripheralModules(void);
+
+/******************************************************************************
+* Function Name: HardwareSetup
+* Description  : This function does initial setting for CPG port pins used in
+*              : the Demo including the MII pins of the Ethernet PHY connection.
+* Arguments    : none
+* Return Value : none
+******************************************************************************/
+void HardwareSetup(void)
+{
+	/* CPG setting */
+	io_set_cpg();
+
+	/* Setup the port pins */
+	ConfigurePortPins();
+
+    /* Enables peripherals */
+    EnablePeripheralModules();
+
+#if INCLUDE_LCD == 1
+    /* Initialize display */
+    InitialiseDisplay();
+#endif
+}
+
+/******************************************************************************
+* Function Name: EnablePeripheralModules
+* Description  : Enables Peripheral Modules before use
+* Arguments    : none
+* Return Value : none
+******************************************************************************/
+void EnablePeripheralModules(void)
+{
+	/*  Module standby clear */
+//	SYSTEM.MSTPCRB.BIT.MSTPB15 = 0;				/* EtherC, EDMAC */
+    SYSTEM.MSTPCRA.BIT.MSTPA15 = 0;             /* CMT0 */
+}
+
+/******************************************************************************
+* Function Name: ConfigurePortPins
+* Description  : Configures port pins.
+* Arguments    : none
+* Return Value : none
+******************************************************************************/
+void ConfigurePortPins(void)
+{
+/* Port pins default to inputs. To ensure safe initialisation set the pin states
+before changing the data direction registers. This will avoid any unintentional
+state changes on the external ports.
+Many peripheral modules will override the setting of the port registers. Ensure
+that the state is safe for external devices if the internal peripheral module is
+disabled or powered down. */
+#if(0)
+	/* ==== MII/RMII Pins setting ==== */
+	/*--------------------------------------*/
+	/*    Port Function Control Register    */
+	/*--------------------------------------*/
+#if ETH_MODE_SEL == ETH_MII_MODE
+	/*	EE=1, PHYMODE=1, ENETE3=1, ENETE2=0, ENETE1=1, ENETE0=0 (Ethernet)	*/
+	IOPORT.PFENET.BYTE = 0x9A;
+#endif	/*	ETH_MODE_SEL	*/
+#if ETH_MODE_SEL == ETH_RMII_MODE
+	/*	EE=1, PHYMODE=0, ENETE3=0, ENETE2=0, ENETE1=1, ENETE0=0 (Ethernet)	*/
+	IOPORT.PFENET.BYTE = 0x82;
+#endif	/*	ETH_MODE_SEL	*/
+	/*-------------------------------------------*/
+	/*    Input Buffer Control Register (ICR)    */
+	/*-------------------------------------------*/
+#if ETH_MODE_SEL == ETH_MII_MODE
+	/*	P54=1 Set ET_LINKSTA input	*/
+	PORT5.ICR.BIT.B4 = 1;
+	/*	P71=1 Set ET_MDIO input	*/
+	PORT7.ICR.BIT.B1 = 1;
+	/*	P74=1 Set ET_ERXD1 input	*/
+	PORT7.ICR.BIT.B4 = 1;
+	/*	P75=1 Set ET_ERXD0 input	*/
+	PORT7.ICR.BIT.B5 = 1;
+	/*	P76=1 Set ET_RX_CLK input	*/
+	PORT7.ICR.BIT.B6 = 1;
+	/*	P77=1 Set ET_RX_ER input	*/
+	PORT7.ICR.BIT.B7 = 1;
+	/*	P83=1 Set ET_CRS input	*/
+	PORT8.ICR.BIT.B3 = 1;
+	/*	PC0=1 Set ET_ERXD3 input	*/
+	PORTC.ICR.BIT.B0 = 1;
+	/*	PC1=1 Set ET_ERXD2 input	*/
+	PORTC.ICR.BIT.B1 = 1;
+	/*	PC2=1 Set ET_RX_DV input	*/
+	PORTC.ICR.BIT.B2 = 1;
+	/*	PC4=1 Set EX_TX_CLK input	*/
+	PORTC.ICR.BIT.B4 = 1;
+	/*	PC7=1 Set ET_COL input	*/
+	PORTC.ICR.BIT.B7 = 1;
+#endif	/*	ETH_MODE_SEL	*/
+#if ETH_MODE_SEL == ETH_RMII_MODE
+	/*	P54=1 Set ET_LINKSTA input	*/
+	PORT5.ICR.BIT.B4 = 1;
+	/*	P71=1 Set ET_MDIO input	*/
+	PORT7.ICR.BIT.B1 = 1;
+	/* P74=1 Set RMII_RXD1 input	*/
+	PORT7.ICR.BIT.B4 = 1;
+	/* P75=1 Set RMII_RXD0 input	*/
+	PORT7.ICR.BIT.B5 = 1;
+	/* P76=1 Set REF50CLK input	*/
+	PORT7.ICR.BIT.B6 = 1;
+	/* P77=1 Set RMII_RX_ER input	*/
+	PORT7.ICR.BIT.B7 = 1;
+	/* P83=1 Set RMII_CRS_DV input	*/
+	PORT8.ICR.BIT.B3 = 1;
+#endif	/*	ETH_MODE_SEL	*/
+#endif
+    /* Configure LED 0-4 pin settings */
+    PORT1.PODR.BIT.B4 = 1; 
+    PORT1.PODR.BIT.B5 = 1;
+    PORT1.PODR.BIT.B6 = 1;
+    PORT1.PODR.BIT.B7 = 1;
+
+    PORT1.PDR.BIT.B4 = 1; 
+    PORT1.PDR.BIT.B5 = 1;
+    PORT1.PDR.BIT.B6 = 1;
+    PORT1.PDR.BIT.B7 = 1;
+
+   
+
+
+#if INCLUDE_LCD == 1
+    /* Set LCD pins as outputs */
+    /* LCD-RS */
+    PORTJ.PDR.BIT.B1 = 1;
+    /* LCD-EN */
+    PORTJ.PDR.BIT.B3 = 1;
+    /*LCD-data */
+    PORTH.PDR.BYTE = 0x0F;
+#endif
+}
+
+/******************************************************************************
+* Function Name: io_set_cpg
+* Description  : Sets up operating speed
+* Arguments    : none
+* Return Value : none
+******************************************************************************/
+void io_set_cpg(void)
+{
+/* Set CPU PLL operating frequencies. Changes to the peripheral clock will require
+changes to the debugger and flash kernel BRR settings. */
+
+	/* ==== CPG setting ==== */
+//	SYSTEM.SCKCR.LONG = 0x00020100;	/* Clockin = 12MHz */
+//									/* I Clock = 96MHz, B Clock = 24MHz, */
+//									/* P Clock = 48MHz */
+
+	unsigned int i;
+
+	SYSTEM.PRCR.WORD = 0xA503;						/* Protect on */
+
+//	SYSTEM.SOSCCR.BYTE = 0x01;				/* stop sub-clock */
+						/* delete when you use sub-clock */
+	
+//	SYSTEM.HOCOPCR.BYTE = 0x01;				/* HOCO power supply off */
+						/* delete when you use HOCO */
+
+	SYSTEM.MOSCWTCR.BYTE = 0x0D;			/* 131072 state */
+											/* wait over 10ms  @12.5MHz */
+
+	SYSTEM.PLLWTCR.BYTE = 0x0E;				/* 2097152 state */
+						/* wait over 12ms  @PLL=100MHz(12.5MHz*8) */
+	
+//	SYSTEM.PLLCR.WORD = 0x0902;				/* x10 @PLL */
+											/* Input to PLL (EXTAL in) / 2 */
+	
+//	SYSTEM.MOSCCR.BYTE = 0x02;				/* EXTAL ON */
+											/* External oscillation input selection */
+//	SYSTEM.PLLCR2.BYTE = 0x00;				/* PLL ON */
+	
+//	for(i = 0;i< 0x168;i++)				/* wait over 12ms */
+//	{
+//  }
+	
+//	SYSTEM.SCKCR.LONG = 0x21022222;			/* ICK=PLL/2,FCK,PCK,BCL=PLL/4 */
+//	SYSTEM.SCKCR3.WORD = 0x0400;			/* LOCO -> PLL */
+
+    
+    /*************************************************************************/
+    /* Using HOCO set to 50MHz to run device                                 */ 
+    /* ICLK = 50MHz                                                          */ 
+    /* PCLKD (12ADC) = 50MHz                                                 */ 
+    /* All other clocks = CLK / 2 = 25MHz                                    */ 
+    /*************************************************************************/
+    
+    SYSTEM.HOCOCR2.BYTE = 0x03;			    /* 50MHz        */
+    SYSTEM.SCKCR.LONG = 0x10811110;			
+    SYSTEM.SCKCR3.WORD = 0x0100;			/* LOCO -> HOCO */
+}
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/intprg.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/intprg.c
new file mode 100644
index 0000000000..b5ef3862f6
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/intprg.c
@@ -0,0 +1,53 @@
+/***********************************************************************/
+/*                                                                     */
+/*  FILE        :intprg.c                                              */
+/*  DATE        :Wed, Aug 11, 2010                                     */
+/*  DESCRIPTION :Interrupt Program                                     */
+/*  CPU TYPE    :Other                                                 */
+/*                                                                     */
+/*  This file is generated by Renesas Project Generator (Ver.4.50).    */
+/*  NOTE:THIS IS A TYPICAL EXAMPLE.                                    */
+/*                                                                     */
+/***********************************************************************/
+                  
+
+
+/*********************************************************************
+*
+* Device     : RX/RX600
+*
+* File Name  : intprg.c
+*
+* Abstract   : Interrupt Program.
+*
+* History    : 1.00  (2009-08-07)
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+* Copyright(c) 2009 Renesas Technology Corp.
+*               And Renesas Solutions Corp.,All Rights Reserved. 
+*
+*********************************************************************/
+
+#include <machine.h>
+#include "vect.h"
+#pragma section IntPRG
+
+// Exception(Supervisor Instruction)
+void Excep_SuperVisorInst(void){/* brk(); */}
+
+// Exception(Undefined Instruction)
+void Excep_UndefinedInst(void){/* brk(); */}
+
+// Exception(Floating Point)
+void Excep_FloatingPoint(void){/* brk(); */}
+
+// NMI
+void NonMaskableInterrupt(void){/* brk(); */}
+
+// Dummy
+void Dummy(void){/* brk(); */}
+
+// BRK
+void Excep_BRK(void){ wait(); }
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/lowlvl.src b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/lowlvl.src
new file mode 100644
index 0000000000..70330dadd0
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/lowlvl.src
@@ -0,0 +1,120 @@
+
+; Comment out the orginal code
+                .IF     0               
+
+;------------------------------------------------------------------------
+;                                                                       |
+;   FILE        :lowlvl.src                                             |
+;   DATE        :Wed, Jun 16, 2010                                      |
+;   DESCRIPTION :Program of Low level                                   |
+;   CPU TYPE    :Other                                                  |
+;                                                                       |
+;   This file is generated by Renesas Project Generator (Ver.4.50).     |
+;   NOTE:THIS IS A TYPICAL EXAMPLE.                                     |
+;                                                                       |
+;------------------------------------------------------------------------
+                  
+
+         .GLB    _charput
+         .GLB    _charget
+
+SIM_IO   .EQU 0h
+
+         .SECTION   P,CODE
+;-----------------------------------------------------------------------
+;  _charput:
+;-----------------------------------------------------------------------
+_charput:
+         MOV.L      #IO_BUF,R2
+         MOV.B      R1,[R2]
+         MOV.L      #1220000h,R1
+         MOV.L      #PARM,R3
+         MOV.L      R2,[R3]
+         MOV.L      R3,R2
+         MOV.L      #SIM_IO,R3
+         JSR        R3
+         RTS
+
+;-----------------------------------------------------------------------
+;  _charget:
+;-----------------------------------------------------------------------  
+_charget:
+        MOV.L       #1210000h,R1
+        MOV.L       #IO_BUF,R2
+        MOV.L       #PARM,R3
+        MOV.L       R2,[R3]
+        MOV.L       R3,R2
+        MOV.L       #SIM_IO,R3
+        JSR         R3
+        MOV.L       #IO_BUF,R2
+        MOVU.B      [R2],R1
+        RTS
+
+;-----------------------------------------------------------------------
+;  I/O Buffer
+;-----------------------------------------------------------------------
+         .SECTION  B,DATA,ALIGN=4
+PARM:    .BLKL     1
+         .SECTION  B_1,DATA
+IO_BUF:  .BLKB     1
+;         .END                          ; Commented out for conditional assembly
+
+; Code below is for debug console
+                .ELSE           
+
+;-----------------------------------------------------------------------
+;
+; FILE :lowlvl.src
+; DATE :Wed, Jul 01, 2009
+; DESCRIPTION :Program of Low level
+; CPU TYPE :RX
+;
+;-----------------------------------------------------------------------
+                .GLB    _charput
+                .GLB    _charget
+
+FC2E0           .EQU    00084080h
+FE2C0           .EQU    00084090h
+DBGSTAT         .EQU    000840C0h
+RXFL0EN         .EQU    00001000h
+TXFL0EN         .EQU    00000100h
+
+                .SECTION P,CODE
+
+;-----------------------------------------------------------------------
+; _charput:
+;-----------------------------------------------------------------------
+_charput:
+                .STACK  _charput = 00000000h
+__C2ESTART:     MOV.L   #TXFL0EN,R3
+                MOV.L   #DBGSTAT,R4
+__TXLOOP:       MOV.L   [R4],R5
+                AND     R3,R5
+                BNZ     __TXLOOP
+__WRITEFC2E0:   MOV.L   #FC2E0,R2
+                MOV.L   R1,[R2]
+__CHARPUTEXIT:  RTS
+
+;-----------------------------------------------------------------------
+; _charget:
+;-----------------------------------------------------------------------
+_charget:
+                .STACK  _charget = 00000000h
+__E2CSTART:     MOV.L   #RXFL0EN,R3
+                MOV.L   #DBGSTAT,R4
+__RXLOOP:       MOV.L   [R4],R5
+                AND     R3,R5
+                BZ      __RXLOOP
+__READFE2C0:    MOV.L   #FE2C0,R2
+                MOV.L   [R2],R1
+__CHARGETEXIT:  RTS
+
+;-----------------------------------------------------------------------
+
+; End of conditional code
+                .ENDIF          
+
+                .END
+
+
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/lowsrc.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/lowsrc.c
new file mode 100644
index 0000000000..2d02ccad94
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/lowsrc.c
@@ -0,0 +1,329 @@
+/***********************************************************************/
+/*                                                                     */
+/*  FILE        :lowsrc.c                                              */
+/*  DATE        :Wed, Jun 16, 2010                                     */
+/*  DESCRIPTION :Program of I/O Stream                                 */
+/*  CPU TYPE    :Other                                                 */
+/*                                                                     */
+/*  This file is generated by Renesas Project Generator (Ver.4.50).    */
+/*  NOTE:THIS IS A TYPICAL EXAMPLE.                                    */
+/*                                                                     */
+/***********************************************************************/
+                  
+
+
+/*********************************************************************
+*
+* Device     : RX
+*
+* File Name  : lowsrc.c
+*
+* Abstract   : Program of I/O Stream.
+*
+* History    : 1.00  (2009-08-07)
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+* Copyright(c) 2009 Renesas Technology Corp.
+*               And Renesas Solutions Corp.,All Rights Reserved. 
+*
+*********************************************************************/
+
+#include <string.h>
+#include <stdio.h>
+#include <stddef.h>
+#include "lowsrc.h"
+
+/* file number */
+#define STDIN  0                    /* Standard input (console)        */
+#define STDOUT 1                    /* Standard output (console)       */
+#define STDERR 2                    /* Standard error output (console) */
+
+#define FLMIN  0                    /* Minimum file number     */
+#define _MOPENR	0x1
+#define _MOPENW	0x2
+#define _MOPENA	0x4
+#define _MTRUNC	0x8
+#define _MCREAT	0x10
+#define _MBIN	0x20
+#define _MEXCL	0x40
+#define _MALBUF	0x40
+#define _MALFIL	0x80
+#define _MEOF	0x100
+#define _MERR	0x200
+#define _MLBF	0x400
+#define _MNBF	0x800
+#define _MREAD	0x1000
+#define _MWRITE	0x2000
+#define _MBYTE	0x4000
+#define _MWIDE	0x8000
+/* File Flags */
+#define O_RDONLY 0x0001 /* Read only                                       */
+#define O_WRONLY 0x0002 /* Write only                                      */
+#define O_RDWR   0x0004 /* Both read and Write                             */
+#define O_CREAT  0x0008 /* A file is created if it is not existed          */
+#define O_TRUNC  0x0010 /* The file size is changed to 0 if it is existed. */
+#define O_APPEND 0x0020 /* The position is set for next reading/writing    */
+                        /* 0: Top of the file 1: End of file               */
+
+/* Special character code */
+#define CR 0x0d                     /* Carriage return */
+#define LF 0x0a                     /* Line feed       */
+
+#if defined( __RX )
+const long _nfiles = IOSTREAM; /* The number of files for input/output files */
+#else
+const int _nfiles = IOSTREAM;  /* The number of files for input/output files */
+#endif
+char flmod[IOSTREAM];          /* The location for the mode of opened file.  */
+
+unsigned char sml_buf[IOSTREAM];
+
+#define FPATH_STDIN     "C:\\stdin"
+#define FPATH_STDOUT    "C:\\stdout"
+#define FPATH_STDERR    "C:\\stderr"
+
+/* H8 Normal mode ,SH and RX */
+#if defined( __2000N__ ) || defined( __2600N__ ) || defined( __300HN__ ) || defined( _SH )
+/* Output one character to standard output */
+extern void charput(char);
+/* Input one character from standard input */
+extern char charget(void);
+/* Output one character to the file        */
+extern char fcharput(char, unsigned char);
+/* Input one character from the file       */
+extern char fcharget(char*, unsigned char);
+/* Open the file */
+extern char fileopen(char*, unsigned char, unsigned char*);
+/* Close the file */
+extern char fileclose(unsigned char);
+/* Move the file offset */
+extern char fpseek(unsigned char, long, unsigned char);
+/* Get the file offset */
+extern char fptell(unsigned char, long*);
+
+/* RX */
+#elif defined( __RX )
+/* Output one character to standard output */
+extern void charput(unsigned char);
+/* Input one character from standard input */
+extern unsigned char charget(void);
+
+/* H8 Advanced mode */
+#elif defined( __2000A__ ) || defined( __2600A__ ) || defined( __300HA__ ) || defined( __H8SXN__ ) || defined( __H8SXA__ ) || defined( __H8SXM__ ) || defined( __H8SXX__ )
+/* Output one character to standard output */
+extern void charput(char);
+/* Input one character from standard input */
+extern char charget(void);
+/* Output one character to the file        */
+extern char fcharput(char, unsigned char);
+/* Input one character from the file       */
+extern char fcharget(char*, unsigned char);
+/* Open the file */
+/* Specified as the number of register which stored paramter is 3 */
+extern char __regparam3 fileopen(char*, unsigned char, unsigned char*);
+/* Close the file */
+extern char fileclose(unsigned char);
+/* Move the file offset */
+extern char fpseek(unsigned char, long, unsigned char);
+/* Get the file offset */
+extern char fptell(unsigned char, long*);
+
+/* H8300 and H8300L */
+#elif defined( __300__ ) || defined( __300L__ )
+/* Output one character to standard output */
+extern void charput(char);
+/* Input one character from standard input */
+extern char charget(void);
+/* Output one character to the file        */
+extern char fcharput(char, unsigned char);
+/* Input one character from the file       */
+extern char fcharget(char*, unsigned char);
+/* Open the file */
+/* Specified as the number of register which stored paramter is 3 */
+extern char __regparam3 fileopen(char*, unsigned char, unsigned char*);
+/* Close the file */
+extern char fileclose(unsigned char);
+/* Move the file offset */
+/* Move the file offset */
+extern char __regparam3 fpseek(unsigned char, long, unsigned char);
+/* Get the file offset */
+extern char fptell(unsigned char, long*);
+#endif
+
+#include <stdio.h>
+FILE *_Files[IOSTREAM]; // structure for FILE
+char *env_list[] = {            // Array for environment variables(**environ)
+    "ENV1=temp01",
+    "ENV2=temp02",
+    "ENV9=end",
+    '\0'                        // Terminal for environment variables
+};
+
+char **environ = env_list;
+
+/****************************************************************************/
+/* _INIT_IOLIB                                                              */
+/*  Initialize C library Functions, if necessary.                           */
+/*  Define USES_SIMIO on Assembler Option.                                  */
+/****************************************************************************/
+void _INIT_IOLIB( void )
+{
+    /* A file for standard input/output is opened or created. Each FILE     */
+    /* structure members are initialized by the library. Each _Buf member   */
+    /* in it is re-set the end of buffer pointer.                           */
+
+    /* Standard Input File                                                  */
+    if( freopen( FPATH_STDIN, "r", stdin ) == NULL )
+        stdin->_Mode = 0xffff;  /* Not allow the access if it fails to open */
+    stdin->_Mode  = _MOPENR;            /* Read only attribute              */
+    stdin->_Mode |= _MNBF;              /* Non-buffering for data           */
+    stdin->_Bend = stdin->_Buf + 1;  /* Re-set pointer to the end of buffer */
+
+    /* Standard Output File                                                 */
+    if( freopen( FPATH_STDOUT, "w", stdout ) == NULL ) 
+        stdout->_Mode = 0xffff; /* Not allow the access if it fails to open */
+    stdout->_Mode |= _MNBF;             /* Non-buffering for data           */
+    stdout->_Bend = stdout->_Buf + 1;/* Re-set pointer to the end of buffer */
+    
+    /* Standard Error File                                                  */
+    if( freopen( FPATH_STDERR, "w", stderr ) == NULL )
+        stderr->_Mode = 0xffff; /* Not allow the access if it fails to open */
+    stderr->_Mode |= _MNBF;             /* Non-buffering for data           */
+    stderr->_Bend = stderr->_Buf + 1;/* Re-set pointer to the end of buffer */
+}
+
+/****************************************************************************/
+/* _CLOSEALL                                                                */
+/****************************************************************************/
+void _CLOSEALL( void )
+{
+    long i;
+
+    for( i=0; i < _nfiles; i++ )
+    {
+        /* Checks if the file is opened or not                               */
+        if( _Files[i]->_Mode & (_MOPENR | _MOPENW | _MOPENA ) )
+        fclose( _Files[i] );    /* Closes the file                           */
+    }
+}
+
+/**************************************************************************/
+/*       open:file open                                                   */
+/*          Return value:File number (Pass)                               */
+/*                       -1          (Failure)                            */
+/**************************************************************************/
+#if defined( __RX )
+long open(const char *name,                  /* File name                 */
+     long  mode,                             /* Open mode                 */
+     long  flg)                              /* Open flag                 */
+#else
+int open(char *name,                         /* File name                 */
+     int  mode,                              /* Open mode                 */
+     int  flg)                               /* Open flag                 */
+#endif
+{
+
+
+    if( strcmp( name, FPATH_STDIN ) == 0 )      /* Standard Input file?   */
+    {
+        if( ( mode & O_RDONLY ) == 0 ) return -1;
+        flmod[STDIN] = mode;
+        return STDIN;
+    }
+    else if( strcmp( name, FPATH_STDOUT ) == 0 )/* Standard Output file?  */
+    {
+        if( ( mode & O_WRONLY ) == 0 ) return -1;
+        flmod[STDOUT] = mode;
+        return STDOUT;
+    }
+    else if(strcmp(name, FPATH_STDERR ) == 0 )  /* Standard Error file?   */
+    {
+        if( ( mode & O_WRONLY ) == 0 ) return -1;
+        flmod[STDERR] = mode;
+        return STDERR;
+    }
+    else return -1;                             /*Others                  */
+}
+
+#if defined( __RX )
+long close( long fileno )
+#else
+int close( int fileno )
+#endif
+{
+    return 1;
+}
+
+/**************************************************************************/
+/* write:Data write                                                       */
+/*  Return value:Number of write characters (Pass)                        */
+/*               -1                         (Failure)                     */
+/**************************************************************************/
+#if defined( __RX )
+long write(long  fileno,             /* File number                       */
+      const unsigned char *buf,       /* The address of destination buffer */
+      long  count)                   /* The number of chacter to write    */
+#else
+int write(int  fileno,               /* File number                       */
+      char *buf,                     /* The address of destination buffer */
+      int  count)                    /* The number of chacter to write    */
+#endif
+{
+    long    i;                          /* A variable for counter         */
+    unsigned char    c;                 /* An output character            */
+
+    /* Checking the mode of file , output each character                  */
+    /* Checking the attribute for Write-Only, Read-Only or Read-Write     */
+    if(flmod[fileno]&O_WRONLY || flmod[fileno]&O_RDWR)
+    {
+        if( fileno == STDIN ) return -1;            /* Standard Input     */
+        else if( (fileno == STDOUT) || (fileno == STDERR) ) 
+			                                    /* Standard Error/output   */
+        {
+            for( i = count; i > 0; --i )
+            {
+                c = *buf++;
+                charput(c);
+            }
+            return count;        /*Return the number of written characters */
+        }
+        else return -1;                  /* Incorrect file number          */
+    }
+    else return -1;                      /* An error                       */
+}
+
+#if defined( __RX )
+long read( long fileno, unsigned char *buf, long count )
+#else
+int read( int fileno, char *buf, unsigned int count )
+#endif
+{
+	   long i;
+
+       /* Checking the file mode with the file number, each character is input and stored the buffer */
+
+       if((flmod[fileno]&_MOPENR) || (flmod[fileno]&O_RDWR)){
+             for(i = count; i > 0; i--){
+                   *buf = charget();
+                   if(*buf==CR){              /* Replace the new line character */
+                         *buf = LF;
+                   }
+                   buf++;
+             }
+             return count;
+       }
+       else {
+             return -1;
+       }
+}
+
+#if defined( __RX )
+long lseek( long fileno, long offset, long base )
+#else
+long lseek( int fileno, long offset, int base )
+#endif
+{
+    return -1L;
+}
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/resetprg.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/resetprg.c
new file mode 100644
index 0000000000..97e9f59508
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/resetprg.c
@@ -0,0 +1,129 @@
+/***********************************************************************/
+/*                                                                     */
+/*  FILE        :resetprg.c                                            */
+/*  DATE        :Wed, Aug 11, 2010                                     */
+/*  DESCRIPTION :Reset Program                                         */
+/*  CPU TYPE    :Other                                                 */
+/*                                                                     */
+/*  This file is generated by Renesas Project Generator (Ver.4.50).    */
+/*  NOTE:THIS IS A TYPICAL EXAMPLE.                                    */
+/*                                                                     */
+/***********************************************************************/
+                  
+
+
+/*********************************************************************
+*
+* Device     : RX/RX600
+*
+* File Name  : resetprg.c
+*
+* Abstract   : Reset Program.
+*
+* History    : 1.00  (2009-08-07)
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+* Copyright(c) 2009 Renesas Technology Corp.
+*               And Renesas Solutions Corp.,All Rights Reserved. 
+*
+*********************************************************************/
+
+#include	<machine.h>
+#include	<_h_c_lib.h>
+//#include	<stddef.h>					// Remove the comment when you use errno
+//#include 	<stdlib.h>					// Remove the comment when you use rand()
+#include	"typedefine.h"
+#include	"stacksct.h"
+
+#pragma inline_asm Change_PSW_PM_to_UserMode
+static void Change_PSW_PM_to_UserMode(void);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+void PowerON_Reset_PC(void);
+void main(void);
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus				// Use SIM I/O
+extern "C" {
+#endif
+extern void _INIT_IOLIB(void);
+extern void _CLOSEALL(void);
+#ifdef __cplusplus
+}
+#endif
+
+#define PSW_init  0x00010000
+#define FPSW_init 0x00000100
+
+//extern void srand(_UINT);		// Remove the comment when you use rand()
+//extern _SBYTE *_s1ptr;				// Remove the comment when you use strtok()
+		
+//#ifdef __cplusplus				// Use Hardware Setup
+//extern "C" {
+//#endif
+//extern void HardwareSetup(void);
+//#ifdef __cplusplus
+//}
+//#endif
+	
+//#ifdef __cplusplus			// Remove the comment when you use global class object
+//extern "C" {					// Sections C$INIT and C$END will be generated
+//#endif
+//extern void _CALL_INIT(void);
+//extern void _CALL_END(void);
+//#ifdef __cplusplus
+//}
+//#endif
+
+#pragma section ResetPRG
+
+#pragma entry PowerON_Reset_PC
+
+void PowerON_Reset_PC(void)
+{ 
+	set_intb((unsigned long)__sectop("C$VECT"));
+//	set_fpsw(FPSW_init);
+
+	_INITSCT();
+
+//	_INIT_IOLIB();					// Remove the comment when you use SIM I/O
+
+//	errno=0;						// Remove the comment when you use errno
+//	srand((_UINT)1);				// Remove the comment when you use rand()
+//	_s1ptr=NULL;					// Remove the comment when you use strtok()
+		
+//	HardwareSetup();				// Use Hardware Setup
+    nop();
+
+//	_CALL_INIT();					// Remove the comment when you use global class object
+
+	set_psw(PSW_init);				// Set Ubit & Ibit for PSW
+//	Change_PSW_PM_to_UserMode();	// DO NOT CHANGE TO USER MODE IF USING FREERTOS!
+	( void ) Change_PSW_PM_to_UserMode; // Just to avoid compiler warnings.
+
+	main();
+
+//	_CLOSEALL();					// Use SIM I/O
+	
+//	_CALL_END();					// Remove the comment when you use global class object
+
+	brk();
+}
+
+static void Change_PSW_PM_to_UserMode(void)
+{
+	MVFC   PSW,R1
+	OR     #00100000h,R1
+	PUSH.L R1
+	MVFC   PC,R1
+	ADD    #10,R1
+	PUSH.L R1
+	RTE
+	NOP
+	NOP
+}
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/sbrk.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/sbrk.c
new file mode 100644
index 0000000000..98e5bcbebf
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/sbrk.c
@@ -0,0 +1,28 @@
+#include <stddef.h>
+#include <stdio.h>
+#define HEAPSIZE	0x400
+signed char *sbrk( size_t size );
+union HEAP_TYPE
+{
+	signed long dummy;
+	signed char heap[HEAPSIZE];
+};
+static union HEAP_TYPE	heap_area;
+
+/* End address allocated by sbrk */
+static signed char		*brk = ( signed char * ) &heap_area;
+signed char *sbrk( size_t size )
+{
+	signed char *p;
+	if( brk + size > heap_area.heap + HEAPSIZE )
+	{
+		p = ( signed char * ) - 1;
+	}
+	else
+	{
+		p = brk;
+		brk += size;
+	}
+
+	return p;
+}
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/vecttbl.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/vecttbl.c
new file mode 100644
index 0000000000..d2dec0b3be
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/Renesas-Files/vecttbl.c
@@ -0,0 +1,64 @@
+/***********************************************************************/
+/*                                                                     */
+/*  FILE        :vecttbl.c                                             */
+/*  DATE        :Wed, Aug 11, 2010                                     */
+/*  DESCRIPTION :Initialize of Vector Table                            */
+/*  CPU TYPE    :Other                                                 */
+/*                                                                     */
+/*  This file is generated by Renesas Project Generator (Ver.4.50).    */
+/*  NOTE:THIS IS A TYPICAL EXAMPLE.                                    */
+/*                                                                     */
+/***********************************************************************/
+                  
+
+
+/*********************************************************************
+*
+* Device     : RX/RX600
+*
+* File Name  : vecttbl.c
+*
+* Abstract   : Initialize of Vector Table.
+*
+* History    : 1.00  (2009-08-07)
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+* Copyright(c) 2009 Renesas Technology Corp.
+*               And Renesas Solutions Corp.,All Rights Reserved. 
+*
+*********************************************************************/
+
+#include "vect.h"
+
+#pragma section C FIXEDVECT
+
+void* const Fixed_Vectors[] = {
+//;0xffffffd0  Exception(Supervisor Instruction)
+    (void*) Excep_SuperVisorInst,
+//;0xffffffd4  Reserved
+    Dummy,
+//;0xffffffd8  Reserved
+    Dummy,
+//;0xffffffdc  Exception(Undefined Instruction)
+    (void*) Excep_UndefinedInst,
+//;0xffffffe0  Reserved
+    Dummy,
+//;0xffffffe4  Exception(Floating Point)
+    (void*) Excep_FloatingPoint,
+//;0xffffffe8  Reserved
+    Dummy,
+//;0xffffffec  Reserved
+    Dummy,
+//;0xfffffff0  Reserved
+    Dummy,
+//;0xfffffff4  Reserved
+    Dummy,
+//;0xfffffff8  NMI
+    (void*) NonMaskableInterrupt,
+//;0xfffffffc  RESET
+//;<<VECTOR DATA START (POWER ON RESET)>>
+//;Power On Reset PC
+PowerON_Reset_PC                                                                                                                             
+//;<<VECTOR DATA END (POWER ON RESET)>>
+};
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/SessionRX200_E1_E20_SYSTEM.hsf b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/SessionRX200_E1_E20_SYSTEM.hsf
new file mode 100644
index 0000000000..0cc0a6e060
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/SessionRX200_E1_E20_SYSTEM.hsf
@@ -0,0 +1,579 @@
+[HIMDBVersion]
+2.0
+[DATABASE_VERSION]
+"2.3" 
+[SESSION_DETAILS]
+"" 
+[INFORMATION]
+"" 
+[GENERAL_DATA]
+"FIRST_CONNECTION_TAG" "NO" 
+"MRULABELS_DATAMANAGER_KEY" "FFFFFFFF|00000000|2a94|f|108a|1054|fff8cd9e|1050|fff8c484|88218|000870B4|000870AE|88204|88208|18b8" 
+"RESET_CPU_AFTER_DOWNLOAD_TAG" "VARIANT_TRUE_STORE_TAG" 
+"{228DB593-0AB2-4EBE-A098-A2CABF094E46}RamMonitorCtrlViews" "0" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" 
+"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0" 
+"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}ECXLABEL_ADDDLG_ADDR" "" 
+"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}LabelCtrlSymbolFileDir" "" 
+"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}LabelCtrlSymbolFileName" "" 
+"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}LabelCtrlViews" "0" 
+"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusCtrlViews" "0" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBreakpointFlag" "-1 " 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBreakpointStatus" "-1 " 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" "" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlSplitterPosition" "242" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}" 
+"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_COMPARE_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_COMPARE_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_DEST_ADDRESS" "2a94" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_END_ADDRESS" "FFFFFFFF" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_START_ADDRESS" "00000000" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_FILL_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_FILL_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_MOVE_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_MOVE_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_SEARCH_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_SEARCH_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_SET_DEST_ADDRESS" "000870B4" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_TEST_END_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_TEST_START_ADDRESS" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryCtrlViews" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0AutoRefreshEnableTopPane" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0AutoRefreshIntervalTopPane" "100" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DataLength" "4" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispAddressTopPane" "4180" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispCode" "42208" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispColumnCount" "4" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispCode" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispFloat" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispLabel" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispRegister" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsRegFollowEnableTopPane" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0LabelWidth" "96" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0Radix" "16" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0RegFollowRegTblIDTopPane" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0RegisterWidth" "96" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0ScrollEndAddress" "-1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0ScrollStartAddress" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0StartUpSymbolTopPane" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewAInstanceKey0" "{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0AutoRefreshEnableTopPane" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0AutoRefreshIntervalTopPane" "100" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DataLength" "4" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispAddressTopPane" "4180" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispCode" "42208" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispColumnCount" "4" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispCode" "1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispFloat" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispLabel" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispRegister" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsRegFollowEnableTopPane" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0LabelWidth" "96" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0Radix" "16" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0RegFollowRegTblIDTopPane" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0RegisterWidth" "96" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0ScrollEndAddress" "-1" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0ScrollStartAddress" "0" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0StartUpSymbolTopPane" "" 
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewBInstanceKey0" "{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEMViewB" 
+"{4F025ABC-BE66-4CB6-9CEE-06C61418278E}Trace2CtrlSaveFileDir" "" 
+"{4F025ABC-BE66-4CB6-9CEE-06C61418278E}Trace2CtrlSaveFileName" "" 
+"{4F025ABC-BE66-4CB6-9CEE-06C61418278E}Trace2CtrlViews" "0" 
+"{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlSaveFileDir" "" 
+"{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlSaveFileName" "" 
+"{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000004100" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000001" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "000000000000E3E0" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000003E84" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000004100" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "000000000000EB10" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF821C5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000004102" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF813CC" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "1234567887650000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "000000000000E560" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000001644" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000002845" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000003DC0" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "00000000A5A5A5A5" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "25" 
+"{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileDir" "" 
+"{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileName" "" 
+"{743E9BC2-6B9D-44A5-A5B6-F8C3FF2C1CAD}GraphCtrlViews" "0" 
+"{743E9BC2-6B9D-44A5-A5B6-F8C3FF2C1CAD}GraphWnd_Close_Count" "0" 
+"{743E9BC2-6B9D-44A5-A5B6-F8C3FF2C1CAD}GraphWnd_Mode" "1" 
+"{743E9BC2-6B9D-44A5-A5B6-F8C3FF2C1CAD}GraphWnd_Trace_Mode" "0" 
+"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0" 
+"{855C64C3-E49C-4450-9BCA-C9822566D214}OSObjectCtrlViews" "0" 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE" "00000000,00000000,0,0" 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_ADDRESS_NAME" "" 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_COMB_ADDRESS" ",,,," 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_COMB_BUFFER" ",,,," 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_SAMPLING_RATE" "1000" 
+"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}WaveformCtrlViews" "0" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersCtrlViews" "0" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ColumnWidth" "50,153,36" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ECX_REGISTER_COUNT" "32" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ECX_REGISTER_DISPLAYED" "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0HideFLAGs" "0" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0HideRadix" "0" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0LastFileName" "" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0RadixList" "16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,2,16,16,16,16,16,16," 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndInstanceKey0" "{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ColumnWidth" "50,153,36" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ECX_REGISTER_COUNT" "32" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ECX_REGISTER_DISPLAYED" "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0HideFLAGs" "0" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0HideRadix" "0" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0LastFileName" "" 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0RadixList" "16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,2,16,16,16,16,16,16," 
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewBInstanceKey0" "{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEMViewB" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_ADDRESS_NAME" "" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_BUFFER" "00000000,00000000,0,0" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_COLOR" "0,0,0,0" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_COMB_ADDRESS" ",,,," 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_COMB_PALETTE" ",,,," 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_PALETTE_NAME" "" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_REDRAW_CONTINUOUSLY" "0,2" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_SAMPLEING_RATE" "1000" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_VIEW" "0,0,0,0,0,0" 
+"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ImageCtrlViews" "0" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchCtrlViews" "4" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth0" "207" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth1" "234" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth12" "116" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth2" "127" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth3" "200" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000" "pxCurrentRxDesc, 10, 0, P, Col, Hex, N" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001" "pcStatusMessage, 4, 0, P, Col, Hex, MN" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002" "SwitchQueue, 4, 0, P, Col, Hex, MN" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003" "CurrentCount, 10, 0, P, Col, Hex, N" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004" "pos, 10, 0, P, Col, Hex, N" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005" "datastring, 6, 0, P, Col, Hex, MN" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0006" "next, 4, 0, C0001, Col, Hex, MN" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "0" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth0" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth1" "150" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth12" "200" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth2" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth3" "200" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ECX_WATCH_ITEMCnt" "0" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth0" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth1" "150" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth12" "200" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth2" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth3" "200" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ECX_WATCH_ITEMCnt" "0" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth0" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth1" "150" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth12" "200" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth2" "120" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth3" "200" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ECX_WATCH_ITEMCnt" "0" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndInitial_Radix" "0" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndInstanceKey0" "{WK_00000001_WATCH}RTOSDemoSessionRX600_E1_E20_SYSTEM" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndRecentFile_WatchRecord" "" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndRecentFile_WatchSave" "" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndUpdate_Interval" "100" 
+"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlDCEnable" "1" 
+"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlLocalEchoEnable" "0" 
+"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlLogFileName" "" 
+"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlPortBaudIndex" "0" 
+"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlPortName" "" 
+"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlSendDataTimeout" "50" 
+"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlViews" "1" 
+"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleWndInstanceKey0" "{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" 
+"{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}StartStopCheckAfter" "0" 
+"{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}StartStopCheckBefore" "0" 
+"{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}StartStopExpAfter" "" 
+"{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}StartStopExpBefore" "" 
+"{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}T_SESSION_IS_SAVED" "YES" 
+"{CBEBB610-1516-11D4-8F2D-00409545B67B}ElfDwarf2Objects" "1" 
+"{CBEBB610-1516-11D4-8F2D-00409545B67B}LoadModule0OBJ_ELFDWARF2_ARRAY_EXPAND_LIMIT" "-1" 
+"{CBEBB610-1516-11D4-8F2D-00409545B67B}LoadModule0OBJ_ELFDWARF2_STATIC_MEM_EXPAND" "1" 
+"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsCtrlViews" "0" 
+"{EEDC9301-6FBE-11D5-8613-00A024591A38}StackTraceCtrlViews" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlIOFile" "" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlSaveFileDir" "$(CONFIGDIR)" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlSaveFileName" "" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlViews" "1" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOSelection IOWnd0" "" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth0" "200" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth1" "100" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth2" "108" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth3" "100" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp0" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp1" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp10" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp100" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp101" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp102" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp103" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp104" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp105" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp106" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp107" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp108" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp109" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp11" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp110" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp111" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp112" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp113" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp114" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp115" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp116" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp117" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp118" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp119" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp12" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp120" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp121" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp122" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp123" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp124" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp125" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp126" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp127" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp128" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp129" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp13" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp130" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp131" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp132" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp133" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp134" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp135" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp136" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp137" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp138" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp139" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp14" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp140" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp141" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp142" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp143" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp144" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp145" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp146" "1" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp147" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp148" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp149" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp15" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp150" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp151" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp152" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp153" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp154" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp155" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp156" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp157" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp158" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp159" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp16" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp160" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp161" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp162" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp163" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp164" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp165" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp166" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp167" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp168" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp169" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp17" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp170" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp171" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp172" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp173" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp174" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp175" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp176" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp177" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp178" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp179" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp18" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp180" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp181" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp182" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp183" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp184" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp185" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp186" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp187" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp188" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp189" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp19" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp190" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp191" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp192" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp193" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp194" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp195" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp196" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp197" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp198" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp199" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp2" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp20" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp200" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp201" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp202" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp203" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp204" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp205" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp206" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp207" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp208" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp209" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp21" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp210" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp211" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp212" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp213" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp214" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp215" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp216" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp217" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp218" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp219" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp22" "1" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp220" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp221" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp222" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp223" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp224" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp225" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp226" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp227" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp228" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp229" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp23" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp230" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp231" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp232" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp233" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp234" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp24" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp25" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp26" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp27" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp28" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp29" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp3" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp30" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp31" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp32" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp33" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp34" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp35" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp36" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp37" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp38" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp39" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp4" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp40" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp41" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp42" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp43" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp44" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp45" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp46" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp47" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp48" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp49" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp5" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp50" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp51" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp52" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp53" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp54" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp55" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp56" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp57" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp58" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp59" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp6" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp60" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp61" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp62" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp63" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp64" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp65" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp66" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp67" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp68" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp69" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp7" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp70" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp71" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp72" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp73" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp74" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp75" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp76" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp77" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp78" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp79" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp8" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp80" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp81" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp82" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp83" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp84" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp85" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp86" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp87" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp88" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp89" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp9" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp90" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp91" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp92" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp93" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp94" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp95" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp96" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp97" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp98" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp99" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ScrollHorz" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ScrollVert" "146" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth0" "200" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth1" "100" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth2" "100" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth3" "100" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ScrollHorz" "0" 
+"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ScrollVert" "0" 
+"{F923CED3-3318-4B43-B931-0AE76B289176}TaskTraceCtrlAnalyzeViews" "0" 
+"{F923CED3-3318-4B43-B931-0AE76B289176}TaskTraceCtrlFileSaveDirectory" "" 
+"{F923CED3-3318-4B43-B931-0AE76B289176}TaskTraceCtrlTraceViews" "0" 
+[LANGUAGE]
+"English" 
+[CONFIG_INFO_VD1]
+0 
+[CONFIG_INFO_VD2]
+0 
+[CONFIG_INFO_VD3]
+0 
+[CONFIG_INFO_VD4]
+0 
+[WINDOW_POSITION_STATE_DATA_VD1]
+"Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"QzROM" "TOOLBAR 0" 59419 4 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_00000001_CmdLine}ADC_Single_DTC_MTUDefaultSession" "WINDOW" 59422 0 1 "0.50" 230 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0" 
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 172 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0" 
+"{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 300 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0" 
+"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 -4 -23 936 558 9 0 "" "0.0" 
+"{WK_00000001_IO}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 1 "0.50" 172 0 0 869 657 17 0 "32817|32826|32819|32820|32821" "0.0" 
+"{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "1.00" 219 1452 519 1033 219 2053 0 "42202|42203|42204|42233|<<separator>>|42206|42205|42230|42229|42207|<<separator>>|42208|42209|42210|49076|42228|42227|<<separator>>|42231|42232|42234|42235|<<separator>>|42211|<<separator>>" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 172 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 300 0 0 350 200 2065 0 "" "0.0" 
+"{WK_00000001_STACKTRACE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "0.50" 277 0 0 350 200 2065 0 "" "0.0" 
+"{WK_00000001_WATCH}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "0.50" 300 0 0 1040 307 17 0 "32781|32783|<<separator>>|32771|32829|32772|32827|32773|<<separator>>|32786|<<separator>>|32810|32811" "0.0" 
+"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 260 560 340 350 200 18 0 "" "0.0" 
+"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" 
+"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 914 231 0 0 18 0 "" "0.0" 
+"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 298 189 0 0 18 0 "" "0.0" 
+"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000011_CPU}" "TOOLBAR 0" 0 0 0 "0.00" 0 427 225 0 0 5 0 "" "0.0" 
+"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000013_SYMBOL}" "TOOLBAR 0" 0 0 0 "0.00" 0 800 233 0 0 5 0 "" "0.0" 
+"{WK_TB00000014_CODE}" "TOOLBAR 0" 59419 2 3 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000015_PERFORMANCE}" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000016_GRAPHIC}" "TOOLBAR 0" 59419 2 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000017_FDT}" "TOOLBAR 0" 59419 4 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000023_RTOS}" "TOOLBAR 0" 59419 2 5 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 0 0 "0.00" 0 788 192 0 0 5 0 "" "0.0" 
+"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 1 6 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000027_EVENT}" "TOOLBAR 0" 59419 2 1 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+"{WK_TB00000028_RTOSDEBUG}" "TOOLBAR 0" 59419 0 0 "0.00" 0 559 254 0 0 5 0 "" "0.0" 
+"{WK_TB00000029_SYSTEMTOOL}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
+[WINDOW_POSITION_STATE_DATA_VD2]
+[WINDOW_POSITION_STATE_DATA_VD3]
+[WINDOW_POSITION_STATE_DATA_VD4]
+[WINDOW_Z_ORDER]
+"{WK_TB00000028_RTOSDEBUG} TOOLBAR 0" 
+"{WK_TB00000025_HELPSYSTEMTOOL} TOOLBAR 0" 
+[TARGET_NAME]
+"RX E1/E20 SYSTEM" "" 0 
+[STATUSBAR_STATEINFO_VD1]
+"MasterShowState" 1 
+"ApplicationShowState" 1 
+"DebuggerShowState" 1 
+[STATUSBAR_STATEINFO_VD2]
+"MasterShowState" 1 
+"ApplicationShowState" 1 
+"DebuggerShowState" 1 
+[STATUSBAR_STATEINFO_VD3]
+"MasterShowState" 1 
+"ApplicationShowState" 1 
+"DebuggerShowState" 1 
+[STATUSBAR_STATEINFO_VD4]
+"MasterShowState" 1 
+"ApplicationShowState" 1 
+"DebuggerShowState" 1 
+[STATUSBAR_DEBUGGER_PANESTATE_VD1]
+"SBK_TAR_EMUE100|Exception" 1 
+"SBK_TAR_EMUE100|BreakCondition" 1 
+"SBK_TAR_EMUE100|TaskID" 1 
+"SBK_TAR_EMUE100|ExecutionTime" 1 
+"SBK_TAR_EMUE100|PC" 1 
+[STATUSBAR_DEBUGGER_PANESTATE_VD2]
+[STATUSBAR_DEBUGGER_PANESTATE_VD3]
+[STATUSBAR_DEBUGGER_PANESTATE_VD4]
+[DEBUGGER_OPTIONS]
+"" 
+[DOWNLOAD_MODULES]
+"C:\Work\RX\RX200\FreeRTOSV7.0.1\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Debug_with_optimisation\RTOSDemo.abs" 0 "Elf/Dwarf2" 0 0 1 0 
+[CONNECT_ON_GO]
+"FALSE" 
+[DOWNLOAD_MODULES_AFTER_BUILD]
+"TRUE" 
+[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
+"FALSE" 
+[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
+"FALSE" 
+[DISABLE_MEMORY_ACCESS_DURING_EXECUTION]
+"FALSE" 
+[DEBUGGER_OPTIONS_PROPERTIES]
+"1" 
+[COMMAND_FILES]
+[DEFAULT_DEBUG_FORMAT]
+"Elf/Dwarf2" 
+[FLASH_DETAILS]
+"0.000000" 0 0 "" 0 "" 0 0 "" 1 1 0 0 0 0 0 "" "" "" "" "" 
+[BREAKPOINTS]
+[END]
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/hd44780.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/hd44780.c
new file mode 100644
index 0000000000..d403156ce3
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/hd44780.c
@@ -0,0 +1,445 @@
+/*------------------------------------------------------------------------/
+/  EZ-LCD - Generic control module for HD44780 LCDC - R0.01c
+/-------------------------------------------------------------------------/
+/
+/  Copyright (C) 2010, ChaN, all right reserved.
+/
+/ * This software is a free software and there is NO WARRANTY.
+/ * No restriction on use. You can use, modify and redistribute it for
+/   personal, non-profit or commercial products UNDER YOUR RESPONSIBILITY.
+/ * Redistributions of source code must retain the above copyright notice.
+/
+/-------------------------------------------------------------------------/
+/ Nov 12,'10 R0.01c  First release.
+/------------------------------------------------------------------------*/
+#include <machine.h>
+#include "hd44780.h"
+
+/*-------------------------------------------------------------------------*/
+/* Platform dependent macros and functions needed to be modified           */
+/*-------------------------------------------------------------------------*/
+
+/* Bus controls */
+#include "iodefine.h"			/* Device specific include file */
+#include "rskrx62ndef.h"
+
+#define	IF_BUS		4			/* Data bus width (4 or 8) */
+#define	IF_INIT()	{}			/* Initialize control port */
+#define E1_HIGH()	LCD_EN = 1	/* Set E(E1) high */
+#define E1_LOW()	LCD_EN = 0  /* Set E(E1) low */
+#define E2_HIGH()				/* Set E2 high (dual controller only) */
+#define E2_LOW()				/* Set E2 low (dual controller only) */
+#define	RS_HIGH()	LCD_RS = 1	/* Set RS high */
+#define	RS_LOW()	LCD_RS = 0	/* Set RS low */
+#define	OUT_DATA(d)	LCD_DATA = (d & 0x0F)//LCD_DATA = ((LCD_DATA & 0xF0) | (d & 0x0F))	/* Output a byte d on the data bus (higher 4 bits of d in 4-bit mode) */
+#define	IF_DLY60()	{nop();nop();nop(); }			/* Delay >=60ns (can be blanked for most uC) */
+#define	IF_DLY450()	{unsigned long x; for(x=0; x<22; x++){nop();}}			/* Delay >=450ns@3V, >=250ns@5V */
+#define DELAY_US(n)	{unsigned long x; for(x=0; x<(n*50); x++){nop();}}			/* Delay n microseconds */
+
+/* Characteristics of LCD module  */
+#define	LCD_ETIME_1	1530		/* Execution time of Clear Display command [us] */
+#define	LCD_ETIME_2	43			/* Execution time of other command and data write [us] */
+#define	LCD_DLF		2.0			/* Delay factor (>=2.0) */
+
+
+
+/*-------------------------------------------------------------------------*/
+
+
+#if _LCD_ROWS >= 2 || _LCD_COLS > 8
+ #define LCD_IF_2ROW 8		/* 2-row cfg. */
+ #if _LCD_ROWS == 1
+  #define LCD_IF_SPLIT 1	/* Half split row */
+ #else
+  #define LCD_IF_SPLIT 0	/* Direct row */
+ #endif
+#else
+ #define LCD_IF_2ROW 0		/* 1-row cfg. */
+#endif
+
+#if _LCD_ROWS == 4 && _LCD_COLS <= 20
+ #define LCD_IF_ALTROW	1	/* Alternate row layout */
+#else
+ #define LCD_IF_ALTROW	0	/* Incremental row layout */
+#endif
+
+#if _LCD_ROWS == 4 && _LCD_COLS > 20
+ #define LCD_IF_DUAL 	1	/* Dual controller */
+#else
+ #define LCD_IF_DUAL 	0	/* Single controller */
+#endif
+
+#define	LCD_DT1		((uint16_t)(LCD_ETIME_1 * LCD_DLF))
+#define	LCD_DT2		((uint16_t)(LCD_ETIME_2 * LCD_DLF))
+
+
+
+static
+uint8_t Row, Column;	/* Current cursor position */
+#if _USE_CURSOR
+static
+uint8_t Csr;	/* Current cursor state */
+#endif
+
+
+
+
+/*----------------------------------------------*/
+/* Write a byte to the LCD controller           */
+/*----------------------------------------------*/
+
+static
+void lcd_write (
+	uint8_t reg,	/* b0:command(0)/data(1), b2..1:E1(2)/E2(1)/both(0)(don't care on single controller), b3:write high nibble only(don't care on 8-bit bus) */
+	uint8_t dat		/* Byte to be written */
+)
+{
+	if (reg & 1)	/* Select register */
+		RS_HIGH();
+	else
+		RS_LOW();
+	IF_DLY60();
+
+#if IF_BUS == 4
+	if (!(reg & 8)) {
+		OUT_DATA(dat);
+#if LCD_IF_DUAL
+		if (!(reg & 2)) E1_HIGH();
+		if (!(reg & 4)) E2_HIGH();
+		IF_DLY450();
+		E1_LOW();
+		E2_LOW();
+#else
+		E1_HIGH();
+		IF_DLY450();
+		E1_LOW();
+#endif
+		IF_DLY450();
+		dat <<= 4;
+	}
+#endif
+
+	OUT_DATA(dat);
+#if LCD_IF_DUAL
+	if (!(reg & 2)) E1_HIGH();
+	if (!(reg & 4)) E2_HIGH();
+	IF_DLY450();
+	E1_LOW();
+	E2_LOW();
+#else
+	E1_HIGH();
+	IF_DLY450();
+	E1_LOW();
+#endif
+
+	DELAY_US(LCD_DT2);	/* Always use timer */
+}
+
+
+
+/*-----------------------------------------------------------------------*/
+/* Initialize LCD module                                                 */
+/*-----------------------------------------------------------------------*/
+
+void lcd_init (void)
+{
+	uint8_t d;
+	
+	E1_HIGH();
+	DELAY_US(40000);
+	E1_LOW();
+
+//	IF_INIT();
+
+//	DELAY_US(40000);
+	lcd_write(8, 0x30);
+	DELAY_US(4100);
+	lcd_write(8, 0x30);
+	DELAY_US(100);
+	lcd_write(8, 0x30);
+
+	d = (IF_BUS == 4 ? 0x20 : 0x30) | LCD_IF_2ROW;
+	lcd_write(8, d);
+#if IF_BUS == 4
+	lcd_write(0, d);
+#endif
+	lcd_write(0, 0x08);
+	lcd_write(0, 0x01);
+	DELAY_US(LCD_DT1);
+	lcd_write(0, 0x06);
+	lcd_write(0, 0x0C);
+
+	Row = Column = 0;
+#if _USE_CURSOR
+	Csr = 0;
+#endif
+}
+
+
+
+/*-----------------------------------------------------------------------*/
+/* Set cursor position                                                   */
+/*-----------------------------------------------------------------------*/
+
+void lcd_locate (
+	uint8_t row,	/* Cursor row position (0.._LCD_ROWS-1) */
+	uint8_t col		/* Cursor column position (0.._LCD_COLS-1) */
+)
+{
+	Row = row; Column = col;
+
+	if (row < _LCD_ROWS && col < _LCD_COLS) {
+		if (_LCD_COLS >= 2 && (row & 1)) col += 0x40;
+		if (LCD_IF_SPLIT && col >= _LCD_COLS / 2) col += 0x40 - _LCD_COLS / 2;
+		if (LCD_IF_ALTROW && (row & 2)) col += _LCD_COLS;
+		col |= 0x80;
+	} else {
+		col = 0x0C;
+	}
+
+#if LCD_IF_DUAL
+	if (_USE_CURSOR && !(row &= 2)) row |= 4;
+	lcd_write(row, col);
+#if _USE_CURSOR
+	if (col != 0x0C) lcd_write(row, Csr | 0x0C);
+	row ^= 6;
+	lcd_write(row, 0x0C);
+#endif
+#else
+	lcd_write(0, col);
+#if _USE_CURSOR
+	if (col != 0x0C) lcd_write(0, Csr | 0x0C);
+#endif
+#endif
+}
+
+
+
+/*-----------------------------------------------------------------------*/
+/* Put a character                                                       */
+/*-----------------------------------------------------------------------*/
+
+void lcd_putc (
+	uint8_t chr
+)
+{
+	if (chr == '\f') {		/* Clear Screen and Return Home */
+		lcd_write(0, 0x01);
+		DELAY_US(LCD_DT1);
+		lcd_locate(0, 0);
+		return;
+	}
+
+	if (Row >= _LCD_ROWS) return;
+
+	if (chr == '\r') {	/* Cursor return */
+		lcd_locate(Row, 0);
+		return;
+	}
+	if (chr == '\n') {	/* Next row */
+		lcd_locate(Row + 1, 0);
+		return;
+	}
+	if (chr == '\b') {	/* Cursor back */
+		if (Column)
+			lcd_locate(Row, Column - 1);
+		return;
+	}
+
+	if (Column >= _LCD_COLS) return;
+
+	lcd_write((LCD_IF_DUAL && Row >= 2) ? 3 : 5, chr);
+	Column++;
+
+	if (LCD_IF_SPLIT && Column == _LCD_COLS / 2)
+		lcd_write(0, 0x40);
+
+	if (Column >= _LCD_COLS)
+		lcd_locate(Row + 1, 0);
+}
+
+
+
+/*-----------------------------------------------------------------------*/
+/* Set cursor form                                                       */
+/*-----------------------------------------------------------------------*/
+
+#if _USE_CURSOR
+void lcd_cursor (
+	uint8_t stat	/* 0:off, 1:blinking block, 2:under-line */
+)
+{
+	Csr = stat & 3;
+	lcd_locate(Row, Column);
+}
+#endif
+
+
+
+/*-----------------------------------------------------------------------*/
+/* Register user character pattern                                       */
+/*-----------------------------------------------------------------------*/
+
+#if _USE_CGRAM
+void lcd_setcg (
+	uint8_t chr,		/* Character code to be registered (0..7) */
+	uint8_t n,			/* Number of characters to register */
+	const uint8_t* p	/* Pointer to the character pattern (8 * n bytes) */
+)
+{
+	lcd_write(0, 0x40 | chr * 8);
+	n *= 8;
+	do
+		lcd_write(1, *p++);
+	while (--n);
+
+	lcd_locate(Row, Column);
+}
+#endif
+
+
+
+/*-----------------------------------------------------------------------*/
+/* Put a fuel indicator                                                  */
+/*-----------------------------------------------------------------------*/
+
+#if _USE_FUEL && _USE_CGRAM
+void lcd_put_fuel (
+	int8_t val,		/* Fuel level (-1:plugged, 0:empty cell, ..., 5:full cell) */
+	uint8_t chr		/* User character to use */
+)
+{
+	static const uint8_t plg[8] = {10,10,31,31,14,4,7,0};
+	uint8_t gfx[8], d, *p;
+	int8_t i;
+
+
+	if (val >= 0) {		/* Cell (0..5) */
+		p = &gfx[8];
+		*(--p) = 0; *(--p) = 0x1F;
+		for (i = 1; i <= 5; i++) {
+			d = 0x1F;
+			if (val < i) d = (i == 5) ? 0x1B : 0x11;
+			*(--p) = d;
+		}
+		*(--p) = 0x0E;
+	} else {			/* Plug (-1) */
+		p = (uint8_t*)plg;
+	}
+	lcd_setcg(chr, 1, p);
+	lcd_putc(chr);
+}
+
+
+#endif
+
+
+
+/*-----------------------------------------------------------------------*/
+/* Draw bargraph                                                         */
+/*-----------------------------------------------------------------------*/
+
+#if _USE_BAR && _USE_CGRAM
+void lcd_put_bar (
+	uint16_t val,	/* Bar length (0 to _MAX_BAR represents bar length from left end) */
+	uint8_t width,	/* Display area (number of chars from cursor position) */
+	uint8_t chr		/* User character code (2 chars used from this) */
+)
+{
+	static const uint8_t ptn[] = {
+		0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0x80, 0,
+		0xF0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0,
+		0xF0, 0xF0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0
+	};
+	const uint8_t *pp;
+	uint16_t n, m, s, gi;
+	uint8_t gfx[16];
+
+
+	for (n = 0; n < 16; n++)		/* Register common pattern (space/fill) */
+		gfx[n] = n < 7 ? 0 : 0xFF;
+	lcd_setcg(_BASE_GRAPH, 2, gfx);
+
+	/* Draw edge pattern into gfx[] */
+	val = (unsigned long)val * (width * 18) / (_MAX_BAR + 1);
+	pp = &ptn[(val % 3) * 8];		/* Get edge pattern */
+	s = val / 3 % 6;				/* Bit shift */
+	for (n = 0; n < 7; n++) {		/* Draw edge pattern into the pattern buffer */
+		m = (*pp++ | 0xFF00) >> s;
+		gfx[n] = m;
+		gfx[n + 8] = m >> 6;
+	}
+
+	/* Put graphic pattern into the LCD module */
+	gi = val / 18;						/* Indicator start position */
+	for (n = 1; n <= width; n++) {		/* Draw each location in the bargraph */
+		if (n == gi) {					/* When edge pattern is exist at the location */
+			m = chr + 1;				/* A edge pattern */
+		} else {
+			if (n == gi + 1) {
+				lcd_setcg(chr, 2, gfx);	/* Register edge pattern */
+				m = chr;
+			} else {
+				m = (n >= gi) ? _BASE_GRAPH : _BASE_GRAPH + 1;	/* A space or fill */
+			}
+		}
+		lcd_putc(m);					/* Put the character into the LCD */
+	}
+}
+#endif
+
+
+
+/*-----------------------------------------------------------------------*/
+/* Draw point indicator                                                  */
+/*-----------------------------------------------------------------------*/
+
+#if _USE_POINT && _USE_CGRAM
+void lcd_put_point (
+	uint16_t val,	/* Dot position (0 to _MAX_POINT represents left end to write end) */
+	uint8_t width,	/* Display area (number of chars from cursor position) */
+	uint8_t chr		/* User character code (2 chars used from this) */
+)
+{
+	static const uint8_t ptn[] = {
+		0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0,
+		0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0,
+		0x06, 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0
+	};
+	const uint8_t *pp;
+	uint16_t n, m, s, gi;
+	uint8_t gfx[16];
+
+
+	for (n = 0; n < 16; n++)		/* Register common pattern (space) */
+		gfx[n] = n < 7 ? 0 : 0xFF;
+	lcd_setcg(_BASE_GRAPH, 1, gfx);
+
+	/* Draw edge pattern into gfx[] */
+	val = (uint32_t)val * (width * 18 - 12) / (_MAX_BAR + 1);
+	pp = &ptn[(val % 3) * 8];		/* Get edge pattern */
+	s = val / 3 % 6;				/* Bit shift */
+	for (n = 0; n < 7; n++) {		/* Draw edge pattern into the pattern buffer */
+		m = *pp++; m <<= 6; m >>= s;
+		gfx[n] = m;
+		gfx[n + 8] = m >> 6;
+	}
+	lcd_setcg(chr, 2, gfx);				/* Register dot pattern */
+
+	/* Put graphic pattern into the LCD module */
+	gi = val / 18;						/* Indicator start position */
+	for (n = 0; n < width; n++) {		/* Draw each location in the bargraph */
+		if (n == gi) {					/* When edge pattern is exist at the location */
+			m = chr + 1;				/* A edge pattern */
+		} else {
+			if (n == gi + 1)
+				m = chr;
+			else
+				m = _BASE_GRAPH;		/* A space */
+		}
+		lcd_putc(m);					/* Put the character into the LCD */
+	}
+}
+#endif
+
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/hd44780.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/hd44780.h
new file mode 100644
index 0000000000..5bfb3009f9
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/hd44780.h
@@ -0,0 +1,56 @@
+/*-----------------------------------------------------------------------*/
+/* EZ-LCD - Generic control module include/configuration file            */
+/*-----------------------------------------------------------------------*/
+
+#ifndef _EZ_LCD
+#define _EZ_LCD
+
+/*--------------------------------------------------*/
+/* Configuration Options                            */
+/*--------------------------------------------------*/
+
+#define _LCD_ROWS	2		/* Number of Rows (1,2 or 4) */
+#define _LCD_COLS	8 		/* Number of Columns (8..40) */
+
+#define _USE_CURSOR	0		/* 1:Enable lcd_cursor function */
+#define _USE_CGRAM	0		/* 1:Enable lcd_setcg function */
+
+#define	_USE_FUEL	0		/* 1:Enable lcd_put_fuel function (_USE_CGRAM must be 1) */
+
+#define	_USE_BAR	0		/* 1:Enable lcd_put_bar function (_USE_CGRAM must be 1) */
+#define	_MAX_BAR	255		/* Maximum value for lcd_put_bar function */
+
+#define	_USE_POINT	0		/* 1:Enable lcd_put_point function (_USE_CGRAM must be 1) */
+#define	_MAX_POINT	255		/* Maximum value for lcd_put_point function */
+
+#define	_BASE_GRAPH	0		/* Common user character used by lcd_put_bar/lcd_put_point function (2 chars from this) */
+
+
+
+/*--------------------------------------------------*/
+/* API declareations                                */
+/*--------------------------------------------------*/
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+void lcd_init (void);
+void lcd_locate (uint8_t, uint8_t);
+void lcd_putc (uint8_t);
+void lcd_cursor (uint8_t);
+void lcd_setcg (uint8_t, uint8_t, const uint8_t*);
+void lcd_put_fuel (int8_t, uint8_t);
+void lcd_put_bar (uint16_t, uint8_t, uint8_t);
+void lcd_put_point (uint16_t, uint8_t, uint8_t);
+#ifdef __cplusplus
+}
+#endif
+
+#define CSR_OFF		0
+#define CSR_BLOCK	1
+#define CSR_UNDER	2
+
+
+#endif	/* #ifndef _EZLCD */
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/IntQueueTimer.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/IntQueueTimer.h
new file mode 100644
index 0000000000..0c48f47a35
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/IntQueueTimer.h
@@ -0,0 +1,62 @@
+/*
+    FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
+
+    ***************************************************************************
+    *                                                                         *
+    * If you are:                                                             *
+    *                                                                         *
+    *    + New to FreeRTOS,                                                   *
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *
+    *    + Looking for basic training,                                        *
+    *    + Wanting to improve your FreeRTOS skills and productivity           *
+    *                                                                         *
+    * then take a look at the FreeRTOS books - available as PDF or paperback  *
+    *                                                                         *
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *
+    *                  http://www.FreeRTOS.org/Documentation                  *
+    *                                                                         *
+    * A pdf reference manual is also available.  Both are usually delivered   *
+    * to your inbox within 20 minutes to two hours when purchased between 8am *
+    * and 8pm GMT (although please allow up to 24 hours in case of            *
+    * exceptional circumstances).  Thank you for your support!                *
+    *                                                                         *
+    ***************************************************************************
+
+    This file is part of the FreeRTOS distribution.
+
+    FreeRTOS is free software; you can redistribute it and/or modify it under
+    the terms of the GNU General Public License (version 2) as published by the
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+    ***NOTE*** The exception to the GPL is included to allow you to distribute
+    a combined work that includes FreeRTOS without being obliged to provide the
+    source code for proprietary components outside of the FreeRTOS kernel.
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+    more details. You should have received a copy of the GNU General Public 
+    License and the FreeRTOS license exception along with FreeRTOS; if not it 
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained 
+    by writing to Richard Barry, contact details for whom are available on the
+    FreeRTOS WEB site.
+
+    1 tab == 4 spaces!
+
+    http://www.FreeRTOS.org - Documentation, latest information, license and
+    contact details.
+
+    http://www.SafeRTOS.com - A version that is certified for use in safety
+    critical systems.
+
+    http://www.OpenRTOS.com - Commercial support, development, porting,
+    licensing and training services.
+*/
+
+#ifndef INT_QUEUE_TIMER_H
+#define INT_QUEUE_TIMER_H
+
+void vInitialiseTimerForIntQueueTest( void );
+portBASE_TYPE xTimer0Handler( void );
+portBASE_TYPE xTimer1Handler( void );
+
+#endif
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/OLDiodefine.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/OLDiodefine.h
new file mode 100644
index 0000000000..405b090005
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/OLDiodefine.h
@@ -0,0 +1,6615 @@
+/********************************************************************************/
+/*                                                                              */
+/* Device     : RX/RX200/RX210                                                  */
+/* File Name  : ioedfine.h                                                      */
+/* Abstract   : Definition of I/O Register.                                     */
+/* History    : V0.1  (2010-10-05)  [Hardware Manual Revision : 0.10]           */
+/* Note       : This is a typical example.                                      */
+/*                                                                              */
+/*  Copyright(c) 2010 Renesas Electronics Corp.                                 */
+/*                  And Renesas Solutions Corp. ,All Rights Reserved.           */
+/*                                                                              */
+/********************************************************************************/
+/*                                                                              */
+/*  DESCRIPTION : Definition of ICU Register                                    */
+/*  CPU TYPE    : RX210                                                         */
+/*                                                                              */
+/*  Usage : IR,DTCER,IER,IPR of ICU Register                                    */
+/*     The following IR, DTCE, IEN, IPR macro functions simplify usage.         */
+/*     The bit access operation is "Bit_Name(interrupt source,name)".           */
+/*     A part of the name can be omitted.                                       */
+/*     for example :                                                            */
+/*       IR(MTU0,TGIA0) = 0;     expands to :                                   */
+/*         ICU.IR[114].BIT.IR = 0;                                              */
+/*                                                                              */
+/*       DTCE(ICU,IRQ0) = 1;     expands to :                                   */
+/*         ICU.DTCER[64].BIT.DTCE = 1;                                          */
+/*                                                                              */
+/*       IEN(CMT0,CMI0) = 1;     expands to :                                   */
+/*         ICU.IER[0x03].BIT.IEN4 = 1;                                          */
+/*                                                                              */
+/*       IPR(MTU0,TGIV0) = 2;    expands to :                                   */
+/*       IPR(MTU0,TGI  ) = 2;    // TGIV0,TGIE0,TGIF0 share IPR level.          */
+/*         ICU.IPR[0x118].BIT.IPR = 2;                                          */
+/*                                                                              */
+/*       IPR(SCI0,ERI0) = 3;     expands to :                                   */
+/*       IPR(SCI0,    ) = 3;     // SCI0 uses single IPR for all sources.       */
+/*         ICU.IPR[0x214].BIT.IPR = 3;                                          */
+/*                                                                              */
+/*  Usage : #pragma interrupt Function_Identifier(vect=**)                      */
+/*     The number of vector is "(interrupt source, name)".                      */
+/*     for example :                                                            */
+/*       #pragma interrupt INT_IRQ0(vect=VECT(ICU,IRQ0))          expands to :  */
+/*         #pragma interrupt INT_IRQ0(vect=64)                                  */
+/*       #pragma interrupt INT_CMT0_CMI0(vect=VECT(CMT0,CMI0))    expands to :  */
+/*         #pragma interrupt INT_CMT0_CMI0(vect=28)                             */
+/*       #pragma interrupt INT_MTU0_TGIA0(vect=VECT(MTU0,TGIA0))  expands to :  */
+/*         #pragma interrupt INT_MTU0_TGIA0(vect=114)                           */
+/*                                                                              */
+/*  Usage : MSTPCRA,MSTPCRB,MSTPCRC of SYSTEM Register                          */
+/*     The bit access operation is "MSTP(name)".                                */
+/*     The name that can be used is a macro name defined with "iodefine.h".     */
+/*     for example :                                                            */
+/*       MSTP(TMR2) = 0;    // TMR2,TMR3,TMR23                    expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA4  = 0;                                      */
+/*       MSTP(SCI0) = 0;    // SCI0                               expands to :  */
+/*         SYSTEM.MSTPCRB.BIT.MSTPB31 = 0;                                      */
+/*       MSTP(MTU4) = 0;    // MTU,MTU0,MTU1,MTU2,MTU3,MTU4,MTU5  expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA9  = 0;                                      */
+/*       MSTP(CMT3) = 0;    // CMT2,CMT3                          expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA14 = 0;                                      */
+/*                                                                              */
+/*                                                                              */
+/********************************************************************************/
+#ifndef __RX210IODEFINE_HEADER__
+#define __RX210IODEFINE_HEADER__
+#pragma bit_order left
+#pragma unpack
+struct st_bsc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char STSCLR:1;
+		} BIT;
+	} BERCLR;
+	char           wk0[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TOEN:1;
+			unsigned char IGAEN:1;
+		} BIT;
+	} BEREN;
+	char           wk1[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MST:3;
+			unsigned char :2;
+			unsigned char TO:1;
+			unsigned char IA:1;
+		} BIT;
+	} BERSR1;
+	char           wk2[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADDR:13;
+		} BIT;
+	} BERSR2;
+	char           wk3[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short BPEB:2;
+			unsigned short BPFB:2;
+			unsigned short BPHB:2;
+			unsigned short BPGB:2;
+			unsigned short BPIB:2;
+			unsigned short BPRO:2;
+			unsigned short BPRA:2;
+		} BIT;
+	} BUSPRI;
+	char           wk4[7408];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS0MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS0WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :2;
+			unsigned long AWAIT:2;
+			unsigned long :1;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS0WCR2;
+	char           wk5[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS1MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS1WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :2;
+			unsigned long AWAIT:2;
+			unsigned long :1;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS1WCR2;
+	char           wk6[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS2MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS2WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :2;
+			unsigned long AWAIT:2;
+			unsigned long :1;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS2WCR2;
+	char           wk7[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS3MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS3WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :2;
+			unsigned long AWAIT:2;
+			unsigned long :1;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS3WCR2;
+	char           wk8[1990];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short MPXEN:1;
+			unsigned short :3;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS0CR;
+	char           wk9[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS0REC;
+	char           wk10[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short MPXEN:1;
+			unsigned short :3;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS1CR;
+	char           wk11[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS1REC;
+	char           wk12[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short MPXEN:1;
+			unsigned short :3;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS2CR;
+	char           wk13[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS2REC;
+	char           wk14[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short MPXEN:1;
+			unsigned short :3;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS3CR;
+	char           wk15[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS3REC;
+	char           wk16[68];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short RCVENM7:1;
+			unsigned short RCVENM6:1;
+			unsigned short RCVENM5:1;
+			unsigned short RCVENM4:1;
+			unsigned short RCVENM3:1;
+			unsigned short RCVENM2:1;
+			unsigned short RCVENM1:1;
+			unsigned short RCVENM0:1;
+			unsigned short RCVEN7:1;
+			unsigned short RCVEN6:1;
+			unsigned short RCVEN5:1;
+			unsigned short RCVEN4:1;
+			unsigned short RCVEN3:1;
+			unsigned short RCVEN2:1;
+			unsigned short RCVEN1:1;
+			unsigned short RCVEN0:1;
+		} BIT;
+	} CSRECEN;
+};
+
+struct st_cac {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char CFME:1;
+		} BIT;
+	} CACR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char EDGES:2;
+			unsigned char TCSS:2;
+			unsigned char FMCS:3;
+			unsigned char CACIE:1;
+		} BIT;
+	} CACR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char RCDS:2;
+			unsigned char RSCS:3;
+			unsigned char RPS:1;
+		} BIT;
+	} CACR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char OVFFCL:1;
+			unsigned char MENDFCL:1;
+			unsigned char FERRFCL:1;
+			unsigned char :1;
+			unsigned char OVFIE:1;
+			unsigned char MENDIE:1;
+			unsigned char FERRIE:1;
+		} BIT;
+	} CAICR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char OVFF:1;
+			unsigned char MENDF:1;
+			unsigned char FERRF:1;
+		} BIT;
+	} CASTR;
+	char           wk0[1];
+	unsigned short CAULVR;
+	unsigned short CALLVR;
+	unsigned short CACNTBR;
+};
+
+struct st_cmpb {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char CPB2INI:1;
+			unsigned char :3;
+			unsigned char CPB1INI:1;
+		} BIT;
+	} CPBCNT1;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CPB2OUT:1;
+			unsigned char :3;
+			unsigned char CPB1OUT:1;
+		} BIT;
+	} CPBFLG;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char CPB2INTPL:1;
+			unsigned char CPB2INTEG:1;
+			unsigned char CPB2INTEN:1;
+			unsigned char :1;
+			unsigned char CPB1INTPL:1;
+			unsigned char CPB1INTEG:1;
+			unsigned char CPB1INTEN:1;
+		} BIT;
+	} CPBINT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CPB2F:2;
+			unsigned char :1;
+			unsigned char CPB2FEN:1;
+			unsigned char CPB1F:2;
+			unsigned char :1;
+			unsigned char CPB1FEN:1;
+		} BIT;
+	} CPBF;
+};
+
+struct st_cmt {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :14;
+			unsigned short STR1:1;
+			unsigned short STR0:1;
+		} BIT;
+	} CMSTR0;
+	char           wk0[14];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :14;
+			unsigned short STR3:1;
+			unsigned short STR2:1;
+		} BIT;
+	} CMSTR1;
+};
+
+struct st_cmt0 {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :9;
+			unsigned short CMIE:1;
+			unsigned short :4;
+			unsigned short CKS:2;
+		} BIT;
+	} CMCR;
+	unsigned short CMCNT;
+	unsigned short CMCOR;
+};
+
+struct st_crc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DORCLR:1;
+			unsigned char :4;
+			unsigned char LMS:1;
+			unsigned char GPS:2;
+		} BIT;
+	} CRCCR;
+	unsigned char  CRCDIR;
+	unsigned short CRCDOR;
+};
+
+struct st_da {
+	unsigned short DADR0;
+	unsigned short DADR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DAOE1:1;
+			unsigned char DAOE0:1;
+			unsigned char DAE:1;
+		} BIT;
+	} DACR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSEL:1;
+		} BIT;
+	} DADPR;
+};
+
+struct st_dmac {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DMST:1;
+		} BIT;
+	} DMAST;
+};
+
+struct st_dmac0 {
+	unsigned long  DMSAR;
+	unsigned long  DMDAR;
+	unsigned long  DMCRA;
+	unsigned short DMCRB;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short MD:2;
+			unsigned short DTS:2;
+			unsigned short :2;
+			unsigned short SZ:2;
+			unsigned short :6;
+			unsigned short DCTG:2;
+		} BIT;
+	} DMTMD;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char DTIE:1;
+			unsigned char ESIE:1;
+			unsigned char RPTIE:1;
+			unsigned char SARIE:1;
+			unsigned char DARIE:1;
+		} BIT;
+	} DMINT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SM:2;
+			unsigned short :1;
+			unsigned short SARA:5;
+			unsigned short DM:2;
+			unsigned short :1;
+			unsigned short DARA:5;
+		} BIT;
+	} DMAMD;
+	char           wk2[2];
+	unsigned long  DMOFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTE:1;
+		} BIT;
+	} DMCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char CLRS:1;
+			unsigned char :3;
+			unsigned char SWREQ:1;
+		} BIT;
+	} DMREQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ACT:1;
+			unsigned char :2;
+			unsigned char DTIF:1;
+			unsigned char :3;
+			unsigned char ESIF:1;
+		} BIT;
+	} DMSTS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DISEL:1;
+		} BIT;
+	} DMCSL;
+};
+
+struct st_dmac1 {
+	unsigned long  DMSAR;
+	unsigned long  DMDAR;
+	unsigned long  DMCRA;
+	unsigned short DMCRB;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short MD:2;
+			unsigned short DTS:2;
+			unsigned short :2;
+			unsigned short SZ:2;
+			unsigned short :6;
+			unsigned short DCTG:2;
+		} BIT;
+	} DMTMD;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char DTIE:1;
+			unsigned char ESIE:1;
+			unsigned char RPTIE:1;
+			unsigned char SARIE:1;
+			unsigned char DARIE:1;
+		} BIT;
+	} DMINT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SM:2;
+			unsigned short :1;
+			unsigned short SARA:5;
+			unsigned short DM:2;
+			unsigned short :1;
+			unsigned short DARA:5;
+		} BIT;
+	} DMAMD;
+	char           wk2[6];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTE:1;
+		} BIT;
+	} DMCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char CLRS:1;
+			unsigned char :3;
+			unsigned char SWREQ:1;
+		} BIT;
+	} DMREQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ACT:1;
+			unsigned char :2;
+			unsigned char DTIF:1;
+			unsigned char :3;
+			unsigned char ESIF:1;
+		} BIT;
+	} DMSTS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DISEL:1;
+		} BIT;
+	} DMCSL;
+};
+
+struct st_doc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DOPCFCL:1;
+			unsigned char DOPCF:1;
+			unsigned char DOPCIE:1;
+			unsigned char :1;
+			unsigned char DCSEL:1;
+			unsigned char OMS:2;
+		} BIT;
+	} DOCR;
+	char           wk0[1];
+	unsigned short DODIR;
+	unsigned short DODSR;
+};
+
+struct st_dtc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char RRS:1;
+		} BIT;
+	} DTCCR;
+	char           wk0[3];
+	unsigned long  DTCVBR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SHORT:1;
+		} BIT;
+	} DTCADMOD;
+	char           wk1[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTCST:1;
+		} BIT;
+	} DTCST;
+	char           wk2[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ACT:1;
+			unsigned short :7;
+			unsigned short VECN:8;
+		} BIT;
+	} DTCSTS;
+};
+
+struct st_elc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ELCON:1;
+		} BIT;
+	} ELCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ELS:8;
+		} BIT;
+	} ELSR[30];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char MTU3MD:2;
+			unsigned char MTU2MD:2;
+			unsigned char MTU1MD:2;
+		} BIT;
+	} ELOPA;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char MTU4MD:2;
+		} BIT;
+	} ELOPB;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char CMT1MD:2;
+		} BIT;
+	} ELOPC;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char TMR2MD:2;
+			unsigned char :2;
+			unsigned char TMR0MD:2;
+		} BIT;
+	} ELOPD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PRG7:1;
+			unsigned char PRG6:1;
+			unsigned char PRG5:1;
+			unsigned char PRG4:1;
+			unsigned char PRG3:1;
+			unsigned char PRG2:1;
+			unsigned char PRG1:1;
+			unsigned char PRG0:1;
+		} BIT;
+	} PGR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PRG7:1;
+			unsigned char PRG6:1;
+			unsigned char PRG5:1;
+			unsigned char PRG4:1;
+			unsigned char PRG3:1;
+			unsigned char PRG2:1;
+			unsigned char PRG1:1;
+			unsigned char PRG0:1;
+		} BIT;
+	} PGR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PGCO:3;
+			unsigned char :1;
+			unsigned char PGCOVE:1;
+			unsigned char PGCI:2;
+		} BIT;
+	} PGC1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PGCO:3;
+			unsigned char :1;
+			unsigned char PGCOVE:1;
+			unsigned char PGCI:2;
+		} BIT;
+	} PGC2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PDBF7:1;
+			unsigned char PDBF6:1;
+			unsigned char PDBF5:1;
+			unsigned char PDBF4:1;
+			unsigned char PDBF3:1;
+			unsigned char PDBF2:1;
+			unsigned char PDBF1:1;
+			unsigned char PDBF0:1;
+		} BIT;
+	} PDBF1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PDBF7:1;
+			unsigned char PDBF6:1;
+			unsigned char PDBF5:1;
+			unsigned char PDBF4:1;
+			unsigned char PDBF3:1;
+			unsigned char PDBF2:1;
+			unsigned char PDBF1:1;
+			unsigned char PDBF0:1;
+		} BIT;
+	} PDBF2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSM:2;
+			unsigned char PSP:2;
+			unsigned char PSB:3;
+		} BIT;
+	} PEL0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSM:2;
+			unsigned char PSP:2;
+			unsigned char PSB:3;
+		} BIT;
+	} PEL1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSM:2;
+			unsigned char PSP:2;
+			unsigned char PSB:3;
+		} BIT;
+	} PEL2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSM:2;
+			unsigned char PSP:2;
+			unsigned char PSB:3;
+		} BIT;
+	} PEL3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char WI:1;
+			unsigned char WE:1;
+			unsigned char :5;
+			unsigned char SEG:1;
+		} BIT;
+	} ELSEGR;
+};
+
+struct st_exsystem {
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :29;
+			unsigned long MDE:3;
+		} BIT;
+	} MDEB;
+	char           wk0[8388484];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :29;
+			unsigned long MDE:3;
+		} BIT;
+	} MDES;
+	char           wk1[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :23;
+			unsigned long HOCOEN:1;
+			unsigned long :5;
+			unsigned long LVDAS:1;
+			unsigned long VDSEL:2;
+		} BIT;
+	} OFS1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long WDTRSTIRQS:1;
+			unsigned long WDTRPSS:2;
+			unsigned long WDTRPES:2;
+			unsigned long WDTCKS:4;
+			unsigned long WDTTOPS:2;
+			unsigned long WDTSTRT:1;
+			unsigned long :2;
+			unsigned long IWDTSLCSTP:1;
+			unsigned long :1;
+			unsigned long IWDTRSTIRQS:1;
+			unsigned long IWDTRPSS:2;
+			unsigned long IWDTRPES:2;
+			unsigned long IWDTCKS:4;
+			unsigned long IWDTTOPS:2;
+			unsigned long IWDTSTRT:1;
+		} BIT;
+	} OFS0;
+};
+
+struct st_flash {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char FLWE:2;
+		} BIT;
+	} FWEPROR;
+	char           wk0[7799147];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char FRDMD:1;
+		} BIT;
+	} FMODR;
+	char           wk1[13];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ROMAE:1;
+			unsigned char :2;
+			unsigned char CMDLK:1;
+			unsigned char DFLAE:1;
+			unsigned char :1;
+			unsigned char DFLRPE:1;
+			unsigned char DFLWPE:1;
+		} BIT;
+	} FASTAT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ROMAEIE:1;
+			unsigned char :2;
+			unsigned char CMDLKIE:1;
+			unsigned char DFLAEIE:1;
+			unsigned char :1;
+			unsigned char DFLRPEIE:1;
+			unsigned char DFLWPEIE:1;
+		} BIT;
+	} FAEINT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char FRDYIE:1;
+		} BIT;
+	} FRDYIE;
+	char           wk2[45];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :4;
+			unsigned short DBRE3:1;
+			unsigned short DBRE2:1;
+			unsigned short DBRE1:1;
+			unsigned short DBRE0:1;
+		} BIT;
+	} DFLRE0;
+	char           wk3[14];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :4;
+			unsigned short DBWE3:1;
+			unsigned short DBWE2:1;
+			unsigned short DBWE1:1;
+			unsigned short DBWE0:1;
+		} BIT;
+	} DFLWE0;
+	char           wk4[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :7;
+			unsigned short FCRME:1;
+		} BIT;
+	} FCURAME;
+	char           wk5[15194];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FRDY:1;
+			unsigned char ILGLERR:1;
+			unsigned char ERSERR:1;
+			unsigned char PRGERR:1;
+			unsigned char SUSRDY:1;
+			unsigned char :1;
+			unsigned char ERSSPD:1;
+			unsigned char PRGSPD:1;
+		} BIT;
+	} FSTATR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FCUERR:1;
+			unsigned char :2;
+			unsigned char FLOCKST:1;
+		} BIT;
+	} FSTATR1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FEKEY:8;
+			unsigned short FENTRYD:1;
+			unsigned short :6;
+			unsigned short FENTRY:1;
+		} BIT;
+	} FENTRYR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FPKEY:8;
+			unsigned short :7;
+			unsigned short FPROTCN:1;
+		} BIT;
+	} FPROTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FRKEY:8;
+			unsigned short :7;
+			unsigned short FRESET:1;
+		} BIT;
+	} FRESETR;
+	char           wk6[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short CMDR:8;
+			unsigned short PCMDR:8;
+		} BIT;
+	} FCMDR;
+	char           wk7[12];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short ESUSPMD:1;
+		} BIT;
+	} FCPSR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BCSIZE:1;
+			unsigned short BCMODE:2;
+			unsigned short :2;
+			unsigned short BCADR:11;
+		} BIT;
+	} DFLBCCNT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short PEERRST:8;
+		} BIT;
+	} FPESTAT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short BCST:1;
+		} BIT;
+	} DFLBCSTAT;
+	char           wk8[24];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short PCKA:8;
+		} BIT;
+	} PCKAR;
+};
+
+struct st_icu {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char IR:1;
+		} BIT;
+	} IR[250];
+	char           wk0[6];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTCE:1;
+		} BIT;
+	} DTCER[249];
+	char           wk1[7];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IEN7:1;
+			unsigned char IEN6:1;
+			unsigned char IEN5:1;
+			unsigned char IEN4:1;
+			unsigned char IEN3:1;
+			unsigned char IEN2:1;
+			unsigned char IEN1:1;
+			unsigned char IEN0:1;
+		} BIT;
+	} IER[32];
+	char           wk2[192];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SWINT:1;
+		} BIT;
+	} SWINTR;
+	char           wk3[15];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FIEN:1;
+			unsigned short :7;
+			unsigned short FVCT:8;
+		} BIT;
+	} FIR;
+	char           wk4[14];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char IPR:4;
+		} BIT;
+	} IPR[250];
+	char           wk5[6];
+	unsigned char  DMRSR0;
+	char           wk6[3];
+	unsigned char  DMRSR1;
+	char           wk7[3];
+	unsigned char  DMRSR2;
+	char           wk8[3];
+	unsigned char  DMRSR3;
+	char           wk9[243];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char IRQMD:2;
+		} BIT;
+	} IRQCR[8];
+	char           wk10[120];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SRAMST:1;
+			unsigned char LVD2ST:1;
+			unsigned char LVD1ST:1;
+			unsigned char IWDTST:1;
+			unsigned char WDTST:1;
+			unsigned char OSTST:1;
+			unsigned char NMIST:1;
+		} BIT;
+	} NMISR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SRAMEN:1;
+			unsigned char LVD2EN:1;
+			unsigned char LVD1EN:1;
+			unsigned char IWDTEN:1;
+			unsigned char WDTEN:1;
+			unsigned char OSTEN:1;
+			unsigned char NMIEN:1;
+		} BIT;
+	} NMIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char LVD2CLR:1;
+			unsigned char LVD1CLR:1;
+			unsigned char IWDTCLR:1;
+			unsigned char WDTCLR:1;
+			unsigned char OSTCLR:1;
+			unsigned char NMICLR:1;
+		} BIT;
+	} NMICLR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char NMIMD:1;
+		} BIT;
+	} NMICR;
+};
+
+struct st_iwdt {
+	unsigned char  IWDTRR;
+	char           wk0[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short RPSS:2;
+			unsigned short :2;
+			unsigned short RPES:2;
+			unsigned short CKS:4;
+			unsigned short :2;
+			unsigned short TOPS:2;
+		} BIT;
+	} IWDTCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short REFEF:1;
+			unsigned short UNDFF:1;
+			unsigned short CNTVAL:14;
+		} BIT;
+	} IWDTSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RSTIRQS:1;
+		} BIT;
+	} IWDTRCR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SLCSTP:1;
+		} BIT;
+	} IWDTCSTPR;
+};
+
+struct st_mpc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B0WI:1;
+			unsigned char PFSWE:1;
+		} BIT;
+	} PWPR;
+	char           wk0[35];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P03PFS;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P05PFS;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P07PFS;
+	char           wk3[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P12PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P13PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P14PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P15PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P16PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P17PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P20PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P21PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P22PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P23PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P24PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P25PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P26PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P27PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P30PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P31PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P32PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P33PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P34PFS;
+	char           wk4[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P40PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P41PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P42PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P43PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P44PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P45PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P46PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P47PFS;
+	char           wk5[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P54PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P55PFS;
+	char           wk6[34];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :3;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :3;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :3;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :3;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE7PFS;
+	char           wk7[16];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PH0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PH1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PH2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PH3PFS;
+	char           wk8[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PJ1PFS;
+	char           wk9[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PJ3PFS;
+};
+
+struct st_mtu {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char OE4D:1;
+			unsigned char OE4C:1;
+			unsigned char OE3D:1;
+			unsigned char OE4B:1;
+			unsigned char OE4A:1;
+			unsigned char OE3B:1;
+		} BIT;
+	} TOER;
+	char           wk0[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char BDC:1;
+			unsigned char N:1;
+			unsigned char P:1;
+			unsigned char FB:1;
+			unsigned char WF:1;
+			unsigned char VF:1;
+			unsigned char UF:1;
+		} BIT;
+	} TGCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSYE:1;
+			unsigned char :2;
+			unsigned char TOCL:1;
+			unsigned char TOCS:1;
+			unsigned char OLSN:1;
+			unsigned char OLSP:1;
+		} BIT;
+	} TOCR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BF:2;
+			unsigned char OLS3N:1;
+			unsigned char OLS3P:1;
+			unsigned char OLS2N:1;
+			unsigned char OLS2P:1;
+			unsigned char OLS1N:1;
+			unsigned char OLS1P:1;
+		} BIT;
+	} TOCR2;
+	char           wk1[4];
+	unsigned short TCDR;
+	unsigned short TDDR;
+	char           wk2[8];
+	unsigned short TCNTS;
+	unsigned short TCBR;
+	char           wk3[12];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char T3AEN:1;
+			unsigned char T3ACOR:3;
+			unsigned char T4VEN:1;
+			unsigned char T4VCOR:3;
+		} BIT;
+	} TITCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char T3ACNT:3;
+			unsigned char :1;
+			unsigned char T4VCNT:3;
+		} BIT;
+	} TITCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char BTE:2;
+		} BIT;
+	} TBTER;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TDER:1;
+		} BIT;
+	} TDER;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char OLS3N:1;
+			unsigned char OLS3P:1;
+			unsigned char OLS2N:1;
+			unsigned char OLS2P:1;
+			unsigned char OLS1N:1;
+			unsigned char OLS1P:1;
+		} BIT;
+	} TOLBR;
+	char           wk6[41];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCE:1;
+			unsigned char :6;
+			unsigned char WRE:1;
+		} BIT;
+	} TWCR;
+	char           wk7[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CST4:1;
+			unsigned char CST3:1;
+			unsigned char :3;
+			unsigned char CST2:1;
+			unsigned char CST1:1;
+			unsigned char CST0:1;
+		} BIT;
+	} TSTR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SYNC4:1;
+			unsigned char SYNC3:1;
+			unsigned char :3;
+			unsigned char SYNC2:1;
+			unsigned char SYNC1:1;
+			unsigned char SYNC0:1;
+		} BIT;
+	} TSYR;
+	char           wk8[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RWE:1;
+		} BIT;
+	} TRWER;
+	char           wk9[11];
+	unsigned char  NFCR0;
+	unsigned char  NFCR1;
+	unsigned char  NFCR2;
+	unsigned char  NFCR3;
+	unsigned char  NFCR4;
+	unsigned char  NFCR5;
+};
+
+struct st_mtu0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCLR:3;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char BFE:1;
+			unsigned char BFB:1;
+			unsigned char BFA:1;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIORH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOD:4;
+			unsigned char IOC:4;
+		} BIT;
+	} TIORL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :2;
+			unsigned char TCIEV:1;
+			unsigned char TGIED:1;
+			unsigned char TGIEC:1;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+	unsigned short TGRC;
+	unsigned short TGRD;
+	char           wk0[16];
+	unsigned short TGRE;
+	unsigned short TGRF;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TGIEF:1;
+			unsigned char TGIEE:1;
+		} BIT;
+	} TIER2;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TTSE:1;
+			unsigned char TTSB:1;
+			unsigned char TTSA:1;
+		} BIT;
+	} TBTM;
+};
+
+struct st_mtu1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char CCLR:2;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIOR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			unsigned char TCIEV:1;
+			unsigned char :2;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+	char           wk1[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char I2BE:1;
+			unsigned char I2AE:1;
+			unsigned char I1BE:1;
+			unsigned char I1AE:1;
+		} BIT;
+	} TICCR;
+};
+
+struct st_mtu2 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char CCLR:2;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIOR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			unsigned char TCIEV:1;
+			unsigned char :2;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_mtu3 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCLR:3;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char BFB:1;
+			unsigned char BFA:1;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIORH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOD:4;
+			unsigned char IOC:4;
+		} BIT;
+	} TIORL;
+	char           wk2[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :2;
+			unsigned char TCIEV:1;
+			unsigned char TGIED:1;
+			unsigned char TGIEC:1;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	char           wk3[7];
+	unsigned short TCNT;
+	char           wk4[6];
+	unsigned short TGRA;
+	unsigned short TGRB;
+	char           wk5[8];
+	unsigned short TGRC;
+	unsigned short TGRD;
+	char           wk6[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	char           wk7[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TTSE:1;
+			unsigned char TTSB:1;
+			unsigned char TTSA:1;
+		} BIT;
+	} TBTM;
+};
+
+struct st_mtu4 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCLR:3;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char BFB:1;
+			unsigned char BFA:1;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	char           wk2[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIORH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOD:4;
+			unsigned char IOC:4;
+		} BIT;
+	} TIORL;
+	char           wk3[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char TTGE2:1;
+			unsigned char :1;
+			unsigned char TCIEV:1;
+			unsigned char TGIED:1;
+			unsigned char TGIEC:1;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	char           wk4[8];
+	unsigned short TCNT;
+	char           wk5[8];
+	unsigned short TGRA;
+	unsigned short TGRB;
+	char           wk6[8];
+	unsigned short TGRC;
+	unsigned short TGRD;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	char           wk8[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TTSE:1;
+			unsigned char TTSB:1;
+			unsigned char TTSA:1;
+		} BIT;
+	} TBTM;
+	char           wk9[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BF:2;
+			unsigned short :6;
+			unsigned short UT4AE:1;
+			unsigned short DT4AE:1;
+			unsigned short UT4BE:1;
+			unsigned short DT4BE:1;
+			unsigned short ITA3AE:1;
+			unsigned short ITA4VE:1;
+			unsigned short ITB3AE:1;
+			unsigned short ITB4VE:1;
+		} BIT;
+	} TADCR;
+	char           wk10[2];
+	unsigned short TADCORA;
+	unsigned short TADCORB;
+	unsigned short TADCOBRA;
+	unsigned short TADCOBRB;
+};
+
+struct st_mtu5 {
+	unsigned short TCNTU;
+	unsigned short TGRU;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRU;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORU;
+	char           wk1[9];
+	unsigned short TCNTV;
+	unsigned short TGRV;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRV;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORV;
+	char           wk3[9];
+	unsigned short TCNTW;
+	unsigned short TGRW;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRW;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORW;
+	char           wk5[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TGIE5U:1;
+			unsigned char TGIE5V:1;
+			unsigned char TGIE5W:1;
+		} BIT;
+	} TIER;
+	char           wk6[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CSTU5:1;
+			unsigned char CSTV5:1;
+			unsigned char CSTW5:1;
+		} BIT;
+	} TSTR;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CMPCLR5U:1;
+			unsigned char CMPCLR5V:1;
+			unsigned char CMPCLR5W:1;
+		} BIT;
+	} TCNTCMPCLR;
+};
+
+struct st_poe {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char POE3F:1;
+			unsigned char POE2F:1;
+			unsigned char POE1F:1;
+			unsigned char POE0F:1;
+			unsigned char :3;
+			unsigned char PIE1:1;
+			unsigned char POE3M:2;
+			unsigned char POE2M:2;
+			unsigned char POE1M:2;
+			unsigned char POE0M:2;
+		} BIT;
+	} ICSR1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char OSF1:1;
+			unsigned char :5;
+			unsigned char OCE1:1;
+			unsigned char OIE1:1;
+		} BIT;
+	} OCSR1;
+	char           wk0[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char POE8F:1;
+			unsigned char :2;
+			unsigned char POE8E:1;
+			unsigned char PIE2:1;
+			unsigned char :6;
+			unsigned char POE8M:2;
+		} BIT;
+	} ICSR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char CH0HIZ:1;
+			unsigned char CH34HIZ:1;
+		} BIT;
+	} SPOER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PE3ZE:1;
+			unsigned char PE2ZE:1;
+			unsigned char PE1ZE:1;
+			unsigned char PE0ZE:1;
+		} BIT;
+	} POECR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char P1CZEA:1;
+			unsigned char P2CZEA:1;
+			unsigned char P3CZEA:1;
+		} BIT;
+	} POECR2;
+	char           wk1[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char OSTSTE:1;
+		} BIT;
+	} ICSR3;
+};
+
+struct st_port {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CS7E:1;
+			unsigned char CS6E:1;
+			unsigned char CS5E:1;
+			unsigned char CS4E:1;
+			unsigned char CS3E:1;
+			unsigned char CS2E:1;
+			unsigned char CS1E:1;
+			unsigned char CS0E:1;
+		} BIT;
+	} PFCSE;
+	char           wk0[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char A15E:1;
+			unsigned char A14E:1;
+			unsigned char A13E:1;
+			unsigned char A12E:1;
+			unsigned char A11E:1;
+			unsigned char A10E:1;
+			unsigned char A9E:1;
+			unsigned char A8E:1;
+		} BIT;
+	} PFAOE0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char A23E:1;
+			unsigned char A22E:1;
+			unsigned char A21E:1;
+			unsigned char A20E:1;
+			unsigned char A19E:1;
+			unsigned char A18E:1;
+			unsigned char A17E:1;
+			unsigned char A16E:1;
+		} BIT;
+	} PFAOE1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char WR1BC1E:1;
+			unsigned char :1;
+			unsigned char DHE:1;
+			unsigned char :3;
+			unsigned char ADRLE:1;
+		} BIT;
+	} PFBCR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char ALEOE:1;
+			unsigned char WAITS:2;
+		} BIT;
+	} PFBCR1;
+};
+
+struct st_port0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_port1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} PMR;
+	char           wk3[32];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[61];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_port2 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[33];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[60];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_port3 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[34];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[59];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_port4 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_port5 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk4[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_porta {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[41];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[52];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_portb {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[42];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[51];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_portc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[43];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[50];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_portd {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk4[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_porte {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[45];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[48];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_porth {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk4[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_portj {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} PCR;
+	char           wk4[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_riic {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ICE:1;
+			unsigned char IICRST:1;
+			unsigned char CLO:1;
+			unsigned char SOWP:1;
+			unsigned char SCLO:1;
+			unsigned char SDAO:1;
+			unsigned char SCLI:1;
+			unsigned char SDAI:1;
+		} BIT;
+	} ICCR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BBSY:1;
+			unsigned char MST:1;
+			unsigned char TRS:1;
+			unsigned char :1;
+			unsigned char SP:1;
+			unsigned char RS:1;
+			unsigned char ST:1;
+		} BIT;
+	} ICCR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char MTWP:1;
+			unsigned char CKS:3;
+			unsigned char BCWP:1;
+			unsigned char BC:3;
+		} BIT;
+	} ICMR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DLCS:1;
+			unsigned char SDDL:3;
+			unsigned char :1;
+			unsigned char TMOH:1;
+			unsigned char TMOL:1;
+			unsigned char TMOS:1;
+		} BIT;
+	} ICMR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SMBS:1;
+			unsigned char WAIT:1;
+			unsigned char RDRFS:1;
+			unsigned char ACKWP:1;
+			unsigned char ACKBT:1;
+			unsigned char ACKBR:1;
+			unsigned char NF:2;
+		} BIT;
+	} ICMR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SCLE:1;
+			unsigned char NFE:1;
+			unsigned char NACKE:1;
+			unsigned char SALE:1;
+			unsigned char NALE:1;
+			unsigned char MALE:1;
+			unsigned char TMOE:1;
+		} BIT;
+	} ICFER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char HOAE:1;
+			unsigned char :1;
+			unsigned char DIDE:1;
+			unsigned char :1;
+			unsigned char GCAE:1;
+			unsigned char SAR2E:1;
+			unsigned char SAR1E:1;
+			unsigned char SAR0E:1;
+		} BIT;
+	} ICSER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char TEIE:1;
+			unsigned char RIE:1;
+			unsigned char NAKIE:1;
+			unsigned char SPIE:1;
+			unsigned char STIE:1;
+			unsigned char ALIE:1;
+			unsigned char TMOIE:1;
+		} BIT;
+	} ICIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char HOA:1;
+			unsigned char :1;
+			unsigned char DID:1;
+			unsigned char :1;
+			unsigned char GCA:1;
+			unsigned char AAS2:1;
+			unsigned char AAS1:1;
+			unsigned char AAS0:1;
+		} BIT;
+	} ICSR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TDRE:1;
+			unsigned char TEND:1;
+			unsigned char RDRF:1;
+			unsigned char NACKF:1;
+			unsigned char STOP:1;
+			unsigned char START:1;
+			unsigned char AL:1;
+			unsigned char TMOF:1;
+		} BIT;
+	} ICSR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SVA:7;
+			unsigned char SVA0:1;
+		} BIT;
+	} SARL0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SVA:2;
+			unsigned char FS:1;
+		} BIT;
+	} SARU0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SVA:7;
+			unsigned char SVA0:1;
+		} BIT;
+	} SARL1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SVA:2;
+			unsigned char FS:1;
+		} BIT;
+	} SARU1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SVA:7;
+			unsigned char SVA0:1;
+		} BIT;
+	} SARL2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SVA:2;
+			unsigned char FS:1;
+		} BIT;
+	} SARU2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char BRL:5;
+		} BIT;
+	} ICBRL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char BRH:5;
+		} BIT;
+	} ICBRH;
+	unsigned char  ICDRT;
+	unsigned char  ICDRR;
+};
+
+struct st_rspi {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SPRIE:1;
+			unsigned char SPE:1;
+			unsigned char SPTIE:1;
+			unsigned char SPEIE:1;
+			unsigned char MSTR:1;
+			unsigned char MODFEN:1;
+			unsigned char TXMD:1;
+			unsigned char SPMS:1;
+		} BIT;
+	} SPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char SSL3P:1;
+			unsigned char SSL2P:1;
+			unsigned char SSL1P:1;
+			unsigned char SSL0P:1;
+		} BIT;
+	} SSLP;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char MOIFE:1;
+			unsigned char MOIFV:1;
+			unsigned char :1;
+			unsigned char SPOM:1;
+			unsigned char SPLP2:1;
+			unsigned char SPLP:1;
+		} BIT;
+	} SPPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PERF:1;
+			unsigned char MODF:1;
+			unsigned char IDLNF:1;
+			unsigned char OVRF:1;
+		} BIT;
+	} SPSR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned short H;
+			unsigned short L;
+		} WORD;
+	} SPDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SPSLN:3;
+		} BIT;
+	} SPSCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SPECM:3;
+			unsigned char :1;
+			unsigned char SPCP:3;
+		} BIT;
+	} SPSSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SPR7:1;
+			unsigned char SPR6:1;
+			unsigned char SPR5:1;
+			unsigned char SPR4:1;
+			unsigned char SPR3:1;
+			unsigned char SPR2:1;
+			unsigned char SPR1:1;
+			unsigned char SPR0:1;
+		} BIT;
+	} SPBR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char SPLW:1;
+			unsigned char SPRDTD:1;
+			unsigned char SLSEL:2;
+			unsigned char SPFC:2;
+		} BIT;
+	} SPDCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SCKDL:3;
+		} BIT;
+	} SPCKD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SLNDL:3;
+		} BIT;
+	} SSLND;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SPNDL:3;
+		} BIT;
+	} SPND;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PTE:1;
+			unsigned char SPIIE:1;
+			unsigned char SPOE:1;
+			unsigned char SPPE:1;
+		} BIT;
+	} SPCR2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD3;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD4;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD5;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD6;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD7;
+};
+
+struct st_rtc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char F1HZ:1;
+			unsigned char F2HZ:1;
+			unsigned char F4HZ:1;
+			unsigned char F8HZ:1;
+			unsigned char F16HZ:1;
+			unsigned char F32HZ:1;
+			unsigned char F64HZ:1;
+		} BIT;
+	} R64CNT;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCNT;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCNT;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCNT;
+	char           wk3[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char DAYW:3;
+		} BIT;
+	} RWKCNT;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char DATE10:2;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCNT;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCNT;
+	char           wk6[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short YR10:4;
+			unsigned short YR1:4;
+		} BIT;
+	} RYRCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECAR;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINAR;
+	char           wk8[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRAR;
+	char           wk9[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char :4;
+			unsigned char DAYW:3;
+		} BIT;
+	} RWKAR;
+	char           wk10[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char :1;
+			unsigned char DATE10:2;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYAR;
+	char           wk11[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char :2;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONAR;
+	char           wk12[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short YR10:4;
+			unsigned short YR1:4;
+		} BIT;
+	} RYRAR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+		} BIT;
+	} RYRAREN;
+	char           wk13[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PES:4;
+			unsigned char :1;
+			unsigned char PIE:1;
+			unsigned char CIE:1;
+			unsigned char AIE:1;
+		} BIT;
+	} RCR1;
+	char           wk14[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char HR24:1;
+			unsigned char AADJP:1;
+			unsigned char AADJE:1;
+			unsigned char RTCOE:1;
+			unsigned char ADJ30:1;
+			unsigned char RESET:1;
+			unsigned char START:1;
+		} BIT;
+	} RCR2;
+	char           wk15[9];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PMADJ:2;
+			unsigned char ADJ:6;
+		} BIT;
+	} RADJ;
+	char           wk16[17];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCEN:1;
+			unsigned char :1;
+			unsigned char TCNF:2;
+			unsigned char :1;
+			unsigned char TCST:1;
+			unsigned char TCCT:2;
+		} BIT;
+	} RTCCR0;
+	char           wk17[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCEN:1;
+			unsigned char :1;
+			unsigned char TCNF:2;
+			unsigned char :1;
+			unsigned char TCST:1;
+			unsigned char TCCT:2;
+		} BIT;
+	} RTCCR1;
+	char           wk18[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCEN:1;
+			unsigned char :1;
+			unsigned char TCNF:2;
+			unsigned char :1;
+			unsigned char TCST:1;
+			unsigned char TCCT:2;
+		} BIT;
+	} RTCCR2;
+	char           wk19[13];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP0;
+	char           wk20[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP0;
+	char           wk21[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP0;
+	char           wk22[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP0;
+	char           wk23[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP0;
+	char           wk24[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP1;
+	char           wk25[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP1;
+	char           wk26[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP1;
+	char           wk27[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP1;
+	char           wk28[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP1;
+	char           wk29[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP2;
+	char           wk30[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP2;
+	char           wk31[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP2;
+	char           wk32[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP2;
+	char           wk33[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP2;
+};
+
+struct st_s12ad {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADST:1;
+			unsigned short ADCS:2;
+			unsigned short ADIE:1;
+			unsigned short :2;
+			unsigned short TRGE:1;
+			unsigned short EXTRG:1;
+			unsigned short DBLE:1;
+			unsigned short GBADIE:1;
+			unsigned short :1;
+			unsigned short DBLANS:5;
+		} BIT;
+	} ADCSR;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ANSA15:1;
+			unsigned short ANSA14:1;
+			unsigned short ANSA13:1;
+			unsigned short ANSA12:1;
+			unsigned short ANSA11:1;
+			unsigned short ANSA10:1;
+			unsigned short ANSA9:1;
+			unsigned short ANSA8:1;
+			unsigned short ANSA7:1;
+			unsigned short ANSA6:1;
+			unsigned short ANSA5:1;
+			unsigned short ANSA4:1;
+			unsigned short ANSA3:1;
+			unsigned short ANSA2:1;
+			unsigned short ANSA1:1;
+			unsigned short ANSA0:1;
+		} BIT;
+	} ADANSA;
+	char           wk1[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADS15:1;
+			unsigned short ADS14:1;
+			unsigned short ADS13:1;
+			unsigned short ADS12:1;
+			unsigned short ADS11:1;
+			unsigned short ADS10:1;
+			unsigned short ADS9:1;
+			unsigned short ADS8:1;
+			unsigned short ADS7:1;
+			unsigned short ADS6:1;
+			unsigned short ADS5:1;
+			unsigned short ADS4:1;
+			unsigned short ADS3:1;
+			unsigned short ADS2:1;
+			unsigned short ADS1:1;
+			unsigned short ADS0:1;
+		} BIT;
+	} ADADS;
+	char           wk2[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char ADC:2;
+		} BIT;
+	} ADADC;
+	char           wk3[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADRFMT:1;
+			unsigned short :3;
+			unsigned short DIAGM:1;
+			unsigned short DIAGLD:1;
+			unsigned short DIAGVAL:2;
+			unsigned short :2;
+			unsigned short ACE:1;
+		} BIT;
+	} ADCER;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short TRSA:4;
+			unsigned short :4;
+			unsigned short TRSB:4;
+		} BIT;
+	} ADSTRGR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short OCS:1;
+			unsigned short TSS:1;
+			unsigned short :6;
+			unsigned short OCSAD:1;
+		} BIT;
+	} ADEXICR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ANSB15:1;
+			unsigned short ANSB14:1;
+			unsigned short ANSB13:1;
+			unsigned short ANSB12:1;
+			unsigned short ANSB11:1;
+			unsigned short ANSB10:1;
+			unsigned short ANSB9:1;
+			unsigned short ANSB8:1;
+			unsigned short ANSB7:1;
+			unsigned short ANSB6:1;
+			unsigned short ANSB5:1;
+			unsigned short ANSB4:1;
+			unsigned short ANSB3:1;
+			unsigned short ANSB2:1;
+			unsigned short ANSB1:1;
+			unsigned short ANSB0:1;
+		} BIT;
+	} ADANSB;
+	char           wk4[2];
+	unsigned short ADDBLDR;
+	unsigned short ADTSDR;
+	unsigned short ADOCDR;
+	union {
+		unsigned short WORD;
+		union {
+			struct {
+				unsigned short DIAGST:2;
+				unsigned short :2;
+				unsigned short DATA:10;
+			} LEFT;
+			struct {
+				unsigned short DATA:10;
+				unsigned short :4;
+				unsigned short DIAGST:2;
+			} RIGHT;
+		} BIT;
+	} ADRD;
+	unsigned short ADDR0;
+	unsigned short ADDR1;
+	unsigned short ADDR2;
+	unsigned short ADDR3;
+	unsigned short ADDR4;
+	unsigned short ADDR5;
+	unsigned short ADDR6;
+	unsigned short ADDR7;
+	unsigned short ADDR8;
+	unsigned short ADDR9;
+	unsigned short ADDR10;
+	unsigned short ADDR11;
+	unsigned short ADDR12;
+	unsigned short ADDR13;
+	unsigned short ADDR14;
+	unsigned short ADDR15;
+	char           wk5[32];
+	unsigned char  ADSSTR0;
+	unsigned char  ADSSTRL;
+	char           wk6[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short SHANS:3;
+			unsigned short SSTSH:8;
+		} BIT;
+	} ADSHCR;
+	char           wk7[8];
+	unsigned char  ADSSTRT;
+	unsigned char  ADSSTRO;
+	char           wk8[1];
+	unsigned char  ADSSTR1;
+	unsigned char  ADSSTR2;
+	unsigned char  ADSSTR3;
+	unsigned char  ADSSTR4;
+	unsigned char  ADSSTR5;
+	unsigned char  ADSSTR6;
+	unsigned char  ADSSTR7;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char ADNDIS:5;
+		} BIT;
+	} ADDISCR;
+};
+
+struct st_sci0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CM:1;
+			unsigned char CHR:1;
+			unsigned char PE:1;
+			unsigned char PM:1;
+			unsigned char STOP:1;
+			unsigned char MP:1;
+			unsigned char CKS:2;
+		} BIT;
+	} SMR;
+	unsigned char  BRR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char RIE:1;
+			unsigned char TE:1;
+			unsigned char RE:1;
+			unsigned char MPIE:1;
+			unsigned char TEIE:1;
+			unsigned char CKE:2;
+		} BIT;
+	} SCR;
+	unsigned char  TDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char ORER:1;
+			unsigned char FER:1;
+			unsigned char PER:1;
+			unsigned char TEND:1;
+			unsigned char MPB:1;
+			unsigned char MPBT:1;
+		} BIT;
+	} SSR;
+	unsigned char  RDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFEN:1;
+			unsigned char ABCS:1;
+			unsigned char :3;
+			unsigned char ACS0:1;
+		} BIT;
+	} SEMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char NFCS:3;
+		} BIT;
+	} SNFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICDL:5;
+			unsigned char :2;
+			unsigned char IICM:1;
+		} BIT;
+	} SIMR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char IICACKT:1;
+			unsigned char :3;
+			unsigned char IICCSC:1;
+			unsigned char IICINTM:1;
+		} BIT;
+	} SIMR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICSCLS:2;
+			unsigned char IICSDAS:2;
+			unsigned char :1;
+			unsigned char IICSTPREQ:1;
+			unsigned char IICRSTAREQ:1;
+			unsigned char IICSTAREQ:1;
+		} BIT;
+	} SIMR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char IICBBS:1;
+			unsigned char :1;
+			unsigned char IICACKR:1;
+		} BIT;
+	} SISR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CKPH:1;
+			unsigned char CKPOL:1;
+			unsigned char :1;
+			unsigned char MFF:1;
+			unsigned char :1;
+			unsigned char MSS:1;
+			unsigned char CTSE:1;
+			unsigned char SSE:1;
+		} BIT;
+	} SECR;
+};
+
+struct st_sci1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CM:1;
+			unsigned char CHR:1;
+			unsigned char PE:1;
+			unsigned char PM:1;
+			unsigned char STOP:1;
+			unsigned char MP:1;
+			unsigned char CKS:2;
+		} BIT;
+	} SMR;
+	unsigned char  BRR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char RIE:1;
+			unsigned char TE:1;
+			unsigned char RE:1;
+			unsigned char MPIE:1;
+			unsigned char TEIE:1;
+			unsigned char CKE:2;
+		} BIT;
+	} SCR;
+	unsigned char  TDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char ORER:1;
+			unsigned char FER:1;
+			unsigned char PER:1;
+			unsigned char TEND:1;
+			unsigned char MPB:1;
+			unsigned char MPBT:1;
+		} BIT;
+	} SSR;
+	unsigned char  RDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFEN:1;
+			unsigned char ABCS:1;
+			unsigned char :3;
+			unsigned char ACS0:1;
+		} BIT;
+	} SEMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char NFCS:3;
+		} BIT;
+	} SNFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICDL:5;
+			unsigned char :2;
+			unsigned char IICM:1;
+		} BIT;
+	} SIMR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char IICACKT:1;
+			unsigned char :3;
+			unsigned char IICCSC:1;
+			unsigned char IICINTM:1;
+		} BIT;
+	} SIMR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICSCLS:2;
+			unsigned char IICSDAS:2;
+			unsigned char :1;
+			unsigned char IICSTPREQ:1;
+			unsigned char IICRSTAREQ:1;
+			unsigned char IICSTAREQ:1;
+		} BIT;
+	} SIMR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char IICACKR:1;
+		} BIT;
+	} SISR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CKPH:1;
+			unsigned char CKPOL:1;
+			unsigned char :1;
+			unsigned char MFF:1;
+			unsigned char :1;
+			unsigned char MSS:1;
+			unsigned char CTSE:1;
+			unsigned char SSE:1;
+		} BIT;
+	} SECR;
+};
+
+struct st_sci12 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CM:1;
+			unsigned char CHR:1;
+			unsigned char PE:1;
+			unsigned char PM:1;
+			unsigned char STOP:1;
+			unsigned char MP:1;
+			unsigned char CKS:2;
+		} BIT;
+	} SMR;
+	unsigned char  BRR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char RIE:1;
+			unsigned char TE:1;
+			unsigned char RE:1;
+			unsigned char MPIE:1;
+			unsigned char TEIE:1;
+			unsigned char CKE:2;
+		} BIT;
+	} SCR;
+	unsigned char  TDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char ORER:1;
+			unsigned char FER:1;
+			unsigned char PER:1;
+			unsigned char TEND:1;
+			unsigned char MPB:1;
+			unsigned char MPBT:1;
+		} BIT;
+	} SSR;
+	unsigned char  RDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFEN:1;
+			unsigned char ABCS:1;
+			unsigned char :3;
+			unsigned char ACS0:1;
+		} BIT;
+	} SEMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char NFCS:3;
+		} BIT;
+	} SNFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICDL:5;
+			unsigned char :2;
+			unsigned char IICM:1;
+		} BIT;
+	} SIMR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char IICACKT:1;
+			unsigned char :3;
+			unsigned char IICCSC:1;
+			unsigned char IICINTM:1;
+		} BIT;
+	} SIMR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICSCLS:2;
+			unsigned char IICSDAS:2;
+			unsigned char :1;
+			unsigned char IICSTPREQ:1;
+			unsigned char IICRSTAREQ:1;
+			unsigned char IICSTAREQ:1;
+		} BIT;
+	} SIMR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char IICACKR:1;
+		} BIT;
+	} SISR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CKPH:1;
+			unsigned char CKPOL:1;
+			unsigned char :1;
+			unsigned char MFF:1;
+			unsigned char :1;
+			unsigned char MSS:1;
+			unsigned char CTSE:1;
+			unsigned char SSE:1;
+		} BIT;
+	} SECR;
+	char           wk0[18];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SCIXE:1;
+		} BIT;
+	} MER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char BRME:1;
+			unsigned char RXDSF:1;
+			unsigned char SFSF:1;
+		} BIT;
+	} CR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PIBS:3;
+			unsigned char PIBE:1;
+			unsigned char CF1DS:2;
+			unsigned char CF0RE:1;
+			unsigned char BFE:1;
+		} BIT;
+	} CR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RTS:2;
+			unsigned char BCCS:2;
+			unsigned char :1;
+			unsigned char DFCS:3;
+		} BIT;
+	} CR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SDST:1;
+		} BIT;
+	} CR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char SHARPS:1;
+			unsigned char TXPLOD:1;
+			unsigned char TXPHOD:1;
+			unsigned char RXDXPS:1;
+			unsigned char TXDXPS:1;
+		} BIT;
+	} PCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char AEDIE:1;
+			unsigned char BCDIE:1;
+			unsigned char PIBDIE:1;
+			unsigned char CF1MIE:1;
+			unsigned char CF0MIE:1;
+			unsigned char BFDIE:1;
+		} BIT;
+	} ICR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char AEDF:1;
+			unsigned char BCDF:1;
+			unsigned char PIBDF:1;
+			unsigned char CF1MF:1;
+			unsigned char CF0MF:1;
+			unsigned char BFDF:1;
+		} BIT;
+	} STR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char AEDCL:1;
+			unsigned char BCDCL:1;
+			unsigned char PIBDCL:1;
+			unsigned char CF1MCL:1;
+			unsigned char CF0MCL:1;
+			unsigned char BFDCL:1;
+		} BIT;
+	} STCR;
+	unsigned char  CF0DR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CF0CE7:1;
+			unsigned char CF0CE6:1;
+			unsigned char CF0CE5:1;
+			unsigned char CF0CE4:1;
+			unsigned char CF0CE3:1;
+			unsigned char CF0CE2:1;
+			unsigned char CF0CE1:1;
+			unsigned char CF0CE0:1;
+		} BIT;
+	} CF0CR;
+	unsigned char  CF0RR;
+	unsigned char  PCF1DR;
+	unsigned char  SCF1DR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CF1CE7:1;
+			unsigned char CF1CE6:1;
+			unsigned char CF1CE5:1;
+			unsigned char CF1CE4:1;
+			unsigned char CF1CE3:1;
+			unsigned char CF1CE2:1;
+			unsigned char CF1CE1:1;
+			unsigned char CF1CE0:1;
+		} BIT;
+	} CF1CR;
+	unsigned char  CF1RR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TCST:1;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char TCSS:3;
+			unsigned char TWRC:1;
+			unsigned char :1;
+			unsigned char TOMS:2;
+		} BIT;
+	} TMR;
+	unsigned char  TPRE;
+	unsigned char  TCNT;
+};
+
+struct st_smci {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char GM:1;
+			unsigned char BCLK:1;
+			unsigned char PE:1;
+			unsigned char PM:1;
+			unsigned char BCP:2;
+			unsigned char CKS:2;
+		} BIT;
+	} SMR;
+	unsigned char  BRR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char RIE:1;
+			unsigned char TE:1;
+			unsigned char RE:1;
+			unsigned char :1;
+			unsigned char TEIE:1;
+			unsigned char CKE:2;
+		} BIT;
+	} SCR;
+	unsigned char  TDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char ORER:1;
+			unsigned char ERS:1;
+			unsigned char PER:1;
+			unsigned char TEND:1;
+		} BIT;
+	} SSR;
+	unsigned char  RDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BCP2:1;
+			unsigned char :3;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+};
+
+struct st_system {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short MD:1;
+		} BIT;
+	} MDMONR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :10;
+			unsigned short UBTS:1;
+			unsigned short BOTS:1;
+			unsigned short :2;
+			unsigned short EXB:1;
+			unsigned short IROM:1;
+		} BIT;
+	} MDSR;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :6;
+			unsigned short EXBE:1;
+			unsigned short ROME:1;
+		} BIT;
+	} SYSCR0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short RAME:1;
+		} BIT;
+	} SYSCR1;
+	char           wk1[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SSBY:1;
+			unsigned short OPE:1;
+		} BIT;
+	} SBYCR;
+	char           wk2[2];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long ACSE:1;
+			unsigned long :2;
+			unsigned long MSTPA28:1;
+			unsigned long :8;
+			unsigned long MSTPA19:1;
+			unsigned long :1;
+			unsigned long MSTPA17:1;
+			unsigned long :1;
+			unsigned long MSTPA15:1;
+			unsigned long MSTPA14:1;
+			unsigned long :4;
+			unsigned long MSTPA9:1;
+			unsigned long :3;
+			unsigned long MSTPA5:1;
+			unsigned long MSTPA4:1;
+		} BIT;
+	} MSTPCRA;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long MSTPB31:1;
+			unsigned long MSTPB30:1;
+			unsigned long :3;
+			unsigned long MSTPB26:1;
+			unsigned long MSTPB25:1;
+			unsigned long :1;
+			unsigned long MSTPB23:1;
+			unsigned long :1;
+			unsigned long MSTPB21:1;
+			unsigned long :3;
+			unsigned long MSTPB17:1;
+			unsigned long :6;
+			unsigned long MSTPB10:1;
+			unsigned long MSTPB9:1;
+			unsigned long MSTPB8:1;
+			unsigned long :1;
+			unsigned long MSTPB6:1;
+			unsigned long :1;
+			unsigned long MSTPB4:1;
+		} BIT;
+	} MSTPCRB;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :4;
+			unsigned long MSTPC27:1;
+			unsigned long MSTPC26:1;
+			unsigned long :25;
+			unsigned long MSTPC0:1;
+		} BIT;
+	} MSTPCRC;
+	char           wk3[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long FCK:4;
+			unsigned long ICK:4;
+			unsigned long PSTOP1:1;
+			unsigned long :3;
+			unsigned long BCK:4;
+			unsigned long PCKA:4;
+			unsigned long PCKB:4;
+			unsigned long PCKC:4;
+			unsigned long PCKD:4;
+		} BIT;
+	} SCKCR;
+	char           wk4[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short CKSEL:3;
+		} BIT;
+	} SCKCR3;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short STC:5;
+			unsigned short :6;
+			unsigned short PLIDIV:2;
+		} BIT;
+	} PLLCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char PLLEN:1;
+		} BIT;
+	} PLLCR2;
+	char           wk5[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char BCLKDIV:1;
+		} BIT;
+	} BCKCR;
+	char           wk6[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char MOSEL:1;
+			unsigned char MOSTP:1;
+		} BIT;
+	} MOSCCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char SOSEL:1;
+			unsigned char SOSTP:1;
+		} BIT;
+	} SOSCCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char LCSTP:1;
+		} BIT;
+	} LOCOCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char ILCSTP:1;
+		} BIT;
+	} ILOCOCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char HCSTP:1;
+		} BIT;
+	} HOCOCR;
+	char           wk7[9];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char OSTDE:1;
+			unsigned char :6;
+			unsigned char OSTDIE:1;
+		} BIT;
+	} OSTDCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char OSTDF:1;
+		} BIT;
+	} OSTDSR;
+	char           wk8[94];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char LPWSTS:1;
+			unsigned char :1;
+			unsigned char LPWM:3;
+		} BIT;
+	} NMPCCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RSTCKEN:1;
+			unsigned char :4;
+			unsigned char RSTCKSEL:3;
+		} BIT;
+	} RSTCKCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MSTS:5;
+		} BIT;
+	} MOSCWTCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char SSTS:5;
+		} BIT;
+	} SOSCWTCR;
+	char           wk9[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSTS:5;
+		} BIT;
+	} PLLWTCR;
+	char           wk10[25];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SWRF:1;
+			unsigned char WDRF:1;
+			unsigned char IWDRF:1;
+		} BIT;
+	} RSTSR2;
+	char           wk11[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short SWRR:8;
+		} BIT;
+	} SWRR;
+	char           wk12[28];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char LVD1IRQSEL:1;
+			unsigned char LVD1IDTSEL:2;
+		} BIT;
+	} LVD1CR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char LVD1MON:1;
+			unsigned char LVD1DET:1;
+		} BIT;
+	} LVD1SR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char LVD2IRQSEL:1;
+			unsigned char LVD2IDTSEL:2;
+		} BIT;
+	} LVD2CR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char LVD2MON:1;
+			unsigned char LVD2DET:1;
+		} BIT;
+	} LVD2SR;
+	char           wk13[794];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRKEY:8;
+			unsigned short PRC7:1;
+			unsigned short PRC6:1;
+			unsigned short PRC5:1;
+			unsigned short PRC4:1;
+			unsigned short PRC3:1;
+			unsigned short PRC2:1;
+			unsigned short PRC1:1;
+			unsigned short PRC0:1;
+		} BIT;
+	} PRCR;
+	char           wk14[48768];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSBY:1;
+			unsigned char IOKEEP:1;
+			unsigned char :4;
+			unsigned char DEEPCUT1:1;
+		} BIT;
+	} DPSBYCR;
+	char           wk15[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ7E:1;
+			unsigned char DIRQ6E:1;
+			unsigned char DIRQ5E:1;
+			unsigned char DIRQ4E:1;
+			unsigned char DIRQ3E:1;
+			unsigned char DIRQ2E:1;
+			unsigned char DIRQ1E:1;
+			unsigned char DIRQ0E:1;
+		} BIT;
+	} DPSIER0;
+	char           wk16[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DI2CCIE:1;
+			unsigned char DI2CDIE:1;
+			unsigned char DNMIE:1;
+			unsigned char DRTCAIE:1;
+			unsigned char DRTCIIE:1;
+			unsigned char DLVD2IE:1;
+			unsigned char DLVD1IE:1;
+		} BIT;
+	} DPSIER2;
+	char           wk17[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ7F:1;
+			unsigned char DIRQ6F:1;
+			unsigned char DIRQ5F:1;
+			unsigned char DIRQ4F:1;
+			unsigned char DIRQ3F:1;
+			unsigned char DIRQ2F:1;
+			unsigned char DIRQ1F:1;
+			unsigned char DIRQ0F:1;
+		} BIT;
+	} DPSIFR0;
+	char           wk18[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DRIICCIF:1;
+			unsigned char DRIICDIF:1;
+			unsigned char DNMIF:1;
+			unsigned char DRTCAIF:1;
+			unsigned char DRTCIIF:1;
+			unsigned char DLVD2IF:1;
+			unsigned char DLVD1IF:1;
+		} BIT;
+	} DPSIFR2;
+	char           wk19[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ7EG:1;
+			unsigned char DIRQ6EG:1;
+			unsigned char DIRQ5EG:1;
+			unsigned char DIRQ4EG:1;
+			unsigned char DIRQ3EG:1;
+			unsigned char DIRQ2EG:1;
+			unsigned char DIRQ1EG:1;
+			unsigned char DIRQ0EG:1;
+		} BIT;
+	} DPSIEGR0;
+	char           wk20[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DRIICCEG:1;
+			unsigned char DRIICDEG:1;
+			unsigned char DNMIEG:1;
+			unsigned char :2;
+			unsigned char DLVD2EG:1;
+			unsigned char DLVD1EG:1;
+		} BIT;
+	} DPSIEGR2;
+	char           wk21[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char HCUT:1;
+			unsigned char FCUT:1;
+		} BIT;
+	} FHSSBYCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSRSTF:1;
+			unsigned char :3;
+			unsigned char LVD2RF:1;
+			unsigned char LVD1RF:1;
+			unsigned char LVD0RF:1;
+			unsigned char PORF:1;
+		} BIT;
+	} RSTSR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char CWSF:1;
+		} BIT;
+	} RSTSR1;
+	char           wk22[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char MOSCDRV:2;
+			unsigned char MOFXIN:1;
+		} BIT;
+	} MOFCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char HOCOPCNT:1;
+		} BIT;
+	} HOCOPCR;
+	char           wk23[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char LVD2E:1;
+			unsigned char LVD1E:1;
+			unsigned char :1;
+			unsigned char EXVCCINP2:1;
+		} BIT;
+	} LVCMPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char LVD2LVL:4;
+			unsigned char LVD1LVL:4;
+		} BIT;
+	} LVDLVLR;
+	char           wk24[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char LVD1RN:1;
+			unsigned char LVD1RI:1;
+			unsigned char LVD1FSAMP:2;
+			unsigned char :1;
+			unsigned char LVD1CMPE:1;
+			unsigned char LVD1DFDIS:1;
+			unsigned char LVD1RIE:1;
+		} BIT;
+	} LVD1CR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char LVD2RN:1;
+			unsigned char LVD2RI:1;
+			unsigned char LVD2FSAMP:2;
+			unsigned char :1;
+			unsigned char LVD2CMPE:1;
+			unsigned char LVD2DFDIS:1;
+			unsigned char LVD2RIE:1;
+		} BIT;
+	} LVD2CR0;
+	char           wk25[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char SELICONST:2;
+		} BIT;
+	} SELICONSTCR;
+	unsigned char  DPSBKR[32];
+};
+
+struct st_temps {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TSEN:1;
+			unsigned char PGAEN:1;
+			unsigned char :4;
+			unsigned char PGAGAIN:2;
+		} BIT;
+	} TSCR;
+};
+
+struct st_tmr0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CMIEB:1;
+			unsigned char CMIEA:1;
+			unsigned char OVIE:1;
+			unsigned char CCLR:2;
+		} BIT;
+	} TCR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char OSB:2;
+			unsigned char OSA:2;
+		} BIT;
+	} TCSR;
+	char           wk1[1];
+	unsigned char  TCORA;
+	char           wk2[1];
+	unsigned char  TCORB;
+	char           wk3[1];
+	unsigned char  TCNT;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TMRIS:1;
+			unsigned char :2;
+			unsigned char CSS:2;
+			unsigned char CKS:3;
+		} BIT;
+	} TCCR;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TCS:1;
+		} BIT;
+	} TCSTR;
+};
+
+struct st_tmr1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CMIEB:1;
+			unsigned char CMIEA:1;
+			unsigned char OVIE:1;
+			unsigned char CCLR:2;
+		} BIT;
+	} TCR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char OSB:2;
+			unsigned char OSA:2;
+		} BIT;
+	} TCSR;
+	char           wk1[1];
+	unsigned char  TCORA;
+	char           wk2[1];
+	unsigned char  TCORB;
+	char           wk3[1];
+	unsigned char  TCNT;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TMRIS:1;
+			unsigned char :2;
+			unsigned char CSS:2;
+			unsigned char CKS:3;
+		} BIT;
+	} TCCR;
+};
+
+struct st_tmr01 {
+	unsigned short TCORA;
+	unsigned short TCORB;
+	unsigned short TCNT;
+	unsigned short TCCR;
+};
+
+struct st_wdt {
+	unsigned char  WDTRR;
+	char           wk0[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short RPSS:2;
+			unsigned short :2;
+			unsigned short RPES:2;
+			unsigned short CKS:4;
+			unsigned short :2;
+			unsigned short TOPS:2;
+		} BIT;
+	} WDTCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short REFEF:1;
+			unsigned short UNDFF:1;
+			unsigned short CNTVAL:14;
+		} BIT;
+	} WDTSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RSTIRQS:1;
+		} BIT;
+	} WDTRCR;
+};
+
+enum enum_ir {
+IR_BSC_BUSERR=16,IR_FCUIF_FCUERR=21,IR_FCUIF_FRDYI=23,
+IR_ICU_SWINT=27,
+IR_CMT0_CMI0,
+IR_CMT1_CMI1,
+IR_CMT2_CMI2,
+IR_CMT3_CMI3,
+IR_CAC_FERRF,IR_CAC_MENDF,IR_CAC_OVFF,
+IR_RSPI0_SPEI2=44,IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0,
+IR_DOC_DOPCF=57,
+IR_CMPB0_COMPB0,
+IR_CMPB1_COMPB1,
+IR_RTC_COUNTUP=63,
+IR_ICU_IRQ0,IR_ICU_IRQ1,IR_ICU_IRQ2,IR_ICU_IRQ3,IR_ICU_IRQ4,IR_ICU_IRQ5,IR_ICU_IRQ6,IR_ICU_IRQ7,
+IR_LVDCMPA_LVD1COMPA1=88,IR_LVDCMPA_LVD1COMPA2,
+IR_RTC_ALM=92,IR_RTC_PRD,
+IR_S12AD_S12ADI=102,IR_S12AD_GBADI,
+IR_ELC_ELSR18I=106,IR_ELC_ELSR19I,
+IR_MTU0_TGIA0=114,IR_MTU0_TGIB0,IR_MTU0_TGIC0,IR_MTU0_TGID0,IR_MTU0_TGIV0,IR_MTU0_TGIE0,IR_MTU0_TGIF0,
+IR_MTU1_TGIA1,IR_MTU1_TGIB1,IR_MTU1_TGIV1,IR_MTU1_TGIU1,
+IR_MTU2_TGIA2,IR_MTU2_TGIB2,IR_MTU2_TGIV2,IR_MTU2_TGIU2,
+IR_MTU3_TGIA3,IR_MTU3_TGIB3,IR_MTU3_TGIC3,IR_MTU3_TGID3,IR_MTU3_TGIV3,
+IR_MTU4_TGIA4,IR_MTU4_TGIB4,IR_MTU4_TGIC4,IR_MTU4_TGID4,IR_MTU4_TGIV4,
+IR_MTU5_TGIU5,IR_MTU5_TGIV5,IR_MTU5_TGIW5,
+IR_POE_OEI1=170,IR_POE_OEI2,
+IR_TMR0_CMIA0=174,IR_TMR0_CMIB0,IR_TMR0_OVI0,
+IR_TMR1_CMIA1,IR_TMR1_CMIB1,IR_TMR1_OVI1,
+IR_TMR2_CMIA2,IR_TMR2_CMIB2,IR_TMR2_OVI2,
+IR_TMR3_CMIA3,IR_TMR3_CMIB3,IR_TMR3_OVI3,
+IR_DMAC_DMAC0I=198,IR_DMAC_DMAC1I,IR_DMAC_DMAC2I,IR_DMAC_DMAC3I,
+IR_SCI0_ERI0=214,IR_SCI0_RXI0,IR_SCI0_TXI0,IR_SCI0_TEI0,
+IR_SCI1_ERI1,IR_SCI1_RXI1,IR_SCI1_TXI1,IR_SCI1_TEI1,
+IR_SCI5_ERI5,IR_SCI5_RXI5,IR_SCI5_TXI5,IR_SCI5_TEI5,
+IR_SCI6_ERI6,IR_SCI6_RXI6,IR_SCI6_TXI6,IR_SCI6_TEI6,
+IR_SCI8_ERI8,IR_SCI8_RXI8,IR_SCI8_TXI8,IR_SCI8_TEI8,
+IR_SCI9_ERI9,IR_SCI9_RXI9,IR_SCI9_TXI9,IR_SCI9_TEI9,
+IR_SCI12_ERI12,IR_SCI12_RXI12,IR_SCI12_TXI12,IR_SCI12_TEI12,IR_SCI12_SCIX0,IR_SCI12_SCIX1,IR_SCI12_SCIX2,IR_SCI12_SCIX3,
+IR_RIIC0_EEI0,IR_RIIC0_RXI0,IR_RIIC0_TXI0,IR_RIIC0_TEI0
+};
+
+enum enum_dtce {
+DTCE_ICU_SWINT=27,
+DTCE_CMT0_CMI0,
+DTCE_CMT1_CMI1,
+DTCE_CMT2_CMI2,
+DTCE_CMT3_CMI3,
+DTCE_RSPI0_SPRI0=45,DTCE_RSPI0_SPTI0,
+DTCE_CMPB0_COMPB0=58,
+DTCE_CMPB1_COMPB1,
+DTCE_ICU_IRQ0=64,DTCE_ICU_IRQ1,DTCE_ICU_IRQ2,DTCE_ICU_IRQ3,DTCE_ICU_IRQ4,DTCE_ICU_IRQ5,DTCE_ICU_IRQ6,DTCE_ICU_IRQ7,
+DTCE_LVDCMPA_LVD1COMPA1=88,DTCE_LVDCMPA_LVD1COMPA2,
+DTCE_S12AD_S12ADI=102,DTCE_S12AD_GBADI,
+DTCE_ELC_ELSR18I=106,DTCE_ELC_ELSR19I,
+DTCE_MTU0_TGIA0=114,DTCE_MTU0_TGIB0,DTCE_MTU0_TGIC0,DTCE_MTU0_TGID0,
+DTCE_MTU1_TGIA1=121,DTCE_MTU1_TGIB1,
+DTCE_MTU2_TGIA2=125,DTCE_MTU2_TGIB2,
+DTCE_MTU3_TGIA3=129,DTCE_MTU3_TGIB3,DTCE_MTU3_TGIC3,DTCE_MTU3_TGID3,
+DTCE_MTU4_TGIA4=134,DTCE_MTU4_TGIB4,DTCE_MTU4_TGIC4,DTCE_MTU4_TGID4,DTCE_MTU4_TGIV4,
+DTCE_MTU5_TGIU5,DTCE_MTU5_TGIV5,DTCE_MTU5_TGIW5,
+DTCE_TMR0_CMIA0=174,DTCE_TMR0_CMIB0,
+DTCE_TMR1_CMIA1=177,DTCE_TMR1_CMIB1,
+DTCE_TMR2_CMIA2=180,DTCE_TMR2_CMIB2,
+DTCE_TMR3_CMIA3=183,DTCE_TMR3_CMIB3,
+DTCE_DMAC_DMAC0I=198,DTCE_DMAC_DMAC1I,DTCE_DMAC_DMAC2I,DTCE_DMAC_DMAC3I,
+DTCE_SCI0_RXI0=215,DTCE_SCI0_TXI0,
+DTCE_SCI1_RXI1=219,DTCE_SCI1_TXI1,
+DTCE_SCI5_RXI5=223,DTCE_SCI5_TXI5,
+DTCE_SCI6_RXI6=227,DTCE_SCI6_TXI6,
+DTCE_SCI8_RXI8=231,DTCE_SCI8_TXI8,
+DTCE_SCI9_RXI9=235,DTCE_SCI9_TXI9,
+DTCE_SCI12_RXI12=239,DTCE_SCI12_TXI12,
+DTCE_RIIC0_RXI0=247,DTCE_RIIC0_TXI0
+};
+
+enum enum_ier {
+IER_BSC_BUSERR=0x02,
+IER_FCUIF_FCUERR=0x02,IER_FCUIF_FRDYI=0x02,
+IER_ICU_SWINT=0x03,
+IER_CMT0_CMI0=0x03,
+IER_CMT1_CMI1=0x03,
+IER_CMT2_CMI2=0x03,
+IER_CMT3_CMI3=0x03,
+IER_CAC_FERRF=0x04,IER_CAC_MENDF=0x04,IER_CAC_OVFF=0x04,
+IER_RSPI0_SPEI2=0x05,IER_RSPI0_SPRI0=0x05,IER_RSPI0_SPTI0=0x05,IER_RSPI0_SPII0=0x05,
+IER_DOC_DOPCF=0x07,
+IER_CMPB0_COMPB0=0x07,
+IER_CMPB1_COMPB1=0x07,
+IER_RTC_COUNTUP=0x07,
+IER_ICU_IRQ0=0x08,IER_ICU_IRQ1=0x08,IER_ICU_IRQ2=0x08,IER_ICU_IRQ3=0x08,IER_ICU_IRQ4=0x08,IER_ICU_IRQ5=0x08,IER_ICU_IRQ6=0x08,IER_ICU_IRQ7=0x08,
+IER_LVDCMPA_LVD1COMPA1=0x0B,IER_LVDCMPA_LVD1COMPA2=0x0B,
+IER_RTC_ALM=0x0B,IER_RTC_PRD=0x0B,
+IER_S12AD_S12ADI=0x0C,IER_S12AD_GBADI=0x0C,
+IER_ELC_ELSR18I=0x0D,IER_ELC_ELSR19I=0x0D,
+IER_MTU0_TGIA0=0x0E,IER_MTU0_TGIB0=0x0E,IER_MTU0_TGIC0=0x0E,IER_MTU0_TGID0=0x0E,IER_MTU0_TGIV0=0x0E,IER_MTU0_TGIE0=0x0E,IER_MTU0_TGIF0=0x0F,
+IER_MTU1_TGIA1=0x0F,IER_MTU1_TGIB1=0x0F,IER_MTU1_TGIV1=0x0F,IER_MTU1_TGIU1=0x0F,
+IER_MTU2_TGIA2=0x0F,IER_MTU2_TGIB2=0x0F,IER_MTU2_TGIV2=0x0F,IER_MTU2_TGIU2=0x0F,
+IER_MTU3_TGIA3=0x10,IER_MTU3_TGIB3=0x10,IER_MTU3_TGIC3=0x10,IER_MTU3_TGID3=0x10,IER_MTU3_TGIV3=0x10,
+IER_MTU4_TGIA4=0x10,IER_MTU4_TGIB4=0x10,IER_MTU4_TGIC4=0x11,IER_MTU4_TGID4=0x11,IER_MTU4_TGIV4=0x11,
+IER_MTU5_TGIU5=0x11,IER_MTU5_TGIV5=0x11,IER_MTU5_TGIW5=0x11,
+IER_POE_OEI1=0x15,IER_POE_OEI2=0x15,
+IER_TMR0_CMIA0=0x15,IER_TMR0_CMIB0=0x15,IER_TMR0_OVI0=0x16,
+IER_TMR1_CMIA1=0x16,IER_TMR1_CMIB1=0x16,IER_TMR1_OVI1=0x16,
+IER_TMR2_CMIA2=0x16,IER_TMR2_CMIB2=0x16,IER_TMR2_OVI2=0x16,
+IER_TMR3_CMIA3=0x16,IER_TMR3_CMIB3=0x17,IER_TMR3_OVI3=0x17,
+IER_DMAC_DMAC0I=0x18,IER_DMAC_DMAC1I=0x18,IER_DMAC_DMAC2I=0x19,IER_DMAC_DMAC3I=0x19,
+IER_SCI0_ERI0=0x1A,IER_SCI0_RXI0=0x1A,IER_SCI0_TXI0=0x1B,IER_SCI0_TEI0=0x1B,
+IER_SCI1_ERI1=0x1B,IER_SCI1_RXI1=0x1B,IER_SCI1_TXI1=0x1B,IER_SCI1_TEI1=0x1B,
+IER_SCI5_ERI5=0x1B,IER_SCI5_RXI5=0x1B,IER_SCI5_TXI5=0x1C,IER_SCI5_TEI5=0x1C,
+IER_SCI6_ERI6=0x1C,IER_SCI6_RXI6=0x1C,IER_SCI6_TXI6=0x1C,IER_SCI6_TEI6=0x1C,
+IER_SCI8_ERI8=0x1C,IER_SCI8_RXI8=0x1C,IER_SCI8_TXI8=0x1D,IER_SCI8_TEI8=0x1D,
+IER_SCI9_ERI9=0x1D,IER_SCI9_RXI9=0x1D,IER_SCI9_TXI9=0x1D,IER_SCI9_TEI9=0x1D,
+IER_SCI12_ERI12=0x1D,IER_SCI12_RXI12=0x1D,IER_SCI12_TXI12=0x1E,IER_SCI12_TEI12=0x1E,IER_SCI12_SCIX0=0x1E,IER_SCI12_SCIX1=0x1E,IER_SCI12_SCIX2=0x1E,IER_SCI12_SCIX3=0x1E,
+IER_RIIC0_EEI0=0x1E,IER_RIIC0_RXI0=0x1E,IER_RIIC0_TXI0=0x1F,IER_RIIC0_TEI0=0x1F
+};
+
+enum enum_ipr {
+IPR_BSC_BUSERR=0x00,
+IPR_FCUIF_FCUERR=0x01,IPR_FCUIF_FRDYI=0x02,
+IPR_ICU_SWINT=0x03,
+IPR_CMT0_CMI0=0x04,
+IPR_CMT1_CMI1=0x05,
+IPR_CMT2_CMI2=0x06,
+IPR_CMT3_CMI3=0x07,
+IPR_CAC_FERRF=0x32,IPR_CAC_MENDF=0x33,IPR_CAC_OVFF=0x34,
+IPR_RSPI0_SPEI2=0x44,IPR_RSPI0_SPRI0=0x44,IPR_RSPI0_SPTI0=0x44,IPR_RSPI0_SPII0=0x44,
+IPR_DOC_DOPCF=0x57,
+IPR_CMPB0_COMPB0=0x58,
+IPR_CMPB1_COMPB1=0x59,
+IPR_RTC_COUNTUP=0x63,
+IPR_ICU_IRQ0=0x64,IPR_ICU_IRQ1=0x65,IPR_ICU_IRQ2=0x66,IPR_ICU_IRQ3=0x67,IPR_ICU_IRQ4=0x68,IPR_ICU_IRQ5=0x69,IPR_ICU_IRQ6=0x70,IPR_ICU_IRQ7=0x71,
+IPR_LVDCMPA_LVD1COMPA1=0x88,IPR_LVDCMPA_LVD1COMPA2=0x89,
+IPR_RTC_ALM=0x92,IPR_RTC_PRD=0x93,
+IPR_S12AD_S12ADI=0x102,IPR_S12AD_GBADI=0x103,
+IPR_ELC_ELSR18I=0x106,IPR_ELC_ELSR19I=0x107,
+IPR_MTU0_TGIA0=0x114,IPR_MTU0_TGIB0=0x114,IPR_MTU0_TGIC0=0x114,IPR_MTU0_TGID0=0x114,IPR_MTU0_TGIV0=0x118,IPR_MTU0_TGIE0=0x118,IPR_MTU0_TGIF0=0x118,
+IPR_MTU1_TGIA1=0x121,IPR_MTU1_TGIB1=0x121,IPR_MTU1_TGIV1=0x123,IPR_MTU1_TGIU1=0x123,
+IPR_MTU2_TGIA2=0x125,IPR_MTU2_TGIB2=0x125,IPR_MTU2_TGIV2=0x127,IPR_MTU2_TGIU2=0x127,
+IPR_MTU3_TGIA3=0x129,IPR_MTU3_TGIB3=0x129,IPR_MTU3_TGIC3=0x129,IPR_MTU3_TGID3=0x129,IPR_MTU3_TGIV3=0x133,
+IPR_MTU4_TGIA4=0x134,IPR_MTU4_TGIB4=0x134,IPR_MTU4_TGIC4=0x134,IPR_MTU4_TGID4=0x134,IPR_MTU4_TGIV4=0x138,
+IPR_MTU5_TGIU5=0x139,IPR_MTU5_TGIV5=0x139,IPR_MTU5_TGIW5=0x139,
+IPR_POE_OEI1=0x170,IPR_POE_OEI2=0x171,
+IPR_TMR0_CMIA0=0x174,IPR_TMR0_CMIB0=0x174,IPR_TMR0_OVI0=0x174,
+IPR_TMR1_CMIA1=0x177,IPR_TMR1_CMIB1=0x177,IPR_TMR1_OVI1=0x177,
+IPR_TMR2_CMIA2=0x180,IPR_TMR2_CMIB2=0x180,IPR_TMR2_OVI2=0x180,
+IPR_TMR3_CMIA3=0x183,IPR_TMR3_CMIB3=0x183,IPR_TMR3_OVI3=0x183,
+IPR_DMAC_DMAC0I=0x198,IPR_DMAC_DMAC1I=0x199,IPR_DMAC_DMAC2I=0x200,IPR_DMAC_DMAC3I=0x201,
+IPR_SCI0_ERI0=0x214,IPR_SCI0_RXI0=0x214,IPR_SCI0_TXI0=0x214,IPR_SCI0_TEI0=0x214,
+IPR_SCI1_ERI1=0x218,IPR_SCI1_RXI1=0x218,IPR_SCI1_TXI1=0x218,IPR_SCI1_TEI1=0x218,
+IPR_SCI5_ERI5=0x222,IPR_SCI5_RXI5=0x222,IPR_SCI5_TXI5=0x222,IPR_SCI5_TEI5=0x222,
+IPR_SCI6_ERI6=0x226,IPR_SCI6_RXI6=0x226,IPR_SCI6_TXI6=0x226,IPR_SCI6_TEI6=0x226,
+IPR_SCI8_ERI8=0x230,IPR_SCI8_RXI8=0x230,IPR_SCI8_TXI8=0x230,IPR_SCI8_TEI8=0x230,
+IPR_SCI9_ERI9=0x234,IPR_SCI9_RXI9=0x234,IPR_SCI9_TXI9=0x234,IPR_SCI9_TEI9=0x234,
+IPR_SCI12_ERI12=0x238,IPR_SCI12_RXI12=0x238,IPR_SCI12_TXI12=0x238,IPR_SCI12_TEI12=0x238,IPR_SCI12_SCIX0=0x242,IPR_SCI12_SCIX1=0x243,IPR_SCI12_SCIX2=0x244,IPR_SCI12_SCIX3=0x245,
+IPR_RIIC0_EEI0=0x246,IPR_RIIC0_RXI0=0x247,IPR_RIIC0_TXI0=0x248,IPR_RIIC0_TEI0=0x249,
+IPR_MTU0_TGI=0x118,
+IPR_MTU1_TGI=0x123,
+IPR_MTU2_TGI=0x127,
+IPR_MTU5_=0x139,
+IPR_MTU5_TGI=0x139,
+IPR_TMR0_=0x174,
+IPR_TMR1_=0x177,
+IPR_TMR2_=0x180,
+IPR_TMR3_=0x183,
+IPR_SCI0_=0x214,
+IPR_SCI1_=0x218,
+IPR_SCI5_=0x222,
+IPR_SCI6_=0x226,
+IPR_SCI8_=0x230,
+IPR_SCI9_=0x234
+};
+
+#define	IEN_BSC_BUSERR		IEN0
+#define	IEN_FCUIF_FCUERR	IEN5
+#define	IEN_FCUIF_FRDYI		IEN7
+#define	IEN_ICU_SWINT		IEN3
+#define	IEN_CMT0_CMI0		IEN4
+#define	IEN_CMT1_CMI1		IEN5
+#define	IEN_CMT2_CMI2		IEN6
+#define	IEN_CMT3_CMI3		IEN7
+#define	IEN_CAC_FERRF		IEN0
+#define	IEN_CAC_MENDF		IEN1
+#define	IEN_CAC_OVFF		IEN2
+#define	IEN_RSPI0_SPEI2		IEN4
+#define	IEN_RSPI0_SPRI0		IEN5
+#define	IEN_RSPI0_SPTI0		IEN6
+#define	IEN_RSPI0_SPII0		IEN7
+#define	IEN_DOC_DOPCF		IEN1
+#define	IEN_CMPB0_COMPB0	IEN2
+#define	IEN_CMPB1_COMPB1	IEN3
+#define	IEN_RTC_COUNTUP		IEN7
+#define	IEN_ICU_IRQ0		IEN0
+#define	IEN_ICU_IRQ1		IEN1
+#define	IEN_ICU_IRQ2		IEN2
+#define	IEN_ICU_IRQ3		IEN3
+#define	IEN_ICU_IRQ4		IEN4
+#define	IEN_ICU_IRQ5		IEN5
+#define	IEN_ICU_IRQ6		IEN6
+#define	IEN_ICU_IRQ7		IEN7
+#define	IEN_LVDCMPA_LVD1COMPA1	IEN0
+#define	IEN_LVDCMPA_LVD1COMPA2	IEN1
+#define	IEN_RTC_ALM			IEN4
+#define	IEN_RTC_PRD			IEN5
+#define	IEN_S12AD_S12ADI	IEN6
+#define	IEN_S12AD_GBADI		IEN7
+#define	IEN_ELC_ELSR18I		IEN2
+#define	IEN_ELC_ELSR19I		IEN3
+#define	IEN_MTU0_TGIA0		IEN2
+#define	IEN_MTU0_TGIB0		IEN3
+#define	IEN_MTU0_TGIC0		IEN4
+#define	IEN_MTU0_TGID0		IEN5
+#define	IEN_MTU0_TGIV0		IEN6
+#define	IEN_MTU0_TGIE0		IEN7
+#define	IEN_MTU0_TGIF0		IEN0
+#define	IEN_MTU1_TGIA1		IEN1
+#define	IEN_MTU1_TGIB1		IEN2
+#define	IEN_MTU1_TGIV1		IEN3
+#define	IEN_MTU1_TGIU1		IEN4
+#define	IEN_MTU2_TGIA2		IEN1
+#define	IEN_MTU2_TGIB2		IEN2
+#define	IEN_MTU2_TGIV2		IEN3
+#define	IEN_MTU2_TGIU2		IEN4
+#define	IEN_MTU3_TGIA3		IEN1
+#define	IEN_MTU3_TGIB3		IEN2
+#define	IEN_MTU3_TGIC3		IEN3
+#define	IEN_MTU3_TGID3		IEN4
+#define	IEN_MTU3_TGIV3		IEN5
+#define	IEN_MTU4_TGIA4		IEN6
+#define	IEN_MTU4_TGIB4		IEN7
+#define	IEN_MTU4_TGIC4		IEN0
+#define	IEN_MTU4_TGID4		IEN1
+#define	IEN_MTU4_TGIV4		IEN2
+#define	IEN_MTU5_TGIU5		IEN3
+#define	IEN_MTU5_TGIV5		IEN4
+#define	IEN_MTU5_TGIW5		IEN5
+#define	IEN_POE_OEI1		IEN2
+#define	IEN_POE_OEI2		IEN3
+#define	IEN_TMR0_CMIA0		IEN6
+#define	IEN_TMR0_CMIB0		IEN7
+#define	IEN_TMR0_OVI0		IEN0
+#define	IEN_TMR1_CMIA1		IEN1
+#define	IEN_TMR1_CMIB1		IEN2
+#define	IEN_TMR1_OVI1		IEN3
+#define	IEN_TMR2_CMIA2		IEN4
+#define	IEN_TMR2_CMIB2		IEN5
+#define	IEN_TMR2_OVI2		IEN6
+#define	IEN_TMR3_CMIA3		IEN7
+#define	IEN_TMR3_CMIB3		IEN0
+#define	IEN_TMR3_OVI3		IEN1
+#define	IEN_DMAC_DMAC0I		IEN6
+#define	IEN_DMAC_DMAC1I		IEN7
+#define	IEN_DMAC_DMAC2I		IEN0
+#define	IEN_DMAC_DMAC3I		IEN1
+#define	IEN_SCI0_ERI0		IEN6
+#define	IEN_SCI0_RXI0		IEN7
+#define	IEN_SCI0_TXI0		IEN0
+#define	IEN_SCI0_TEI0		IEN1
+#define	IEN_SCI1_ERI1		IEN2
+#define	IEN_SCI1_RXI1		IEN3
+#define	IEN_SCI1_TXI1		IEN4
+#define	IEN_SCI1_TEI1		IEN5
+#define	IEN_SCI5_ERI5		IEN6
+#define	IEN_SCI5_RXI5		IEN7
+#define	IEN_SCI5_TXI5		IEN0
+#define	IEN_SCI5_TEI5		IEN1
+#define	IEN_SCI6_ERI6		IEN2
+#define	IEN_SCI6_RXI6		IEN3
+#define	IEN_SCI6_TXI6		IEN4
+#define	IEN_SCI6_TEI6		IEN5
+#define	IEN_SCI8_ERI8		IEN6
+#define	IEN_SCI8_RXI8		IEN7
+#define	IEN_SCI8_TXI8		IEN0
+#define	IEN_SCI8_TEI8		IEN1
+#define	IEN_SCI9_ERI9		IEN2
+#define	IEN_SCI9_RXI9		IEN3
+#define	IEN_SCI9_TXI9		IEN4
+#define	IEN_SCI9_TEI9		IEN5
+#define	IEN_SCI12_ERI12		IEN6
+#define	IEN_SCI12_RXI12		IEN7
+#define	IEN_SCI12_TXI12		IEN0
+#define	IEN_SCI12_TEI12		IEN1
+#define	IEN_SCI12_SCIX0		IEN2
+#define	IEN_SCI12_SCIX1		IEN3
+#define	IEN_SCI12_SCIX2		IEN4
+#define	IEN_SCI12_SCIX3		IEN5
+#define	IEN_RIIC0_EEI0		IEN6
+#define	IEN_RIIC0_RXI0		IEN7
+#define	IEN_RIIC0_TXI0		IEN0
+#define	IEN_RIIC0_TEI0		IEN1
+
+#define	VECT_BSC_BUSERR		16
+#define	VECT_FCUIF_FCUERR	21
+#define	VECT_FCUIF_FRDYI	23
+#define	VECT_ICU_SWINT		27
+#define	VECT_CMT0_CMI0		28
+#define	VECT_CMT1_CMI1		29
+#define	VECT_CMT2_CMI2		30
+#define	VECT_CMT3_CMI3		31
+#define	VECT_CAC_FERRF		32
+#define	VECT_CAC_MENDF		33
+#define	VECT_CAC_OVFF		34
+#define	VECT_RSPI0_SPEI2	44
+#define	VECT_RSPI0_SPRI0	45
+#define	VECT_RSPI0_SPTI0	46
+#define	VECT_RSPI0_SPII0	47
+#define	VECT_DOC_DOPCF		57
+#define	VECT_CMPB0_COMPB0	58
+#define	VECT_CMPB1_COMPB1	59
+#define	VECT_RTC_COUNTUP	63
+#define	VECT_ICU_IRQ0		64
+#define	VECT_ICU_IRQ1		65
+#define	VECT_ICU_IRQ2		66
+#define	VECT_ICU_IRQ3		67
+#define	VECT_ICU_IRQ4		68
+#define	VECT_ICU_IRQ5		69
+#define	VECT_ICU_IRQ6		70
+#define	VECT_ICU_IRQ7		71
+#define	VECT_LVDCMPA_LVD1COMPA1	88
+#define	VECT_LVDCMPA_LVD1COMPA2	89
+#define	VECT_RTC_ALM		92
+#define	VECT_RTC_PRD		93
+#define	VECT_S12AD_S12ADI	102
+#define	VECT_S12AD_GBADI	103
+#define	VECT_ELC_ELSR18I	106
+#define	VECT_ELC_ELSR19I	107
+#define	VECT_MTU0_TGIA0		114
+#define	VECT_MTU0_TGIB0		115
+#define	VECT_MTU0_TGIC0		116
+#define	VECT_MTU0_TGID0		117
+#define	VECT_MTU0_TGIV0		118
+#define	VECT_MTU0_TGIE0		119
+#define	VECT_MTU0_TGIF0		120
+#define	VECT_MTU1_TGIA1		121
+#define	VECT_MTU1_TGIB1		122
+#define	VECT_MTU1_TGIV1		123
+#define	VECT_MTU1_TGIU1		124
+#define	VECT_MTU2_TGIA2		125
+#define	VECT_MTU2_TGIB2		126
+#define	VECT_MTU2_TGIV2		127
+#define	VECT_MTU2_TGIU2		128
+#define	VECT_MTU3_TGIA3		129
+#define	VECT_MTU3_TGIB3		130
+#define	VECT_MTU3_TGIC3		131
+#define	VECT_MTU3_TGID3		132
+#define	VECT_MTU3_TGIV3		133
+#define	VECT_MTU4_TGIA4		134
+#define	VECT_MTU4_TGIB4		135
+#define	VECT_MTU4_TGIC4		136
+#define	VECT_MTU4_TGID4		137
+#define	VECT_MTU4_TGIV4		138
+#define	VECT_MTU5_TGIU5		139
+#define	VECT_MTU5_TGIV5		140
+#define	VECT_MTU5_TGIW5		141
+#define	VECT_POE_OEI1		170
+#define	VECT_POE_OEI2		171
+#define	VECT_TMR0_CMIA0		174
+#define	VECT_TMR0_CMIB0		175
+#define	VECT_TMR0_OVI0		176
+#define	VECT_TMR1_CMIA1		177
+#define	VECT_TMR1_CMIB1		178
+#define	VECT_TMR1_OVI1		179
+#define	VECT_TMR2_CMIA2		180
+#define	VECT_TMR2_CMIB2		181
+#define	VECT_TMR2_OVI2		182
+#define	VECT_TMR3_CMIA3		183
+#define	VECT_TMR3_CMIB3		184
+#define	VECT_TMR3_OVI3		185
+#define	VECT_DMAC_DMAC0I	198
+#define	VECT_DMAC_DMAC1I	199
+#define	VECT_DMAC_DMAC2I	200
+#define	VECT_DMAC_DMAC3I	201
+#define	VECT_SCI0_ERI0		214
+#define	VECT_SCI0_RXI0		215
+#define	VECT_SCI0_TXI0		216
+#define	VECT_SCI0_TEI0		217
+#define	VECT_SCI1_ERI1		218
+#define	VECT_SCI1_RXI1		219
+#define	VECT_SCI1_TXI1		220
+#define	VECT_SCI1_TEI1		221
+#define	VECT_SCI5_ERI5		222
+#define	VECT_SCI5_RXI5		223
+#define	VECT_SCI5_TXI5		224
+#define	VECT_SCI5_TEI5		225
+#define	VECT_SCI6_ERI6		226
+#define	VECT_SCI6_RXI6		227
+#define	VECT_SCI6_TXI6		228
+#define	VECT_SCI6_TEI6		229
+#define	VECT_SCI8_ERI8		230
+#define	VECT_SCI8_RXI8		231
+#define	VECT_SCI8_TXI8		232
+#define	VECT_SCI8_TEI8		233
+#define	VECT_SCI9_ERI9		234
+#define	VECT_SCI9_RXI9		235
+#define	VECT_SCI9_TXI9		236
+#define	VECT_SCI9_TEI9		237
+#define	VECT_SCI12_ERI12	238
+#define	VECT_SCI12_RXI12	239
+#define	VECT_SCI12_TXI12	240
+#define	VECT_SCI12_TEI12	241
+#define	VECT_SCI12_SCIX0	242
+#define	VECT_SCI12_SCIX1	243
+#define	VECT_SCI12_SCIX2	244
+#define	VECT_SCI12_SCIX3	245
+#define	VECT_RIIC0_EEI0		246
+#define	VECT_RIIC0_RXI0		247
+#define	VECT_RIIC0_TXI0		248
+#define	VECT_RIIC0_TEI0		249
+
+#define	MSTP_DTC	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC0	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC1	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC2	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC3	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DA		SYSTEM.MSTPCRA.BIT.MSTPA19
+#define	MSTP_S12AD	SYSTEM.MSTPCRA.BIT.MSTPA17
+#define	MSTP_CMT0	SYSTEM.MSTPCRA.BIT.MSTPA15
+#define	MSTP_CMT1	SYSTEM.MSTPCRA.BIT.MSTPA15
+#define	MSTP_CMT2	SYSTEM.MSTPCRA.BIT.MSTPA14
+#define	MSTP_CMT3	SYSTEM.MSTPCRA.BIT.MSTPA14
+#define	MSTP_MTU	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU0	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU1	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU2	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU3	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU4	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU5	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_TMR0	SYSTEM.MSTPCRA.BIT.MSTPA5
+#define	MSTP_TMR1	SYSTEM.MSTPCRA.BIT.MSTPA5
+#define	MSTP_TMR01	SYSTEM.MSTPCRA.BIT.MSTPA5
+#define	MSTP_TMR2	SYSTEM.MSTPCRA.BIT.MSTPA4
+#define	MSTP_TMR3	SYSTEM.MSTPCRA.BIT.MSTPA4
+#define	MSTP_TMR23	SYSTEM.MSTPCRA.BIT.MSTPA4
+#define	MSTP_SCI0	SYSTEM.MSTPCRB.BIT.MSTPB31
+#define	MSTP_SCI1	SYSTEM.MSTPCRB.BIT.MSTPB30
+#define	MSTP_SCI5	SYSTEM.MSTPCRB.BIT.MSTPB26
+#define	MSTP_SCI6	SYSTEM.MSTPCRB.BIT.MSTPB25
+#define	MSTP_CRC	SYSTEM.MSTPCRB.BIT.MSTPB23
+#define	MSTP_RIIC0	SYSTEM.MSTPCRB.BIT.MSTPB21
+#define	MSTP_RSPI0	SYSTEM.MSTPCRB.BIT.MSTPB17
+#define	MSTP_CMPB	SYSTEM.MSTPCRB.BIT.MSTPB10
+#define	MSTP_ELC	SYSTEM.MSTPCRB.BIT.MSTPB9
+#define	MSTP_TEMPS	SYSTEM.MSTPCRB.BIT.MSTPB8
+#define	MSTP_DOC	SYSTEM.MSTPCRB.BIT.MSTPB6
+#define	MSTP_SCI12	SYSTEM.MSTPCRB.BIT.MSTPB4
+#define	MSTP_SCI8	SYSTEM.MSTPCRC.BIT.MSTPC27
+#define	MSTP_SCI9	SYSTEM.MSTPCRC.BIT.MSTPC26
+#define	MSTP_RAM0	SYSTEM.MSTPCRC.BIT.MSTPC0
+
+#define	__IR( x )		ICU.IR[ IR ## x ].BIT.IR
+#define	 _IR( x )		__IR( x )
+#define	  IR( x , y )	_IR( _ ## x ## _ ## y )
+#define	__DTCE( x )		ICU.DTCER[ DTCE ## x ].BIT.DTCE
+#define	 _DTCE( x )		__DTCE( x )
+#define	  DTCE( x , y )	_DTCE( _ ## x ## _ ## y )
+#define	__IEN( x )		ICU.IER[ IER ## x ].BIT.IEN ## x
+#define	 _IEN( x )		__IEN( x )
+#define	  IEN( x , y )	_IEN( _ ## x ## _ ## y )
+#define	__IPR( x )		ICU.IPR[ IPR ## x ].BIT.IPR
+#define	 _IPR( x )		__IPR( x )
+#define	  IPR( x , y )	_IPR( _ ## x ## _ ## y )
+#define	__VECT( x )		VECT ## x
+#define	 _VECT( x )		__VECT( x )
+#define	  VECT( x , y )	_VECT( _ ## x ## _ ## y )
+#define	__MSTP( x )		MSTP ## x
+#define	 _MSTP( x )		__MSTP( x )
+#define	  MSTP( x )		_MSTP( _ ## x )
+
+#define	BSC		(*(volatile struct st_bsc      __evenaccess *)0x81300)
+#define	CAC		(*(volatile struct st_cac      __evenaccess *)0x8B000)
+#define	CMPB	(*(volatile struct st_cmpb     __evenaccess *)0x8C580)
+#define	CMT		(*(volatile struct st_cmt      __evenaccess *)0x88000)
+#define	CMT0	(*(volatile struct st_cmt0     __evenaccess *)0x88002)
+#define	CMT1	(*(volatile struct st_cmt0     __evenaccess *)0x88008)
+#define	CMT2	(*(volatile struct st_cmt0     __evenaccess *)0x88012)
+#define	CMT3	(*(volatile struct st_cmt0     __evenaccess *)0x88018)
+#define	CRC		(*(volatile struct st_crc      __evenaccess *)0x88280)
+#define	DA		(*(volatile struct st_da       __evenaccess *)0x880C0)
+#define	DMAC	(*(volatile struct st_dmac     __evenaccess *)0x82200)
+#define	DMAC0	(*(volatile struct st_dmac0    __evenaccess *)0x82000)
+#define	DMAC1	(*(volatile struct st_dmac1    __evenaccess *)0x82040)
+#define	DMAC2	(*(volatile struct st_dmac1    __evenaccess *)0x82080)
+#define	DMAC3	(*(volatile struct st_dmac1    __evenaccess *)0x820C0)
+#define	DOC		(*(volatile struct st_doc      __evenaccess *)0x8B080)
+#define	DTC		(*(volatile struct st_dtc      __evenaccess *)0x82400)
+#define	ELC		(*(volatile struct st_elc      __evenaccess *)0x8B100)
+#define	EXSYSTEM		(*(volatile struct st_exsystem __evenaccess *)0xFF7FFFF8)
+#define	FLASH	(*(volatile struct st_flash    __evenaccess *)0x8C296)
+#define	ICU		(*(volatile struct st_icu      __evenaccess *)0x87000)
+#define	IWDT	(*(volatile struct st_iwdt     __evenaccess *)0x88030)
+#define	MPC		(*(volatile struct st_mpc      __evenaccess *)0x8C11F)
+#define	MTU		(*(volatile struct st_mtu      __evenaccess *)0x8860A)
+#define	MTU0	(*(volatile struct st_mtu0     __evenaccess *)0x88700)
+#define	MTU1	(*(volatile struct st_mtu1     __evenaccess *)0x88780)
+#define	MTU2	(*(volatile struct st_mtu2     __evenaccess *)0x88800)
+#define	MTU3	(*(volatile struct st_mtu3     __evenaccess *)0x88600)
+#define	MTU4	(*(volatile struct st_mtu4     __evenaccess *)0x88600)
+#define	MTU5	(*(volatile struct st_mtu5     __evenaccess *)0x88880)
+#define	POE		(*(volatile struct st_poe      __evenaccess *)0x88900)
+#define	PORT	(*(volatile struct st_port     __evenaccess *)0x8C100)
+#define	PORT0	(*(volatile struct st_port0    __evenaccess *)0x8C000)
+#define	PORT1	(*(volatile struct st_port1    __evenaccess *)0x8C001)
+#define	PORT2	(*(volatile struct st_port2    __evenaccess *)0x8C002)
+#define	PORT3	(*(volatile struct st_port3    __evenaccess *)0x8C003)
+#define	PORT4	(*(volatile struct st_port4    __evenaccess *)0x8C004)
+#define	PORT5	(*(volatile struct st_port5    __evenaccess *)0x8C005)
+#define	PORTA	(*(volatile struct st_porta    __evenaccess *)0x8C00A)
+#define	PORTB	(*(volatile struct st_portb    __evenaccess *)0x8C00B)
+#define	PORTC	(*(volatile struct st_portc    __evenaccess *)0x8C00C)
+#define	PORTD	(*(volatile struct st_portd    __evenaccess *)0x8C00D)
+#define	PORTE	(*(volatile struct st_porte    __evenaccess *)0x8C00E)
+#define	PORTH	(*(volatile struct st_porth    __evenaccess *)0x8C011)
+#define	PORTJ	(*(volatile struct st_portj    __evenaccess *)0x8C012)
+#define	RIIC0	(*(volatile struct st_riic     __evenaccess *)0x88300)
+#define	RSPI0	(*(volatile struct st_rspi     __evenaccess *)0x88380)
+#define	RTC		(*(volatile struct st_rtc      __evenaccess *)0x8C400)
+#define	S12AD	(*(volatile struct st_s12ad    __evenaccess *)0x89000)
+#define	SCI0	(*(volatile struct st_sci0     __evenaccess *)0x8A000)
+#define	SCI1	(*(volatile struct st_sci1     __evenaccess *)0x8A020)
+#define	SCI5	(*(volatile struct st_sci1     __evenaccess *)0x8A0A0)
+#define	SCI6	(*(volatile struct st_sci1     __evenaccess *)0x8A0C0)
+#define	SCI8	(*(volatile struct st_sci1     __evenaccess *)0x8A100)
+#define	SCI9	(*(volatile struct st_sci1     __evenaccess *)0x8A120)
+#define	SCI12	(*(volatile struct st_sci12    __evenaccess *)0x8B300)
+#define	SMCI0	(*(volatile struct st_smci     __evenaccess *)0x8A000)
+#define	SMCI1	(*(volatile struct st_smci     __evenaccess *)0x8A020)
+#define	SMCI5	(*(volatile struct st_smci     __evenaccess *)0x8A0A0)
+#define	SMCI6	(*(volatile struct st_smci     __evenaccess *)0x8A0C0)
+#define	SMCI8	(*(volatile struct st_smci     __evenaccess *)0x8A100)
+#define	SMCI9	(*(volatile struct st_smci     __evenaccess *)0x8A120)
+#define	SMCI12	(*(volatile struct st_smci     __evenaccess *)0x8B300)
+#define	SYSTEM	(*(volatile struct st_system   __evenaccess *)0x80000)
+#define	TEMPS	(*(volatile struct st_temps    __evenaccess *)0x8C500)
+#define	TMR0	(*(volatile struct st_tmr0     __evenaccess *)0x88200)
+#define	TMR1	(*(volatile struct st_tmr1     __evenaccess *)0x88201)
+#define	TMR2	(*(volatile struct st_tmr0     __evenaccess *)0x88210)
+#define	TMR3	(*(volatile struct st_tmr1     __evenaccess *)0x88211)
+#define	TMR01	(*(volatile struct st_tmr01    __evenaccess *)0x88204)
+#define	TMR23	(*(volatile struct st_tmr01    __evenaccess *)0x88214)
+#define	WDT		(*(volatile struct st_wdt      __evenaccess *)0x88020)
+#pragma bit_order
+#pragma packoption
+#endif
\ No newline at end of file
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/RX62Niodefine.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/RX62Niodefine.h
new file mode 100644
index 0000000000..7787987eec
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/RX62Niodefine.h
@@ -0,0 +1,7181 @@
+/********************************************************************************/
+/*                                                                              */
+/* Device     : RX/RX600/RX62N                                                  */
+/* File Name  : ioedfine.h                                                      */
+/* Abstract   : Definition of I/O Register.                                     */
+/* History    : V2.0  (2010-08-21)  [Hardware Manual Revision : 1.00]           */
+/* Note       : This is a typical example.                                      */
+/*                                                                              */
+/*  Copyright(c) 2010 Renesas Electronics Corp.                                 */
+/*                  And Renesas Solutions Corp. ,All Rights Reserved.           */
+/*                                                                              */
+/********************************************************************************/
+/*                                                                              */
+/*  DESCRIPTION : Definition of ICU Register                                    */
+/*  CPU TYPE    : RX62N                                                         */
+/*                                                                              */
+/*  Usage : IR,DTCER,IER,IPR of ICU Register                                    */
+/*     The following IR, DTCE, IEN, IPR macro functions simplify usage.         */
+/*     The bit access operation is "Bit_Name(interrupt source,name)".           */
+/*     A part of the name can be omitted.                                       */
+/*     for example :                                                            */
+/*       IR(MTU0,TGIA0) = 0;     expands to :                                   */
+/*         ICU.IR[114].BIT.IR = 0;                                              */
+/*                                                                              */
+/*       DTCE(ICU,IRQ0) = 1;     expands to :                                   */
+/*         ICU.DTCER[64].BIT.DTCE = 1;                                          */
+/*                                                                              */
+/*       IEN(CMT0,CMI0) = 1;     expands to :                                   */
+/*         ICU.IER[0x03].BIT.IEN4 = 1;                                          */
+/*                                                                              */
+/*       IPR(MTU1,TGIA1) = 2;    expands to :                                   */
+/*       IPR(MTU1,TGI  ) = 2;    // TGIA1,TGIB1 share IPR level.                */
+/*         ICU.IPR[0x53].BIT.IPR = 2;                                           */
+/*                                                                              */
+/*       IPR(SCI0,ERI0) = 3;     expands to :                                   */
+/*       IPR(SCI0,    ) = 3;     // SCI0 uses single IPR for all sources.       */
+/*         ICU.IPR[0x80].BIT.IPR = 3;                                           */
+/*                                                                              */
+/*  Usage : #pragma interrupt Function_Identifier(vect=**)                      */
+/*     The number of vector is "(interrupt source, name)".                      */
+/*     for example :                                                            */
+/*       #pragma interrupt INT_IRQ0(vect=VECT(ICU,IRQ0))          expands to :  */
+/*         #pragma interrupt INT_IRQ0(vect=64)                                  */
+/*       #pragma interrupt INT_CMT0_CMI0(vect=VECT(CMT0,CMI0))    expands to :  */
+/*         #pragma interrupt INT_CMT0_CMI0(vect=28)                             */
+/*       #pragma interrupt INT_MTU0_TGIA0(vect=VECT(MTU0,TGIA0))  expands to :  */
+/*         #pragma interrupt INT_MTU0_TGIA0(vect=114)                           */
+/*                                                                              */
+/*  Usage : MSTPCRA,MSTPCRB,MSTPCRC of SYSTEM Register                          */
+/*     The bit access operation is "MSTP(name)".                                */
+/*     The name that can be used is a macro name defined with "iodefine.h".     */
+/*     for example :                                                            */
+/*       MSTP(TMR2) = 0;    // TMR2,TMR3,TMR23                    expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA4  = 0;                                      */
+/*       MSTP(SCI0) = 0;    // SCI0,SMCI0                         expands to :  */
+/*         SYSTEM.MSTPCRB.BIT.MSTPB31 = 0;                                      */
+/*       MSTP(MTU4) = 0;    // MTUA,MTU0,MTU1,MTU2,MTU3,MTU4,MTU5 expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA9  = 0;                                      */
+/*       MSTP(CMT3) = 0;    // CMT2,CMT3                          expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA14 = 0;                                      */
+/*                                                                              */
+/*                                                                              */
+/********************************************************************************/
+#ifndef __RX62NIODEFINE_HEADER__
+#define __RX62NIODEFINE_HEADER__
+#pragma bit_order left
+#pragma unpack
+struct st_ad {
+	unsigned short ADDRA;
+	unsigned short ADDRB;
+	unsigned short ADDRC;
+	unsigned short ADDRD;
+	char           wk0[8];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ADIE:1;
+			unsigned char ADST:1;
+			unsigned char :1;
+			unsigned char CH:4;
+		} BIT;
+	} ADCSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TRGS:3;
+			unsigned char :1;
+			unsigned char CKS:2;
+			unsigned char MODE:2;
+		} BIT;
+	} ADCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSEL:1;
+		} BIT;
+	} ADDPR;
+	unsigned char  ADSSTR;
+	char           wk1[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char DIAG:2;
+		} BIT;
+	} ADDIAGR;
+};
+
+struct st_bsc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char STSCLR:1;
+		} BIT;
+	} BERCLR;
+	char           wk0[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TOEN:1;
+			unsigned char IGAEN:1;
+		} BIT;
+	} BEREN;
+	char           wk1[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MST:3;
+			unsigned char :2;
+			unsigned char TO:1;
+			unsigned char IA:1;
+		} BIT;
+	} BERSR1;
+	char           wk2[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADDR:13;
+		} BIT;
+	} BERSR2;
+	char           wk3[7414];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS0MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS0WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :5;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS0WCR2;
+	char           wk4[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS1MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS1WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :5;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS1WCR2;
+	char           wk5[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS2MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS2WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :5;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS2WCR2;
+	char           wk6[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS3MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS3WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :5;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS3WCR2;
+	char           wk7[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS4MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS4WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :5;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS4WCR2;
+	char           wk8[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS5MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS5WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :5;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS5WCR2;
+	char           wk9[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS6MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS6WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :5;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS6WCR2;
+	char           wk10[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS7MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS7WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :5;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS7WCR2;
+	char           wk11[1926];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS0CR;
+	char           wk12[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS0REC;
+	char           wk13[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS1CR;
+	char           wk14[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS1REC;
+	char           wk15[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS2CR;
+	char           wk16[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS2REC;
+	char           wk17[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS3CR;
+	char           wk18[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS3REC;
+	char           wk19[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS4CR;
+	char           wk20[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS4REC;
+	char           wk21[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS5CR;
+	char           wk22[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS5REC;
+	char           wk23[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS6CR;
+	char           wk24[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS6REC;
+	char           wk25[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS7CR;
+	char           wk26[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS7REC;
+	char           wk27[900];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char BSIZE:2;
+			unsigned char :3;
+			unsigned char EXENB:1;
+		} BIT;
+	} SDCCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char EMODE:1;
+		} BIT;
+	} SDCMOD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char BE:1;
+		} BIT;
+	} SDAMOD;
+	char           wk28[13];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SFEN:1;
+		} BIT;
+	} SDSELF;
+	char           wk29[3];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short REFW:4;
+			unsigned short RFC:12;
+		} BIT;
+	} SDRFCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RFEN:1;
+		} BIT;
+	} SDRFEN;
+	char           wk30[9];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char INIRQ:1;
+		} BIT;
+	} SDICR;
+	char           wk31[3];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short PRC:3;
+			unsigned short ARFC:4;
+			unsigned short ARFI:4;
+		} BIT;
+	} SDIR;
+	char           wk32[26];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char MXC:2;
+		} BIT;
+	} SDADR;
+	char           wk33[3];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :13;
+			unsigned long RAS:3;
+			unsigned long :2;
+			unsigned long RCD:2;
+			unsigned long RP:3;
+			unsigned long WR:1;
+			unsigned long :5;
+			unsigned long CL:3;
+		} BIT;
+	} SDTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :1;
+			unsigned short MR:15;
+		} BIT;
+	} SDMOD;
+	char           wk34[6];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char SRFST:1;
+			unsigned char INIST:1;
+			unsigned char :2;
+			unsigned char MRSST:1;
+		} BIT;
+	} SDSR;
+};
+
+struct st_can {
+	struct {
+		union {
+			unsigned long LONG;
+			struct {
+				unsigned short H;
+				unsigned short L;
+			} WORD;
+			struct {
+				unsigned char HH;
+				unsigned char HL;
+				unsigned char LH;
+				unsigned char LL;
+			} BYTE;
+			struct {
+				unsigned long IDE:1;
+				unsigned long RTR:1;
+				unsigned long :1;
+				unsigned long SID:11;
+				unsigned long EID:18;
+			} BIT;
+		} ID;
+		union {
+			unsigned short WORD;
+			struct {
+				unsigned char H;
+				unsigned char L;
+			} BYTE;
+			struct {
+				unsigned char :8;
+				unsigned char :4;
+				unsigned char DLC:4;
+			} BIT;
+		} DLC;
+		unsigned char  DATA[8];
+		union {
+			unsigned short WORD;
+			struct {
+				unsigned char TSH;
+				unsigned char TSL;
+			} BYTE;
+		} TS;
+	} MB[32];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned short H;
+			unsigned short L;
+		} WORD;
+		struct {
+			unsigned char HH;
+			unsigned char HL;
+			unsigned char LH;
+			unsigned char LL;
+		} BYTE;
+		struct {
+			unsigned long :3;
+			unsigned long SID:11;
+			unsigned long EID:18;
+		} BIT;
+	} MKR[8];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned short H;
+			unsigned short L;
+		} WORD;
+		struct {
+			unsigned char HH;
+			unsigned char HL;
+			unsigned char LH;
+			unsigned char LL;
+		} BYTE;
+		struct {
+			unsigned long IDE:1;
+			unsigned long RTR:1;
+			unsigned long :1;
+			unsigned long SID:11;
+			unsigned long EID:18;
+		} BIT;
+	} FIDCR0;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned short H;
+			unsigned short L;
+		} WORD;
+		struct {
+			unsigned char HH;
+			unsigned char HL;
+			unsigned char LH;
+			unsigned char LL;
+		} BYTE;
+		struct {
+			unsigned long IDE:1;
+			unsigned long RTR:1;
+			unsigned long :1;
+			unsigned long SID:11;
+			unsigned long EID:18;
+		} BIT;
+	} FIDCR1;
+	unsigned long  MKIVLR;
+	unsigned long  MIER;
+	char           wk0[1008];
+	union {
+		unsigned char BYTE;
+		union {
+			struct {
+				unsigned char TRMREQ:1;
+				unsigned char RECREQ:1;
+				unsigned char :1;
+				unsigned char ONESHOT:1;
+				unsigned char :1;
+				unsigned char TRMABT:1;
+				unsigned char TRMACTIVE:1;
+				unsigned char SENTDATA:1;
+			} TX;
+			struct {
+				unsigned char :5;
+				unsigned char MSGLOST:1;
+				unsigned char INVALDATA:1;
+				unsigned char NEWDATA:1;
+			} RX;
+		} BIT;
+	} MCTL[32];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char RBOC:1;
+			unsigned char BOM:2;
+			unsigned char SLPM:1;
+			unsigned char CANM:2;
+			unsigned char TSPS:2;
+			unsigned char TSRC:1;
+			unsigned char TPM:1;
+			unsigned char MLM:1;
+			unsigned char IDFM:2;
+			unsigned char MBM:1;
+		} BIT;
+	} CTLR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char RECST:1;
+			unsigned char TRMST:1;
+			unsigned char BOST:1;
+			unsigned char EPST:1;
+			unsigned char SLPST:1;
+			unsigned char HLTST:1;
+			unsigned char RSTST:1;
+			unsigned char EST:1;
+			unsigned char TABST:1;
+			unsigned char FMLST:1;
+			unsigned char NMLST:1;
+			unsigned char TFST:1;
+			unsigned char RFST:1;
+			unsigned char SDST:1;
+			unsigned char NDST:1;
+		} BIT;
+	} STR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned short H;
+			unsigned short L;
+		} WORD;
+		struct {
+			unsigned char HH;
+			unsigned char HL;
+			unsigned char LH;
+			unsigned char LL;
+		} BYTE;
+		struct {
+			unsigned long TSEG1:4;
+			unsigned long :2;
+			unsigned long BRP:10;
+			unsigned long :2;
+			unsigned long SJW:2;
+			unsigned long :1;
+			unsigned long TSEG2:3;
+		} BIT;
+	} BCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RFEST:1;
+			unsigned char RFWST:1;
+			unsigned char RFFST:1;
+			unsigned char RFMLF:1;
+			unsigned char RFUST:3;
+			unsigned char RFE:1;
+		} BIT;
+	} RFCR;
+	unsigned char  RFPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TFEST:1;
+			unsigned char TFFST:1;
+			unsigned char :2;
+			unsigned char TFUST:3;
+			unsigned char TFE:1;
+		} BIT;
+	} TFCR;
+	unsigned char  TFPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BLIE:1;
+			unsigned char OLIE:1;
+			unsigned char ORIE:1;
+			unsigned char BORIE:1;
+			unsigned char BOEIE:1;
+			unsigned char EPIE:1;
+			unsigned char EWIE:1;
+			unsigned char BEIE:1;
+		} BIT;
+	} EIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BLIF:1;
+			unsigned char OLIF:1;
+			unsigned char ORIF:1;
+			unsigned char BORIF:1;
+			unsigned char BOEIF:1;
+			unsigned char EPIF:1;
+			unsigned char EWIF:1;
+			unsigned char BEIF:1;
+		} BIT;
+	} EIFR;
+	unsigned char  RECR;
+	unsigned char  TECR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char EDPM:1;
+			unsigned char ADEF:1;
+			unsigned char BE0F:1;
+			unsigned char BE1F:1;
+			unsigned char CEF:1;
+			unsigned char AEF:1;
+			unsigned char FEF:1;
+			unsigned char SEF:1;
+		} BIT;
+	} ECSR;
+	unsigned char  CSSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SEST:1;
+			unsigned char :2;
+			unsigned char MBNST:5;
+		} BIT;
+	} MSSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char MBSM:2;
+		} BIT;
+	} MSMR;
+	unsigned short TSR;
+	unsigned short AFSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TSTM:2;
+			unsigned char TSTE:1;
+		} BIT;
+	} TCR;
+};
+
+struct st_cmt {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :14;
+			unsigned short STR1:1;
+			unsigned short STR0:1;
+		} BIT;
+	} CMSTR0;
+	char           wk0[14];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :14;
+			unsigned short STR3:1;
+			unsigned short STR2:1;
+		} BIT;
+	} CMSTR1;
+};
+
+struct st_cmt0 {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :9;
+			unsigned short CMIE:1;
+			unsigned short :4;
+			unsigned short CKS:2;
+		} BIT;
+	} CMCR;
+	unsigned short CMCNT;
+	unsigned short CMCOR;
+};
+
+struct st_crc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DORCLR:1;
+			unsigned char :4;
+			unsigned char LMS:1;
+			unsigned char GPS:2;
+		} BIT;
+	} CRCCR;
+	unsigned char  CRCDIR;
+	unsigned short CRCDOR;
+};
+
+struct st_da {
+	unsigned short DADR0;
+	unsigned short DADR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DAOE1:1;
+			unsigned char DAOE0:1;
+			unsigned char DAE:1;
+		} BIT;
+	} DACR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSEL:1;
+		} BIT;
+	} DADPR;
+};
+
+struct st_dmac {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DMST:1;
+		} BIT;
+	} DMAST;
+};
+
+struct st_dmac0 {
+	void          *DMSAR;
+	void          *DMDAR;
+	unsigned long  DMCRA;
+	unsigned short DMCRB;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short MD:2;
+			unsigned short DTS:2;
+			unsigned short :2;
+			unsigned short SZ:2;
+			unsigned short :6;
+			unsigned short DCTG:2;
+		} BIT;
+	} DMTMD;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char DTIE:1;
+			unsigned char ESIE:1;
+			unsigned char RPTIE:1;
+			unsigned char SARIE:1;
+			unsigned char DARIE:1;
+		} BIT;
+	} DMINT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SM:2;
+			unsigned short :1;
+			unsigned short SARA:5;
+			unsigned short DM:2;
+			unsigned short :1;
+			unsigned short DARA:5;
+		} BIT;
+	} DMAMD;
+	char           wk2[2];
+	unsigned long  DMOFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTE:1;
+		} BIT;
+	} DMCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char CLRS:1;
+			unsigned char :3;
+			unsigned char SWREQ:1;
+		} BIT;
+	} DMREQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ACT:1;
+			unsigned char :2;
+			unsigned char DTIF:1;
+			unsigned char :3;
+			unsigned char ESIF:1;
+		} BIT;
+	} DMSTS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DISEL:1;
+		} BIT;
+	} DMCSL;
+};
+
+struct st_dmac1 {
+	void          *DMSAR;
+	void          *DMDAR;
+	unsigned long  DMCRA;
+	unsigned short DMCRB;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short MD:2;
+			unsigned short DTS:2;
+			unsigned short :2;
+			unsigned short SZ:2;
+			unsigned short :6;
+			unsigned short DCTG:2;
+		} BIT;
+	} DMTMD;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char DTIE:1;
+			unsigned char ESIE:1;
+			unsigned char RPTIE:1;
+			unsigned char SARIE:1;
+			unsigned char DARIE:1;
+		} BIT;
+	} DMINT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SM:2;
+			unsigned short :1;
+			unsigned short SARA:5;
+			unsigned short DM:2;
+			unsigned short :1;
+			unsigned short DARA:5;
+		} BIT;
+	} DMAMD;
+	char           wk2[6];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTE:1;
+		} BIT;
+	} DMCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char CLRS:1;
+			unsigned char :3;
+			unsigned char SWREQ:1;
+		} BIT;
+	} DMREQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ACT:1;
+			unsigned char :2;
+			unsigned char DTIF:1;
+			unsigned char :3;
+			unsigned char ESIF:1;
+		} BIT;
+	} DMSTS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DISEL:1;
+		} BIT;
+	} DMCSL;
+};
+
+struct st_dtc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char RRS:1;
+		} BIT;
+	} DTCCR;
+	char           wk0[3];
+	void          *DTCVBR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SHORT:1;
+		} BIT;
+	} DTCADMOD;
+	char           wk1[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTCST:1;
+		} BIT;
+	} DTCST;
+	char           wk2[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ACT:1;
+			unsigned short :7;
+			unsigned short VECN:8;
+		} BIT;
+	} DTCSTS;
+};
+
+struct st_edmac {
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :25;
+			unsigned long DE:1;
+			unsigned long DL:2;
+			unsigned long :3;
+			unsigned long SWR:1;
+		} BIT;
+	} EDMR;
+	char           wk0[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :31;
+			unsigned long TR:1;
+		} BIT;
+	} EDTRR;
+	char           wk1[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :31;
+			unsigned long RR:1;
+		} BIT;
+	} EDRRR;
+	char           wk2[4];
+	void          *TDLAR;
+	char           wk3[4];
+	void          *RDLAR;
+	char           wk4[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long TWB:1;
+			unsigned long :3;
+			unsigned long TABT:1;
+			unsigned long RABT:1;
+			unsigned long RFCOF:1;
+			unsigned long ADE:1;
+			unsigned long ECI:1;
+			unsigned long TC:1;
+			unsigned long TDE:1;
+			unsigned long TFUF:1;
+			unsigned long FR:1;
+			unsigned long RDE:1;
+			unsigned long RFOF:1;
+			unsigned long :4;
+			unsigned long CND:1;
+			unsigned long DLC:1;
+			unsigned long CD:1;
+			unsigned long TRO:1;
+			unsigned long RMAF:1;
+			unsigned long :2;
+			unsigned long RRF:1;
+			unsigned long RTLF:1;
+			unsigned long RTSF:1;
+			unsigned long PRE:1;
+			unsigned long CERF:1;
+		} BIT;
+	} EESR;
+	char           wk5[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long TWBIP:1;
+			unsigned long :3;
+			unsigned long TABTIP:1;
+			unsigned long RABTIP:1;
+			unsigned long RFCOFIP:1;
+			unsigned long ADEIP:1;
+			unsigned long ECIIP:1;
+			unsigned long TCIP:1;
+			unsigned long TDEIP:1;
+			unsigned long TFUFIP:1;
+			unsigned long FRIP:1;
+			unsigned long RDEIP:1;
+			unsigned long RFOFIP:1;
+			unsigned long :4;
+			unsigned long CNDIP:1;
+			unsigned long DLCIP:1;
+			unsigned long CDIP:1;
+			unsigned long TROIP:1;
+			unsigned long RMAFIP:1;
+			unsigned long :2;
+			unsigned long RRFIP:1;
+			unsigned long RTLFIP:1;
+			unsigned long RTSFIP:1;
+			unsigned long PREIP:1;
+			unsigned long CERFIP:1;
+		} BIT;
+	} EESIPR;
+	char           wk6[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :20;
+			unsigned long CNDCE:1;
+			unsigned long DLCCE:1;
+			unsigned long CDCE:1;
+			unsigned long TROCE:1;
+			unsigned long RMAFCE:1;
+			unsigned long :2;
+			unsigned long RRFCE:1;
+			unsigned long RTLFCE:1;
+			unsigned long RTSFCE:1;
+			unsigned long PRECE:1;
+			unsigned long CERFCE:1;
+		} BIT;
+	} TRSCER;
+	char           wk7[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long MFC:16;
+		} BIT;
+	} RMFCR;
+	char           wk8[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :21;
+			unsigned long TFT:11;
+		} BIT;
+	} TFTR;
+	char           wk9[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :19;
+			unsigned long TFD:5;
+			unsigned long :3;
+			unsigned long RFD:5;
+		} BIT;
+	} FDR;
+	char           wk10[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :30;
+			unsigned long RNC:1;
+			unsigned long RNR:1;
+		} BIT;
+	} RMCR;
+	char           wk11[8];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long UNDER:16;
+		} BIT;
+	} TFUCR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long OVER:16;
+		} BIT;
+	} RFOCR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :31;
+			unsigned long TLB:1;
+		} BIT;
+	} IOSR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :13;
+			unsigned long RFFO:3;
+			unsigned long :13;
+			unsigned long RFDO:3;
+		} BIT;
+	} FCFTR;
+	char           wk12[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :14;
+			unsigned long PADS:2;
+			unsigned long :10;
+			unsigned long PADR:6;
+		} BIT;
+	} RPADIR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :27;
+			unsigned long TIM:1;
+			unsigned long :3;
+			unsigned long TIS:1;
+		} BIT;
+	} TRIMD;
+	char           wk13[72];
+	void          *RBWAR;
+	void          *RDFAR;
+	char           wk14[4];
+	void          *TBRAR;
+	void          *TDFAR;
+};
+
+struct st_etherc {
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :11;
+			unsigned long TPC:1;
+			unsigned long ZPE:1;
+			unsigned long PFR:1;
+			unsigned long RXF:1;
+			unsigned long TXF:1;
+			unsigned long :3;
+			unsigned long PRCEF:1;
+			unsigned long :2;
+			unsigned long MPDE:1;
+			unsigned long :2;
+			unsigned long RE:1;
+			unsigned long TE:1;
+			unsigned long :1;
+			unsigned long ILB:1;
+			unsigned long RTM:1;
+			unsigned long DM:1;
+			unsigned long PRM:1;
+		} BIT;
+	} ECMR;
+	char           wk0[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :20;
+			unsigned long RFL:12;
+		} BIT;
+	} RFLR;
+	char           wk1[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :26;
+			unsigned long BFR:1;
+			unsigned long PSRTO:1;
+			unsigned long :1;
+			unsigned long LCHNG:1;
+			unsigned long MPD:1;
+			unsigned long ICD:1;
+		} BIT;
+	} ECSR;
+	char           wk2[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :26;
+			unsigned long BFSIPR:1;
+			unsigned long PSRTOIP:1;
+			unsigned long :1;
+			unsigned long LCHNGIP:1;
+			unsigned long MPDIP:1;
+			unsigned long ICDIP:1;
+		} BIT;
+	} ECSIPR;
+	char           wk3[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :28;
+			unsigned long MDI:1;
+			unsigned long MDO:1;
+			unsigned long MMD:1;
+			unsigned long MDC:1;
+		} BIT;
+	} PIR;
+	char           wk4[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :31;
+			unsigned long LMON:1;
+		} BIT;
+	} PSR;
+	char           wk5[20];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :12;
+			unsigned long RMD:20;
+		} BIT;
+	} RDMLR;
+	char           wk6[12];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :27;
+			unsigned long IPG:5;
+		} BIT;
+	} IPGR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long AP:16;
+		} BIT;
+	} APR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long MP:16;
+		} BIT;
+	} MPR;
+	char           wk7[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :24;
+			unsigned long RPAUSE:8;
+		} BIT;
+	} RFCF;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long TPAUSE:16;
+		} BIT;
+	} TPAUSER;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :24;
+			unsigned long TXP:8;
+		} BIT;
+	} TPAUSECR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long BCF:16;
+		} BIT;
+	} BCFRR;
+	char           wk8[80];
+	unsigned long  MAHR;
+	char           wk9[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long MA:16;
+		} BIT;
+	} MALR;
+	char           wk10[4];
+	unsigned long  TROCR;
+	unsigned long  CDCR;
+	unsigned long  LCCR;
+	unsigned long  CNDCR;
+	char           wk11[4];
+	unsigned long  CEFCR;
+	unsigned long  FRECR;
+	unsigned long  TSFRCR;
+	unsigned long  TLFRCR;
+	unsigned long  RFCR;
+	unsigned long  MAFCR;
+};
+
+struct st_exdmac {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DMST:1;
+		} BIT;
+	} EDMAST;
+	char           wk0[479];
+	unsigned long  CLSBR0;
+	unsigned long  CLSBR1;
+	unsigned long  CLSBR2;
+	unsigned long  CLSBR3;
+	unsigned long  CLSBR4;
+	unsigned long  CLSBR5;
+	unsigned long  CLSBR6;
+	unsigned long  CLSBR7;
+};
+
+struct st_exdmac0 {
+	void          *EDMSAR;
+	void          *EDMDAR;
+	unsigned long  EDMCRA;
+	unsigned short EDMCRB;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short MD:2;
+			unsigned short DTS:2;
+			unsigned short :2;
+			unsigned short SZ:2;
+			unsigned short :6;
+			unsigned short DCTG:2;
+		} BIT;
+	} EDMTMD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char DACKS:1;
+			unsigned char DACKE:1;
+			unsigned char DACKW:1;
+		} BIT;
+	} EDMOMD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char DTIE:1;
+			unsigned char ESIE:1;
+			unsigned char RPTIE:1;
+			unsigned char SARIE:1;
+			unsigned char DARIE:1;
+		} BIT;
+	} EDMINT;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :14;
+			unsigned long AMS:1;
+			unsigned long DIR:1;
+			unsigned long SM:2;
+			unsigned long :1;
+			unsigned long SARA:5;
+			unsigned long DM:2;
+			unsigned long :1;
+			unsigned long DARA:5;
+		} BIT;
+	} EDMAMD;
+	unsigned long  EDMOFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTE:1;
+		} BIT;
+	} EDMCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char CLRS:1;
+			unsigned char :3;
+			unsigned char SWREQ:1;
+		} BIT;
+	} EDMREQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ACT:1;
+			unsigned char :2;
+			unsigned char DTIF:1;
+			unsigned char :3;
+			unsigned char ESIF:1;
+		} BIT;
+	} EDMSTS;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char DREQS:2;
+		} BIT;
+	} EDMRMD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char EREQ:1;
+		} BIT;
+	} EDMERF;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char PREQ:1;
+		} BIT;
+	} EDMPRF;
+};
+
+struct st_exdmac1 {
+	void          *EDMSAR;
+	void          *EDMDAR;
+	unsigned long  EDMCRA;
+	unsigned short EDMCRB;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short MD:2;
+			unsigned short DTS:2;
+			unsigned short :2;
+			unsigned short SZ:2;
+			unsigned short :6;
+			unsigned short DCTG:2;
+		} BIT;
+	} EDMTMD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char DACKS:1;
+			unsigned char DACKE:1;
+			unsigned char DACKW:1;
+		} BIT;
+	} EDMOMD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char DTIE:1;
+			unsigned char ESIE:1;
+			unsigned char RPTIE:1;
+			unsigned char SARIE:1;
+			unsigned char DARIE:1;
+		} BIT;
+	} EDMINT;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :14;
+			unsigned long AMS:1;
+			unsigned long DIR:1;
+			unsigned long SM:2;
+			unsigned long :1;
+			unsigned long SARA:5;
+			unsigned long DM:2;
+			unsigned long :1;
+			unsigned long DARA:5;
+		} BIT;
+	} EDMAMD;
+	char           wk1[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTE:1;
+		} BIT;
+	} EDMCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char CLRS:1;
+			unsigned char :3;
+			unsigned char SWREQ:1;
+		} BIT;
+	} EDMREQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ACT:1;
+			unsigned char :2;
+			unsigned char DTIF:1;
+			unsigned char :3;
+			unsigned char ESIF:1;
+		} BIT;
+	} EDMSTS;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char DREQS:2;
+		} BIT;
+	} EDMRMD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char EREQ:1;
+		} BIT;
+	} EDMERF;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char PREQ:1;
+		} BIT;
+	} EDMPRF;
+};
+
+struct st_flash {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char FLWE:2;
+		} BIT;
+	} FWEPROR;
+	char           wk1[7799160];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char FRDMD:1;
+		} BIT;
+	} FMODR;
+	char           wk2[13];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ROMAE:1;
+			unsigned char :2;
+			unsigned char CMDLK:1;
+			unsigned char DFLAE:1;
+			unsigned char :1;
+			unsigned char DFLRPE:1;
+			unsigned char DFLWPE:1;
+		} BIT;
+	} FASTAT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ROMAEIE:1;
+			unsigned char :2;
+			unsigned char CMDLKIE:1;
+			unsigned char DFLAEIE:1;
+			unsigned char :1;
+			unsigned char DFLRPEIE:1;
+			unsigned char DFLWPEIE:1;
+		} BIT;
+	} FAEINT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char FRDYIE:1;
+		} BIT;
+	} FRDYIE;
+	char           wk3[45];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short DBRE07:1;
+			unsigned short DBRE06:1;
+			unsigned short DBRE05:1;
+			unsigned short DBRE04:1;
+			unsigned short DBRE03:1;
+			unsigned short DBRE02:1;
+			unsigned short DBRE01:1;
+			unsigned short DBRE00:1;
+		} BIT;
+	} DFLRE0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short DBRE15:1;
+			unsigned short DBRE14:1;
+			unsigned short DBRE13:1;
+			unsigned short DBRE12:1;
+			unsigned short DBRE11:1;
+			unsigned short DBRE10:1;
+			unsigned short DBRE09:1;
+			unsigned short DBRE08:1;
+		} BIT;
+	} DFLRE1;
+	char           wk4[12];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short DBWE07:1;
+			unsigned short DBWE06:1;
+			unsigned short DBWE05:1;
+			unsigned short DBWE04:1;
+			unsigned short DBWE03:1;
+			unsigned short DBWE02:1;
+			unsigned short DBWE01:1;
+			unsigned short DBWE00:1;
+		} BIT;
+	} DFLWE0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short DBWE15:1;
+			unsigned short DBWE14:1;
+			unsigned short DBWE13:1;
+			unsigned short DBWE12:1;
+			unsigned short DBWE11:1;
+			unsigned short DBWE10:1;
+			unsigned short DBWE09:1;
+			unsigned short DBWE08:1;
+		} BIT;
+	} DFLWE1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :7;
+			unsigned short FCRME:1;
+		} BIT;
+	} FCURAME;
+	char           wk5[15194];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FRDY:1;
+			unsigned char ILGLERR:1;
+			unsigned char ERSERR:1;
+			unsigned char PRGERR:1;
+			unsigned char SUSRDY:1;
+			unsigned char :1;
+			unsigned char ERSSPD:1;
+			unsigned char PRGSPD:1;
+		} BIT;
+	} FSTATR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FCUERR:1;
+			unsigned char :2;
+			unsigned char FLOCKST:1;
+		} BIT;
+	} FSTATR1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FEKEY:8;
+			unsigned short FENTRYD:1;
+			unsigned short :6;
+			unsigned short FENTRY0:1;
+		} BIT;
+	} FENTRYR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FPKEY:8;
+			unsigned short :7;
+			unsigned short FPROTCN:1;
+		} BIT;
+	} FPROTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FPKEY:8;
+			unsigned short :7;
+			unsigned short FRESET:1;
+		} BIT;
+	} FRESETR;
+	char           wk6[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short CMDR:8;
+			unsigned short PCMDR:8;
+		} BIT;
+	} FCMDR;
+	char           wk7[12];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short ESUSPMD:1;
+		} BIT;
+	} FCPSR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short BCADR:8;
+			unsigned short :2;
+			unsigned short BCSIZE:1;
+		} BIT;
+	} DFLBCCNT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short PEERRST:8;
+		} BIT;
+	} FPESTAT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short BCST:1;
+		} BIT;
+	} DFLBCSTAT;
+	char           wk8[24];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short PCKA:8;
+		} BIT;
+	} PCKAR;
+};
+
+struct st_icu {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char IR:1;
+		} BIT;
+	} IR[255];
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTCE:1;
+		} BIT;
+	} DTCER[255];
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IEN7:1;
+			unsigned char IEN6:1;
+			unsigned char IEN5:1;
+			unsigned char IEN4:1;
+			unsigned char IEN3:1;
+			unsigned char IEN2:1;
+			unsigned char IEN1:1;
+			unsigned char IEN0:1;
+		} BIT;
+	} IER[32];
+	char           wk2[192];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SWINT:1;
+		} BIT;
+	} SWINTR;
+	char           wk3[15];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FIEN:1;
+			unsigned short :7;
+			unsigned short FVCT:8;
+		} BIT;
+	} FIR;
+	char           wk4[14];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char IPR:4;
+		} BIT;
+	} IPR[144];
+	char           wk5[112];
+	unsigned char  DMRSR0;
+	char           wk6[3];
+	unsigned char  DMRSR1;
+	char           wk7[3];
+	unsigned char  DMRSR2;
+	char           wk8[3];
+	unsigned char  DMRSR3;
+	char           wk9[243];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char IRQMD:2;
+		} BIT;
+	} IRQCR[16];
+	char           wk10[112];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char OSTST:1;
+			unsigned char LVDST:1;
+			unsigned char NMIST:1;
+		} BIT;
+	} NMISR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char OSTEN:1;
+			unsigned char LVDEN:1;
+			unsigned char NMIEN:1;
+		} BIT;
+	} NMIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char OSTCLR:1;
+			unsigned char :1;
+			unsigned char NMICLR:1;
+		} BIT;
+	} NMICLR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char NMIMD:1;
+		} BIT;
+	} NMICR;
+};
+
+struct st_ioport {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CS7E:1;
+			unsigned char CS6E:1;
+			unsigned char CS5E:1;
+			unsigned char CS4E:1;
+			unsigned char CS3E:1;
+			unsigned char CS2E:1;
+			unsigned char CS1E:1;
+			unsigned char CS0E:1;
+		} BIT;
+	} PF0CSE;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CS7S:2;
+			unsigned char CS6S:2;
+			unsigned char CS5S:2;
+			unsigned char CS4S:2;
+		} BIT;
+	} PF1CSS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CS3S:2;
+			unsigned char CS2S:2;
+			unsigned char CS1S:2;
+			unsigned char :1;
+			unsigned char CS0S:1;
+		} BIT;
+	} PF2CSS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char A23E:1;
+			unsigned char A22E:1;
+			unsigned char A21E:1;
+			unsigned char A20E:1;
+			unsigned char A19E:1;
+			unsigned char A18E:1;
+			unsigned char A17E:1;
+			unsigned char A16E:1;
+		} BIT;
+	} PF3BUS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char A15E:1;
+			unsigned char A14E:1;
+			unsigned char A13E:1;
+			unsigned char A12E:1;
+			unsigned char A11E:1;
+			unsigned char A10E:1;
+			unsigned char ADRLE:2;
+		} BIT;
+	} PF4BUS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char WR32BC32E:1;
+			unsigned char WR1BC1E:1;
+			unsigned char DH32E:1;
+			unsigned char DHE:1;
+			unsigned char :2;
+			unsigned char ADRHMS:1;
+		} BIT;
+	} PF5BUS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SDCLKE:1;
+			unsigned char DQM1E:1;
+			unsigned char :1;
+			unsigned char MDSDE:1;
+			unsigned char :2;
+			unsigned char WAITS:2;
+		} BIT;
+	} PF6BUS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char EDMA1S:2;
+			unsigned char EDMA0S:2;
+		} BIT;
+	} PF7DMA;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ITS15:1;
+			unsigned char :1;
+			unsigned char ITS13:1;
+			unsigned char :1;
+			unsigned char ITS11:1;
+			unsigned char ITS10:1;
+			unsigned char ITS9:1;
+			unsigned char ITS8:1;
+		} BIT;
+	} PF8IRQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ITS7:1;
+			unsigned char ITS6:1;
+			unsigned char ITS5:1;
+			unsigned char ITS4:1;
+			unsigned char ITS3:1;
+			unsigned char ITS2:1;
+			unsigned char ITS1:1;
+			unsigned char ITS0:1;
+		} BIT;
+	} PF9IRQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char ADTRG0S:1;
+		} BIT;
+	} PFAADC;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char TMR3S:1;
+			unsigned char TMR2S:1;
+			unsigned char TMR1S:1;
+			unsigned char TMR0S:1;
+		} BIT;
+	} PFBTMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCLKS:1;
+			unsigned char MTUS6:1;
+			unsigned char MTUS5:1;
+			unsigned char MTUS4:1;
+			unsigned char MTUS3:1;
+			unsigned char MTUS2:1;
+			unsigned char MTUS1:1;
+			unsigned char MTUS0:1;
+		} BIT;
+	} PFCMTU;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCLKS:1;
+			unsigned char MTUS6:1;
+		} BIT;
+	} PFDMTU;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char EE:1;
+			unsigned char :2;
+			unsigned char PHYMODE:1;
+			unsigned char ENETE3:1;
+			unsigned char ENETE2:1;
+			unsigned char ENETE1:1;
+			unsigned char ENETE0:1;
+		} BIT;
+	} PFENET;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SCI6S:1;
+			unsigned char :2;
+			unsigned char SCI3S:1;
+			unsigned char SCI2S:1;
+			unsigned char SCI1S:1;
+		} BIT;
+	} PFFSCI;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SSL3E:1;
+			unsigned char SSL2E:1;
+			unsigned char SSL1E:1;
+			unsigned char SSL0E:1;
+			unsigned char MISOE:1;
+			unsigned char MOSIE:1;
+			unsigned char RSPCKE:1;
+			unsigned char RSPIS:1;
+		} BIT;
+	} PFGSPI;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SSL3E:1;
+			unsigned char SSL2E:1;
+			unsigned char SSL1E:1;
+			unsigned char SSL0E:1;
+			unsigned char MISOE:1;
+			unsigned char MOSIE:1;
+			unsigned char RSPCKE:1;
+			unsigned char RSPIS:1;
+		} BIT;
+	} PFHSPI;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char CAN0E:1;
+		} BIT;
+	} PFJCAN;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char USBE:1;
+			unsigned char PDHZS:1;
+			unsigned char PUPHZS:1;
+			unsigned char USBMD:2;
+		} BIT;
+	} PFKUSB;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char USBE:1;
+			unsigned char PDHZS:1;
+			unsigned char PUPHZS:1;
+			unsigned char USBMD:2;
+		} BIT;
+	} PFLUSB;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char POE7E:1;
+			unsigned char POE6E:1;
+			unsigned char POE5E:1;
+			unsigned char POE4E:1;
+			unsigned char POE3E:1;
+			unsigned char POE2E:1;
+			unsigned char POE1E:1;
+			unsigned char POE0E:1;
+		} BIT;
+	} PFMPOE;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char POE9E:1;
+			unsigned char POE8E:1;
+		} BIT;
+	} PFNPOE;
+};
+
+struct st_iwdt {
+	unsigned char  IWDTRR;
+	char           wk0[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short CKS:4;
+			unsigned short :2;
+			unsigned short TOPS:2;
+		} BIT;
+	} IWDTCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :1;
+			unsigned short UNDFF:1;
+			unsigned short CNTVAL:14;
+		} BIT;
+	} IWDTSR;
+};
+
+struct st_mtu0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCLR:3;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char BFE:1;
+			unsigned char BFB:1;
+			unsigned char BFA:1;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIORH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOD:4;
+			unsigned char IOC:4;
+		} BIT;
+	} TIORL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :2;
+			unsigned char TCIEV:1;
+			unsigned char TGIED:1;
+			unsigned char TGIEC:1;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	unsigned char  TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+	unsigned short TGRC;
+	unsigned short TGRD;
+	char           wk0[16];
+	unsigned short TGRE;
+	unsigned short TGRF;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TGIEF:1;
+			unsigned char TGIEE:1;
+		} BIT;
+	} TIER2;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TTSE:1;
+			unsigned char TTSB:1;
+			unsigned char TTSA:1;
+		} BIT;
+	} TBTM;
+};
+
+struct st_mtu1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char CCLR:2;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIOR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			unsigned char TCIEV:1;
+			unsigned char :2;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+	char           wk1[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char I2BE:1;
+			unsigned char I2AE:1;
+			unsigned char I1BE:1;
+			unsigned char I1AE:1;
+		} BIT;
+	} TICCR;
+};
+
+struct st_mtu2 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char CCLR:2;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIOR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			unsigned char TCIEV:1;
+			unsigned char :2;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_mtu3 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCLR:3;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char BFB:1;
+			unsigned char BFA:1;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIORH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOD:4;
+			unsigned char IOC:4;
+		} BIT;
+	} TIORL;
+	char           wk2[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :2;
+			unsigned char TCIEV:1;
+			unsigned char TGIED:1;
+			unsigned char TGIEC:1;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	char           wk3[7];
+	unsigned short TCNT;
+	char           wk4[6];
+	unsigned short TGRA;
+	unsigned short TGRB;
+	char           wk5[8];
+	unsigned short TGRC;
+	unsigned short TGRD;
+	char           wk6[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	char           wk7[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TTSB:1;
+			unsigned char TTSA:1;
+		} BIT;
+	} TBTM;
+};
+
+struct st_mtu4 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCLR:3;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char BFB:1;
+			unsigned char BFA:1;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	char           wk2[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIORH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOD:4;
+			unsigned char IOC:4;
+		} BIT;
+	} TIORL;
+	char           wk3[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char TTGE2:1;
+			unsigned char :1;
+			unsigned char TCIEV:1;
+			unsigned char TGIED:1;
+			unsigned char TGIEC:1;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	char           wk4[8];
+	unsigned short TCNT;
+	char           wk5[8];
+	unsigned short TGRA;
+	unsigned short TGRB;
+	char           wk6[8];
+	unsigned short TGRC;
+	unsigned short TGRD;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	char           wk8[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TTSB:1;
+			unsigned char TTSA:1;
+		} BIT;
+	} TBTM;
+	char           wk9[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BF:2;
+			unsigned short :6;
+			unsigned short UT4AE:1;
+			unsigned short DT4AE:1;
+			unsigned short UT4BE:1;
+			unsigned short DT4BE:1;
+			unsigned short ITA3AE:1;
+			unsigned short ITA4VE:1;
+			unsigned short ITB3AE:1;
+			unsigned short ITB4VE:1;
+		} BIT;
+	} TADCR;
+	char           wk10[2];
+	unsigned short TADCORA;
+	unsigned short TADCORB;
+	unsigned short TADCOBRA;
+	unsigned short TADCOBRB;
+};
+
+struct st_mtu5 {
+	unsigned short TCNTU;
+	unsigned short TGRU;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRU;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORU;
+	char           wk1[9];
+	unsigned short TCNTV;
+	unsigned short TGRV;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRV;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORV;
+	char           wk3[9];
+	unsigned short TCNTW;
+	unsigned short TGRW;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRW;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORW;
+	char           wk5[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TGIE5U:1;
+			unsigned char TGIE5V:1;
+			unsigned char TGIE5W:1;
+		} BIT;
+	} TIER;
+	char           wk6[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CSTU5:1;
+			unsigned char CSTV5:1;
+			unsigned char CSTW5:1;
+		} BIT;
+	} TSTR;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CMPCLR5U:1;
+			unsigned char CMPCLR5V:1;
+			unsigned char CMPCLR5W:1;
+		} BIT;
+	} TCNTCMPCLR;
+};
+
+struct st_mtua {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char OE4D:1;
+			unsigned char OE4C:1;
+			unsigned char OE3D:1;
+			unsigned char OE4B:1;
+			unsigned char OE4A:1;
+			unsigned char OE3B:1;
+		} BIT;
+	} TOER;
+	char           wk0[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char BDC:1;
+			unsigned char N:1;
+			unsigned char P:1;
+			unsigned char FB:1;
+			unsigned char WF:1;
+			unsigned char VF:1;
+			unsigned char UF:1;
+		} BIT;
+	} TGCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSYE:1;
+			unsigned char :2;
+			unsigned char TOCL:1;
+			unsigned char TOCS:1;
+			unsigned char OLSN:1;
+			unsigned char OLSP:1;
+		} BIT;
+	} TOCR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BF:2;
+			unsigned char OLS3N:1;
+			unsigned char OLS3P:1;
+			unsigned char OLS2N:1;
+			unsigned char OLS2P:1;
+			unsigned char OLS1N:1;
+			unsigned char OLS1P:1;
+		} BIT;
+	} TOCR2;
+	char           wk1[4];
+	unsigned short TCDR;
+	unsigned short TDDR;
+	char           wk2[8];
+	unsigned short TCNTS;
+	unsigned short TCBR;
+	char           wk3[12];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char T3AEN:1;
+			unsigned char T3ACOR:3;
+			unsigned char T4VEN:1;
+			unsigned char T4VCOR:3;
+		} BIT;
+	} TITCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char T3ACNT:3;
+			unsigned char :1;
+			unsigned char T4VCNT:3;
+		} BIT;
+	} TITCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char BTE:2;
+		} BIT;
+	} TBTER;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TDER:1;
+		} BIT;
+	} TDER;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char OLS3N:1;
+			unsigned char OLS3P:1;
+			unsigned char OLS2N:1;
+			unsigned char OLS2P:1;
+			unsigned char OLS1N:1;
+			unsigned char OLS1P:1;
+		} BIT;
+	} TOLBR;
+	char           wk6[41];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCE:1;
+			unsigned char :6;
+			unsigned char WRE:1;
+		} BIT;
+	} TWCR;
+	char           wk7[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CST4:1;
+			unsigned char CST3:1;
+			unsigned char :3;
+			unsigned char CST2:1;
+			unsigned char CST1:1;
+			unsigned char CST0:1;
+		} BIT;
+	} TSTR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SYNC4:1;
+			unsigned char SYNC3:1;
+			unsigned char :3;
+			unsigned char SYNC2:1;
+			unsigned char SYNC1:1;
+			unsigned char SYNC0:1;
+		} BIT;
+	} TSYR;
+	char           wk8[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RWE:1;
+		} BIT;
+	} TRWER;
+};
+
+struct st_poe {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short POE3F:1;
+			unsigned short POE2F:1;
+			unsigned short POE1F:1;
+			unsigned short POE0F:1;
+			unsigned short :3;
+			unsigned short PIE1:1;
+			unsigned short POE3M:2;
+			unsigned short POE2M:2;
+			unsigned short POE1M:2;
+			unsigned short POE0M:2;
+		} BIT;
+	} ICSR1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short OSF1:1;
+			unsigned short :5;
+			unsigned short OCE1:1;
+			unsigned short OIE1:1;
+		} BIT;
+	} OCSR1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short POE7F:1;
+			unsigned short POE6F:1;
+			unsigned short POE5F:1;
+			unsigned short POE4F:1;
+			unsigned short :3;
+			unsigned short PIE2:1;
+			unsigned short POE7M:2;
+			unsigned short POE6M:2;
+			unsigned short POE5M:2;
+			unsigned short POE4M:2;
+		} BIT;
+	} ICSR2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short OSF2:1;
+			unsigned short :5;
+			unsigned short OCE2:1;
+			unsigned short OIE2:1;
+		} BIT;
+	} OCSR2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short POE8F:1;
+			unsigned short :2;
+			unsigned short POE8E:1;
+			unsigned short PIE3:1;
+			unsigned short :6;
+			unsigned short POE8M:2;
+		} BIT;
+	} ICSR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char CH6HIZ:1;
+			unsigned char CH910HIZ:1;
+			unsigned char CH0HIZ:1;
+			unsigned char CH34HIZ:1;
+		} BIT;
+	} SPOER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PE7ZE:1;
+			unsigned char PE6ZE:1;
+			unsigned char PE5ZE:1;
+			unsigned char PE4ZE:1;
+			unsigned char PE3ZE:1;
+			unsigned char PE2ZE:1;
+			unsigned char PE1ZE:1;
+			unsigned char PE0ZE:1;
+		} BIT;
+	} POECR1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :1;
+			unsigned short P1CZEA:1;
+			unsigned short P2CZEA:1;
+			unsigned short P3CZEA:1;
+			unsigned short :1;
+			unsigned short P1CZEB:1;
+			unsigned short P2CZEB:1;
+			unsigned short P3CZEB:1;
+			unsigned short :1;
+			unsigned short P4CZE:1;
+			unsigned short P5CZE:1;
+			unsigned short P6CZE:1;
+		} BIT;
+	} POECR2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short POE9F:1;
+			unsigned short :2;
+			unsigned short POE9E:1;
+			unsigned short PIE4:1;
+			unsigned short :6;
+			unsigned short POE9M:2;
+		} BIT;
+	} ICSR4;
+};
+
+struct st_port0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR;
+};
+
+struct st_port1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR;
+};
+
+struct st_port2 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR;
+};
+
+struct st_port3 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR;
+};
+
+struct st_port4 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+};
+
+struct st_port5 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+};
+
+struct st_port6 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+};
+
+struct st_port7 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+};
+
+struct st_port8 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+};
+
+struct st_port9 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_porta {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_portb {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_portc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR;
+	char           wk4[63];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_portd {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_porte {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_portf {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+};
+
+struct st_portg {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_ppg0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char G3CMS:2;
+			unsigned char G2CMS:2;
+			unsigned char G1CMS:2;
+			unsigned char G0CMS:2;
+		} BIT;
+	} PCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char G3INV:1;
+			unsigned char G2INV:1;
+			unsigned char G1INV:1;
+			unsigned char G0INV:1;
+			unsigned char G3NOV:1;
+			unsigned char G2NOV:1;
+			unsigned char G1NOV:1;
+			unsigned char G0NOV:1;
+		} BIT;
+	} PMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char NDER15:1;
+			unsigned char NDER14:1;
+			unsigned char NDER13:1;
+			unsigned char NDER12:1;
+			unsigned char NDER11:1;
+			unsigned char NDER10:1;
+			unsigned char NDER9:1;
+			unsigned char NDER8:1;
+		} BIT;
+	} NDERH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char NDER7:1;
+			unsigned char NDER6:1;
+			unsigned char NDER5:1;
+			unsigned char NDER4:1;
+			unsigned char NDER3:1;
+			unsigned char NDER2:1;
+			unsigned char NDER1:1;
+			unsigned char NDER0:1;
+		} BIT;
+	} NDERL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char POD15:1;
+			unsigned char POD14:1;
+			unsigned char POD13:1;
+			unsigned char POD12:1;
+			unsigned char POD11:1;
+			unsigned char POD10:1;
+			unsigned char POD9:1;
+			unsigned char POD8:1;
+		} BIT;
+	} PODRH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char POD7:1;
+			unsigned char POD6:1;
+			unsigned char POD5:1;
+			unsigned char POD4:1;
+			unsigned char POD3:1;
+			unsigned char POD2:1;
+			unsigned char POD1:1;
+			unsigned char POD0:1;
+		} BIT;
+	} PODRL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char NDR15:1;
+			unsigned char NDR14:1;
+			unsigned char NDR13:1;
+			unsigned char NDR12:1;
+			unsigned char NDR11:1;
+			unsigned char NDR10:1;
+			unsigned char NDR9:1;
+			unsigned char NDR8:1;
+		} BIT;
+	} NDRH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char NDR7:1;
+			unsigned char NDR6:1;
+			unsigned char NDR5:1;
+			unsigned char NDR4:1;
+			unsigned char NDR3:1;
+			unsigned char NDR2:1;
+			unsigned char NDR1:1;
+			unsigned char NDR0:1;
+		} BIT;
+	} NDRL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char NDR11:1;
+			unsigned char NDR10:1;
+			unsigned char NDR9:1;
+			unsigned char NDR8:1;
+		} BIT;
+	} NDRH2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char NDR3:1;
+			unsigned char NDR2:1;
+			unsigned char NDR1:1;
+			unsigned char NDR0:1;
+		} BIT;
+	} NDRL2;
+};
+
+struct st_ppg1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char PTRSL:1;
+		} BIT;
+	} PTRSLR;
+	char           wk0[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char G3CMS:2;
+			unsigned char G2CMS:2;
+			unsigned char G1CMS:2;
+			unsigned char G0CMS:2;
+		} BIT;
+	} PCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char G3INV:1;
+			unsigned char G2INV:1;
+			unsigned char G1INV:1;
+			unsigned char G0INV:1;
+			unsigned char G3NOV:1;
+			unsigned char G2NOV:1;
+			unsigned char G1NOV:1;
+			unsigned char G0NOV:1;
+		} BIT;
+	} PMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char NDER31:1;
+			unsigned char NDER30:1;
+			unsigned char NDER29:1;
+			unsigned char NDER28:1;
+			unsigned char NDER27:1;
+			unsigned char NDER26:1;
+			unsigned char NDER25:1;
+			unsigned char NDER24:1;
+		} BIT;
+	} NDERH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char NDER23:1;
+			unsigned char NDER22:1;
+			unsigned char NDER21:1;
+			unsigned char NDER20:1;
+			unsigned char NDER19:1;
+			unsigned char NDER18:1;
+			unsigned char NDER17:1;
+			unsigned char NDER16:1;
+		} BIT;
+	} NDERL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char POD31:1;
+			unsigned char POD30:1;
+			unsigned char POD29:1;
+			unsigned char POD28:1;
+			unsigned char POD27:1;
+			unsigned char POD26:1;
+			unsigned char POD25:1;
+			unsigned char POD24:1;
+		} BIT;
+	} PODRH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char POD23:1;
+			unsigned char POD22:1;
+			unsigned char POD21:1;
+			unsigned char POD20:1;
+			unsigned char POD19:1;
+			unsigned char POD18:1;
+			unsigned char POD17:1;
+			unsigned char POD16:1;
+		} BIT;
+	} PODRL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char NDR31:1;
+			unsigned char NDR30:1;
+			unsigned char NDR29:1;
+			unsigned char NDR28:1;
+			unsigned char NDR27:1;
+			unsigned char NDR26:1;
+			unsigned char NDR25:1;
+			unsigned char NDR24:1;
+		} BIT;
+	} NDRH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char NDR23:1;
+			unsigned char NDR22:1;
+			unsigned char NDR21:1;
+			unsigned char NDR20:1;
+			unsigned char NDR19:1;
+			unsigned char NDR18:1;
+			unsigned char NDR17:1;
+			unsigned char NDR16:1;
+		} BIT;
+	} NDRL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char NDR27:1;
+			unsigned char NDR26:1;
+			unsigned char NDR25:1;
+			unsigned char NDR24:1;
+		} BIT;
+	} NDRH2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char NDR19:1;
+			unsigned char NDR18:1;
+			unsigned char NDR17:1;
+			unsigned char NDR16:1;
+		} BIT;
+	} NDRL2;
+};
+
+struct st_riic {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ICE:1;
+			unsigned char IICRST:1;
+			unsigned char CLO:1;
+			unsigned char SOWP:1;
+			unsigned char SCLO:1;
+			unsigned char SDAO:1;
+			unsigned char SCLI:1;
+			unsigned char SDAI:1;
+		} BIT;
+	} ICCR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BBSY:1;
+			unsigned char MST:1;
+			unsigned char TRS:1;
+			unsigned char :1;
+			unsigned char SP:1;
+			unsigned char RS:1;
+			unsigned char ST:1;
+		} BIT;
+	} ICCR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char MTWP:1;
+			unsigned char CKS:3;
+			unsigned char BCWP:1;
+			unsigned char BC:3;
+		} BIT;
+	} ICMR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DLCS:1;
+			unsigned char SDDL:3;
+			unsigned char :1;
+			unsigned char TMOH:1;
+			unsigned char TMOL:1;
+			unsigned char TMOS:1;
+		} BIT;
+	} ICMR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SMBS:1;
+			unsigned char WAIT:1;
+			unsigned char RDRFS:1;
+			unsigned char ACKWP:1;
+			unsigned char ACKBT:1;
+			unsigned char ACKBR:1;
+			unsigned char NF:2;
+		} BIT;
+	} ICMR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FMPE:1;
+			unsigned char SCLE:1;
+			unsigned char NFE:1;
+			unsigned char NACKE:1;
+			unsigned char SALE:1;
+			unsigned char NALE:1;
+			unsigned char MALE:1;
+			unsigned char TMOE:1;
+		} BIT;
+	} ICFER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char HOAE:1;
+			unsigned char :1;
+			unsigned char DIDE:1;
+			unsigned char :1;
+			unsigned char GCAE:1;
+			unsigned char SAR2E:1;
+			unsigned char SAR1E:1;
+			unsigned char SAR0E:1;
+		} BIT;
+	} ICSER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char TEIE:1;
+			unsigned char RIE:1;
+			unsigned char NAKIE:1;
+			unsigned char SPIE:1;
+			unsigned char STIE:1;
+			unsigned char ALIE:1;
+			unsigned char TMOIE:1;
+		} BIT;
+	} ICIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char HOA:1;
+			unsigned char :1;
+			unsigned char DID:1;
+			unsigned char :1;
+			unsigned char GCA:1;
+			unsigned char AAS2:1;
+			unsigned char AAS1:1;
+			unsigned char AAS0:1;
+		} BIT;
+	} ICSR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TDRE:1;
+			unsigned char TEND:1;
+			unsigned char RDRF:1;
+			unsigned char NACKF:1;
+			unsigned char STOP:1;
+			unsigned char START:1;
+			unsigned char AL:1;
+			unsigned char TMOF:1;
+		} BIT;
+	} ICSR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SVA:7;
+			unsigned char SVA0:1;
+		} BIT;
+	} SARL0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SVA:2;
+			unsigned char FS:1;
+		} BIT;
+	} SARU0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SVA:7;
+			unsigned char SVA0:1;
+		} BIT;
+	} SARL1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SVA:2;
+			unsigned char FS:1;
+		} BIT;
+	} SARU1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SVA:7;
+			unsigned char SVA0:1;
+		} BIT;
+	} SARL2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SVA:2;
+			unsigned char FS:1;
+		} BIT;
+	} SARU2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char BRL:5;
+		} BIT;
+	} ICBRL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char BRH:5;
+		} BIT;
+	} ICBRH;
+	unsigned char  ICDRT;
+	unsigned char  ICDRR;
+};
+
+struct st_rspi {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SPRIE:1;
+			unsigned char SPE:1;
+			unsigned char SPTIE:1;
+			unsigned char SPEIE:1;
+			unsigned char MSTR:1;
+			unsigned char MODFEN:1;
+			unsigned char TXMD:1;
+			unsigned char SPMS:1;
+		} BIT;
+	} SPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char SSLP3:1;
+			unsigned char SSLP2:1;
+			unsigned char SSLP1:1;
+			unsigned char SSLP0:1;
+		} BIT;
+	} SSLP;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char MOIFE:1;
+			unsigned char MOIFV:1;
+			unsigned char :1;
+			unsigned char SPOM:1;
+			unsigned char SPLP2:1;
+			unsigned char SPLP:1;
+		} BIT;
+	} SPPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SPRF:1;
+			unsigned char :1;
+			unsigned char SPTEF:1;
+			unsigned char :1;
+			unsigned char PERF:1;
+			unsigned char MODF:1;
+			unsigned char IDLNF:1;
+			unsigned char OVRF:1;
+		} BIT;
+	} SPSR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned short H;
+			unsigned short L;
+		} WORD;
+	} SPDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SPSLN:3;
+		} BIT;
+	} SPSCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SPECM:3;
+			unsigned char :1;
+			unsigned char SPCP:3;
+		} BIT;
+	} SPSSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SPR7:1;
+			unsigned char SPR6:1;
+			unsigned char SPR5:1;
+			unsigned char SPR4:1;
+			unsigned char SPR3:1;
+			unsigned char SPR2:1;
+			unsigned char SPR1:1;
+			unsigned char SPR0:1;
+		} BIT;
+	} SPBR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char SPLW:1;
+			unsigned char SPRDTD:1;
+			unsigned char SLSEL:2;
+			unsigned char SPFC:2;
+		} BIT;
+	} SPDCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SCKDL:3;
+		} BIT;
+	} SPCKD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SLNDL:3;
+		} BIT;
+	} SSLND;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SPNDL:3;
+		} BIT;
+	} SPND;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PTE:1;
+			unsigned char SPIIE:1;
+			unsigned char SPOE:1;
+			unsigned char SPPE:1;
+		} BIT;
+	} SPCR2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD3;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD4;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD5;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD6;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD7;
+};
+
+struct st_rtc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char F64HZ:1;
+			unsigned char F32HZ:1;
+			unsigned char F16HZ:1;
+			unsigned char F8HZ:1;
+			unsigned char F4HZ:1;
+			unsigned char F2HZ:1;
+			unsigned char F1HZ:1;
+		} BIT;
+	} R64CNT;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCNT;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCNT;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char HOUR10:2;
+			unsigned char HOUR1:4;
+		} BIT;
+	} RHRCNT;
+	char           wk3[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char DAY:3;
+		} BIT;
+	} RWKCNT;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char DAY10:2;
+			unsigned char DAY1:4;
+		} BIT;
+	} RDAYCNT;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCNT;
+	char           wk6[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short YEAR1000:4;
+			unsigned short YEAR100:4;
+			unsigned short YEAR10:4;
+			unsigned short YEAR1:4;
+		} BIT;
+	} RYRCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECAR;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINAR;
+	char           wk8[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char :1;
+			unsigned char HOUR10:2;
+			unsigned char HOUR1:4;
+		} BIT;
+	} RHRAR;
+	char           wk9[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char :4;
+			unsigned char DAY:3;
+		} BIT;
+	} RWKAR;
+	char           wk10[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char :1;
+			unsigned char DAY10:2;
+			unsigned char DAY1:4;
+		} BIT;
+	} RDAYAR;
+	char           wk11[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char :2;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONAR;
+	char           wk12[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short YEAR1000:4;
+			unsigned short YEAR100:4;
+			unsigned short YEAR10:4;
+			unsigned short YEAR1:4;
+		} BIT;
+	} RYRAR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+		} BIT;
+	} RYRAREN;
+	char           wk13[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PES:3;
+			unsigned char :1;
+			unsigned char PIE:1;
+			unsigned char CIE:1;
+			unsigned char AIE:1;
+		} BIT;
+	} RCR1;
+	char           wk14[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char RTCOE:1;
+			unsigned char ADJ:1;
+			unsigned char RESET:1;
+			unsigned char START:1;
+		} BIT;
+	} RCR2;
+};
+
+struct st_s12ad {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ADST:1;
+			unsigned char ADCS:1;
+			unsigned char :1;
+			unsigned char ADIE:1;
+			unsigned char CKS:2;
+			unsigned char TRGE:1;
+			unsigned char EXTRG:1;
+		} BIT;
+	} ADCSR;
+	char           wk0[3];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short ANS:8;
+		} BIT;
+	} ADANS;
+	char           wk1[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short ADS:8;
+		} BIT;
+	} ADADS;
+	char           wk2[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char ADC:2;
+		} BIT;
+	} ADADC;
+	char           wk3[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADRFMT:1;
+			unsigned short :9;
+			unsigned short ACE:1;
+		} BIT;
+	} ADCER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char ADSTRS:4;
+		} BIT;
+	} ADSTRGR;
+	char           wk4[15];
+	unsigned short ADDR0;
+	unsigned short ADDR1;
+	unsigned short ADDR2;
+	unsigned short ADDR3;
+	unsigned short ADDR4;
+	unsigned short ADDR5;
+	unsigned short ADDR6;
+	unsigned short ADDR7;
+};
+
+struct st_sci {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CM:1;
+			unsigned char CHR:1;
+			unsigned char PE:1;
+			unsigned char PM:1;
+			unsigned char STOP:1;
+			unsigned char MP:1;
+			unsigned char CKS:2;
+		} BIT;
+	} SMR;
+	unsigned char  BRR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char RIE:1;
+			unsigned char TE:1;
+			unsigned char RE:1;
+			unsigned char MPIE:1;
+			unsigned char TEIE:1;
+			unsigned char CKE:2;
+		} BIT;
+	} SCR;
+	unsigned char  TDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TDRE:1;
+			unsigned char RDRF:1;
+			unsigned char ORER:1;
+			unsigned char FER:1;
+			unsigned char PER:1;
+			unsigned char TEND:1;
+			unsigned char MPB:1;
+			unsigned char MPBT:1;
+		} BIT;
+	} SSR;
+	unsigned char  RDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char ABCS:1;
+			unsigned char :3;
+			unsigned char ACS0:1;
+		} BIT;
+	} SEMR;
+};
+
+struct st_smci {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char GM:1;
+			unsigned char BLK:1;
+			unsigned char PE:1;
+			unsigned char PM:1;
+			unsigned char BCP:2;
+			unsigned char CKS:2;
+		} BIT;
+	} SMR;
+	unsigned char  BRR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char RIE:1;
+			unsigned char TE:1;
+			unsigned char RE:1;
+			unsigned char :1;
+			unsigned char TEIE:1;
+			unsigned char CKE:2;
+		} BIT;
+	} SCR;
+	unsigned char  TDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TDRE:1;
+			unsigned char RDRF:1;
+			unsigned char ORER:1;
+			unsigned char ERS:1;
+			unsigned char PER:1;
+			unsigned char TEND:1;
+		} BIT;
+	} SSR;
+	unsigned char  RDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BCP2:1;
+			unsigned char :3;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+};
+
+struct st_system {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short MDE:1;
+			unsigned short :5;
+			unsigned short MD1:1;
+			unsigned short MD0:1;
+		} BIT;
+	} MDMONR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :9;
+			unsigned short UBTS:1;
+			unsigned short :1;
+			unsigned short BOTS:1;
+			unsigned short BSW:2;
+			unsigned short EXB:1;
+			unsigned short IROM:1;
+		} BIT;
+	} MDSR;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :6;
+			unsigned short EXBE:1;
+			unsigned short ROME:1;
+		} BIT;
+	} SYSCR0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short RAME:1;
+		} BIT;
+	} SYSCR1;
+	char           wk1[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SSBY:1;
+			unsigned short OPE:1;
+			unsigned short :1;
+			unsigned short STS:5;
+		} BIT;
+	} SBYCR;
+	char           wk2[2];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long ACSE:1;
+			unsigned long :1;
+			unsigned long MSTPA29:1;
+			unsigned long MSTPA28:1;
+			unsigned long :4;
+			unsigned long MSTPA23:1;
+			unsigned long MSTPA22:1;
+			unsigned long :2;
+			unsigned long MSTPA19:1;
+			unsigned long :1;
+			unsigned long MSTPA17:1;
+			unsigned long :1;
+			unsigned long MSTPA15:1;
+			unsigned long MSTPA14:1;
+			unsigned long :2;
+			unsigned long MSTPA11:1;
+			unsigned long MSTPA10:1;
+			unsigned long MSTPA9:1;
+			unsigned long MSTPA8:1;
+			unsigned long :2;
+			unsigned long MSTPA5:1;
+			unsigned long MSTPA4:1;
+		} BIT;
+	} MSTPCRA;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long MSTPB31:1;
+			unsigned long MSTPB30:1;
+			unsigned long MSTPB29:1;
+			unsigned long MSTPB28:1;
+			unsigned long :1;
+			unsigned long MSTPB26:1;
+			unsigned long MSTPB25:1;
+			unsigned long :1;
+			unsigned long MSTPB23:1;
+			unsigned long :1;
+			unsigned long MSTPB21:1;
+			unsigned long MSTPB20:1;
+			unsigned long MSTPB19:1;
+			unsigned long MSTPB18:1;
+			unsigned long MSTPB17:1;
+			unsigned long MSTPB16:1;
+			unsigned long MSTPB15:1;
+			unsigned long :14;
+			unsigned long MSTPB0:1;
+		} BIT;
+	} MSTPCRB;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :30;
+			unsigned long MSTPC1:1;
+			unsigned long MSTPC0:1;
+		} BIT;
+	} MSTPCRC;
+	char           wk3[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :4;
+			unsigned long ICK:4;
+			unsigned long PSTOP1:1;
+			unsigned long PSTOP0:1;
+			unsigned long :2;
+			unsigned long BCK:4;
+			unsigned long :4;
+			unsigned long PCK:4;
+		} BIT;
+	} SCKCR;
+	char           wk4[12];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char BCLKDIV:1;
+		} BIT;
+	} BCKCR;
+	char           wk5[15];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short OSTDE:1;
+			unsigned short OSTDF:1;
+		} BIT;
+	} OSTDCR;
+	char           wk6[49726];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSBY:1;
+			unsigned char IOKEEP:1;
+			unsigned char RAMCUT2:1;
+			unsigned char RAMCUT1:1;
+			unsigned char :3;
+			unsigned char RAMCUT0:1;
+		} BIT;
+	} DPSBYCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char WTSTS:6;
+		} BIT;
+	} DPSWCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DNMIE:1;
+			unsigned char DUSBE:1;
+			unsigned char DRTCE:1;
+			unsigned char DLVDE:1;
+			unsigned char DIRQ3E:1;
+			unsigned char DIRQ2E:1;
+			unsigned char DIRQ1E:1;
+			unsigned char DIRQ0E:1;
+		} BIT;
+	} DPSIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DNMIF:1;
+			unsigned char DUSBF:1;
+			unsigned char DRTCFF:1;
+			unsigned char DLVDF:1;
+			unsigned char DIRQ3F:1;
+			unsigned char DIRQ2F:1;
+			unsigned char DIRQ1F:1;
+			unsigned char DIRQ0F:1;
+		} BIT;
+	} DPSIFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DNMIEG:1;
+			unsigned char :3;
+			unsigned char DIRQ3EG:1;
+			unsigned char DIRQ2EG:1;
+			unsigned char DIRQ1EG:1;
+			unsigned char DIRQ0EG:1;
+		} BIT;
+	} DPSIEGR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSRSTF:1;
+			unsigned char :4;
+			unsigned char LVD2F:1;
+			unsigned char LVD1F:1;
+			unsigned char PORF:1;
+		} BIT;
+	} RSTSR;
+	char           wk7[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SUBSTOP:1;
+		} BIT;
+	} SUBOSCCR;
+	char           wk8[1];
+	unsigned char  LVDKEYR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char LVD2E:1;
+			unsigned char LVD2RI:1;
+			unsigned char :2;
+			unsigned char LVD1E:1;
+			unsigned char LVD1RI:1;
+		} BIT;
+	} LVDCR;
+	char           wk9[2];
+	unsigned char  DPSBKR[32];
+};
+
+struct st_tmr0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CMIEB:1;
+			unsigned char CMIEA:1;
+			unsigned char OVIE:1;
+			unsigned char CCLR:2;
+		} BIT;
+	} TCR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char ADTE:1;
+			unsigned char OSB:2;
+			unsigned char OSA:2;
+		} BIT;
+	} TCSR;
+	char           wk1[1];
+	unsigned char  TCORA;
+	char           wk2[1];
+	unsigned char  TCORB;
+	char           wk3[1];
+	unsigned char  TCNT;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TMRIS:1;
+			unsigned char :2;
+			unsigned char CSS:2;
+			unsigned char CKS:3;
+		} BIT;
+	} TCCR;
+};
+
+struct st_tmr1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CMIEB:1;
+			unsigned char CMIEA:1;
+			unsigned char OVIE:1;
+			unsigned char CCLR:2;
+		} BIT;
+	} TCR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char OSB:2;
+			unsigned char OSA:2;
+		} BIT;
+	} TCSR;
+	char           wk1[1];
+	unsigned char  TCORA;
+	char           wk2[1];
+	unsigned char  TCORB;
+	char           wk3[1];
+	unsigned char  TCNT;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TMRIS:1;
+			unsigned char :2;
+			unsigned char CSS:2;
+			unsigned char CKS:3;
+		} BIT;
+	} TCCR;
+};
+
+struct st_tmr01 {
+	unsigned short TCORA;
+	unsigned short TCORB;
+	unsigned short TCNT;
+	unsigned short TCCR;
+};
+
+struct st_usb {
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long DVSTS1:1;
+			unsigned long :1;
+			unsigned long DOVCB1:1;
+			unsigned long DOVCA1:1;
+			unsigned long :2;
+			unsigned long DM1:1;
+			unsigned long DP1:1;
+			unsigned long DVBSTS0:1;
+			unsigned long :1;
+			unsigned long DOVCB0:1;
+			unsigned long DOVCA0:1;
+			unsigned long :2;
+			unsigned long DM0:1;
+			unsigned long DP0:1;
+			unsigned long :3;
+			unsigned long FIXPHY1:1;
+			unsigned long :3;
+			unsigned long SRPC1:1;
+			unsigned long :3;
+			unsigned long FIXPHY0:1;
+			unsigned long :3;
+			unsigned long SRPC0:1;
+		} BIT;
+	} DPUSR0R;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long DVBINT1:1;
+			unsigned long :1;
+			unsigned long DOVRCRB1:1;
+			unsigned long DOVRCRA1:1;
+			unsigned long :2;
+			unsigned long DMINT1:1;
+			unsigned long DPINT1:1;
+			unsigned long DVBINT0:1;
+			unsigned long :1;
+			unsigned long DOVRCRB0:1;
+			unsigned long DOVRCRA0:1;
+			unsigned long :2;
+			unsigned long DMINT0:1;
+			unsigned long DPINT0:1;
+			unsigned long DVBSE1:1;
+			unsigned long :1;
+			unsigned long DOVRCRBE1:1;
+			unsigned long DOVRCRAE1:1;
+			unsigned long :2;
+			unsigned long DMINTE1:1;
+			unsigned long DPINTE1:1;
+			unsigned long DVBSE0:1;
+			unsigned long :1;
+			unsigned long DOVRCRBE0:1;
+			unsigned long DOVRCRAE0:1;
+			unsigned long :2;
+			unsigned long DMINTE0:1;
+			unsigned long DPINTE0:1;
+		} BIT;
+	} DPUSR1R;
+};
+
+struct st_usb0 {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short SCKE:1;
+			unsigned short :3;
+			unsigned short DCFM:1;
+			unsigned short DRPD:1;
+			unsigned short DPRPU:1;
+			unsigned short :3;
+			unsigned short USBE:1;
+		} BIT;
+	} SYSCFG;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short OVCMON:2;
+			unsigned short :7;
+			unsigned short HTACT:1;
+			unsigned short :3;
+			unsigned short IDMON:1;
+			unsigned short LNST:2;
+		} BIT;
+	} SYSSTS0;
+	char           wk1[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short HNPBTOA:1;
+			unsigned short EXICEN:1;
+			unsigned short VBUSEN:1;
+			unsigned short WKUP:1;
+			unsigned short RWUPE:1;
+			unsigned short USBRST:1;
+			unsigned short RESUME:1;
+			unsigned short UACT:1;
+			unsigned short :1;
+			unsigned short RHST:3;
+		} BIT;
+	} DVSTCTR0;
+	char           wk2[10];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char L;
+			unsigned char H;
+		} BYTE;
+	} CFIFO;
+	char           wk3[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char L;
+			unsigned char H;
+		} BYTE;
+	} D0FIFO;
+	char           wk4[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char L;
+			unsigned char H;
+		} BYTE;
+	} D1FIFO;
+	char           wk5[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short RCNT:1;
+			unsigned short REW:1;
+			unsigned short :3;
+			unsigned short MBW:1;
+			unsigned short :1;
+			unsigned short BIGEND:1;
+			unsigned short :2;
+			unsigned short ISEL:1;
+			unsigned short :1;
+			unsigned short CURPIPE:4;
+		} BIT;
+	} CFIFOSEL;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BVAL:1;
+			unsigned short BCLR:1;
+			unsigned short FRDY:1;
+			unsigned short :4;
+			unsigned short DTLN:9;
+		} BIT;
+	} CFIFOCTR;
+	char           wk6[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short RCNT:1;
+			unsigned short REW:1;
+			unsigned short DCLRM:1;
+			unsigned short DREQE:1;
+			unsigned short :1;
+			unsigned short MBW:1;
+			unsigned short :1;
+			unsigned short BIGEND:1;
+			unsigned short :4;
+			unsigned short CURPIPE:4;
+		} BIT;
+	} D0FIFOSEL;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BVAL:1;
+			unsigned short BCLR:1;
+			unsigned short FRDY:1;
+			unsigned short :4;
+			unsigned short DTLN:9;
+		} BIT;
+	} D0FIFOCTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short RCNT:1;
+			unsigned short REW:1;
+			unsigned short DCLRM:1;
+			unsigned short DREQE:1;
+			unsigned short :1;
+			unsigned short MBW:1;
+			unsigned short :1;
+			unsigned short BIGEND:1;
+			unsigned short :4;
+			unsigned short CURPIPE:4;
+		} BIT;
+	} D1FIFOSEL;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BVAL:1;
+			unsigned short BCLR:1;
+			unsigned short FRDY:1;
+			unsigned short :4;
+			unsigned short DTLN:9;
+		} BIT;
+	} D1FIFOCTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short VBSE:1;
+			unsigned short RSME:1;
+			unsigned short SOFE:1;
+			unsigned short DVSE:1;
+			unsigned short CTRE:1;
+			unsigned short BEMPE:1;
+			unsigned short NRDYE:1;
+			unsigned short BRDYE:1;
+		} BIT;
+	} INTENB0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short OVRCRE:1;
+			unsigned short BCHGE:1;
+			unsigned short :1;
+			unsigned short DTCHE:1;
+			unsigned short ATTCHE:1;
+			unsigned short :4;
+			unsigned short EOFERRE:1;
+			unsigned short SIGNE:1;
+			unsigned short SACKE:1;
+		} BIT;
+	} INTENB1;
+	char           wk7[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short PIPE9BRDYE:1;
+			unsigned short PIPE8BRDYE:1;
+			unsigned short PIPE7BRDYE:1;
+			unsigned short PIPE6BRDYE:1;
+			unsigned short PIPE5BRDYE:1;
+			unsigned short PIPE4BRDYE:1;
+			unsigned short PIPE3BRDYE:1;
+			unsigned short PIPE2BRDYE:1;
+			unsigned short PIPE1BRDYE:1;
+			unsigned short PIPE0BRDYE:1;
+		} BIT;
+	} BRDYENB;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short PIPE9BRDYE:1;
+			unsigned short PIPE8BRDYE:1;
+			unsigned short PIPE7BRDYE:1;
+			unsigned short PIPE6BRDYE:1;
+			unsigned short PIPE5BRDYE:1;
+			unsigned short PIPE4BRDYE:1;
+			unsigned short PIPE3BRDYE:1;
+			unsigned short PIPE2BRDYE:1;
+			unsigned short PIPE1BRDYE:1;
+			unsigned short PIPE0BRDYE:1;
+		} BIT;
+	} NRDYENB;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short PIPE9BEMPE:1;
+			unsigned short PIPE8BEMPE:1;
+			unsigned short PIPE7BEMPE:1;
+			unsigned short PIPE6BEMPE:1;
+			unsigned short PIPE5BEMPE:1;
+			unsigned short PIPE4BEMPE:1;
+			unsigned short PIPE3BEMPE:1;
+			unsigned short PIPE2BEMPE:1;
+			unsigned short PIPE1BEMPE:1;
+			unsigned short PIPE0BEMPE:1;
+		} BIT;
+	} BEMPENB;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short TRNENSEL:1;
+			unsigned short :1;
+			unsigned short BRDYM:1;
+			unsigned short :1;
+			unsigned short EDGESTS:1;
+		} BIT;
+	} SOFCFG;
+	char           wk8[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short VBINT:1;
+			unsigned short RESM:1;
+			unsigned short SOFR:1;
+			unsigned short DVST:1;
+			unsigned short CTRT:1;
+			unsigned short BEMP:1;
+			unsigned short NRDY:1;
+			unsigned short BRDY:1;
+			unsigned short VBSTS:1;
+			unsigned short DVSQ:3;
+			unsigned short VALID:1;
+			unsigned short CTSQ:3;
+		} BIT;
+	} INTSTS0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short OVRCR:1;
+			unsigned short BCHG:1;
+			unsigned short :1;
+			unsigned short DTCH:1;
+			unsigned short ATTCH:1;
+			unsigned short :4;
+			unsigned short EOFERR:1;
+			unsigned short SIGN:1;
+			unsigned short SACK:1;
+		} BIT;
+	} INTSTS1;
+	char           wk9[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short PIPE9BRDY:1;
+			unsigned short PIPE8BRDY:1;
+			unsigned short PIPE7BRDY:1;
+			unsigned short PIPE6BRDY:1;
+			unsigned short PIPE5BRDY:1;
+			unsigned short PIPE4BRDY:1;
+			unsigned short PIPE3BRDY:1;
+			unsigned short PIPE2BRDY:1;
+			unsigned short PIPE1BRDY:1;
+			unsigned short PIPE0BRDY:1;
+		} BIT;
+	} BRDYSTS;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short PIPE9BRDY:1;
+			unsigned short PIPE8BRDY:1;
+			unsigned short PIPE7BRDY:1;
+			unsigned short PIPE6BRDY:1;
+			unsigned short PIPE5BRDY:1;
+			unsigned short PIPE4BRDY:1;
+			unsigned short PIPE3BRDY:1;
+			unsigned short PIPE2BRDY:1;
+			unsigned short PIPE1BRDY:1;
+			unsigned short PIPE0BRDY:1;
+		} BIT;
+	} NRDYSTS;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short PIPE9BENP:1;
+			unsigned short PIPE8BENP:1;
+			unsigned short PIPE7BENP:1;
+			unsigned short PIPE6BENP:1;
+			unsigned short PIPE5BENP:1;
+			unsigned short PIPE4BENP:1;
+			unsigned short PIPE3BENP:1;
+			unsigned short PIPE2BENP:1;
+			unsigned short PIPE1BENP:1;
+			unsigned short PIPE0BENP:1;
+		} BIT;
+	} BEMPSTS;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short OVRN:1;
+			unsigned short CRCE:1;
+			unsigned short :3;
+			unsigned short FRNM:11;
+		} BIT;
+	} FRMNUM;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short DVCHG:1;
+		} BIT;
+	} DVCHGR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short STSRECOV:4;
+			unsigned short :1;
+			unsigned short USBADDR:7;
+		} BIT;
+	} USBADDR;
+	char           wk10[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BREQUEST:8;
+			unsigned short BMREQUESTTYPE:8;
+		} BIT;
+	} USBREQ;
+	unsigned short USBVAL;
+	unsigned short USBINDX;
+	unsigned short USBLENG;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short SHTNAK:1;
+			unsigned short :2;
+			unsigned short DIR:1;
+		} BIT;
+	} DCPCFG;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short DEVSEL:4;
+			unsigned short :5;
+			unsigned short MXPS:7;
+		} BIT;
+	} DCPMAXP;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short SUREQ:1;
+			unsigned short :2;
+			unsigned short SUREQCLR:1;
+			unsigned short :2;
+			unsigned short SQCLR:1;
+			unsigned short SQSET:1;
+			unsigned short SQMON:1;
+			unsigned short PBUSY:1;
+			unsigned short :2;
+			unsigned short CCPL:1;
+			unsigned short PID:2;
+		} BIT;
+	} DCPCTR;
+	char           wk11[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :12;
+			unsigned short PIPESEL:4;
+		} BIT;
+	} PIPESEL;
+	char           wk12[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short TYPE:2;
+			unsigned short :3;
+			unsigned short BFRE:1;
+			unsigned short DBLB:1;
+			unsigned short :1;
+			unsigned short SHTNAK:1;
+			unsigned short :2;
+			unsigned short DIR:1;
+			unsigned short EPNUM:4;
+		} BIT;
+	} PIPECFG;
+	char           wk13[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short DEVSEL:4;
+			unsigned short :3;
+			unsigned short MXPS:9;
+		} BIT;
+	} PIPEMAXP;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short IFIS:1;
+			unsigned short :9;
+			unsigned short IITV:3;
+		} BIT;
+	} PIPEPERI;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short INBUFM:1;
+			unsigned short :3;
+			unsigned short ATREPM:1;
+			unsigned short ACLRM:1;
+			unsigned short SQCLR:1;
+			unsigned short SQSET:1;
+			unsigned short SQMON:1;
+			unsigned short PBUSY:1;
+			unsigned short :3;
+			unsigned short PID:2;
+		} BIT;
+	} PIPE1CTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short INBUFM:1;
+			unsigned short :3;
+			unsigned short ATREPM:1;
+			unsigned short ACLRM:1;
+			unsigned short SQCLR:1;
+			unsigned short SQSET:1;
+			unsigned short SQMON:1;
+			unsigned short PBUSY:1;
+			unsigned short :3;
+			unsigned short PID:2;
+		} BIT;
+	} PIPE2CTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short INBUFM:1;
+			unsigned short :3;
+			unsigned short ATREPM:1;
+			unsigned short ACLRM:1;
+			unsigned short SQCLR:1;
+			unsigned short SQSET:1;
+			unsigned short SQMON:1;
+			unsigned short PBUSY:1;
+			unsigned short :3;
+			unsigned short PID:2;
+		} BIT;
+	} PIPE3CTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short INBUFM:1;
+			unsigned short :3;
+			unsigned short ATREPM:1;
+			unsigned short ACLRM:1;
+			unsigned short SQCLR:1;
+			unsigned short SQSET:1;
+			unsigned short SQMON:1;
+			unsigned short PBUSY:1;
+			unsigned short :3;
+			unsigned short PID:2;
+		} BIT;
+	} PIPE4CTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short INBUFM:1;
+			unsigned short :3;
+			unsigned short ATREPM:1;
+			unsigned short ACLRM:1;
+			unsigned short SQCLR:1;
+			unsigned short SQSET:1;
+			unsigned short SQMON:1;
+			unsigned short PBUSY:1;
+			unsigned short :3;
+			unsigned short PID:2;
+		} BIT;
+	} PIPE5CTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short :5;
+			unsigned short ACLRM:1;
+			unsigned short SQCLR:1;
+			unsigned short SQSET:1;
+			unsigned short SQMON:1;
+			unsigned short PBUSY:1;
+			unsigned short :3;
+			unsigned short PID:2;
+		} BIT;
+	} PIPE6CTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short :5;
+			unsigned short ACLRM:1;
+			unsigned short SQCLR:1;
+			unsigned short SQSET:1;
+			unsigned short SQMON:1;
+			unsigned short PBUSY:1;
+			unsigned short :3;
+			unsigned short PID:2;
+		} BIT;
+	} PIPE7CTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short :5;
+			unsigned short ACLRM:1;
+			unsigned short SQCLR:1;
+			unsigned short SQSET:1;
+			unsigned short SQMON:1;
+			unsigned short PBUSY:1;
+			unsigned short :3;
+			unsigned short PID:2;
+		} BIT;
+	} PIPE8CTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short :5;
+			unsigned short ACLRM:1;
+			unsigned short SQCLR:1;
+			unsigned short SQSET:1;
+			unsigned short SQMON:1;
+			unsigned short PBUSY:1;
+			unsigned short :3;
+			unsigned short PID:2;
+		} BIT;
+	} PIPE9CTR;
+	char           wk14[14];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short TRENB:1;
+			unsigned short TRCLR:1;
+		} BIT;
+	} PIPE1TRE;
+	unsigned short PIPE1TRN;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short TRENB:1;
+			unsigned short TRCLR:1;
+		} BIT;
+	} PIPE2TRE;
+	unsigned short PIPE2TRN;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short TRENB:1;
+			unsigned short TRCLR:1;
+		} BIT;
+	} PIPE3TRE;
+	unsigned short PIPE3TRN;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short TRENB:1;
+			unsigned short TRCLR:1;
+		} BIT;
+	} PIPE4TRE;
+	unsigned short PIPE4TRN;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short TRENB:1;
+			unsigned short TRCLR:1;
+		} BIT;
+	} PIPE5TRE;
+	unsigned short PIPE5TRN;
+	char           wk15[44];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short USBSPD:2;
+		} BIT;
+	} DEVADD0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short USBSPD:2;
+		} BIT;
+	} DEVADD1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short USBSPD:2;
+		} BIT;
+	} DEVADD2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short USBSPD:2;
+		} BIT;
+	} DEVADD3;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short USBSPD:2;
+		} BIT;
+	} DEVADD4;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short USBSPD:2;
+		} BIT;
+	} DEVADD5;
+};
+
+union un_wdt {
+	struct {
+		union {
+			unsigned char BYTE;
+			struct {
+				unsigned char :1;
+				unsigned char TMS:1;
+				unsigned char TME:1;
+				unsigned char :2;
+				unsigned char CKS:3;
+			} BIT;
+		} TCSR;
+		unsigned char  TCNT;
+		char           wk0[1];
+		union {
+			unsigned char BYTE;
+			struct {
+				unsigned char WOVF:1;
+				unsigned char RSTE:1;
+			} BIT;
+		} RSTCSR;
+	} READ;
+	struct {
+		unsigned short WINA;
+		unsigned short WINB;
+	} WRITE;
+};
+
+enum enum_ir {
+IR_BSC_BUSERR=16,IR_FCU_FIFERR=21,IR_FCU_FRDYI=23,
+IR_ICU_SWINT=27,
+IR_CMT0_CMI0,
+IR_CMT1_CMI1,
+IR_CMT2_CMI2,
+IR_CMT3_CMI3,
+IR_ETHER_EINT,
+IR_USB0_D0FIFO0=36,IR_USB0_D1FIFO0,IR_USB0_USBI0,
+IR_USB1_D0FIFO1=40,IR_USB1_D1FIFO1,IR_USB1_USBI1,
+IR_RSPI0_SPEI0=44,IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0,
+IR_RSPI1_SPEI1,IR_RSPI1_SPRI1,IR_RSPI1_SPTI1,IR_RSPI1_SPII1,
+IR_CAN0_ERS0=56,IR_CAN0_RXF0,IR_CAN0_TXF0,IR_CAN0_RXM0,IR_CAN0_TXM0,
+IR_RTC_PRD=62,IR_RTC_CUP,
+IR_ICU_IRQ0,IR_ICU_IRQ1,IR_ICU_IRQ2,IR_ICU_IRQ3,IR_ICU_IRQ4,IR_ICU_IRQ5,IR_ICU_IRQ6,IR_ICU_IRQ7,IR_ICU_IRQ8,IR_ICU_IRQ9,IR_ICU_IRQ10,IR_ICU_IRQ11,IR_ICU_IRQ12,IR_ICU_IRQ13,IR_ICU_IRQ14,IR_ICU_IRQ15,
+IR_USB_USBR0=90,IR_USB_USBR1,
+IR_RTC_ALM,
+IR_WDT_WOVI=96,
+IR_AD0_ADI0=98,
+IR_AD1_ADI1,
+IR_S12AD_ADI=102,
+IR_MTU0_TGIA0=114,IR_MTU0_TGIB0,IR_MTU0_TGIC0,IR_MTU0_TGID0,IR_MTU0_TCIV0,IR_MTU0_TGIE0,IR_MTU0_TGIF0,
+IR_MTU1_TGIA1,IR_MTU1_TGIB1,IR_MTU1_TCIV1,IR_MTU1_TCIU1,
+IR_MTU2_TGIA2,IR_MTU2_TGIB2,IR_MTU2_TCIV2,IR_MTU2_TCIU2,
+IR_MTU3_TGIA3,IR_MTU3_TGIB3,IR_MTU3_TGIC3,IR_MTU3_TGID3,IR_MTU3_TCIV3,
+IR_MTU4_TGIA4,IR_MTU4_TGIB4,IR_MTU4_TGIC4,IR_MTU4_TGID4,IR_MTU4_TCIV4,
+IR_MTU5_TGIU5,IR_MTU5_TGIV5,IR_MTU5_TGIW5,
+IR_MTU6_TGIA6,IR_MTU6_TGIB6,IR_MTU6_TGIC6,IR_MTU6_TGID6,IR_MTU6_TCIV6,IR_MTU6_TGIE6,IR_MTU6_TGIF6,
+IR_MTU7_TGIA7,IR_MTU7_TGIB7,IR_MTU7_TCIV7,IR_MTU7_TCIU7,
+IR_MTU8_TGIA8,IR_MTU8_TGIB8,IR_MTU8_TCIV8,IR_MTU8_TCIU8,
+IR_MTU9_TGIA9,IR_MTU9_TGIB9,IR_MTU9_TGIC9,IR_MTU9_TGID9,IR_MTU9_TCIV9,
+IR_MTU10_TGIA10,IR_MTU10_TGIB10,IR_MTU10_TGIC10,IR_MTU10_TGID10,IR_MTU10_TCIV10,
+IR_MTU11_TGIU11,IR_MTU11_TGIV11,IR_MTU11_TGIW11,
+IR_POE_OEI1,IR_POE_OEI2,IR_POE_OEI3,IR_POE_OEI4,
+IR_TMR0_CMIA0,IR_TMR0_CMIB0,IR_TMR0_OVI0,
+IR_TMR1_CMIA1,IR_TMR1_CMIB1,IR_TMR1_OVI1,
+IR_TMR2_CMIA2,IR_TMR2_CMIB2,IR_TMR2_OVI2,
+IR_TMR3_CMIA3,IR_TMR3_CMIB3,IR_TMR3_OVI3,
+IR_DMAC_DMAC0I=198,IR_DMAC_DMAC1I,IR_DMAC_DMAC2I,IR_DMAC_DMAC3I,
+IR_EXDMAC_EXDMAC0I,IR_EXDMAC_EXDMAC1I,
+IR_SCI0_ERI0=214,IR_SCI0_RXI0,IR_SCI0_TXI0,IR_SCI0_TEI0,
+IR_SCI1_ERI1,IR_SCI1_RXI1,IR_SCI1_TXI1,IR_SCI1_TEI1,
+IR_SCI2_ERI2,IR_SCI2_RXI2,IR_SCI2_TXI2,IR_SCI2_TEI2,
+IR_SCI3_ERI3,IR_SCI3_RXI3,IR_SCI3_TXI3,IR_SCI3_TEI3,
+IR_SCI5_ERI5=234,IR_SCI5_RXI5,IR_SCI5_TXI5,IR_SCI5_TEI5,
+IR_SCI6_ERI6,IR_SCI6_RXI6,IR_SCI6_TXI6,IR_SCI6_TEI6,
+IR_RIIC0_ICEEI0=246,IR_RIIC0_ICRXI0,IR_RIIC0_ICTXI0,IR_RIIC0_ICTEI0,
+IR_RIIC1_ICEEI1,IR_RIIC1_ICRXI1,IR_RIIC1_ICTXI1,IR_RIIC1_ICTEI1
+};
+
+enum enum_dtce {
+DTCE_ICU_SWINT=27,
+DTCE_CMT0_CMI0,
+DTCE_CMT1_CMI1,
+DTCE_CMT2_CMI2,
+DTCE_CMT3_CMI3,
+DTCE_USB0_D0FIFO0=36,DTCE_USB0_D1FIFO0,
+DTCE_USB1_D0FIFO1=40,DTCE_USB1_D1FIFO1,
+DTCE_RSPI0_SPRI0=45,DTCE_RSPI0_SPTI0,
+DTCE_RSPI1_SPRI1=49,DTCE_RSPI1_SPTI1,
+DTCE_ICU_IRQ0=64,DTCE_ICU_IRQ1,DTCE_ICU_IRQ2,DTCE_ICU_IRQ3,DTCE_ICU_IRQ4,DTCE_ICU_IRQ5,DTCE_ICU_IRQ6,DTCE_ICU_IRQ7,DTCE_ICU_IRQ8,DTCE_ICU_IRQ9,DTCE_ICU_IRQ10,DTCE_ICU_IRQ11,DTCE_ICU_IRQ12,DTCE_ICU_IRQ13,DTCE_ICU_IRQ14,DTCE_ICU_IRQ15,
+DTCE_AD0_ADI0=98,
+DTCE_AD1_ADI1,
+DTCE_S12AD_ADI=102,
+DTCE_MTU0_TGIA0=114,DTCE_MTU0_TGIB0,DTCE_MTU0_TGIC0,DTCE_MTU0_TGID0,
+DTCE_MTU1_TGIA1=121,DTCE_MTU1_TGIB1,
+DTCE_MTU2_TGIA2=125,DTCE_MTU2_TGIB2,
+DTCE_MTU3_TGIA3=129,DTCE_MTU3_TGIB3,DTCE_MTU3_TGIC3,DTCE_MTU3_TGID3,
+DTCE_MTU4_TGIA4=134,DTCE_MTU4_TGIB4,DTCE_MTU4_TGIC4,DTCE_MTU4_TGID4,DTCE_MTU4_TCIV4,
+DTCE_MTU5_TGIU5,DTCE_MTU5_TGIV5,DTCE_MTU5_TGIW5,
+DTCE_MTU6_TGIA6,DTCE_MTU6_TGIB6,DTCE_MTU6_TGIC6,DTCE_MTU6_TGID6,
+DTCE_MTU7_TGIA7=149,DTCE_MTU7_TGIB7,
+DTCE_MTU8_TGIA8=153,DTCE_MTU8_TGIB8,
+DTCE_MTU9_TGIA9=157,DTCE_MTU9_TGIB9,DTCE_MTU9_TGIC9,DTCE_MTU9_TGID9,
+DTCE_MTU10_TGIA10=162,DTCE_MTU10_TGIB10,DTCE_MTU10_TGIC10,DTCE_MTU10_TGID10,DTCE_MTU10_TCIV10,
+DTCE_MTU11_TGIU11,DTCE_MTU11_TGIV11,DTCE_MTU11_TGIW11,
+DTCE_TMR0_CMIA0=174,DTCE_TMR0_CMIB0,
+DTCE_TMR1_CMIA1=177,DTCE_TMR1_CMIB1,
+DTCE_TMR2_CMIA2=180,DTCE_TMR2_CMIB2,
+DTCE_TMR3_CMIA3=183,DTCE_TMR3_CMIB3,
+DTCE_DMAC_DMAC0I=198,DTCE_DMAC_DMAC1I,DTCE_DMAC_DMAC2I,DTCE_DMAC_DMAC3I,
+DTCE_EXDMAC_EXDMAC0I,DTCE_EXDMAC_EXDMAC1I,
+DTCE_SCI0_RXI0=215,DTCE_SCI0_TXI0,
+DTCE_SCI1_RXI1=219,DTCE_SCI1_TXI1,
+DTCE_SCI2_RXI2=223,DTCE_SCI2_TXI2,
+DTCE_SCI3_RXI3=227,DTCE_SCI3_TXI3,
+DTCE_SCI5_RXI5=235,DTCE_SCI5_TXI5,
+DTCE_SCI6_RXI6=239,DTCE_SCI6_TXI6,
+DTCE_RIIC0_ICRXI0=247,DTCE_RIIC0_ICTXI0,
+DTCE_RIIC1_ICRXI1=251,DTCE_RIIC1_ICTXI1
+};
+
+enum enum_ier {
+IER_BSC_BUSERR=0x02,
+IER_FCU_FIFERR=0x02,IER_FCU_FRDYI=0x02,
+IER_ICU_SWINT=0x03,
+IER_CMT0_CMI0=0x03,
+IER_CMT1_CMI1=0x03,
+IER_CMT2_CMI2=0x03,
+IER_CMT3_CMI3=0x03,
+IER_ETHER_EINT=0x04,
+IER_USB0_D0FIFO0=0x04,IER_USB0_D1FIFO0=0x04,IER_USB0_USBI0=0x04,
+IER_USB1_D0FIFO1=0x05,IER_USB1_D1FIFO1=0x05,IER_USB1_USBI1=0x05,
+IER_RSPI0_SPEI0=0x05,IER_RSPI0_SPRI0=0x05,IER_RSPI0_SPTI0=0x05,IER_RSPI0_SPII0=0x05,
+IER_RSPI1_SPEI1=0x06,IER_RSPI1_SPRI1=0x06,IER_RSPI1_SPTI1=0x06,IER_RSPI1_SPII1=0x06,
+IER_CAN0_ERS0=0x07,IER_CAN0_RXF0=0x07,IER_CAN0_TXF0=0x07,IER_CAN0_RXM0=0x07,IER_CAN0_TXM0=0x07,
+IER_RTC_PRD=0x07,IER_RTC_CUP=0x07,
+IER_ICU_IRQ0=0x08,IER_ICU_IRQ1=0x08,IER_ICU_IRQ2=0x08,IER_ICU_IRQ3=0x08,IER_ICU_IRQ4=0x08,IER_ICU_IRQ5=0x08,IER_ICU_IRQ6=0x08,IER_ICU_IRQ7=0x08,IER_ICU_IRQ8=0x09,IER_ICU_IRQ9=0x09,IER_ICU_IRQ10=0x09,IER_ICU_IRQ11=0x09,IER_ICU_IRQ12=0x09,IER_ICU_IRQ13=0x09,IER_ICU_IRQ14=0x09,IER_ICU_IRQ15=0x09,
+IER_USB_USBR0=0x0B,IER_USB_USBR1=0x0B,
+IER_RTC_ALM=0x0B,
+IER_WDT_WOVI=0x0C,
+IER_AD0_ADI0=0x0C,
+IER_AD1_ADI1=0x0C,
+IER_S12AD_ADI=0x0C,
+IER_MTU0_TGIA0=0x0E,IER_MTU0_TGIB0=0x0E,IER_MTU0_TGIC0=0x0E,IER_MTU0_TGID0=0x0E,IER_MTU0_TCIV0=0x0E,IER_MTU0_TGIE0=0x0E,IER_MTU0_TGIF0=0x0F,
+IER_MTU1_TGIA1=0x0F,IER_MTU1_TGIB1=0x0F,IER_MTU1_TCIV1=0x0F,IER_MTU1_TCIU1=0x0F,
+IER_MTU2_TGIA2=0x0F,IER_MTU2_TGIB2=0x0F,IER_MTU2_TCIV2=0x0F,IER_MTU2_TCIU2=0x10,
+IER_MTU3_TGIA3=0x10,IER_MTU3_TGIB3=0x10,IER_MTU3_TGIC3=0x10,IER_MTU3_TGID3=0x10,IER_MTU3_TCIV3=0x10,
+IER_MTU4_TGIA4=0x10,IER_MTU4_TGIB4=0x10,IER_MTU4_TGIC4=0x11,IER_MTU4_TGID4=0x11,IER_MTU4_TCIV4=0x11,
+IER_MTU5_TGIU5=0x11,IER_MTU5_TGIV5=0x11,IER_MTU5_TGIW5=0x10,
+IER_MTU6_TGIA6=0x11,IER_MTU6_TGIB6=0x11,IER_MTU6_TGIC6=0x12,IER_MTU6_TGID6=0x12,IER_MTU6_TCIV6=0x12,IER_MTU6_TGIE6=0x12,IER_MTU6_TGIF6=0x12,
+IER_MTU7_TGIA7=0x12,IER_MTU7_TGIB7=0x12,IER_MTU7_TCIV7=0x12,IER_MTU7_TCIU7=0x13,
+IER_MTU8_TGIA8=0x13,IER_MTU8_TGIB8=0x13,IER_MTU8_TCIV8=0x13,IER_MTU8_TCIU8=0x13,
+IER_MTU9_TGIA9=0x13,IER_MTU9_TGIB9=0x13,IER_MTU9_TGIC9=0x13,IER_MTU9_TGID9=0x14,IER_MTU9_TCIV9=0x14,
+IER_MTU10_TGIA10=0x14,IER_MTU10_TGIB10=0x14,IER_MTU10_TGIC10=0x14,IER_MTU10_TGID10=0x14,IER_MTU10_TCIV10=0x14,
+IER_MTU11_TGIU11=0x14,IER_MTU11_TGIV11=0x15,IER_MTU11_TGIW11=0x15,
+IER_POE_OEI1=0x15,IER_POE_OEI2=0x15,IER_POE_OEI3=0x15,IER_POE_OEI4=0x15,
+IER_TMR0_CMIA0=0x15,IER_TMR0_CMIB0=0x15,IER_TMR0_OVI0=0x16,
+IER_TMR1_CMIA1=0x16,IER_TMR1_CMIB1=0x16,IER_TMR1_OVI1=0x16,
+IER_TMR2_CMIA2=0x16,IER_TMR2_CMIB2=0x16,IER_TMR2_OVI2=0x16,
+IER_TMR3_CMIA3=0x16,IER_TMR3_CMIB3=0x17,IER_TMR3_OVI3=0x17,
+IER_DMAC_DMAC0I=0x18,IER_DMAC_DMAC1I=0x18,IER_DMAC_DMAC2I=0x19,IER_DMAC_DMAC3I=0x19,
+IER_EXDMAC_EXDMAC0I=0x19,IER_EXDMAC_EXDMAC1I=0x19,
+IER_SCI0_ERI0=0x1A,IER_SCI0_RXI0=0x1A,IER_SCI0_TXI0=0x1B,IER_SCI0_TEI0=0x1B,
+IER_SCI1_ERI1=0x1B,IER_SCI1_RXI1=0x1B,IER_SCI1_TXI1=0x1B,IER_SCI1_TEI1=0x1B,
+IER_SCI2_ERI2=0x1B,IER_SCI2_RXI2=0x1B,IER_SCI2_TXI2=0x1C,IER_SCI2_TEI2=0x1C,
+IER_SCI3_ERI3=0x1C,IER_SCI3_RXI3=0x1C,IER_SCI3_TXI3=0x1C,IER_SCI3_TEI3=0x1C,
+IER_SCI5_ERI5=0x1D,IER_SCI5_RXI5=0x1D,IER_SCI5_TXI5=0x1D,IER_SCI5_TEI5=0x1D,
+IER_SCI6_ERI6=0x1D,IER_SCI6_RXI6=0x1D,IER_SCI6_TXI6=0x1E,IER_SCI6_TEI6=0x1E,
+IER_RIIC0_ICEEI0=0x1E,IER_RIIC0_ICRXI0=0x1E,IER_RIIC0_ICTXI0=0x1F,IER_RIIC0_ICTEI0=0x1F,
+IER_RIIC1_ICEEI1=0x1F,IER_RIIC1_ICRXI1=0x1F,IER_RIIC1_ICTXI1=0x1F,IER_RIIC1_ICTEI1=0x1F
+};
+
+enum enum_ipr {
+IPR_BSC_BUSERR=0x00,
+IPR_FCU_FIFERR=0x01,IPR_FCU_FRDYI=0x02,
+IPR_ICU_SWINT=0x03,
+IPR_CMT0_CMI0=0x04,
+IPR_CMT1_CMI1=0x05,
+IPR_CMT2_CMI2=0x06,
+IPR_CMT3_CMI3=0x07,
+IPR_ETHER_EINT=0x08,
+IPR_USB0_D0FIFO0=0x0C,IPR_USB0_D1FIFO0=0x0D,IPR_USB0_USBI0=0x0E,
+IPR_USB1_D0FIFO1=0x10,IPR_USB1_D1FIFO1=0x11,IPR_USB1_USBI1=0x12,
+IPR_RSPI0_SPEI0=0x14,IPR_RSPI0_SPRI0=0x14,IPR_RSPI0_SPTI0=0x14,IPR_RSPI0_SPII0=0x14,
+IPR_RSPI1_SPEI1=0x15,IPR_RSPI1_SPRI1=0x15,IPR_RSPI1_SPTI1=0x15,IPR_RSPI1_SPII1=0x15,
+IPR_CAN0_ERS0=0x18,IPR_CAN0_RXF0=0x18,IPR_CAN0_TXF0=0x18,IPR_CAN0_RXM0=0x18,IPR_CAN0_TXM0=0x18,
+IPR_RTC_PRD=0x1E,IPR_RTC_CUP=0x1F,
+IPR_ICU_IRQ0=0x20,IPR_ICU_IRQ1=0x21,IPR_ICU_IRQ2=0x22,IPR_ICU_IRQ3=0x23,IPR_ICU_IRQ4=0x24,IPR_ICU_IRQ5=0x25,IPR_ICU_IRQ6=0x26,IPR_ICU_IRQ7=0x27,IPR_ICU_IRQ8=0x28,IPR_ICU_IRQ9=0x29,IPR_ICU_IRQ10=0x2A,IPR_ICU_IRQ11=0x2B,IPR_ICU_IRQ12=0x2C,IPR_ICU_IRQ13=0x2D,IPR_ICU_IRQ14=0x2E,IPR_ICU_IRQ15=0x2F,
+IPR_USB_USBR0=0x3A,IPR_USB_USBR1=0x3B,
+IPR_RTC_ALM=0x3C,
+IPR_WDT_WOVI=0x40,
+IPR_AD0_ADI0=0x44,
+IPR_AD1_ADI1=0x45,
+IPR_S12AD_ADI=0x48,
+IPR_MTU0_TGIA0=0x51,IPR_MTU0_TGIB0=0x51,IPR_MTU0_TGIC0=0x51,IPR_MTU0_TGID0=0x51,IPR_MTU0_TCIV0=0x52,IPR_MTU0_TGIE0=0x52,IPR_MTU0_TGIF0=0x52,
+IPR_MTU1_TGIA1=0x53,IPR_MTU1_TGIB1=0x53,IPR_MTU1_TCIV1=0x54,IPR_MTU1_TCIU1=0x54,
+IPR_MTU2_TGIA2=0x55,IPR_MTU2_TGIB2=0x55,IPR_MTU2_TCIV2=0x56,IPR_MTU2_TCIU2=0x56,
+IPR_MTU3_TGIA3=0x57,IPR_MTU3_TGIB3=0x57,IPR_MTU3_TGIC3=0x57,IPR_MTU3_TGID3=0x57,IPR_MTU3_TCIV3=0x58,
+IPR_MTU4_TGIA4=0x59,IPR_MTU4_TGIB4=0x59,IPR_MTU4_TGIC4=0x59,IPR_MTU4_TGID4=0x59,IPR_MTU4_TCIV4=0x5A,
+IPR_MTU5_TGIU5=0x5B,IPR_MTU5_TGIV5=0x5B,IPR_MTU5_TGIW5=0x5B,
+IPR_MTU6_TGIA6=0x5C,IPR_MTU6_TGIB6=0x5C,IPR_MTU6_TGIC6=0x5C,IPR_MTU6_TGID6=0x5C,IPR_MTU6_TCIV6=0x5D,IPR_MTU6_TGIE6=0x5D,IPR_MTU6_TGIF6=0x5D,
+IPR_MTU7_TGIA7=0x5E,IPR_MTU7_TGIB7=0x5E,IPR_MTU7_TCIV7=0x5F,IPR_MTU7_TCIU7=0x5F,
+IPR_MTU8_TGIA8=0x60,IPR_MTU8_TGIB8=0x60,IPR_MTU8_TCIV8=0x61,IPR_MTU8_TCIU8=0x61,
+IPR_MTU9_TGIA9=0x62,IPR_MTU9_TGIB9=0x62,IPR_MTU9_TGIC9=0x62,IPR_MTU9_TGID9=0x62,IPR_MTU9_TCIV9=0x63,
+IPR_MTU10_TGIA10=0x64,IPR_MTU10_TGIB10=0x64,IPR_MTU10_TGIC10=0x64,IPR_MTU10_TGID10=0x64,IPR_MTU10_TCIV10=0x65,
+IPR_MTU11_TGIU11=0x66,IPR_MTU11_TGIV11=0x66,IPR_MTU11_TGIW11=0x66,
+IPR_POE_OEI1=0x67,IPR_POE_OEI2=0x67,IPR_POE_OEI3=0x67,IPR_POE_OEI4=0x67,
+IPR_TMR0_CMIA0=0x68,IPR_TMR0_CMIB0=0x68,IPR_TMR0_OVI0=0x68,
+IPR_TMR1_CMIA1=0x69,IPR_TMR1_CMIB1=0x69,IPR_TMR1_OVI1=0x69,
+IPR_TMR2_CMIA2=0x6A,IPR_TMR2_CMIB2=0x6A,IPR_TMR2_OVI2=0x6A,
+IPR_TMR3_CMIA3=0x6B,IPR_TMR3_CMIB3=0x6B,IPR_TMR3_OVI3=0x6B,
+IPR_DMAC_DMAC0I=0x70,IPR_DMAC_DMAC1I=0x71,IPR_DMAC_DMAC2I=0x72,IPR_DMAC_DMAC3I=0x73,
+IPR_EXDMAC_EXDMAC0I=0x74,IPR_EXDMAC_EXDMAC1I=0x75,
+IPR_SCI0_ERI0=0x80,IPR_SCI0_RXI0=0x80,IPR_SCI0_TXI0=0x80,IPR_SCI0_TEI0=0x80,
+IPR_SCI1_ERI1=0x81,IPR_SCI1_RXI1=0x81,IPR_SCI1_TXI1=0x81,IPR_SCI1_TEI1=0x81,
+IPR_SCI2_ERI2=0x82,IPR_SCI2_RXI2=0x82,IPR_SCI2_TXI2=0x82,IPR_SCI2_TEI2=0x82,
+IPR_SCI3_ERI3=0x83,IPR_SCI3_RXI3=0x83,IPR_SCI3_TXI3=0x83,IPR_SCI3_TEI3=0x83,
+IPR_SCI5_ERI5=0x85,IPR_SCI5_RXI5=0x85,IPR_SCI5_TXI5=0x85,IPR_SCI5_TEI5=0x85,
+IPR_SCI6_ERI6=0x86,IPR_SCI6_RXI6=0x86,IPR_SCI6_TXI6=0x86,IPR_SCI6_TEI6=0x86,
+IPR_RIIC0_ICEEI0=0x88,IPR_RIIC0_ICRXI0=0x89,IPR_RIIC0_ICTXI0=0x8A,IPR_RIIC0_ICTEI0=0x8B,
+IPR_RIIC1_ICEEI1=0x8C,IPR_RIIC1_ICRXI1=0x8D,IPR_RIIC1_ICTXI1=0x8E,IPR_RIIC1_ICTEI1=0x8F,
+IPR_BSC_=0x00,
+IPR_CMT0_=0x04,
+IPR_CMT1_=0x05,
+IPR_CMT2_=0x06,
+IPR_CMT3_=0x07,
+IPR_ETHER_=0x08,
+IPR_RSPI0_=0x14,
+IPR_RSPI1_=0x15,
+IPR_CAN0_=0x18,
+IPR_WDT_=0x40,
+IPR_AD0_=0x44,
+IPR_AD1_=0x45,
+IPR_S12AD_=0x48,
+IPR_MTU1_TGI=0x53,
+IPR_MTU1_TCI=0x54,
+IPR_MTU2_TGI=0x55,
+IPR_MTU2_TCI=0x56,
+IPR_MTU3_TGI=0x57,
+IPR_MTU4_TGI=0x59,
+IPR_MTU5_=0x5B,
+IPR_MTU5_TGI=0x5B,
+IPR_MTU7_TGI=0x5E,
+IPR_MTU7_TCI=0x5F,
+IPR_MTU8_TGI=0x60,
+IPR_MTU8_TCI=0x61,
+IPR_MTU9_TGI=0x62,
+IPR_MTU10_TGI=0x64,
+IPR_MTU11_=0x66,
+IPR_MTU11_TGI=0x66,
+IPR_POE_=0x67,
+IPR_POE_OEI=0x67,
+IPR_TMR0_=0x68,
+IPR_TMR1_=0x69,
+IPR_TMR2_=0x6A,
+IPR_TMR3_=0x6B,
+IPR_SCI0_=0x80,
+IPR_SCI1_=0x81,
+IPR_SCI2_=0x82,
+IPR_SCI3_=0x83,
+IPR_SCI5_=0x85,
+IPR_SCI6_=0x86
+};
+
+#define	IEN_BSC_BUSERR		IEN0
+#define	IEN_FCU_FIFERR		IEN5
+#define	IEN_FCU_FRDYI		IEN7
+#define	IEN_ICU_SWINT		IEN3
+#define	IEN_CMT0_CMI0		IEN4
+#define	IEN_CMT1_CMI1		IEN5
+#define	IEN_CMT2_CMI2		IEN6
+#define	IEN_CMT3_CMI3		IEN7
+#define	IEN_ETHER_EINT		IEN0
+#define	IEN_USB0_D0FIFO0	IEN4
+#define	IEN_USB0_D1FIFO0	IEN5
+#define	IEN_USB0_USBI0		IEN6
+#define	IEN_USB1_D0FIFO1	IEN0
+#define	IEN_USB1_D1FIFO1	IEN1
+#define	IEN_USB1_USBI1		IEN2
+#define	IEN_RSPI0_SPEI0		IEN4
+#define	IEN_RSPI0_SPRI0		IEN5
+#define	IEN_RSPI0_SPTI0		IEN6
+#define	IEN_RSPI0_SPII0		IEN7
+#define	IEN_RSPI1_SPEI1		IEN0
+#define	IEN_RSPI1_SPRI1		IEN1
+#define	IEN_RSPI1_SPTI1		IEN2
+#define	IEN_RSPI1_SPII1		IEN3
+#define	IEN_CAN0_ERS0		IEN0
+#define	IEN_CAN0_RXF0		IEN1
+#define	IEN_CAN0_TXF0		IEN2
+#define	IEN_CAN0_RXM0		IEN3
+#define	IEN_CAN0_TXM0		IEN4
+#define	IEN_RTC_PRD			IEN6
+#define	IEN_RTC_CUP			IEN7
+#define	IEN_ICU_IRQ0		IEN0
+#define	IEN_ICU_IRQ1		IEN1
+#define	IEN_ICU_IRQ2		IEN2
+#define	IEN_ICU_IRQ3		IEN3
+#define	IEN_ICU_IRQ4		IEN4
+#define	IEN_ICU_IRQ5		IEN5
+#define	IEN_ICU_IRQ6		IEN6
+#define	IEN_ICU_IRQ7		IEN7
+#define	IEN_ICU_IRQ8		IEN0
+#define	IEN_ICU_IRQ9		IEN1
+#define	IEN_ICU_IRQ10		IEN2
+#define	IEN_ICU_IRQ11		IEN3
+#define	IEN_ICU_IRQ12		IEN4
+#define	IEN_ICU_IRQ13		IEN5
+#define	IEN_ICU_IRQ14		IEN6
+#define	IEN_ICU_IRQ15		IEN7
+#define	IEN_USB_USBR0		IEN2
+#define	IEN_USB_USBR1		IEN3
+#define	IEN_RTC_ALM			IEN4
+#define	IEN_WDT_WOVI		IEN0
+#define	IEN_AD0_ADI0		IEN2
+#define	IEN_AD1_ADI1		IEN3
+#define	IEN_S12AD_ADI		IEN6
+#define	IEN_MTU0_TGIA0		IEN2
+#define	IEN_MTU0_TGIB0		IEN3
+#define	IEN_MTU0_TGIC0		IEN4
+#define	IEN_MTU0_TGID0		IEN5
+#define	IEN_MTU0_TCIV0		IEN6
+#define	IEN_MTU0_TGIE0		IEN7
+#define	IEN_MTU0_TGIF0		IEN0
+#define	IEN_MTU1_TGIA1		IEN1
+#define	IEN_MTU1_TGIB1		IEN2
+#define	IEN_MTU1_TCIV1		IEN3
+#define	IEN_MTU1_TCIU1		IEN4
+#define	IEN_MTU2_TGIA2		IEN5
+#define	IEN_MTU2_TGIB2		IEN6
+#define	IEN_MTU2_TCIV2		IEN7
+#define	IEN_MTU2_TCIU2		IEN0
+#define	IEN_MTU3_TGIA3		IEN1
+#define	IEN_MTU3_TGIB3		IEN2
+#define	IEN_MTU3_TGIC3		IEN3
+#define	IEN_MTU3_TGID3		IEN4
+#define	IEN_MTU3_TCIV3		IEN5
+#define	IEN_MTU4_TGIA4		IEN6
+#define	IEN_MTU4_TGIB4		IEN7
+#define	IEN_MTU4_TGIC4		IEN0
+#define	IEN_MTU4_TGID4		IEN1
+#define	IEN_MTU4_TCIV4		IEN2
+#define	IEN_MTU5_TGIU5		IEN3
+#define	IEN_MTU5_TGIV5		IEN4
+#define	IEN_MTU5_TGIW5		IEN7
+#define	IEN_MTU6_TGIA6		IEN6
+#define	IEN_MTU6_TGIB6		IEN7
+#define	IEN_MTU6_TGIC6		IEN0
+#define	IEN_MTU6_TGID6		IEN1
+#define	IEN_MTU6_TCIV6		IEN2
+#define	IEN_MTU6_TGIE6		IEN3
+#define	IEN_MTU6_TGIF6		IEN4
+#define	IEN_MTU7_TGIA7		IEN5
+#define	IEN_MTU7_TGIB7		IEN6
+#define	IEN_MTU7_TCIV7		IEN7
+#define	IEN_MTU7_TCIU7		IEN0
+#define	IEN_MTU8_TGIA8		IEN1
+#define	IEN_MTU8_TGIB8		IEN2
+#define	IEN_MTU8_TCIV8		IEN3
+#define	IEN_MTU8_TCIU8		IEN4
+#define	IEN_MTU9_TGIA9		IEN5
+#define	IEN_MTU9_TGIB9		IEN6
+#define	IEN_MTU9_TGIC9		IEN7
+#define	IEN_MTU9_TGID9		IEN0
+#define	IEN_MTU9_TCIV9		IEN1
+#define	IEN_MTU10_TGIA10	IEN2
+#define	IEN_MTU10_TGIB10	IEN3
+#define	IEN_MTU10_TGIC10	IEN4
+#define	IEN_MTU10_TGID10	IEN5
+#define	IEN_MTU10_TCIV10	IEN6
+#define	IEN_MTU11_TGIU11	IEN7
+#define	IEN_MTU11_TGIV11	IEN0
+#define	IEN_MTU11_TGIW11	IEN1
+#define	IEN_POE_OEI1		IEN2
+#define	IEN_POE_OEI2		IEN3
+#define	IEN_POE_OEI3		IEN4
+#define	IEN_POE_OEI4		IEN5
+#define	IEN_TMR0_CMIA0		IEN6
+#define	IEN_TMR0_CMIB0		IEN7
+#define	IEN_TMR0_OVI0		IEN0
+#define	IEN_TMR1_CMIA1		IEN1
+#define	IEN_TMR1_CMIB1		IEN2
+#define	IEN_TMR1_OVI1		IEN3
+#define	IEN_TMR2_CMIA2		IEN4
+#define	IEN_TMR2_CMIB2		IEN5
+#define	IEN_TMR2_OVI2		IEN6
+#define	IEN_TMR3_CMIA3		IEN7
+#define	IEN_TMR3_CMIB3		IEN0
+#define	IEN_TMR3_OVI3		IEN1
+#define	IEN_DMAC_DMAC0I		IEN6
+#define	IEN_DMAC_DMAC1I		IEN7
+#define	IEN_DMAC_DMAC2I		IEN0
+#define	IEN_DMAC_DMAC3I		IEN1
+#define	IEN_EXDMAC_EXDMAC0I	IEN2
+#define	IEN_EXDMAC_EXDMAC1I	IEN3
+#define	IEN_SCI0_ERI0		IEN6
+#define	IEN_SCI0_RXI0		IEN7
+#define	IEN_SCI0_TXI0		IEN0
+#define	IEN_SCI0_TEI0		IEN1
+#define	IEN_SCI1_ERI1		IEN2
+#define	IEN_SCI1_RXI1		IEN3
+#define	IEN_SCI1_TXI1		IEN4
+#define	IEN_SCI1_TEI1		IEN5
+#define	IEN_SCI2_ERI2		IEN6
+#define	IEN_SCI2_RXI2		IEN7
+#define	IEN_SCI2_TXI2		IEN0
+#define	IEN_SCI2_TEI2		IEN1
+#define	IEN_SCI3_ERI3		IEN2
+#define	IEN_SCI3_RXI3		IEN3
+#define	IEN_SCI3_TXI3		IEN4
+#define	IEN_SCI3_TEI3		IEN5
+#define	IEN_SCI5_ERI5		IEN2
+#define	IEN_SCI5_RXI5		IEN3
+#define	IEN_SCI5_TXI5		IEN4
+#define	IEN_SCI5_TEI5		IEN5
+#define	IEN_SCI6_ERI6		IEN6
+#define	IEN_SCI6_RXI6		IEN7
+#define	IEN_SCI6_TXI6		IEN0
+#define	IEN_SCI6_TEI6		IEN1
+#define	IEN_RIIC0_ICEEI0	IEN6
+#define	IEN_RIIC0_ICRXI0	IEN7
+#define	IEN_RIIC0_ICTXI0	IEN0
+#define	IEN_RIIC0_ICTEI0	IEN1
+#define	IEN_RIIC1_ICEEI1	IEN2
+#define	IEN_RIIC1_ICRXI1	IEN3
+#define	IEN_RIIC1_ICTXI1	IEN4
+#define	IEN_RIIC1_ICTEI1	IEN5
+
+#define	VECT_BSC_BUSERR		16
+#define	VECT_FCU_FIFERR		21
+#define	VECT_FCU_FRDYI		23
+#define	VECT_ICU_SWINT		27
+#define	VECT_CMT0_CMI0		28
+#define	VECT_CMT1_CMI1		29
+#define	VECT_CMT2_CMI2		30
+#define	VECT_CMT3_CMI3		31
+#define	VECT_ETHER_EINT		32
+#define	VECT_USB0_D0FIFO0	36
+#define	VECT_USB0_D1FIFO0	37
+#define	VECT_USB0_USBI0		38
+#define	VECT_USB1_D0FIFO1	40
+#define	VECT_USB1_D1FIFO1	41
+#define	VECT_USB1_USBI1		42
+#define	VECT_RSPI0_SPEI0	44
+#define	VECT_RSPI0_SPRI0	45
+#define	VECT_RSPI0_SPTI0	46
+#define	VECT_RSPI0_SPII0	47
+#define	VECT_RSPI1_SPEI1	48
+#define	VECT_RSPI1_SPRI1	49
+#define	VECT_RSPI1_SPTI1	50
+#define	VECT_RSPI1_SPII1	51
+#define	VECT_CAN0_ERS0		56
+#define	VECT_CAN0_RXF0		57
+#define	VECT_CAN0_TXF0		58
+#define	VECT_CAN0_RXM0		59
+#define	VECT_CAN0_TXM0		60
+#define	VECT_RTC_PRD		62
+#define	VECT_RTC_CUP		63
+#define	VECT_ICU_IRQ0		64
+#define	VECT_ICU_IRQ1		65
+#define	VECT_ICU_IRQ2		66
+#define	VECT_ICU_IRQ3		67
+#define	VECT_ICU_IRQ4		68
+#define	VECT_ICU_IRQ5		69
+#define	VECT_ICU_IRQ6		70
+#define	VECT_ICU_IRQ7		71
+#define	VECT_ICU_IRQ8		72
+#define	VECT_ICU_IRQ9		73
+#define	VECT_ICU_IRQ10		74
+#define	VECT_ICU_IRQ11		75
+#define	VECT_ICU_IRQ12		76
+#define	VECT_ICU_IRQ13		77
+#define	VECT_ICU_IRQ14		78
+#define	VECT_ICU_IRQ15		79
+#define	VECT_USB_USBR0		90
+#define	VECT_USB_USBR1		91
+#define	VECT_RTC_ALM		92
+#define	VECT_WDT_WOVI		96
+#define	VECT_AD0_ADI0		98
+#define	VECT_AD1_ADI1		99
+#define	VECT_S12AD_ADI		102
+#define	VECT_MTU0_TGIA0		114
+#define	VECT_MTU0_TGIB0		115
+#define	VECT_MTU0_TGIC0		116
+#define	VECT_MTU0_TGID0		117
+#define	VECT_MTU0_TCIV0		118
+#define	VECT_MTU0_TGIE0		119
+#define	VECT_MTU0_TGIF0		120
+#define	VECT_MTU1_TGIA1		121
+#define	VECT_MTU1_TGIB1		122
+#define	VECT_MTU1_TCIV1		123
+#define	VECT_MTU1_TCIU1		124
+#define	VECT_MTU2_TGIA2		125
+#define	VECT_MTU2_TGIB2		126
+#define	VECT_MTU2_TCIV2		127
+#define	VECT_MTU2_TCIU2		128
+#define	VECT_MTU3_TGIA3		129
+#define	VECT_MTU3_TGIB3		130
+#define	VECT_MTU3_TGIC3		131
+#define	VECT_MTU3_TGID3		132
+#define	VECT_MTU3_TCIV3		133
+#define	VECT_MTU4_TGIA4		134
+#define	VECT_MTU4_TGIB4		135
+#define	VECT_MTU4_TGIC4		136
+#define	VECT_MTU4_TGID4		137
+#define	VECT_MTU4_TCIV4		138
+#define	VECT_MTU5_TGIU5		139
+#define	VECT_MTU5_TGIV5		140
+#define	VECT_MTU5_TGIW5		141
+#define	VECT_MTU6_TGIA6		142
+#define	VECT_MTU6_TGIB6		143
+#define	VECT_MTU6_TGIC6		144
+#define	VECT_MTU6_TGID6		145
+#define	VECT_MTU6_TCIV6		146
+#define	VECT_MTU6_TGIE6		147
+#define	VECT_MTU6_TGIF6		148
+#define	VECT_MTU7_TGIA7		149
+#define	VECT_MTU7_TGIB7		150
+#define	VECT_MTU7_TCIV7		151
+#define	VECT_MTU7_TCIU7		152
+#define	VECT_MTU8_TGIA8		153
+#define	VECT_MTU8_TGIB8		154
+#define	VECT_MTU8_TCIV8		155
+#define	VECT_MTU8_TCIU8		156
+#define	VECT_MTU9_TGIA9		157
+#define	VECT_MTU9_TGIB9		158
+#define	VECT_MTU9_TGIC9		159
+#define	VECT_MTU9_TGID9		160
+#define	VECT_MTU9_TCIV9		161
+#define	VECT_MTU10_TGIA10	162
+#define	VECT_MTU10_TGIB10	163
+#define	VECT_MTU10_TGIC10	164
+#define	VECT_MTU10_TGID10	165
+#define	VECT_MTU10_TCIV10	166
+#define	VECT_MTU11_TGIU11	167
+#define	VECT_MTU11_TGIV11	168
+#define	VECT_MTU11_TGIW11	169
+#define	VECT_POE_OEI1		170
+#define	VECT_POE_OEI2		171
+#define	VECT_POE_OEI3		172
+#define	VECT_POE_OEI4		173
+#define	VECT_TMR0_CMIA0		174
+#define	VECT_TMR0_CMIB0		175
+#define	VECT_TMR0_OVI0		176
+#define	VECT_TMR1_CMIA1		177
+#define	VECT_TMR1_CMIB1		178
+#define	VECT_TMR1_OVI1		179
+#define	VECT_TMR2_CMIA2		180
+#define	VECT_TMR2_CMIB2		181
+#define	VECT_TMR2_OVI2		182
+#define	VECT_TMR3_CMIA3		183
+#define	VECT_TMR3_CMIB3		184
+#define	VECT_TMR3_OVI3		185
+#define	VECT_DMAC_DMAC0I	198
+#define	VECT_DMAC_DMAC1I	199
+#define	VECT_DMAC_DMAC2I	200
+#define	VECT_DMAC_DMAC3I	201
+#define	VECT_EXDMAC_EXDMAC0I	202
+#define	VECT_EXDMAC_EXDMAC1I	203
+#define	VECT_SCI0_ERI0		214
+#define	VECT_SCI0_RXI0		215
+#define	VECT_SCI0_TXI0		216
+#define	VECT_SCI0_TEI0		217
+#define	VECT_SCI1_ERI1		218
+#define	VECT_SCI1_RXI1		219
+#define	VECT_SCI1_TXI1		220
+#define	VECT_SCI1_TEI1		221
+#define	VECT_SCI2_ERI2		222
+#define	VECT_SCI2_RXI2		223
+#define	VECT_SCI2_TXI2		224
+#define	VECT_SCI2_TEI2		225
+#define	VECT_SCI3_ERI3		226
+#define	VECT_SCI3_RXI3		227
+#define	VECT_SCI3_TXI3		228
+#define	VECT_SCI3_TEI3		229
+#define	VECT_SCI5_ERI5		234
+#define	VECT_SCI5_RXI5		235
+#define	VECT_SCI5_TXI5		236
+#define	VECT_SCI5_TEI5		237
+#define	VECT_SCI6_ERI6		238
+#define	VECT_SCI6_RXI6		239
+#define	VECT_SCI6_TXI6		240
+#define	VECT_SCI6_TEI6		241
+#define	VECT_RIIC0_ICEEI0	246
+#define	VECT_RIIC0_ICRXI0	247
+#define	VECT_RIIC0_ICTXI0	248
+#define	VECT_RIIC0_ICTEI0	249
+#define	VECT_RIIC1_ICEEI1	250
+#define	VECT_RIIC1_ICRXI1	251
+#define	VECT_RIIC1_ICTXI1	252
+#define	VECT_RIIC1_ICTEI1	253
+
+#define	MSTP_EXDMAC	SYSTEM.MSTPCRA.BIT.MSTPA29
+#define	MSTP_DMAC	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC0	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC1	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC2	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC3	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DTC	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_AD0	SYSTEM.MSTPCRA.BIT.MSTPA23
+#define	MSTP_AD1	SYSTEM.MSTPCRA.BIT.MSTPA22
+#define	MSTP_DA		SYSTEM.MSTPCRA.BIT.MSTPA19
+#define	MSTP_S12AD	SYSTEM.MSTPCRA.BIT.MSTPA17
+#define	MSTP_CMT0	SYSTEM.MSTPCRA.BIT.MSTPA15
+#define	MSTP_CMT1	SYSTEM.MSTPCRA.BIT.MSTPA15
+#define	MSTP_CMT2	SYSTEM.MSTPCRA.BIT.MSTPA14
+#define	MSTP_CMT3	SYSTEM.MSTPCRA.BIT.MSTPA14
+#define	MSTP_PPG0	SYSTEM.MSTPCRA.BIT.MSTPA11
+#define	MSTP_PPG1	SYSTEM.MSTPCRA.BIT.MSTPA10
+#define	MSTP_MTUA	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU0	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU1	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU2	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU3	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU4	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU5	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTUB	SYSTEM.MSTPCRA.BIT.MSTPA8
+#define	MSTP_MTU6	SYSTEM.MSTPCRA.BIT.MSTPA8
+#define	MSTP_MTU7	SYSTEM.MSTPCRA.BIT.MSTPA8
+#define	MSTP_MTU8	SYSTEM.MSTPCRA.BIT.MSTPA8
+#define	MSTP_MTU9	SYSTEM.MSTPCRA.BIT.MSTPA8
+#define	MSTP_MTU10	SYSTEM.MSTPCRA.BIT.MSTPA8
+#define	MSTP_MTU11	SYSTEM.MSTPCRA.BIT.MSTPA8
+#define	MSTP_TMR0	SYSTEM.MSTPCRA.BIT.MSTPA5
+#define	MSTP_TMR1	SYSTEM.MSTPCRA.BIT.MSTPA5
+#define	MSTP_TMR01	SYSTEM.MSTPCRA.BIT.MSTPA5
+#define	MSTP_TMR2	SYSTEM.MSTPCRA.BIT.MSTPA4
+#define	MSTP_TMR3	SYSTEM.MSTPCRA.BIT.MSTPA4
+#define	MSTP_TMR23	SYSTEM.MSTPCRA.BIT.MSTPA4
+#define	MSTP_SCI0	SYSTEM.MSTPCRB.BIT.MSTPB31
+#define	MSTP_SMCI0	SYSTEM.MSTPCRB.BIT.MSTPB31
+#define	MSTP_SCI1	SYSTEM.MSTPCRB.BIT.MSTPB30
+#define	MSTP_SMCI1	SYSTEM.MSTPCRB.BIT.MSTPB30
+#define	MSTP_SCI2	SYSTEM.MSTPCRB.BIT.MSTPB29
+#define	MSTP_SMCI2	SYSTEM.MSTPCRB.BIT.MSTPB29
+#define	MSTP_SCI3	SYSTEM.MSTPCRB.BIT.MSTPB28
+#define	MSTP_SMCI3	SYSTEM.MSTPCRB.BIT.MSTPB28
+#define	MSTP_SCI5	SYSTEM.MSTPCRB.BIT.MSTPB26
+#define	MSTP_SMCI5	SYSTEM.MSTPCRB.BIT.MSTPB26
+#define	MSTP_SCI6	SYSTEM.MSTPCRB.BIT.MSTPB25
+#define	MSTP_SMCI6	SYSTEM.MSTPCRB.BIT.MSTPB25
+#define	MSTP_CRC	SYSTEM.MSTPCRB.BIT.MSTPB23
+#define	MSTP_RIIC0	SYSTEM.MSTPCRB.BIT.MSTPB21
+#define	MSTP_RIIC1	SYSTEM.MSTPCRB.BIT.MSTPB20
+#define	MSTP_USB0	SYSTEM.MSTPCRB.BIT.MSTPB19
+#define	MSTP_USB1	SYSTEM.MSTPCRB.BIT.MSTPB18
+#define	MSTP_RSPI0	SYSTEM.MSTPCRB.BIT.MSTPB17
+#define	MSTP_RSPI1	SYSTEM.MSTPCRB.BIT.MSTPB16
+#define	MSTP_EDMAC	SYSTEM.MSTPCRB.BIT.MSTPB15
+#define	MSTP_CAN0	SYSTEM.MSTPCRB.BIT.MSTPB0
+#define	MSTP_RAM0	SYSTEM.MSTPCRC.BIT.MSTPC1
+#define	MSTP_RAM1	SYSTEM.MSTPCRC.BIT.MSTPC0
+
+#define	__IR( x )		ICU.IR[ IR ## x ].BIT.IR
+#define	 _IR( x )		__IR( x )
+#define	  IR( x , y )	_IR( _ ## x ## _ ## y )
+#define	__DTCE( x )		ICU.DTCER[ DTCE ## x ].BIT.DTCE
+#define	 _DTCE( x )		__DTCE( x )
+#define	  DTCE( x , y )	_DTCE( _ ## x ## _ ## y )
+#define	__IEN( x )		ICU.IER[ IER ## x ].BIT.IEN ## x
+#define	 _IEN( x )		__IEN( x )
+#define	  IEN( x , y )	_IEN( _ ## x ## _ ## y )
+#define	__IPR( x )		ICU.IPR[ IPR ## x ].BIT.IPR
+#define	 _IPR( x )		__IPR( x )
+#define	  IPR( x , y )	_IPR( _ ## x ## _ ## y )
+#define	__VECT( x )		VECT ## x
+#define	 _VECT( x )		__VECT( x )
+#define	  VECT( x , y )	_VECT( _ ## x ## _ ## y )
+#define	__MSTP( x )		MSTP ## x
+#define	 _MSTP( x )		__MSTP( x )
+#define	  MSTP( x )		_MSTP( _ ## x )
+
+#define	AD0		(*(volatile struct st_ad      __evenaccess *)0x88040)
+#define	AD1		(*(volatile struct st_ad      __evenaccess *)0x88060)
+#define	BSC		(*(volatile struct st_bsc     __evenaccess *)0x81300)
+#define	CAN0	(*(volatile struct st_can     __evenaccess *)0x90200)
+#define	CMT		(*(volatile struct st_cmt     __evenaccess *)0x88000)
+#define	CMT0	(*(volatile struct st_cmt0    __evenaccess *)0x88002)
+#define	CMT1	(*(volatile struct st_cmt0    __evenaccess *)0x88008)
+#define	CMT2	(*(volatile struct st_cmt0    __evenaccess *)0x88012)
+#define	CMT3	(*(volatile struct st_cmt0    __evenaccess *)0x88018)
+#define	CRC		(*(volatile struct st_crc     __evenaccess *)0x88280)
+#define	DA		(*(volatile struct st_da      __evenaccess *)0x880C0)
+#define	DMAC	(*(volatile struct st_dmac    __evenaccess *)0x82200)
+#define	DMAC0	(*(volatile struct st_dmac0   __evenaccess *)0x82000)
+#define	DMAC1	(*(volatile struct st_dmac1   __evenaccess *)0x82040)
+#define	DMAC2	(*(volatile struct st_dmac1   __evenaccess *)0x82080)
+#define	DMAC3	(*(volatile struct st_dmac1   __evenaccess *)0x820C0)
+#define	DTC		(*(volatile struct st_dtc     __evenaccess *)0x82400)
+#define	EDMAC	(*(volatile struct st_edmac   __evenaccess *)0xC0000)
+#define	ETHERC	(*(volatile struct st_etherc  __evenaccess *)0xC0100)
+#define	EXDMAC	(*(volatile struct st_exdmac  __evenaccess *)0x82A00)
+#define	EXDMAC0	(*(volatile struct st_exdmac0 __evenaccess *)0x82800)
+#define	EXDMAC1	(*(volatile struct st_exdmac1 __evenaccess *)0x82840)
+#define	FLASH	(*(volatile struct st_flash   __evenaccess *)0x8C288)
+#define	ICU		(*(volatile struct st_icu     __evenaccess *)0x87000)
+#define	IOPORT	(*(volatile struct st_ioport  __evenaccess *)0x8C100)
+#define	IWDT	(*(volatile struct st_iwdt    __evenaccess *)0x88030)
+#define	MTU0	(*(volatile struct st_mtu0    __evenaccess *)0x88700)
+#define	MTU1	(*(volatile struct st_mtu1    __evenaccess *)0x88780)
+#define	MTU2	(*(volatile struct st_mtu2    __evenaccess *)0x88800)
+#define	MTU3	(*(volatile struct st_mtu3    __evenaccess *)0x88600)
+#define	MTU4	(*(volatile struct st_mtu4    __evenaccess *)0x88600)
+#define	MTU5	(*(volatile struct st_mtu5    __evenaccess *)0x88880)
+#define	MTU6	(*(volatile struct st_mtu0    __evenaccess *)0x88B00)
+#define	MTU7	(*(volatile struct st_mtu1    __evenaccess *)0x88B80)
+#define	MTU8	(*(volatile struct st_mtu2    __evenaccess *)0x88C00)
+#define	MTU9	(*(volatile struct st_mtu3    __evenaccess *)0x88A00)
+#define	MTU10	(*(volatile struct st_mtu4    __evenaccess *)0x88A00)
+#define	MTU11	(*(volatile struct st_mtu5    __evenaccess *)0x88C80)
+#define	MTUA	(*(volatile struct st_mtua    __evenaccess *)0x8860A)
+#define	MTUB	(*(volatile struct st_mtua    __evenaccess *)0x88A0A)
+#define	POE		(*(volatile struct st_poe     __evenaccess *)0x88900)
+#define	PORT0	(*(volatile struct st_port0   __evenaccess *)0x8C000)
+#define	PORT1	(*(volatile struct st_port1   __evenaccess *)0x8C001)
+#define	PORT2	(*(volatile struct st_port2   __evenaccess *)0x8C002)
+#define	PORT3	(*(volatile struct st_port3   __evenaccess *)0x8C003)
+#define	PORT4	(*(volatile struct st_port4   __evenaccess *)0x8C004)
+#define	PORT5	(*(volatile struct st_port5   __evenaccess *)0x8C005)
+#define	PORT6	(*(volatile struct st_port6   __evenaccess *)0x8C006)
+#define	PORT7	(*(volatile struct st_port7   __evenaccess *)0x8C007)
+#define	PORT8	(*(volatile struct st_port8   __evenaccess *)0x8C008)
+#define	PORT9	(*(volatile struct st_port9   __evenaccess *)0x8C009)
+#define	PORTA	(*(volatile struct st_porta   __evenaccess *)0x8C00A)
+#define	PORTB	(*(volatile struct st_portb   __evenaccess *)0x8C00B)
+#define	PORTC	(*(volatile struct st_portc   __evenaccess *)0x8C00C)
+#define	PORTD	(*(volatile struct st_portd   __evenaccess *)0x8C00D)
+#define	PORTE	(*(volatile struct st_porte   __evenaccess *)0x8C00E)
+#define	PORTF	(*(volatile struct st_portf   __evenaccess *)0x8C00F)
+#define	PORTG	(*(volatile struct st_portg   __evenaccess *)0x8C010)
+#define	PPG0	(*(volatile struct st_ppg0    __evenaccess *)0x881E6)
+#define	PPG1	(*(volatile struct st_ppg1    __evenaccess *)0x881F0)
+#define	RIIC0	(*(volatile struct st_riic    __evenaccess *)0x88300)
+#define	RIIC1	(*(volatile struct st_riic    __evenaccess *)0x88320)
+#define	RSPI0	(*(volatile struct st_rspi    __evenaccess *)0x88380)
+#define	RSPI1	(*(volatile struct st_rspi    __evenaccess *)0x883A0)
+#define	RTC		(*(volatile struct st_rtc     __evenaccess *)0x8C400)
+#define	S12AD	(*(volatile struct st_s12ad   __evenaccess *)0x89000)
+#define	SCI0	(*(volatile struct st_sci     __evenaccess *)0x88240)
+#define	SCI1	(*(volatile struct st_sci     __evenaccess *)0x88248)
+#define	SCI2	(*(volatile struct st_sci     __evenaccess *)0x88250)
+#define	SCI3	(*(volatile struct st_sci     __evenaccess *)0x88258)
+#define	SCI5	(*(volatile struct st_sci     __evenaccess *)0x88268)
+#define	SCI6	(*(volatile struct st_sci     __evenaccess *)0x88270)
+#define	SMCI0	(*(volatile struct st_smci    __evenaccess *)0x88240)
+#define	SMCI1	(*(volatile struct st_smci    __evenaccess *)0x88248)
+#define	SMCI2	(*(volatile struct st_smci    __evenaccess *)0x88250)
+#define	SMCI3	(*(volatile struct st_smci    __evenaccess *)0x88258)
+#define	SMCI5	(*(volatile struct st_smci    __evenaccess *)0x88268)
+#define	SMCI6	(*(volatile struct st_smci    __evenaccess *)0x88270)
+#define	SYSTEM	(*(volatile struct st_system  __evenaccess *)0x80000)
+#define	TMR0	(*(volatile struct st_tmr0    __evenaccess *)0x88200)
+#define	TMR1	(*(volatile struct st_tmr1    __evenaccess *)0x88201)
+#define	TMR2	(*(volatile struct st_tmr0    __evenaccess *)0x88210)
+#define	TMR3	(*(volatile struct st_tmr1    __evenaccess *)0x88211)
+#define	TMR01	(*(volatile struct st_tmr01   __evenaccess *)0x88204)
+#define	TMR23	(*(volatile struct st_tmr01   __evenaccess *)0x88214)
+#define	USB		(*(volatile struct st_usb     __evenaccess *)0xA0400)
+#define	USB0	(*(volatile struct st_usb0    __evenaccess *)0xA0000)
+#define	USB1	(*(volatile struct st_usb0    __evenaccess *)0xA0200)
+#define	WDT		(*(volatile union un_wdt      __evenaccess *)0x88028)
+#pragma bit_order
+#pragma packoption
+#endif
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/iodefine.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/iodefine.h
new file mode 100644
index 0000000000..034cec9a6f
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/iodefine.h
@@ -0,0 +1,6790 @@
+/********************************************************************************/
+/*                                                                              */
+/* Device     : RX/RX200/RX210                                                  */
+/* File Name  : ioedfine.h                                                      */
+/* Abstract   : Definition of I/O Register.                                     */
+/* History    : V0.1  (2010-10-05)  [Hardware Manual Revision : 0.10]           */
+/* Note       : This is a typical example.                                      */
+/*                                                                              */
+/*  Copyright(c) 2010 Renesas Electronics Corp.                                 */
+/*                  And Renesas Solutions Corp. ,All Rights Reserved.           */
+/*                                                                              */
+/********************************************************************************/
+/*                                                                              */
+/*  DESCRIPTION : Definition of ICU Register                                    */
+/*  CPU TYPE    : RX210                                                         */
+/*                                                                              */
+/*  Usage : IR,DTCER,IER,IPR of ICU Register                                    */
+/*     The following IR, DTCE, IEN, IPR macro functions simplify usage.         */
+/*     The bit access operation is "Bit_Name(interrupt source,name)".           */
+/*     A part of the name can be omitted.                                       */
+/*     for example :                                                            */
+/*       IR(MTU0,TGIA0) = 0;     expands to :                                   */
+/*         ICU.IR[114].BIT.IR = 0;                                              */
+/*                                                                              */
+/*       DTCE(ICU,IRQ0) = 1;     expands to :                                   */
+/*         ICU.DTCER[64].BIT.DTCE = 1;                                          */
+/*                                                                              */
+/*       IEN(CMT0,CMI0) = 1;     expands to :                                   */
+/*         ICU.IER[0x03].BIT.IEN4 = 1;                                          */
+/*                                                                              */
+/*       IPR(MTU0,TGIV0) = 2;    expands to :                                   */
+/*       IPR(MTU0,TGI  ) = 2;    // TGIV0,TGIE0,TGIF0 share IPR level.          */
+/*         ICU.IPR[0x118].BIT.IPR = 2;                                          */
+/*                                                                              */
+/*       IPR(SCI0,ERI0) = 3;     expands to :                                   */
+/*       IPR(SCI0,    ) = 3;     // SCI0 uses single IPR for all sources.       */
+/*         ICU.IPR[0x214].BIT.IPR = 3;                                          */
+/*                                                                              */
+/*  Usage : #pragma interrupt Function_Identifier(vect=**)                      */
+/*     The number of vector is "(interrupt source, name)".                      */
+/*     for example :                                                            */
+/*       #pragma interrupt INT_IRQ0(vect=VECT(ICU,IRQ0))          expands to :  */
+/*         #pragma interrupt INT_IRQ0(vect=64)                                  */
+/*       #pragma interrupt INT_CMT0_CMI0(vect=VECT(CMT0,CMI0))    expands to :  */
+/*         #pragma interrupt INT_CMT0_CMI0(vect=28)                             */
+/*       #pragma interrupt INT_MTU0_TGIA0(vect=VECT(MTU0,TGIA0))  expands to :  */
+/*         #pragma interrupt INT_MTU0_TGIA0(vect=114)                           */
+/*                                                                              */
+/*  Usage : MSTPCRA,MSTPCRB,MSTPCRC of SYSTEM Register                          */
+/*     The bit access operation is "MSTP(name)".                                */
+/*     The name that can be used is a macro name defined with "iodefine.h".     */
+/*     for example :                                                            */
+/*       MSTP(TMR2) = 0;    // TMR2,TMR3,TMR23                    expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA4  = 0;                                      */
+/*       MSTP(SCI0) = 0;    // SCI0                               expands to :  */
+/*         SYSTEM.MSTPCRB.BIT.MSTPB31 = 0;                                      */
+/*       MSTP(MTU4) = 0;    // MTU,MTU0,MTU1,MTU2,MTU3,MTU4,MTU5  expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA9  = 0;                                      */
+/*       MSTP(CMT3) = 0;    // CMT2,CMT3                          expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA14 = 0;                                      */
+/*                                                                              */
+/*                                                                              */
+/********************************************************************************/
+#ifndef __RX210IODEFINE_HEADER__
+#define __RX210IODEFINE_HEADER__
+#pragma bit_order left
+#pragma unpack
+struct st_bsc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char STSCLR:1;
+		} BIT;
+	} BERCLR;
+	char           wk0[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TOEN:1;
+			unsigned char IGAEN:1;
+		} BIT;
+	} BEREN;
+	char           wk1[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MST:3;
+			unsigned char :2;
+			unsigned char TO:1;
+			unsigned char IA:1;
+		} BIT;
+	} BERSR1;
+	char           wk2[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADDR:13;
+		} BIT;
+	} BERSR2;
+	char           wk3[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short BPEB:2;
+			unsigned short BPFB:2;
+			unsigned short BPHB:2;
+			unsigned short BPGB:2;
+			unsigned short BPIB:2;
+			unsigned short BPRO:2;
+			unsigned short BPRA:2;
+		} BIT;
+	} BUSPRI;
+	char           wk4[7408];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS0MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS0WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :2;
+			unsigned long AWAIT:2;
+			unsigned long :1;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS0WCR2;
+	char           wk5[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS1MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS1WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :2;
+			unsigned long AWAIT:2;
+			unsigned long :1;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS1WCR2;
+	char           wk6[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS2MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS2WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :2;
+			unsigned long AWAIT:2;
+			unsigned long :1;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS2WCR2;
+	char           wk7[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRMOD:1;
+			unsigned short :5;
+			unsigned short PWENB:1;
+			unsigned short PRENB:1;
+			unsigned short :4;
+			unsigned short EWENB:1;
+			unsigned short :2;
+			unsigned short WRMOD:1;
+		} BIT;
+	} CS3MOD;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long CSRWAIT:5;
+			unsigned long :3;
+			unsigned long CSWWAIT:5;
+			unsigned long :5;
+			unsigned long CSPRWAIT:3;
+			unsigned long :5;
+			unsigned long CSPWWAIT:3;
+		} BIT;
+	} CS3WCR1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :1;
+			unsigned long CSON:3;
+			unsigned long :1;
+			unsigned long WDON:3;
+			unsigned long :1;
+			unsigned long WRON:3;
+			unsigned long :1;
+			unsigned long RDON:3;
+			unsigned long :2;
+			unsigned long AWAIT:2;
+			unsigned long :1;
+			unsigned long WDOFF:3;
+			unsigned long :1;
+			unsigned long CSWOFF:3;
+			unsigned long :1;
+			unsigned long CSROFF:3;
+		} BIT;
+	} CS3WCR2;
+	char           wk8[1990];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short MPXEN:1;
+			unsigned short :3;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS0CR;
+	char           wk9[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS0REC;
+	char           wk10[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short MPXEN:1;
+			unsigned short :3;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS1CR;
+	char           wk11[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS1REC;
+	char           wk12[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short MPXEN:1;
+			unsigned short :3;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS2CR;
+	char           wk13[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS2REC;
+	char           wk14[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short MPXEN:1;
+			unsigned short :3;
+			unsigned short EMODE:1;
+			unsigned short :2;
+			unsigned short BSIZE:2;
+			unsigned short :3;
+			unsigned short EXENB:1;
+		} BIT;
+	} CS3CR;
+	char           wk15[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS3REC;
+	char           wk16[68];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short RCVENM7:1;
+			unsigned short RCVENM6:1;
+			unsigned short RCVENM5:1;
+			unsigned short RCVENM4:1;
+			unsigned short RCVENM3:1;
+			unsigned short RCVENM2:1;
+			unsigned short RCVENM1:1;
+			unsigned short RCVENM0:1;
+			unsigned short RCVEN7:1;
+			unsigned short RCVEN6:1;
+			unsigned short RCVEN5:1;
+			unsigned short RCVEN4:1;
+			unsigned short RCVEN3:1;
+			unsigned short RCVEN2:1;
+			unsigned short RCVEN1:1;
+			unsigned short RCVEN0:1;
+		} BIT;
+	} CSRECEN;
+};
+
+struct st_cac {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char CFME:1;
+		} BIT;
+	} CACR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char EDGES:2;
+			unsigned char TCSS:2;
+			unsigned char FMCS:3;
+			unsigned char CACIE:1;
+		} BIT;
+	} CACR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char RCDS:2;
+			unsigned char RSCS:3;
+			unsigned char RPS:1;
+		} BIT;
+	} CACR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char OVFFCL:1;
+			unsigned char MENDFCL:1;
+			unsigned char FERRFCL:1;
+			unsigned char :1;
+			unsigned char OVFIE:1;
+			unsigned char MENDIE:1;
+			unsigned char FERRIE:1;
+		} BIT;
+	} CAICR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char OVFF:1;
+			unsigned char MENDF:1;
+			unsigned char FERRF:1;
+		} BIT;
+	} CASTR;
+	char           wk0[1];
+	unsigned short CAULVR;
+	unsigned short CALLVR;
+	unsigned short CACNTBR;
+};
+
+struct st_cmpb {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char CPB2INI:1;
+			unsigned char :3;
+			unsigned char CPB1INI:1;
+		} BIT;
+	} CPBCNT1;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CPB2OUT:1;
+			unsigned char :3;
+			unsigned char CPB1OUT:1;
+		} BIT;
+	} CPBFLG;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char CPB2INTPL:1;
+			unsigned char CPB2INTEG:1;
+			unsigned char CPB2INTEN:1;
+			unsigned char :1;
+			unsigned char CPB1INTPL:1;
+			unsigned char CPB1INTEG:1;
+			unsigned char CPB1INTEN:1;
+		} BIT;
+	} CPBINT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CPB2F:2;
+			unsigned char :1;
+			unsigned char CPB2FEN:1;
+			unsigned char CPB1F:2;
+			unsigned char :1;
+			unsigned char CPB1FEN:1;
+		} BIT;
+	} CPBF;
+};
+
+struct st_cmt {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :14;
+			unsigned short STR1:1;
+			unsigned short STR0:1;
+		} BIT;
+	} CMSTR0;
+	char           wk0[14];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :14;
+			unsigned short STR3:1;
+			unsigned short STR2:1;
+		} BIT;
+	} CMSTR1;
+};
+
+struct st_cmt0 {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :9;
+			unsigned short CMIE:1;
+			unsigned short :4;
+			unsigned short CKS:2;
+		} BIT;
+	} CMCR;
+	unsigned short CMCNT;
+	unsigned short CMCOR;
+};
+
+struct st_crc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DORCLR:1;
+			unsigned char :4;
+			unsigned char LMS:1;
+			unsigned char GPS:2;
+		} BIT;
+	} CRCCR;
+	unsigned char  CRCDIR;
+	unsigned short CRCDOR;
+};
+
+struct st_da {
+	unsigned short DADR0;
+	unsigned short DADR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DAOE1:1;
+			unsigned char DAOE0:1;
+			unsigned char DAE:1;
+		} BIT;
+	} DACR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSEL:1;
+		} BIT;
+	} DADPR;
+};
+
+struct st_dmac {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DMST:1;
+		} BIT;
+	} DMAST;
+};
+
+struct st_dmac0 {
+	unsigned long  DMSAR;
+	unsigned long  DMDAR;
+	unsigned long  DMCRA;
+	unsigned short DMCRB;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short MD:2;
+			unsigned short DTS:2;
+			unsigned short :2;
+			unsigned short SZ:2;
+			unsigned short :6;
+			unsigned short DCTG:2;
+		} BIT;
+	} DMTMD;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char DTIE:1;
+			unsigned char ESIE:1;
+			unsigned char RPTIE:1;
+			unsigned char SARIE:1;
+			unsigned char DARIE:1;
+		} BIT;
+	} DMINT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SM:2;
+			unsigned short :1;
+			unsigned short SARA:5;
+			unsigned short DM:2;
+			unsigned short :1;
+			unsigned short DARA:5;
+		} BIT;
+	} DMAMD;
+	char           wk2[2];
+	unsigned long  DMOFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTE:1;
+		} BIT;
+	} DMCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char CLRS:1;
+			unsigned char :3;
+			unsigned char SWREQ:1;
+		} BIT;
+	} DMREQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ACT:1;
+			unsigned char :2;
+			unsigned char DTIF:1;
+			unsigned char :3;
+			unsigned char ESIF:1;
+		} BIT;
+	} DMSTS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DISEL:1;
+		} BIT;
+	} DMCSL;
+};
+
+struct st_dmac1 {
+	unsigned long  DMSAR;
+	unsigned long  DMDAR;
+	unsigned long  DMCRA;
+	unsigned short DMCRB;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short MD:2;
+			unsigned short DTS:2;
+			unsigned short :2;
+			unsigned short SZ:2;
+			unsigned short :6;
+			unsigned short DCTG:2;
+		} BIT;
+	} DMTMD;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char DTIE:1;
+			unsigned char ESIE:1;
+			unsigned char RPTIE:1;
+			unsigned char SARIE:1;
+			unsigned char DARIE:1;
+		} BIT;
+	} DMINT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SM:2;
+			unsigned short :1;
+			unsigned short SARA:5;
+			unsigned short DM:2;
+			unsigned short :1;
+			unsigned short DARA:5;
+		} BIT;
+	} DMAMD;
+	char           wk2[6];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTE:1;
+		} BIT;
+	} DMCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char CLRS:1;
+			unsigned char :3;
+			unsigned char SWREQ:1;
+		} BIT;
+	} DMREQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ACT:1;
+			unsigned char :2;
+			unsigned char DTIF:1;
+			unsigned char :3;
+			unsigned char ESIF:1;
+		} BIT;
+	} DMSTS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DISEL:1;
+		} BIT;
+	} DMCSL;
+};
+
+struct st_doc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DOPCFCL:1;
+			unsigned char DOPCF:1;
+			unsigned char DOPCIE:1;
+			unsigned char :1;
+			unsigned char DCSEL:1;
+			unsigned char OMS:2;
+		} BIT;
+	} DOCR;
+	char           wk0[1];
+	unsigned short DODIR;
+	unsigned short DODSR;
+};
+
+struct st_dtc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char RRS:1;
+		} BIT;
+	} DTCCR;
+	char           wk0[3];
+	unsigned long  DTCVBR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SHORT:1;
+		} BIT;
+	} DTCADMOD;
+	char           wk1[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTCST:1;
+		} BIT;
+	} DTCST;
+	char           wk2[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ACT:1;
+			unsigned short :7;
+			unsigned short VECN:8;
+		} BIT;
+	} DTCSTS;
+};
+
+struct st_elc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ELCON:1;
+		} BIT;
+	} ELCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ELS:8;
+		} BIT;
+	} ELSR[30];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char MTU3MD:2;
+			unsigned char MTU2MD:2;
+			unsigned char MTU1MD:2;
+		} BIT;
+	} ELOPA;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char MTU4MD:2;
+		} BIT;
+	} ELOPB;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char CMT1MD:2;
+		} BIT;
+	} ELOPC;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char TMR2MD:2;
+			unsigned char :2;
+			unsigned char TMR0MD:2;
+		} BIT;
+	} ELOPD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PRG7:1;
+			unsigned char PRG6:1;
+			unsigned char PRG5:1;
+			unsigned char PRG4:1;
+			unsigned char PRG3:1;
+			unsigned char PRG2:1;
+			unsigned char PRG1:1;
+			unsigned char PRG0:1;
+		} BIT;
+	} PGR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PRG7:1;
+			unsigned char PRG6:1;
+			unsigned char PRG5:1;
+			unsigned char PRG4:1;
+			unsigned char PRG3:1;
+			unsigned char PRG2:1;
+			unsigned char PRG1:1;
+			unsigned char PRG0:1;
+		} BIT;
+	} PGR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PGCO:3;
+			unsigned char :1;
+			unsigned char PGCOVE:1;
+			unsigned char PGCI:2;
+		} BIT;
+	} PGC1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PGCO:3;
+			unsigned char :1;
+			unsigned char PGCOVE:1;
+			unsigned char PGCI:2;
+		} BIT;
+	} PGC2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PDBF7:1;
+			unsigned char PDBF6:1;
+			unsigned char PDBF5:1;
+			unsigned char PDBF4:1;
+			unsigned char PDBF3:1;
+			unsigned char PDBF2:1;
+			unsigned char PDBF1:1;
+			unsigned char PDBF0:1;
+		} BIT;
+	} PDBF1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PDBF7:1;
+			unsigned char PDBF6:1;
+			unsigned char PDBF5:1;
+			unsigned char PDBF4:1;
+			unsigned char PDBF3:1;
+			unsigned char PDBF2:1;
+			unsigned char PDBF1:1;
+			unsigned char PDBF0:1;
+		} BIT;
+	} PDBF2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSM:2;
+			unsigned char PSP:2;
+			unsigned char PSB:3;
+		} BIT;
+	} PEL0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSM:2;
+			unsigned char PSP:2;
+			unsigned char PSB:3;
+		} BIT;
+	} PEL1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSM:2;
+			unsigned char PSP:2;
+			unsigned char PSB:3;
+		} BIT;
+	} PEL2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSM:2;
+			unsigned char PSP:2;
+			unsigned char PSB:3;
+		} BIT;
+	} PEL3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char WI:1;
+			unsigned char WE:1;
+			unsigned char :5;
+			unsigned char SEG:1;
+		} BIT;
+	} ELSEGR;
+};
+
+struct st_exsystem {
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :29;
+			unsigned long MDE:3;
+		} BIT;
+	} MDEB;
+	char           wk0[8388484];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :29;
+			unsigned long MDE:3;
+		} BIT;
+	} MDES;
+	char           wk1[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :23;
+			unsigned long HOCOEN:1;
+			unsigned long :5;
+			unsigned long LVDAS:1;
+			unsigned long VDSEL:2;
+		} BIT;
+	} OFS1;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :3;
+			unsigned long WDTRSTIRQS:1;
+			unsigned long WDTRPSS:2;
+			unsigned long WDTRPES:2;
+			unsigned long WDTCKS:4;
+			unsigned long WDTTOPS:2;
+			unsigned long WDTSTRT:1;
+			unsigned long :2;
+			unsigned long IWDTSLCSTP:1;
+			unsigned long :1;
+			unsigned long IWDTRSTIRQS:1;
+			unsigned long IWDTRPSS:2;
+			unsigned long IWDTRPES:2;
+			unsigned long IWDTCKS:4;
+			unsigned long IWDTTOPS:2;
+			unsigned long IWDTSTRT:1;
+		} BIT;
+	} OFS0;
+};
+
+struct st_flash {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char FLWE:2;
+		} BIT;
+	} FWEPROR;
+	char           wk0[7799147];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char FRDMD:1;
+		} BIT;
+	} FMODR;
+	char           wk1[13];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ROMAE:1;
+			unsigned char :2;
+			unsigned char CMDLK:1;
+			unsigned char DFLAE:1;
+			unsigned char :1;
+			unsigned char DFLRPE:1;
+			unsigned char DFLWPE:1;
+		} BIT;
+	} FASTAT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ROMAEIE:1;
+			unsigned char :2;
+			unsigned char CMDLKIE:1;
+			unsigned char DFLAEIE:1;
+			unsigned char :1;
+			unsigned char DFLRPEIE:1;
+			unsigned char DFLWPEIE:1;
+		} BIT;
+	} FAEINT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char FRDYIE:1;
+		} BIT;
+	} FRDYIE;
+	char           wk2[45];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :4;
+			unsigned short DBRE3:1;
+			unsigned short DBRE2:1;
+			unsigned short DBRE1:1;
+			unsigned short DBRE0:1;
+		} BIT;
+	} DFLRE0;
+	char           wk3[14];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :4;
+			unsigned short DBWE3:1;
+			unsigned short DBWE2:1;
+			unsigned short DBWE1:1;
+			unsigned short DBWE0:1;
+		} BIT;
+	} DFLWE0;
+	char           wk4[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :7;
+			unsigned short FCRME:1;
+		} BIT;
+	} FCURAME;
+	char           wk5[15194];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FRDY:1;
+			unsigned char ILGLERR:1;
+			unsigned char ERSERR:1;
+			unsigned char PRGERR:1;
+			unsigned char SUSRDY:1;
+			unsigned char :1;
+			unsigned char ERSSPD:1;
+			unsigned char PRGSPD:1;
+		} BIT;
+	} FSTATR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FCUERR:1;
+			unsigned char :2;
+			unsigned char FLOCKST:1;
+		} BIT;
+	} FSTATR1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FEKEY:8;
+			unsigned short FENTRYD:1;
+			unsigned short :6;
+			unsigned short FENTRY:1;
+		} BIT;
+	} FENTRYR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FPKEY:8;
+			unsigned short :7;
+			unsigned short FPROTCN:1;
+		} BIT;
+	} FPROTR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FRKEY:8;
+			unsigned short :7;
+			unsigned short FRESET:1;
+		} BIT;
+	} FRESETR;
+	char           wk6[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short CMDR:8;
+			unsigned short PCMDR:8;
+		} BIT;
+	} FCMDR;
+	char           wk7[12];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short ESUSPMD:1;
+		} BIT;
+	} FCPSR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BCSIZE:1;
+			unsigned short BCMODE:2;
+			unsigned short :2;
+			unsigned short BCADR:11;
+		} BIT;
+	} DFLBCCNT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short PEERRST:8;
+		} BIT;
+	} FPESTAT;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short BCST:1;
+		} BIT;
+	} DFLBCSTAT;
+	char           wk8[24];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short PCKA:8;
+		} BIT;
+	} PCKAR;
+};
+
+struct st_icu {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char IR:1;
+		} BIT;
+	} IR[250];
+	char           wk0[6];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTCE:1;
+		} BIT;
+	} DTCER[249];
+	char           wk1[7];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IEN7:1;
+			unsigned char IEN6:1;
+			unsigned char IEN5:1;
+			unsigned char IEN4:1;
+			unsigned char IEN3:1;
+			unsigned char IEN2:1;
+			unsigned char IEN1:1;
+			unsigned char IEN0:1;
+		} BIT;
+	} IER[32];
+	char           wk2[192];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SWINT:1;
+		} BIT;
+	} SWINTR;
+	char           wk3[15];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FIEN:1;
+			unsigned short :7;
+			unsigned short FVCT:8;
+		} BIT;
+	} FIR;
+	char           wk4[14];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char IPR:4;
+		} BIT;
+	} IPR[250];
+	char           wk5[6];
+	unsigned char  DMRSR0;
+	char           wk6[3];
+	unsigned char  DMRSR1;
+	char           wk7[3];
+	unsigned char  DMRSR2;
+	char           wk8[3];
+	unsigned char  DMRSR3;
+	char           wk9[243];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char IRQMD:2;
+		} BIT;
+	} IRQCR[8];
+	char           wk10[120];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SRAMST:1;
+			unsigned char LVD2ST:1;
+			unsigned char LVD1ST:1;
+			unsigned char IWDTST:1;
+			unsigned char WDTST:1;
+			unsigned char OSTST:1;
+			unsigned char NMIST:1;
+		} BIT;
+	} NMISR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SRAMEN:1;
+			unsigned char LVD2EN:1;
+			unsigned char LVD1EN:1;
+			unsigned char IWDTEN:1;
+			unsigned char WDTEN:1;
+			unsigned char OSTEN:1;
+			unsigned char NMIEN:1;
+		} BIT;
+	} NMIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char LVD2CLR:1;
+			unsigned char LVD1CLR:1;
+			unsigned char IWDTCLR:1;
+			unsigned char WDTCLR:1;
+			unsigned char OSTCLR:1;
+			unsigned char NMICLR:1;
+		} BIT;
+	} NMICLR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char NMIMD:1;
+		} BIT;
+	} NMICR;
+};
+
+struct st_iwdt {
+	unsigned char  IWDTRR;
+	char           wk0[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short RPSS:2;
+			unsigned short :2;
+			unsigned short RPES:2;
+			unsigned short CKS:4;
+			unsigned short :2;
+			unsigned short TOPS:2;
+		} BIT;
+	} IWDTCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short REFEF:1;
+			unsigned short UNDFF:1;
+			unsigned short CNTVAL:14;
+		} BIT;
+	} IWDTSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RSTIRQS:1;
+		} BIT;
+	} IWDTRCR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SLCSTP:1;
+		} BIT;
+	} IWDTCSTPR;
+};
+
+struct st_mpc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B0WI:1;
+			unsigned char PFSWE:1;
+		} BIT;
+	} PWPR;
+	char           wk0[35];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P03PFS;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P05PFS;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P07PFS;
+	char           wk3[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P12PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P13PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P14PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P15PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P16PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P17PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P20PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P21PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P22PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P23PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P24PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P25PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P26PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P27PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P30PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P31PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P32PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P33PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} P34PFS;
+	char           wk4[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P40PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P41PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P42PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P43PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P44PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P45PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P46PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+		} BIT;
+	} P47PFS;
+	char           wk5[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P54PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} P55PFS;
+	char           wk6[34];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PA7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PB7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PC7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PD7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :3;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :3;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :3;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :3;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PE7PFS;
+	char           wk7[16];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PH0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PH1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :2;
+			unsigned char PSEL:4;
+		} BIT;
+	} PH2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PH3PFS;
+	char           wk8[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PJ1PFS;
+	char           wk9[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PSEL:4;
+		} BIT;
+	} PJ3PFS;
+};
+
+struct st_mtu {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char OE4D:1;
+			unsigned char OE4C:1;
+			unsigned char OE3D:1;
+			unsigned char OE4B:1;
+			unsigned char OE4A:1;
+			unsigned char OE3B:1;
+		} BIT;
+	} TOER;
+	char           wk0[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char BDC:1;
+			unsigned char N:1;
+			unsigned char P:1;
+			unsigned char FB:1;
+			unsigned char WF:1;
+			unsigned char VF:1;
+			unsigned char UF:1;
+		} BIT;
+	} TGCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PSYE:1;
+			unsigned char :2;
+			unsigned char TOCL:1;
+			unsigned char TOCS:1;
+			unsigned char OLSN:1;
+			unsigned char OLSP:1;
+		} BIT;
+	} TOCR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BF:2;
+			unsigned char OLS3N:1;
+			unsigned char OLS3P:1;
+			unsigned char OLS2N:1;
+			unsigned char OLS2P:1;
+			unsigned char OLS1N:1;
+			unsigned char OLS1P:1;
+		} BIT;
+	} TOCR2;
+	char           wk1[4];
+	unsigned short TCDR;
+	unsigned short TDDR;
+	char           wk2[8];
+	unsigned short TCNTS;
+	unsigned short TCBR;
+	char           wk3[12];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char T3AEN:1;
+			unsigned char T3ACOR:3;
+			unsigned char T4VEN:1;
+			unsigned char T4VCOR:3;
+		} BIT;
+	} TITCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char T3ACNT:3;
+			unsigned char :1;
+			unsigned char T4VCNT:3;
+		} BIT;
+	} TITCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char BTE:2;
+		} BIT;
+	} TBTER;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TDER:1;
+		} BIT;
+	} TDER;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char OLS3N:1;
+			unsigned char OLS3P:1;
+			unsigned char OLS2N:1;
+			unsigned char OLS2P:1;
+			unsigned char OLS1N:1;
+			unsigned char OLS1P:1;
+		} BIT;
+	} TOLBR;
+	char           wk6[41];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCE:1;
+			unsigned char :6;
+			unsigned char WRE:1;
+		} BIT;
+	} TWCR;
+	char           wk7[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CST4:1;
+			unsigned char CST3:1;
+			unsigned char :3;
+			unsigned char CST2:1;
+			unsigned char CST1:1;
+			unsigned char CST0:1;
+		} BIT;
+	} TSTR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SYNC4:1;
+			unsigned char SYNC3:1;
+			unsigned char :3;
+			unsigned char SYNC2:1;
+			unsigned char SYNC1:1;
+			unsigned char SYNC0:1;
+		} BIT;
+	} TSYR;
+	char           wk8[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RWE:1;
+		} BIT;
+	} TRWER;
+	char           wk9[11];
+	unsigned char  NFCR0;
+	unsigned char  NFCR1;
+	unsigned char  NFCR2;
+	unsigned char  NFCR3;
+	unsigned char  NFCR4;
+	unsigned char  NFCR5;
+};
+
+struct st_mtu0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCLR:3;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char BFE:1;
+			unsigned char BFB:1;
+			unsigned char BFA:1;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIORH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOD:4;
+			unsigned char IOC:4;
+		} BIT;
+	} TIORL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :2;
+			unsigned char TCIEV:1;
+			unsigned char TGIED:1;
+			unsigned char TGIEC:1;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+	unsigned short TGRC;
+	unsigned short TGRD;
+	char           wk0[16];
+	unsigned short TGRE;
+	unsigned short TGRF;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TGIEF:1;
+			unsigned char TGIEE:1;
+		} BIT;
+	} TIER2;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TTSE:1;
+			unsigned char TTSB:1;
+			unsigned char TTSA:1;
+		} BIT;
+	} TBTM;
+};
+
+struct st_mtu1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char CCLR:2;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIOR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			unsigned char TCIEV:1;
+			unsigned char :2;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+	char           wk1[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char I2BE:1;
+			unsigned char I2AE:1;
+			unsigned char I1BE:1;
+			unsigned char I1AE:1;
+		} BIT;
+	} TICCR;
+};
+
+struct st_mtu2 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char CCLR:2;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIOR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			unsigned char TCIEV:1;
+			unsigned char :2;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_mtu3 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCLR:3;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char BFB:1;
+			unsigned char BFA:1;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIORH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOD:4;
+			unsigned char IOC:4;
+		} BIT;
+	} TIORL;
+	char           wk2[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :2;
+			unsigned char TCIEV:1;
+			unsigned char TGIED:1;
+			unsigned char TGIEC:1;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	char           wk3[7];
+	unsigned short TCNT;
+	char           wk4[6];
+	unsigned short TGRA;
+	unsigned short TGRB;
+	char           wk5[8];
+	unsigned short TGRC;
+	unsigned short TGRD;
+	char           wk6[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	char           wk7[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TTSE:1;
+			unsigned char TTSB:1;
+			unsigned char TTSA:1;
+		} BIT;
+	} TBTM;
+};
+
+struct st_mtu4 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCLR:3;
+			unsigned char CKEG:2;
+			unsigned char TPSC:3;
+		} BIT;
+	} TCR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char BFB:1;
+			unsigned char BFA:1;
+			unsigned char MD:4;
+		} BIT;
+	} TMDR;
+	char           wk2[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOB:4;
+			unsigned char IOA:4;
+		} BIT;
+	} TIORH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IOD:4;
+			unsigned char IOC:4;
+		} BIT;
+	} TIORL;
+	char           wk3[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char TTGE2:1;
+			unsigned char :1;
+			unsigned char TCIEV:1;
+			unsigned char TGIED:1;
+			unsigned char TGIEC:1;
+			unsigned char TGIEB:1;
+			unsigned char TGIEA:1;
+		} BIT;
+	} TIER;
+	char           wk4[8];
+	unsigned short TCNT;
+	char           wk5[8];
+	unsigned short TGRA;
+	unsigned short TGRB;
+	char           wk6[8];
+	unsigned short TGRC;
+	unsigned short TGRD;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCFD:1;
+		} BIT;
+	} TSR;
+	char           wk8[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TTSE:1;
+			unsigned char TTSB:1;
+			unsigned char TTSA:1;
+		} BIT;
+	} TBTM;
+	char           wk9[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BF:2;
+			unsigned short :6;
+			unsigned short UT4AE:1;
+			unsigned short DT4AE:1;
+			unsigned short UT4BE:1;
+			unsigned short DT4BE:1;
+			unsigned short ITA3AE:1;
+			unsigned short ITA4VE:1;
+			unsigned short ITB3AE:1;
+			unsigned short ITB4VE:1;
+		} BIT;
+	} TADCR;
+	char           wk10[2];
+	unsigned short TADCORA;
+	unsigned short TADCORB;
+	unsigned short TADCOBRA;
+	unsigned short TADCOBRB;
+};
+
+struct st_mtu5 {
+	unsigned short TCNTU;
+	unsigned short TGRU;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRU;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORU;
+	char           wk1[9];
+	unsigned short TCNTV;
+	unsigned short TGRV;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRV;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORV;
+	char           wk3[9];
+	unsigned short TCNTW;
+	unsigned short TGRW;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRW;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORW;
+	char           wk5[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TGIE5U:1;
+			unsigned char TGIE5V:1;
+			unsigned char TGIE5W:1;
+		} BIT;
+	} TIER;
+	char           wk6[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CSTU5:1;
+			unsigned char CSTV5:1;
+			unsigned char CSTW5:1;
+		} BIT;
+	} TSTR;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CMPCLR5U:1;
+			unsigned char CMPCLR5V:1;
+			unsigned char CMPCLR5W:1;
+		} BIT;
+	} TCNTCMPCLR;
+};
+
+struct st_poe {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char POE3F:1;
+			unsigned char POE2F:1;
+			unsigned char POE1F:1;
+			unsigned char POE0F:1;
+			unsigned char :3;
+			unsigned char PIE1:1;
+			unsigned char POE3M:2;
+			unsigned char POE2M:2;
+			unsigned char POE1M:2;
+			unsigned char POE0M:2;
+		} BIT;
+	} ICSR1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char OSF1:1;
+			unsigned char :5;
+			unsigned char OCE1:1;
+			unsigned char OIE1:1;
+		} BIT;
+	} OCSR1;
+	char           wk0[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char POE8F:1;
+			unsigned char :2;
+			unsigned char POE8E:1;
+			unsigned char PIE2:1;
+			unsigned char :6;
+			unsigned char POE8M:2;
+		} BIT;
+	} ICSR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char CH0HIZ:1;
+			unsigned char CH34HIZ:1;
+		} BIT;
+	} SPOER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PE3ZE:1;
+			unsigned char PE2ZE:1;
+			unsigned char PE1ZE:1;
+			unsigned char PE0ZE:1;
+		} BIT;
+	} POECR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char P1CZEA:1;
+			unsigned char P2CZEA:1;
+			unsigned char P3CZEA:1;
+		} BIT;
+	} POECR2;
+	char           wk1[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char OSTSTE:1;
+		} BIT;
+	} ICSR3;
+};
+
+struct st_port {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CS7E:1;
+			unsigned char CS6E:1;
+			unsigned char CS5E:1;
+			unsigned char CS4E:1;
+			unsigned char CS3E:1;
+			unsigned char CS2E:1;
+			unsigned char CS1E:1;
+			unsigned char CS0E:1;
+		} BIT;
+	} PFCSE;
+	char           wk0[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char A15E:1;
+			unsigned char A14E:1;
+			unsigned char A13E:1;
+			unsigned char A12E:1;
+			unsigned char A11E:1;
+			unsigned char A10E:1;
+			unsigned char A9E:1;
+			unsigned char A8E:1;
+		} BIT;
+	} PFAOE0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char A23E:1;
+			unsigned char A22E:1;
+			unsigned char A21E:1;
+			unsigned char A20E:1;
+			unsigned char A19E:1;
+			unsigned char A18E:1;
+			unsigned char A17E:1;
+			unsigned char A16E:1;
+		} BIT;
+	} PFAOE1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char WR1BC1E:1;
+			unsigned char :1;
+			unsigned char DHE:1;
+			unsigned char :3;
+			unsigned char ADRLE:1;
+		} BIT;
+	} PFBCR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char ALEOE:1;
+			unsigned char WAITS:2;
+		} BIT;
+	} PFBCR1;
+};
+
+struct st_port0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char :1;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_port1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} PMR;
+	char           wk3[32];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[61];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_port2 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[33];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[60];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_port3 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[34];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[59];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_port4 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_port5 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk4[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_porta {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[41];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[52];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_portb {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[42];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[51];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_portc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[43];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[50];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_portd {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk4[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_porte {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[45];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+			unsigned char :1;
+			unsigned char B4:1;
+			unsigned char :1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[48];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B7:1;
+			unsigned char B6:1;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_porth {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+	char           wk4[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_portj {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} PMR;
+	char           wk3[95];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} PCR;
+	char           wk4[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char B3:1;
+			unsigned char :1;
+			unsigned char B1:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_riic {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ICE:1;
+			unsigned char IICRST:1;
+			unsigned char CLO:1;
+			unsigned char SOWP:1;
+			unsigned char SCLO:1;
+			unsigned char SDAO:1;
+			unsigned char SCLI:1;
+			unsigned char SDAI:1;
+		} BIT;
+	} ICCR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BBSY:1;
+			unsigned char MST:1;
+			unsigned char TRS:1;
+			unsigned char :1;
+			unsigned char SP:1;
+			unsigned char RS:1;
+			unsigned char ST:1;
+		} BIT;
+	} ICCR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char MTWP:1;
+			unsigned char CKS:3;
+			unsigned char BCWP:1;
+			unsigned char BC:3;
+		} BIT;
+	} ICMR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DLCS:1;
+			unsigned char SDDL:3;
+			unsigned char :1;
+			unsigned char TMOH:1;
+			unsigned char TMOL:1;
+			unsigned char TMOS:1;
+		} BIT;
+	} ICMR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SMBS:1;
+			unsigned char WAIT:1;
+			unsigned char RDRFS:1;
+			unsigned char ACKWP:1;
+			unsigned char ACKBT:1;
+			unsigned char ACKBR:1;
+			unsigned char NF:2;
+		} BIT;
+	} ICMR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SCLE:1;
+			unsigned char NFE:1;
+			unsigned char NACKE:1;
+			unsigned char SALE:1;
+			unsigned char NALE:1;
+			unsigned char MALE:1;
+			unsigned char TMOE:1;
+		} BIT;
+	} ICFER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char HOAE:1;
+			unsigned char :1;
+			unsigned char DIDE:1;
+			unsigned char :1;
+			unsigned char GCAE:1;
+			unsigned char SAR2E:1;
+			unsigned char SAR1E:1;
+			unsigned char SAR0E:1;
+		} BIT;
+	} ICSER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char TEIE:1;
+			unsigned char RIE:1;
+			unsigned char NAKIE:1;
+			unsigned char SPIE:1;
+			unsigned char STIE:1;
+			unsigned char ALIE:1;
+			unsigned char TMOIE:1;
+		} BIT;
+	} ICIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char HOA:1;
+			unsigned char :1;
+			unsigned char DID:1;
+			unsigned char :1;
+			unsigned char GCA:1;
+			unsigned char AAS2:1;
+			unsigned char AAS1:1;
+			unsigned char AAS0:1;
+		} BIT;
+	} ICSR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TDRE:1;
+			unsigned char TEND:1;
+			unsigned char RDRF:1;
+			unsigned char NACKF:1;
+			unsigned char STOP:1;
+			unsigned char START:1;
+			unsigned char AL:1;
+			unsigned char TMOF:1;
+		} BIT;
+	} ICSR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SVA:7;
+			unsigned char SVA0:1;
+		} BIT;
+	} SARL0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SVA:2;
+			unsigned char FS:1;
+		} BIT;
+	} SARU0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SVA:7;
+			unsigned char SVA0:1;
+		} BIT;
+	} SARL1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SVA:2;
+			unsigned char FS:1;
+		} BIT;
+	} SARU1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SVA:7;
+			unsigned char SVA0:1;
+		} BIT;
+	} SARL2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SVA:2;
+			unsigned char FS:1;
+		} BIT;
+	} SARU2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char BRL:5;
+		} BIT;
+	} ICBRL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char BRH:5;
+		} BIT;
+	} ICBRH;
+	unsigned char  ICDRT;
+	unsigned char  ICDRR;
+};
+
+struct st_rspi {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SPRIE:1;
+			unsigned char SPE:1;
+			unsigned char SPTIE:1;
+			unsigned char SPEIE:1;
+			unsigned char MSTR:1;
+			unsigned char MODFEN:1;
+			unsigned char TXMD:1;
+			unsigned char SPMS:1;
+		} BIT;
+	} SPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char SSL3P:1;
+			unsigned char SSL2P:1;
+			unsigned char SSL1P:1;
+			unsigned char SSL0P:1;
+		} BIT;
+	} SSLP;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char MOIFE:1;
+			unsigned char MOIFV:1;
+			unsigned char :1;
+			unsigned char SPOM:1;
+			unsigned char SPLP2:1;
+			unsigned char SPLP:1;
+		} BIT;
+	} SPPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PERF:1;
+			unsigned char MODF:1;
+			unsigned char IDLNF:1;
+			unsigned char OVRF:1;
+		} BIT;
+	} SPSR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned short H;
+			unsigned short L;
+		} WORD;
+	} SPDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SPSLN:3;
+		} BIT;
+	} SPSCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SPECM:3;
+			unsigned char :1;
+			unsigned char SPCP:3;
+		} BIT;
+	} SPSSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SPR7:1;
+			unsigned char SPR6:1;
+			unsigned char SPR5:1;
+			unsigned char SPR4:1;
+			unsigned char SPR3:1;
+			unsigned char SPR2:1;
+			unsigned char SPR1:1;
+			unsigned char SPR0:1;
+		} BIT;
+	} SPBR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char SPLW:1;
+			unsigned char SPRDTD:1;
+			unsigned char SLSEL:2;
+			unsigned char SPFC:2;
+		} BIT;
+	} SPDCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SCKDL:3;
+		} BIT;
+	} SPCKD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SLNDL:3;
+		} BIT;
+	} SSLND;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SPNDL:3;
+		} BIT;
+	} SPND;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char PTE:1;
+			unsigned char SPIIE:1;
+			unsigned char SPOE:1;
+			unsigned char SPPE:1;
+		} BIT;
+	} SPCR2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD3;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD4;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD5;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD6;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SCKDEN:1;
+			unsigned short SLNDEN:1;
+			unsigned short SPNDEN:1;
+			unsigned short LSBF:1;
+			unsigned short SPB:4;
+			unsigned short SSLKP:1;
+			unsigned short SSLA:3;
+			unsigned short BRDV:2;
+			unsigned short CPOL:1;
+			unsigned short CPHA:1;
+		} BIT;
+	} SPCMD7;
+};
+
+struct st_rtc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char F1HZ:1;
+			unsigned char F2HZ:1;
+			unsigned char F4HZ:1;
+			unsigned char F8HZ:1;
+			unsigned char F16HZ:1;
+			unsigned char F32HZ:1;
+			unsigned char F64HZ:1;
+		} BIT;
+	} R64CNT;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCNT;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCNT;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCNT;
+	char           wk3[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char DAYW:3;
+		} BIT;
+	} RWKCNT;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char DATE10:2;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCNT;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCNT;
+	char           wk6[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short YR10:4;
+			unsigned short YR1:4;
+		} BIT;
+	} RYRCNT;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECAR;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINAR;
+	char           wk8[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRAR;
+	char           wk9[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char :4;
+			unsigned char DAYW:3;
+		} BIT;
+	} RWKAR;
+	char           wk10[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char :1;
+			unsigned char DATE10:2;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYAR;
+	char           wk11[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+			unsigned char :2;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONAR;
+	char           wk12[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short YR10:4;
+			unsigned short YR1:4;
+		} BIT;
+	} RYRAR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ENB:1;
+		} BIT;
+	} RYRAREN;
+	char           wk13[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PES:4;
+			unsigned char :1;
+			unsigned char PIE:1;
+			unsigned char CIE:1;
+			unsigned char AIE:1;
+		} BIT;
+	} RCR1;
+	char           wk14[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char HR24:1;
+			unsigned char AADJP:1;
+			unsigned char AADJE:1;
+			unsigned char RTCOE:1;
+			unsigned char ADJ30:1;
+			unsigned char RESET:1;
+			unsigned char START:1;
+		} BIT;
+	} RCR2;
+	char           wk34[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char RTCDV:3;
+			unsigned char RTCEN:1;
+		} BIT;
+	} RCR3;
+	
+	char           wk15[7];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PMADJ:2;
+			unsigned char ADJ:6;
+		} BIT;
+	} RADJ;
+	char           wk16[17];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCEN:1;
+			unsigned char :1;
+			unsigned char TCNF:2;
+			unsigned char :1;
+			unsigned char TCST:1;
+			unsigned char TCCT:2;
+		} BIT;
+	} RTCCR0;
+	char           wk17[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCEN:1;
+			unsigned char :1;
+			unsigned char TCNF:2;
+			unsigned char :1;
+			unsigned char TCST:1;
+			unsigned char TCCT:2;
+		} BIT;
+	} RTCCR1;
+	char           wk18[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCEN:1;
+			unsigned char :1;
+			unsigned char TCNF:2;
+			unsigned char :1;
+			unsigned char TCST:1;
+			unsigned char TCCT:2;
+		} BIT;
+	} RTCCR2;
+	char           wk19[13];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP0;
+	char           wk20[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP0;
+	char           wk21[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP0;
+	char           wk22[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP0;
+	char           wk23[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP0;
+	char           wk24[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP1;
+	char           wk25[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP1;
+	char           wk26[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP1;
+	char           wk27[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP1;
+	char           wk28[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP1;
+	char           wk29[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP2;
+	char           wk30[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP2;
+	char           wk31[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP2;
+	char           wk32[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP2;
+	char           wk33[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP2;
+};
+
+struct st_s12ad {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADST:1;
+			unsigned short ADCS:2;
+			unsigned short ADIE:1;
+			unsigned short :2;
+			unsigned short TRGE:1;
+			unsigned short EXTRG:1;
+			unsigned short DBLE:1;
+			unsigned short GBADIE:1;
+			unsigned short :1;
+			unsigned short DBLANS:5;
+		} BIT;
+	} ADCSR;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ANSA15:1;
+			unsigned short ANSA14:1;
+			unsigned short ANSA13:1;
+			unsigned short ANSA12:1;
+			unsigned short ANSA11:1;
+			unsigned short ANSA10:1;
+			unsigned short ANSA9:1;
+			unsigned short ANSA8:1;
+			unsigned short ANSA7:1;
+			unsigned short ANSA6:1;
+			unsigned short ANSA5:1;
+			unsigned short ANSA4:1;
+			unsigned short ANSA3:1;
+			unsigned short ANSA2:1;
+			unsigned short ANSA1:1;
+			unsigned short ANSA0:1;
+		} BIT;
+	} ADANSA;
+	char           wk1[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADS15:1;
+			unsigned short ADS14:1;
+			unsigned short ADS13:1;
+			unsigned short ADS12:1;
+			unsigned short ADS11:1;
+			unsigned short ADS10:1;
+			unsigned short ADS9:1;
+			unsigned short ADS8:1;
+			unsigned short ADS7:1;
+			unsigned short ADS6:1;
+			unsigned short ADS5:1;
+			unsigned short ADS4:1;
+			unsigned short ADS3:1;
+			unsigned short ADS2:1;
+			unsigned short ADS1:1;
+			unsigned short ADS0:1;
+		} BIT;
+	} ADADS;
+	char           wk2[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char ADC:2;
+		} BIT;
+	} ADADC;
+	char           wk3[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADRFMT:1;
+			unsigned short :3;
+			unsigned short DIAGM:1;
+			unsigned short DIAGLD:1;
+			unsigned short DIAGVAL:2;
+			unsigned short :2;
+			unsigned short ACE:1;
+		} BIT;
+	} ADCER;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short TRSA:4;
+			unsigned short :4;
+			unsigned short TRSB:4;
+		} BIT;
+	} ADSTRGR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short OCS:1;
+			unsigned short TSS:1;
+			unsigned short :6;
+			unsigned short OCSAD:1;
+		} BIT;
+	} ADEXICR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ANSB15:1;
+			unsigned short ANSB14:1;
+			unsigned short ANSB13:1;
+			unsigned short ANSB12:1;
+			unsigned short ANSB11:1;
+			unsigned short ANSB10:1;
+			unsigned short ANSB9:1;
+			unsigned short ANSB8:1;
+			unsigned short ANSB7:1;
+			unsigned short ANSB6:1;
+			unsigned short ANSB5:1;
+			unsigned short ANSB4:1;
+			unsigned short ANSB3:1;
+			unsigned short ANSB2:1;
+			unsigned short ANSB1:1;
+			unsigned short ANSB0:1;
+		} BIT;
+	} ADANSB;
+	char           wk4[2];
+	unsigned short ADDBLDR;
+	unsigned short ADTSDR;
+	unsigned short ADOCDR;
+	union {
+		unsigned short WORD;
+		union {
+			struct {
+				unsigned short DIAGST:2;
+				unsigned short :2;
+				unsigned short DATA:10;
+			} LEFT;
+			struct {
+				unsigned short DATA:10;
+				unsigned short :4;
+				unsigned short DIAGST:2;
+			} RIGHT;
+		} BIT;
+	} ADRD;
+	unsigned short ADDR0;
+	unsigned short ADDR1;
+	unsigned short ADDR2;
+	unsigned short ADDR3;
+	unsigned short ADDR4;
+	unsigned short ADDR5;
+	unsigned short ADDR6;
+	unsigned short ADDR7;
+	unsigned short ADDR8;
+	unsigned short ADDR9;
+	unsigned short ADDR10;
+	unsigned short ADDR11;
+	unsigned short ADDR12;
+	unsigned short ADDR13;
+	unsigned short ADDR14;
+	unsigned short ADDR15;
+	char           wk5[32];
+	unsigned char  ADSSTR0;
+	unsigned char  ADSSTRL;
+	char           wk6[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short SHANS:3;
+			unsigned short SSTSH:8;
+		} BIT;
+	} ADSHCR;
+	char           wk7[8];
+	unsigned char  ADSSTRT;
+	unsigned char  ADSSTRO;
+	char           wk8[1];
+	unsigned char  ADSSTR1;
+	unsigned char  ADSSTR2;
+	unsigned char  ADSSTR3;
+	unsigned char  ADSSTR4;
+	unsigned char  ADSSTR5;
+	unsigned char  ADSSTR6;
+	unsigned char  ADSSTR7;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char ADNDIS:5;
+		} BIT;
+	} ADDISCR;
+};
+
+struct st_sci0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CM:1;
+			unsigned char CHR:1;
+			unsigned char PE:1;
+			unsigned char PM:1;
+			unsigned char STOP:1;
+			unsigned char MP:1;
+			unsigned char CKS:2;
+		} BIT;
+	} SMR;
+	unsigned char  BRR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char RIE:1;
+			unsigned char TE:1;
+			unsigned char RE:1;
+			unsigned char MPIE:1;
+			unsigned char TEIE:1;
+			unsigned char CKE:2;
+		} BIT;
+	} SCR;
+	unsigned char  TDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char ORER:1;
+			unsigned char FER:1;
+			unsigned char PER:1;
+			unsigned char TEND:1;
+			unsigned char MPB:1;
+			unsigned char MPBT:1;
+		} BIT;
+	} SSR;
+	unsigned char  RDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFEN:1;
+			unsigned char ABCS:1;
+			unsigned char :3;
+			unsigned char ACS0:1;
+		} BIT;
+	} SEMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char NFCS:3;
+		} BIT;
+	} SNFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICDL:5;
+			unsigned char :2;
+			unsigned char IICM:1;
+		} BIT;
+	} SIMR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char IICACKT:1;
+			unsigned char :3;
+			unsigned char IICCSC:1;
+			unsigned char IICINTM:1;
+		} BIT;
+	} SIMR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICSCLS:2;
+			unsigned char IICSDAS:2;
+			unsigned char :1;
+			unsigned char IICSTPREQ:1;
+			unsigned char IICRSTAREQ:1;
+			unsigned char IICSTAREQ:1;
+		} BIT;
+	} SIMR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char IICBBS:1;
+			unsigned char :1;
+			unsigned char IICACKR:1;
+		} BIT;
+	} SISR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CKPH:1;
+			unsigned char CKPOL:1;
+			unsigned char :1;
+			unsigned char MFF:1;
+			unsigned char :1;
+			unsigned char MSS:1;
+			unsigned char CTSE:1;
+			unsigned char SSE:1;
+		} BIT;
+	} SECR;
+};
+
+struct st_sci1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CM:1;
+			unsigned char CHR:1;
+			unsigned char PE:1;
+			unsigned char PM:1;
+			unsigned char STOP:1;
+			unsigned char MP:1;
+			unsigned char CKS:2;
+		} BIT;
+	} SMR;
+	unsigned char  BRR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char RIE:1;
+			unsigned char TE:1;
+			unsigned char RE:1;
+			unsigned char MPIE:1;
+			unsigned char TEIE:1;
+			unsigned char CKE:2;
+		} BIT;
+	} SCR;
+	unsigned char  TDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char ORER:1;
+			unsigned char FER:1;
+			unsigned char PER:1;
+			unsigned char TEND:1;
+			unsigned char MPB:1;
+			unsigned char MPBT:1;
+		} BIT;
+	} SSR;
+	unsigned char  RDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFEN:1;
+			unsigned char ABCS:1;
+			unsigned char :3;
+			unsigned char ACS0:1;
+		} BIT;
+	} SEMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char NFCS:3;
+		} BIT;
+	} SNFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICDL:5;
+			unsigned char :2;
+			unsigned char IICM:1;
+		} BIT;
+	} SIMR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char IICACKT:1;
+			unsigned char :3;
+			unsigned char IICCSC:1;
+			unsigned char IICINTM:1;
+		} BIT;
+	} SIMR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICSCLS:2;
+			unsigned char IICSDAS:2;
+			unsigned char :1;
+			unsigned char IICSTPREQ:1;
+			unsigned char IICRSTAREQ:1;
+			unsigned char IICSTAREQ:1;
+		} BIT;
+	} SIMR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char IICACKR:1;
+		} BIT;
+	} SISR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CKPH:1;
+			unsigned char CKPOL:1;
+			unsigned char :1;
+			unsigned char MFF:1;
+			unsigned char :1;
+			unsigned char MSS:1;
+			unsigned char CTSE:1;
+			unsigned char SSE:1;
+		} BIT;
+	} SECR;
+};
+
+struct st_sci12 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CM:1;
+			unsigned char CHR:1;
+			unsigned char PE:1;
+			unsigned char PM:1;
+			unsigned char STOP:1;
+			unsigned char MP:1;
+			unsigned char CKS:2;
+		} BIT;
+	} SMR;
+	unsigned char  BRR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char RIE:1;
+			unsigned char TE:1;
+			unsigned char RE:1;
+			unsigned char MPIE:1;
+			unsigned char TEIE:1;
+			unsigned char CKE:2;
+		} BIT;
+	} SCR;
+	unsigned char  TDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char ORER:1;
+			unsigned char FER:1;
+			unsigned char PER:1;
+			unsigned char TEND:1;
+			unsigned char MPB:1;
+			unsigned char MPBT:1;
+		} BIT;
+	} SSR;
+	unsigned char  RDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFEN:1;
+			unsigned char ABCS:1;
+			unsigned char :3;
+			unsigned char ACS0:1;
+		} BIT;
+	} SEMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char NFCS:3;
+		} BIT;
+	} SNFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICDL:5;
+			unsigned char :2;
+			unsigned char IICM:1;
+		} BIT;
+	} SIMR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char IICACKT:1;
+			unsigned char :3;
+			unsigned char IICCSC:1;
+			unsigned char IICINTM:1;
+		} BIT;
+	} SIMR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IICSCLS:2;
+			unsigned char IICSDAS:2;
+			unsigned char :1;
+			unsigned char IICSTPREQ:1;
+			unsigned char IICRSTAREQ:1;
+			unsigned char IICSTAREQ:1;
+		} BIT;
+	} SIMR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char IICACKR:1;
+		} BIT;
+	} SISR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CKPH:1;
+			unsigned char CKPOL:1;
+			unsigned char :1;
+			unsigned char MFF:1;
+			unsigned char :1;
+			unsigned char MSS:1;
+			unsigned char CTSE:1;
+			unsigned char SSE:1;
+		} BIT;
+	} SECR;
+	char           wk0[18];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SCIXE:1;
+		} BIT;
+	} MER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char BRME:1;
+			unsigned char RXDSF:1;
+			unsigned char SFSF:1;
+		} BIT;
+	} CR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PIBS:3;
+			unsigned char PIBE:1;
+			unsigned char CF1DS:2;
+			unsigned char CF0RE:1;
+			unsigned char BFE:1;
+		} BIT;
+	} CR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RTS:2;
+			unsigned char BCCS:2;
+			unsigned char :1;
+			unsigned char DFCS:3;
+		} BIT;
+	} CR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SDST:1;
+		} BIT;
+	} CR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char SHARPS:1;
+			unsigned char TXPLOD:1;
+			unsigned char TXPHOD:1;
+			unsigned char RXDXPS:1;
+			unsigned char TXDXPS:1;
+		} BIT;
+	} PCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char AEDIE:1;
+			unsigned char BCDIE:1;
+			unsigned char PIBDIE:1;
+			unsigned char CF1MIE:1;
+			unsigned char CF0MIE:1;
+			unsigned char BFDIE:1;
+		} BIT;
+	} ICR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char AEDF:1;
+			unsigned char BCDF:1;
+			unsigned char PIBDF:1;
+			unsigned char CF1MF:1;
+			unsigned char CF0MF:1;
+			unsigned char BFDF:1;
+		} BIT;
+	} STR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char AEDCL:1;
+			unsigned char BCDCL:1;
+			unsigned char PIBDCL:1;
+			unsigned char CF1MCL:1;
+			unsigned char CF0MCL:1;
+			unsigned char BFDCL:1;
+		} BIT;
+	} STCR;
+	unsigned char  CF0DR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CF0CE7:1;
+			unsigned char CF0CE6:1;
+			unsigned char CF0CE5:1;
+			unsigned char CF0CE4:1;
+			unsigned char CF0CE3:1;
+			unsigned char CF0CE2:1;
+			unsigned char CF0CE1:1;
+			unsigned char CF0CE0:1;
+		} BIT;
+	} CF0CR;
+	unsigned char  CF0RR;
+	unsigned char  PCF1DR;
+	unsigned char  SCF1DR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CF1CE7:1;
+			unsigned char CF1CE6:1;
+			unsigned char CF1CE5:1;
+			unsigned char CF1CE4:1;
+			unsigned char CF1CE3:1;
+			unsigned char CF1CE2:1;
+			unsigned char CF1CE1:1;
+			unsigned char CF1CE0:1;
+		} BIT;
+	} CF1CR;
+	unsigned char  CF1RR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TCST:1;
+		} BIT;
+	} TCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char TCSS:3;
+			unsigned char TWRC:1;
+			unsigned char :1;
+			unsigned char TOMS:2;
+		} BIT;
+	} TMR;
+	unsigned char  TPRE;
+	unsigned char  TCNT;
+};
+
+struct st_smci {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char GM:1;
+			unsigned char BCLK:1;
+			unsigned char PE:1;
+			unsigned char PM:1;
+			unsigned char BCP:2;
+			unsigned char CKS:2;
+		} BIT;
+	} SMR;
+	unsigned char  BRR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TIE:1;
+			unsigned char RIE:1;
+			unsigned char TE:1;
+			unsigned char RE:1;
+			unsigned char :1;
+			unsigned char TEIE:1;
+			unsigned char CKE:2;
+		} BIT;
+	} SCR;
+	unsigned char  TDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char ORER:1;
+			unsigned char ERS:1;
+			unsigned char PER:1;
+			unsigned char TEND:1;
+		} BIT;
+	} SSR;
+	unsigned char  RDR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char BCP2:1;
+			unsigned char :3;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+};
+
+struct st_system {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short MD:1;
+		} BIT;
+	} MDMONR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :10;
+			unsigned short UBTS:1;
+			unsigned short BOTS:1;
+			unsigned short :2;
+			unsigned short EXB:1;
+			unsigned short IROM:1;
+		} BIT;
+	} MDSR;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :6;
+			unsigned short EXBE:1;
+			unsigned short ROME:1;
+		} BIT;
+	} SYSCR0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short RAME:1;
+		} BIT;
+	} SYSCR1;
+	char           wk1[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SSBY:1;
+			unsigned short OPE:1;
+		} BIT;
+	} SBYCR;
+	char           wk2[2];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long ACSE:1;
+			unsigned long :2;
+			unsigned long MSTPA28:1;
+			unsigned long :8;
+			unsigned long MSTPA19:1;
+			unsigned long :1;
+			unsigned long MSTPA17:1;
+			unsigned long :1;
+			unsigned long MSTPA15:1;
+			unsigned long MSTPA14:1;
+			unsigned long :4;
+			unsigned long MSTPA9:1;
+			unsigned long :3;
+			unsigned long MSTPA5:1;
+			unsigned long MSTPA4:1;
+		} BIT;
+	} MSTPCRA;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long MSTPB31:1;
+			unsigned long MSTPB30:1;
+			unsigned long :3;
+			unsigned long MSTPB26:1;
+			unsigned long MSTPB25:1;
+			unsigned long :1;
+			unsigned long MSTPB23:1;
+			unsigned long :1;
+			unsigned long MSTPB21:1;
+			unsigned long :3;
+			unsigned long MSTPB17:1;
+			unsigned long :6;
+			unsigned long MSTPB10:1;
+			unsigned long MSTPB9:1;
+			unsigned long MSTPB8:1;
+			unsigned long :1;
+			unsigned long MSTPB6:1;
+			unsigned long :1;
+			unsigned long MSTPB4:1;
+		} BIT;
+	} MSTPCRB;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :4;
+			unsigned long MSTPC27:1;
+			unsigned long MSTPC26:1;
+			unsigned long :25;
+			unsigned long MSTPC0:1;
+		} BIT;
+	} MSTPCRC;
+	char           wk3[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long FCK:4;
+			unsigned long ICK:4;
+			unsigned long PSTOP1:1;
+			unsigned long :3;
+			unsigned long BCK:4;
+			unsigned long PCKA:4;
+			unsigned long PCKB:4;
+			unsigned long PCKC:4;
+			unsigned long PCKD:4;
+		} BIT;
+	} SCKCR;
+	char           wk4[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short CKSEL:3;
+		} BIT;
+	} SCKCR3;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short STC:5;
+			unsigned short :6;
+			unsigned short PLIDIV:2;
+		} BIT;
+	} PLLCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char PLLEN:1;
+		} BIT;
+	} PLLCR2;
+	char           wk5[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char BCLKDIV:1;
+		} BIT;
+	} BCKCR;
+	char           wk6[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char MOSEL:1;
+			unsigned char MOSTP:1;
+		} BIT;
+	} MOSCCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char SOSEL:1;
+			unsigned char SOSTP:1;
+		} BIT;
+	} SOSCCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char LCSTP:1;
+		} BIT;
+	} LOCOCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char ILCSTP:1;
+		} BIT;
+	} ILOCOCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char HCSTP:1;
+		} BIT;
+	} HOCOCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char HCFRQ:2;
+		} BIT;
+	} HOCOCR2;	
+	char           wk7[8];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char OSTDE:1;
+			unsigned char :6;
+			unsigned char OSTDIE:1;
+		} BIT;
+	} OSTDCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char OSTDF:1;
+		} BIT;
+	} OSTDSR;
+	char           wk8[94];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char OPCMTSF:1;
+			unsigned char :1;
+			unsigned char OLPCM:3;
+		} BIT;
+	} OPCCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RSTCKEN:1;
+			unsigned char :4;
+			unsigned char RSTCKSEL:3;
+		} BIT;
+	} RSTCKCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MSTS:5;
+		} BIT;
+	} MOSCWTCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char SSTS:5;
+		} BIT;
+	} SOSCWTCR;
+	char           wk9[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSTS:5;
+		} BIT;
+	} PLLWTCR;
+	char           wk10[25];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SWRF:1;
+			unsigned char WDRF:1;
+			unsigned char IWDRF:1;
+		} BIT;
+	} RSTSR2;
+	char           wk11[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short SWRR:8;
+		} BIT;
+	} SWRR;
+	char           wk12[28];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char LVD1IRQSEL:1;
+			unsigned char LVD1IDTSEL:2;
+		} BIT;
+	} LVD1CR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char LVD1MON:1;
+			unsigned char LVD1DET:1;
+		} BIT;
+	} LVD1SR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char LVD2IRQSEL:1;
+			unsigned char LVD2IDTSEL:2;
+		} BIT;
+	} LVD2CR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char LVD2MON:1;
+			unsigned char LVD2DET:1;
+		} BIT;
+	} LVD2SR;
+	char           wk13[794];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRKEY:8;
+			unsigned short PRC7:1;
+			unsigned short PRC6:1;
+			unsigned short PRC5:1;
+			unsigned short PRC4:1;
+			unsigned short PRC3:1;
+			unsigned short PRC2:1;
+			unsigned short PRC1:1;
+			unsigned short PRC0:1;
+		} BIT;
+	} PRCR;
+	char           wk14[48768];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSBY:1;
+			unsigned char IOKEEP:1;
+			unsigned char :4;
+			unsigned char DEEPCUT1:1;
+		} BIT;
+	} DPSBYCR;
+	char           wk15[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ7E:1;
+			unsigned char DIRQ6E:1;
+			unsigned char DIRQ5E:1;
+			unsigned char DIRQ4E:1;
+			unsigned char DIRQ3E:1;
+			unsigned char DIRQ2E:1;
+			unsigned char DIRQ1E:1;
+			unsigned char DIRQ0E:1;
+		} BIT;
+	} DPSIER0;
+	char           wk16[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DI2CCIE:1;
+			unsigned char DI2CDIE:1;
+			unsigned char DNMIE:1;
+			unsigned char DRTCAIE:1;
+			unsigned char DRTCIIE:1;
+			unsigned char DLVD2IE:1;
+			unsigned char DLVD1IE:1;
+		} BIT;
+	} DPSIER2;
+	char           wk17[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ7F:1;
+			unsigned char DIRQ6F:1;
+			unsigned char DIRQ5F:1;
+			unsigned char DIRQ4F:1;
+			unsigned char DIRQ3F:1;
+			unsigned char DIRQ2F:1;
+			unsigned char DIRQ1F:1;
+			unsigned char DIRQ0F:1;
+		} BIT;
+	} DPSIFR0;
+	char           wk18[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DRIICCIF:1;
+			unsigned char DRIICDIF:1;
+			unsigned char DNMIF:1;
+			unsigned char DRTCAIF:1;
+			unsigned char DRTCIIF:1;
+			unsigned char DLVD2IF:1;
+			unsigned char DLVD1IF:1;
+		} BIT;
+	} DPSIFR2;
+	char           wk19[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ7EG:1;
+			unsigned char DIRQ6EG:1;
+			unsigned char DIRQ5EG:1;
+			unsigned char DIRQ4EG:1;
+			unsigned char DIRQ3EG:1;
+			unsigned char DIRQ2EG:1;
+			unsigned char DIRQ1EG:1;
+			unsigned char DIRQ0EG:1;
+		} BIT;
+	} DPSIEGR0;
+	char           wk20[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DRIICCEG:1;
+			unsigned char DRIICDEG:1;
+			unsigned char DNMIEG:1;
+			unsigned char :2;
+			unsigned char DLVD2EG:1;
+			unsigned char DLVD1EG:1;
+		} BIT;
+	} DPSIEGR2;
+	char           wk21[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char HCUT:1;
+			unsigned char FCUT:1;
+		} BIT;
+	} FHSSBYCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSRSTF:1;
+			unsigned char :3;
+			unsigned char LVD2RF:1;
+			unsigned char LVD1RF:1;
+			unsigned char LVD0RF:1;
+			unsigned char PORF:1;
+		} BIT;
+	} RSTSR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char CWSF:1;
+		} BIT;
+	} RSTSR1;
+	char           wk22[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char MOSCDRV:2;
+			unsigned char MOFXIN:1;
+		} BIT;
+	} MOFCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char HOCOPCNT:1;
+		} BIT;
+	} HOCOPCR;
+	char           wk23[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char LVD2E:1;
+			unsigned char LVD1E:1;
+			unsigned char :1;
+			unsigned char EXVCCINP2:1;
+		} BIT;
+	} LVCMPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char LVD2LVL:4;
+			unsigned char LVD1LVL:4;
+		} BIT;
+	} LVDLVLR;
+	char           wk24[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char LVD1RN:1;
+			unsigned char LVD1RI:1;
+			unsigned char LVD1FSAMP:2;
+			unsigned char :1;
+			unsigned char LVD1CMPE:1;
+			unsigned char LVD1DFDIS:1;
+			unsigned char LVD1RIE:1;
+		} BIT;
+	} LVD1CR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char LVD2RN:1;
+			unsigned char LVD2RI:1;
+			unsigned char LVD2FSAMP:2;
+			unsigned char :1;
+			unsigned char LVD2CMPE:1;
+			unsigned char LVD2DFDIS:1;
+			unsigned char LVD2RIE:1;
+		} BIT;
+	} LVD2CR0;
+	char           wk25[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char SELICONST:2;
+		} BIT;
+	} SELICONSTCR;
+	unsigned char  DPSBKR[32];
+};
+
+struct st_temps {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TSEN:1;
+			unsigned char PGAEN:1;
+			unsigned char :4;
+			unsigned char PGAGAIN:2;
+		} BIT;
+	} TSCR;
+};
+
+struct st_tmr0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CMIEB:1;
+			unsigned char CMIEA:1;
+			unsigned char OVIE:1;
+			unsigned char CCLR:2;
+		} BIT;
+	} TCR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char OSB:2;
+			unsigned char OSA:2;
+		} BIT;
+	} TCSR;
+	char           wk1[1];
+	unsigned char  TCORA;
+	char           wk2[1];
+	unsigned char  TCORB;
+	char           wk3[1];
+	unsigned char  TCNT;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TMRIS:1;
+			unsigned char :2;
+			unsigned char CSS:2;
+			unsigned char CKS:3;
+		} BIT;
+	} TCCR;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TCS:1;
+		} BIT;
+	} TCSTR;
+};
+
+struct st_tmr1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CMIEB:1;
+			unsigned char CMIEA:1;
+			unsigned char OVIE:1;
+			unsigned char CCLR:2;
+		} BIT;
+	} TCR;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char OSB:2;
+			unsigned char OSA:2;
+		} BIT;
+	} TCSR;
+	char           wk1[1];
+	unsigned char  TCORA;
+	char           wk2[1];
+	unsigned char  TCORB;
+	char           wk3[1];
+	unsigned char  TCNT;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TMRIS:1;
+			unsigned char :2;
+			unsigned char CSS:2;
+			unsigned char CKS:3;
+		} BIT;
+	} TCCR;
+};
+
+struct st_tmr01 {
+	unsigned short TCORA;
+	unsigned short TCORB;
+	unsigned short TCNT;
+	unsigned short TCCR;
+};
+
+struct st_wdt {
+	unsigned char  WDTRR;
+	char           wk0[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short RPSS:2;
+			unsigned short :2;
+			unsigned short RPES:2;
+			unsigned short CKS:4;
+			unsigned short :2;
+			unsigned short TOPS:2;
+		} BIT;
+	} WDTCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short REFEF:1;
+			unsigned short UNDFF:1;
+			unsigned short CNTVAL:14;
+		} BIT;
+	} WDTSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RSTIRQS:1;
+		} BIT;
+	} WDTRCR;
+};
+
+enum enum_ir {
+IR_BSC_BUSERR=16,IR_FCUIF_FCUERR=21,IR_FCUIF_FRDYI=23,
+IR_ICU_SWINT=27,
+IR_CMT0_CMI0,
+IR_CMT1_CMI1,
+IR_CMT2_CMI2,
+IR_CMT3_CMI3,
+IR_CAC_FERRF,IR_CAC_MENDF,IR_CAC_OVFF,
+IR_RSPI0_SPEI2=44,IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0,
+IR_DOC_DOPCF=57,
+IR_CMPB0_COMPB0,
+IR_CMPB1_COMPB1,
+IR_RTC_COUNTUP=63,
+IR_ICU_IRQ0,IR_ICU_IRQ1,IR_ICU_IRQ2,IR_ICU_IRQ3,IR_ICU_IRQ4,IR_ICU_IRQ5,IR_ICU_IRQ6,IR_ICU_IRQ7,
+IR_LVDCMPA_LVD1COMPA1=88,IR_LVDCMPA_LVD1COMPA2,
+IR_RTC_ALM=92,IR_RTC_PRD,
+IR_S12AD_S12ADI=102,IR_S12AD_GBADI,
+IR_ELC_ELSR18I=106,IR_ELC_ELSR19I,
+IR_MTU0_TGIA0=114,IR_MTU0_TGIB0,IR_MTU0_TGIC0,IR_MTU0_TGID0,IR_MTU0_TGIV0,IR_MTU0_TGIE0,IR_MTU0_TGIF0,
+IR_MTU1_TGIA1,IR_MTU1_TGIB1,IR_MTU1_TGIV1,IR_MTU1_TGIU1,
+IR_MTU2_TGIA2,IR_MTU2_TGIB2,IR_MTU2_TGIV2,IR_MTU2_TGIU2,
+IR_MTU3_TGIA3,IR_MTU3_TGIB3,IR_MTU3_TGIC3,IR_MTU3_TGID3,IR_MTU3_TGIV3,
+IR_MTU4_TGIA4,IR_MTU4_TGIB4,IR_MTU4_TGIC4,IR_MTU4_TGID4,IR_MTU4_TGIV4,
+IR_MTU5_TGIU5,IR_MTU5_TGIV5,IR_MTU5_TGIW5,
+IR_POE_OEI1=170,IR_POE_OEI2,
+IR_TMR0_CMIA0=174,IR_TMR0_CMIB0,IR_TMR0_OVI0,
+IR_TMR1_CMIA1,IR_TMR1_CMIB1,IR_TMR1_OVI1,
+IR_TMR2_CMIA2,IR_TMR2_CMIB2,IR_TMR2_OVI2,
+IR_TMR3_CMIA3,IR_TMR3_CMIB3,IR_TMR3_OVI3,
+IR_DMAC_DMAC0I=198,IR_DMAC_DMAC1I,IR_DMAC_DMAC2I,IR_DMAC_DMAC3I,
+IR_SCI0_ERI0=214,IR_SCI0_RXI0,IR_SCI0_TXI0,IR_SCI0_TEI0,
+IR_SCI1_ERI1,IR_SCI1_RXI1,IR_SCI1_TXI1,IR_SCI1_TEI1,
+IR_SCI5_ERI5,IR_SCI5_RXI5,IR_SCI5_TXI5,IR_SCI5_TEI5,
+IR_SCI6_ERI6,IR_SCI6_RXI6,IR_SCI6_TXI6,IR_SCI6_TEI6,
+IR_SCI8_ERI8,IR_SCI8_RXI8,IR_SCI8_TXI8,IR_SCI8_TEI8,
+IR_SCI9_ERI9,IR_SCI9_RXI9,IR_SCI9_TXI9,IR_SCI9_TEI9,
+IR_SCI12_ERI12,IR_SCI12_RXI12,IR_SCI12_TXI12,IR_SCI12_TEI12,IR_SCI12_SCIX0,IR_SCI12_SCIX1,IR_SCI12_SCIX2,IR_SCI12_SCIX3,
+IR_RIIC0_EEI0,IR_RIIC0_RXI0,IR_RIIC0_TXI0,IR_RIIC0_TEI0
+};
+
+enum enum_dtce {
+DTCE_ICU_SWINT=27,
+DTCE_CMT0_CMI0,
+DTCE_CMT1_CMI1,
+DTCE_CMT2_CMI2,
+DTCE_CMT3_CMI3,
+DTCE_RSPI0_SPRI0=45,DTCE_RSPI0_SPTI0,
+DTCE_CMPB0_COMPB0=58,
+DTCE_CMPB1_COMPB1,
+DTCE_ICU_IRQ0=64,DTCE_ICU_IRQ1,DTCE_ICU_IRQ2,DTCE_ICU_IRQ3,DTCE_ICU_IRQ4,DTCE_ICU_IRQ5,DTCE_ICU_IRQ6,DTCE_ICU_IRQ7,
+DTCE_LVDCMPA_LVD1COMPA1=88,DTCE_LVDCMPA_LVD1COMPA2,
+DTCE_S12AD_S12ADI=102,DTCE_S12AD_GBADI,
+DTCE_ELC_ELSR18I=106,DTCE_ELC_ELSR19I,
+DTCE_MTU0_TGIA0=114,DTCE_MTU0_TGIB0,DTCE_MTU0_TGIC0,DTCE_MTU0_TGID0,
+DTCE_MTU1_TGIA1=121,DTCE_MTU1_TGIB1,
+DTCE_MTU2_TGIA2=125,DTCE_MTU2_TGIB2,
+DTCE_MTU3_TGIA3=129,DTCE_MTU3_TGIB3,DTCE_MTU3_TGIC3,DTCE_MTU3_TGID3,
+DTCE_MTU4_TGIA4=134,DTCE_MTU4_TGIB4,DTCE_MTU4_TGIC4,DTCE_MTU4_TGID4,DTCE_MTU4_TGIV4,
+DTCE_MTU5_TGIU5,DTCE_MTU5_TGIV5,DTCE_MTU5_TGIW5,
+DTCE_TMR0_CMIA0=174,DTCE_TMR0_CMIB0,
+DTCE_TMR1_CMIA1=177,DTCE_TMR1_CMIB1,
+DTCE_TMR2_CMIA2=180,DTCE_TMR2_CMIB2,
+DTCE_TMR3_CMIA3=183,DTCE_TMR3_CMIB3,
+DTCE_DMAC_DMAC0I=198,DTCE_DMAC_DMAC1I,DTCE_DMAC_DMAC2I,DTCE_DMAC_DMAC3I,
+DTCE_SCI0_RXI0=215,DTCE_SCI0_TXI0,
+DTCE_SCI1_RXI1=219,DTCE_SCI1_TXI1,
+DTCE_SCI5_RXI5=223,DTCE_SCI5_TXI5,
+DTCE_SCI6_RXI6=227,DTCE_SCI6_TXI6,
+DTCE_SCI8_RXI8=231,DTCE_SCI8_TXI8,
+DTCE_SCI9_RXI9=235,DTCE_SCI9_TXI9,
+DTCE_SCI12_RXI12=239,DTCE_SCI12_TXI12,
+DTCE_RIIC0_RXI0=247,DTCE_RIIC0_TXI0
+};
+
+enum enum_ier {
+IER_BSC_BUSERR=0x02,
+IER_FCUIF_FCUERR=0x02,
+IER_FCUIF_FRDYI=0x02,
+IER_ICU_SWINT=0x03,
+IER_CMT0_CMI0=0x03,
+IER_CMT1_CMI1=0x03,
+IER_CMT2_CMI2=0x03,
+IER_CMT3_CMI3=0x03,
+IER_CAC_FERRF=0x04,
+IER_CAC_MENDF=0x04,
+IER_CAC_OVFF=0x04,
+IER_RSPI0_SPEI2=0x05,
+IER_RSPI0_SPRI0=0x05,
+IER_RSPI0_SPTI0=0x05,
+IER_RSPI0_SPII0=0x05,
+IER_DOC_DOPCF=0x07,
+IER_CMPB0_COMPB0=0x07,
+IER_CMPB1_COMPB1=0x07,
+IER_RTC_COUNTUP=0x07,
+IER_ICU_IRQ0=0x08,
+IER_ICU_IRQ1=0x08,
+IER_ICU_IRQ2=0x08,
+IER_ICU_IRQ3=0x08,
+IER_ICU_IRQ4=0x08,
+IER_ICU_IRQ5=0x08,
+IER_ICU_IRQ6=0x08,
+IER_ICU_IRQ7=0x08,
+IER_LVDCMPA_LVD1COMPA1=0x0B,
+IER_LVDCMPA_LVD1COMPA2=0x0B,
+IER_RTC_ALM=0x0B,
+IER_RTC_PRD=0x0B,
+IER_S12AD_S12ADI=0x0C,
+IER_S12AD_GBADI=0x0C,
+IER_ELC_ELSR18I=0x0D,
+IER_ELC_ELSR19I=0x0D,
+IER_MTU0_TGIA0=0x0E,
+IER_MTU0_TGIB0=0x0E,
+IER_MTU0_TGIC0=0x0E,
+IER_MTU0_TGID0=0x0E,
+IER_MTU0_TGIV0=0x0E,
+IER_MTU0_TGIE0=0x0E,
+IER_MTU0_TGIF0=0x0F,
+IER_MTU1_TGIA1=0x0F,
+IER_MTU1_TGIB1=0x0F,
+IER_MTU1_TGIV1=0x0F,
+IER_MTU1_TGIU1=0x0F,
+IER_MTU2_TGIA2=0x0F,
+IER_MTU2_TGIB2=0x0F,
+IER_MTU2_TGIV2=0x0F,
+IER_MTU2_TGIU2=0x0F,
+IER_MTU3_TGIA3=0x10,
+IER_MTU3_TGIB3=0x10,
+IER_MTU3_TGIC3=0x10,
+IER_MTU3_TGID3=0x10,
+IER_MTU3_TGIV3=0x10,
+IER_MTU4_TGIA4=0x10,
+IER_MTU4_TGIB4=0x10,
+IER_MTU4_TGIC4=0x11,
+IER_MTU4_TGID4=0x11,
+IER_MTU4_TGIV4=0x11,
+IER_MTU5_TGIU5=0x11,
+IER_MTU5_TGIV5=0x11,
+IER_MTU5_TGIW5=0x11,
+IER_POE_OEI1=0x15,
+IER_POE_OEI2=0x15,
+IER_TMR0_CMIA0=0x15,
+IER_TMR0_CMIB0=0x15,
+IER_TMR0_OVI0=0x16,
+IER_TMR1_CMIA1=0x16,
+IER_TMR1_CMIB1=0x16,
+IER_TMR1_OVI1=0x16,
+IER_TMR2_CMIA2=0x16,
+IER_TMR2_CMIB2=0x16,
+IER_TMR2_OVI2=0x16,
+IER_TMR3_CMIA3=0x16,
+IER_TMR3_CMIB3=0x17,
+IER_TMR3_OVI3=0x17,
+IER_DMAC_DMAC0I=0x18,
+IER_DMAC_DMAC1I=0x18,
+IER_DMAC_DMAC2I=0x19,
+IER_DMAC_DMAC3I=0x19,
+IER_SCI0_ERI0=0x1A,
+IER_SCI0_RXI0=0x1A,
+IER_SCI0_TXI0=0x1B,
+IER_SCI0_TEI0=0x1B,
+IER_SCI1_ERI1=0x1B,
+IER_SCI1_RXI1=0x1B,
+IER_SCI1_TXI1=0x1B,
+IER_SCI1_TEI1=0x1B,
+IER_SCI5_ERI5=0x1B,
+IER_SCI5_RXI5=0x1B,
+IER_SCI5_TXI5=0x1C,
+IER_SCI5_TEI5=0x1C,
+IER_SCI6_ERI6=0x1C,
+IER_SCI6_RXI6=0x1C,
+IER_SCI6_TXI6=0x1C,
+IER_SCI6_TEI6=0x1C,
+IER_SCI8_ERI8=0x1C,
+IER_SCI8_RXI8=0x1C,
+IER_SCI8_TXI8=0x1D,
+IER_SCI8_TEI8=0x1D,
+IER_SCI9_ERI9=0x1D,
+IER_SCI9_RXI9=0x1D,
+IER_SCI9_TXI9=0x1D,
+IER_SCI9_TEI9=0x1D,
+IER_SCI12_ERI12=0x1D,
+IER_SCI12_RXI12=0x1D,
+IER_SCI12_TXI12=0x1E,
+IER_SCI12_TEI12=0x1E,
+IER_SCI12_SCIX0=0x1E,
+IER_SCI12_SCIX1=0x1E,
+IER_SCI12_SCIX2=0x1E,
+IER_SCI12_SCIX3=0x1E,
+IER_RIIC0_EEI0=0x1E,
+IER_RIIC0_RXI0=0x1E,
+IER_RIIC0_TXI0=0x1F,
+IER_RIIC0_TEI0=0x1F
+};
+
+enum enum_ipr {
+IPR_BSC_BUSERR			=0,
+IPR_FCUIF_FCUERR		=1,
+IPR_FCUIF_FRDYI			=2,
+IPR_ICU_SWINT			=3,
+IPR_CMT0_CMI0			=4,
+IPR_CMT1_CMI1			=5,
+IPR_CMT2_CMI2			=6,
+IPR_CMT3_CMI3			=7,
+IPR_CAC_FERRF			=32,
+IPR_CAC_MENDF			=33,
+IPR_CAC_OVFF			=34,
+IPR_RSPI0_SPEI2			=44,
+IPR_RSPI0_SPRI0			=44,
+IPR_RSPI0_SPTI0			=44,
+IPR_RSPI0_SPII0			=44,
+IPR_DOC_DOPCF			=57,
+IPR_CMPB0_COMPB0		=58,
+IPR_CMPB1_COMPB1		=59,
+IPR_RTC_COUNTUP			=63,
+IPR_ICU_IRQ0			=64,
+IPR_ICU_IRQ1			=65,
+IPR_ICU_IRQ2			=66,
+IPR_ICU_IRQ3			=67,
+IPR_ICU_IRQ4			=68,
+IPR_ICU_IRQ5			=69,
+IPR_ICU_IRQ6			=70,
+IPR_ICU_IRQ7			=71,
+IPR_LVDCMPA_LVD1COMPA1	=88,
+IPR_LVDCMPA_LVD1COMPA2	=89,
+IPR_RTC_ALM				=92,
+IPR_RTC_PRD				=93,
+IPR_S12AD_S12ADI		=102,
+IPR_S12AD_GBADI			=103,
+IPR_ELC_ELSR18I			=106,
+IPR_ELC_ELSR19I			=107,
+IPR_MTU0_TGIA0			=114,
+IPR_MTU0_TGIB0			=114,
+IPR_MTU0_TGIC0			=114,
+IPR_MTU0_TGID0			=114,
+IPR_MTU0_TGIV0			=118,
+IPR_MTU0_TGIE0			=118,
+IPR_MTU0_TGIF0			=118,
+IPR_MTU1_TGIA1			=121,
+IPR_MTU1_TGIB1			=121,
+IPR_MTU1_TGIV1			=123,
+IPR_MTU1_TGIU1			=123,
+IPR_MTU2_TGIA2			=125,
+IPR_MTU2_TGIB2			=125,
+IPR_MTU2_TGIV2			=127,
+IPR_MTU2_TGIU2			=127,
+IPR_MTU3_TGIA3			=129,
+IPR_MTU3_TGIB3			=129,
+IPR_MTU3_TGIC3			=129,
+IPR_MTU3_TGID3			=129,
+IPR_MTU3_TGIV3			=133,
+IPR_MTU4_TGIA4			=134,
+IPR_MTU4_TGIB4			=134,
+IPR_MTU4_TGIC4			=134,
+IPR_MTU4_TGID4			=134,
+IPR_MTU4_TGIV4			=138,
+IPR_MTU5_TGIU5			=139,
+IPR_MTU5_TGIV5			=139,
+IPR_MTU5_TGIW5			=139,
+IPR_POE_OEI1			=170,
+IPR_POE_OEI2			=171,
+IPR_TMR0_CMIA0			=174,
+IPR_TMR0_CMIB0			=174,
+IPR_TMR0_OVI0			=174,
+IPR_TMR1_CMIA1			=177,
+IPR_TMR1_CMIB1			=177,
+IPR_TMR1_OVI1			=177,
+IPR_TMR2_CMIA2			=180,
+IPR_TMR2_CMIB2			=180,
+IPR_TMR2_OVI2			=180,
+IPR_TMR3_CMIA3			=183,
+IPR_TMR3_CMIB3			=183,
+IPR_TMR3_OVI3			=183,
+IPR_DMAC_DMAC0I			=198,
+IPR_DMAC_DMAC1I			=199,
+IPR_DMAC_DMAC2I			=200,
+IPR_DMAC_DMAC3I			=201,
+IPR_SCI0_ERI0			=214,
+IPR_SCI0_RXI0			=214,
+IPR_SCI0_TXI0			=214,
+IPR_SCI0_TEI0			=214,
+IPR_SCI1_ERI1			=218,
+IPR_SCI1_RXI1			=218,
+IPR_SCI1_TXI1			=218,
+IPR_SCI1_TEI1			=218,
+IPR_SCI5_ERI5			=222,
+IPR_SCI5_RXI5			=222,
+IPR_SCI5_TXI5			=222,
+IPR_SCI5_TEI5			=222,
+IPR_SCI6_ERI6			=226,
+IPR_SCI6_RXI6			=226,
+IPR_SCI6_TXI6			=226,
+IPR_SCI6_TEI6			=226,
+IPR_SCI8_ERI8			=230,
+IPR_SCI8_RXI8			=230,
+IPR_SCI8_TXI8			=230,
+IPR_SCI8_TEI8			=230,
+IPR_SCI9_ERI9			=234,
+IPR_SCI9_RXI9			=234,
+IPR_SCI9_TXI9			=234,
+IPR_SCI9_TEI9			=234,
+IPR_SCI12_ERI12			=238,
+IPR_SCI12_RXI12			=238,
+IPR_SCI12_TXI12			=238,
+IPR_SCI12_TEI12			=238,
+IPR_SCI12_SCIX0			=242,
+IPR_SCI12_SCIX1			=243,
+IPR_SCI12_SCIX2			=244,
+IPR_SCI12_SCIX3			=245,
+IPR_RIIC0_EEI0			=246,
+IPR_RIIC0_RXI0			=247,
+IPR_RIIC0_TXI0			=248,
+IPR_RIIC0_TEI0			=249,
+IPR_MTU0_TGI			=118,
+IPR_MTU1_TGI			=123,
+IPR_MTU2_TGI			=127,
+IPR_MTU5_				=139,
+IPR_MTU5_TGI			=139,
+IPR_TMR0_				=174,
+IPR_TMR1_				=177,
+IPR_TMR2_				=180,
+IPR_TMR3_				=183,
+IPR_SCI0_				=214,
+IPR_SCI1_				=218,
+IPR_SCI5_				=222,
+IPR_SCI6_				=226,
+IPR_SCI8_				=230,
+IPR_SCI9_				=234
+};
+
+#define	IEN_BSC_BUSERR		IEN0
+#define	IEN_FCUIF_FCUERR	IEN5
+#define	IEN_FCUIF_FRDYI		IEN7
+#define	IEN_ICU_SWINT		IEN3
+#define	IEN_CMT0_CMI0		IEN4
+#define	IEN_CMT1_CMI1		IEN5
+#define	IEN_CMT2_CMI2		IEN6
+#define	IEN_CMT3_CMI3		IEN7
+#define	IEN_CAC_FERRF		IEN0
+#define	IEN_CAC_MENDF		IEN1
+#define	IEN_CAC_OVFF		IEN2
+#define	IEN_RSPI0_SPEI2		IEN4
+#define	IEN_RSPI0_SPRI0		IEN5
+#define	IEN_RSPI0_SPTI0		IEN6
+#define	IEN_RSPI0_SPII0		IEN7
+#define	IEN_DOC_DOPCF		IEN1
+#define	IEN_CMPB0_COMPB0	IEN2
+#define	IEN_CMPB1_COMPB1	IEN3
+#define	IEN_RTC_COUNTUP		IEN7
+#define	IEN_ICU_IRQ0		IEN0
+#define	IEN_ICU_IRQ1		IEN1
+#define	IEN_ICU_IRQ2		IEN2
+#define	IEN_ICU_IRQ3		IEN3
+#define	IEN_ICU_IRQ4		IEN4
+#define	IEN_ICU_IRQ5		IEN5
+#define	IEN_ICU_IRQ6		IEN6
+#define	IEN_ICU_IRQ7		IEN7
+#define	IEN_LVDCMPA_LVD1COMPA1	IEN0
+#define	IEN_LVDCMPA_LVD1COMPA2	IEN1
+#define	IEN_RTC_ALM			IEN4
+#define	IEN_RTC_PRD			IEN5
+#define	IEN_S12AD_S12ADI	IEN6
+#define	IEN_S12AD_GBADI		IEN7
+#define	IEN_ELC_ELSR18I		IEN2
+#define	IEN_ELC_ELSR19I		IEN3
+#define	IEN_MTU0_TGIA0		IEN2
+#define	IEN_MTU0_TGIB0		IEN3
+#define	IEN_MTU0_TGIC0		IEN4
+#define	IEN_MTU0_TGID0		IEN5
+#define	IEN_MTU0_TGIV0		IEN6
+#define	IEN_MTU0_TGIE0		IEN7
+#define	IEN_MTU0_TGIF0		IEN0
+#define	IEN_MTU1_TGIA1		IEN1
+#define	IEN_MTU1_TGIB1		IEN2
+#define	IEN_MTU1_TGIV1		IEN3
+#define	IEN_MTU1_TGIU1		IEN4
+#define	IEN_MTU2_TGIA2		IEN1
+#define	IEN_MTU2_TGIB2		IEN2
+#define	IEN_MTU2_TGIV2		IEN3
+#define	IEN_MTU2_TGIU2		IEN4
+#define	IEN_MTU3_TGIA3		IEN1
+#define	IEN_MTU3_TGIB3		IEN2
+#define	IEN_MTU3_TGIC3		IEN3
+#define	IEN_MTU3_TGID3		IEN4
+#define	IEN_MTU3_TGIV3		IEN5
+#define	IEN_MTU4_TGIA4		IEN6
+#define	IEN_MTU4_TGIB4		IEN7
+#define	IEN_MTU4_TGIC4		IEN0
+#define	IEN_MTU4_TGID4		IEN1
+#define	IEN_MTU4_TGIV4		IEN2
+#define	IEN_MTU5_TGIU5		IEN3
+#define	IEN_MTU5_TGIV5		IEN4
+#define	IEN_MTU5_TGIW5		IEN5
+#define	IEN_POE_OEI1		IEN2
+#define	IEN_POE_OEI2		IEN3
+#define	IEN_TMR0_CMIA0		IEN6
+#define	IEN_TMR0_CMIB0		IEN7
+#define	IEN_TMR0_OVI0		IEN0
+#define	IEN_TMR1_CMIA1		IEN1
+#define	IEN_TMR1_CMIB1		IEN2
+#define	IEN_TMR1_OVI1		IEN3
+#define	IEN_TMR2_CMIA2		IEN4
+#define	IEN_TMR2_CMIB2		IEN5
+#define	IEN_TMR2_OVI2		IEN6
+#define	IEN_TMR3_CMIA3		IEN7
+#define	IEN_TMR3_CMIB3		IEN0
+#define	IEN_TMR3_OVI3		IEN1
+#define	IEN_DMAC_DMAC0I		IEN6
+#define	IEN_DMAC_DMAC1I		IEN7
+#define	IEN_DMAC_DMAC2I		IEN0
+#define	IEN_DMAC_DMAC3I		IEN1
+#define	IEN_SCI0_ERI0		IEN6
+#define	IEN_SCI0_RXI0		IEN7
+#define	IEN_SCI0_TXI0		IEN0
+#define	IEN_SCI0_TEI0		IEN1
+#define	IEN_SCI1_ERI1		IEN2
+#define	IEN_SCI1_RXI1		IEN3
+#define	IEN_SCI1_TXI1		IEN4
+#define	IEN_SCI1_TEI1		IEN5
+#define	IEN_SCI5_ERI5		IEN6
+#define	IEN_SCI5_RXI5		IEN7
+#define	IEN_SCI5_TXI5		IEN0
+#define	IEN_SCI5_TEI5		IEN1
+#define	IEN_SCI6_ERI6		IEN2
+#define	IEN_SCI6_RXI6		IEN3
+#define	IEN_SCI6_TXI6		IEN4
+#define	IEN_SCI6_TEI6		IEN5
+#define	IEN_SCI8_ERI8		IEN6
+#define	IEN_SCI8_RXI8		IEN7
+#define	IEN_SCI8_TXI8		IEN0
+#define	IEN_SCI8_TEI8		IEN1
+#define	IEN_SCI9_ERI9		IEN2
+#define	IEN_SCI9_RXI9		IEN3
+#define	IEN_SCI9_TXI9		IEN4
+#define	IEN_SCI9_TEI9		IEN5
+#define	IEN_SCI12_ERI12		IEN6
+#define	IEN_SCI12_RXI12		IEN7
+#define	IEN_SCI12_TXI12		IEN0
+#define	IEN_SCI12_TEI12		IEN1
+#define	IEN_SCI12_SCIX0		IEN2
+#define	IEN_SCI12_SCIX1		IEN3
+#define	IEN_SCI12_SCIX2		IEN4
+#define	IEN_SCI12_SCIX3		IEN5
+#define	IEN_RIIC0_EEI0		IEN6
+#define	IEN_RIIC0_RXI0		IEN7
+#define	IEN_RIIC0_TXI0		IEN0
+#define	IEN_RIIC0_TEI0		IEN1
+
+#define	VECT_BSC_BUSERR		16
+#define	VECT_FCUIF_FCUERR	21
+#define	VECT_FCUIF_FRDYI	23
+#define	VECT_ICU_SWINT		27
+#define	VECT_CMT0_CMI0		28
+#define	VECT_CMT1_CMI1		29
+#define	VECT_CMT2_CMI2		30
+#define	VECT_CMT3_CMI3		31
+#define	VECT_CAC_FERRF		32
+#define	VECT_CAC_MENDF		33
+#define	VECT_CAC_OVFF		34
+#define	VECT_RSPI0_SPEI2	44
+#define	VECT_RSPI0_SPRI0	45
+#define	VECT_RSPI0_SPTI0	46
+#define	VECT_RSPI0_SPII0	47
+#define	VECT_DOC_DOPCF		57
+#define	VECT_CMPB0_COMPB0	58
+#define	VECT_CMPB1_COMPB1	59
+#define	VECT_RTC_COUNTUP	63
+#define	VECT_ICU_IRQ0		64
+#define	VECT_ICU_IRQ1		65
+#define	VECT_ICU_IRQ2		66
+#define	VECT_ICU_IRQ3		67
+#define	VECT_ICU_IRQ4		68
+#define	VECT_ICU_IRQ5		69
+#define	VECT_ICU_IRQ6		70
+#define	VECT_ICU_IRQ7		71
+#define	VECT_LVDCMPA_LVD1COMPA1	88
+#define	VECT_LVDCMPA_LVD1COMPA2	89
+#define	VECT_RTC_ALM		92
+#define	VECT_RTC_PRD		93
+#define	VECT_S12AD_S12ADI	102
+#define	VECT_S12AD_GBADI	103
+#define	VECT_ELC_ELSR18I	106
+#define	VECT_ELC_ELSR19I	107
+#define	VECT_MTU0_TGIA0		114
+#define	VECT_MTU0_TGIB0		115
+#define	VECT_MTU0_TGIC0		116
+#define	VECT_MTU0_TGID0		117
+#define	VECT_MTU0_TGIV0		118
+#define	VECT_MTU0_TGIE0		119
+#define	VECT_MTU0_TGIF0		120
+#define	VECT_MTU1_TGIA1		121
+#define	VECT_MTU1_TGIB1		122
+#define	VECT_MTU1_TGIV1		123
+#define	VECT_MTU1_TGIU1		124
+#define	VECT_MTU2_TGIA2		125
+#define	VECT_MTU2_TGIB2		126
+#define	VECT_MTU2_TGIV2		127
+#define	VECT_MTU2_TGIU2		128
+#define	VECT_MTU3_TGIA3		129
+#define	VECT_MTU3_TGIB3		130
+#define	VECT_MTU3_TGIC3		131
+#define	VECT_MTU3_TGID3		132
+#define	VECT_MTU3_TGIV3		133
+#define	VECT_MTU4_TGIA4		134
+#define	VECT_MTU4_TGIB4		135
+#define	VECT_MTU4_TGIC4		136
+#define	VECT_MTU4_TGID4		137
+#define	VECT_MTU4_TGIV4		138
+#define	VECT_MTU5_TGIU5		139
+#define	VECT_MTU5_TGIV5		140
+#define	VECT_MTU5_TGIW5		141
+#define	VECT_POE_OEI1		170
+#define	VECT_POE_OEI2		171
+#define	VECT_TMR0_CMIA0		174
+#define	VECT_TMR0_CMIB0		175
+#define	VECT_TMR0_OVI0		176
+#define	VECT_TMR1_CMIA1		177
+#define	VECT_TMR1_CMIB1		178
+#define	VECT_TMR1_OVI1		179
+#define	VECT_TMR2_CMIA2		180
+#define	VECT_TMR2_CMIB2		181
+#define	VECT_TMR2_OVI2		182
+#define	VECT_TMR3_CMIA3		183
+#define	VECT_TMR3_CMIB3		184
+#define	VECT_TMR3_OVI3		185
+#define	VECT_DMAC_DMAC0I	198
+#define	VECT_DMAC_DMAC1I	199
+#define	VECT_DMAC_DMAC2I	200
+#define	VECT_DMAC_DMAC3I	201
+#define	VECT_SCI0_ERI0		214
+#define	VECT_SCI0_RXI0		215
+#define	VECT_SCI0_TXI0		216
+#define	VECT_SCI0_TEI0		217
+#define	VECT_SCI1_ERI1		218
+#define	VECT_SCI1_RXI1		219
+#define	VECT_SCI1_TXI1		220
+#define	VECT_SCI1_TEI1		221
+#define	VECT_SCI5_ERI5		222
+#define	VECT_SCI5_RXI5		223
+#define	VECT_SCI5_TXI5		224
+#define	VECT_SCI5_TEI5		225
+#define	VECT_SCI6_ERI6		226
+#define	VECT_SCI6_RXI6		227
+#define	VECT_SCI6_TXI6		228
+#define	VECT_SCI6_TEI6		229
+#define	VECT_SCI8_ERI8		230
+#define	VECT_SCI8_RXI8		231
+#define	VECT_SCI8_TXI8		232
+#define	VECT_SCI8_TEI8		233
+#define	VECT_SCI9_ERI9		234
+#define	VECT_SCI9_RXI9		235
+#define	VECT_SCI9_TXI9		236
+#define	VECT_SCI9_TEI9		237
+#define	VECT_SCI12_ERI12	238
+#define	VECT_SCI12_RXI12	239
+#define	VECT_SCI12_TXI12	240
+#define	VECT_SCI12_TEI12	241
+#define	VECT_SCI12_SCIX0	242
+#define	VECT_SCI12_SCIX1	243
+#define	VECT_SCI12_SCIX2	244
+#define	VECT_SCI12_SCIX3	245
+#define	VECT_RIIC0_EEI0		246
+#define	VECT_RIIC0_RXI0		247
+#define	VECT_RIIC0_TXI0		248
+#define	VECT_RIIC0_TEI0		249
+
+#define	MSTP_DTC	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC0	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC1	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC2	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DMAC3	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DA		SYSTEM.MSTPCRA.BIT.MSTPA19
+#define	MSTP_S12AD	SYSTEM.MSTPCRA.BIT.MSTPA17
+#define	MSTP_CMT0	SYSTEM.MSTPCRA.BIT.MSTPA15
+#define	MSTP_CMT1	SYSTEM.MSTPCRA.BIT.MSTPA15
+#define	MSTP_CMT2	SYSTEM.MSTPCRA.BIT.MSTPA14
+#define	MSTP_CMT3	SYSTEM.MSTPCRA.BIT.MSTPA14
+#define	MSTP_MTU	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU0	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU1	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU2	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU3	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU4	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU5	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_TMR0	SYSTEM.MSTPCRA.BIT.MSTPA5
+#define	MSTP_TMR1	SYSTEM.MSTPCRA.BIT.MSTPA5
+#define	MSTP_TMR01	SYSTEM.MSTPCRA.BIT.MSTPA5
+#define	MSTP_TMR2	SYSTEM.MSTPCRA.BIT.MSTPA4
+#define	MSTP_TMR3	SYSTEM.MSTPCRA.BIT.MSTPA4
+#define	MSTP_TMR23	SYSTEM.MSTPCRA.BIT.MSTPA4
+#define	MSTP_SCI0	SYSTEM.MSTPCRB.BIT.MSTPB31
+#define	MSTP_SCI1	SYSTEM.MSTPCRB.BIT.MSTPB30
+#define	MSTP_SCI5	SYSTEM.MSTPCRB.BIT.MSTPB26
+#define	MSTP_SCI6	SYSTEM.MSTPCRB.BIT.MSTPB25
+#define	MSTP_CRC	SYSTEM.MSTPCRB.BIT.MSTPB23
+#define	MSTP_RIIC0	SYSTEM.MSTPCRB.BIT.MSTPB21
+#define	MSTP_RSPI0	SYSTEM.MSTPCRB.BIT.MSTPB17
+#define	MSTP_CMPB	SYSTEM.MSTPCRB.BIT.MSTPB10
+#define	MSTP_ELC	SYSTEM.MSTPCRB.BIT.MSTPB9
+#define	MSTP_TEMPS	SYSTEM.MSTPCRB.BIT.MSTPB8
+#define	MSTP_DOC	SYSTEM.MSTPCRB.BIT.MSTPB6
+#define	MSTP_SCI12	SYSTEM.MSTPCRB.BIT.MSTPB4
+#define	MSTP_SCI8	SYSTEM.MSTPCRC.BIT.MSTPC27
+#define	MSTP_SCI9	SYSTEM.MSTPCRC.BIT.MSTPC26
+#define	MSTP_RAM0	SYSTEM.MSTPCRC.BIT.MSTPC0
+
+#define	__IR( x )		ICU.IR[ IR ## x ].BIT.IR
+#define	 _IR( x )		__IR( x )
+#define	  IR( x , y )	_IR( _ ## x ## _ ## y )
+#define	__DTCE( x )		ICU.DTCER[ DTCE ## x ].BIT.DTCE
+#define	 _DTCE( x )		__DTCE( x )
+#define	  DTCE( x , y )	_DTCE( _ ## x ## _ ## y )
+#define	__IEN( x )		ICU.IER[ IER ## x ].BIT.IEN ## x
+#define	 _IEN( x )		__IEN( x )
+#define	  IEN( x , y )	_IEN( _ ## x ## _ ## y )
+#define	__IPR( x )		ICU.IPR[ IPR ## x ].BIT.IPR
+#define	 _IPR( x )		__IPR( x )
+#define	  IPR( x , y )	_IPR( _ ## x ## _ ## y )
+#define	__VECT( x )		VECT ## x
+#define	 _VECT( x )		__VECT( x )
+#define	  VECT( x , y )	_VECT( _ ## x ## _ ## y )
+#define	__MSTP( x )		MSTP ## x
+#define	 _MSTP( x )		__MSTP( x )
+#define	  MSTP( x )		_MSTP( _ ## x )
+
+#define	BSC		(*(volatile struct st_bsc      __evenaccess *)0x81300)
+#define	CAC		(*(volatile struct st_cac      __evenaccess *)0x8B000)
+#define	CMPB	(*(volatile struct st_cmpb     __evenaccess *)0x8C580)
+#define	CMT		(*(volatile struct st_cmt      __evenaccess *)0x88000)
+#define	CMT0	(*(volatile struct st_cmt0     __evenaccess *)0x88002)
+#define	CMT1	(*(volatile struct st_cmt0     __evenaccess *)0x88008)
+#define	CMT2	(*(volatile struct st_cmt0     __evenaccess *)0x88012)
+#define	CMT3	(*(volatile struct st_cmt0     __evenaccess *)0x88018)
+#define	CRC		(*(volatile struct st_crc      __evenaccess *)0x88280)
+#define	DA		(*(volatile struct st_da       __evenaccess *)0x880C0)
+#define	DMAC	(*(volatile struct st_dmac     __evenaccess *)0x82200)
+#define	DMAC0	(*(volatile struct st_dmac0    __evenaccess *)0x82000)
+#define	DMAC1	(*(volatile struct st_dmac1    __evenaccess *)0x82040)
+#define	DMAC2	(*(volatile struct st_dmac1    __evenaccess *)0x82080)
+#define	DMAC3	(*(volatile struct st_dmac1    __evenaccess *)0x820C0)
+#define	DOC		(*(volatile struct st_doc      __evenaccess *)0x8B080)
+#define	DTC		(*(volatile struct st_dtc      __evenaccess *)0x82400)
+#define	ELC		(*(volatile struct st_elc      __evenaccess *)0x8B100)
+#define	EXSYSTEM		(*(volatile struct st_exsystem __evenaccess *)0xFF7FFFF8)
+#define	FLASH	(*(volatile struct st_flash    __evenaccess *)0x8C296)
+#define	ICU		(*(volatile struct st_icu      __evenaccess *)0x87000)
+#define	IWDT	(*(volatile struct st_iwdt     __evenaccess *)0x88030)
+#define	MPC		(*(volatile struct st_mpc      __evenaccess *)0x8C11F)
+#define	MTU		(*(volatile struct st_mtu      __evenaccess *)0x8860A)
+#define	MTU0	(*(volatile struct st_mtu0     __evenaccess *)0x88700)
+#define	MTU1	(*(volatile struct st_mtu1     __evenaccess *)0x88780)
+#define	MTU2	(*(volatile struct st_mtu2     __evenaccess *)0x88800)
+#define	MTU3	(*(volatile struct st_mtu3     __evenaccess *)0x88600)
+#define	MTU4	(*(volatile struct st_mtu4     __evenaccess *)0x88600)
+#define	MTU5	(*(volatile struct st_mtu5     __evenaccess *)0x88880)
+#define	POE		(*(volatile struct st_poe      __evenaccess *)0x88900)
+#define	PORT	(*(volatile struct st_port     __evenaccess *)0x8C100)
+#define	PORT0	(*(volatile struct st_port0    __evenaccess *)0x8C000)
+#define	PORT1	(*(volatile struct st_port1    __evenaccess *)0x8C001)
+#define	PORT2	(*(volatile struct st_port2    __evenaccess *)0x8C002)
+#define	PORT3	(*(volatile struct st_port3    __evenaccess *)0x8C003)
+#define	PORT4	(*(volatile struct st_port4    __evenaccess *)0x8C004)
+#define	PORT5	(*(volatile struct st_port5    __evenaccess *)0x8C005)
+#define	PORTA	(*(volatile struct st_porta    __evenaccess *)0x8C00A)
+#define	PORTB	(*(volatile struct st_portb    __evenaccess *)0x8C00B)
+#define	PORTC	(*(volatile struct st_portc    __evenaccess *)0x8C00C)
+#define	PORTD	(*(volatile struct st_portd    __evenaccess *)0x8C00D)
+#define	PORTE	(*(volatile struct st_porte    __evenaccess *)0x8C00E)
+#define	PORTH	(*(volatile struct st_porth    __evenaccess *)0x8C011)
+#define	PORTJ	(*(volatile struct st_portj    __evenaccess *)0x8C012)
+#define	RIIC0	(*(volatile struct st_riic     __evenaccess *)0x88300)
+#define	RSPI0	(*(volatile struct st_rspi     __evenaccess *)0x88380)
+#define	RTC		(*(volatile struct st_rtc      __evenaccess *)0x8C400)
+#define	S12AD	(*(volatile struct st_s12ad    __evenaccess *)0x89000)
+#define	SCI0	(*(volatile struct st_sci0     __evenaccess *)0x8A000)
+#define	SCI1	(*(volatile struct st_sci1     __evenaccess *)0x8A020)
+#define	SCI5	(*(volatile struct st_sci1     __evenaccess *)0x8A0A0)
+#define	SCI6	(*(volatile struct st_sci1     __evenaccess *)0x8A0C0)
+#define	SCI8	(*(volatile struct st_sci1     __evenaccess *)0x8A100)
+#define	SCI9	(*(volatile struct st_sci1     __evenaccess *)0x8A120)
+#define	SCI12	(*(volatile struct st_sci12    __evenaccess *)0x8B300)
+#define	SMCI0	(*(volatile struct st_smci     __evenaccess *)0x8A000)
+#define	SMCI1	(*(volatile struct st_smci     __evenaccess *)0x8A020)
+#define	SMCI5	(*(volatile struct st_smci     __evenaccess *)0x8A0A0)
+#define	SMCI6	(*(volatile struct st_smci     __evenaccess *)0x8A0C0)
+#define	SMCI8	(*(volatile struct st_smci     __evenaccess *)0x8A100)
+#define	SMCI9	(*(volatile struct st_smci     __evenaccess *)0x8A120)
+#define	SMCI12	(*(volatile struct st_smci     __evenaccess *)0x8B300)
+#define	SYSTEM	(*(volatile struct st_system   __evenaccess *)0x80000)
+#define	TEMPS	(*(volatile struct st_temps    __evenaccess *)0x8C500)
+#define	TMR0	(*(volatile struct st_tmr0     __evenaccess *)0x88200)
+#define	TMR1	(*(volatile struct st_tmr1     __evenaccess *)0x88201)
+#define	TMR2	(*(volatile struct st_tmr0     __evenaccess *)0x88210)
+#define	TMR3	(*(volatile struct st_tmr1     __evenaccess *)0x88211)
+#define	TMR01	(*(volatile struct st_tmr01    __evenaccess *)0x88204)
+#define	TMR23	(*(volatile struct st_tmr01    __evenaccess *)0x88214)
+#define	WDT		(*(volatile struct st_wdt      __evenaccess *)0x88020)
+#pragma bit_order
+#pragma packoption
+#endif
\ No newline at end of file
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/lowsrc.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/lowsrc.h
new file mode 100644
index 0000000000..4d2aabfc7d
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/lowsrc.h
@@ -0,0 +1,13 @@
+/***********************************************************************/
+/*                                                                     */
+/*  FILE        :lowsrc.h                                              */
+/*  DATE        :Wed, Aug 11, 2010                                     */
+/*  DESCRIPTION :Header file of I/O Stream file                        */
+/*  CPU TYPE    :Other                                                 */
+/*                                                                     */
+/*  This file is generated by Renesas Project Generator (Ver.4.50).    */
+/*  NOTE:THIS IS A TYPICAL EXAMPLE.                                    */
+/*                                                                     */
+/***********************************************************************/
+/*Number of I/O Stream*/
+#define IOSTREAM 20
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/rskrx62ndef.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/rskrx62ndef.h
new file mode 100644
index 0000000000..c65ab0a7f9
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/rskrx62ndef.h
@@ -0,0 +1,103 @@
+
+/******************************************************************************
+* DISCLAIMER
+* Please refer to http://www.renesas.com/disclaimer
+******************************************************************************
+  Copyright (C) 2008. Renesas Technology Corp., All Rights Reserved.
+*******************************************************************************
+* File Name    : rsksh7216.h
+* Version      : 1.00
+* Description  : RSK 7216 board specific settings
+******************************************************************************
+* History : DD.MM.YYYY Version Description
+*         : 06.10.2009 1.00    First Release
+******************************************************************************/
+
+#ifndef RSKRX62N_H
+#define RSKRX62N_H
+
+/******************************************************************************
+Includes   <System Includes> , "Project Includes"
+******************************************************************************/
+
+/******************************************************************************
+Typedef definitions
+******************************************************************************/
+
+/******************************************************************************
+Macro definitions
+******************************************************************************/
+
+/* System Clock Settings */
+
+/* DETAIL THIS LATER !!!! */
+
+#define     XTAL_FREQUENCY  (50000000L)	
+#define     ICLK_MUL        (1)
+#define     PCLK_MUL        (2)
+#define     BCLK_MUL        (2)
+#define     ICLK_FREQUENCY  (XTAL_FREQUENCY * ICLK_MUL)
+#define     PCLK_FREQUENCY  (XTAL_FREQUENCY / PCLK_MUL)
+#define     BCLK_FREQUENCY  (XTAL_FREQUENCY / BCLK_MUL)
+
+#define     CMT0_CLK_SELECT (512)
+
+/* General Values */
+#define		LED_ON          (0)
+#define 	LED_OFF			(1)
+#define 	SET_BIT_HIGH	(1)
+#define 	SET_BIT_LOW		(0)
+#define 	SET_BYTE_HIGH	(0xFF)
+#define 	SET_BYTE_LOW	(0x00)
+
+/* Define switches to be polled if not available as interrupts */
+#define		SW_ACTIVE		FALSE
+#define 	SW1 			PORT0.DR.BIT.B0
+#define 	SW2 			PORT0.DR.BIT.B1
+#define     SW3             PORT0.DR.BIT.B7
+#define 	SW1_DDR			PORT0.DDR.BIT.B0
+#define 	SW2_DDR			PORT0.DDR.BIT.B1
+#define     SW3_DDR         PORT0.DDR.BIT.B7
+#define 	SW1_ICR			PORT0.ICR.BIT.B0
+#define 	SW2_ICR			PORT0.ICR.BIT.B1
+#define     SW3_ICR         PORT0.ICR.BIT.B7
+
+/* LEDs */
+#define		LED0			PORT1.PODR.BIT.B4
+#define		LED1			PORT1.PODR.BIT.B5
+#define		LED2			PORT1.PODR.BIT.B6
+#define		LED3			PORT1.PODR.BIT.B7
+//#define	    LED4			PORT6.DR.BIT.B0
+//#define	    LED5			PORT7.DR.BIT.B3
+#define		LED0_DDR        PORT1.PDR.BIT.B4
+#define		LED1_DDR        PORT1.PDR.BIT.B5
+#define		LED2_DDR        PORT1.PDR.BIT.B6
+#define		LED3_DDR        PORT1.PDR.BIT.B7
+//#define	    LED4_DDR        PORT6.DDR.BIT.B0
+//#define	    LED5_DDR        PORT7.DDR.BIT.B3
+
+/* 2x8 segment LCD */
+#define		INCLUDE_LCD		1
+#define     LCD_RS          PORTJ.PODR.BIT.B1
+#define     LCD_EN          PORTJ.PODR.BIT.B3
+#define     LCD_DATA        PORTH.PODR.BYTE
+
+#define     LCD_RS_DDR      PORTJ.PDR.BIT.B1
+#define     LCD_EN_DDR      PORTJ.PDR.BIT.B3
+#define     LCD_DATA_DDR    PORTH.PDR.BYTE
+
+
+
+/******************************************************************************
+Variable Externs
+******************************************************************************/
+
+/******************************************************************************
+Functions Prototypes
+******************************************************************************/
+
+
+
+/* RSKRX62N_H */
+#endif		
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/stacksct.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/stacksct.h
new file mode 100644
index 0000000000..1d5db830db
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/stacksct.h
@@ -0,0 +1,13 @@
+/***********************************************************************/
+/*                                                                     */
+/*  FILE        :stacksct.h                                            */
+/*  DATE        :Wed, Aug 11, 2010                                     */
+/*  DESCRIPTION :Setting of Stack area                                 */
+/*  CPU TYPE    :Other                                                 */
+/*                                                                     */
+/*  This file is generated by Renesas Project Generator (Ver.4.50).    */
+/*  NOTE:THIS IS A TYPICAL EXAMPLE.                                    */
+/*                                                                     */
+/***********************************************************************/
+#pragma stacksize su=0x300      
+#pragma stacksize si=0x100      
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/typedefine.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/typedefine.h
new file mode 100644
index 0000000000..d3ad67fec7
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/typedefine.h
@@ -0,0 +1,41 @@
+/***********************************************************************/
+/*                                                                     */
+/*  FILE        :typedefine.h                                          */
+/*  DATE        :Wed, Aug 11, 2010                                     */
+/*  DESCRIPTION :Aliases of Integer Type                               */
+/*  CPU TYPE    :Other                                                 */
+/*                                                                     */
+/*  This file is generated by Renesas Project Generator (Ver.4.50).    */
+/*  NOTE:THIS IS A TYPICAL EXAMPLE.                                    */
+/*                                                                     */
+/***********************************************************************/
+                  
+
+
+/*********************************************************************
+*
+* Device     : RX
+*
+* File Name  : typedefine.h
+*
+* Abstract   : Aliases of Integer Type.
+*
+* History    : 1.00  (2009-08-07)
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+* Copyright(c) 2009 Renesas Technology Corp.
+*               And Renesas Solutions Corp.,All Rights Reserved. 
+*
+*********************************************************************/
+
+typedef signed char _SBYTE;
+typedef unsigned char _UBYTE;
+typedef signed short _SWORD;
+typedef unsigned short _UWORD;
+typedef signed int _SINT;
+typedef unsigned int _UINT;
+typedef signed long _SDWORD;
+typedef unsigned long _UDWORD;
+typedef signed long long _SQWORD;
+typedef unsigned long long _UQWORD;
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/vect.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/vect.h
new file mode 100644
index 0000000000..a6a48946bd
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/include/vect.h
@@ -0,0 +1,60 @@
+/***********************************************************************/
+/*                                                                     */
+/*  FILE        :vect.h                                                */
+/*  DATE        :Wed, Aug 11, 2010                                     */
+/*  DESCRIPTION :Definition of Vector                                  */
+/*  CPU TYPE    :Other                                                 */
+/*                                                                     */
+/*  This file is generated by Renesas Project Generator (Ver.4.50).    */
+/*  NOTE:THIS IS A TYPICAL EXAMPLE.                                    */
+/*                                                                     */
+/***********************************************************************/
+                  
+
+
+/*********************************************************************
+*
+* Device     : RX/RX600
+*
+* File Name  : vect.h
+*
+* Abstract   : Definition of Vector.
+*
+* History    : 1.00  (2009-08-07)
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+* Copyright(c) 2009 Renesas Technology Corp.
+*               And Renesas Solutions Corp.,All Rights Reserved. 
+*
+*********************************************************************/
+
+// Exception(Supervisor Instruction)
+#pragma interrupt (Excep_SuperVisorInst)
+void Excep_SuperVisorInst(void);
+
+// Exception(Undefined Instruction)
+#pragma interrupt (Excep_UndefinedInst)
+void Excep_UndefinedInst(void);
+
+// Exception(Floating Point)
+#pragma interrupt (Excep_FloatingPoint)
+void Excep_FloatingPoint(void);
+
+// NMI
+#pragma interrupt (NonMaskableInterrupt)
+void NonMaskableInterrupt(void);
+
+// Dummy
+#pragma interrupt (Dummy)
+void Dummy(void);
+
+// BRK
+#pragma interrupt (Excep_BRK(vect=0))
+void Excep_BRK(void);
+
+//;<<VECTOR DATA START (POWER ON RESET)>>
+//;Power On Reset PC
+extern void PowerON_Reset_PC(void);                                                                                                                
+//;<<VECTOR DATA END (POWER ON RESET)>>
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/lcd.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/lcd.c
new file mode 100644
index 0000000000..4f592fae2f
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/lcd.c
@@ -0,0 +1,392 @@
+/***********************************************************************************
+Filename: lcd.c
+DESCRIPTION   LCD Module utility functions.
+		Written for KS0066u compatible LCD Module.
+		(8 characters by 2 lines)
+
+Copyright   : 2006 Renesas Technology Europe Ltd.
+Copyright   : 2006 Renesas Technology Corporation.
+All Rights Reserved
+
+***********************************************************************************/
+
+/***********************************************************************************
+Revision History
+DD.MM.YYYY OSO-UID Description
+26.07.2006 RTE-MBA First Release
+***********************************************************************************/
+
+/**********************************************************************************
+System Includes
+***********************************************************************************/
+#include <machine.h>
+
+/**********************************************************************************
+User Includes
+***********************************************************************************/
+/* iodefine.h provides a structure to access all of the device registers. */
+#include "iodefine.h"
+/* rsk1664def.h provides common defines for widely used items. */
+#include "rskrx62ndef.h"
+#include "lcd.h"
+
+/* Kernel includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+#include "semphr.h"
+
+
+/**********************************************************************************
+Global variables
+***********************************************************************************/
+xQueueHandle SwitchQueue;
+xSemaphoreHandle LCD_Mutex;
+
+char datastring[]=
+"........Rx210 Highlights....1.56 DMips/MHz....DSP functions....1.62V-5.5V operation....200 uA/MHz....Up to 512 kBytes Flash....up to 64 kbytes SRAM....EE Dataflash with 100k w/e....1.3 uA in Real Time Clock Mode....Powerful Motor control timer....4 x 16-bit timers....4 x 8-bit timers....Full Real Time Clock calendar with calibration and alarm functions....Up to 16 channels 1 uS 12-bit ADC, with Dual group programmable SCAN, 3 sample and holds, sample accumulate function....DMA controller....Data Transfer Controller....Up to 9 serial Channels....Up to 6 USARTs ( with Simple I2C / SPI )....USART ( with unique Frame based protocol support )....Multimaster IIC....RSPI....Temperature Sensor....Event Link Controller....Comparators....Safety features include CRC....March X....Dual watchdog Timers with window and independent oscillator....ADC self test....I/O Pin Test....Supported with E1 on chip debugger and RSK210 evaluation system....Rx210 Highlights........";
+
+
+
+struct _LCD_Params Line1 = 
+{
+	LCD_LINE1, 215, datastring	
+};
+
+struct _LCD_Params Line2 = 
+{
+	LCD_LINE2, 350, datastring	
+};
+
+
+
+/**********************************************************************************
+User Program Code
+***********************************************************************************/
+
+/*****************************************************************************
+Name:			InitDisplay 
+Parameters:		none				
+Returns:		none
+Description:	Intializes the LCD display. 
+*****************************************************************************/
+void InitialiseDisplay( void )
+{
+	/* Power Up Delay for LCD Module */
+	EN_PIN = SET_BIT_HIGH;
+	DisplayDelay(7000);
+	EN_PIN = SET_BIT_LOW;
+  
+	/* Display initialises in 8 bit mode - so send one write (seen as 8 bit)
+		to set to 4 bit mode. */
+
+	/* Function Set */
+	LCD_nibble_write(CTRL_WR,0x03);
+	LCD_nibble_write(CTRL_WR,0x03);
+	DisplayDelay(39);
+ 
+	/* Configure display */
+	LCD_nibble_write(CTRL_WR,0x03);
+	LCD_nibble_write(CTRL_WR,0x02);
+	LCD_nibble_write(CTRL_WR,(LCD_DISPLAY_ON | LCD_TWO_LINE ));
+	LCD_nibble_write(CTRL_WR,(LCD_DISPLAY_ON | LCD_TWO_LINE ));
+	DisplayDelay(39);
+
+	/* Display ON/OFF control */
+	LCD_write(CTRL_WR,LCD_CURSOR_OFF);
+	DisplayDelay(39);
+
+	/* Display Clear */
+	LCD_write(CTRL_WR,LCD_CLEAR);
+	DisplayDelay(1530);
+
+	/* Entry Mode Set */
+	LCD_write(CTRL_WR,0x06);
+	LCD_write(CTRL_WR,LCD_HOME_L1);
+}
+/**********************************************************************************
+End of function InitialiseDisplay
+***********************************************************************************/   
+
+/*****************************************************************************
+Name:		DisplayString   
+Parameters:	position  Line number of display
+			string	Pointer to data to be written to display.
+					Last character should be null.
+Returns:	none
+
+Description:	This function controls LCD writes to line 1 or 2 of the LCD.
+				You need to use the defines LCD_LINE1 and LCD_LINE2 in order
+				to specify the starting position.
+				For example, to start at the 2nd position on line 1...
+				DisplayString(LCD_LINE1 + 1, "Hello")
+*****************************************************************************/
+void DisplayString(unsigned char position, char * string)
+{
+	static unsigned char next_pos = 0xFF;
+
+	/* Set line position if needed. We don't want to if we don't need 
+		to because LCD control operations take longer than LCD data
+		operations. */
+	if( next_pos != position)
+	{
+		if(position < LCD_LINE2)
+		{
+			/* Display on Line 1 */
+			LCD_write(CTRL_WR, (unsigned char)(LCD_HOME_L1 + position) );
+		}
+		else
+		{
+			/* Display on Line 2 */
+			LCD_write(CTRL_WR, (unsigned char)(LCD_HOME_L2 + position - LCD_LINE2) );
+		}
+		/* set position index to known value */
+		next_pos = position;	
+	}
+
+	do
+	{
+		LCD_write(DATA_WR,*string++);
+		/* increment position index */
+		next_pos++;	   
+	}
+	while(*string);
+}
+/**********************************************************************************
+End of function DisplayString
+***********************************************************************************/   
+
+/*****************************************************************************
+Name:		LCD_write
+Parameters:	value - the value to write
+			data_or_ctrl - To write value as DATA or CONTROL
+							1 = DATA
+							0 = CONTROL
+Returns:	none
+
+Description:	Writes data to display. Sends command to display.  
+*****************************************************************************/
+void LCD_write(unsigned char data_or_ctrl, unsigned char value)
+{
+	/* Write upper nibble first */
+	LCD_nibble_write(data_or_ctrl, (value & 0xF0) >> 4);
+
+	/* Write lower nibble second */
+	LCD_nibble_write(data_or_ctrl, (value & 0x0F));
+}
+/**********************************************************************************
+End of function LCD_write
+***********************************************************************************/   
+
+/*****************************************************************************
+Name:		LCD_nibble_write
+Parameters:	value - the value to write
+			data_or_ctrl - To write value as DATA or CONTROL
+							1 = DATA
+							0 = CONTROL
+Returns:	none
+
+Description:	Writes data to display. Sends command to display.  
+*****************************************************************************/
+void LCD_nibble_write(unsigned char data_or_ctrl, unsigned char value)
+{
+	unsigned char ucStore;
+	if (data_or_ctrl == DATA_WR)
+	{
+		RS_PIN = SET_BIT_HIGH;
+	}
+	else
+	{
+		RS_PIN = SET_BIT_LOW;
+	}
+	/* There must be 40ns between RS write and EN write */
+	DisplayDelay(1);
+	/* EN enable chip (HIGH) */
+	EN_PIN = SET_BIT_HIGH;
+	/* Tiny delay */		
+	DisplayDelay(1);
+	/* Clear port bits used */  
+	/* Set upper lower 4 bits of nibble on port pins. */
+	ucStore = DATA_PORT;
+	ucStore &= ~DATA_PORT_MASK;
+	/* OR in data */  
+	ucStore |= ((value << DATA_PORT_SHIFT) & DATA_PORT_MASK );
+	/* Write lower 4 bits of nibble */
+	DATA_PORT = ucStore;
+
+	/* write delay while En High */
+	DisplayDelay(20);
+	/* Latch data by dropping EN */		 
+	EN_PIN = SET_BIT_LOW;
+	/* Data hold delay */	   
+	DisplayDelay(20);		 
+
+	if(data_or_ctrl == CTRL_WR)
+	{
+		/* Extra delay needed for control writes */
+		DisplayDelay(40);	   
+	}	   
+}
+/**********************************************************************************
+End of function LCD_nibble_write
+***********************************************************************************/   
+
+/*****************************************************************************
+Name:		DisplayDelay 
+Parameters:	units - Approximately in microseconds				   
+Returns:	none 
+
+Description:   Delay routine for LCD display.
+*****************************************************************************/
+void DisplayDelay(unsigned long int units)
+{
+	unsigned long counter = units * DELAY_TIMING;
+	while(counter--)
+	{
+		nop();		// ~ 10ns
+	}
+}
+/**********************************************************************************
+End of function DisplayDelay
+***********************************************************************************/   
+
+
+void prvLCDTaskLine1( void *pvParameters )
+{
+	#define		RIGHT_TO_LEFT	0
+	#define		LEFT_TO_RIGHT	1
+	
+	struct _LCD_Params *Local_Params = (struct _LCD_Params*)pvParameters;
+	
+	char str_lcd[9];
+	unsigned short pos = 0;
+	unsigned char Direction = RIGHT_TO_LEFT;
+	
+	for(;;)
+	{
+		vTaskDelay( Local_Params->Speed / portTICK_RATE_MS );		
+
+		strncpy(str_lcd, &Local_Params->ptr_str[pos], 8);
+	
+		xSemaphoreTake( LCD_Mutex, portMAX_DELAY );
+		DisplayString(Local_Params->Line, str_lcd);
+		xSemaphoreGive( LCD_Mutex );
+		
+		if(Direction == RIGHT_TO_LEFT)
+		{
+			pos++;
+			if( pos == strlen(datastring) - 7)
+			{
+				Direction = LEFT_TO_RIGHT;
+				pos--;				
+			}
+		}
+		else
+		{
+			pos--;
+			if( pos == 0 )
+			{
+				Direction = RIGHT_TO_LEFT;				
+			}
+		}			
+	}
+}
+
+void prvLCDTaskLine2( void *pvParameters )
+{
+	#define		RIGHT_TO_LEFT	0
+	#define		LEFT_TO_RIGHT	1
+	#define		RUNNING			0
+	#define		STOPPED			1
+
+	
+	struct _LCD_Params *Local_Params = (struct _LCD_Params*)pvParameters;
+	
+	char str_lcd[9];
+	unsigned short pos = 0;
+	unsigned char Direction = RIGHT_TO_LEFT;
+	unsigned char Status = RUNNING;
+	
+	unsigned char QueueData;
+	portTickType Delay = ( Local_Params->Speed / portTICK_RATE_MS );
+	
+	for(;;)
+	{
+//		vTaskDelay( Local_Params->Speed / portTICK_RATE_MS );		
+
+		if( xQueueReceive (SwitchQueue, &QueueData, Delay) != pdPASS )
+		{
+			strncpy(str_lcd, &Local_Params->ptr_str[pos], 8);
+		
+			xSemaphoreTake( LCD_Mutex, portMAX_DELAY );
+			DisplayString(Local_Params->Line, str_lcd);
+			xSemaphoreGive( LCD_Mutex );
+			
+			if(Direction == RIGHT_TO_LEFT)
+			{
+				pos++;
+				if( pos == strlen(datastring) - 7)
+				{
+					Direction = LEFT_TO_RIGHT;
+					pos--;				
+				}
+			}
+			else
+			{
+				pos--;
+				if( pos == 0 )
+				{
+					Direction = RIGHT_TO_LEFT;				
+				}
+			}			
+		}
+		else
+		{
+			if(QueueData == 0x02)	// stop/start
+			{
+				if(Delay != portMAX_DELAY)
+				{
+					Delay = portMAX_DELAY;
+					Status = STOPPED;
+				}
+				else
+				{
+					Delay = ( Local_Params->Speed / portTICK_RATE_MS );
+					Status = RUNNING;
+				}				
+			}
+			
+			if(QueueData == 0x01)	// RIGHT or shift back
+			{
+				if(Status == STOPPED)
+				{
+					if(pos != 0)
+					{
+						pos--;
+											
+						strncpy(str_lcd, &Local_Params->ptr_str[pos], 8);
+		
+						xSemaphoreTake( LCD_Mutex, portMAX_DELAY );
+						DisplayString(Local_Params->Line, str_lcd);
+						xSemaphoreGive( LCD_Mutex );
+					}
+				}
+			}
+			
+			if(QueueData == 0x03)	// LEFT or shift forward
+			{
+				if(Status == STOPPED)
+				{
+					if(pos != strlen(datastring) - 7)
+					{
+						pos++;
+						strncpy(str_lcd, &Local_Params->ptr_str[pos], 8);
+		
+						xSemaphoreTake( LCD_Mutex, portMAX_DELAY );
+						DisplayString(Local_Params->Line, str_lcd);
+						xSemaphoreGive( LCD_Mutex );
+					}
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/lcd.h b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/lcd.h
new file mode 100644
index 0000000000..1818da4f9b
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/lcd.h
@@ -0,0 +1,97 @@
+#ifndef LCD_H
+#define LCD_H
+/***********************************************************************************
+
+FILE NAME		lcd.h
+
+DESCRIPTION		Driver for KS0066u LCD Module Controller (8 characters by 2 lines )
+				on the Renesas RSK boards - header file
+
+Copyright   : 2006 Renesas Technology Europe Ltd.
+Copyright   : 2006 Renesas Technology Corporation.
+All Rights Reserved
+***********************************************************************************/
+
+/***********************************************************************************
+Revision History
+DD.MM.YYYY OSO-UID Description
+26.07.2006 RTE-MBA First Release
+***********************************************************************************/
+void InitialiseDisplay( void );
+void DisplayString(unsigned char position, char * string);
+void LCD_write(unsigned char data_or_ctrl, unsigned char value);
+void LCD_nibble_write(unsigned char data_or_ctrl, unsigned char value);
+void DisplayDelay(unsigned long int units);
+
+
+#define SET_BIT_HIGH	(1)         
+#define SET_BIT_LOW		(0)         
+#define SET_BYTE_HIGH	(0xFF)        
+#define SET_BYTE_LOW	(0x00)      
+
+struct _LCD_Params {
+	unsigned char Line;
+	unsigned short Speed;
+	char *ptr_str;
+};
+
+void prvLCDTaskLine1( void *pvParameters );
+void prvLCDTaskLine2( void *pvParameters );
+
+
+/* RS Register Select pin */
+#define RS_PIN			PORTJ.PODR.BIT.B1
+/* Display Enable pin */  
+#define EN_PIN			PORTJ.PODR.BIT.B3
+/* Data bus port */
+#define DATA_PORT		PORTH.PODR.BYTE
+/* Bit mask from entire port */   
+#define DATA_PORT_MASK	0x0F
+/* Number of bits data needs to shift */
+#define DATA_PORT_SHIFT	0
+
+
+#define DATA_WR 1
+#define CTRL_WR 0
+
+/* Set to ensure base delay of 1microS minimum */
+//#define DELAY_TIMING	0x2F
+#define DELAY_TIMING	50
+/* number of lines on the LCD display */
+#define NUMB_CHARS_PER_LINE 8
+/* Maximum charactors per line of LCD display. */ 
+#define MAXIMUM_LINES	2   
+
+#define LCD_LINE1 0
+#define LCD_LINE2 16
+
+/**********************************************************************************/
+/* LCD commands - use LCD_write function to write these commands to the LCD.	  */
+/**********************************************************************************/
+/* Clear LCD display and home cursor */
+#define LCD_CLEAR		0x01
+/* move cursor to line 1 */
+#define LCD_HOME_L1		0x80
+/* move cursor to line 2 */	  
+#define LCD_HOME_L2		0xC0
+/* Cursor auto decrement after R/W */  
+#define CURSOR_MODE_DEC	0x04
+/* Cursor auto increment after R/W */
+#define CURSOR_MODE_INC	0x06
+/* Setup, 4 bits,2 lines, 5X7 */
+#define FUNCTION_SET	0x28
+/* Display ON with Cursor */
+#define LCD_CURSOR_ON	0x0E
+/* Display ON with Cursor off */
+#define LCD_CURSOR_OFF	0x0C
+/* Display on with blinking cursor */
+#define LCD_CURSOR_BLINK 0x0D
+/*Move Cursor Left One Position */
+#define LCD_CURSOR_LEFT	0x10
+/* Move Cursor Right One Position */
+#define LCD_CURSOR_RIGHT 0x14
+
+#define LCD_DISPLAY_ON	0x04
+#define LCD_TWO_LINE	0x08
+
+#endif
\ No newline at end of file
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/main-blinky.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/main-blinky.c
new file mode 100644
index 0000000000..70cdc02d6f
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/main-blinky.c
@@ -0,0 +1,222 @@
+/*
+    FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
+
+    ***************************************************************************
+    *                                                                         *
+    * If you are:                                                             *
+    *                                                                         *
+    *    + New to FreeRTOS,                                                   *
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *
+    *    + Looking for basic training,                                        *
+    *    + Wanting to improve your FreeRTOS skills and productivity           *
+    *                                                                         *
+    * then take a look at the FreeRTOS books - available as PDF or paperback  *
+    *                                                                         *
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *
+    *                  http://www.FreeRTOS.org/Documentation                  *
+    *                                                                         *
+    * A pdf reference manual is also available.  Both are usually delivered   *
+    * to your inbox within 20 minutes to two hours when purchased between 8am *
+    * and 8pm GMT (although please allow up to 24 hours in case of            *
+    * exceptional circumstances).  Thank you for your support!                *
+    *                                                                         *
+    ***************************************************************************
+
+    This file is part of the FreeRTOS distribution.
+
+    FreeRTOS is free software; you can redistribute it and/or modify it under
+    the terms of the GNU General Public License (version 2) as published by the
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+    ***NOTE*** The exception to the GPL is included to allow you to distribute
+    a combined work that includes FreeRTOS without being obliged to provide the
+    source code for proprietary components outside of the FreeRTOS kernel.
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+    more details. You should have received a copy of the GNU General Public 
+    License and the FreeRTOS license exception along with FreeRTOS; if not it 
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained 
+    by writing to Richard Barry, contact details for whom are available on the
+    FreeRTOS WEB site.
+
+    1 tab == 4 spaces!
+
+    http://www.FreeRTOS.org - Documentation, latest information, license and
+    contact details.
+
+    http://www.SafeRTOS.com - A version that is certified for use in safety
+    critical systems.
+
+    http://www.OpenRTOS.com - Commercial support, development, porting,
+    licensing and training services.
+*/
+
+/* 
+ * This is a very simple demo that creates two tasks and one queue.  One task
+ * (the queue receive task) blocks on the queue to wait for data to arrive, 
+ * toggling an LED each time '100' is received.  The other task (the queue send
+ * task) repeatedly blocks for a fixed period before sending '100' to the queue
+ * (causing the first task to toggle the LED). 
+ *
+ * For a much more complete and complex example select either the Debug or
+ * Debug_with_optimisation build configurations within the HEW IDE. 
+*/
+
+/* Hardware specific includes. */
+#include "iodefine.h"
+
+/* Kernel includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+#include "queue.h"
+
+/* Priorities at which the tasks are created. */
+#define configQUEUE_RECEIVE_TASK_PRIORITY	( tskIDLE_PRIORITY + 1 )
+#define	configQUEUE_SEND_TASK_PRIORITY		( tskIDLE_PRIORITY + 2 )
+
+/* The rate at which data is sent to the queue, specified in milliseconds. */
+#define mainQUEUE_SEND_FREQUENCY_MS			( 500 / portTICK_RATE_MS )
+
+/* The number of items the queue can hold.  This is 1 as the receive task
+will remove items as they are added so the send task should always find the
+queue empty. */
+#define mainQUEUE_LENGTH					( 1 )
+
+/*
+ * The tasks as defined at the top of this file.
+ */
+static void prvQueueReceiveTask( void *pvParameters );
+static void prvQueueSendTask( void *pvParameters );
+
+/* The queue used by both tasks. */
+static xQueueHandle xQueue = NULL;
+
+/* This variable is not used by this simple Blinky example.  It is defined 
+purely to allow the project to link as it is used by the full project. */
+volatile unsigned long ulHighFrequencyTickCount = 0UL;
+/*-----------------------------------------------------------*/
+
+void main(void)
+{
+extern void HardwareSetup( void );
+
+	/* Renesas provided CPU configuration routine.  The clocks are configured in
+	here. */
+	HardwareSetup();
+	
+	/* Turn all LEDs off. */
+	vParTestInitialise();
+	
+	/* Create the queue. */
+	xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( unsigned long ) );
+
+	if( xQueue != NULL )
+	{
+		/* Start the two tasks as described at the top of this file. */
+		xTaskCreate( prvQueueReceiveTask, "Rx", configMINIMAL_STACK_SIZE, NULL, configQUEUE_RECEIVE_TASK_PRIORITY, NULL );
+		xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, configQUEUE_SEND_TASK_PRIORITY, NULL );
+
+		/* Start the tasks running. */
+		vTaskStartScheduler();
+	}
+	
+	/* If all is well we will never reach here as the scheduler will now be
+	running.  If we do reach here then it is likely that there was insufficient
+	heap available for the idle task to be created. */
+	for( ;; );
+}
+/*-----------------------------------------------------------*/
+
+static void prvQueueSendTask( void *pvParameters )
+{
+portTickType xNextWakeTime;
+const unsigned long ulValueToSend = 100UL;
+
+	/* Initialise xNextWakeTime - this only needs to be done once. */
+	xNextWakeTime = xTaskGetTickCount();
+
+	for( ;; )
+	{
+		/* Place this task in the blocked state until it is time to run again. 
+		The block state is specified in ticks, the constant used converts ticks
+		to ms. */
+		vTaskDelayUntil( &xNextWakeTime, mainQUEUE_SEND_FREQUENCY_MS );
+
+		/* Send to the queue - causing the queue receive task to flash its LED.  0
+		is used so the send does not block - it shouldn't need to as the queue
+		should always be empty here. */
+		xQueueSend( xQueue, &ulValueToSend, 0 );
+	}
+}
+/*-----------------------------------------------------------*/
+
+static void prvQueueReceiveTask( void *pvParameters )
+{
+unsigned long ulReceivedValue;
+
+	for( ;; )
+	{
+		/* Wait until something arives in the queue - this will block 
+		indefinitely provided INCLUDE_vTaskSuspend is set to 1 in
+		FreeRTOSConfig.h. */
+		xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );
+
+		/*  To get here something must have arrived, but is it the expected
+		value?  If it is, toggle the LED. */
+		if( ulReceivedValue == 100UL )
+		{
+			vParTestToggleLED( 0 );
+		}
+	}
+}
+/*-----------------------------------------------------------*/
+
+void vApplicationSetupTimerInterrupt( void )
+{
+	/* Enable compare match timer 0. */
+	MSTP( CMT0 ) = 0;
+	
+	/* Interrupt on compare match. */
+	CMT0.CMCR.BIT.CMIE = 1;
+	
+	/* Set the compare match value. */
+	CMT0.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / configTICK_RATE_HZ ) -1 ) / 8 );
+	
+	/* Divide the PCLK by 8. */
+	CMT0.CMCR.BIT.CKS = 0;
+	
+	/* Enable the interrupt... */
+	_IEN( _CMT0_CMI0 ) = 1;
+	
+	/* ...and set its priority to the application defined kernel priority. */
+	_IPR( _CMT0_CMI0 ) = configKERNEL_INTERRUPT_PRIORITY;
+	
+	/* Start the timer. */
+	CMT.CMSTR0.BIT.STR0 = 1;
+}
+/*-----------------------------------------------------------*/
+
+/* This function is explained by the comments above its prototype at the top
+of this file. */
+void vApplicationMallocFailedHook( void )
+{
+	for( ;; );
+}
+/*-----------------------------------------------------------*/
+
+/* This function is explained by the comments above its prototype at the top
+of this file. */
+void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
+{
+	for( ;; );
+}
+/*-----------------------------------------------------------*/
+
+/* This function is explained by the comments above its prototype at the top
+of this file. */
+void vApplicationIdleHook( void )
+{
+	/* Just to prevent the variable getting optimised away. */
+	( void ) ulHighFrequencyTickCount;
+}
+/*-----------------------------------------------------------*/
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/main-full.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/main-full.c
new file mode 100644
index 0000000000..99b6d756fa
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/main-full.c
@@ -0,0 +1,693 @@
+/*
+    FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
+
+    ***************************************************************************
+    *                                                                         *
+    * If you are:                                                             *
+    *                                                                         *
+    *    + New to FreeRTOS,                                                   *
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *
+    *    + Looking for basic training,                                        *
+    *    + Wanting to improve your FreeRTOS skills and productivity           *
+    *                                                                         *
+    * then take a look at the FreeRTOS books - available as PDF or paperback  *
+    *                                                                         *
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *
+    *                  http://www.FreeRTOS.org/Documentation                  *
+    *                                                                         *
+    * A pdf reference manual is also available.  Both are usually delivered   *
+    * to your inbox within 20 minutes to two hours when purchased between 8am *
+    * and 8pm GMT (although please allow up to 24 hours in case of            *
+    * exceptional circumstances).  Thank you for your support!                *
+    *                                                                         *
+    ***************************************************************************
+
+    This file is part of the FreeRTOS distribution.
+
+    FreeRTOS is free software; you can redistribute it and/or modify it under
+    the terms of the GNU General Public License (version 2) as published by the
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+    ***NOTE*** The exception to the GPL is included to allow you to distribute
+    a combined work that includes FreeRTOS without being obliged to provide the
+    source code for proprietary components outside of the FreeRTOS kernel.
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+    more details. You should have received a copy of the GNU General Public
+    License and the FreeRTOS license exception along with FreeRTOS; if not it
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained
+    by writing to Richard Barry, contact details for whom are available on the
+    FreeRTOS WEB site.
+
+    1 tab == 4 spaces!
+
+    http://www.FreeRTOS.org - Documentation, latest information, license and
+    contact details.
+
+    http://www.SafeRTOS.com - A version that is certified for use in safety
+    critical systems.
+
+    http://www.OpenRTOS.com - Commercial support, development, porting,
+    licensing and training services.
+*/
+
+/* ****************************************************************************
+ * This project includes a lot of tasks and tests and is therefore complex.
+ * If you would prefer a much simpler project to get started with then select
+ * the 'Blinky' build configuration within the HEW IDE.
+ * ****************************************************************************
+ *
+ * Creates all the demo application tasks, then starts the scheduler.  The web
+ * documentation provides more details of the standard demo application tasks,
+ * which provide no particular functionality but do provide a good example of
+ * how to use the FreeRTOS API.  The tasks defined in flop.c are included in the
+ * set of standard demo tasks to ensure the floating point unit gets some
+ * exercise.
+ *
+ * In addition to the standard demo tasks, the following tasks and tests are
+ * defined and/or created within this file:
+ *
+ * Webserver ("uIP") task - This serves a number of dynamically generated WEB
+ * pages to a standard WEB browser.  The IP and MAC addresses are configured by
+ * constants defined at the bottom of FreeRTOSConfig.h.  Use either a standard
+ * Ethernet cable to connect through a hug, or a cross over (point to point)
+ * cable to connect directly.  Ensure the IP address used is compatible with the
+ * IP address of the machine running the browser - the easiest way to achieve
+ * this is to ensure the first three octets of the IP addresses are the same.
+ *
+ * "Reg test" tasks - These fill the registers with known values, then check
+ * that each register still contains its expected value.  Each task uses
+ * different values.  The tasks run with very low priority so get preempted
+ * very frequently.  A check variable is incremented on each iteration of the
+ * test loop.  A register containing an unexpected value is indicative of an
+ * error in the context switching mechanism and will result in a branch to a
+ * null loop - which in turn will prevent the check variable from incrementing
+ * any further and allow the check task (described below) to determine that an
+ * error has occurred.  The nature of the reg test tasks necessitates that they
+ * are written in assembly code.
+ *
+ * "Check" task - This only executes every five seconds but has a high priority
+ * to ensure it gets processor time.  Its main function is to check that all the
+ * standard demo tasks are still operational.  While no errors have been
+ * discovered the check task will toggle LED 5 every 5 seconds - the toggle
+ * rate increasing to 200ms being a visual indication that at least one task has
+ * reported unexpected behaviour.
+ *
+ * "High frequency timer test" - A high frequency periodic interrupt is
+ * generated using a timer - the interrupt is assigned a priority above
+ * configMAX_SYSCALL_INTERRUPT_PRIORITY so should not be effected by anything
+ * the kernel is doing.  The frequency and priority of the interrupt, in
+ * combination with other standard tests executed in this demo, should result
+ * in interrupts nesting at least 3 and probably 4 deep.  This test is only
+ * included in build configurations that have the optimiser switched on.  In
+ * optimised builds the count of high frequency ticks is used as the time base
+ * for the run time stats.
+ *
+ * *NOTE 1* If LED5 is toggling every 5 seconds then all the demo application
+ * tasks are executing as expected and no errors have been reported in any
+ * tasks.  The toggle rate increasing to 200ms indicates that at least one task
+ * has reported unexpected behaviour.
+ *
+ * *NOTE 2* vApplicationSetupTimerInterrupt() is called by the kernel to let
+ * the application set up a timer to generate the tick interrupt.  In this
+ * example a compare match timer is used for this purpose.
+ *
+ * *NOTE 3* The CPU must be in Supervisor mode when the scheduler is started.
+ * The PowerON_Reset_PC() supplied in resetprg.c with this demo has
+ * Change_PSW_PM_to_UserMode() commented out to ensure this is the case.
+ *
+ * *NOTE 4* The IntQueue common demo tasks test interrupt nesting and make use
+ * of all the 8bit timers (as two cascaded 16bit units).
+*/
+
+#include <string.h>
+
+/* Hardware specific includes. */
+#include "iodefine.h"
+
+/* Kernel includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+#include "semphr.h"
+
+/* Standard demo includes. */
+#include "partest.h"
+#include "flash.h"
+#include "IntQueue.h"
+#include "BlockQ.h"
+#include "death.h"
+#include "integer.h"
+#include "blocktim.h"
+#include "semtest.h"
+#include "PollQ.h"
+#include "GenQTest.h"
+#include "QPeek.h"
+#include "recmutex.h"
+//#include "flop.h"
+
+#include "lcd.h"
+
+/* Values that are passed into the reg test tasks using the task parameter.  The
+tasks check that the values are passed in correctly. */
+#define mainREG_TEST_1_PARAMETER	( 0x12121212UL )
+#define mainREG_TEST_2_PARAMETER	( 0x12345678UL )
+
+/* Priorities at which the tasks are created. */
+#define mainCHECK_TASK_PRIORITY		( configMAX_PRIORITIES - 1 )
+#define mainQUEUE_POLL_PRIORITY		( tskIDLE_PRIORITY + 1 )
+#define mainSEM_TEST_PRIORITY		( tskIDLE_PRIORITY + 1 )
+#define mainBLOCK_Q_PRIORITY		( tskIDLE_PRIORITY + 2 )
+#define mainCREATOR_TASK_PRIORITY   ( tskIDLE_PRIORITY + 3 )
+#define mainFLASH_TASK_PRIORITY		( tskIDLE_PRIORITY + 1 )
+#define mainuIP_TASK_PRIORITY		( tskIDLE_PRIORITY + 2 )
+#define mainINTEGER_TASK_PRIORITY   ( tskIDLE_PRIORITY )
+#define mainGEN_QUEUE_TASK_PRIORITY	( tskIDLE_PRIORITY )
+#define mainFLOP_TASK_PRIORITY		( tskIDLE_PRIORITY )
+#define mainLCD_TASK_PRIORITY		( tskIDLE_PRIORITY + 1)
+
+/* The WEB server uses string handling functions, which in turn use a bit more
+stack than most of the other tasks. */
+#define mainuIP_STACK_SIZE			( configMINIMAL_STACK_SIZE * 3 )
+
+/* The LED toggled by the check task. */
+#define mainCHECK_LED				( 3 )
+
+/* The rate at which mainCHECK_LED will toggle when all the tasks are running
+without error.  Controlled by the check task as described at the top of this
+file. */
+#define mainNO_ERROR_CYCLE_TIME		( 5000 / portTICK_RATE_MS )
+
+/* The rate at which mainCHECK_LED will toggle when an error has been reported
+by at least one task.  Controlled by the check task as described at the top of
+this file. */
+#define mainERROR_CYCLE_TIME		( 200 / portTICK_RATE_MS )
+
+/*
+ * vApplicationMallocFailedHook() will only be called if
+ * configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h.  It is a hook
+ * function that will execute if a call to pvPortMalloc() fails.
+ * pvPortMalloc() is called internally by the kernel whenever a task, queue or
+ * semaphore is created.  It is also called by various parts of the demo
+ * application.
+ */
+void vApplicationMallocFailedHook( void );
+
+/*
+ * vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set to 1
+ * in FreeRTOSConfig.h.  It is a hook function that is called on each iteration
+ * of the idle task.  It is essential that code added to this hook function
+ * never attempts to block in any way (for example, call xQueueReceive() with
+ * a block time specified).  If the application makes use of the vTaskDelete()
+ * API function (as this demo application does) then it is also important that
+ * vApplicationIdleHook() is permitted to return to its calling function because
+ * it is the responsibility of the idle task to clean up memory allocated by the
+ * kernel to any task that has since been deleted.
+ */
+void vApplicationIdleHook( void );
+
+/*
+ * vApplicationStackOverflowHook() will only be called if
+ * configCHECK_FOR_STACK_OVERFLOW is set to a non-zero value.  The handle and
+ * name of the offending task should be passed in the function parameters, but
+ * it is possible that the stack overflow will have corrupted these - in which
+ * case pxCurrentTCB can be inspected to find the same information.
+ */
+void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName );
+
+/*
+ * The reg test tasks as described at the top of this file.
+ */
+static void prvRegTest1Task( void *pvParameters );
+static void prvRegTest2Task( void *pvParameters );
+
+/*
+ * The actual implementation of the reg test functionality, which, because of
+ * the direct register access, have to be in assembly.
+ */
+static void prvRegTest1Implementation( void );
+static void prvRegTest2Implementation( void );
+
+/*
+ * The check task as described at the top of this file.
+ */
+static void prvCheckTask( void *pvParameters );
+
+
+/*
+ * The LCD task as described at the top of this file.
+ */
+
+
+
+/*
+ * Contains the implementation of the WEB server.
+ */
+extern void vuIP_Task( void *pvParameters );
+
+/*-----------------------------------------------------------*/
+
+/* Variables that are incremented on each iteration of the reg test tasks -
+provided the tasks have not reported any errors.  The check task inspects these
+variables to ensure they are still incrementing as expected.  If a variable
+stops incrementing then it is likely that its associate task has stalled. */
+unsigned long ulRegTest1CycleCount = 0UL, ulRegTest2CycleCount = 0UL;
+
+/* The status message that is displayed at the bottom of the "task stats" web
+page, which is served by the uIP task.  This will report any errors picked up
+by the reg test task. */
+const char *pcStatusMessage = "All tasks executing without error.";
+
+
+
+extern void SwitchSetup(void);
+extern xQueueHandle SwitchQueue;
+
+extern xSemaphoreHandle LCD_Mutex;
+extern struct _LCD_Params Line1;
+extern struct _LCD_Params Line2;
+
+
+/*-----------------------------------------------------------*/
+
+void main(void)
+{
+extern void HardwareSetup( void );
+
+	/* Renesas provided CPU configuration routine.  The clocks are configured in
+	here. */
+	HardwareSetup();	
+	SwitchSetup();      
+
+	/* Turn all LEDs off. */
+	vParTestInitialise();
+
+	/* Start the reg test tasks which test the context switching mechanism. */
+	xTaskCreate( prvRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL );
+	xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL );
+
+	/* The web server task. */
+//	xTaskCreate( vuIP_Task, "uIP", mainuIP_STACK_SIZE, NULL, mainuIP_TASK_PRIORITY, NULL );
+
+	/* LCD task */
+	LCD_Mutex = xSemaphoreCreateMutex();
+	xTaskCreate( prvLCDTaskLine1, "LCD1", configMINIMAL_STACK_SIZE * 3, ( void *)&Line1, mainLCD_TASK_PRIORITY, NULL );
+	xTaskCreate( prvLCDTaskLine2, "LCD2", configMINIMAL_STACK_SIZE * 3, ( void *)&Line2, mainLCD_TASK_PRIORITY + 1, NULL );
+
+	/* Switch Queue to handle switch presses */
+	SwitchQueue = xQueueCreate(32, 1);
+
+	/* Start the check task as described at the top of this file. */
+	xTaskCreate( prvCheckTask, "Check", configMINIMAL_STACK_SIZE * 3, NULL, mainCHECK_TASK_PRIORITY, NULL );
+
+	/* Create the standard demo tasks. */
+	vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
+	vCreateBlockTimeTasks();
+	vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );
+	vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );
+	vStartIntegerMathTasks( mainINTEGER_TASK_PRIORITY );
+	vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY );
+	vStartLEDFlashTasks( mainFLASH_TASK_PRIORITY );
+	vStartQueuePeekTasks();
+	vStartRecursiveMutexTasks();
+	vStartInterruptQueueTasks();
+
+
+	/* The suicide tasks must be created last as they need to know how many
+	tasks were running prior to their creation in order to ascertain whether
+	or not the correct/expected number of tasks are running at any given time. */
+	vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY );
+
+	/* Start the tasks running. */
+	vTaskStartScheduler();
+
+	/* If all is well we will never reach here as the scheduler will now be
+	running.  If we do reach here then it is likely that there was insufficient
+	heap available for the idle task to be created. */
+	for( ;; );
+}
+/*-----------------------------------------------------------*/
+
+static void prvCheckTask( void *pvParameters )
+{
+static volatile unsigned long ulLastRegTest1CycleCount = 0UL, ulLastRegTest2CycleCount = 0UL;
+portTickType xNextWakeTime, xCycleFrequency = mainNO_ERROR_CYCLE_TIME;
+extern void vSetupHighFrequencyTimer( void );
+
+	/* If this is being executed then the kernel has been started.  Start the high
+	frequency timer test as described at the top of this file.  This is only
+	included in the optimised build configuration - otherwise it takes up too much
+	CPU time and can disrupt other tests. */
+	#ifdef INCLUDE_HIGH_FREQUENCY_TIMER_TEST
+		vSetupHighFrequencyTimer();
+	#endif
+
+	/* Initialise xNextWakeTime - this only needs to be done once. */
+	xNextWakeTime = xTaskGetTickCount();
+
+	for( ;; )
+	{
+		/* Place this task in the blocked state until it is time to run again. */
+		vTaskDelayUntil( &xNextWakeTime, xCycleFrequency );
+		
+		/* Check the standard demo tasks are running without error. */
+		if( xAreGenericQueueTasksStillRunning() != pdTRUE )
+		{
+			/* Increase the rate at which this task cycles, which will increase the
+			rate at which mainCHECK_LED flashes to give visual feedback that an error
+			has occurred. */
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: GenQueue";
+		}
+		else if( xAreQueuePeekTasksStillRunning() != pdTRUE )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: QueuePeek";
+		}
+		else if( xAreBlockingQueuesStillRunning() != pdTRUE )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: BlockQueue";
+		}
+		else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: BlockTime";
+		}
+		else if( xAreSemaphoreTasksStillRunning() != pdTRUE )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: SemTest";
+		}
+		else if( xArePollingQueuesStillRunning() != pdTRUE )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: PollQueue";
+		}
+		else if( xIsCreateTaskStillRunning() != pdTRUE )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: Death";
+		}
+		else if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: IntMath";
+		}
+		else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: RecMutex";
+		}
+		else if( xAreIntQueueTasksStillRunning() != pdPASS )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: IntQueue";
+		}
+
+		/* Check the reg test tasks are still cycling.  They will stop incrementing
+		their loop counters if they encounter an error. */
+		if( ulRegTest1CycleCount == ulLastRegTest1CycleCount )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: RegTest1";
+		}
+
+		if( ulRegTest2CycleCount == ulLastRegTest2CycleCount )
+		{
+			xCycleFrequency = mainERROR_CYCLE_TIME;
+			pcStatusMessage = "Error: RegTest2";
+		}
+
+		ulLastRegTest1CycleCount = ulRegTest1CycleCount;
+		ulLastRegTest2CycleCount = ulRegTest2CycleCount;
+
+		/* Toggle the check LED to give an indication of the system status.  If
+		the LED toggles every 5 seconds then everything is ok.  A faster toggle
+		indicates an error. */
+		vParTestToggleLED( mainCHECK_LED );
+	}
+}
+/*-----------------------------------------------------------*/
+
+/* The RX port uses this callback function to configure its tick interrupt.
+This allows the application to choose the tick interrupt source. */
+void vApplicationSetupTimerInterrupt( void )
+{
+	/* Enable compare match timer 0. */
+	MSTP( CMT0 ) = 0;
+
+	/* Interrupt on compare match. */
+	CMT0.CMCR.BIT.CMIE = 1;
+
+	/* Set the compare match value. */
+	CMT0.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / configTICK_RATE_HZ ) -1 ) / 8 );
+
+	/* Divide the PCLK by 8. */
+	CMT0.CMCR.BIT.CKS = 0;
+
+	/* Enable the interrupt... */
+	_IEN( _CMT0_CMI0 ) = 1;
+
+	/* ...and set its priority to the application defined kernel priority. */
+	_IPR( _CMT0_CMI0 ) = configKERNEL_INTERRUPT_PRIORITY;
+
+	/* Start the timer. */
+	CMT.CMSTR0.BIT.STR0 = 1;
+}
+/*-----------------------------------------------------------*/
+
+/* This function is explained by the comments above its prototype at the top
+of this file. */
+void vApplicationMallocFailedHook( void )
+{
+	for( ;; );
+}
+/*-----------------------------------------------------------*/
+
+/* This function is explained by the comments above its prototype at the top
+of this file. */
+void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
+{
+	for( ;; );
+}
+/*-----------------------------------------------------------*/
+
+/* This function is explained by the comments above its prototype at the top
+of this file. */
+void vApplicationIdleHook( void )
+{
+}
+/*-----------------------------------------------------------*/
+
+/* This function is explained in the comments at the top of this file. */
+static void prvRegTest1Task( void *pvParameters )
+{
+	if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_1_PARAMETER )
+	{
+		/* The parameter did not contain the expected value. */
+		for( ;; )
+		{
+			/* Stop the tick interrupt so its obvious something has gone wrong. */
+			taskDISABLE_INTERRUPTS();
+		}
+	}
+
+	/* This is an inline asm function that never returns. */
+	prvRegTest1Implementation();
+}
+/*-----------------------------------------------------------*/
+
+/* This function is explained in the comments at the top of this file. */
+static void prvRegTest2Task( void *pvParameters )
+{
+	if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_2_PARAMETER )
+	{
+		/* The parameter did not contain the expected value. */
+		for( ;; )
+		{
+			/* Stop the tick interrupt so its obvious something has gone wrong. */
+			taskDISABLE_INTERRUPTS();
+		}
+	}
+
+	/* This is an inline asm function that never returns. */
+	prvRegTest2Implementation();
+}
+/*-----------------------------------------------------------*/
+
+/* This function is explained in the comments at the top of this file. */
+#pragma inline_asm prvRegTest1Implementation
+static void prvRegTest1Implementation( void )
+{
+	; Put a known value in each register.
+	MOV.L	#1, R1
+	MOV.L	#2, R2
+	MOV.L	#3, R3
+	MOV.L	#4, R4
+	MOV.L	#5, R5
+	MOV.L	#6, R6
+	MOV.L	#7, R7
+	MOV.L	#8, R8
+	MOV.L	#9, R9
+	MOV.L	#10, R10
+	MOV.L	#11, R11
+	MOV.L	#12, R12
+	MOV.L	#13, R13
+	MOV.L	#14, R14
+	MOV.L	#15, R15
+
+	; Loop, checking each itteration that each register still contains the
+	; expected value.
+TestLoop1:
+
+	; Push the registers that are going to get clobbered.
+	PUSHM	R14-R15
+
+	; Increment the loop counter to show this task is still getting CPU time.
+	MOV.L	#_ulRegTest1CycleCount, R14
+	MOV.L	[ R14 ], R15
+	ADD		#1, R15
+	MOV.L	R15, [ R14 ]
+
+	; Yield to extend the text coverage.  Set the bit in the ITU SWINTR register.
+	MOV.L	#1, R14
+	MOV.L 	#0872E0H, R15
+	MOV.B	R14, [R15]
+	NOP
+	NOP
+
+	; Restore the clobbered registers.
+	POPM	R14-R15
+
+	; Now compare each register to ensure it still contains the value that was
+	; set before this loop was entered.
+	CMP		#1, R1
+	BNE		RegTest1Error
+	CMP		#2, R2
+	BNE		RegTest1Error
+	CMP		#3, R3
+	BNE		RegTest1Error
+	CMP		#4, R4
+	BNE		RegTest1Error
+	CMP		#5, R5
+	BNE		RegTest1Error
+	CMP		#6, R6
+	BNE		RegTest1Error
+	CMP		#7, R7
+	BNE		RegTest1Error
+	CMP		#8, R8
+	BNE		RegTest1Error
+	CMP		#9, R9
+	BNE		RegTest1Error
+	CMP		#10, R10
+	BNE		RegTest1Error
+	CMP		#11, R11
+	BNE		RegTest1Error
+	CMP		#12, R12
+	BNE		RegTest1Error
+	CMP		#13, R13
+	BNE		RegTest1Error
+	CMP		#14, R14
+	BNE		RegTest1Error
+	CMP		#15, R15
+	BNE		RegTest1Error
+
+	; All comparisons passed, start a new itteratio of this loop.
+	BRA		TestLoop1
+
+RegTest1Error:
+	; A compare failed, just loop here so the loop counter stops incrementing
+	; causing the check task to indicate the error.
+	BRA RegTest1Error
+}
+/*-----------------------------------------------------------*/
+
+/* This function is explained in the comments at the top of this file. */
+#pragma inline_asm prvRegTest2Implementation
+static void prvRegTest2Implementation( void )
+{
+	; Put a known value in each register.
+	MOV.L	#10, R1
+	MOV.L	#20, R2
+	MOV.L	#30, R3
+	MOV.L	#40, R4
+	MOV.L	#50, R5
+	MOV.L	#60, R6
+	MOV.L	#70, R7
+	MOV.L	#80, R8
+	MOV.L	#90, R9
+	MOV.L	#100, R10
+	MOV.L	#110, R11
+	MOV.L	#120, R12
+	MOV.L	#130, R13
+	MOV.L	#140, R14
+	MOV.L	#150, R15
+
+	; Loop, checking on each itteration that each register still contains the
+	; expected value.
+TestLoop2:
+
+	; Push the registers that are going to get clobbered.
+	PUSHM	R14-R15
+
+	; Increment the loop counter to show this task is still getting CPU time.
+	MOV.L	#_ulRegTest2CycleCount, R14
+	MOV.L	[ R14 ], R15
+	ADD		#1, R15
+	MOV.L	R15, [ R14 ]
+
+	; Restore the clobbered registers.
+	POPM	R14-R15
+
+	CMP		#10, R1
+	BNE		RegTest2Error
+	CMP		#20, R2
+	BNE		RegTest2Error
+	CMP		#30, R3
+	BNE		RegTest2Error
+	CMP		#40, R4
+	BNE		RegTest2Error
+	CMP		#50, R5
+	BNE		RegTest2Error
+	CMP		#60, R6
+	BNE		RegTest2Error
+	CMP		#70, R7
+	BNE		RegTest2Error
+	CMP		#80, R8
+	BNE		RegTest2Error
+	CMP		#90, R9
+	BNE		RegTest2Error
+	CMP		#100, R10
+	BNE		RegTest2Error
+	CMP		#110, R11
+	BNE		RegTest2Error
+	CMP		#120, R12
+	BNE		RegTest2Error
+	CMP		#130, R13
+	BNE		RegTest2Error
+	CMP		#140, R14
+	BNE		RegTest2Error
+	CMP		#150, R15
+	BNE		RegTest2Error
+
+	; All comparisons passed, start a new itteratio of this loop.
+	BRA		TestLoop2
+
+RegTest2Error:
+	; A compare failed, just loop here so the loop counter stops incrementing
+	; - causing the check task to indicate the error.
+	BRA RegTest2Error
+}
+/*-----------------------------------------------------------*/
+
+char *pcGetTaskStatusMessage( void )
+{
+	/* Not bothered about a critical section here although technically because of
+	the task priorities the pointer could change it will be atomic if not near
+	atomic and its not critical. */
+	return ( char * ) pcStatusMessage;
+}
+/*-----------------------------------------------------------*/
+
+
+
diff --git a/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/switches.c b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/switches.c
new file mode 100644
index 0000000000..4fa19297ee
--- /dev/null
+++ b/Demo/RX200_RX210-RSK_Renesas/RTOSDemo/switches.c
@@ -0,0 +1,112 @@
+/* Kernel includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+#include "semphr.h"
+
+#include "iodefine.h"
+
+extern xQueueHandle SwitchQueue;
+
+// IRQ1
+#pragma interrupt (Excep_IRQ1(vect=65))
+void Excep_IRQ1(void);
+
+// IRQ3
+#pragma interrupt (Excep_IRQ3(vect=67))
+void Excep_IRQ3(void);
+
+// IRQ4
+#pragma interrupt (Excep_IRQ4(vect=68))
+void Excep_IRQ4(void);
+
+
+
+void SwitchSetup(void)
+{
+	/* Configure SW 1-3 pin settings */
+    PORT3.PDR.BIT.B1 = 0;		/* Switch 1 - Port 3.1 - IRQ1 */
+    PORT3.PDR.BIT.B3 = 0;		/* Switch 2 - Port 3.3 - IRQ3 */
+    PORT3.PDR.BIT.B4 = 0;		/* Switch 3 - Port 3.4 - IRQ4 */
+
+	PORT3.PMR.BIT.B1 = 1;
+	PORT3.PMR.BIT.B3 = 1;
+	PORT3.PMR.BIT.B4 = 1;
+	
+	MPC.PWPR.BIT.B0WI = 0;		// Writing to the PFSWE bit is enabled
+	MPC.PWPR.BIT.PFSWE = 1;		// Writing to the PFS register is enabled
+	MPC.P31PFS.BIT.ISEL = 1;
+	MPC.P33PFS.BIT.ISEL = 1;
+	MPC.P34PFS.BIT.ISEL = 1;
+
+	/* IRQ1	*/
+	ICU.IER[0x08].BIT.IEN1 = 1;	
+	ICU.IPR[65].BIT.IPR = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+	ICU.IR[65].BIT.IR = 0;
+	ICU.IRQCR[1].BIT.IRQMD = 1;	// falling edge
+	
+	/* IRQ3	*/
+	ICU.IER[0x08].BIT.IEN3 = 1;	
+	ICU.IPR[67].BIT.IPR = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+	ICU.IR[67].BIT.IR = 0;
+	ICU.IRQCR[3].BIT.IRQMD = 1;	// falling edge
+
+	/* IRQ4	*/
+	ICU.IER[0x08].BIT.IEN4 = 1;	
+	ICU.IPR[68].BIT.IPR = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
+	ICU.IR[68].BIT.IR = 0;
+	ICU.IRQCR[4].BIT.IRQMD = 1;	// falling edge
+	
+}
+
+void Excep_IRQ1(void)
+{
+	portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
+	static portTickType PreviousCount = 0;
+	portTickType CurrentCount;
+	static unsigned char ID_Switch1 = 1;
+	
+	CurrentCount = xTaskGetTickCount();
+	
+	if( (CurrentCount - PreviousCount) > (125 / portTICK_RATE_MS) )
+	{
+		xQueueSendToBackFromISR( SwitchQueue, &ID_Switch1, &xHigherPriorityTaskWoken);
+	}
+	PreviousCount = CurrentCount;
+    portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+}
+
+void Excep_IRQ3(void)
+{
+	static portTickType PreviousCount = 0;
+	portTickType CurrentCount;
+
+	portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
+	static unsigned char ID_Switch2 = 2;
+
+	CurrentCount = xTaskGetTickCount();
+	
+	if( (CurrentCount - PreviousCount) > (250 / portTICK_RATE_MS) )
+	{
+		xQueueSendToBackFromISR( SwitchQueue, &ID_Switch2, &xHigherPriorityTaskWoken);
+	}
+	PreviousCount = CurrentCount;
+    portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+}
+
+void Excep_IRQ4(void)
+{
+	static portTickType PreviousCount = 0;
+	portTickType CurrentCount;
+
+	portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
+	static unsigned char ID_Switch3 = 3;
+	
+	CurrentCount = xTaskGetTickCount();
+	
+	if( (CurrentCount - PreviousCount) > (125 / portTICK_RATE_MS) )
+	{
+		xQueueSendToBackFromISR( SwitchQueue, &ID_Switch3, &xHigherPriorityTaskWoken);
+	}
+	PreviousCount = CurrentCount;
+    portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
+}
\ No newline at end of file