diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/dbsct.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/dbsct.c
new file mode 100644
index 0000000000..b92493a478
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/dbsct.c
@@ -0,0 +1,83 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : dbsct.c
+* Device(s)	   : RX
+* Description  : Defines the structure of the ROM and RAM areas.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 26.10.2011 1.00     First Release
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+/* Defines type structures used in this file */
+#include <stdint.h>
+
+/* Preprocessor directive */
+#pragma unpack
+
+/* Section start */
+#pragma section C C$DSEC
+
+/* MCU ROM and RAM structure definition */
+extern const struct {
+    uint8_t *rom_s;       /* Start address of the initialized data section in ROM */
+    uint8_t *rom_e;       /* End address of the initialized data section in ROM   */
+    uint8_t *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") }
+};
+
+/* Section start */
+#pragma section C C$BSEC
+
+/* MCU ROM and RAM structure definition */
+extern const struct {
+    uint8_t *b_s;         /* Start address of non-initialized data section */
+    uint8_t *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") }
+};
+
+/* Section start */
+#pragma section
+
+/* CTBL prevents excessive output of L1100 messages when linking.
+   Even if CTBL is deleted, the operation of the program does not change. */
+uint8_t * const _CTBL[] = {
+    __sectop("C_1"), __sectop("C_2"), __sectop("C"),
+    __sectop("W_1"), __sectop("W_2"), __sectop("W")
+};
+
+/* Preprocessor directive */
+#pragma packoption
+
+/* This is to ensure compatibility with new L section in version 1.1 and up of the RXC compiler.  Do not remove! */
+#pragma section C L
+const unsigned long deadSpace = 0xDEADDEAD;
+#pragma section   
+
+
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/flash_options.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/flash_options.c
new file mode 100644
index 0000000000..a6be182d08
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/flash_options.c
@@ -0,0 +1,124 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : flash_options.c
+* Device(s)    : RX63x
+* Description  : Some options of the RX63x are set through registers that are found in ROM. These registers and options
+*                are defined in the 'Option-Setting Memory' section of the HW Manual. These memory locations are defined
+*                below with descriptions of what is being set.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 31.10.2011 1.00     First Release
+*         : 13.03.2012 1.10     USER_BOOT_ENABLE macro from r_bsp_config.h is now used to set Option-Setting Memory
+*                               area to boot into User Boot Mode.
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+/* Used for fixed-width typedefs. */
+#include <stdint.h>
+/* Determines whether user boot is used or not. */
+#include "platform.h"
+
+/* The UB Code A, UB Code B, and Endian select register B (MDEB) are located in the User Boot space. Immediately
+   following the MDEB register is the User Boot Reset Vector so it is defined below as well. These settings will only
+   be used when the MCU is reset in User Boot Mode. In order for the MCU to start up in User Boot Mode the following
+   conditions must be met:
+   1) UB code A is 55736572h and 426F6F74h.
+   2) UB code B is FFFF FF07h and 0008 C04Ch.
+   3) The low level is being input on the MD pin.
+   4) The high level is being input on the PC7 pin. 
+   Please see the Option-Setting Memory section of your MCU's HW manual for more information. */
+
+/* 0xFF7FFFE8 - 0xFF7FFFEF : UB Code A register  
+   0xFF7FFFF0 - 0xFF7FFFF7 : UB Code B register
+   0xFF7FFFF8 - 0xFF7FFFFB : MDEB register
+   0xFF7FFFFC - 0xFF7FFFFF : User Boot Reset Vector */
+
+#pragma address user_boot_settings = 0xFF7FFFE8
+
+#if USER_BOOT_ENABLE == 1
+extern void PowerON_Reset_PC(void);
+
+/* Use this array if you are using User Boot. Make sure to fill in valid address for UB Reset Vector. */
+const uint32_t user_boot_settings[6] = 
+{
+    0x55736572,                 //Required setting for UB Code A to get into User Boot
+    0x426f6f74,                 //Required setting for UB Code A to get into User Boot
+    0xffffff07,                 //Required setting for UB Code B to get into User Boot
+    0x0008c04c,                 //Required setting for UB Code B to get into User Boot
+    /* Choose endian for user application code
+       MDEB Register - Endian Select Register B
+       b31:b3 Reserved (set to 1)
+       b2:b0  MDE - Endian Select (0 = Big Endian, 7 = Little Endian) */                    
+    0xFFFFFFFF,                 //Select Little Endian for User Boot Code 
+    (uint32_t) PowerON_Reset_PC //This is the User Boot Reset Vector. When using User Boot put in the reset address here
+};
+#endif
+
+/* The Endian select register S (MDES), Option function select register 1 (OFS1), and Option function select register 0
+   (OFS0) are located in User ROM. */
+
+/* 0xFFFFFF80 - 0xFFFFFF83 : MDES register
+   0xFFFFFF84 - 0xFFFFFF87 : Reserved space (0xFF's)
+   0xFFFFFF88 - 0xFFFFFF8B : OFS1 register
+   0xFFFFFF8C - 0xFFFFFF8F : OFS0 register */
+
+#pragma address flash_options = 0xFFFFFF80
+
+const uint32_t flash_options[] = 
+{
+    /* Choose endian for user application code
+       MDES Register - Endian Select Register S
+       b31:b3 Reserved (set to 1)
+       b2:b0  MDE - Endian Select (0 = Big Endian, 7 = Little Endian) */
+    0xFFFFFFFF,     //Little Endian chosen for User Application
+    0xFFFFFFFF,     //Reserved space
+    /* Configure whether voltage detection 0 circuit and HOCO are enabled after reset. 
+       OFS1 - Option Function Select Register 1 
+       b31:b9 Reserved (set to 1)
+       b8     HOCOEN - Enable/disable HOCO oscillation after a reset (0=enable, 1=disable)
+       b7:b3  Reserved (set to 1)
+       b2     LVDAS - Choose to enable/disable Voltage Detection 0 Circuit after a reset (0=enable, 1=disable)
+       b1:b0  Reserved (set to 1) */
+    0xFFFFFFFF,     //Both are disabled.
+    /* Configure WDT and IWDT settings. 
+       OFS0 - Option Function Select Register 0 
+       b31:b29 Reserved (set to 1)
+       b28     WDTRSTIRQS - WDT Reset Interrupt Request - What to do on underflow (0=take interrupt, 1=reset MCU)
+       b27:b26 WDTRPSS - WDT Window Start Position Select - (0=25%, 1=50%, 2=75%, 3=100%,don't use)
+       b25:b24 WDTRPES - WDT Window End Position Select - (0=75%, 1=50%, 2=25%, 3=0%,don't use)
+       b23:b20 WDTCKS - WDT Clock Frequency Division Ratio - (1=/4, 4=/64, 0xF=/128, 6=/512, 7=/2048, 8=/8192)
+       b19:b18 WDTTOPS - WDT Timeout Period Select - (0=1024 cycles, 1=4096, 2=8192, 3=16384)
+       b17     WDTSTRT - WDT Start Mode Select - (0=auto-start after reset, halt after reset)
+       b16:b15 Reserved (set to 1)
+       b14     IWDTSLCSTP - IWDT Sleep Mode Count Stop Control - (0=can't stop count, 1=stop w/some low power modes)
+       b13     Reserved (set to 1)
+       b12     IWDTRSTIRQS - IWDT Reset Interrupt Request - What to do on underflow (0=take interrupt, 1=reset MCU)
+       b11:b10 IWDTRPSS - IWDT Window Start Position Select - (0=25%, 1=50%, 2=75%, 3=100%,don't use)
+       b9:b8   IWDTRPES - IWDT Window End Position Select - (0=75%, 1=50%, 2=25%, 3=0%,don't use)
+       b7:b4   IWDTCKS - IWDT Clock Frequency Division Ratio - (0=none, 2=/16, 3 = /32, 4=/64, 0xF=/128, 5=/256)
+       b3:b2   IWDTTOPS - IWDT Timeout Period Select - (0=1024 cycles, 1=4096, 2=8192, 3=16384)
+       b1      IWDTSTRT - IWDT Start Mode Select - (0=auto-start after reset, halt after reset)
+       b0      Reserved (set to 1) */
+    0xFFFFFFFF
+};
+
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/hwsetup.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/hwsetup.c
new file mode 100644
index 0000000000..3ce3a1a05a
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/hwsetup.c
@@ -0,0 +1,157 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : hwsetup.c
+* Device(s)    : RX
+* H/W Platform : RSK+RX63N
+* Description  : Defines the initialisation routines used each time the MCU is restarted.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 22.11.2011 1.00     First Release
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+/* I/O Register and board definitions */
+#include "platform.h"
+/* Contains delcarations for the functions defined in this file */
+#include "hwsetup.h"
+
+/***********************************************************************************************************************
+Private global variables and functions
+***********************************************************************************************************************/
+/* MCU I/O port configuration function delcaration */
+static void output_ports_configure(void);
+
+/* Interrupt configuration function delcaration */
+static void interrupts_configure(void);
+
+/* MCU peripheral module configuration function declaration */
+static void peripheral_modules_enable(void);
+
+
+/***********************************************************************************************************************
+* Function name: hardware_setup
+* Description  : Contains setup functions called at device restart
+* Arguments    : none
+* Return value : none
+***********************************************************************************************************************/
+void hardware_setup(void)
+{
+    output_ports_configure();
+    interrupts_configure();
+    peripheral_modules_enable();
+}
+
+/***********************************************************************************************************************
+* Function name: output_ports_configure
+* Description  : Configures the port and pin direction settings, and sets the pin outputs to a safe level.
+* Arguments    : none
+* Return value : none
+***********************************************************************************************************************/
+void output_ports_configure(void)
+{
+    /* Enable LEDs. */
+    /* Start with LEDs off. */
+    LED0 = LED_OFF;
+    LED1 = LED_OFF;
+    LED2 = LED_OFF;
+    LED3 = LED_OFF;
+
+    /* Set LED pins as outputs. */
+    LED0_PDR = 1;
+    LED1_PDR = 1;
+    LED2_PDR = 1;
+    LED3_PDR = 1;
+
+    /* Enable switches. */
+    /* Set pins as inputs. */
+    SW1_PDR = 0;
+    SW2_PDR = 0;
+    SW3_PDR = 0;
+
+    /* Set port mode registers for switches. */
+    SW1_PMR = 0;
+    SW2_PMR = 0;
+    SW3_PMR = 0;
+    
+    /* Initialize RSPI pins that are used with on-board SPI flash. */
+    /* Set pin outputs to low to begin with. */
+    PORT2.PODR.BIT.B7 = 0x00;    /* RSPCKB */
+    PORT2.PODR.BIT.B6 = 0x00;    /* MOSIB */
+    PORT3.PODR.BIT.B0 = 0x00;    /* MISOB */
+    PORT3.PODR.BIT.B1 = 0x00;    /* SSLB0 */
+    
+    /* All GPIO for now */
+    PORT2.PMR.BIT.B7 = 0x00;    
+    PORT2.PMR.BIT.B6 = 0x00;    
+    PORT3.PMR.BIT.B0 = 0x00;
+    PORT3.PMR.BIT.B1 = 0x00;
+
+    /* Unlock MPC registers to enable writing to them. */
+    MPC.PWPR.BIT.B0WI = 0 ;     /* Unlock protection register */
+    MPC.PWPR.BIT.PFSWE = 1 ;    /* Unlock MPC registers */
+        
+    /* Set MPC for RSPI pins */
+    MPC.P27PFS.BYTE = 0x0D;    
+    MPC.P26PFS.BYTE = 0x0D;    
+    MPC.P30PFS.BYTE = 0x0D;    
+    
+    /* RSPI pins assigned to RSPI peripheral. */
+    PORT2.PMR.BIT.B7 = 1;    
+    PORT2.PMR.BIT.B6 = 1;    
+    PORT3.PMR.BIT.B0 = 1;
+    PORT3.PMR.BIT.B1 = 1;    
+    
+    /* RSPCKB is output. */
+    PORT2.PDR.BIT.B7 = 1;
+    /* MOSIB is output. */
+    PORT2.PDR.BIT.B6 = 1;
+    /* MISOB is input. */
+    PORT3.PDR.BIT.B0 = 0;
+    /* SSLB0 is output. */
+    PORT3.PDR.BIT.B1 = 1;
+    
+    /* Configure the pin connected to the ADC Pot as an input */
+    PORT4.PDR.BIT.B0 = 0;
+}
+
+/***********************************************************************************************************************
+* Function name: interrupts_configure
+* Description  : Configures interrupts used
+* Arguments    : none
+* Return value : none
+***********************************************************************************************************************/
+void interrupts_configure(void)
+{
+    /* Add code here to setup additional interrupts */
+}
+
+/***********************************************************************************************************************
+* Function name: peripheral_modules_enable
+* Description  : Enables and configures peripheral devices on the MCU
+* Arguments    : none
+* Return value : none
+***********************************************************************************************************************/
+void peripheral_modules_enable(void)
+{
+    /* Add code here to enable peripherals used by the application */
+}
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/hwsetup.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/hwsetup.h
new file mode 100644
index 0000000000..35e0686334
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/hwsetup.h
@@ -0,0 +1,42 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : hwsetup.h
+* Description  : Hardware setup header file.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 26.10.2011 1.00     First Release
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+/* Multiple inclusion prevention macro */
+#ifndef HWSETUP_H
+#define HWSETUP_H
+
+/***********************************************************************************************************************
+Exported global functions (to be accessed by other files)
+***********************************************************************************************************************/
+/* Hardware setup funtion declaration */
+void hardware_setup(void);
+
+/* End of multiple inclusion prevention macro */
+#endif
\ No newline at end of file
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lcd.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lcd.c
new file mode 100644
index 0000000000..a09ac2de65
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lcd.c
@@ -0,0 +1,254 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : lcd.c
+* Device(s)    : RX
+* H/W Platform : RSK+RX63N
+* Description  : Provides variable and function declarations for lcd.c file
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 22.11.2011 1.00     First Release
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+/* Processor-specific details */
+#include <machine.h>
+/* Standard string manipulation & formatting functions */
+#include <stdio.h>
+#include <string.h>
+/* Defines standard variable types used in this function */
+#include <stdint.h>
+/* Bring in board includes. */
+#include "platform.h"
+/* Following header file provides function prototypes for LCD controlling functions & macro defines */
+#include "lcd.h"
+
+/***********************************************************************************************************************
+Private global variables and functions
+***********************************************************************************************************************/
+static void lcd_delay(volatile int32_t nsecs);
+static void lcd_nibble_write(uint8_t data_or_ctrl, uint8_t value);
+static void lcd_write(uint8_t data_or_ctrl, uint8_t value);
+
+/***********************************************************************************************************************
+* Function name : lcd_initialize
+* Description   : Initializes the LCD display. 
+* Arguments     : none
+* Return Value  : none
+***********************************************************************************************************************/
+void lcd_initialize(void)
+{
+    /* Set LCD data pins as outputs. */
+    PORT8.PDR.BYTE |= 0xF0;
+    
+    /* Set LCD control pins as outputs. */
+    RS_PIN_DDR = 1;
+    E_PIN_DDR = 1;
+	
+	/* Power Up Delay for the LCD Module */   	
+    lcd_delay(50000000);
+
+	/* Display initialises in 8 bit mode - so send one write (seen as 8 bit) to set to 4 bit mode. */
+	lcd_nibble_write(CTRL_WR, 0x03);
+    lcd_delay(5000000);
+	lcd_nibble_write(CTRL_WR, 0x03);
+    lcd_delay(5000000);
+	lcd_nibble_write(CTRL_WR, 0x03);
+	lcd_delay(5000000);
+    
+	/* Function Set */
+	lcd_nibble_write(CTRL_WR, 0x02);
+    lcd_delay(39000);    
+	lcd_nibble_write(CTRL_WR, 0x02);
+	lcd_nibble_write(CTRL_WR, (LCD_DISPLAY_ON | LCD_TWO_LINE ));
+    lcd_delay(39000);    
+ 
+	/* Display ON/OFF control */
+	lcd_write(CTRL_WR, LCD_CURSOR_OFF);
+    lcd_delay(39000);
+
+	/* Display Clear */
+	lcd_write(CTRL_WR, LCD_CLEAR);
+    lcd_delay(2000000);
+
+	/* Entry Mode Set */
+	lcd_write(CTRL_WR, 0x06);
+    lcd_delay(39000);
+
+    /* Home the cursor */
+	lcd_write(CTRL_WR, LCD_HOME_L1);
+    lcd_delay(5000000);    
+}
+
+/***********************************************************************************************************************
+* Function name : lcd_clear
+* Description   : Clears the LCD
+* Arguments     : none
+* Return Value  : none
+***********************************************************************************************************************/
+void lcd_clear(void)
+{
+	/* Display Clear */
+	lcd_write(CTRL_WR, LCD_CLEAR);
+    lcd_delay(2000000);    
+}
+
+/***********************************************************************************************************************
+* Function name : lcd_display
+* 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...
+*				   		lcd_display(LCD_LINE1 + 1, "Hello")
+* Arguments     : position - 
+*                     Line number of display
+*                 string - 
+*                     Pointer to null terminated string
+* Return Value  : none
+***********************************************************************************************************************/
+void lcd_display(uint8_t position, uint8_t const * string)
+{
+	/* Declare next position variable */
+	static uint8_t 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, ((uint8_t)(LCD_HOME_L1 + position)));
+		}
+		else
+		{
+			/* Display on Line 2 */
+		  	lcd_write(CTRL_WR, ((uint8_t)((LCD_HOME_L2 + position) - LCD_LINE2)));
+		}
+
+        lcd_delay(39000);
+
+		/* set position index to known value */
+		next_pos = position;		
+	}
+
+	do
+	{
+        /* Write character to LCD. */
+		lcd_write(DATA_WR,*string++);
+
+        lcd_delay(43000);
+		
+		/* Increment position index */
+		next_pos++;				
+	} 
+	while(*string);	
+}
+
+/***********************************************************************************************************************
+* Function name : lcd_delay
+* Description   : Implements LCD required delays.
+* Arguments     : nsecs - 
+*                     Number of nanoseconds to delay. RX600 has max clock of 100MHz which gives a cycle time of 10ns.
+*                     This means that nothing under 100ns should be input. 100ns would be 10 cycles which is still 
+*                     being optimistic for getting in and out of this function.
+* Return Value  : none
+***********************************************************************************************************************/
+static void lcd_delay(volatile int32_t nsecs)
+{
+    while (0 < nsecs)
+    {
+        /* Subtract off 10 cycles per iteration. This number was obtained when using the Renesas toolchain at 
+           optimization level 2. The number to nanoseconds to subtract off below is calculated off of the ICLK speed. */
+        nsecs -= (int32_t)((100.0)*(100000000.0/(float)ICLK_HZ));
+    }
+}
+
+/***********************************************************************************************************************
+* Function name : lcd_nibble_write
+* Description   : Writes data to display. Sends command to display. 
+* Arguments     : value - 
+*                     The value to write
+*                 data_or_ctrl -
+*                     Whether to write data or control.
+*                     1 = DATA
+*                     0 = CONTROL
+* Return Value  : none
+***********************************************************************************************************************/
+static void lcd_nibble_write(uint8_t data_or_ctrl, uint8_t value)
+{
+	/* Set Register Select pin high for Data */
+	if (data_or_ctrl == DATA_WR)
+	{
+        /* Data write. */
+        RS_PIN = 1;
+	}
+	else
+	{
+        /* Control write. */
+        RS_PIN = 0;
+	}
+	
+	/* tsu1 delay */
+    lcd_delay(60);    
+	
+  	/* EN enable chip (HIGH) */
+    E_PIN = 1;    
+	
+	/* Output the data */
+    PORT8.PODR.BYTE = (value << 4u);
+	
+	/* tw delay */	            
+    lcd_delay(450);    
+	
+	/* Latch data by dropping E */		
+    E_PIN = 0;
+	
+	/* th2 delay */				
+    lcd_delay(10);
+	
+	/* tc delay */
+    lcd_delay(480);
+}
+
+/***********************************************************************************************************************
+* Function name : lcd_write
+* 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...
+*				   		lcd_display(LCD_LINE1 + 1, "Hello") 
+* Arguments     : value - 
+*                     The value to write
+*                 data_or_ctrl -
+*                     Whether to write data or control.
+*                     1 = DATA
+*                     0 = CONTROL
+* Return Value  : none
+***********************************************************************************************************************/
+static void lcd_write(uint8_t data_or_ctrl, uint8_t value)
+{
+	/* Write upper nibble first */
+	lcd_nibble_write(data_or_ctrl, (uint8_t)((value & 0xF0) >> 4));
+	
+	/* Write lower nibble second */
+	lcd_nibble_write(data_or_ctrl, (uint8_t)(value & 0x0F));
+}
+
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lcd.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lcd.h
new file mode 100644
index 0000000000..51ddf6fc35
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lcd.h
@@ -0,0 +1,101 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : lcd.h
+* Device(s)    : RX
+* H/W Platform : RSKRX630
+* Description  : Provides variable and function declarations for lcd.c file
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 22.11.2011 1.00     First Release
+***********************************************************************************************************************/
+
+/* Multiple inclusion prevention macro */
+#ifndef LCD_H
+#define LCD_H
+
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+/* Defines standard integer variable types used in this file */
+#include <stdint.h>
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+/* RS register select pin */
+#define RS_PIN      PORTJ.PODR.BIT.B5
+#define RS_PIN_DDR  PORTJ.PDR.BIT.B5
+/* Display enable pin */	
+#define E_PIN       PORTF.PODR.BIT.B5
+#define E_PIN_DDR   PORTF.PDR.BIT.B5
+/* Data write/read definition */ 
+#define DATA_WR 1
+/* Control write/read definition */
+#define CTRL_WR 0
+/* Maximum characters per line of LCD display. */	
+#define NUMB_CHARS_PER_LINE	8
+/* Number of lines on the LCD display */
+#define MAXIMUM_LINES		2		
+/* Character position of LCD line 1 */
+#define LCD_LINE1 0
+/* Character position of LCD line 2 */
+#define LCD_LINE2 16
+/* 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     
+/* Enable LCD display */
+#define LCD_DISPLAY_ON   0x04
+/* Enable both LCD lines */
+#define LCD_TWO_LINE     0x08
+
+/***********************************************************************************************************************
+Exported global functions (to be accessed by other files)
+***********************************************************************************************************************/
+/* LCD initialisation function declaration */
+void lcd_initialize (void);
+
+/* Update display function declaration */
+void lcd_display(uint8_t position, uint8_t const * string);
+
+/* Clear LCD function delcaration */
+void lcd_clear (void);
+
+/* End of multiple inclusion prevention macro */
+#endif
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/locking.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/locking.c
new file mode 100644
index 0000000000..0e9e0fff47
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/locking.c
@@ -0,0 +1,118 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2011 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : locking.c
+* Description  : This implements a locking mechanism that can be used by all code. The locking is done atomically so
+*                common resources can be accessed safely.
+***********************************************************************************************************************/
+/**********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 07.03.2012 1.00     First Release
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+/* Fixed-size integer typedefs. */
+#include <stdint.h>
+/* bool support. */
+#include <stdbool.h>
+/* Has intrinsic support. Includes xchg() which is used in this code. */
+#include <machine.h>
+/* Includes board and MCU related header files. */
+#include "platform.h"
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Typedef definitions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Exported global variables (to be accessed by other files)
+***********************************************************************************************************************/
+ 
+/***********************************************************************************************************************
+Private global variables and functions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+* Function Name: R_BSP_Lock
+* Description  : Attempt to acquire the lock that has been sent in.
+* Arguments    : plock -
+*                    Pointer to lock structure with lock to try and acquire.
+* Return Value : true -
+*                    Lock was acquired.
+*                false -
+*                    Lock was not acquired.
+***********************************************************************************************************************/
+bool R_BSP_Lock(bsp_lock_t * plock)
+{
+    bool ret = false;
+
+    /* Variable used in trying to acquire lock. Using the xchg instruction makes this atomic */
+    int32_t is_locked = true;
+    
+    /* This example uses the RX MCU's atomic xchg() instruction. plock->lock is the lock we are trying to reserve. 
+       The way this works is that 'is_locked' gets the value of the plock->lock and plock->lock gets the value of 
+       'is_locked' which we just set to 'true'. Basically this is an atomic 'swap' command. If the lock had not yet been 
+       reserved then its value would be 'false' and after the xchg() instruction finished 'is_locked' would have 
+       'false'. If it had already been reserved then 'is_locked' would have 'true' after the xchg() instruction. Since 
+       plock->lock was already 'true' and we just set it back to 'true' everything is ok. To see if we reserved the lock 
+       we just need to check the value of 'is_locked' after this instruction finishes. */
+
+    /* Try to acquire semaphore to obtain lock */
+    xchg(&is_locked, &plock->lock);
+    
+    /* Check to see if semaphore was successfully taken */
+    if (is_locked == false)
+    {        
+        /* Lock obtained, return success. */
+        ret = true;
+    }
+    else
+    {
+        /* Lock was not obtained, another task already has it. */
+    }
+
+    return ret;   
+} /* End of function R_BSP_Lock() */
+
+
+/***********************************************************************************************************************
+* Function Name: R_BSP_Unlock
+* Description  : Release hold on lock.
+* Arguments    : plock -
+*                    Pointer to lock structure with lock to release.
+* Return Value : true -
+*                    Lock was released.
+*                false -
+*                    Lock was not released.
+***********************************************************************************************************************/
+bool R_BSP_Unlock(bsp_lock_t * plock)
+{
+    /* Set lock back to unlocked. */
+    plock->lock = false;
+
+    return true;
+} /* End of function R_BSP_Unlock() */
+
+
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/locking.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/locking.h
new file mode 100644
index 0000000000..454ce4776b
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/locking.h
@@ -0,0 +1,63 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2011 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : locking.h
+* Description  : This implements a locking mechanism that can be used by all code. The locking is done atomically so
+*                common resources can be accessed safely.
+***********************************************************************************************************************/
+/**********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 07.03.2012 1.00     First Release
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+/* Fixed-size integer typedefs. */
+#include <stdint.h>
+/* bool support. */
+#include <stdbool.h>
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Typedef definitions
+***********************************************************************************************************************/
+typedef struct
+{
+    /* The actual lock. int32_t is used because this is what the xchg() instruction takes as parameters. */
+    int32_t     lock;
+    /* Could add a ID for locking and unlocking. In this could protect against any function being able to unlock. */
+} bsp_lock_t;
+
+/***********************************************************************************************************************
+Exported global variables
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Exported global functions (to be accessed by other files)
+***********************************************************************************************************************/
+bool R_BSP_Lock(bsp_lock_t * plock);
+bool R_BSP_Unlock(bsp_lock_t * plock);
+
+
+
+
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lowlvl.src b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lowlvl.src
new file mode 100644
index 0000000000..a75845e40e
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lowlvl.src
@@ -0,0 +1,54 @@
+;-----------------------------------------------------------------------
+;
+; 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
+                .END
+
+
+
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/lowsrc.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lowsrc.c
similarity index 80%
rename from Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/lowsrc.c
rename to Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lowsrc.c
index 2d02ccad94..ad9f32ce45 100644
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/lowsrc.c
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/lowsrc.c
@@ -1,39 +1,42 @@
-/***********************************************************************/
-/*                                                                     */
-/*  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.                                    */
-/*                                                                     */
-/***********************************************************************/
-                  
-
-
-/*********************************************************************
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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 
 *
-* 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. 
-*
-*********************************************************************/
-
+* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : lowsrc.c
+* Description  : Functions to support stream I/O
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 26.10.2011 1.00     First Release
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
 #include <string.h>
 #include <stdio.h>
 #include <stddef.h>
-#include "lowsrc.h"
 
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+/*Number of I/O Stream*/
+#define IOSTREAM 20
+
 /* file number */
 #define STDIN  0                    /* Standard input (console)        */
 #define STDOUT 1                    /* Standard output (console)       */
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/mcu_info.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/mcu_info.h
new file mode 100644
index 0000000000..bf33ebcde4
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/mcu_info.h
@@ -0,0 +1,59 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : mcu_info.h
+* Device(s)    : RX
+* H/W Platform : RSK+RX63N
+* Description  : Information about the MCU on this board.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 28.11.2011 1.00     First Release
+*         : 13.03.2012 1.10     System clock speeds are now calculated from macros in r_bsp_config.h. 
+***********************************************************************************************************************/
+
+#ifndef _MCU_INFO
+#define _MCU_INFO
+
+/* MCU that is used. */
+#define MCU_RX63N           (1)
+
+/* Package. */
+#define PACKAGE_LQFP176     (1)
+
+/* Memory size of your MCU. */
+#define ROM_SIZE_BYTES      (1048576)
+#define RAM_SIZE_BYTES      (131072)
+#define DF_SIZE_BYTES       (32768)
+
+/* System clock speed in Hz. */
+#define ICLK_HZ             (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV)
+/* Peripheral Module Clock A speed in Hz. Used for ETHERC and EDMAC. */
+#define PCLKA_HZ            (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKA_DIV)
+/* Peripheral Module Clock B speed in Hz. */
+#define PCLKB_HZ            (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV)
+/* External bus clock speed in Hz. */
+#define BCLK_HZ             (((XTAL_HZ/PLL_DIV) * PLL_MUL) / BCK_DIV)
+/* FlashIF clock speed in Hz. */
+#define FCLK_HZ             (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV)
+/* USB clock speed in Hz. */
+#define UCLK_HZ             (((XTAL_HZ/PLL_DIV) * PLL_MUL) / UCK_DIV) 
+
+#endif /* _MCU_INFO */
+
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/r_bsp.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/r_bsp.h
new file mode 100644
index 0000000000..3a97faf036
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/r_bsp.h
@@ -0,0 +1,54 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : r_bsp.h
+* H/W Platform : RSK+RX63N
+* Description  : Has the header files that should be included for this platform.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 13.01.2012 1.00     First Release
+*         : 13.03.2012 1.10     Added locking.h and r_bsp_config.h #includes. Removed sbrk.h since heap size is not
+*                               defined in r_bsp_config.h.
+***********************************************************************************************************************/
+
+#ifndef PLATFORM_BOARD_RSKRX63N
+#define PLATFORM_BOARD_RSKRX63N
+
+/* Make sure that no other platforms have already been defined. Do not touch this! */
+#ifdef  PLATFORM_DEFINED
+#error  "Error - Multiple platforms defined in platform.h!"
+#else
+#define PLATFORM_DEFINED
+#endif
+
+/***********************************************************************************************************************
+INCLUDE APPROPRIATE MCU AND BOARD FILES
+***********************************************************************************************************************/
+#include    "r_bsp_config.h"
+#include    ".\mcu\rx63n\iodefine.h"
+#include    ".\board\rskrx63n\rskrx63n.h"
+#include    ".\board\rskrx63n\mcu_info.h"
+#include    ".\board\rskrx63n\hwsetup.h"
+#include    ".\board\rskrx63n\lcd.h"
+#include    ".\board\rskrx63n\locking.h"
+
+#endif /* PLATFORM_BOARD_RSKRX63N */
+
+
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/resetprg.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/resetprg.c
new file mode 100644
index 0000000000..fab97296f1
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/resetprg.c
@@ -0,0 +1,409 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : resetprg.c
+* Device(s)    : RX63x
+* Description  : Defines post-reset routines that are used to configure the MCU prior to the main program starting. 
+*                This is were the program counter starts on power-up or reset.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 26.10.2011 1.00     First Release
+*         : 13.03.2012 1.10     Stack sizes are now defined in r_bsp_config.h. Because of this the #include for 
+*                               stacksct.h was removed. Settings for SCKCR are now set in r_bsp_config.h and used here
+*                               to setup clocks based on user settings.
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+/* Defines machine level functions used in this file */
+#include    <machine.h>
+/* Defines MCU configuration functions used in this file */
+#include    <_h_c_lib.h>
+/* Defines standard variable types used in this file */
+#include    <stdbool.h>
+#include    <stdint.h>
+
+/* This macro is here so that the stack will be declared here. This is used to prevent multiplication of stack size. */
+#define     BSP_DECLARE_STACK
+/* Define the target platform */
+#include    "platform.h"
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+#define PSW_init  (0x00030000)
+#define FPSW_init (0x00000100)
+
+/***********************************************************************************************************************
+Pre-processor Directives
+***********************************************************************************************************************/
+/* Declare the contents of the function 'Change_PSW_PM_to_UserMode' as
+   assembler to the compiler */
+#pragma inline_asm Change_PSW_PM_to_UserMode
+
+/* Set this as the entry point from a power-on reset */
+#pragma entry PowerON_Reset_PC
+
+/***********************************************************************************************************************
+External function Prototypes
+***********************************************************************************************************************/
+/* Functions to setup I/O library */
+extern void _INIT_IOLIB(void);
+extern void _CLOSEALL(void);
+
+/***********************************************************************************************************************
+Private global variables and functions
+***********************************************************************************************************************/
+/* Power-on reset function declaration */
+void PowerON_Reset_PC(void);
+
+#if RUN_IN_USER_MODE==1
+    #if __RENESAS_VERSION__ < 0x01010000
+    /* MCU usermode switcher function declaration */
+    static void Change_PSW_PM_to_UserMode(void);
+    #endif
+#endif
+
+/* Main program function delcaration */
+void main(void);
+static void operating_frequency_set(void);
+
+/***********************************************************************************************************************
+* Function name: PowerON_Reset_PC
+* Description  : This function is the MCU's entry point from a power-on reset.
+*                The following steps are taken in the startup code:
+*                1. The User Stack Pointer (USP) and Interrupt Stack Pointer (ISP) are both set immediately after entry 
+*                   to this function. The USP and ISP stack sizes are set in the file stacksct.h.
+*                   Default sizes are USP=4K and ISP=1K.
+*                2. The interrupt vector base register is set to point to the beginning of the relocatable interrupt 
+*                   vector table.
+*                3. The MCU is setup for floating point operations by setting the initial value of the Floating Point 
+*                   Status Word (FPSW).
+*                4. The MCU operating frequency is set by configuring the Clock Generation Circuit (CGC) in
+*                   operating_frequency_set.
+*                5. Calls are made to functions to setup the C runtime environment which involves initializing all 
+*                   initialed data, zeroing all uninitialized variables, and configuring STDIO if used
+*                   (calls to _INITSCT and _INIT_IOLIB).
+*                6. Board-specific hardware setup, including configuring I/O pins on the MCU, in hardware_setup.
+*                7. Global interrupts are enabled by setting the I bit in the Program Status Word (PSW), and the stack 
+*                   is switched from the ISP to the USP.  The initial Interrupt Priority Level is set to zero, enabling 
+*                   any interrupts with a priority greater than zero to be serviced.
+*                8. The processor is optionally switched to user mode.  To run in user mode, set the macro 
+*                   RUN_IN_USER_MODE above to a 1.
+*                9. The bus error interrupt is enabled to catch any accesses to invalid or reserved areas of memory.
+*
+*                Once this initialization is complete, the user's main() function is called.  It should not return.
+* Arguments    : none
+* Return value : none
+***********************************************************************************************************************/
+void PowerON_Reset_PC(void)
+{
+    /* Stack pointers are setup prior to calling this function - see comments above */    
+    
+    /* Initialise the MCU processor word */
+#if __RENESAS_VERSION__ >= 0x01010000    
+    set_intb((void *)__sectop("C$VECT"));
+#else
+    set_intb((unsigned long)__sectop("C$VECT"));
+#endif    
+
+    /* Initialize FPSW for floating-point operations */
+#ifdef __ROZ
+#define _ROUND 0x00000001  /* Let FPSW RMbits=01 (round to zero) */
+#else 
+#define _ROUND 0x00000000  /* Let FPSW RMbits=00 (round to nearest) */
+#endif 
+#ifdef __DOFF 
+#define _DENOM 0x00000100  /* Let FPSW DNbit=1 (denormal as zero) */
+#else 
+#define _DENOM 0x00000000  /* Let FPSW DNbit=0 (denormal as is) */
+#endif 
+    set_fpsw(FPSW_init | _ROUND | _DENOM); 
+    
+    /* Switch to high-speed operation */
+    operating_frequency_set();
+
+    /* Initialize C runtime environment */
+    _INITSCT();
+
+    /* Comment this out if not using I/O lib */
+    _INIT_IOLIB();
+
+    /* Configure the MCU and YRDK hardware */
+    hardware_setup();
+
+    /* Change the MCU's usermode from supervisor to user */        
+    nop();
+    set_psw(PSW_init);      
+#if RUN_IN_USER_MODE==1
+    /* Use chg_pmusr() intrinsic if possible. */
+    #if __RENESAS_VERSION__ >= 0x01010000
+    chg_pmusr() ;
+    #else
+    Change_PSW_PM_to_UserMode();
+    #endif
+#endif
+
+
+    /* Enable the bus error interrupt to catch accesses to illegal/reserved areas of memory */
+    /* The ISR for this interrupt can be found in vecttbl.c in the function "bus_error_isr" */
+    /* Clear any pending interrupts */
+    IR(BSC,BUSERR) = 0;
+    /* Make this the highest priority interrupt (adjust as necessary for your application */
+    IPR(BSC,BUSERR) = 0x0F; 
+    /* Enable the interrupt in the ICU*/
+    IEN(BSC,BUSERR) = 1; 
+    /* Enable illegal address interrupt in the BSC */
+    BSC.BEREN.BIT.IGAEN = 1;
+
+    /* Call the main program function (should not return) */
+    main();
+    
+    /* Comment this out if not using I/O lib - cleans up open files */
+    _CLOSEALL();
+
+    while(1)
+    {
+        /* Infinite loop. Put a breakpoint here if you want to catch an exit of main(). */
+    }
+}
+
+/***********************************************************************************************************************
+* Function name: operating_frequency_set
+* Description  : Configures the clock settings for each of the device clocks
+* Arguments    : none
+* Return value : none
+***********************************************************************************************************************/
+void operating_frequency_set(void)
+{
+    /* Used for constructing value to write to SCKCR register. */
+    uint32_t temp_clock = 0;
+    
+    /* 
+    Clock Description              Frequency
+    ----------------------------------------
+    Input Clock Frequency............  12 MHz
+    PLL frequency (x16).............. 192 MHz
+    Internal Clock Frequency.........  96 MHz    
+    Peripheral Clock Frequency.......  48 MHz
+    USB Clock Frequency..............  48 MHz
+    External Bus Clock Frequency.....  24 MHz */
+
+	volatile unsigned int i;
+
+    /* Protect off. */
+    SYSTEM.PRCR.WORD = 0xA50B;			
+	
+    /* Uncomment if not using sub-clock */
+	//SYSTEM.SOSCCR.BYTE = 0x01;          /* stop sub-clock */
+    SYSTEM.SOSCCR.BYTE = 0x00;			/* Enable sub-clock for RTC */
+
+    /* Wait 131,072 cycles * 12 MHz = 10.9 ms */
+    SYSTEM.MOSCWTCR.BYTE = 0x0D;		
+
+    /* PLL wait is 4,194,304 cycles (default) * 192 MHz (12 MHz * 16) = 20.1 ms*/
+    SYSTEM.PLLWTCR.BYTE = 0x0F;			
+
+    /* Set PLL Input Divisor. */
+    SYSTEM.PLLCR.BIT.PLIDIV = PLL_DIV >> 1;
+
+    /* Set PLL Multiplier. */
+    SYSTEM.PLLCR.BIT.STC = PLL_MUL - 1;
+
+    /* EXTAL ON */
+    SYSTEM.MOSCCR.BYTE = 0x00;			
+
+    /* PLL ON */
+    SYSTEM.PLLCR2.BYTE = 0x00;			
+
+	for(i = 0;i< 0x168;i++)             
+    {
+        /* Wait over 12ms */
+        nop() ;
+	}
+
+    /* Figure out setting for FCK bits. */
+#if   FCK_DIV == 1
+    /* Do nothing since FCK bits should be 0. */
+#elif FCK_DIV == 2
+    temp_clock |= 0x10000000;
+#elif FCK_DIV == 4
+    temp_clock |= 0x20000000;
+#elif FCK_DIV == 8
+    temp_clock |= 0x30000000;
+#elif FCK_DIV == 16
+    temp_clock |= 0x40000000;
+#elif FCK_DIV == 32
+    temp_clock |= 0x50000000;
+#elif FCK_DIV == 64
+    temp_clock |= 0x60000000;
+#else
+    #error "Error! Invalid setting for FCK_DIV in r_bsp_config.h"
+#endif
+
+    /* Figure out setting for ICK bits. */
+#if   ICK_DIV == 1
+    /* Do nothing since ICK bits should be 0. */
+#elif ICK_DIV == 2
+    temp_clock |= 0x01000000;
+#elif ICK_DIV == 4
+    temp_clock |= 0x02000000;
+#elif ICK_DIV == 8
+    temp_clock |= 0x03000000;
+#elif ICK_DIV == 16
+    temp_clock |= 0x04000000;
+#elif ICK_DIV == 32
+    temp_clock |= 0x05000000;
+#elif ICK_DIV == 64
+    temp_clock |= 0x06000000;
+#else
+    #error "Error! Invalid setting for ICK_DIV in r_bsp_config.h"
+#endif
+
+    /* SDCLK Pin Output and BCLK Pin Output are disabled by default. */
+    temp_clock |= 0x00C00000;
+
+    /* Figure out setting for BCK bits. */
+#if   BCK_DIV == 1
+    /* Do nothing since BCK bits should be 0. */
+#elif BCK_DIV == 2
+    temp_clock |= 0x00010000;
+#elif BCK_DIV == 4
+    temp_clock |= 0x00020000;
+#elif BCK_DIV == 8
+    temp_clock |= 0x00030000;
+#elif BCK_DIV == 16
+    temp_clock |= 0x00040000;
+#elif BCK_DIV == 32
+    temp_clock |= 0x00050000;
+#elif BCK_DIV == 64
+    temp_clock |= 0x00060000;
+#else
+    #error "Error! Invalid setting for BCK_DIV in r_bsp_config.h"
+#endif
+
+    /* Figure out setting for PCKA bits. */
+#if   PCKA_DIV == 1
+    /* Do nothing since PCKA bits should be 0. */
+#elif PCKA_DIV == 2
+    temp_clock |= 0x00001000;
+#elif PCKA_DIV == 4
+    temp_clock |= 0x00002000;
+#elif PCKA_DIV == 8
+    temp_clock |= 0x00003000;
+#elif PCKA_DIV == 16
+    temp_clock |= 0x00004000;
+#elif PCKA_DIV == 32
+    temp_clock |= 0x00005000;
+#elif PCKA_DIV == 64
+    temp_clock |= 0x00006000;
+#else
+    #error "Error! Invalid setting for PCKA_DIV in r_bsp_config.h"
+#endif
+
+    /* Figure out setting for PCKB bits. */
+#if   PCKB_DIV == 1
+    /* Do nothing since PCKB bits should be 0. */
+#elif PCKB_DIV == 2
+    temp_clock |= 0x00000100;
+#elif PCKB_DIV == 4
+    temp_clock |= 0x00000200;
+#elif PCKB_DIV == 8
+    temp_clock |= 0x00000300;
+#elif PCKB_DIV == 16
+    temp_clock |= 0x00000400;
+#elif PCKB_DIV == 32
+    temp_clock |= 0x00000500;
+#elif PCKB_DIV == 64
+    temp_clock |= 0x00000600;
+#else
+    #error "Error! Invalid setting for PCKB_DIV in r_bsp_config.h"
+#endif
+
+    /* Bottom byte of SCKCR register must be set to 0x11 */
+    temp_clock |= 0x00000011;
+
+    /* Set SCKCR register. */
+    SYSTEM.SCKCR.LONG = temp_clock;
+    
+    /* Re-init temp_clock to use to set SCKCR2. */
+    temp_clock = 0;
+
+    /* Figure out setting for IEBCK bits. */
+#if   IEBCK_DIV == 2
+    temp_clock |= 0x00000001;
+#elif IEBCK_DIV == 4
+    temp_clock |= 0x00000002;
+#elif IEBCK_DIV == 6
+    temp_clock |= 0x0000000C;
+#elif IEBCK_DIV == 8
+    temp_clock |= 0x00000003;
+#elif IEBCK_DIV == 16
+    temp_clock |= 0x00000004;
+#elif IEBCK_DIV == 32
+    temp_clock |= 0x00000005;
+#elif IEBCK_DIV == 64
+    temp_clock |= 0x00000006;
+#else
+    #error "Error! Invalid setting for IEBCK_DIV in r_bsp_config.h"
+#endif
+
+    /* Figure out setting for UCK bits. */
+#if   UCK_DIV == 3
+    temp_clock |= 0x00000020;
+#elif UCK_DIV == 4
+    temp_clock |= 0x00000030;
+#else
+    #error "Error! Invalid setting for UCK_DIV in r_bsp_config.h"
+#endif
+
+    /* Set SCKCR2 register. */
+    SYSTEM.SCKCR2.WORD = (uint16_t)temp_clock;
+
+    /* Choose clock source. Default for r_bsp_config.h is PLL. */
+    SYSTEM.SCKCR3.WORD = ((uint16_t)CLOCK_SOURCE) << 8;
+
+    /* Protect on. */
+    SYSTEM.PRCR.WORD = 0xA500;			
+}
+
+/***********************************************************************************************************************
+* Function name: Change_PSW_PM_to_UserMode
+* Description  : Assembler function, used to change the MCU's usermode from supervisor to user.
+* Arguments    : none
+* Return value : none
+***********************************************************************************************************************/
+#if RUN_IN_USER_MODE==1
+    #if __RENESAS_VERSION__ < 0x01010000
+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
+}
+    #endif
+#endif
\ No newline at end of file
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/rskrx63n.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/rskrx63n.h
new file mode 100644
index 0000000000..6699734166
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/rskrx63n.h
@@ -0,0 +1,65 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : rskrx63n.h
+* H/W Platform : RSK+RX63N
+* Description  : Board specific definitions for the RSKRX630.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 28.11.2011 1.00     First Release
+***********************************************************************************************************************/
+
+#ifndef RSKRX63N_H
+#define RSKRX63N_H
+
+/* Local defines */
+#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)
+
+/* Switches */
+#define SW_ACTIVE           0
+#define	SW1 			    PORT3.PIDR.BIT.B2
+#define SW2 			    PORT0.PIDR.BIT.B0
+#define SW3 			    PORT0.PIDR.BIT.B7
+#define SW1_PDR			    PORT3.PDR.BIT.B2
+#define SW2_PDR			    PORT0.PDR.BIT.B0
+#define SW3_PDR			    PORT0.PDR.BIT.B7
+#define SW1_PMR			    PORT3.PMR.BIT.B2
+#define SW2_PMR			    PORT0.PMR.BIT.B0
+#define SW3_PMR			    PORT0.PMR.BIT.B7
+
+/* LEDs */
+#define	LED0			    PORT0.PODR.BIT.B3
+#define	LED1			    PORT0.PODR.BIT.B5
+#define	LED2			    PORT1.PODR.BIT.B0
+#define	LED3			    PORT1.PODR.BIT.B1
+#define	LED0_PDR		    PORT0.PDR.BIT.B3
+#define	LED1_PDR		    PORT0.PDR.BIT.B5
+#define	LED2_PDR		    PORT1.PDR.BIT.B0
+#define	LED3_PDR		    PORT1.PDR.BIT.B1
+
+/* Slave select. */
+#define FLASH_CS            PORT3.PDR.BIT.B1        // SSLB0
+
+#endif /* RSKRX63N_H */
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/sbrk.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/sbrk.c
new file mode 100644
index 0000000000..ef29b31907
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/sbrk.c
@@ -0,0 +1,96 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : sbrk.c
+* Device(s)    : RX
+* Description  : Configures the MCU heap memory.  The size of the heap is defined by the macro HEAPSIZE below.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 26.10.2011 1.00     First Release
+*         : 12.03.2012 1.10     Heap size is now defined in r_bsp_config.h, not sbrk.h.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+/* Provides standard definitions used in this file */
+#include <stddef.h>
+/* Defines standard input/output functions used in this file */
+#include <stdio.h>
+/* Defines standard variable types used in this file */
+#include <stdint.h>
+/* Used for getting HEAP_BYTES macro. */
+#include "platform.h"
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Function Prototypes
+***********************************************************************************************************************/
+/* Memory allocation function prototype declaration */
+int8_t  *sbrk(size_t size);
+
+/***********************************************************************************************************************
+Global Variables
+***********************************************************************************************************************/
+//const size_t _sbrk_size=      /* Specifies the minimum unit of */
+/* the defined heap area */
+extern int8_t *_s1ptr;
+
+union HEAP_TYPE
+{
+    int32_t  dummy;             /* Dummy for 4-byte boundary */
+    int8_t heap[HEAP_BYTES];    /* Declaration of the area managed by sbrk*/
+};
+/* Declare memory heap area */
+static union HEAP_TYPE heap_area;
+/* End address allocated by sbrk    */
+static int8_t *brk=(int8_t *)&heap_area;
+
+/***********************************************************************************************************************
+* Function name: sbrk
+* Description  : This function configures MCU memory area allocation.
+* Arguments    : size - 
+*                    assigned area size
+* Return value : Start address of allocated area (pass)
+*                -1 (failure)
+***********************************************************************************************************************/
+int8_t  *sbrk(size_t size)                      
+{
+    int8_t  *p;
+
+    if (brk+size > heap_area.heap+HEAP_BYTES)
+    {
+        /* Empty area size  */
+        p = (int8_t *)-1;
+    }
+    else
+    {
+        /* Area assignment */
+        p = brk;  
+
+        /* End address update */                           
+        brk += size;                           
+    }
+
+    /* Return result */
+    return p;
+}
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/vecttbl.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/vecttbl.c
new file mode 100644
index 0000000000..e528b1fd55
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/board/rskrx63n/vecttbl.c
@@ -0,0 +1,186 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : vecttbl.c
+* Device(s)    : RX
+* Description  : Definition of the fixed vector table
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 26.10.2011 1.00     First Release
+*         : 17.02.2012 1.10     Made function names compliant with CS v4.0
+*         : 13.03.2012 1.20     ID Code is now specified in r_bsp_config.h. It is still used here in Fixed_Vectors[].
+***********************************************************************************************************************/
+
+/***********************************************************************************************************************
+Includes   <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+#include <stdint.h>
+#include <machine.h>
+#include "platform.h"
+
+/***********************************************************************************************************************
+* Function name: PowerON_Reset_PC
+* Description  : The reset vector points to this function.  Code execution starts in this function after reset.
+* Arguments    : none
+* Return value : none
+***********************************************************************************************************************/
+extern void PowerON_Reset_PC(void);                                                                                                                
+
+/***********************************************************************************************************************
+* Function name: excep_supervisor_inst_isr
+* Description  : Supervisor Instruction Violation ISR
+* Arguments    : none
+* Return Value : none
+***********************************************************************************************************************/
+#pragma interrupt (excep_supervisor_inst_isr)
+void excep_supervisor_inst_isr(void)
+{
+    /* Add your own code here to handle this exception */
+    nop();
+}
+
+/***********************************************************************************************************************
+* Function name: excep_undefined_inst_isr
+* Description  : Undefined instruction exception ISR
+* Arguments    : none
+* Return Value : none
+***********************************************************************************************************************/
+#pragma interrupt (excep_undefined_inst_isr)
+void excep_undefined_inst_isr(void)
+{
+    /* Add your own code here to handle this exception */
+    nop();
+}
+
+/***********************************************************************************************************************
+* Function name: excep_floating_point_isr
+* Description  : Floating point exception ISR
+* Arguments    : none
+* Return Value : none
+***********************************************************************************************************************/
+#pragma interrupt (excep_floating_point_isr)
+void excep_floating_point_isr(void)
+{
+    /* Add your own code here to handle this exception */
+    nop();
+}
+
+/***********************************************************************************************************************
+* Function name: non_maskable_isr
+* Description  : Non-maskable interrupt ISR
+* Arguments    : none
+* Return Value : none
+***********************************************************************************************************************/
+#pragma interrupt (non_maskable_isr)
+void non_maskable_isr(void)
+{
+    /* Add your own code here to handle this exception */
+    nop();
+}
+
+/***********************************************************************************************************************
+* Function name: undefined_interrupt_source_isr
+* Description  : All undefined interrupt vectors point to this function.
+*                Set a breakpoint in this function to determine which source is creating unwanted interrupts.
+* Arguments    : none
+* Return Value : none
+***********************************************************************************************************************/
+#pragma interrupt (undefined_interrupt_source_isr)
+void undefined_interrupt_source_isr(void)
+{
+    /* Add your own code here to handle this exception */
+    nop();
+}
+
+/***********************************************************************************************************************
+* Function name: bus_error_isr
+* Description  : By default, this demo code enables the Bus Error Interrupt. This interrupt will fire if the user tries 
+*                to access code or data from one of the reserved areas in the memory map, including the areas covered 
+*                by disabled chip selects. A nop() statement is included here as a convenient place to set a breakpoint 
+*                during debugging and development, and further handling should be added by the user for their 
+*                application.
+* Arguments    : none
+* Return value : none
+***********************************************************************************************************************/
+#pragma interrupt (bus_error_isr(vect=VECT(BSC,BUSERR)))
+void bus_error_isr (void)
+{
+    /* 
+        To find the address that was accessed when the bus error occured, read the register BSC.BERSR2.WORD.  The upper 
+        13 bits of this register contain the upper 13-bits of the offending address (in 512K byte units)
+    */
+    
+    /* Add your own code here to handle this interrupt */
+    nop();
+}
+
+/***********************************************************************************************************************
+* The following array fills in the fixed vector table and the code
+* protecction ID bytes.
+***********************************************************************************************************************/
+#pragma section C FIXEDVECT
+
+void* const Fixed_Vectors[] = {
+    
+/* 0xffffff90 through 0xffffff9f: Reserved area - must be all 0xFF */
+  (void *)0xFFFFFFFF,   /* 0xffffff90 - Reserved */
+  (void *)0xFFFFFFFF,   /* 0xffffff94 - Reserved */
+  (void *)0xFFFFFFFF,   /* 0xffffff98 - Reserved */
+
+/* The 32-bit area immediately below (0xffffff9c through 0xffffff9f) is a special area that allows the ROM to be 
+   protected from reading or writing by a parallel programmer. Please refer to the HW manual for appropriate settings.
+   The default (all 0xff) places no restrictions and therefore allows reads and writes by a parallel programmer. */
+  (void *)0xFFFFFFFF,   /* 0xffffff9C - ROM Code Protection */
+
+/* The memory are immediately below (0xffffffa0 through 0xffffffaf) is a special area that allows the on-chip firmware 
+   to be protected. See the section "ID Code Protection" in the HW manual for details on how to enable protection.  
+   Setting the four long words below to non-0xFF values will enable protection.  Do this only after carefully review 
+   the HW manual */
+   
+/* 0xffffffA0 through 0xffffffaf: ID Code Protection. The ID code is specified using macros in r_bsp_config.h.  */
+  (void *) ID_CODE_LONG_1,  /* 0xffffffA0 - Control code and ID code */
+  (void *) ID_CODE_LONG_2,  /* 0xffffffA4 - ID code (cont.) */
+  (void *) ID_CODE_LONG_3,  /* 0xffffffA8 - ID code (cont.) */
+  (void *) ID_CODE_LONG_4,  /* 0xffffffAC - ID code (cont.) */
+  
+/* 0xffffffB0 through 0xffffffcf: Reserved area */
+  (void *) 0xFFFFFFFF,  /* 0xffffffB0 - Reserved */
+  (void *) 0xFFFFFFFF,  /* 0xffffffB4 - Reserved */
+  (void *) 0xFFFFFFFF,  /* 0xffffffB8 - Reserved */
+  (void *) 0xFFFFFFFF,  /* 0xffffffBC - Reserved */
+  (void *) 0xFFFFFFFF,  /* 0xffffffC0 - Reserved */
+  (void *) 0xFFFFFFFF,  /* 0xffffffC4 - Reserved */
+  (void *) 0xFFFFFFFF,  /* 0xffffffC8 - Reserved */
+  (void *) 0xFFFFFFFF,  /* 0xffffffCC - Reserved */
+
+/* Fixed vector table */
+  (void *) excep_supervisor_inst_isr,         /* 0xffffffd0  Exception(Supervisor Instruction) */
+  (void *) undefined_interrupt_source_isr,    /* 0xffffffd4  Reserved */
+  (void *) undefined_interrupt_source_isr,    /* 0xffffffd8  Reserved */
+  (void *) excep_undefined_inst_isr,          /* 0xffffffdc  Exception(Undefined Instruction) */
+  (void *) undefined_interrupt_source_isr,    /* 0xffffffe0  Reserved */
+  (void *) excep_floating_point_isr,          /* 0xffffffe4  Exception(Floating Point) */
+  (void *) undefined_interrupt_source_isr,    /* 0xffffffe8  Reserved */
+  (void *) undefined_interrupt_source_isr,    /* 0xffffffec  Reserved */
+  (void *) undefined_interrupt_source_isr,    /* 0xfffffff0  Reserved */
+  (void *) undefined_interrupt_source_isr,    /* 0xfffffff4  Reserved */
+  (void *) non_maskable_isr,                  /* 0xfffffff8  NMI */
+  (void *) PowerON_Reset_PC                   /* 0xfffffffc  RESET */
+};
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/dbsct.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/dbsct.c
deleted file mode 100644
index 156f0b8f37..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/dbsct.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*  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/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/hwsetup.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/hwsetup.c
deleted file mode 100644
index b25de3a69e..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/hwsetup.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/******************************************************************************
-* 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 "rskrx63ndef.h"
-
-/******************************************************************************
-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) /* NOTE: ETHERNET PORT IS NOT YET CONFIGURED FOR THE RX63N. */
-	/* ==== 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 /* 0 */
-    /* 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)
-{
-unsigned long i;
-    
-    SYSTEM.PRCR.WORD = 0xA503;              /* Access registers via PRCR                    */
-
-    SYSTEM.SOSCCR.BYTE = 0x00;              /* Sub-clock oscillator ON                      */
-												
-    SYSTEM.HOCOPCR.BYTE = 0x00;             /* HOCO ON                                      */
-										
-    SYSTEM.MOSCWTCR.BYTE = 0x0e;            /* Main Clock Oscillator Wait Control Register  */
-                                            /* 262144 states                                */
-
-    SYSTEM.PLLWTCR.BYTE = 0x0e;				/* PLL Wait Control Register                    */
-                                            /* 2097152 states                               */
-	
-    SYSTEM.MOSCCR.BYTE = 0x00;				/* EXTAL ON                                     */
-
-    SYSTEM.PLLCR2.BYTE = 0x01;				/* PLL OFF                                      */
-    SYSTEM.PLLCR.WORD = 0x0f00;				/* x16 @PLL                                     */
-                                            /* Input to PLL = EXTAL       	 	      */
-                                            /* Therefore:                                   */
-                                            /*   PLL = EXTAL                                */
-                                            /*       = 12                                   */
-                                            /*   PLL * 16 = 192MHz                          */	
-
-                                            /* External oscillation input selection         */
-	SYSTEM.PLLCR2.BYTE = 0x00;				/* PLL ON                                       */
-	
-	for(i = 0; i<2500; i++)                 /* Wait for stabilisation of PLL and main clock */
-    {				                        /* = 20ms                                       */
-                                            /*   (2500 x 1/125kHz = 20ms)                   */
-                                               
-	}
-	
-/************************************************************************/
-/*                                                                      */
-/*  SYSTEM.SCKCR.BIT.PCKB   = 2; ( b11: b8 ) PLL/4 = 48MHz		        */
-/*  SYSTEM.SCKCR.BIT.PCKA   = 2; ( b15:b12 ) PLL/4 = 48MHz		        */  
-/*  SYSTEM.SCKCR.BIT.BCK    = 2; ( b16:b19 ) PLL/4 = 48MHz		        */
-/*  SYSTEM.SCKCR.BIT.PSTOP0 = 1; ( b22     ) SDCLK CLK OUT Disabled     */
-/*  SYSTEM.SCKCR.BIT.PSTOP1 = 1; ( b23     ) BUS CLK OUT   Disabled     */
-/*  SYSTEM.SCKCR.BIT.ICK    = 1; ( b24:b27 ) PLL/2 = 96MHz		        */
-/*  SYSTEM.SCKCR.BIT.FCK    = 2; ( b31:b28 ) PLL/3 = 48MHz		        */
-/*                                                                      */
-/*  SYSTEM.SCKCR2.BIT.UCK   = 2;			 PLL/4 = 48MHz              */
-/*  SYSTEM.SCKCR2.BIT.IEBCK = 3;			 PLL/4 = 48MHz		        */
-/************************************************************************/
-    
-	SYSTEM.SCKCR.LONG = 0x21c22222;     /* set these bits to the same a this bit   */
-/*                             |||               |                   |             */
-/*                             |++---------------+                   |             */
-/*					           |                                     |             */
-/*                             +-------------------------------------+             */
-	
-    SYSTEM.SCKCR2.WORD = 0x0033;		
-
-
-//	SYSTEM.SCKCR3.WORD = 0x0000;			/* LOCO -> LOCO         */
-//	SYSTEM.SCKCR3.WORD = 0x0100;			/* LOCO -> HOCO         */
-//	SYSTEM.SCKCR3.WORD = 0x0200;			/* LOCO -> MAIN         */
-//	SYSTEM.SCKCR3.WORD = 0x0300;			/* LOCO -> Sub-Clock    */
-	SYSTEM.SCKCR3.WORD = 0x0400;			/* LOCO -> PLL          */
-
-#if 1
-	// Configure LED - I/O pins as Outputs
-	// First set the Data Levels
-	LED0 = 1;	// LED0 : OFF =1, ON = 0
-	LED1 = 1;	// LED1 : OFF =1, ON = 0
-	LED2 = 1;	// LED2 : OFF =1, ON = 0
-	LED3 = 1;	// LED3 : OFF =1, ON = 0
-
-	// Set Port Direction Registers
-	LED0_PDR = 1;	// LED0 : 1 = output
-	LED1_PDR = 1;	// LED1 : 1 = output
-	LED2_PDR = 1;	// LED2 : 1 = output
-	LED3_PDR = 1;	// LED3 : 1 = output
-#endif
-	/* Gain access to the Port Function Select Registers */
-	MPC.PWPR.BIT.B0WI = 0;
-	MPC.PWPR.BIT.PFSWE = 1;
-}
-
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/intprg.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/intprg.c
deleted file mode 100644
index b5ef3862f6..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/intprg.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*  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/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/lowlvl.src b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/lowlvl.src
deleted file mode 100644
index 70330dadd0..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/lowlvl.src
+++ /dev/null
@@ -1,120 +0,0 @@
-
-; 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/RX600_RX63N-RDK_Renesas/RTOSDemo/include/OLDiodefine.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx210/iodefine.h
similarity index 88%
rename from Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/OLDiodefine.h
rename to Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx210/iodefine.h
index 405b090005..3943547a11 100644
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/OLDiodefine.h
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx210/iodefine.h
@@ -3,10 +3,10 @@
 /* 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]           */
+/* History    : V0.6  (2011-03-15)  [Hardware Manual Revision : 0.50]           */
 /* Note       : This is a typical example.                                      */
 /*                                                                              */
-/*  Copyright(c) 2010 Renesas Electronics Corp.                                 */
+/*  Copyright(c) 2011 Renesas Electronics Corp.                                 */
 /*                  And Renesas Solutions Corp. ,All Rights Reserved.           */
 /*                                                                              */
 /********************************************************************************/
@@ -28,13 +28,13 @@
 /*       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(MTU1,TGIA1) = 2;    expands to :                                   */
+/*       IPR(MTU1,TGI  ) = 2;    // TGIA1,TGIB1 share IPR level.                */
+/*         ICU.IPR[121].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;                                          */
+/*         ICU.IPR[214].BIT.IPR = 3;                                            */
 /*                                                                              */
 /*  Usage : #pragma interrupt Function_Identifier(vect=**)                      */
 /*     The number of vector is "(interrupt source, name)".                      */
@@ -52,7 +52,7 @@
 /*     for example :                                                            */
 /*       MSTP(TMR2) = 0;    // TMR2,TMR3,TMR23                    expands to :  */
 /*         SYSTEM.MSTPCRA.BIT.MSTPA4  = 0;                                      */
-/*       MSTP(SCI0) = 0;    // SCI0                               expands to :  */
+/*       MSTP(SCI0) = 0;    // SCI0,SMCI0                         expands to :  */
 /*         SYSTEM.MSTPCRB.BIT.MSTPB31 = 0;                                      */
 /*       MSTP(MTU4) = 0;    // MTU,MTU0,MTU1,MTU2,MTU3,MTU4,MTU5  expands to :  */
 /*         SYSTEM.MSTPCRA.BIT.MSTPA9  = 0;                                      */
@@ -107,7 +107,7 @@ struct st_bsc {
 			unsigned short :2;
 			unsigned short BPEB:2;
 			unsigned short BPFB:2;
-			unsigned short BPHB:2;
+			unsigned short :2;
 			unsigned short BPGB:2;
 			unsigned short BPIB:2;
 			unsigned short BPRO:2;
@@ -440,13 +440,13 @@ struct st_cac {
 			unsigned char EDGES:2;
 			unsigned char TCSS:2;
 			unsigned char FMCS:3;
-			unsigned char CACIE:1;
+			unsigned char CACREFE:1;
 		} BIT;
 	} CACR1;
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :2;
+			unsigned char DFS:2;
 			unsigned char RCDS:2;
 			unsigned char RSCS:3;
 			unsigned char RPS:1;
@@ -484,43 +484,43 @@ struct st_cmpb {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :3;
-			unsigned char CPB2INI:1;
 			unsigned char :3;
 			unsigned char CPB1INI:1;
+			unsigned char :3;
+			unsigned char CPB0INI:1;
 		} BIT;
 	} CPBCNT1;
 	char           wk0[1];
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char CPB2OUT:1;
-			unsigned char :3;
 			unsigned char CPB1OUT:1;
+			unsigned char :3;
+			unsigned char CPB0OUT: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;
+			unsigned char :1;
+			unsigned char CPB0INTPL:1;
+			unsigned char CPB0INTEG:1;
+			unsigned char CPB0INTEN: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;
+			unsigned char CPB0F:2;
+			unsigned char :1;
+			unsigned char CPB0FEN:1;
 		} BIT;
 	} CPBF;
 };
@@ -1076,10 +1076,10 @@ struct st_flash {
 		struct {
 			unsigned short KEY:8;
 			unsigned short :4;
-			unsigned short DBRE3:1;
-			unsigned short DBRE2:1;
-			unsigned short DBRE1:1;
-			unsigned short DBRE0:1;
+			unsigned short DBRE03:1;
+			unsigned short DBRE02:1;
+			unsigned short DBRE01:1;
+			unsigned short DBRE00:1;
 		} BIT;
 	} DFLRE0;
 	char           wk3[14];
@@ -1088,10 +1088,10 @@ struct st_flash {
 		struct {
 			unsigned short KEY:8;
 			unsigned short :4;
-			unsigned short DBWE3:1;
-			unsigned short DBWE2:1;
-			unsigned short DBWE1:1;
-			unsigned short DBWE0:1;
+			unsigned short DBWE03:1;
+			unsigned short DBWE02:1;
+			unsigned short DBWE01:1;
+			unsigned short DBWE00:1;
 		} BIT;
 	} DFLWE0;
 	char           wk4[2];
@@ -1131,7 +1131,7 @@ struct st_flash {
 			unsigned short FEKEY:8;
 			unsigned short FENTRYD:1;
 			unsigned short :6;
-			unsigned short FENTRY:1;
+			unsigned short FENTRY0:1;
 		} BIT;
 	} FENTRYR;
 	union {
@@ -1270,12 +1270,39 @@ struct st_icu {
 			unsigned char IRQMD:2;
 		} BIT;
 	} IRQCR[8];
-	char           wk10[120];
+	char           wk10[8];
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :1;
-			unsigned char SRAMST:1;
+			unsigned char FLTEN7:1;
+			unsigned char FLTEN6:1;
+			unsigned char FLTEN5:1;
+			unsigned char FLTEN4:1;
+			unsigned char FLTEN3:1;
+			unsigned char FLTEN2:1;
+			unsigned char FLTEN1:1;
+			unsigned char FLTEN0:1;
+		} BIT;
+	} IRQFLTE0;
+	char           wk11[3];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FCLKSEL7:2;
+			unsigned short FCLKSEL6:2;
+			unsigned short FCLKSEL5:2;
+			unsigned short FCLKSEL4:2;
+			unsigned short FCLKSEL3:2;
+			unsigned short FCLKSEL2:2;
+			unsigned short FCLKSEL1:2;
+			unsigned short FCLKSEL0:2;
+		} BIT;
+	} IRQFLTC0;
+	char           wk12[106];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
 			unsigned char LVD2ST:1;
 			unsigned char LVD1ST:1;
 			unsigned char IWDTST:1;
@@ -1287,8 +1314,7 @@ struct st_icu {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :1;
-			unsigned char SRAMEN:1;
+			unsigned char :2;
 			unsigned char LVD2EN:1;
 			unsigned char LVD1EN:1;
 			unsigned char IWDTEN:1;
@@ -1316,6 +1342,22 @@ struct st_icu {
 			unsigned char NMIMD:1;
 		} BIT;
 	} NMICR;
+	char           wk13[12];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char NFLTEN:1;
+		} BIT;
+	} NMIFLTE;
+	char           wk14[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char NFCLKSEL:2;
+		} BIT;
+	} NMIFLTC;
 };
 
 struct st_iwdt {
@@ -1357,6 +1399,66 @@ struct st_iwdt {
 };
 
 struct st_mpc {
+	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;
+	char           wk1[23];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -1364,21 +1466,21 @@ struct st_mpc {
 			unsigned char PFSWE:1;
 		} BIT;
 	} PWPR;
-	char           wk0[35];
+	char           wk2[35];
 	union {
 		unsigned char BYTE;
 		struct {
 			unsigned char ASEL:1;
 		} BIT;
 	} P03PFS;
-	char           wk1[1];
+	char           wk3[1];
 	union {
 		unsigned char BYTE;
 		struct {
 			unsigned char ASEL:1;
 		} BIT;
 	} P05PFS;
-	char           wk2[1];
+	char           wk4[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -1386,7 +1488,7 @@ struct st_mpc {
 			unsigned char PSEL:4;
 		} BIT;
 	} P07PFS;
-	char           wk3[2];
+	char           wk5[2];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -1542,7 +1644,7 @@ struct st_mpc {
 			unsigned char PSEL:4;
 		} BIT;
 	} P34PFS;
-	char           wk4[3];
+	char           wk6[3];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -1591,7 +1693,7 @@ struct st_mpc {
 			unsigned char ASEL:1;
 		} BIT;
 	} P47PFS;
-	char           wk5[4];
+	char           wk7[4];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -1606,7 +1708,7 @@ struct st_mpc {
 			unsigned char PSEL:4;
 		} BIT;
 	} P55PFS;
-	char           wk6[34];
+	char           wk8[34];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -1617,7 +1719,8 @@ struct st_mpc {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :4;
+			unsigned char ASEL:1;
+			unsigned char :3;
 			unsigned char PSEL:4;
 		} BIT;
 	} PA1PFS;
@@ -1631,7 +1734,7 @@ struct st_mpc {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :1;
+			unsigned char ASEL:1;
 			unsigned char ISEL:1;
 			unsigned char :2;
 			unsigned char PSEL:4;
@@ -1640,7 +1743,7 @@ struct st_mpc {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :1;
+			unsigned char ASEL:1;
 			unsigned char ISEL:1;
 			unsigned char :2;
 			unsigned char PSEL:4;
@@ -1921,7 +2024,7 @@ struct st_mpc {
 			unsigned char PSEL:4;
 		} BIT;
 	} PE7PFS;
-	char           wk7[16];
+	char           wk9[16];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -1954,7 +2057,7 @@ struct st_mpc {
 			unsigned char PSEL:4;
 		} BIT;
 	} PH3PFS;
-	char           wk8[5];
+	char           wk10[5];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -1962,7 +2065,7 @@ struct st_mpc {
 			unsigned char PSEL:4;
 		} BIT;
 	} PJ1PFS;
-	char           wk9[1];
+	char           wk11[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2116,16 +2219,21 @@ struct st_mtu {
 			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 :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[111];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2181,7 +2289,7 @@ struct st_mtu0 {
 	unsigned short TGRB;
 	unsigned short TGRC;
 	unsigned short TGRD;
-	char           wk0[16];
+	char           wk1[16];
 	unsigned short TGRE;
 	unsigned short TGRF;
 	union {
@@ -2192,7 +2300,7 @@ struct st_mtu0 {
 			unsigned char TGIEE:1;
 		} BIT;
 	} TIER2;
-	char           wk1[1];
+	char           wk2[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2205,6 +2313,19 @@ struct st_mtu0 {
 };
 
 struct st_mtu1 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[238];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2228,7 +2349,7 @@ struct st_mtu1 {
 			unsigned char IOA:4;
 		} BIT;
 	} TIOR;
-	char           wk0[1];
+	char           wk2[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2250,7 +2371,7 @@ struct st_mtu1 {
 	unsigned short TCNT;
 	unsigned short TGRA;
 	unsigned short TGRB;
-	char           wk1[4];
+	char           wk3[4];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2264,6 +2385,18 @@ struct st_mtu1 {
 };
 
 struct st_mtu2 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[365];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2287,7 +2420,7 @@ struct st_mtu2 {
 			unsigned char IOA:4;
 		} BIT;
 	} TIOR;
-	char           wk0[1];
+	char           wk1[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2383,6 +2516,18 @@ struct st_mtu3 {
 			unsigned char TTSA:1;
 		} BIT;
 	} TBTM;
+	char           wk8[90];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
 };
 
 struct st_mtu4 {
@@ -2480,9 +2625,34 @@ struct st_mtu4 {
 	unsigned short TADCORB;
 	unsigned short TADCOBRA;
 	unsigned short TADCOBRB;
+	char           wk11[72];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
 };
 
 struct st_mtu5 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[490];
 	unsigned short TCNTU;
 	unsigned short TGRU;
 	union {
@@ -2492,7 +2662,7 @@ struct st_mtu5 {
 			unsigned char TPSC:2;
 		} BIT;
 	} TCRU;
-	char           wk0[1];
+	char           wk2[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2500,7 +2670,7 @@ struct st_mtu5 {
 			unsigned char IOC:5;
 		} BIT;
 	} TIORU;
-	char           wk1[9];
+	char           wk3[9];
 	unsigned short TCNTV;
 	unsigned short TGRV;
 	union {
@@ -2510,7 +2680,7 @@ struct st_mtu5 {
 			unsigned char TPSC:2;
 		} BIT;
 	} TCRV;
-	char           wk2[1];
+	char           wk4[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2518,7 +2688,7 @@ struct st_mtu5 {
 			unsigned char IOC:5;
 		} BIT;
 	} TIORV;
-	char           wk3[9];
+	char           wk5[9];
 	unsigned short TCNTW;
 	unsigned short TGRW;
 	union {
@@ -2528,7 +2698,7 @@ struct st_mtu5 {
 			unsigned char TPSC:2;
 		} BIT;
 	} TCRW;
-	char           wk4[1];
+	char           wk6[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2536,7 +2706,7 @@ struct st_mtu5 {
 			unsigned char IOC:5;
 		} BIT;
 	} TIORW;
-	char           wk5[11];
+	char           wk7[11];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2546,7 +2716,7 @@ struct st_mtu5 {
 			unsigned char TGIE5W:1;
 		} BIT;
 	} TIER;
-	char           wk6[1];
+	char           wk8[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2556,7 +2726,7 @@ struct st_mtu5 {
 			unsigned char CSTW5:1;
 		} BIT;
 	} TSTR;
-	char           wk7[1];
+	char           wk9[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -2653,74 +2823,14 @@ struct st_poe {
 			unsigned char L;
 		} BYTE;
 		struct {
-			unsigned char :6;
+			unsigned char :3;
+			unsigned char OSTSTF:1;
+			unsigned char :2;
 			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;
@@ -3757,7 +3867,7 @@ struct st_porte {
 			unsigned char B4:1;
 			unsigned char :1;
 			unsigned char B2:1;
-			unsigned char B1:1;
+			unsigned char :1;
 			unsigned char B0:1;
 		} BIT;
 	} ODR1;
@@ -4525,7 +4635,15 @@ struct st_rtc {
 			unsigned char START:1;
 		} BIT;
 	} RCR2;
-	char           wk15[9];
+	char           wk15[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RTCEN:1;
+		} BIT;
+	} RCR3;
+	char           wk16[7];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4533,7 +4651,7 @@ struct st_rtc {
 			unsigned char ADJ:6;
 		} BIT;
 	} RADJ;
-	char           wk16[17];
+	char           wk17[17];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4545,19 +4663,19 @@ struct st_rtc {
 			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;
+	} RTCCR1;
+	char           wk19[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4569,7 +4687,7 @@ struct st_rtc {
 			unsigned char TCCT:2;
 		} BIT;
 	} RTCCR2;
-	char           wk19[13];
+	char           wk20[13];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4578,7 +4696,7 @@ struct st_rtc {
 			unsigned char SEC1:4;
 		} BIT;
 	} RSECCP0;
-	char           wk20[1];
+	char           wk21[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4587,7 +4705,7 @@ struct st_rtc {
 			unsigned char MIN1:4;
 		} BIT;
 	} RMINCP0;
-	char           wk21[1];
+	char           wk22[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4597,7 +4715,7 @@ struct st_rtc {
 			unsigned char HR1:4;
 		} BIT;
 	} RHRCP0;
-	char           wk22[3];
+	char           wk23[3];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4606,7 +4724,7 @@ struct st_rtc {
 			unsigned char DATE1:4;
 		} BIT;
 	} RDAYCP0;
-	char           wk23[1];
+	char           wk24[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4615,7 +4733,7 @@ struct st_rtc {
 			unsigned char MON1:4;
 		} BIT;
 	} RMONCP0;
-	char           wk24[5];
+	char           wk25[5];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4624,7 +4742,7 @@ struct st_rtc {
 			unsigned char SEC1:4;
 		} BIT;
 	} RSECCP1;
-	char           wk25[1];
+	char           wk26[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4633,7 +4751,7 @@ struct st_rtc {
 			unsigned char MIN1:4;
 		} BIT;
 	} RMINCP1;
-	char           wk26[1];
+	char           wk27[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4643,7 +4761,7 @@ struct st_rtc {
 			unsigned char HR1:4;
 		} BIT;
 	} RHRCP1;
-	char           wk27[3];
+	char           wk28[3];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4652,7 +4770,7 @@ struct st_rtc {
 			unsigned char DATE1:4;
 		} BIT;
 	} RDAYCP1;
-	char           wk28[1];
+	char           wk29[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4661,7 +4779,7 @@ struct st_rtc {
 			unsigned char MON1:4;
 		} BIT;
 	} RMONCP1;
-	char           wk29[5];
+	char           wk30[5];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4670,7 +4788,7 @@ struct st_rtc {
 			unsigned char SEC1:4;
 		} BIT;
 	} RSECCP2;
-	char           wk30[1];
+	char           wk31[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4679,7 +4797,7 @@ struct st_rtc {
 			unsigned char MIN1:4;
 		} BIT;
 	} RMINCP2;
-	char           wk31[1];
+	char           wk32[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4689,7 +4807,7 @@ struct st_rtc {
 			unsigned char HR1:4;
 		} BIT;
 	} RHRCP2;
-	char           wk32[3];
+	char           wk33[3];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4698,7 +4816,7 @@ struct st_rtc {
 			unsigned char DATE1:4;
 		} BIT;
 	} RDAYCP2;
-	char           wk33[1];
+	char           wk34[1];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -4840,10 +4958,10 @@ struct st_s12ad {
 			struct {
 				unsigned short DIAGST:2;
 				unsigned short :2;
-				unsigned short DATA:10;
+				unsigned short AD:10;
 			} LEFT;
 			struct {
-				unsigned short DATA:10;
+				unsigned short AD:10;
 				unsigned short :4;
 				unsigned short DIAGST:2;
 			} RIGHT;
@@ -4927,7 +5045,9 @@ struct st_sci0 {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :2;
+			unsigned char TDRE:1;
+			unsigned char RDRF:1;
+	//		unsigned char :2;
 			unsigned char ORER:1;
 			unsigned char FER:1;
 			unsigned char PER:1;
@@ -4940,7 +5060,8 @@ struct st_sci0 {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :4;
+			unsigned char BCP2:1;
+			unsigned char :3;
 			unsigned char SDIR:1;
 			unsigned char SINV:1;
 			unsigned char :1;
@@ -4987,127 +5108,7 @@ struct st_sci0 {
 		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 IICSTIF:1;
 			unsigned char IICSTPREQ:1;
 			unsigned char IICRSTAREQ:1;
 			unsigned char IICSTAREQ:1;
@@ -5132,7 +5133,7 @@ struct st_sci1 {
 			unsigned char CTSE:1;
 			unsigned char SSE:1;
 		} BIT;
-	} SECR;
+	} SPMR;
 };
 
 struct st_sci12 {
@@ -5178,7 +5179,8 @@ struct st_sci12 {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :4;
+			unsigned char BCP2:1;
+			unsigned char :3;
 			unsigned char SDIR:1;
 			unsigned char SINV:1;
 			unsigned char :1;
@@ -5225,7 +5227,7 @@ struct st_sci12 {
 		struct {
 			unsigned char IICSCLS:2;
 			unsigned char IICSDAS:2;
-			unsigned char :1;
+			unsigned char IICSTIF:1;
 			unsigned char IICSTPREQ:1;
 			unsigned char IICRSTAREQ:1;
 			unsigned char IICSTAREQ:1;
@@ -5250,7 +5252,7 @@ struct st_sci12 {
 			unsigned char CTSE:1;
 			unsigned char SSE:1;
 		} BIT;
-	} SECR;
+	} SPMR;
 	char           wk0[18];
 	union {
 		unsigned char BYTE;
@@ -5258,7 +5260,7 @@ struct st_sci12 {
 			unsigned char :7;
 			unsigned char SCIXE:1;
 		} BIT;
-	} MER;
+	} ESMER;
 	union {
 		unsigned char BYTE;
 		struct {
@@ -5299,8 +5301,7 @@ struct st_sci12 {
 		struct {
 			unsigned char :3;
 			unsigned char SHARPS:1;
-			unsigned char TXPLOD:1;
-			unsigned char TXPHOD:1;
+			unsigned char :2;
 			unsigned char RXDXPS:1;
 			unsigned char TXDXPS:1;
 		} BIT;
@@ -5413,7 +5414,7 @@ struct st_smci {
 			unsigned char RIE:1;
 			unsigned char TE:1;
 			unsigned char RE:1;
-			unsigned char :1;
+			unsigned char MPIE:1;
 			unsigned char TEIE:1;
 			unsigned char CKE:2;
 		} BIT;
@@ -5427,6 +5428,8 @@ struct st_smci {
 			unsigned char ERS:1;
 			unsigned char PER:1;
 			unsigned char TEND:1;
+			unsigned char MPB:1;
+			unsigned char MPBT:1;
 		} BIT;
 	} SSR;
 	unsigned char  RDR;
@@ -5492,9 +5495,13 @@ struct st_system {
 		unsigned long LONG;
 		struct {
 			unsigned long ACSE:1;
-			unsigned long :2;
+			unsigned long :1;
+			unsigned long MSTPA29:1;
 			unsigned long MSTPA28:1;
-			unsigned long :8;
+			unsigned long MSTPA27:1;
+			unsigned long :2;
+			unsigned long MSTPA24:1;
+			unsigned long :4;
 			unsigned long MSTPA19:1;
 			unsigned long :1;
 			unsigned long MSTPA17:1;
@@ -5538,7 +5545,9 @@ struct st_system {
 			unsigned long :4;
 			unsigned long MSTPC27:1;
 			unsigned long MSTPC26:1;
-			unsigned long :25;
+			unsigned long :6;
+			unsigned long MSTPC19:1;
+			unsigned long :18;
 			unsigned long MSTPC0:1;
 		} BIT;
 	} MSTPCRC;
@@ -5551,9 +5560,9 @@ struct st_system {
 			unsigned long PSTOP1:1;
 			unsigned long :3;
 			unsigned long BCK:4;
-			unsigned long PCKA:4;
+			unsigned long :4;
 			unsigned long PCKB:4;
-			unsigned long PCKC:4;
+			unsigned long :4;
 			unsigned long PCKD:4;
 		} BIT;
 	} SCKCR;
@@ -5593,16 +5602,14 @@ struct st_system {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :6;
-			unsigned char MOSEL:1;
+			unsigned char :7;
 			unsigned char MOSTP:1;
 		} BIT;
 	} MOSCCR;
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :6;
-			unsigned char SOSEL:1;
+			unsigned char :7;
 			unsigned char SOSTP:1;
 		} BIT;
 	} SOSCCR;
@@ -5627,7 +5634,14 @@ struct st_system {
 			unsigned char HCSTP:1;
 		} BIT;
 	} HOCOCR;
-	char           wk7[9];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char HCFRQ:2;
+		} BIT;
+	} HOCOCR2;
+	char           wk7[8];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -5648,11 +5662,11 @@ struct st_system {
 		unsigned char BYTE;
 		struct {
 			unsigned char :3;
-			unsigned char LPWSTS:1;
+			unsigned char OPCMTSF:1;
 			unsigned char :1;
-			unsigned char LPWM:3;
+			unsigned char OPCM:3;
 		} BIT;
-	} NMPCCR;
+	} OPCCR;
 	union {
 		unsigned char BYTE;
 		struct {
@@ -5668,14 +5682,7 @@ struct st_system {
 			unsigned char MSTS:5;
 		} BIT;
 	} MOSCWTCR;
-	union {
-		unsigned char BYTE;
-		struct {
-			unsigned char :3;
-			unsigned char SSTS:5;
-		} BIT;
-	} SOSCWTCR;
-	char           wk9[2];
+	char           wk9[3];
 	union {
 		unsigned char BYTE;
 		struct {
@@ -5689,18 +5696,12 @@ struct st_system {
 		struct {
 			unsigned char :5;
 			unsigned char SWRF:1;
-			unsigned char WDRF:1;
-			unsigned char IWDRF:1;
+			unsigned char WDTRF:1;
+			unsigned char IWDTRF:1;
 		} BIT;
 	} RSTSR2;
 	char           wk11[1];
-	union {
-		unsigned short WORD;
-		struct {
-			unsigned short KEY:8;
-			unsigned short SWRR:8;
-		} BIT;
-	} SWRR;
+	unsigned short SWRR;
 	char           wk12[28];
 	union {
 		unsigned char BYTE;
@@ -5739,12 +5740,9 @@ struct st_system {
 		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 :4;
 			unsigned short PRC3:1;
-			unsigned short PRC2:1;
+			unsigned short :1;
 			unsigned short PRC1:1;
 			unsigned short PRC0:1;
 		} BIT;
@@ -5778,8 +5776,8 @@ struct st_system {
 		unsigned char BYTE;
 		struct {
 			unsigned char :1;
-			unsigned char DI2CCIE:1;
-			unsigned char DI2CDIE:1;
+			unsigned char DIICCIE:1;
+			unsigned char DIICDIE:1;
 			unsigned char DNMIE:1;
 			unsigned char DRTCAIE:1;
 			unsigned char DRTCIIE:1;
@@ -5846,9 +5844,10 @@ struct st_system {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :6;
-			unsigned char HCUT:1;
-			unsigned char FCUT:1;
+			unsigned char :5;
+			unsigned char SOFTCUT2:1;
+			unsigned char SOFTCUT1:1;
+			unsigned char SOFTCUT0:1;
 		} BIT;
 	} FHSSBYCR;
 	union {
@@ -5873,8 +5872,10 @@ struct st_system {
 	union {
 		unsigned char BYTE;
 		struct {
-			unsigned char :5;
-			unsigned char MOSCDRV:2;
+			unsigned char :1;
+			unsigned char MOSEL:1;
+			unsigned char MODRV2:2;
+			unsigned char MODRV:3;
 			unsigned char MOFXIN:1;
 		} BIT;
 	} MOFCR;
@@ -5894,6 +5895,9 @@ struct st_system {
 			unsigned char LVD1E:1;
 			unsigned char :1;
 			unsigned char EXVCCINP2:1;
+			unsigned char EXVREFINP2:1;
+			unsigned char EXVCCINP1:1;
+			unsigned char EXVREFINP1:1;
 		} BIT;
 	} LVCMPCR;
 	union {
@@ -5928,14 +5932,7 @@ struct st_system {
 			unsigned char LVD2RIE:1;
 		} BIT;
 	} LVD2CR0;
-	char           wk25[3];
-	union {
-		unsigned char BYTE;
-		struct {
-			unsigned char :6;
-			unsigned char SELICONST:2;
-		} BIT;
-	} SELICONSTCR;
+	char           wk25[4];
 	unsigned char  DPSBKR[32];
 };
 
@@ -6072,28 +6069,28 @@ struct st_wdt {
 };
 
 enum enum_ir {
-IR_BSC_BUSERR=16,IR_FCUIF_FCUERR=21,IR_FCUIF_FRDYI=23,
+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_CAC_FERRF,IR_CAC_MENDF,IR_CAC_OVFF,
-IR_RSPI0_SPEI2=44,IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0,
+IR_RSPI0_SPEI0=44,IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0,
 IR_DOC_DOPCF=57,
-IR_CMPB0_COMPB0,
-IR_CMPB1_COMPB1,
+IR_COMPB_COMPB0,IR_COMPB_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_LVD_LVD1=88,IR_LVD_LVD2,
+IR_COMPA_COMPA1=88,IR_COMPA_COMPA2,
 IR_RTC_ALM=92,IR_RTC_PRD,
-IR_S12AD_S12ADI=102,IR_S12AD_GBADI,
+IR_S12AD_S12ADI0=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_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_POE_OEI1=170,IR_POE_OEI2,
 IR_TMR0_CMIA0=174,IR_TMR0_CMIB0,IR_TMR0_OVI0,
@@ -6118,17 +6115,17 @@ DTCE_CMT1_CMI1,
 DTCE_CMT2_CMI2,
 DTCE_CMT3_CMI3,
 DTCE_RSPI0_SPRI0=45,DTCE_RSPI0_SPTI0,
-DTCE_CMPB0_COMPB0=58,
-DTCE_CMPB1_COMPB1,
+DTCE_COMPB_COMPB0=58,DTCE_COMPB_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_LVD_LVD1=88,DTCE_LVD_LVD2,
+DTCE_COMPA_COMPA1=88,DTCE_COMPA_COMPA2,
+DTCE_S12AD_S12ADI0=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_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_TMR0_CMIA0=174,DTCE_TMR0_CMIB0,
 DTCE_TMR1_CMIA1=177,DTCE_TMR1_CMIB1,
@@ -6147,28 +6144,28 @@ DTCE_RIIC0_RXI0=247,DTCE_RIIC0_TXI0
 
 enum enum_ier {
 IER_BSC_BUSERR=0x02,
-IER_FCUIF_FCUERR=0x02,IER_FCUIF_FRDYI=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_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_RSPI0_SPEI0=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_COMPB_COMPB0=0x07,IER_COMPB_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_LVD_LVD1=0x0B,IER_LVD_LVD2=0x0B,
+IER_COMPA_COMPA1=0x0B,IER_COMPA_COMPA2=0x0B,
 IER_RTC_ALM=0x0B,IER_RTC_PRD=0x0B,
-IER_S12AD_S12ADI=0x0C,IER_S12AD_GBADI=0x0C,
+IER_S12AD_S12ADI0=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_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=0x11,
 IER_POE_OEI1=0x15,IER_POE_OEI2=0x15,
 IER_TMR0_CMIA0=0x15,IER_TMR0_CMIB0=0x15,IER_TMR0_OVI0=0x16,
@@ -6187,64 +6184,74 @@ 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
+IPR_BSC_BUSERR=0,
+IPR_FCU_FIFERR=1,IPR_FCU_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_SPEI0=44,IPR_RSPI0_SPRI0=44,IPR_RSPI0_SPTI0=44,IPR_RSPI0_SPII0=44,
+IPR_DOC_DOPCF=57,
+IPR_COMPB_COMPB0=58,IPR_COMPB_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_LVD_LVD1=88,IPR_LVD_LVD2=89,
+IPR_COMPA_COMPA1=88,IPR_COMPA_COMPA2=89,
+IPR_RTC_ALM=92,IPR_RTC_PRD=93,
+IPR_S12AD_S12ADI0=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_TCIV0=118,IPR_MTU0_TGIE0=118,IPR_MTU0_TGIF0=118,
+IPR_MTU1_TGIA1=121,IPR_MTU1_TGIB1=121,IPR_MTU1_TCIV1=123,IPR_MTU1_TCIU1=123,
+IPR_MTU2_TGIA2=125,IPR_MTU2_TGIB2=125,IPR_MTU2_TCIV2=127,IPR_MTU2_TCIU2=127,
+IPR_MTU3_TGIA3=129,IPR_MTU3_TGIB3=129,IPR_MTU3_TGIC3=129,IPR_MTU3_TGID3=129,IPR_MTU3_TCIV3=133,
+IPR_MTU4_TGIA4=134,IPR_MTU4_TGIB4=134,IPR_MTU4_TGIC4=134,IPR_MTU4_TGID4=134,IPR_MTU4_TCIV4=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_BSC_=0,
+IPR_CMT0_=4,
+IPR_CMT1_=5,
+IPR_CMT2_=6,
+IPR_CMT3_=7,
+IPR_RSPI0_=44,
+IPR_DOC_=57,
+IPR_MTU1_TGI=121,
+IPR_MTU1_TCI=123,
+IPR_MTU2_TGI=125,
+IPR_MTU2_TCI=127,
+IPR_MTU3_TGI=129,
+IPR_MTU4_TGI=134,
+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_FCU_FIFERR		IEN5
+#define	IEN_FCU_FRDYI		IEN7
 #define	IEN_ICU_SWINT		IEN3
 #define	IEN_CMT0_CMI0		IEN4
 #define	IEN_CMT1_CMI1		IEN5
@@ -6253,13 +6260,13 @@ IPR_SCI9_=0x234
 #define	IEN_CAC_FERRF		IEN0
 #define	IEN_CAC_MENDF		IEN1
 #define	IEN_CAC_OVFF		IEN2
-#define	IEN_RSPI0_SPEI2		IEN4
+#define	IEN_RSPI0_SPEI0		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_COMPB_COMPB0	IEN2
+#define	IEN_COMPB_COMPB1	IEN3
 #define	IEN_RTC_COUNTUP		IEN7
 #define	IEN_ICU_IRQ0		IEN0
 #define	IEN_ICU_IRQ1		IEN1
@@ -6269,11 +6276,13 @@ IPR_SCI9_=0x234
 #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_LVD_LVD1		IEN0
+#define	IEN_LVD_LVD2		IEN1
+#define	IEN_COMPA_COMPA1	IEN0
+#define	IEN_COMPA_COMPA2	IEN1
 #define	IEN_RTC_ALM			IEN4
 #define	IEN_RTC_PRD			IEN5
-#define	IEN_S12AD_S12ADI	IEN6
+#define	IEN_S12AD_S12ADI0	IEN6
 #define	IEN_S12AD_GBADI		IEN7
 #define	IEN_ELC_ELSR18I		IEN2
 #define	IEN_ELC_ELSR19I		IEN3
@@ -6281,27 +6290,27 @@ IPR_SCI9_=0x234
 #define	IEN_MTU0_TGIB0		IEN3
 #define	IEN_MTU0_TGIC0		IEN4
 #define	IEN_MTU0_TGID0		IEN5
-#define	IEN_MTU0_TGIV0		IEN6
+#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_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_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_TGIV3		IEN5
+#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_TGIV4		IEN2
+#define	IEN_MTU4_TCIV4		IEN2
 #define	IEN_MTU5_TGIU5		IEN3
 #define	IEN_MTU5_TGIV5		IEN4
 #define	IEN_MTU5_TGIW5		IEN5
@@ -6361,8 +6370,8 @@ IPR_SCI9_=0x234
 #define	IEN_RIIC0_TEI0		IEN1
 
 #define	VECT_BSC_BUSERR		16
-#define	VECT_FCUIF_FCUERR	21
-#define	VECT_FCUIF_FRDYI	23
+#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
@@ -6371,13 +6380,13 @@ IPR_SCI9_=0x234
 #define	VECT_CAC_FERRF		32
 #define	VECT_CAC_MENDF		33
 #define	VECT_CAC_OVFF		34
-#define	VECT_RSPI0_SPEI2	44
+#define	VECT_RSPI0_SPEI0	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_COMPB_COMPB0	58
+#define	VECT_COMPB_COMPB1	59
 #define	VECT_RTC_COUNTUP	63
 #define	VECT_ICU_IRQ0		64
 #define	VECT_ICU_IRQ1		65
@@ -6387,11 +6396,13 @@ IPR_SCI9_=0x234
 #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_LVD_LVD1		88
+#define	VECT_LVD_LVD2		89
+#define	VECT_COMPA_COMPA1	88
+#define	VECT_COMPA_COMPA2	89
 #define	VECT_RTC_ALM		92
 #define	VECT_RTC_PRD		93
-#define	VECT_S12AD_S12ADI	102
+#define	VECT_S12AD_S12ADI0	102
 #define	VECT_S12AD_GBADI	103
 #define	VECT_ELC_ELSR18I	106
 #define	VECT_ELC_ELSR19I	107
@@ -6399,27 +6410,27 @@ IPR_SCI9_=0x234
 #define	VECT_MTU0_TGIB0		115
 #define	VECT_MTU0_TGIC0		116
 #define	VECT_MTU0_TGID0		117
-#define	VECT_MTU0_TGIV0		118
+#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_TGIV1		123
-#define	VECT_MTU1_TGIU1		124
+#define	VECT_MTU1_TCIV1		123
+#define	VECT_MTU1_TCIU1		124
 #define	VECT_MTU2_TGIA2		125
 #define	VECT_MTU2_TGIB2		126
-#define	VECT_MTU2_TGIV2		127
-#define	VECT_MTU2_TGIU2		128
+#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_TGIV3		133
+#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_TGIV4		138
+#define	VECT_MTU4_TCIV4		138
 #define	VECT_MTU5_TGIU5		139
 #define	VECT_MTU5_TGIV5		140
 #define	VECT_MTU5_TGIW5		141
@@ -6504,9 +6515,13 @@ IPR_SCI9_=0x234
 #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_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_RSPI0	SYSTEM.MSTPCRB.BIT.MSTPB17
@@ -6515,8 +6530,12 @@ IPR_SCI9_=0x234
 #define	MSTP_TEMPS	SYSTEM.MSTPCRB.BIT.MSTPB8
 #define	MSTP_DOC	SYSTEM.MSTPCRB.BIT.MSTPB6
 #define	MSTP_SCI12	SYSTEM.MSTPCRB.BIT.MSTPB4
+#define	MSTP_SMCI12	SYSTEM.MSTPCRB.BIT.MSTPB4
 #define	MSTP_SCI8	SYSTEM.MSTPCRC.BIT.MSTPC27
+#define	MSTP_SMCI8	SYSTEM.MSTPCRC.BIT.MSTPC27
 #define	MSTP_SCI9	SYSTEM.MSTPCRC.BIT.MSTPC26
+#define	MSTP_SMCI9	SYSTEM.MSTPCRC.BIT.MSTPC26
+#define	MSTP_CAC	SYSTEM.MSTPCRC.BIT.MSTPC19
 #define	MSTP_RAM0	SYSTEM.MSTPCRC.BIT.MSTPC0
 
 #define	__IR( x )		ICU.IR[ IR ## x ].BIT.IR
@@ -6560,16 +6579,15 @@ IPR_SCI9_=0x234
 #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	MPC		(*(volatile struct st_mpc      __evenaccess *)0x8C100)
 #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	MTU0	(*(volatile struct st_mtu0     __evenaccess *)0x88690)
+#define	MTU1	(*(volatile struct st_mtu1     __evenaccess *)0x88690)
+#define	MTU2	(*(volatile struct st_mtu2     __evenaccess *)0x88692)
 #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	MTU5	(*(volatile struct st_mtu5     __evenaccess *)0x88694)
 #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)
@@ -6588,11 +6606,11 @@ IPR_SCI9_=0x234
 #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	SCI1	(*(volatile struct st_sci0     __evenaccess *)0x8A020)
+#define	SCI5	(*(volatile struct st_sci0     __evenaccess *)0x8A0A0)
+#define	SCI6	(*(volatile struct st_sci0     __evenaccess *)0x8A0C0)
+#define	SCI8	(*(volatile struct st_sci0     __evenaccess *)0x8A100)
+#define	SCI9	(*(volatile struct st_sci0     __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)
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx610/iodefine.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx610/iodefine.h
new file mode 100644
index 0000000000..9bd1e954af
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx610/iodefine.h
@@ -0,0 +1,4221 @@
+/************************************************************************
+*
+* Device     : RX/RX600/RX610
+*
+* File Name  : ioedfine.h
+*
+* Abstract   : Definition of I/O Register. MSB
+*
+* History    : 1.02 (2009-09-10)  [Hardware Manual Revision : 0.12]
+*            : 1.03 (2010-03-04)  [Hardware Manual Revision : 1.00]
+*            : 1.04 (2010-04-16)  [Hardware Manual Revision : 1.00]
+*            : 4.10 (2010-08-21)  [Hardware Manual Revision : 1.00]
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+*  Copyright (C) 2010 Renesas Electronics Corporation and
+*  Renesas Solutions Corp. All rights reserved.
+*
+************************************************************************/
+/********************************************************************************/
+/*                                                                              */
+/*  DESCRIPTION : Definition of ICU Register                                    */
+/*  CPU TYPE    : RX610                                                         */
+/*                                                                              */
+/*  Usage : IR,ISELR,IER,IPR of ICU Register                                    */
+/*     The following IR, ISEL, 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(TPU0,TGI0A) = 0;     expands to :                                   */
+/*         ICU.IR[104].BIT.IR = 0;                                              */
+/*                                                                              */
+/*       ISEL(ICU,IRQ0) = 1;     expands to :                                   */
+/*         ICU.ISELR[64].BIT.ISEL = 1;                                          */
+/*                                                                              */
+/*       IEN(CMT0,CMI0) = 1;     expands to :                                   */
+/*         ICU.IER[0x03].BIT.IEN4 = 1;                                          */
+/*                                                                              */
+/*       IPR(TPU0,TGI0A) = 2;    expands to :                                   */
+/*       IPR(TPU0,TGI  ) = 2;    // TGI0A,TGI0B,TGI0C,TGI0D share IPR level.    */
+/*         ICU.IPR[0x4C].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_TPU0_TGI0A(vect=VECT(TPU0,TGI0A))  expands to :  */
+/*         #pragma interrupt INT_TPU0_TGI0A(vect=104)                           */
+/*                                                                              */
+/*  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(TPU4) = 0;    // TPUA,TPU0,TPU1,TPU2,TPU3,TPU4,TPU5 expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA13 = 0;                                      */
+/*       MSTP(CMT3) = 0;    // CMT2,CMT3                          expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA14 = 0;                                      */
+/*                                                                              */
+/*                                                                              */
+/********************************************************************************/
+#ifndef __RX610IODEFINE_HEADER__
+#define __RX610IODEFINE_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;
+};
+
+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[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char CPEN:1;
+		} BIT;
+	} BERIE;
+	char           wk2[7419];
+	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;
+	} CS0WCNT1;
+	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;
+	} CS0WCNT2;
+	char           wk3[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;
+	} CS1WCNT1;
+	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;
+	} CS1WCNT2;
+	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;
+	} 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;
+	} CS2WCNT1;
+	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;
+	} CS2WCNT2;
+	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;
+	} 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;
+	} CS3WCNT1;
+	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;
+	} CS3WCNT2;
+	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;
+	} 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;
+	} CS4WCNT1;
+	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;
+	} CS4WCNT2;
+	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;
+	} 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;
+	} CS5WCNT1;
+	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;
+	} CS5WCNT2;
+	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;
+	} 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;
+	} CS6WCNT1;
+	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;
+	} CS6WCNT2;
+	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;
+	} 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;
+	} CS7WCNT1;
+	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;
+	} CS7WCNT2;
+	char           wk10[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;
+	} CS0CNT;
+	char           wk11[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS0REC;
+	char           wk12[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;
+	} CS1CNT;
+	char           wk13[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS1REC;
+	char           wk14[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;
+	} CS2CNT;
+	char           wk15[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS2REC;
+	char           wk16[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;
+	} CS3CNT;
+	char           wk17[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS3REC;
+	char           wk18[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;
+	} CS4CNT;
+	char           wk19[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS4REC;
+	char           wk20[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;
+	} CS5CNT;
+	char           wk21[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS5REC;
+	char           wk22[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;
+	} CS6CNT;
+	char           wk23[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS6REC;
+	char           wk24[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;
+	} CS7CNT;
+	char           wk25[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS7REC;
+};
+
+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;
+	} DMSCNT;
+	char           wk0[8];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DINTM0:1;
+			unsigned char DINTM1:1;
+			unsigned char DINTM2:1;
+			unsigned char DINTM3:1;
+		} BIT;
+	} DMICNT;
+	char           wk1[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DEDET0:1;
+			unsigned char DEDET1:1;
+			unsigned char DEDET2:1;
+			unsigned char DEDET3:1;
+		} BIT;
+	} DMEDET;
+	char           wk2[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DASTS0:1;
+			unsigned char DASTS1:1;
+			unsigned char DASTS2:1;
+			unsigned char DASTS3:1;
+		} BIT;
+	} DMASTS;
+};
+
+struct st_dmac0 {
+	void          *DMCSA;
+	void          *DMCDA;
+	unsigned long  DMCBC;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :4;
+			unsigned long OPSEL:4;
+			unsigned long :5;
+			unsigned long SZSEL:3;
+			unsigned long :1;
+			unsigned long SMOD:3;
+			unsigned long :1;
+			unsigned long DMOD:3;
+		} BIT;
+	} DMMOD;
+	char           wk0[496];
+	void          *DMRSA;
+	void          *DMRDA;
+	unsigned long  DMRBC;
+	char           wk1[500];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :6;
+			unsigned long DSEL:2;
+			unsigned long :13;
+			unsigned long BRLOD:1;
+			unsigned long SRLOD:1;
+			unsigned long DRLOD:1;
+			unsigned long :2;
+			unsigned long DCTG:6;
+		} BIT;
+	} DMCRA;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DSCLR:1;
+		} BIT;
+	} DMCRB;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char ECLR:1;
+		} BIT;
+	} DMCRC;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DREQ:1;
+		} BIT;
+	} DMCRD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DEN:1;
+		} BIT;
+	} DMCRE;
+};
+
+struct st_dmac1 {
+	void          *DMCSA;
+	void          *DMCDA;
+	unsigned long  DMCBC;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :4;
+			unsigned long OPSEL:4;
+			unsigned long :5;
+			unsigned long SZSEL:3;
+			unsigned long :1;
+			unsigned long SMOD:3;
+			unsigned long :1;
+			unsigned long DMOD:3;
+		} BIT;
+	} DMMOD;
+	char           wk0[496];
+	void          *DMRSA;
+	void          *DMRDA;
+	unsigned long  DMRBC;
+	char           wk1[492];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :6;
+			unsigned long DSEL:2;
+			unsigned long :13;
+			unsigned long BRLOD:1;
+			unsigned long SRLOD:1;
+			unsigned long DRLOD:1;
+			unsigned long :2;
+			unsigned long DCTG:6;
+		} BIT;
+	} DMCRA;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DSCLR:1;
+		} BIT;
+	} DMCRB;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char ECLR:1;
+		} BIT;
+	} DMCRC;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DREQ:1;
+		} BIT;
+	} DMCRD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DEN:1;
+		} BIT;
+	} DMCRE;
+};
+
+struct st_dmac2 {
+	void          *DMCSA;
+	void          *DMCDA;
+	unsigned long  DMCBC;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :4;
+			unsigned long OPSEL:4;
+			unsigned long :5;
+			unsigned long SZSEL:3;
+			unsigned long :1;
+			unsigned long SMOD:3;
+			unsigned long :1;
+			unsigned long DMOD:3;
+		} BIT;
+	} DMMOD;
+	char           wk0[496];
+	void          *DMRSA;
+	void          *DMRDA;
+	unsigned long  DMRBC;
+	char           wk1[484];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :6;
+			unsigned long DSEL:2;
+			unsigned long :13;
+			unsigned long BRLOD:1;
+			unsigned long SRLOD:1;
+			unsigned long DRLOD:1;
+			unsigned long :2;
+			unsigned long DCTG:6;
+		} BIT;
+	} DMCRA;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DSCLR:1;
+		} BIT;
+	} DMCRB;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char ECLR:1;
+		} BIT;
+	} DMCRC;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DREQ:1;
+		} BIT;
+	} DMCRD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DEN:1;
+		} BIT;
+	} DMCRE;
+};
+
+struct st_dmac3 {
+	void          *DMCSA;
+	void          *DMCDA;
+	unsigned long  DMCBC;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :4;
+			unsigned long OPSEL:4;
+			unsigned long :5;
+			unsigned long SZSEL:3;
+			unsigned long :1;
+			unsigned long SMOD:3;
+			unsigned long :1;
+			unsigned long DMOD:3;
+		} BIT;
+	} DMMOD;
+	char           wk0[496];
+	void          *DMRSA;
+	void          *DMRDA;
+	unsigned long  DMRBC;
+	char           wk1[476];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :6;
+			unsigned long DSEL:2;
+			unsigned long :13;
+			unsigned long BRLOD:1;
+			unsigned long SRLOD:1;
+			unsigned long DRLOD:1;
+			unsigned long :2;
+			unsigned long DCTG:6;
+		} BIT;
+	} DMCRA;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DSCLR:1;
+		} BIT;
+	} DMCRB;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char ECLR:1;
+		} BIT;
+	} DMCRC;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DREQ:1;
+		} BIT;
+	} DMCRD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DEN:1;
+		} BIT;
+	} DMCRE;
+};
+
+struct st_dtc {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char RRS:1;
+			unsigned char RCHNE:1;
+			unsigned char :2;
+			unsigned char ERR: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;
+};
+
+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 :4;
+			unsigned short DBRE3:1;
+			unsigned short DBRE2:1;
+			unsigned short DBRE1:1;
+			unsigned short DBRE0:1;
+		} BIT;
+	} DFLRE;
+	char           wk4[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;
+	} DFLWE;
+	char           wk5[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :7;
+			unsigned short FCRME:1;
+		} BIT;
+	} FCURAME;
+	char           wk6[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 :5;
+			unsigned short FENTRY1:1;
+			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 FRKEY:8;
+			unsigned short :7;
+			unsigned short FRESET:1;
+		} BIT;
+	} FRESETR;
+	char           wk7[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short CMDR:8;
+			unsigned short PCMDR:8;
+		} BIT;
+	} FCMDR;
+	char           wk8[12];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short ESUSPMD:1;
+		} BIT;
+	} FCPSR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short BCADR:10;
+			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           wk9[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 :6;
+			unsigned char ISEL:2;
+		} BIT;
+	} ISELR[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[224];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char IPR:3;
+		} BIT;
+	} IPR[144];
+	char           wk3[96];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FIEN:1;
+			unsigned short :7;
+			unsigned short FVCT:8;
+		} BIT;
+	} FIR;
+	char           wk4[20238];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char IRQEN:1;
+		} BIT;
+	} IRQER[16];
+	char           wk5[16];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char IRQMD:2;
+		} BIT;
+	} IRQCR[16];
+	char           wk6[16];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SSI15:1;
+			unsigned short SSI14:1;
+			unsigned short SSI13:1;
+			unsigned short SSI12:1;
+			unsigned short SSI11:1;
+			unsigned short SSI10:1;
+			unsigned short SSI9:1;
+			unsigned short SSI8:1;
+			unsigned short SSI7:1;
+			unsigned short SSI6:1;
+			unsigned short SSI5:1;
+			unsigned short SSI4:1;
+			unsigned short SSI3:1;
+			unsigned short SSI2:1;
+			unsigned short SSI1:1;
+			unsigned short SSI0:1;
+		} BIT;
+	} SSIER;
+	char           wk7[14];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char NMIEN:1;
+		} BIT;
+	} NMIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char NMIMD:1;
+		} BIT;
+	} NMICR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char NMIST:1;
+		} BIT;
+	} NMISR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char NMICLR:1;
+		} BIT;
+	} NMICLR;
+};
+
+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;
+	} PFCR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CS7S:2;
+			unsigned char CS6S:2;
+			unsigned char CS5S:2;
+			unsigned char CS4S:2;
+		} BIT;
+	} PFCR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CS3S:1;
+			unsigned char CS2S:1;
+		} BIT;
+	} PFCR2;
+	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;
+	} PFCR3;
+	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;
+	} PFCR4;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char WR1BC1E:1;
+			unsigned char :1;
+			unsigned char DHE:1;
+			unsigned char TCLKS:1;
+		} BIT;
+	} PFCR5;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TPUMS5:1;
+			unsigned char TPUMS4:1;
+			unsigned char TPUMS3A:1;
+			unsigned char TPUMS3B:1;
+			unsigned char TPUMS2:1;
+			unsigned char TPUMS1:1;
+			unsigned char TPUMS0A:1;
+			unsigned char TPUMS0B:1;
+		} BIT;
+	} PFCR6;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TPUMS11:1;
+			unsigned char TPUMS10:1;
+			unsigned char TPUMS9A:1;
+			unsigned char TPUMS9B:1;
+			unsigned char TPUMS8:1;
+			unsigned char TPUMS7:1;
+			unsigned char TPUMS6A:1;
+			unsigned char TPUMS6B:1;
+		} BIT;
+	} PFCR7;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ITS15:1;
+			unsigned char ITS14:1;
+			unsigned char ITS13:1;
+			unsigned char ITS12:1;
+			unsigned char ITS11:1;
+			unsigned char ITS10:1;
+			unsigned char ITS9:1;
+			unsigned char ITS8:1;
+		} BIT;
+	} PFCR8;
+	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;
+	} PFCR9;
+};
+
+struct st_port0 {
+	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_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;
+};
+
+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 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_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 :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 :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 :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 :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_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;
+};
+
+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 :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 :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 :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 :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_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;
+};
+
+struct st_porth {
+	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_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_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 :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 :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;
+		} 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 :2;
+			unsigned long MSTPA28:1;
+			unsigned long MSTPA27:1;
+			unsigned long :3;
+			unsigned long MSTPA23:1;
+			unsigned long MSTPA22:1;
+			unsigned long MSTPA21:1;
+			unsigned long MSTPA20:1;
+			unsigned long MSTPA19:1;
+			unsigned long :3;
+			unsigned long MSTPA15:1;
+			unsigned long MSTPA14:1;
+			unsigned long MSTPA13:1;
+			unsigned long MSTPA12:1;
+			unsigned long MSTPA11:1;
+			unsigned long MSTPA10:1;
+			unsigned long :4;
+			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 MSTPB27: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;
+		} 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 :3;
+			unsigned long BCK:4;
+			unsigned long :4;
+			unsigned long PCK:4;
+		} BIT;
+	} SCKCR;
+	char           wk4[49756];
+	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 :3;
+			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 :3;
+			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;
+		} BIT;
+	} RSTSR;
+	char           wk5[10];
+	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_tpu0 {
+	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 ICSELD:1;
+			unsigned char ICSELB: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;
+};
+
+struct st_tpu1 {
+	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 ICSELB:1;
+			unsigned char :2;
+			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_tpua {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char CST5:1;
+			unsigned char CST4:1;
+			unsigned char CST3:1;
+			unsigned char CST2:1;
+			unsigned char CST1:1;
+			unsigned char CST0:1;
+		} BIT;
+	} TSTR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char SYNC5:1;
+			unsigned char SYNC4:1;
+			unsigned char SYNC3:1;
+			unsigned char SYNC2:1;
+			unsigned char SYNC1:1;
+			unsigned char SYNC0:1;
+		} BIT;
+	} TSYR;
+};
+
+union un_wdt {
+	struct {
+		unsigned short WINA;
+		unsigned short WINB;
+	} WRITE;
+	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;
+};
+
+enum enum_ir {
+IR_BSC_BUSERR=16,IR_FCU_FIFERR=21,IR_FCU_FRDYI=23,
+IR_CMT0_CMI0=28,
+IR_CMT1_CMI1,
+IR_CMT2_CMI2,
+IR_CMT3_CMI3,
+IR_ICU_IRQ0=64,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_WDT_WOVI=96,
+IR_AD0_ADI0=98,
+IR_AD1_ADI1,
+IR_AD2_ADI2,
+IR_AD3_ADI3,
+IR_TPU0_TGI0A=104,IR_TPU0_TGI0B,IR_TPU0_TGI0C,IR_TPU0_TGI0D,IR_TPU0_TCI0V,
+IR_TPU1_TGI1A=111,IR_TPU1_TGI1B,IR_TPU1_TCI1V=115,IR_TPU1_TCI1U,
+IR_TPU2_TGI2A,IR_TPU2_TGI2B,IR_TPU2_TCI2V=120,IR_TPU2_TCI2U,
+IR_TPU3_TGI3A,IR_TPU3_TGI3B,IR_TPU3_TGI3C,IR_TPU3_TGI3D,IR_TPU3_TCI3V,
+IR_TPU4_TGI4A,IR_TPU4_TGI4B,IR_TPU4_TCI4V=131,IR_TPU4_TCI4U,
+IR_TPU5_TGI5A,IR_TPU5_TGI5B,IR_TPU5_TCI5V=136,IR_TPU5_TCI5U,
+IR_TPU6_TGI6A,IR_TPU6_TGI6B,IR_TPU6_TGI6C,IR_TPU6_TGI6D,IR_TPU6_TCI6V,
+IR_TPU7_TGI7A=145,IR_TPU7_TGI7B,IR_TPU7_TCI7V=149,IR_TPU7_TCI7U,
+IR_TPU8_TGI8A,IR_TPU8_TGI8B,IR_TPU8_TCI8V=154,IR_TPU8_TCI8U,
+IR_TPU9_TGI9A,IR_TPU9_TGI9B,IR_TPU9_TGI9C,IR_TPU9_TGI9D,IR_TPU9_TCI9V,
+IR_TPU10_TGI10A,IR_TPU10_TGI10B,IR_TPU10_TCI10V=165,IR_TPU10_TCI10U,
+IR_TPU11_TGI11A,IR_TPU11_TGI11B,IR_TPU11_TCI11V=170,IR_TPU11_TCI11U,
+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_DMTEND0=198,IR_DMAC_DMTEND1,IR_DMAC_DMTEND2,IR_DMAC_DMTEND3,
+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_SCI4_ERI4,IR_SCI4_RXI4,IR_SCI4_TXI4,IR_SCI4_TEI4,
+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_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_isel {
+ISEL_CMT0_CMI0=28,
+ISEL_CMT1_CMI1,
+ISEL_CMT2_CMI2,
+ISEL_CMT3_CMI3,
+ISEL_ICU_IRQ0=64,ISEL_ICU_IRQ1,ISEL_ICU_IRQ2,ISEL_ICU_IRQ3,ISEL_ICU_IRQ4,ISEL_ICU_IRQ5,ISEL_ICU_IRQ6,ISEL_ICU_IRQ7,ISEL_ICU_IRQ8,ISEL_ICU_IRQ9,ISEL_ICU_IRQ10,ISEL_ICU_IRQ11,ISEL_ICU_IRQ12,ISEL_ICU_IRQ13,ISEL_ICU_IRQ14,ISEL_ICU_IRQ15,
+ISEL_AD0_ADI0=98,
+ISEL_AD1_ADI1,
+ISEL_AD2_ADI2,
+ISEL_AD3_ADI3,
+ISEL_TPU0_TGI0A=104,ISEL_TPU0_TGI0B,ISEL_TPU0_TGI0C,ISEL_TPU0_TGI0D,
+ISEL_TPU1_TGI1A=111,ISEL_TPU1_TGI1B,
+ISEL_TPU2_TGI2A=117,ISEL_TPU2_TGI2B,
+ISEL_TPU3_TGI3A=122,ISEL_TPU3_TGI3B,ISEL_TPU3_TGI3C,ISEL_TPU3_TGI3D,
+ISEL_TPU4_TGI4A=127,ISEL_TPU4_TGI4B,
+ISEL_TPU5_TGI5A=133,ISEL_TPU5_TGI5B,
+ISEL_TPU6_TGI6A=138,ISEL_TPU6_TGI6B,ISEL_TPU6_TGI6C,ISEL_TPU6_TGI6D,
+ISEL_TPU7_TGI7A=145,ISEL_TPU7_TGI7B,
+ISEL_TPU8_TGI8A=151,ISEL_TPU8_TGI8B,
+ISEL_TPU9_TGI9A=156,ISEL_TPU9_TGI9B,ISEL_TPU9_TGI9C,ISEL_TPU9_TGI9D,
+ISEL_TPU10_TGI10A=161,ISEL_TPU10_TGI10B,
+ISEL_TPU11_TGI11A=167,ISEL_TPU11_TGI11B,
+ISEL_TMR0_CMIA0=174,ISEL_TMR0_CMIB0,
+ISEL_TMR1_CMIA1=177,ISEL_TMR1_CMIB1,
+ISEL_TMR2_CMIA2=180,ISEL_TMR2_CMIB2,
+ISEL_TMR3_CMIA3=183,ISEL_TMR3_CMIB3,
+ISEL_DMAC_DMTEND0=198,ISEL_DMAC_DMTEND1,ISEL_DMAC_DMTEND2,ISEL_DMAC_DMTEND3,
+ISEL_SCI0_RXI0=215,ISEL_SCI0_TXI0,
+ISEL_SCI1_RXI1=219,ISEL_SCI1_TXI1,
+ISEL_SCI2_RXI2=223,ISEL_SCI2_TXI2,
+ISEL_SCI3_RXI3=227,ISEL_SCI3_TXI3,
+ISEL_SCI4_RXI4=231,ISEL_SCI4_TXI4,
+ISEL_SCI5_RXI5=235,ISEL_SCI5_TXI5,
+ISEL_SCI6_RXI6=239,ISEL_SCI6_TXI6,
+ISEL_RIIC0_ICRXI0=247,ISEL_RIIC0_ICTXI0,
+ISEL_RIIC1_ICRXI1=251,ISEL_RIIC1_ICTXI1
+};
+
+enum enum_ier {
+IER_BSC_BUSERR=0x02,
+IER_FCU_FIFERR=0x02,IER_FCU_FRDYI=0x02,
+IER_CMT0_CMI0=0x03,
+IER_CMT1_CMI1=0x03,
+IER_CMT2_CMI2=0x03,
+IER_CMT3_CMI3=0x03,
+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_WDT_WOVI=0x0C,
+IER_AD0_ADI0=0x0C,
+IER_AD1_ADI1=0x0C,
+IER_AD2_ADI2=0x0C,
+IER_AD3_ADI3=0x0C,
+IER_TPU0_TGI0A=0x0D,IER_TPU0_TGI0B=0x0D,IER_TPU0_TGI0C=0x0D,IER_TPU0_TGI0D=0x0D,IER_TPU0_TCI0V=0x0D,
+IER_TPU1_TGI1A=0x0D,IER_TPU1_TGI1B=0x0E,IER_TPU1_TCI1V=0x0E,IER_TPU1_TCI1U=0x0E,
+IER_TPU2_TGI2A=0x0E,IER_TPU2_TGI2B=0x0E,IER_TPU2_TCI2V=0x0F,IER_TPU2_TCI2U=0x0F,
+IER_TPU3_TGI3A=0x0F,IER_TPU3_TGI3B=0x0F,IER_TPU3_TGI3C=0x0F,IER_TPU3_TGI3D=0x0F,IER_TPU3_TCI3V=0x0F,
+IER_TPU4_TGI4A=0x0F,IER_TPU4_TGI4B=0x10,IER_TPU4_TCI4V=0x10,IER_TPU4_TCI4U=0x10,
+IER_TPU5_TGI5A=0x10,IER_TPU5_TGI5B=0x10,IER_TPU5_TCI5V=0x11,IER_TPU5_TCI5U=0x11,
+IER_TPU6_TGI6A=0x11,IER_TPU6_TGI6B=0x11,IER_TPU6_TGI6C=0x11,IER_TPU6_TGI6D=0x11,IER_TPU6_TCI6V=0x11,
+IER_TPU7_TGI7A=0x12,IER_TPU7_TGI7B=0x12,IER_TPU7_TCI7V=0x12,IER_TPU7_TCI7U=0x12,
+IER_TPU8_TGI8A=0x12,IER_TPU8_TGI8B=0x13,IER_TPU8_TCI8V=0x13,IER_TPU8_TCI8U=0x13,
+IER_TPU9_TGI9A=0x13,IER_TPU9_TGI9B=0x13,IER_TPU9_TGI9C=0x13,IER_TPU9_TGI9D=0x13,IER_TPU9_TCI9V=0x14,
+IER_TPU10_TGI10A=0x14,IER_TPU10_TGI10B=0x14,IER_TPU10_TCI10V=0x14,IER_TPU10_TCI10U=0x14,
+IER_TPU11_TGI11A=0x14,IER_TPU11_TGI11B=0x15,IER_TPU11_TCI11V=0x15,IER_TPU11_TCI11U=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_DMTEND0=0x18,IER_DMAC_DMTEND1=0x18,IER_DMAC_DMTEND2=0x19,IER_DMAC_DMTEND3=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_SCI4_ERI4=0x1C,IER_SCI4_RXI4=0x1C,IER_SCI4_TXI4=0x1D,IER_SCI4_TEI4=0x1D,
+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_CMT0_CMI0=0x04,
+IPR_CMT1_CMI1=0x05,
+IPR_CMT2_CMI2=0x06,
+IPR_CMT3_CMI3=0x07,
+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_WDT_WOVI=0x40,
+IPR_AD0_ADI0=0x44,
+IPR_AD1_ADI1=0x45,
+IPR_AD2_ADI2=0x46,
+IPR_AD3_ADI3=0x47,
+IPR_TPU0_TGI0A=0x4C,IPR_TPU0_TGI0B=0x4C,IPR_TPU0_TGI0C=0x4C,IPR_TPU0_TGI0D=0x4C,IPR_TPU0_TCI0V=0x4D,
+IPR_TPU1_TGI1A=0x4E,IPR_TPU1_TGI1B=0x4E,IPR_TPU1_TCI1V=0x4F,IPR_TPU1_TCI1U=0x4F,
+IPR_TPU2_TGI2A=0x50,IPR_TPU2_TGI2B=0x50,IPR_TPU2_TCI2V=0x51,IPR_TPU2_TCI2U=0x51,
+IPR_TPU3_TGI3A=0x52,IPR_TPU3_TGI3B=0x52,IPR_TPU3_TGI3C=0x52,IPR_TPU3_TGI3D=0x52,IPR_TPU3_TCI3V=0x53,
+IPR_TPU4_TGI4A=0x54,IPR_TPU4_TGI4B=0x54,IPR_TPU4_TCI4V=0x55,IPR_TPU4_TCI4U=0x55,
+IPR_TPU5_TGI5A=0x56,IPR_TPU5_TGI5B=0x56,IPR_TPU5_TCI5V=0x57,IPR_TPU5_TCI5U=0x57,
+IPR_TPU6_TGI6A=0x58,IPR_TPU6_TGI6B=0x58,IPR_TPU6_TGI6C=0x58,IPR_TPU6_TGI6D=0x58,IPR_TPU6_TCI6V=0x59,
+IPR_TPU7_TGI7A=0x5A,IPR_TPU7_TGI7B=0x5A,IPR_TPU7_TCI7V=0x5B,IPR_TPU7_TCI7U=0x5B,
+IPR_TPU8_TGI8A=0x5C,IPR_TPU8_TGI8B=0x5C,IPR_TPU8_TCI8V=0x5D,IPR_TPU8_TCI8U=0x5D,
+IPR_TPU9_TGI9A=0x5E,IPR_TPU9_TGI9B=0x5E,IPR_TPU9_TGI9C=0x5E,IPR_TPU9_TGI9D=0x5E,IPR_TPU9_TCI9V=0x5F,
+IPR_TPU10_TGI10A=0x60,IPR_TPU10_TGI10B=0x60,IPR_TPU10_TCI10V=0x61,IPR_TPU10_TCI10U=0x61,
+IPR_TPU11_TGI11A=0x62,IPR_TPU11_TGI11B=0x62,IPR_TPU11_TCI11V=0x63,IPR_TPU11_TCI11U=0x63,
+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_DMTEND0=0x70,IPR_DMAC_DMTEND1=0x71,IPR_DMAC_DMTEND2=0x72,IPR_DMAC_DMTEND3=0x73,
+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_SCI4_ERI4=0x84,IPR_SCI4_RXI4=0x84,IPR_SCI4_TXI4=0x84,IPR_SCI4_TEI4=0x84,
+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_WDT_=0x40,
+IPR_AD0_=0x44,
+IPR_AD1_=0x45,
+IPR_AD2_=0x46,
+IPR_AD3_=0x47,
+IPR_TPU0_TGI=0x4C,
+IPR_TPU1_TGI=0x4E,
+IPR_TPU1_TCI=0x4F,
+IPR_TPU2_TGI=0x50,
+IPR_TPU2_TCI=0x51,
+IPR_TPU3_TGI=0x52,
+IPR_TPU4_TGI=0x54,
+IPR_TPU4_TCI=0x55,
+IPR_TPU5_TGI=0x56,
+IPR_TPU5_TCI=0x57,
+IPR_TPU6_TGI=0x58,
+IPR_TPU7_TGI=0x5A,
+IPR_TPU7_TCI=0x5B,
+IPR_TPU8_TGI=0x5C,
+IPR_TPU8_TCI=0x5D,
+IPR_TPU9_TGI=0x5E,
+IPR_TPU10_TGI=0x60,
+IPR_TPU10_TCI=0x61,
+IPR_TPU11_TGI=0x62,
+IPR_TPU11_TCI=0x63,
+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_SCI4_=0x84,
+IPR_SCI5_=0x85,
+IPR_SCI6_=0x86
+};
+
+#define	IEN_BSC_BUSERR		IEN0
+#define	IEN_FCU_FIFERR		IEN5
+#define	IEN_FCU_FRDYI		IEN7
+#define	IEN_CMT0_CMI0		IEN4
+#define	IEN_CMT1_CMI1		IEN5
+#define	IEN_CMT2_CMI2		IEN6
+#define	IEN_CMT3_CMI3		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_WDT_WOVI		IEN0
+#define	IEN_AD0_ADI0		IEN2
+#define	IEN_AD1_ADI1		IEN3
+#define	IEN_AD2_ADI2		IEN4
+#define	IEN_AD3_ADI3		IEN5
+#define	IEN_TPU0_TGI0A		IEN0
+#define	IEN_TPU0_TGI0B		IEN1
+#define	IEN_TPU0_TGI0C		IEN2
+#define	IEN_TPU0_TGI0D		IEN3
+#define	IEN_TPU0_TCI0V		IEN4
+#define	IEN_TPU1_TGI1A		IEN7
+#define	IEN_TPU1_TGI1B		IEN0
+#define	IEN_TPU1_TCI1V		IEN3
+#define	IEN_TPU1_TCI1U		IEN4
+#define	IEN_TPU2_TGI2A		IEN5
+#define	IEN_TPU2_TGI2B		IEN6
+#define	IEN_TPU2_TCI2V		IEN0
+#define	IEN_TPU2_TCI2U		IEN1
+#define	IEN_TPU3_TGI3A		IEN2
+#define	IEN_TPU3_TGI3B		IEN3
+#define	IEN_TPU3_TGI3C		IEN4
+#define	IEN_TPU3_TGI3D		IEN5
+#define	IEN_TPU3_TCI3V		IEN6
+#define	IEN_TPU4_TGI4A		IEN7
+#define	IEN_TPU4_TGI4B		IEN0
+#define	IEN_TPU4_TCI4V		IEN3
+#define	IEN_TPU4_TCI4U		IEN4
+#define	IEN_TPU5_TGI5A		IEN5
+#define	IEN_TPU5_TGI5B		IEN6
+#define	IEN_TPU5_TCI5V		IEN0
+#define	IEN_TPU5_TCI5U		IEN1
+#define	IEN_TPU6_TGI6A		IEN2
+#define	IEN_TPU6_TGI6B		IEN3
+#define	IEN_TPU6_TGI6C		IEN4
+#define	IEN_TPU6_TGI6D		IEN5
+#define	IEN_TPU6_TCI6V		IEN6
+#define	IEN_TPU7_TGI7A		IEN1
+#define	IEN_TPU7_TGI7B		IEN2
+#define	IEN_TPU7_TCI7V		IEN5
+#define	IEN_TPU7_TCI7U		IEN6
+#define	IEN_TPU8_TGI8A		IEN7
+#define	IEN_TPU8_TGI8B		IEN0
+#define	IEN_TPU8_TCI8V		IEN2
+#define	IEN_TPU8_TCI8U		IEN3
+#define	IEN_TPU9_TGI9A		IEN4
+#define	IEN_TPU9_TGI9B		IEN5
+#define	IEN_TPU9_TGI9C		IEN6
+#define	IEN_TPU9_TGI9D		IEN7
+#define	IEN_TPU9_TCI9V		IEN0
+#define	IEN_TPU10_TGI10A	IEN1
+#define	IEN_TPU10_TGI10B	IEN2
+#define	IEN_TPU10_TCI10V	IEN5
+#define	IEN_TPU10_TCI10U	IEN6
+#define	IEN_TPU11_TGI11A	IEN7
+#define	IEN_TPU11_TGI11B	IEN0
+#define	IEN_TPU11_TCI11V	IEN2
+#define	IEN_TPU11_TCI11U	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_DMTEND0	IEN6
+#define	IEN_DMAC_DMTEND1	IEN7
+#define	IEN_DMAC_DMTEND2	IEN0
+#define	IEN_DMAC_DMTEND3	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_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_SCI4_ERI4		IEN6
+#define	IEN_SCI4_RXI4		IEN7
+#define	IEN_SCI4_TXI4		IEN0
+#define	IEN_SCI4_TEI4		IEN1
+#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_CMT0_CMI0		28
+#define	VECT_CMT1_CMI1		29
+#define	VECT_CMT2_CMI2		30
+#define	VECT_CMT3_CMI3		31
+#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_WDT_WOVI		96
+#define	VECT_AD0_ADI0		98
+#define	VECT_AD1_ADI1		99
+#define	VECT_AD2_ADI2		100
+#define	VECT_AD3_ADI3		101
+#define	VECT_TPU0_TGI0A		104
+#define	VECT_TPU0_TGI0B		105
+#define	VECT_TPU0_TGI0C		106
+#define	VECT_TPU0_TGI0D		107
+#define	VECT_TPU0_TCI0V		108
+#define	VECT_TPU1_TGI1A		111
+#define	VECT_TPU1_TGI1B		112
+#define	VECT_TPU1_TCI1V		115
+#define	VECT_TPU1_TCI1U		116
+#define	VECT_TPU2_TGI2A		117
+#define	VECT_TPU2_TGI2B		118
+#define	VECT_TPU2_TCI2V		120
+#define	VECT_TPU2_TCI2U		121
+#define	VECT_TPU3_TGI3A		122
+#define	VECT_TPU3_TGI3B		123
+#define	VECT_TPU3_TGI3C		124
+#define	VECT_TPU3_TGI3D		125
+#define	VECT_TPU3_TCI3V		126
+#define	VECT_TPU4_TGI4A		127
+#define	VECT_TPU4_TGI4B		128
+#define	VECT_TPU4_TCI4V		131
+#define	VECT_TPU4_TCI4U		132
+#define	VECT_TPU5_TGI5A		133
+#define	VECT_TPU5_TGI5B		134
+#define	VECT_TPU5_TCI5V		136
+#define	VECT_TPU5_TCI5U		137
+#define	VECT_TPU6_TGI6A		138
+#define	VECT_TPU6_TGI6B		139
+#define	VECT_TPU6_TGI6C		140
+#define	VECT_TPU6_TGI6D		141
+#define	VECT_TPU6_TCI6V		142
+#define	VECT_TPU7_TGI7A		145
+#define	VECT_TPU7_TGI7B		146
+#define	VECT_TPU7_TCI7V		149
+#define	VECT_TPU7_TCI7U		150
+#define	VECT_TPU8_TGI8A		151
+#define	VECT_TPU8_TGI8B		152
+#define	VECT_TPU8_TCI8V		154
+#define	VECT_TPU8_TCI8U		155
+#define	VECT_TPU9_TGI9A		156
+#define	VECT_TPU9_TGI9B		157
+#define	VECT_TPU9_TGI9C		158
+#define	VECT_TPU9_TGI9D		159
+#define	VECT_TPU9_TCI9V		160
+#define	VECT_TPU10_TGI10A	161
+#define	VECT_TPU10_TGI10B	162
+#define	VECT_TPU10_TCI10V	165
+#define	VECT_TPU10_TCI10U	166
+#define	VECT_TPU11_TGI11A	167
+#define	VECT_TPU11_TGI11B	168
+#define	VECT_TPU11_TCI11V	170
+#define	VECT_TPU11_TCI11U	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_DMTEND0	198
+#define	VECT_DMAC_DMTEND1	199
+#define	VECT_DMAC_DMTEND2	200
+#define	VECT_DMAC_DMTEND3	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_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_SCI4_ERI4		230
+#define	VECT_SCI4_RXI4		231
+#define	VECT_SCI4_TXI4		232
+#define	VECT_SCI4_TEI4		233
+#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_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_DMAC	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_DTC	SYSTEM.MSTPCRA.BIT.MSTPA27
+#define	MSTP_AD0	SYSTEM.MSTPCRA.BIT.MSTPA23
+#define	MSTP_AD1	SYSTEM.MSTPCRA.BIT.MSTPA22
+#define	MSTP_AD2	SYSTEM.MSTPCRA.BIT.MSTPA21
+#define	MSTP_AD3	SYSTEM.MSTPCRA.BIT.MSTPA20
+#define	MSTP_DA		SYSTEM.MSTPCRA.BIT.MSTPA19
+#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_TPUA	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU0	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU1	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU2	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU3	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU4	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU5	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPUB	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU6	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU7	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU8	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU9	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU10	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU11	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_PPG0	SYSTEM.MSTPCRA.BIT.MSTPA11
+#define	MSTP_PPG1	SYSTEM.MSTPCRA.BIT.MSTPA10
+#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_SCI4	SYSTEM.MSTPCRB.BIT.MSTPB27
+#define	MSTP_SMCI4	SYSTEM.MSTPCRB.BIT.MSTPB27
+#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_RAM1	SYSTEM.MSTPCRC.BIT.MSTPC1
+#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	__ISEL( x )		ICU.ISELR[ ISEL ## x ].BIT.ISEL
+#define	 _ISEL( x )		__ISEL( x )
+#define	  ISEL( x , y )	_ISEL( _ ## 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	AD2		(*(volatile struct st_ad     __evenaccess *)0x88080)
+#define	AD3		(*(volatile struct st_ad     __evenaccess *)0x880A0)
+#define	BSC		(*(volatile struct st_bsc    __evenaccess *)0x81300)
+#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 *)0x82502)
+#define	DMAC0	(*(volatile struct st_dmac0  __evenaccess *)0x82000)
+#define	DMAC1	(*(volatile struct st_dmac1  __evenaccess *)0x82010)
+#define	DMAC2	(*(volatile struct st_dmac2  __evenaccess *)0x82020)
+#define	DMAC3	(*(volatile struct st_dmac3  __evenaccess *)0x82030)
+#define	DTC		(*(volatile struct st_dtc    __evenaccess *)0x87400)
+#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	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	PORTH	(*(volatile struct st_porth  __evenaccess *)0x8C011)
+#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	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	SCI4	(*(volatile struct st_sci    __evenaccess *)0x88260)
+#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	SMCI4	(*(volatile struct st_smci   __evenaccess *)0x88260)
+#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	TPU0	(*(volatile struct st_tpu0   __evenaccess *)0x88110)
+#define	TPU1	(*(volatile struct st_tpu1   __evenaccess *)0x88120)
+#define	TPU2	(*(volatile struct st_tpu1   __evenaccess *)0x88130)
+#define	TPU3	(*(volatile struct st_tpu0   __evenaccess *)0x88140)
+#define	TPU4	(*(volatile struct st_tpu1   __evenaccess *)0x88150)
+#define	TPU5	(*(volatile struct st_tpu1   __evenaccess *)0x88160)
+#define	TPU6	(*(volatile struct st_tpu0   __evenaccess *)0x88180)
+#define	TPU7	(*(volatile struct st_tpu1   __evenaccess *)0x88190)
+#define	TPU8	(*(volatile struct st_tpu1   __evenaccess *)0x881A0)
+#define	TPU9	(*(volatile struct st_tpu0   __evenaccess *)0x881B0)
+#define	TPU10	(*(volatile struct st_tpu1   __evenaccess *)0x881C0)
+#define	TPU11	(*(volatile struct st_tpu1   __evenaccess *)0x881D0)
+#define	TPUA	(*(volatile struct st_tpua   __evenaccess *)0x88100)
+#define	TPUB	(*(volatile struct st_tpua   __evenaccess *)0x88170)
+#define	WDT		(*(volatile union un_wdt     __evenaccess *)0x88028)
+#pragma bit_order
+#pragma packoption
+#endif
\ No newline at end of file
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx62n/iodefine.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx62n/iodefine.h
new file mode 100644
index 0000000000..4280c6fb62
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx62n/iodefine.h
@@ -0,0 +1,7188 @@
+/************************************************************************
+*
+* Device     : RX/RX600/RX62N
+*
+* File Name  : ioedfine.h
+*
+* Abstract   : Definition of I/O Register.
+*
+* History    : 1.00  (2010-02-18)  [Hardware Manual Revision : 0.5]
+*            : 1.01  (2010-04-21)  [Hardware Manual Revision : 0.5]
+*            : 2.00  (2010-08-21)  [Hardware Manual Revision : 1.0]
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+*  Copyright (C) 2010 Renesas Electronics Corporation 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
\ No newline at end of file
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx62t/iodefine.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx62t/iodefine.h
new file mode 100644
index 0000000000..20f33e35ea
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx62t/iodefine.h
@@ -0,0 +1,4673 @@
+/************************************************************************
+*
+* Device     : RX/RX600/RX62T
+*
+* File Name  : ioedfine.h
+*
+* Abstract   : Definition of I/O Register.
+*
+* History    : 0.20 (2010-05-15) [Hardware Manual Revision : 0.20]
+*            : 1.00 (2010-11-03) [Hardware Manual Revision : 1.00]
+*            : 1.01 (2011-11-29) Changed IR flag names for FCU flags to 
+*                                be the same as other RX devices. 
+*                                (IR_FCU_FIFERR=21,IR_FCU_FRDYI=23,)
+*                                instead of:
+*                                (IR_FCUIF_FIFERR=21,IR_FCUIF_FRDYI=23,)
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+*  Copyright (C) 2010 Renesas Electronics Corporation and
+*  Renesas Solutions Corp. All rights reserved.
+*
+************************************************************************/
+/********************************************************************************/
+/*                                                                              */
+/*  DESCRIPTION : Definition of ICU Register                                    */
+/*  CPU TYPE    : RX62T                                                         */
+/*                                                                              */
+/*  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;                                          */
+/*                                                                              */
+/*  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(SCI0) = 0;    // SCI0,SMCI0                         expands to :  */
+/*         SYSTEM.MSTPCRB.BIT.MSTPB31 = 0;                                      */
+/*       MSTP(MTU4) = 0;    // MTU,MTU0,MTU1,MTU2,MTU3,MTU4,...   expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA9  = 0;                                      */
+/*       MSTP(CMT3) = 0;    // CMT2,CMT3                          expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA14 = 0;                                      */
+/*                                                                              */
+/*                                                                              */
+/********************************************************************************/
+#ifndef __RX62TIODEFINE_HEADER__
+#define __RX62TIODEFINE_HEADER__
+#pragma bit_order left
+#pragma unpack
+struct st_ad {
+	unsigned short ADDRA;
+	unsigned short ADDRB;
+	unsigned short ADDRC;
+	unsigned short ADDRD;
+	unsigned short ADDRE;
+	unsigned short ADDRF;
+	unsigned short ADDRG;
+	unsigned short ADDRH;
+	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 :4;
+			unsigned char CKS:2;
+			unsigned char MODE:2;
+		} BIT;
+	} ADCR;
+	char           wk0[9];
+	unsigned char  ADSSTR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char DIAG:2;
+		} BIT;
+	} ADDIAGR;
+	char           wk2[2];
+	unsigned short ADDRI;
+	unsigned short ADDRJ;
+	unsigned short ADDRK;
+	unsigned short ADDRL;
+	char           wk3[8];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char ADSTRS:5;
+		} BIT;
+	} ADSTRGR;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSEL:1;
+			unsigned char :6;
+			unsigned char DPPRC:1;
+		} BIT;
+	} ADDPR;
+};
+
+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 :7;
+			unsigned char IGAEN:1;
+		} BIT;
+	} BEREN;
+	char           wk1[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MST:3;
+			unsigned char :3;
+			unsigned char IA:1;
+		} BIT;
+	} BERSR1;
+	char           wk2[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADDR:13;
+		} BIT;
+	} BERSR2;
+};
+
+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 TRMREQ:1;
+				unsigned char RECREQ:1;
+				unsigned char :1;
+				unsigned char ONESHOT:1;
+				unsigned char :1;
+				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_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_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 DBRE7:1;
+			unsigned short DBRE6:1;
+			unsigned short DBRE5:1;
+			unsigned short DBRE4:1;
+			unsigned short DBRE3:1;
+			unsigned short DBRE2:1;
+			unsigned short DBRE1:1;
+			unsigned short DBRE0: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 DBRE9:1;
+			unsigned short DBRE8:1;
+		} BIT;
+	} DFLRE1;
+	char           wk4[12];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short DBWE7:1;
+			unsigned short DBWE6:1;
+			unsigned short DBWE5:1;
+			unsigned short DBWE4:1;
+			unsigned short DBWE3:1;
+			unsigned short DBWE2:1;
+			unsigned short DBWE1:1;
+			unsigned short DBWE0: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 DBWE9:1;
+			unsigned short DBWE8: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 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 :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_gpt {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :8;
+			unsigned char :4;
+			unsigned char CST3:1;
+			unsigned char CST2:1;
+			unsigned char CST1:1;
+			unsigned char CST0:1;
+		} BIT;
+	} GTSTR;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char CPHW3:2;
+			unsigned char CPHW2:2;
+			unsigned char CPHW1:2;
+			unsigned char CPHW0:2;
+			unsigned char CSHW3:2;
+			unsigned char CSHW2:2;
+			unsigned char CSHW1:2;
+			unsigned char CSHW0:2;
+		} BIT;
+	} GTHSCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char CCSW3:1;
+			unsigned char CCSW2:1;
+			unsigned char CCSW1:1;
+			unsigned char CCSW0:1;
+			unsigned char CCHW3:2;
+			unsigned char CCHW2:2;
+			unsigned char CCHW1:2;
+			unsigned char CCHW0:2;
+		} BIT;
+	} GTHCCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char CSHSL3:4;
+			unsigned char CSHSL2:4;
+			unsigned char CSHSL1:4;
+			unsigned char CSHSL0:4;
+		} BIT;
+	} GTHSSR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char CSHPL3:4;
+			unsigned char CSHPL2:4;
+			unsigned char CSHPL1:4;
+			unsigned char CSHPL0:4;
+		} BIT;
+	} GTHPSR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :8;
+			unsigned char :4;
+			unsigned char WP3:1;
+			unsigned char WP2:1;
+			unsigned char WP1:1;
+			unsigned char WP0:1;
+		} BIT;
+	} GTWP;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char SYNC3:2;
+			unsigned char :2;
+			unsigned char SYNC2:2;
+			unsigned char :2;
+			unsigned char SYNC1:2;
+			unsigned char :2;
+			unsigned char SYNC0:2;
+		} BIT;
+	} GTSYNC;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char ETINF:1;
+			unsigned char ETIPF:1;
+			unsigned char :6;
+			unsigned char ETINEN:1;
+			unsigned char ETIPEN:1;
+		} BIT;
+	} GTETINT;
+	char           wk1[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char BD33:1;
+			unsigned char BD32:1;
+			unsigned char BD31:1;
+			unsigned char BD30:1;
+			unsigned char BD23:1;
+			unsigned char BD22:1;
+			unsigned char BD21:1;
+			unsigned char BD20:1;
+			unsigned char BD13:1;
+			unsigned char BD12:1;
+			unsigned char BD11:1;
+			unsigned char BD10:1;
+			unsigned char BD03:1;
+			unsigned char BD02:1;
+			unsigned char BD01:1;
+			unsigned char BD00:1;
+		} BIT;
+	} GTBDR;
+	char           wk2[106];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char LPSC:2;
+			unsigned char TPSC:2;
+			unsigned char LCNTAT:1;
+			unsigned char LCTO:3;
+			unsigned char :1;
+			unsigned char LCINTO:1;
+			unsigned char LCINTD:1;
+			unsigned char LCINTC:1;
+			unsigned char :1;
+			unsigned char LCNTS:1;
+			unsigned char LCNTCR:1;
+			unsigned char LCNTE:1;
+		} BIT;
+	} LCCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :8;
+			unsigned char :5;
+			unsigned char LISO:1;
+			unsigned char LISD:1;
+			unsigned char LISC:1;
+		} BIT;
+	} LCST;
+	unsigned short LCNT;
+	unsigned short LCNTA;
+	unsigned short LCNT00;
+	unsigned short LCNT01;
+	unsigned short LCNT02;
+	unsigned short LCNT03;
+	unsigned short LCNT04;
+	unsigned short LCNT05;
+	unsigned short LCNT06;
+	unsigned short LCNT07;
+	unsigned short LCNT08;
+	unsigned short LCNT09;
+	unsigned short LCNT10;
+	unsigned short LCNT11;
+	unsigned short LCNT12;
+	unsigned short LCNT13;
+	unsigned short LCNT14;
+	unsigned short LCNT15;
+	unsigned short LCNTDU;
+	unsigned short LCNTDL;
+};
+
+struct st_gpt0 {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char OBHLD:1;
+			unsigned char OBDFLT:1;
+			unsigned char GTIOB:6;
+			unsigned char OAHLD:1;
+			unsigned char OADFLT:1;
+			unsigned char GTIOA:6;
+		} BIT;
+	} GTIOR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char ADTRBDEN:1;
+			unsigned char ADTRBUEN:1;
+			unsigned char ADTRADEN:1;
+			unsigned char ADTRAUEN:1;
+			unsigned char EINT:1;
+			unsigned char :3;
+			unsigned char GTINTPR:2;
+			unsigned char GTINTF:1;
+			unsigned char GTINTE:1;
+			unsigned char GTINTD:1;
+			unsigned char GTINTC:1;
+			unsigned char GTINTB:1;
+			unsigned char GTINTA:1;
+		} BIT;
+	} GTINTAD;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char CCLR:2;
+			unsigned char :2;
+			unsigned char TPCS:2;
+			unsigned char :5;
+			unsigned char MD:3;
+		} BIT;
+	} GTCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ADTDB:1;
+			unsigned char ADTTB:2;
+			unsigned char :1;
+			unsigned char ADTDA:1;
+			unsigned char ADTTA:2;
+			unsigned char :1;
+			unsigned char CCRSWT:1;
+			unsigned char PR:2;
+			unsigned char CCRB:2;
+			unsigned char CCRA:2;
+		} BIT;
+	} GTBER;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :8;
+			unsigned char :6;
+			unsigned char UDF:1;
+			unsigned char UD:1;
+		} BIT;
+	} GTUDC;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ADTBL:1;
+			unsigned char :1;
+			unsigned char ADTAL:1;
+			unsigned char :1;
+			unsigned char IVTT:3;
+			unsigned char IVTC:2;
+			unsigned char ITLF:1;
+			unsigned char ITLE:1;
+			unsigned char ITLD:1;
+			unsigned char ITLC:1;
+			unsigned char ITLB:1;
+			unsigned char ITLA:1;
+		} BIT;
+	} GTITC;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char TUCF:1;
+			unsigned char :3;
+			unsigned char DTEF:1;
+			unsigned char ITCNT:3;
+			unsigned char TCFPU:1;
+			unsigned char TCFPO:1;
+			unsigned char TCFF:1;
+			unsigned char TCFE:1;
+			unsigned char TCFD:1;
+			unsigned char TCFC:1;
+			unsigned char TCFB:1;
+			unsigned char TCFA:1;
+		} BIT;
+	} GTST;
+	unsigned short GTCNT;
+	unsigned short GTCCRA;
+	unsigned short GTCCRB;
+	unsigned short GTCCRC;
+	unsigned short GTCCRD;
+	unsigned short GTCCRE;
+	unsigned short GTCCRF;
+	unsigned short GTPR;
+	unsigned short GTPBR;
+	unsigned short GTPDBR;
+	char           wk0[2];
+	unsigned short GTADTRA;
+	unsigned short GTADTBRA;
+	unsigned short GTADTDBRA;
+	char           wk1[2];
+	unsigned short GTADTRB;
+	unsigned short GTADTBRB;
+	unsigned short GTADTDBRB;
+	char           wk2[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short OBE:1;
+			unsigned short OAE:1;
+			unsigned short :1;
+			unsigned short SWN:1;
+			unsigned short :3;
+			unsigned short NFV:1;
+			unsigned short NFS:4;
+			unsigned short NVB:1;
+			unsigned short NVA:1;
+			unsigned short NEB:1;
+			unsigned short NEA:1;
+		} BIT;
+	} GTONCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short TDFER:1;
+			unsigned short :2;
+			unsigned short TDBDE:1;
+			unsigned short TDBUE:1;
+			unsigned short :3;
+			unsigned short TDE:1;
+		} BIT;
+	} GTDTCR;
+	unsigned short GTDVU;
+	unsigned short GTDVD;
+	unsigned short GTDBU;
+	unsigned short GTDBD;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :14;
+			unsigned short SOS:2;
+		} BIT;
+	} GTSOS;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short SOTR:1;
+		} BIT;
+	} GTSOTR;
+};
+
+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[145];
+	char           wk5[367];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char IRQMD:2;
+		} BIT;
+	} IRQCR[8];
+	char           wk6[120];
+	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 :4;
+			unsigned char ITS1:2;
+			unsigned char ITS0:2;
+		} BIT;
+	} PF8IRQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char ITS2:1;
+		} BIT;
+	} PF9IRQ;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char ADTRG1S:1;
+			unsigned char ADTRG0S:1;
+		} BIT;
+	} PFAADC;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TCLKS:2;
+			unsigned char :4;
+			unsigned char MTUS1:1;
+			unsigned char MTUS0:1;
+		} BIT;
+	} PFCMTU;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char GPTS:1;
+		} BIT;
+	} PFDGPT;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SCI2S: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;
+		} BIT;
+	} PFGSPI;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char RSPIS:2;
+		} BIT;
+	} PFHSPI;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CANS:2;
+			unsigned char :5;
+			unsigned char CANE:1;
+		} BIT;
+	} PFJCAN;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char LINE:1;
+		} BIT;
+	} PFKLIN;
+	char           wk3[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char POE11E:1;
+			unsigned char POE10E:1;
+			unsigned char POE8E:1;
+			unsigned char POE4E:1;
+			unsigned char POE0E:1;
+		} BIT;
+	} PFMPOE;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char POE10S: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_lin {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char LWBR0:1;
+		} BIT;
+	} LWBR;
+	unsigned char  LBRP0;
+	unsigned char  LBRP1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char LSTM:1;
+		} BIT;
+	} LSTC;
+	char           wk0[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char LCKS:2;
+		} BIT;
+	} LMD;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char BDT:2;
+			unsigned char BLT:4;
+		} BIT;
+	} LBRK;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char IBS:2;
+			unsigned char :1;
+			unsigned char IBSH:3;
+		} BIT;
+	} LSPC;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char WUTL:4;
+		} BIT;
+	} LWUP;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char ERRIE:1;
+			unsigned char FRCIE:1;
+			unsigned char FTCIE:1;
+		} BIT;
+	} LIE;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char FERE:1;
+			unsigned char FTERE:1;
+			unsigned char PBERE:1;
+			unsigned char BERE:1;
+		} BIT;
+	} LEDE;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char OM1:1;
+			unsigned char OM0:1;
+		} BIT;
+	} LC;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char RTS:1;
+			unsigned char FTS:1;
+		} BIT;
+	} LTC;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char OMM1:1;
+			unsigned char OMM0:1;
+		} BIT;
+	} LMST;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char HTRC:1;
+			unsigned char D1RC:1;
+			unsigned char :2;
+			unsigned char ERR:1;
+			unsigned char :1;
+			unsigned char FRC:1;
+			unsigned char FTC:1;
+		} BIT;
+	} LST;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char CSER:1;
+			unsigned char :1;
+			unsigned char FER:1;
+			unsigned char FTER:1;
+			unsigned char PBER:1;
+			unsigned char BER:1;
+		} BIT;
+	} LEST;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char FSM:1;
+			unsigned char CSM:1;
+			unsigned char RFT:1;
+			unsigned char RFDL:4;
+		} BIT;
+	} LRFC;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IDP:1;
+			unsigned char :1;
+			unsigned char ID:1;
+		} BIT;
+	} LIDB;
+	unsigned char  LCBR;
+	char           wk2[1];
+	unsigned char  LDB1;
+	unsigned char  LDB2;
+	unsigned char  LDB3;
+	unsigned char  LDB4;
+	unsigned char  LDB5;
+	unsigned char  LDB6;
+	unsigned char  LDB7;
+	unsigned char  LDB8;
+};
+
+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;
+	} TOERA;
+	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;
+	} TGCRA;
+	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;
+	} TOCR1A;
+	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;
+	} TOCR2A;
+	char           wk1[4];
+	unsigned short TCDRA;
+	unsigned short TDDRA;
+	char           wk2[8];
+	unsigned short TCNTSA;
+	unsigned short TCBRA;
+	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;
+	} TITCR1A;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char T3ACNT:3;
+			unsigned char :1;
+			unsigned char T4VCNT:3;
+		} BIT;
+	} TITCNT1A;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char BTE:2;
+		} BIT;
+	} TBTERA;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TDER:1;
+		} BIT;
+	} TDERA;
+	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;
+	} TOLBRA;
+	char           wk6[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TITM:1;
+		} BIT;
+	} TITMRA;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TRG4COR:3;
+		} BIT;
+	} TITCR2A;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TRG4CNT:3;
+		} BIT;
+	} TITCNT2A;
+	char           wk7[35];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCE:1;
+			unsigned char :6;
+			unsigned char WRE:1;
+		} BIT;
+	} TWCRA;
+	char           wk8[15];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DRS:1;
+		} BIT;
+	} TMDR2A;
+	char           wk9[15];
+	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;
+	} TSTRA;
+	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;
+	} TSYRA;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SCH0:1;
+			unsigned char SCH1:1;
+			unsigned char SCH2:1;
+			unsigned char SCH3:1;
+			unsigned char SCH4:1;
+			unsigned char :1;
+			unsigned char SCH6:1;
+			unsigned char SCH7:1;
+		} BIT;
+	} TCSYSTR;
+	char           wk10[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RWE:1;
+		} BIT;
+	} TRWERA;
+	char           wk11[1925];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char OE7D:1;
+			unsigned char OE7C:1;
+			unsigned char OE6D:1;
+			unsigned char OE7B:1;
+			unsigned char OE7A:1;
+			unsigned char OE6B:1;
+		} BIT;
+	} TOERB;
+	char           wk12[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;
+	} TGCRB;
+	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;
+	} TOCR1B;
+	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;
+	} TOCR2B;
+	char           wk13[4];
+	unsigned short TCDRB;
+	unsigned short TDDRB;
+	char           wk14[8];
+	unsigned short TCNTSB;
+	unsigned short TCBRB;
+	char           wk15[12];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char T6AEN:1;
+			unsigned char T6ACOR:3;
+			unsigned char T7VEN:1;
+			unsigned char T7VCOR:3;
+		} BIT;
+	} TITCR1B;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char T6ACNT:3;
+			unsigned char :1;
+			unsigned char T7VCNT:3;
+		} BIT;
+	} TITCNT1B;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char BTE:2;
+		} BIT;
+	} TBTERB;
+	char           wk16[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TDER:1;
+		} BIT;
+	} TDERB;
+	char           wk17[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;
+	} TOLBRB;
+	char           wk18[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char TITM:1;
+		} BIT;
+	} TITMRB;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TRG7COR:3;
+		} BIT;
+	} TITCR2B;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TRG7CNT:3;
+		} BIT;
+	} TITCNT2B;
+	char           wk19[19];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CE0A:1;
+			unsigned char CE0B:1;
+			unsigned char CE0C:1;
+			unsigned char CE0D:1;
+			unsigned char CE1A:1;
+			unsigned char CE1B:1;
+			unsigned char CE2A:1;
+			unsigned char CE2B:1;
+		} BIT;
+	} TSYCR;
+	char           wk20[15];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CCE:1;
+			unsigned char :6;
+			unsigned char WRE:1;
+		} BIT;
+	} TWCRB;
+	char           wk21[15];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DRS:1;
+		} BIT;
+	} TMDR2B;
+	char           wk22[15];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CST7:1;
+			unsigned char CST6:1;
+		} BIT;
+	} TSTRB;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SYNC7:1;
+			unsigned char SYNC6:1;
+		} BIT;
+	} TSYRB;
+	char           wk23[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RWE:1;
+		} BIT;
+	} TRWERB;
+};
+
+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 :3;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA: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 TTGE2:1;
+			unsigned char :5;
+			unsigned char TGIEF:1;
+			unsigned char TGIEE:1;
+		} BIT;
+	} TIER2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TGFF:1;
+			unsigned char TGFE:1;
+		} BIT;
+	} TSR2;
+	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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char :2;
+			unsigned char TGFB:1;
+			unsigned char TGFA: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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char :2;
+			unsigned char TGFB:1;
+			unsigned char TGFA: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;
+			unsigned char :2;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	char           wk7[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TTSB:1;
+			unsigned char TTSA:1;
+		} BIT;
+	} TBTM;
+	char           wk8[57];
+	unsigned short TGRE;
+};
+
+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;
+			unsigned char :2;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA: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;
+	char           wk11[40];
+	unsigned short TGRE;
+	unsigned short TGRF;
+};
+
+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[9];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CMFU5:1;
+			unsigned char CMFV5:1;
+			unsigned char CMFW5:1;
+		} BIT;
+	} TSR;
+	char           wk6[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TGIE5U:1;
+			unsigned char TGIE5V:1;
+			unsigned char TGIE5W:1;
+		} BIT;
+	} TIER;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CSTU5:1;
+			unsigned char CSTV5:1;
+			unsigned char CSTW5:1;
+		} BIT;
+	} TSTR;
+	char           wk8[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 :3;
+			unsigned char POE0F:1;
+			unsigned char :3;
+			unsigned char PIE1:1;
+			unsigned char :6;
+			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;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char POE4F:1;
+			unsigned char :3;
+			unsigned char PIE2:1;
+			unsigned char :6;
+			unsigned char POE4M:2;
+		} BIT;
+	} ICSR2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char OSF2:1;
+			unsigned char :5;
+			unsigned char OCE2:1;
+			unsigned char OIE2:1;
+		} BIT;
+	} OCSR2;
+	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 PIE3:1;
+			unsigned char :6;
+			unsigned char POE8M:2;
+		} BIT;
+	} ICSR3;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char GPT23HIZ:1;
+			unsigned char GPT01HIZ:1;
+			unsigned char MTUCH0HIZ:1;
+			unsigned char MTUCH67HIZ:1;
+			unsigned char MTUCH34HIZ:1;
+		} BIT;
+	} SPOER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char MTU0DZE:1;
+			unsigned char MTU0CZE:1;
+			unsigned char MTU0BZE:1;
+			unsigned char MTU0AZE:1;
+		} BIT;
+	} POECR1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short MTU3BDZE:1;
+			unsigned short MTU4ACZE:1;
+			unsigned short MTU4BDZE:1;
+			unsigned short :5;
+			unsigned short MTU6BDZE:1;
+			unsigned short MTU7ACZE:1;
+			unsigned short MTU7BDZE:1;
+		} BIT;
+	} POECR2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short GPT3ABZE:1;
+			unsigned short GPT2ABZE:1;
+			unsigned short :6;
+			unsigned short GPT1ABZE:1;
+			unsigned short GPT0ABZE:1;
+		} BIT;
+	} POECR3;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short IC5ADDMT67ZE:1;
+			unsigned short IC4ADDMT67ZE:1;
+			unsigned short IC3ADDMT67ZE:1;
+			unsigned short :1;
+			unsigned short IC1ADDMT67ZE:1;
+			unsigned short CMADDMT67ZE:1;
+			unsigned short :2;
+			unsigned short IC5ADDMT34ZE:1;
+			unsigned short IC4ADDMT34ZE:1;
+			unsigned short IC3ADDMT34ZE:1;
+			unsigned short IC2ADDMT34ZE:1;
+			unsigned short :1;
+			unsigned short CMADDMT34ZE:1;
+		} BIT;
+	} POECR4;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :10;
+			unsigned short IC5ADDMT0ZE:1;
+			unsigned short IC4ADDMT0ZE:1;
+			unsigned short :1;
+			unsigned short IC2ADDMT0ZE:1;
+			unsigned short IC1ADDMT0ZE:1;
+			unsigned short CMADDMT0ZE:1;
+		} BIT;
+	} POECR5;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short IC4ADDGPT23ZE:1;
+			unsigned short IC3ADDGPT23ZE:1;
+			unsigned short IC2ADDGPT23ZE:1;
+			unsigned short IC1ADDGPT23ZE:1;
+			unsigned short CMADDGPT23ZE:1;
+			unsigned short :2;
+			unsigned short IC5ADDGPT01ZE:1;
+			unsigned short :1;
+			unsigned short IC3ADDGPT01ZE:1;
+			unsigned short IC2ADDGPT01ZE:1;
+			unsigned short IC1ADDGPT01ZE:1;
+			unsigned short CMADDGPT01ZE:1;
+		} BIT;
+	} POECR6;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char POE10F:1;
+			unsigned char :2;
+			unsigned char POE10E:1;
+			unsigned char PIE4:1;
+			unsigned char :6;
+			unsigned char POE10M:2;
+		} BIT;
+	} ICSR4;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char POE11F:1;
+			unsigned char :2;
+			unsigned char POE11E:1;
+			unsigned char PIE5:1;
+			unsigned char :6;
+			unsigned char POE11M:2;
+		} BIT;
+	} ICSR5;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char H;
+			unsigned char L;
+		} BYTE;
+		struct {
+			unsigned char :8;
+			unsigned char OLSEN:1;
+			unsigned char :1;
+			unsigned char OLSG2B:1;
+			unsigned char OLSG2A:1;
+			unsigned char OLSG1B:1;
+			unsigned char OLSG1A:1;
+			unsigned char OLSG0B:1;
+			unsigned char OLSG0A:1;
+		} BIT;
+	} ALR1;
+};
+
+struct st_port1 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+};
+
+struct st_port2 {
+	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_port3 {
+	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;
+	} DDR;
+	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;
+	} DR;
+	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;
+	} PORT;
+	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;
+	} ICR;
+};
+
+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;
+	} PORT;
+	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;
+	} ICR;
+};
+
+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;
+	} PORT;
+	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;
+	} ICR;
+};
+
+struct st_port6 {
+	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           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;
+	} ICR;
+};
+
+struct st_port7 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :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 :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 :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 :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 :5;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PORT;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+};
+
+struct st_port9 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :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 :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 :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 :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_porta {
+	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_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;
+};
+
+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;
+};
+
+struct st_porte {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+			unsigned char B3:1;
+			unsigned char :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 :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 :1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} ICR;
+};
+
+struct st_portg {
+	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_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 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 :2;
+			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;
+	unsigned char  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_s12ad {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short CEN102:2;
+			unsigned short CEN101:2;
+			unsigned short CEN100:2;
+			unsigned short :2;
+			unsigned short CEN002:2;
+			unsigned short CEN001:2;
+			unsigned short CEN000:2;
+		} BIT;
+	} ADCMPMD0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :1;
+			unsigned short VSELL1:1;
+			unsigned short VSELH1:1;
+			unsigned short CSEL1:1;
+			unsigned short :1;
+			unsigned short VSELL0:1;
+			unsigned short VSELH0:1;
+			unsigned short CSEL0:1;
+			unsigned short :1;
+			unsigned short REFH:3;
+			unsigned short :1;
+			unsigned short REFL:3;
+		} BIT;
+	} ADCMPMD1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short C002NR:4;
+			unsigned short C001NR:4;
+			unsigned short C000NR:4;
+		} BIT;
+	} ADCMPNR0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short C102NR:4;
+			unsigned short C101NR:4;
+			unsigned short C100NR:4;
+		} BIT;
+	} ADCMPNR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char C102FLAG:1;
+			unsigned char C101FLAG:1;
+			unsigned char C100FLAG:1;
+			unsigned char C002FLAG:1;
+			unsigned char C001FLAG:1;
+			unsigned char C000FLAG:1;
+		} BIT;
+	} ADCMPFR;
+	char           wk0[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short POERQ:1;
+			unsigned short IE:1;
+			unsigned short :2;
+			unsigned short SEL102:1;
+			unsigned short SEL101:1;
+			unsigned short SEL100:1;
+			unsigned short SEL002:1;
+			unsigned short SEL001:1;
+			unsigned short SEL000:1;
+		} BIT;
+	} ADCMPSEL;
+};
+
+struct st_s12ad0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ADST:1;
+			unsigned char ADCS:2;
+			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 :2;
+			unsigned short CH:2;
+			unsigned short :1;
+			unsigned short PG002SEL:1;
+			unsigned short PG001SEL:1;
+			unsigned short PG000SEL:1;
+			unsigned short :5;
+			unsigned short PG002EN:1;
+			unsigned short PG001EN:1;
+			unsigned short PG000EN:1;
+		} BIT;
+	} ADANS;
+	char           wk1[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short PG002GAIN:4;
+			unsigned short PG001GAIN:4;
+			unsigned short PG000GAIN:4;
+		} BIT;
+	} ADPG;
+	char           wk2[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADRFMT:1;
+			unsigned short :1;
+			unsigned short ADIEW:1;
+			unsigned short ADIE2:1;
+			unsigned short DIAGM:1;
+			unsigned short DIAGLD:1;
+			unsigned short DIAGVAL:2;
+			unsigned short :2;
+			unsigned short ACE:1;
+			unsigned short :2;
+			unsigned short ADPRC:2;
+			unsigned short SHBYP:1;
+		} BIT;
+	} ADCER;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short ADSTRS1:5;
+			unsigned short :3;
+			unsigned short ADSTRS0:5;
+		} BIT;
+	} ADSTRGR;
+	char           wk3[12];
+	union {
+		unsigned short WORD;
+		union {
+			struct {
+				unsigned short DIAGST:2;
+				unsigned short :2;
+				unsigned short DATA:12;
+			} RIGHT;
+			struct {
+				unsigned short DATA:12;
+				unsigned short :2;
+				unsigned short DIAGST:2;
+			} LEFT;
+		} BIT;
+	} ADRD;
+	unsigned short ADDR0A;
+	unsigned short ADDR1;
+	unsigned short ADDR2;
+	unsigned short ADDR3;
+	char           wk4[8];
+	unsigned short ADDR0B;
+	char           wk5[46];
+	unsigned char  ADSSTR;
+};
+
+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 :2;
+			unsigned char NFEN:1;
+			unsigned char ABCS: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 :11;
+			unsigned short BOTS:1;
+			unsigned short :3;
+			unsigned short IROM:1;
+		} BIT;
+	} MDSR;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short :7;
+			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 :2;
+			unsigned short STS:5;
+		} BIT;
+	} SBYCR;
+	char           wk2[2];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long ACSE:1;
+			unsigned long :2;
+			unsigned long MSTPA28:1;
+			unsigned long :3;
+			unsigned long MSTPA24:1;
+			unsigned long MSTPA23:1;
+			unsigned long :5;
+			unsigned long MSTPA17:1;
+			unsigned long MSTPA16:1;
+			unsigned long MSTPA15:1;
+			unsigned long MSTPA14:1;
+			unsigned long :4;
+			unsigned long MSTPA9:1;
+			unsigned long :1;
+			unsigned long MSTPA7:1;
+		} BIT;
+	} MSTPCRA;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long MSTPB31:1;
+			unsigned long MSTPB30:1;
+			unsigned long MSTPB29:1;
+			unsigned long :5;
+			unsigned long MSTPB23:1;
+			unsigned long :1;
+			unsigned long MSTPB21:1;
+			unsigned long :3;
+			unsigned long MSTPB17:1;
+			unsigned long :9;
+			unsigned long MSTPB7:1;
+			unsigned long :6;
+			unsigned long MSTPB0:1;
+		} BIT;
+	} MSTPCRB;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :31;
+			unsigned long MSTPC0:1;
+		} BIT;
+	} MSTPCRC;
+	char           wk3[4];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :4;
+			unsigned long ICK:4;
+			unsigned long :12;
+			unsigned long PCK:4;
+		} BIT;
+	} SCKCR;
+	char           wk4[28];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short OSTDE:1;
+			unsigned short OSTDF:1;
+		} BIT;
+	} OSTDCR;
+	char           wk5[49726];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSBY:1;
+			unsigned char IOKEEP: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 :2;
+			unsigned char DLVDE:1;
+			unsigned char :2;
+			unsigned char DIRQ1E:1;
+			unsigned char DIRQ0E:1;
+		} BIT;
+	} DPSIER;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DNMIF:1;
+			unsigned char :2;
+			unsigned char DLVDF:1;
+			unsigned char :2;
+			unsigned char DIRQ1F:1;
+			unsigned char DIRQ0F:1;
+		} BIT;
+	} DPSIFR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DNMIEG:1;
+			unsigned char :5;
+			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           wk6[6];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char KEY:8;
+		} BIT;
+	} 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           wk7[2];
+	unsigned char  DPSBKR[32];
+};
+
+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_RSPI0_SPEI0=44,IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0,
+IR_CAN0_ERS0=56,IR_CAN0_RXF0,IR_CAN0_TXF0,IR_CAN0_RXM0,IR_CAN0_TXM0,
+IR_ICU_IRQ0=64,IR_ICU_IRQ1,IR_ICU_IRQ2,IR_ICU_IRQ3,IR_ICU_IRQ4,IR_ICU_IRQ5,IR_ICU_IRQ6,IR_ICU_IRQ7,
+IR_WDT_WOVI=96,
+IR_AD0_ADI0=98,
+IR_S12AD0_S12ADI0=102,
+IR_S12AD1_S12ADI1,
+IR_S12AD_CMPI=106,
+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_MTU7_TGIA7=149,IR_MTU7_TGIB7,IR_MTU7_TGIC7,IR_MTU7_TGID7,IR_MTU7_TCIV7,
+IR_POE_OEI1=170,IR_POE_OEI2,IR_POE_OEI3,IR_POE_OEI4,
+IR_GPT0_GTCIA0,IR_GPT0_GTCIB0,IR_GPT0_GTCIC0,IR_GPT0_GTCIE0,IR_GPT0_GTCIV0,IR_GPT0_LOCO1,
+IR_GPT1_GTCIA1,IR_GPT1_GTCIB1,IR_GPT1_GTCIC1,IR_GPT1_GTCIE1,IR_GPT1_GTCIV1,
+IR_GPT2_GTCIA2=186,IR_GPT2_GTCIB2,IR_GPT2_GTCIC2,IR_GPT2_GTCIE2,IR_GPT2_GTCIV2,
+IR_GPT3_GTCIA3=192,IR_GPT3_GTCIB3,IR_GPT3_GTCIC3,IR_GPT3_GTCIE3,IR_GPT3_GTCIV3,
+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_RIIC0_ICEEI0=246,IR_RIIC0_ICRXI0,IR_RIIC0_ICTXI0,IR_RIIC0_ICTEI0,
+IR_LIN0_LIN0=254
+};
+
+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_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_AD0_ADI0=98,
+DTCE_S12AD0_S12ADI0=102,
+DTCE_S12AD1_S12ADI1,
+DTCE_S12AD_CMPI=106,
+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_MTU7_TGIC7,DTCE_MTU7_TGID7,DTCE_MTU7_TCIV7,
+DTCE_GPT0_GTCIA0=174,DTCE_GPT0_GTCIB0,DTCE_GPT0_GTCIC0,DTCE_GPT0_GTCIE0,DTCE_GPT0_GTCIV0,DTCE_GPT0_LOCO1,
+DTCE_GPT1_GTCIA1,DTCE_GPT1_GTCIB1,DTCE_GPT1_GTCIC1,DTCE_GPT1_GTCIE1,DTCE_GPT1_GTCIV1,
+DTCE_GPT2_GTCIA2=186,DTCE_GPT2_GTCIB2,DTCE_GPT2_GTCIC2,DTCE_GPT2_GTCIE2,DTCE_GPT2_GTCIV2,
+DTCE_GPT3_GTCIA3=192,DTCE_GPT3_GTCIB3,DTCE_GPT3_GTCIC3,DTCE_GPT3_GTCIE3,DTCE_GPT3_GTCIV3,
+DTCE_SCI0_RXI0=215,DTCE_SCI0_TXI0,
+DTCE_SCI1_RXI1=219,DTCE_SCI1_TXI1,
+DTCE_SCI2_RXI2=223,DTCE_SCI2_TXI2,
+DTCE_RIIC0_ICRXI0=247,DTCE_RIIC0_ICTXI0,
+DTCE_LIN0_LIN0=254
+};
+
+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_RSPI0_SPEI0=0x05,IER_RSPI0_SPRI0=0x05,IER_RSPI0_SPTI0=0x05,IER_RSPI0_SPII0=0x05,
+IER_CAN0_ERS0=0x07,IER_CAN0_RXF0=0x07,IER_CAN0_TXF0=0x07,IER_CAN0_RXM0=0x07,IER_CAN0_TXM0=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_WDT_WOVI=0x0C,
+IER_AD0_ADI0=0x0C,
+IER_S12AD0_S12ADI0=0x0C,
+IER_S12AD1_S12ADI1=0x0C,
+IER_S12AD_CMPI=0x0D,
+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=0x11,
+IER_MTU6_TGIA6=0x11,IER_MTU6_TGIB6=0x11,IER_MTU6_TGIC6=0x12,IER_MTU6_TGID6=0x12,IER_MTU6_TCIV6=0x12,
+IER_MTU7_TGIA7=0x12,IER_MTU7_TGIB7=0x12,IER_MTU7_TGIC7=0x12,IER_MTU7_TGID7=0x13,IER_MTU7_TCIV7=0x13,
+IER_POE_OEI1=0x15,IER_POE_OEI2=0x15,IER_POE_OEI3=0x15,IER_POE_OEI4=0x15,
+IER_GPT0_GTCIA0=0x15,IER_GPT0_GTCIB0=0x15,IER_GPT0_GTCIC0=0x16,IER_GPT0_GTCIE0=0x16,IER_GPT0_GTCIV0=0x16,IER_GPT0_LOCO1=0x16,
+IER_GPT1_GTCIA1=0x16,IER_GPT1_GTCIB1=0x16,IER_GPT1_GTCIC1=0x16,IER_GPT1_GTCIE1=0x16,IER_GPT1_GTCIV1=0x17,
+IER_GPT2_GTCIA2=0x17,IER_GPT2_GTCIB2=0x17,IER_GPT2_GTCIC2=0x17,IER_GPT2_GTCIE2=0x17,IER_GPT2_GTCIV2=0x17,
+IER_GPT3_GTCIA3=0x18,IER_GPT3_GTCIB3=0x18,IER_GPT3_GTCIC3=0x18,IER_GPT3_GTCIE3=0x18,IER_GPT3_GTCIV3=0x18,
+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_RIIC0_ICEEI0=0x1E,IER_RIIC0_ICRXI0=0x1E,IER_RIIC0_ICTXI0=0x1F,IER_RIIC0_ICTEI0=0x1F,
+IER_LIN0_LIN0=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_RSPI0_SPEI0=0x14,IPR_RSPI0_SPRI0=0x14,IPR_RSPI0_SPTI0=0x14,IPR_RSPI0_SPII0=0x14,
+IPR_CAN0_ERS0=0x18,IPR_CAN0_RXF0=0x18,IPR_CAN0_TXF0=0x18,IPR_CAN0_RXM0=0x18,IPR_CAN0_TXM0=0x18,
+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_WDT_WOVI=0x40,
+IPR_AD0_ADI0=0x44,
+IPR_S12AD0_S12ADI0=0x48,
+IPR_S12AD1_S12ADI1=0x48,
+IPR_S12AD_CMPI=0x49,
+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_MTU7_TGIA7=0x5E,IPR_MTU7_TGIB7=0x5E,IPR_MTU7_TGIC7=0x5F,IPR_MTU7_TGID7=0x5F,IPR_MTU7_TCIV7=0x60,
+IPR_POE_OEI1=0x67,IPR_POE_OEI2=0x67,IPR_POE_OEI3=0x67,IPR_POE_OEI4=0x67,
+IPR_GPT0_GTCIA0=0x68,IPR_GPT0_GTCIB0=0x68,IPR_GPT0_GTCIC0=0x68,IPR_GPT0_GTCIE0=0x69,IPR_GPT0_GTCIV0=0x69,IPR_GPT0_LOCO1=0x69,
+IPR_GPT1_GTCIA1=0x6A,IPR_GPT1_GTCIB1=0x6A,IPR_GPT1_GTCIC1=0x6A,IPR_GPT1_GTCIE1=0x6B,IPR_GPT1_GTCIV1=0x6B,
+IPR_GPT2_GTCIA2=0x6C,IPR_GPT2_GTCIB2=0x6C,IPR_GPT2_GTCIC2=0x6C,IPR_GPT2_GTCIE2=0x6D,IPR_GPT2_GTCIV2=0x6D,
+IPR_GPT3_GTCIA3=0x6E,IPR_GPT3_GTCIB3=0x6E,IPR_GPT3_GTCIC3=0x6E,IPR_GPT3_GTCIE3=0x6F,IPR_GPT3_GTCIV3=0x6F,
+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_RIIC0_ICEEI0=0x88,IPR_RIIC0_ICRXI0=0x89,IPR_RIIC0_ICTXI0=0x8A,IPR_RIIC0_ICTEI0=0x8B,
+IPR_LIN0_LIN0=0x90,
+IPR_BSC_=0x00
+};
+
+#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_RSPI0_SPEI0		IEN4
+#define	IEN_RSPI0_SPRI0		IEN5
+#define	IEN_RSPI0_SPTI0		IEN6
+#define	IEN_RSPI0_SPII0		IEN7
+#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_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_WDT_WOVI		IEN0
+#define	IEN_AD0_ADI0		IEN2
+#define	IEN_S12AD0_S12ADI0	IEN6
+#define	IEN_S12AD1_S12ADI1	IEN7
+#define	IEN_S12AD_CMPI		IEN2
+#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		IEN5
+#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_MTU7_TGIA7		IEN5
+#define	IEN_MTU7_TGIB7		IEN6
+#define	IEN_MTU7_TGIC7		IEN7
+#define	IEN_MTU7_TGID7		IEN0
+#define	IEN_MTU7_TCIV7		IEN1
+#define	IEN_POE_OEI1		IEN2
+#define	IEN_POE_OEI2		IEN3
+#define	IEN_POE_OEI3		IEN4
+#define	IEN_POE_OEI4		IEN5
+#define	IEN_GPT0_GTCIA0		IEN6
+#define	IEN_GPT0_GTCIB0		IEN7
+#define	IEN_GPT0_GTCIC0		IEN0
+#define	IEN_GPT0_GTCIE0		IEN1
+#define	IEN_GPT0_GTCIV0		IEN2
+#define	IEN_GPT0_LOCO1		IEN3
+#define	IEN_GPT1_GTCIA1		IEN4
+#define	IEN_GPT1_GTCIB1		IEN5
+#define	IEN_GPT1_GTCIC1		IEN6
+#define	IEN_GPT1_GTCIE1		IEN7
+#define	IEN_GPT1_GTCIV1		IEN0
+#define	IEN_GPT2_GTCIA2		IEN2
+#define	IEN_GPT2_GTCIB2		IEN3
+#define	IEN_GPT2_GTCIC2		IEN4
+#define	IEN_GPT2_GTCIE2		IEN5
+#define	IEN_GPT2_GTCIV2		IEN6
+#define	IEN_GPT3_GTCIA3		IEN0
+#define	IEN_GPT3_GTCIB3		IEN1
+#define	IEN_GPT3_GTCIC3		IEN2
+#define	IEN_GPT3_GTCIE3		IEN3
+#define	IEN_GPT3_GTCIV3		IEN4
+#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_RIIC0_ICEEI0	IEN6
+#define	IEN_RIIC0_ICRXI0	IEN7
+#define	IEN_RIIC0_ICTXI0	IEN0
+#define	IEN_RIIC0_ICTEI0	IEN1
+#define	IEN_LIN0_LIN0		IEN6
+
+#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_RSPI0_SPEI0	44
+#define	VECT_RSPI0_SPRI0	45
+#define	VECT_RSPI0_SPTI0	46
+#define	VECT_RSPI0_SPII0	47
+#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_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_WDT_WOVI		96
+#define	VECT_AD0_ADI0		98
+#define	VECT_S12AD0_S12ADI0	102
+#define	VECT_S12AD1_S12ADI1	103
+#define	VECT_S12AD_CMPI		106
+#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_MTU7_TGIA7		149
+#define	VECT_MTU7_TGIB7		150
+#define	VECT_MTU7_TGIC7		151
+#define	VECT_MTU7_TGID7		152
+#define	VECT_MTU7_TCIV7		153
+#define	VECT_POE_OEI1		170
+#define	VECT_POE_OEI2		171
+#define	VECT_POE_OEI3		172
+#define	VECT_POE_OEI4		173
+#define	VECT_GPT0_GTCIA0	174
+#define	VECT_GPT0_GTCIB0	175
+#define	VECT_GPT0_GTCIC0	176
+#define	VECT_GPT0_GTCIE0	177
+#define	VECT_GPT0_GTCIV0	178
+#define	VECT_GPT0_LOCO1		179
+#define	VECT_GPT1_GTCIA1	180
+#define	VECT_GPT1_GTCIB1	181
+#define	VECT_GPT1_GTCIC1	182
+#define	VECT_GPT1_GTCIE1	183
+#define	VECT_GPT1_GTCIV1	184
+#define	VECT_GPT2_GTCIA2	186
+#define	VECT_GPT2_GTCIB2	187
+#define	VECT_GPT2_GTCIC2	188
+#define	VECT_GPT2_GTCIE2	189
+#define	VECT_GPT2_GTCIV2	190
+#define	VECT_GPT3_GTCIA3	192
+#define	VECT_GPT3_GTCIB3	193
+#define	VECT_GPT3_GTCIC3	194
+#define	VECT_GPT3_GTCIE3	195
+#define	VECT_GPT3_GTCIV3	196
+#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_RIIC0_ICEEI0	246
+#define	VECT_RIIC0_ICRXI0	247
+#define	VECT_RIIC0_ICTXI0	248
+#define	VECT_RIIC0_ICTEI0	249
+#define	VECT_LIN0_LIN0		254
+
+#define	MSTP_DTC	SYSTEM.MSTPCRA.BIT.MSTPA28
+#define	MSTP_S12AD	SYSTEM.MSTPCRA.BIT.MSTPA24
+#define	MSTP_AD0	SYSTEM.MSTPCRA.BIT.MSTPA23
+#define	MSTP_S12AD0	SYSTEM.MSTPCRA.BIT.MSTPA17
+#define	MSTP_S12AD1	SYSTEM.MSTPCRA.BIT.MSTPA16
+#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_MTU6	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_MTU7	SYSTEM.MSTPCRA.BIT.MSTPA9
+#define	MSTP_GPT	SYSTEM.MSTPCRA.BIT.MSTPA7
+#define	MSTP_GPT0	SYSTEM.MSTPCRA.BIT.MSTPA7
+#define	MSTP_GPT1	SYSTEM.MSTPCRA.BIT.MSTPA7
+#define	MSTP_GPT2	SYSTEM.MSTPCRA.BIT.MSTPA7
+#define	MSTP_GPT3	SYSTEM.MSTPCRA.BIT.MSTPA7
+#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_CRC	SYSTEM.MSTPCRB.BIT.MSTPB23
+#define	MSTP_RIIC0	SYSTEM.MSTPCRB.BIT.MSTPB21
+#define	MSTP_RSPI0	SYSTEM.MSTPCRB.BIT.MSTPB17
+#define	MSTP_LIN0	SYSTEM.MSTPCRB.BIT.MSTPB7
+#define	MSTP_CAN0	SYSTEM.MSTPCRB.BIT.MSTPB0
+#define	MSTP_RAM	SYSTEM.MSTPCRC.BIT.MSTPC0
+
+#define	UT7AE		UT4AE
+#define	DT7AE		DT4AE
+#define	UT7BE		UT4BE
+#define	DT7BE		DT4BE
+#define	ITA6AE		ITA3AE
+#define	ITA7VE		ITA4VE
+#define	ITB6AE		ITB3AE
+#define	ITB7VE		ITB4VE
+#define	PG102SEL	PG002SEL
+#define	PG101SEL	PG001SEL
+#define	PG100SEL	PG000SEL
+#define	PG102EN		PG002EN
+#define	PG101EN		PG001EN
+#define	PG100EN		PG000EN
+#define	PG102GAIN	PG002GAIN
+#define	PG101GAIN	PG001GAIN
+#define	PG100GAIN	PG000GAIN
+
+#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	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	DTC		(*(volatile struct st_dtc    __evenaccess *)0x82400)
+#define	FLASH	(*(volatile struct st_flash  __evenaccess *)0x8C288)
+#define	GPT		(*(volatile struct st_gpt    __evenaccess *)0xC2000)
+#define	GPT0	(*(volatile struct st_gpt0   __evenaccess *)0xC2100)
+#define	GPT1	(*(volatile struct st_gpt0   __evenaccess *)0xC2180)
+#define	GPT2	(*(volatile struct st_gpt0   __evenaccess *)0xC2200)
+#define	GPT3	(*(volatile struct st_gpt0   __evenaccess *)0xC2280)
+#define	ICU		(*(volatile struct st_icu    __evenaccess *)0x87000)
+#define	IOPORT	(*(volatile struct st_ioport __evenaccess *)0x8C108)
+#define	IWDT	(*(volatile struct st_iwdt   __evenaccess *)0x88030)
+#define	LIN0	(*(volatile struct st_lin    __evenaccess *)0x94001)
+#define	MTU		(*(volatile struct st_mtu    __evenaccess *)0xC120A)
+#define	MTU0	(*(volatile struct st_mtu0   __evenaccess *)0xC1300)
+#define	MTU1	(*(volatile struct st_mtu1   __evenaccess *)0xC1380)
+#define	MTU2	(*(volatile struct st_mtu2   __evenaccess *)0xC1400)
+#define	MTU3	(*(volatile struct st_mtu3   __evenaccess *)0xC1200)
+#define	MTU4	(*(volatile struct st_mtu4   __evenaccess *)0xC1200)
+#define	MTU5	(*(volatile struct st_mtu5   __evenaccess *)0xC1C80)
+#define	MTU6	(*(volatile struct st_mtu3   __evenaccess *)0xC1A00)
+#define	MTU7	(*(volatile struct st_mtu4   __evenaccess *)0xC1A00)
+#define	POE		(*(volatile struct st_poe    __evenaccess *)0x8C4C0)
+#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 *)0x8C044)
+#define	PORT5	(*(volatile struct st_port5  __evenaccess *)0x8C045)
+#define	PORT6	(*(volatile struct st_port6  __evenaccess *)0x8C046)
+#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	PORTD	(*(volatile struct st_portd  __evenaccess *)0x8C00D)
+#define	PORTE	(*(volatile struct st_porte  __evenaccess *)0x8C00E)
+#define	PORTG	(*(volatile struct st_portg  __evenaccess *)0x8C010)
+#define	RIIC0	(*(volatile struct st_riic   __evenaccess *)0x88300)
+#define	RSPI0	(*(volatile struct st_rspi   __evenaccess *)0x88380)
+#define	S12AD	(*(volatile struct st_s12ad  __evenaccess *)0x89012)
+#define	S12AD0	(*(volatile struct st_s12ad0 __evenaccess *)0x89000)
+#define	S12AD1	(*(volatile struct st_s12ad0 __evenaccess *)0x89080)
+#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	SMCI0	(*(volatile struct st_smci   __evenaccess *)0x88240)
+#define	SMCI1	(*(volatile struct st_smci   __evenaccess *)0x88248)
+#define	SMCI2	(*(volatile struct st_smci   __evenaccess *)0x88250)
+#define	SYSTEM	(*(volatile struct st_system __evenaccess *)0x80000)
+#define	WDT		(*(volatile union un_wdt     __evenaccess *)0x88028)
+#pragma bit_order
+#pragma packoption
+#endif
\ No newline at end of file
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx630/iodefine.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx630/iodefine.h
new file mode 100644
index 0000000000..1d19b3bb56
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx630/iodefine.h
@@ -0,0 +1,10870 @@
+/************************************************************************
+*
+* Device     : RX/RX600/RX630
+*
+* File Name  : ioedfine.h
+*
+* Abstract   : Definition of I/O Register.
+*
+* History    : 0.50  (2011-03-28)  [Hardware Manual Revision : 0.50]
+*            : 0.10  (2010-10-06)  [Hardware Manual Revision : 0.11]
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+*  Copyright (C) 2010(2011) Renesas Electronics Corporation
+*  and Renesas Solutions Corp.
+*
+************************************************************************/
+/********************************************************************************/
+/*                                                                              */
+/*  DESCRIPTION : Definition of ICU Register                                    */
+/*  CPU TYPE    : RX630                                                         */
+/*                                                                              */
+/*  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(TPU0,TGI0A) = 0;     expands to :                                   */
+/*         ICU.IR[126].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(TPU0,TGI0A) = 2;    expands to :                                   */
+/*       IPR(TPU0,TGI  ) = 2;    // TGI0A,TGI0B,TGI0C,TGI0D share IPR level.    */
+/*         ICU.IPR[126].BIT.IPR = 2;                                            */
+/*                                                                              */
+/*       IPR(SCI0,RXI0) = 3;     expands to :                                   */
+/*       IPR(SCI0,    ) = 3;     // SCI0 uses single IPR for all sources.       */
+/*         ICU.IPR[214].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=142)                           */
+/*       #pragma interrupt INT_TPU0_TGI0A(vect=VECT(TPU0,TGI0A))  expands to :  */
+/*         #pragma interrupt INT_TPU0_TGI0A(vect=126)                           */
+/*                                                                              */
+/*  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;    // MTU,MTU0,MTU1,MTU2,MTU3,MTU4,MTU5  expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA9  = 0;                                      */
+/*       MSTP(TPU4) = 0;    // TPU0,TPU1,TPU2,TPU3,TPU4,TPU5      expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA13 = 0;                                      */
+/*       MSTP(CMT3) = 0;    // CMT2,CMT3                          expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA14 = 0;                                      */
+/*                                                                              */
+/*                                                                              */
+/********************************************************************************/
+#ifndef __RX630IODEFINE_HEADER__
+#define __RX630IODEFINE_HEADER__
+#pragma bit_order left
+#pragma unpack
+struct st_ad {
+	unsigned short ADDRA;
+	unsigned short ADDRB;
+	unsigned short ADDRC;
+	unsigned short ADDRD;
+	unsigned short ADDRE;
+	unsigned short ADDRF;
+	unsigned short ADDRG;
+	unsigned short ADDRH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ADIE:1;
+			unsigned char ADST:1;
+			unsigned char :2;
+			unsigned char CH:3;
+		} 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;
+			unsigned char EXOEN:1;
+			unsigned char EXSEL:2;
+		} BIT;
+	} ADCR2;
+	unsigned char  ADSSTR;
+	char           wk0[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[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short BPEB:2;
+			unsigned short BPFB:2;
+			unsigned short :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[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 :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;
+	} CS4WCR2;
+	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;
+	} 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 :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;
+	} CS5WCR2;
+	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;
+	} 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 :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;
+	} CS6WCR2;
+	char           wk11[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 :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;
+	} CS7WCR2;
+	char           wk12[1926];
+	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           wk13[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS0REC;
+	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;
+	} CS1CR;
+	char           wk15[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS1REC;
+	char           wk16[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           wk17[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS2REC;
+	char           wk18[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           wk19[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS3REC;
+	char           wk20[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;
+	} CS4CR;
+	char           wk21[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS4REC;
+	char           wk22[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;
+	} CS5CR;
+	char           wk23[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS5REC;
+	char           wk24[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;
+	} CS6CR;
+	char           wk25[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS6REC;
+	char           wk26[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;
+	} CS7CR;
+	char           wk27[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS7REC;
+	char           wk28[4];
+	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;
+	char           wk29[974];
+	unsigned char  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;
+		unsigned short DLC;
+		unsigned char  DATA[8];
+		unsigned short 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;
+	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 char MB31:1;
+			unsigned char MB30:1;
+			unsigned char MB29:1;
+			unsigned char MB28:1;
+			unsigned char MB27:1;
+			unsigned char MB26:1;
+			unsigned char MB25:1;
+			unsigned char MB24:1;
+			unsigned char MB23:1;
+			unsigned char MB22:1;
+			unsigned char MB21:1;
+			unsigned char MB20:1;
+			unsigned char MB19:1;
+			unsigned char MB18:1;
+			unsigned char MB17:1;
+			unsigned char MB16:1;
+			unsigned char MB15:1;
+			unsigned char MB14:1;
+			unsigned char MB13:1;
+			unsigned char MB12:1;
+			unsigned char MB11:1;
+			unsigned char MB10:1;
+			unsigned char MB9:1;
+			unsigned char MB8:1;
+			unsigned char MB7:1;
+			unsigned char MB6:1;
+			unsigned char MB5:1;
+			unsigned char MB4:1;
+			unsigned char MB3:1;
+			unsigned char MB2:1;
+			unsigned char MB1:1;
+			unsigned char MB0:1;
+		} BIT;
+	} MKIVLR;
+	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 char MB31:1;
+			unsigned char MB30:1;
+			unsigned char MB29:1;
+			unsigned char MB28:1;
+			unsigned char MB27:1;
+			unsigned char MB26:1;
+			unsigned char MB25:1;
+			unsigned char MB24:1;
+			unsigned char MB23:1;
+			unsigned char MB22:1;
+			unsigned char MB21:1;
+			unsigned char MB20:1;
+			unsigned char MB19:1;
+			unsigned char MB18:1;
+			unsigned char MB17:1;
+			unsigned char MB16:1;
+			unsigned char MB15:1;
+			unsigned char MB14:1;
+			unsigned char MB13:1;
+			unsigned char MB12:1;
+			unsigned char MB11:1;
+			unsigned char MB10:1;
+			unsigned char MB9:1;
+			unsigned char MB8:1;
+			unsigned char MB7:1;
+			unsigned char MB6:1;
+			unsigned char MB5:1;
+			unsigned char MB4:1;
+			unsigned char MB3:1;
+			unsigned char MB2:1;
+			unsigned char MB1:1;
+			unsigned char MB0:1;
+		} BIT;
+	} 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 TRMREQ:1;
+				unsigned char RECREQ:1;
+				unsigned char :1;
+				unsigned char ONESHOT:1;
+				unsigned char :1;
+				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;
+			unsigned long :7;
+			unsigned long CCLKS:1;
+		} 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;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DAADST:1;
+		} BIT;
+	} DAADSCR;
+};
+
+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_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_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 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           wk3[12];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short DBWE07:1;
+			unsigned short DBW006: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           wk4[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 :3;
+			unsigned short FENTRY3:1;
+			unsigned short FENTRY2:1;
+			unsigned short FENTRY1:1;
+			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 FRKEY:8;
+			unsigned short :7;
+			unsigned short FRESET:1;
+		} BIT;
+	} FRESETR;
+	char           wk5[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short CMDR:8;
+			unsigned short PCMDR:8;
+		} BIT;
+	} FCMDR;
+	char           wk6[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 :4;
+			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           wk7[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[254];
+	char           wk0[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTCE:1;
+		} BIT;
+	} DTCER[252];
+	char           wk1[4];
+	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[254];
+	char           wk5[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DMRS:8;
+		} BIT;
+	} DMRSR0;
+	char           wk6[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DMRS:8;
+		} BIT;
+	} DMRSR1;
+	char           wk7[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DMRS:8;
+		} BIT;
+	} DMRSR2;
+	char           wk8[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DMRS:8;
+		} BIT;
+	} DMRSR3;
+	char           wk9[243];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char IRQMD:2;
+		} BIT;
+	} IRQCR[16];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FLTEN7:1;
+			unsigned char FLTEN6:1;
+			unsigned char FLTEN5:1;
+			unsigned char FLTEN4:1;
+			unsigned char FLTEN3:1;
+			unsigned char FLTEN2:1;
+			unsigned char FLTEN1:1;
+			unsigned char FLTEN0:1;
+		} BIT;
+	} IRQFLTE0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FLTEN15:1;
+			unsigned char FLTEN14:1;
+			unsigned char FLTEN13:1;
+			unsigned char FLTEN12:1;
+			unsigned char FLTEN11:1;
+			unsigned char FLTEN10:1;
+			unsigned char FLTEN9:1;
+			unsigned char FLTEN8:1;
+		} BIT;
+	} IRQFLTE1;
+	char           wk10[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FCLKSEL7:2;
+			unsigned short FCLKSEL6:2;
+			unsigned short FCLKSEL5:2;
+			unsigned short FCLKSEL4:2;
+			unsigned short FCLKSEL3:2;
+			unsigned short FCLKSEL2:2;
+			unsigned short FCLKSEL1:2;
+			unsigned short FCLKSEL0:2;
+		} BIT;
+	} IRQFLTC0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FCLKSEL15:2;
+			unsigned short FCLKSEL14:2;
+			unsigned short FCLKSEL13:2;
+			unsigned short FCLKSEL12:2;
+			unsigned short FCLKSEL11:2;
+			unsigned short FCLKSEL10:2;
+			unsigned short FCLKSEL9:2;
+			unsigned short FCLKSEL8:2;
+		} BIT;
+	} IRQFLTC1;
+	char           wk11[104];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			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 :2;
+			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;
+	char           wk12[12];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char NFLTEN:1;
+		} BIT;
+	} NMIFLTE;
+	char           wk13[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char NFCLKSEL:2;
+		} BIT;
+	} NMIFLTC;
+	char           wk14[19819];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long IS15:1;
+			unsigned long IS14:1;
+			unsigned long IS13:1;
+			unsigned long IS12:1;
+			unsigned long IS11:1;
+			unsigned long IS10:1;
+			unsigned long IS9:1;
+			unsigned long IS8:1;
+			unsigned long IS7:1;
+			unsigned long IS6:1;
+			unsigned long IS5:1;
+			unsigned long IS4:1;
+			unsigned long IS3:1;
+			unsigned long IS2:1;
+			unsigned long IS1:1;
+			unsigned long IS0:1;
+		} BIT;
+	} GRP[13];
+	char           wk15[12];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long EN15:1;
+			unsigned long EN14:1;
+			unsigned long EN13:1;
+			unsigned long EN12:1;
+			unsigned long EN11:1;
+			unsigned long EN10:1;
+			unsigned long EN9:1;
+			unsigned long EN8:1;
+			unsigned long EN7:1;
+			unsigned long EN6:1;
+			unsigned long EN5:1;
+			unsigned long EN4:1;
+			unsigned long EN3:1;
+			unsigned long EN2:1;
+			unsigned long EN1:1;
+			unsigned long EN0:1;
+		} BIT;
+	} GEN[13];
+	char           wk16[12];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long CLR15:1;
+			unsigned long CLR14:1;
+			unsigned long CLR13:1;
+			unsigned long CLR12:1;
+			unsigned long CLR11:1;
+			unsigned long CLR10:1;
+			unsigned long CLR9:1;
+			unsigned long CLR8:1;
+			unsigned long CLR7:1;
+			unsigned long CLR6:1;
+			unsigned long CLR5:1;
+			unsigned long CLR4:1;
+			unsigned long CLR3:1;
+			unsigned long CLR2:1;
+			unsigned long CLR1:1;
+			unsigned long CLR0:1;
+		} BIT;
+	} GCR[13];
+	char           wk17[12];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :26;
+			unsigned long CN5:1;
+			unsigned long CN4:1;
+			unsigned long CN3:1;
+			unsigned long CN2:1;
+			unsigned long CN1:1;
+			unsigned long CN0:1;
+		} BIT;
+	} SEL;
+};
+
+struct st_ieb {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char IOL:1;
+			unsigned char DEE:1;
+			unsigned char :1;
+			unsigned char RE:1;
+		} BIT;
+	} IECTR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CMD:3;
+		} BIT;
+	} IECMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SS:1;
+			unsigned char RN:3;
+			unsigned char CTL:4;
+		} BIT;
+	} IEMCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IARL4:4;
+			unsigned char IMD:2;
+			unsigned char :1;
+			unsigned char STE:1;
+		} BIT;
+	} IEAR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IARU8:8;
+		} BIT;
+	} IEAR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ISAL4:4;
+		} BIT;
+	} IESA1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ISAU8:8;
+		} BIT;
+	} IESA2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IBFL:8;
+		} BIT;
+	} IETBFL;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ISAL4:4;
+		} BIT;
+	} IEMA1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IMAU8:8;
+		} BIT;
+	} IEMA2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char RCTL:4;
+		} BIT;
+	} IERCTL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RBFL:8;
+		} BIT;
+	} IERBFL;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ILAL8:8;
+		} BIT;
+	} IELA1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char ILAU4:4;
+		} BIT;
+	} IELA2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CMX:1;
+			unsigned char MRQ:1;
+			unsigned char SRQ:1;
+			unsigned char SRE:1;
+			unsigned char LCK:1;
+			unsigned char :1;
+			unsigned char RSS:1;
+			unsigned char GG:1;
+		} BIT;
+	} IEFLG;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char TXS:1;
+			unsigned char TXF:1;
+			unsigned char :1;
+			unsigned char TXEAL:1;
+			unsigned char TXETTME:1;
+			unsigned char TXERO:1;
+			unsigned char TXEACK:1;
+		} BIT;
+	} IETSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char TXSE:1;
+			unsigned char TXFE:1;
+			unsigned char :1;
+			unsigned char TXEALE:1;
+			unsigned char TXETTMEE:1;
+			unsigned char TXEROE:1;
+			unsigned char TXEACKE:1;
+		} BIT;
+	} IEIET;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RXBSY:1;
+			unsigned char RXS:1;
+			unsigned char RXF:1;
+			unsigned char RXEDE:1;
+			unsigned char RXEOVE:1;
+			unsigned char RXERTME:1;
+			unsigned char RXEDLE:1;
+			unsigned char RXEPE:1;
+		} BIT;
+	} IERSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RXBSYE:1;
+			unsigned char RXSE:1;
+			unsigned char RXFE:1;
+			unsigned char RXEDEE:1;
+			unsigned char RXEOVEE:1;
+			unsigned char RXERTMEE:1;
+			unsigned char RXEDLEE:1;
+			unsigned char RXEPEE:1;
+		} BIT;
+	} IEIER;
+	char           wk3[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FLT:1;
+			unsigned char FCKS:2;
+			unsigned char CKS3:1;
+			unsigned char SRSTP:1;
+			unsigned char CKS:3;
+		} BIT;
+	} IECKSR;
+	char           wk4[230];
+	unsigned char  IETB[33];
+	char           wk5[223];
+	unsigned char  IERB[33];
+};
+
+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 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[1];
+	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;
+	} PFCSS0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CS7S:2;
+			unsigned char CS6S:2;
+			unsigned char CS5S:2;
+			unsigned char CS4S:2;
+		} BIT;
+	} PFCSS1;
+	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 WR32BC32E:1;
+			unsigned char WR1BC1E:1;
+			unsigned char DH32E:1;
+			unsigned char DHE:1;
+			unsigned char :2;
+			unsigned char ADRHMS:1;
+			unsigned char ADRLE:1;
+		} BIT;
+	} PFBCR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char ALEOE:1;
+			unsigned char WAITS:2;
+		} BIT;
+	} PFBCR1;
+	char           wk1[12];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char PUPHZS:1;
+		} BIT;
+	} PFUSB0;
+	char           wk2[10];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B0WI:1;
+			unsigned char PFSWE:1;
+		} BIT;
+	} PWPR;
+	char           wk3[32];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P00PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P01PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P02PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P03PFS;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P05PFS;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P07PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P10PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P11PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P12PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P13PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P14PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P15PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P16PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P17PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P20PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P21PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P22PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P23PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P24PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P25PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P26PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P27PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P30PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P31PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P32PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P33PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P34PFS;
+	char           wk6[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P40PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P41PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P42PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P43PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P44PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P45PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P46PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P47PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P50PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P51PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P52PFS;
+	char           wk7[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P54PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P55PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P56PFS;
+	char           wk8[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P60PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P61PFS;
+	char           wk9[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P66PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P67PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P70PFS;
+	char           wk10[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P73PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P74PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P75PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P76PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P77PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P80PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P81PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P82PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P83PFS;
+	char           wk11[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P86PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P87PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} P90PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} P91PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} P92PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} P93PFS;
+	char           wk12[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PF0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PF1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PF2PFS;
+	char           wk13[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PF5PFS;
+	char           wk14[21];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PJ3PFS;
+	char           wk15[6];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PK2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PK3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PK4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PK5PFS;
+};
+
+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;
+};
+
+struct st_mtu0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[111];
+	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           wk1[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           wk2[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 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[238];
+	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           wk2[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           wk3[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 :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[365];
+	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           wk1[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;
+	char           wk8[90];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+};
+
+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;
+	char           wk11[72];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+};
+
+struct st_mtu5 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char :1;
+			unsigned char NFWEN:1;
+			unsigned char NFVEN:1;
+			unsigned char NFUEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[490];
+	unsigned short TCNTU;
+	unsigned short TGRU;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRU;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORU;
+	char           wk3[9];
+	unsigned short TCNTV;
+	unsigned short TGRV;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRV;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORV;
+	char           wk5[9];
+	unsigned short TCNTW;
+	unsigned short TGRW;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRW;
+	char           wk6[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORW;
+	char           wk7[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TGIE5U:1;
+			unsigned char TGIE5V:1;
+			unsigned char TGIE5W:1;
+		} BIT;
+	} TIER;
+	char           wk8[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CSTU5:1;
+			unsigned char CSTV5:1;
+			unsigned char CSTW5:1;
+		} BIT;
+	} TSTR;
+	char           wk9[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 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;
+	char           wk0[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short POE8F:1;
+			unsigned short :2;
+			unsigned short POE8E:1;
+			unsigned short PIE2:1;
+			unsigned short :6;
+			unsigned short 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 short :3;
+			unsigned short OSTSTF:1;
+			unsigned short :2;
+			unsigned short OSTSTE:1;
+		} BIT;
+	} ICSR3;
+};
+
+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;
+	} 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;
+			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 :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;
+	} 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;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[31];
+	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 :3;
+			unsigned char B2:1;
+		} BIT;
+	} ODR1;
+	char           wk4[62];
+	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;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+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;
+	} 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[32];
+	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[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;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+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;
+		} 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 :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;
+};
+
+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[35];
+	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[58];
+	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 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[36];
+	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[57];
+	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 :3;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+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;
+	} 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[37];
+	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[56];
+	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_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;
+	} 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[38];
+	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[55];
+	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_port8 {
+	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[39];
+	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[54];
+	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_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;
+	} 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[40];
+	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[53];
+	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_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[44];
+	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[49];
+	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_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 :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_portf {
+	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[46];
+	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 :5;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[47];
+	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;
+};
+
+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;
+	} 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[47];
+	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[46];
+	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 :6;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_porth {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+		} BIT;
+	} PMR;
+	char           wk3[49];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[45];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char B4:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_portj {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PMR;
+	char           wk3[49];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char B2:1;
+		} BIT;
+	} ODR1;
+	char           wk4[44];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PCR;
+};
+
+struct st_portk {
+	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[50];
+	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[43];
+	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_portl {
+	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;
+	} PDR;
+	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;
+	} PODR;
+	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;
+	} PIDR;
+	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;
+	} PMR;
+	char           wk3[51];
+	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 :7;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[42];
+	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;
+	} 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_riic0 {
+	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_riic1 {
+	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;
+	unsigned long  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[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RTCEN:1;
+		} BIT;
+	} RCR3;
+	char           wk16[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RCKSEL:1;
+		} BIT;
+	} RCR4;
+	char           wk17[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short RFC:1;
+		} BIT;
+	} RFRH;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short RFC:16;
+		} BIT;
+	} RFRL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PMADJ:2;
+			unsigned char ADJ:6;
+		} BIT;
+	} RADJ;
+	char           wk18[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           wk19[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           wk20[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           wk21[13];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP0;
+	char           wk22[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP0;
+	char           wk23[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP0;
+	char           wk24[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP0;
+	char           wk25[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP0;
+	char           wk26[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP1;
+	char           wk27[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP1;
+	char           wk28[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP1;
+	char           wk29[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP1;
+	char           wk30[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP1;
+	char           wk31[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP2;
+	char           wk32[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP2;
+	char           wk33[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP2;
+	char           wk34[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP2;
+	char           wk35[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP2;
+};
+
+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 ANS0:16;
+		} BIT;
+	} ADANS0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :11;
+			unsigned short ANS1:5;
+		} BIT;
+	} ADANS1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADS0:16;
+		} BIT;
+	} ADADS0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :11;
+			unsigned short ADS1:5;
+		} BIT;
+	} ADADS1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char ADC:2;
+		} BIT;
+	} ADADC;
+	char           wk1[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           wk2[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short OCS:1;
+			unsigned short TSS:1;
+			unsigned short :6;
+			unsigned short OCSAD:1;
+			unsigned short TSSAD:1;
+		} BIT;
+	} ADEXICR;
+	char           wk3[6];
+	unsigned short ADTSDR;
+	unsigned short ADOCDR;
+	char           wk4[2];
+	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;
+	unsigned short ADDR16;
+	unsigned short ADDR17;
+	unsigned short ADDR18;
+	unsigned short ADDR19;
+	unsigned short ADDR20;
+	char           wk5[38];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SST2:8;
+		} BIT;
+	} ADSSTR23;
+};
+
+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 BCP2:1;
+			unsigned char :3;
+			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 IICSTIF: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;
+	} SPMR;
+};
+
+struct st_sci7 {
+	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;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char MPB:1;
+			unsigned char MPBT:1;
+		} BIT;
+	} 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;
+	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 IICSTIF: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;
+	} SPMR;
+};
+
+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 BCP2:1;
+			unsigned char :3;
+			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 IICSTIF: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;
+	} SPMR;
+	char           wk0[18];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char ESME:1;
+		} BIT;
+	} ESMER;
+	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 :2;
+			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_smci0 {
+	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 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 ERS: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 BCP2:1;
+			unsigned char :3;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+};
+
+struct st_smci7 {
+	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 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 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 :1;
+			unsigned long MSTPA29:1;
+			unsigned long MSTPA28:1;
+			unsigned long MSTPA27:1;
+			unsigned long :2;
+			unsigned long MSTPA24:1;
+			unsigned long MSTPA23:1;
+			unsigned long :3;
+			unsigned long MSTPA19:1;
+			unsigned long :1;
+			unsigned long MSTPA17:1;
+			unsigned long :1;
+			unsigned long MSTPA15:1;
+			unsigned long MSTPA14:1;
+			unsigned long MSTPA13:1;
+			unsigned long MSTPA12:1;
+			unsigned long MSTPA11:1;
+			unsigned long MSTPA10:1;
+			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 MSTPB29:1;
+			unsigned long MSTPB28:1;
+			unsigned long MSTPB27:1;
+			unsigned long MSTPB26:1;
+			unsigned long MSTPB25:1;
+			unsigned long MSTPB24:1;
+			unsigned long MSTPB23:1;
+			unsigned long :1;
+			unsigned long MSTPB21:1;
+			unsigned long MSTPB20:1;
+			unsigned long MSTPB19:1;
+			unsigned long :1;
+			unsigned long MSTPB17:1;
+			unsigned long MSTPB16:1;
+			unsigned long :7;
+			unsigned long MSTPB8:1;
+			unsigned long :3;
+			unsigned long MSTPB4:1;
+			unsigned long :1;
+			unsigned long MSTPB2:1;
+			unsigned long MSTPB1:1;
+			unsigned long MSTPB0:1;
+		} BIT;
+	} MSTPCRB;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :4;
+			unsigned long MSTPC27:1;
+			unsigned long MSTPC26:1;
+			unsigned long MSTPC25:1;
+			unsigned long MSTPC24:1;
+			unsigned long :1;
+			unsigned long MSTPC22:1;
+			unsigned long :2;
+			unsigned long MSTPC19:1;
+			unsigned long MSTPC18:1;
+			unsigned long MSTPC17:1;
+			unsigned long MSTPC16:1;
+			unsigned long :14;
+			unsigned long MSTPC1:1;
+			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 :4;
+			unsigned long PCKB:4;
+		} BIT;
+	} SCKCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short UCK:4;
+			unsigned short IEBCK:4;
+		} BIT;
+	} SCKCR2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short CKSEL:3;
+		} BIT;
+	} SCKCR3;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short STC:6;
+			unsigned short :6;
+			unsigned short PLIDIV:2;
+		} BIT;
+	} PLLCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char PLLEN:1;
+		} BIT;
+	} PLLCR2;
+	char           wk4[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char BCLKDIV:1;
+		} BIT;
+	} BCKCR;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char MOSTP:1;
+		} BIT;
+	} MOSCCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			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           wk6[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           wk7[94];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char OPCMTSF:1;
+			unsigned char :1;
+			unsigned char OPCM: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           wk8[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSTS:5;
+		} BIT;
+	} PLLWTCR;
+	char           wk9[25];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SWRF:1;
+			unsigned char WDTRF:1;
+			unsigned char IWTDRF:1;
+		} BIT;
+	} RSTSR2;
+	char           wk10[1];
+	unsigned short SWRR;
+	char           wk11[28];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			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 :6;
+			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           wk12[794];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRKEY:8;
+			unsigned short :4;
+			unsigned short PRC3:1;
+			unsigned short :1;
+			unsigned short PRC1:1;
+			unsigned short PRC0:1;
+		} BIT;
+	} PRCR;
+	char           wk13[48768];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSBY:1;
+			unsigned char IOKEEP:1;
+			unsigned char :4;
+			unsigned char DEEPCUT:2;
+		} BIT;
+	} DPSBYCR;
+	char           wk14[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;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ15E:1;
+			unsigned char DIRQ14E:1;
+			unsigned char DIRQ13E:1;
+			unsigned char DIRQ12E:1;
+			unsigned char DIRQ11E:1;
+			unsigned char DIRQ10E:1;
+			unsigned char DIRQ9E:1;
+			unsigned char DIRQ8E:1;
+		} BIT;
+	} DPSIER1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DUSBIE:1;
+			unsigned char DIICCIE:1;
+			unsigned char DIICDIE:1;
+			unsigned char DNMIE:1;
+			unsigned char DRTCAIE:1;
+			unsigned char DRTCIIE:1;
+			unsigned char DLVD2IE:1;
+			unsigned char DLVD1IE:1;
+		} BIT;
+	} DPSIER2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DCANIE:1;
+		} BIT;
+	} DPSIER3;
+	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;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ15F:1;
+			unsigned char DIRQ14F:1;
+			unsigned char DIRQ13F:1;
+			unsigned char DIRQ12F:1;
+			unsigned char DIRQ11F:1;
+			unsigned char DIRQ10F:1;
+			unsigned char DIRQ9F:1;
+			unsigned char DIRQ8F:1;
+		} BIT;
+	} DPSIFR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DUSBIF:1;
+			unsigned char DIICCIF:1;
+			unsigned char DIICDIF:1;
+			unsigned char DNMIF:1;
+			unsigned char DRTCAIF:1;
+			unsigned char DRTCIIF:1;
+			unsigned char DLVD2IF:1;
+			unsigned char DLVD1IF:1;
+		} BIT;
+	} DPSIFR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DCANIF:1;
+		} BIT;
+	} DPSIFR3;
+	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;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ15EG:1;
+			unsigned char DIRQ14EG:1;
+			unsigned char DIRQ13EG:1;
+			unsigned char DIRQ12EG:1;
+			unsigned char DIRQ11EG:1;
+			unsigned char DIRQ10EG:1;
+			unsigned char DIRQ9EG:1;
+			unsigned char DIRQ8EG:1;
+		} BIT;
+	} DPSIEGR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DIICCEG:1;
+			unsigned char DIICDEG:1;
+			unsigned char DNMIEG:1;
+			unsigned char :2;
+			unsigned char DLVD2EG:1;
+			unsigned char DLVD1EG:1;
+		} BIT;
+	} DPSIEGR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DCANIEG:1;
+		} BIT;
+	} DPSIEGR3;
+	char           wk15[2];
+	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           wk16[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char MOFXIN:1;
+		} BIT;
+	} MOFCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char HOCOPCNT:1;
+		} BIT;
+	} HOCOPCR;
+	char           wk17[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char LVD2E:1;
+			unsigned char LVD1E:1;
+		} BIT;
+	} LVCMPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char LVD2LVL:4;
+			unsigned char LVD1LVL:4;
+		} BIT;
+	} LVDLVLR;
+	char           wk18[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           wk19[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char VBATTMNSEL:1;
+		} BIT;
+	} VBATTMNSELR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char VBATTMON:1;
+		} BIT;
+	} VBATTMONR;
+	char           wk20[1];
+	unsigned char  DPSBKR[32];
+	char           wk21[1472];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char SCK:2;
+		} BIT;
+	} SCK1;
+	char           wk22[15];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char SCK:2;
+		} BIT;
+	} SCK2;
+};
+
+struct st_temps {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TSEN:1;
+			unsigned char :2;
+			unsigned char TSOE:1;
+		} 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 :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_tpu0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[7];
+	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 ICSELD:1;
+			unsigned char ICSELB: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 :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+	unsigned short TGRC;
+	unsigned short TGRD;
+};
+
+struct st_tpu1 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[22];
+	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 ICSELD:1;
+			unsigned char ICSELB: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;
+	} TIOR;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_tpu2 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[37];
+	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 ICSELD:1;
+			unsigned char ICSELB: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;
+	} TIOR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_tpu3 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[52];
+	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 ICSELD:1;
+			unsigned char ICSELB: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 :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+	unsigned short TGRC;
+	unsigned short TGRD;
+};
+
+struct st_tpu4 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[67];
+	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 ICSELD:1;
+			unsigned char ICSELB: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;
+	} TIOR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_tpu5 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[82];
+	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 ICSELD:1;
+			unsigned char ICSELB: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;
+	} TIOR;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_tpua {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char CST5:1;
+			unsigned char CST4:1;
+			unsigned char CST3:1;
+			unsigned char CST2:1;
+			unsigned char CST1:1;
+			unsigned char CST0:1;
+		} BIT;
+	} TSTR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char SYNC5:1;
+			unsigned char SYNC4:1;
+			unsigned char SYNC3:1;
+			unsigned char SYNC2:1;
+			unsigned char SYNC1:1;
+			unsigned char SYNC0:1;
+		} BIT;
+	} TSYR;
+};
+
+struct st_tpub {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char CST11:1;
+			unsigned char CST10:1;
+			unsigned char CST9:1;
+			unsigned char CST8:1;
+			unsigned char CST7:1;
+			unsigned char CST6:1;
+		} BIT;
+	} TSTR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char SYNC11:1;
+			unsigned char SYNC10:1;
+			unsigned char SYNC9:1;
+			unsigned char SYNC8:1;
+			unsigned char SYNC7:1;
+			unsigned char SYNC6:1;
+		} BIT;
+	} TSYR;
+};
+
+struct st_usb {
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :8;
+			unsigned long DVBSTS0:1;
+			unsigned long :5;
+			unsigned long DM0:1;
+			unsigned long DP0:1;
+			unsigned long :11;
+			unsigned long FIXPHY0:1;
+			unsigned long :3;
+			unsigned long SRPC0:1;
+		} BIT;
+	} DPUSR0R;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :8;
+			unsigned long DVBINT0:1;
+			unsigned long :6;
+			unsigned long DPINT0:1;
+			unsigned long :8;
+			unsigned long DVBSE0:1;
+			unsigned long :6;
+			unsigned long DPINTE0:1;
+		} BIT;
+	} DPUSR1R;
+};
+
+struct st_usb0 {
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short SCKE:1;
+			unsigned short :5;
+			unsigned short DPRPU:1;
+			unsigned short :3;
+			unsigned short USBE:1;
+		} BIT;
+	} SYSCFG;
+	char           wk0[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :14;
+			unsigned short LNST:2;
+		} BIT;
+	} SYSSTS0;
+	char           wk1[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :7;
+			unsigned short WKUP:1;
+			unsigned short :5;
+			unsigned short RHST:3;
+		} BIT;
+	} DVSTCTR0;
+	char           wk2[10];
+	unsigned short CFIFO;
+	char           wk3[2];
+	unsigned short D0FIFO;
+	char           wk4[2];
+	unsigned short 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;
+	char           wk7[4];
+	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 PIPE9NRDYE:1;
+			unsigned short PIPE8NRDYE:1;
+			unsigned short PIPE7NRDYE:1;
+			unsigned short PIPE6NRDYE:1;
+			unsigned short PIPE5NRDYE:1;
+			unsigned short PIPE4NRDYE:1;
+			unsigned short PIPE3NRDYE:1;
+			unsigned short PIPE2NRDYE:1;
+			unsigned short PIPE1NRDYE:1;
+			unsigned short PIPE0NRDYE: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 :9;
+			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;
+	char           wk9[4];
+	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 PIPE9NRDYE:1;
+			unsigned short PIPE8NRDYE:1;
+			unsigned short PIPE7NRDYE:1;
+			unsigned short PIPE6NRDYE:1;
+			unsigned short PIPE5NRDYE:1;
+			unsigned short PIPE4NRDYE:1;
+			unsigned short PIPE3NRDYE:1;
+			unsigned short PIPE2NRDYE:1;
+			unsigned short PIPE1NRDYE:1;
+			unsigned short PIPE0NRDYE:1;
+		} BIT;
+	} NRDYSTS;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short PIPE9BEMPE:1;
+			unsigned short PIPE8BEMPE: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;
+		} BIT;
+	} DCPCFG;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :9;
+			unsigned short MXPS:7;
+		} BIT;
+	} DCPMAXP;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short BSTS:1;
+			unsigned short :6;
+			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 :7;
+			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;
+};
+
+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_FCU_FIFERR=21,
+IR_ICU_SWINT=27,
+IR_CMT0_CMI0,
+IR_CMT1_CMI1,
+IR_CMT2_CMI2,
+IR_CMT3_CMI3,
+IR_USB0_D0FIFO0=33,IR_USB0_D1FIFO0,IR_USB0_USBI0,IR_USB0_D0FIFO1,IR_USB0_D1FIFO1,IR_USB0_USBI1,
+IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0,
+IR_RSPI1_SPRI1,IR_RSPI1_SPTI1,IR_RSPI1_SPII1,
+IR_RSPI2_SPRI2,IR_RSPI2_SPTI2,IR_RSPI2_SPII2,
+IR_CAN0_RXF0,IR_CAN0_TXF0,IR_CAN0_RXM0,IR_CAN0_TXM0,
+IR_CAN1_RXF1,IR_CAN1_TXF1,IR_CAN1_RXM1,IR_CAN1_TXM1,
+IR_CAN2_RXF2,IR_CAN2_TXF2,IR_CAN2_RXM2,IR_CAN2_TXM2,
+IR_RTC_COUNTUP=62,
+IR_ICU_IRQ0=64,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_RTC_ALARM=92,IR_RTC_PRD,
+IR_AD0_ADI0=98,
+IR_S12AD0_S12ADI0=102,
+IR_ICU_GROUPE0=106,IR_ICU_GROUPE1,IR_ICU_GROUPE2,IR_ICU_GROUPE3,IR_ICU_GROUPE4,IR_ICU_GROUPE5,IR_ICU_GROUPE6,IR_ICU_GROUPL0=114,
+IR_SCIX_SCIX0=122,IR_SCIX_SCIX1,IR_SCIX_SCIX2,IR_SCIX_SCIX3,
+IR_TPU0_TGI0A,IR_TPU0_TGI0B,IR_TPU0_TGI0C,IR_TPU0_TGI0D,
+IR_TPU1_TGI1A,IR_TPU1_TGI1B,
+IR_TPU2_TGI2A,IR_TPU2_TGI2B,
+IR_TPU3_TGI3A,IR_TPU3_TGI3B,IR_TPU3_TGI3C,IR_TPU3_TGI3D,
+IR_TPU4_TGI4A,IR_TPU4_TGI4B,
+IR_TPU5_TGI5A,IR_TPU5_TGI5B,
+IR_TPU6_TGI6A,IR_TPU6_TGI6B,IR_TPU6_TGI6C,IR_TPU6_TGI6D,
+IR_MTU0_TGIA0=142,IR_MTU0_TGIB0,IR_MTU0_TGIC0,IR_MTU0_TGID0,IR_MTU0_TGIE0,IR_MTU0_TGIF0,
+IR_TPU7_TGI7A,IR_TPU7_TGI7B,
+IR_MTU1_TGIA1=148,IR_MTU1_TGIB1,
+IR_TPU8_TGI8A,IR_TPU8_TGI8B,
+IR_MTU2_TGIA2=150,IR_MTU2_TGIB2,
+IR_TPU9_TGI9A,IR_TPU9_TGI9B,IR_TPU9_TGI9C,IR_TPU9_TGI9D,
+IR_MTU3_TGIA3=152,IR_MTU3_TGIB3,IR_MTU3_TGIC3,IR_MTU3_TGID3,
+IR_TPU10_TGI10A,IR_TPU10_TGI10B,
+IR_MTU4_TGIA4=156,IR_MTU4_TGIB4,IR_MTU4_TGIC4,IR_MTU4_TGID4,IR_MTU4_TCIV4,
+IR_MTU5_TGIU5,IR_MTU5_TGIV5,IR_MTU5_TGIW5,
+IR_TPU11_TGI11A,IR_TPU11_TGI11B,
+IR_POE_OEI1,IR_POE_OEI2,
+IR_TMR0_CMIA0=170,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_RIIC0_EEI0,IR_RIIC0_RXI0,IR_RIIC0_TXI0,IR_RIIC0_TEI0,
+IR_RIIC1_EEI1,IR_RIIC1_RXI1,IR_RIIC1_TXI1,IR_RIIC1_TEI1,
+IR_RIIC2_EEI2,IR_RIIC2_RXI2,IR_RIIC2_TXI2,IR_RIIC2_TEI2,
+IR_RIIC3_EEI3,IR_RIIC3_RXI3,IR_RIIC3_TXI3,IR_RIIC3_TEI3,
+IR_DMAC_DMAC0I,IR_DMAC_DMAC1I,IR_DMAC_DMAC2I,IR_DMAC_DMAC3I,
+IR_SCI0_RXI0=214,IR_SCI0_TXI0,IR_SCI0_TEI0,
+IR_SCI1_RXI1,IR_SCI1_TXI1,IR_SCI1_TEI1,
+IR_SCI2_RXI2,IR_SCI2_TXI2,IR_SCI2_TEI2,
+IR_SCI3_RXI3,IR_SCI3_TXI3,IR_SCI3_TEI3,
+IR_SCI4_RXI4,IR_SCI4_TXI4,IR_SCI4_TEI4,
+IR_SCI5_RXI5,IR_SCI5_TXI5,IR_SCI5_TEI5,
+IR_SCI6_RXI6,IR_SCI6_TXI6,IR_SCI6_TEI6,
+IR_SCI7_RXI7,IR_SCI7_TXI7,IR_SCI7_TEI7,
+IR_SCI8_RXI8,IR_SCI8_TXI8,IR_SCI8_TEI8,
+IR_SCI9_RXI9,IR_SCI9_TXI9,IR_SCI9_TEI9,
+IR_SCI10_RXI10,IR_SCI10_TXI10,IR_SCI10_TEI10,
+IR_SCI11_RXI11,IR_SCI11_TXI11,IR_SCI11_TEI11,
+IR_SCI12_RXI12,IR_SCI12_TXI12,IR_SCI12_TEI12,
+IR_IEB_IEBINT
+};
+
+enum enum_dtce {
+DTCE_ICU_SWINT=27,
+DTCE_CMT0_CMI0,
+DTCE_CMT1_CMI1,
+DTCE_CMT2_CMI2,
+DTCE_CMT3_CMI3,
+DTCE_USB0_D0FIFO0=33,DTCE_USB0_D1FIFO0,DTCE_USB0_D0FIFO1=36,DTCE_USB0_D1FIFO1,
+DTCE_RSPI0_SPRI0=39,DTCE_RSPI0_SPTI0,
+DTCE_RSPI1_SPRI1=42,DTCE_RSPI1_SPTI1,
+DTCE_RSPI2_SPRI2=45,DTCE_RSPI2_SPTI2,
+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_S12AD0_S12ADI0=102,
+DTCE_TPU0_TGI0A=126,DTCE_TPU0_TGI0B,DTCE_TPU0_TGI0C,DTCE_TPU0_TGI0D,
+DTCE_TPU1_TGI1A,DTCE_TPU1_TGI1B,
+DTCE_TPU2_TGI2A,DTCE_TPU2_TGI2B,
+DTCE_TPU3_TGI3A,DTCE_TPU3_TGI3B,DTCE_TPU3_TGI3C,DTCE_TPU3_TGI3D,
+DTCE_TPU4_TGI4A,DTCE_TPU4_TGI4B,
+DTCE_TPU5_TGI5A,DTCE_TPU5_TGI5B,
+DTCE_TPU6_TGI6A,DTCE_TPU6_TGI6B,DTCE_TPU6_TGI6C,DTCE_TPU6_TGI6D,
+DTCE_MTU0_TGIA0=142,DTCE_MTU0_TGIB0,DTCE_MTU0_TGIC0,DTCE_MTU0_TGID0,
+DTCE_TPU7_TGI7A=148,DTCE_TPU7_TGI7B,
+DTCE_MTU1_TGIA1=148,DTCE_MTU1_TGIB1,
+DTCE_TPU8_TGI8A,DTCE_TPU8_TGI8B,
+DTCE_MTU2_TGIA2=150,DTCE_MTU2_TGIB2,
+DTCE_TPU9_TGI9A,DTCE_TPU9_TGI9B,DTCE_TPU9_TGI9C,DTCE_TPU9_TGI9D,
+DTCE_MTU3_TGIA3=152,DTCE_MTU3_TGIB3,DTCE_MTU3_TGIC3,DTCE_MTU3_TGID3,
+DTCE_TPU10_TGI10A,DTCE_TPU10_TGI10B,
+DTCE_MTU4_TGIA4=156,DTCE_MTU4_TGIB4,DTCE_MTU4_TGIC4,DTCE_MTU4_TGID4,DTCE_MTU4_TCIV4,
+DTCE_MTU5_TGIU5,DTCE_MTU5_TGIV5,DTCE_MTU5_TGIW5,
+DTCE_TPU11_TGI11A,DTCE_TPU11_TGI11B,
+DTCE_TMR0_CMIA0=170,DTCE_TMR0_CMIB0,
+DTCE_TMR1_CMIA1=173,DTCE_TMR1_CMIB1,
+DTCE_TMR2_CMIA2=176,DTCE_TMR2_CMIB2,
+DTCE_TMR3_CMIA3=179,DTCE_TMR3_CMIB3,
+DTCE_RIIC0_RXI0=183,DTCE_RIIC0_TXI0,
+DTCE_RIIC1_RXI1=187,DTCE_RIIC1_TXI1,
+DTCE_RIIC2_RXI2=191,DTCE_RIIC2_TXI2,
+DTCE_RIIC3_RXI3=195,DTCE_RIIC3_TXI3,
+DTCE_DMAC_DMAC0I=198,DTCE_DMAC_DMAC1I,DTCE_DMAC_DMAC2I,DTCE_DMAC_DMAC3I,
+DTCE_SCI0_RXI0=214,DTCE_SCI0_TXI0,
+DTCE_SCI1_RXI1=217,DTCE_SCI1_TXI1,
+DTCE_SCI2_RXI2=220,DTCE_SCI2_TXI2,
+DTCE_SCI3_RXI3=223,DTCE_SCI3_TXI3,
+DTCE_SCI4_RXI4=226,DTCE_SCI4_TXI4,
+DTCE_SCI5_RXI5=229,DTCE_SCI5_TXI5,
+DTCE_SCI6_RXI6=232,DTCE_SCI6_TXI6,
+DTCE_SCI7_RXI7=235,DTCE_SCI7_TXI7,
+DTCE_SCI8_RXI8=238,DTCE_SCI8_TXI8,
+DTCE_SCI9_RXI9=241,DTCE_SCI9_TXI9,
+DTCE_SCI10_RXI10=244,DTCE_SCI10_TXI10,
+DTCE_SCI11_RXI11=247,DTCE_SCI11_TXI11,
+DTCE_SCI12_RXI12=250,DTCE_SCI12_TXI12
+};
+
+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_USB0_D0FIFO0=0x04,IER_USB0_D1FIFO0=0x04,IER_USB0_USBI0=0x04,IER_USB0_D0FIFO1=0x04,IER_USB0_D1FIFO1=0x04,IER_USB0_USBI1=0x04,
+IER_RSPI0_SPRI0=0x04,IER_RSPI0_SPTI0=0x05,IER_RSPI0_SPII0=0x05,
+IER_RSPI1_SPRI1=0x05,IER_RSPI1_SPTI1=0x05,IER_RSPI1_SPII1=0x05,
+IER_RSPI2_SPRI2=0x05,IER_RSPI2_SPTI2=0x05,IER_RSPI2_SPII2=0x05,
+IER_CAN0_RXF0=0x06,IER_CAN0_TXF0=0x06,IER_CAN0_RXM0=0x06,IER_CAN0_TXM0=0x06,
+IER_CAN1_RXF1=0x06,IER_CAN1_TXF1=0x06,IER_CAN1_RXM1=0x06,IER_CAN1_TXM1=0x06,
+IER_CAN2_RXF2=0x07,IER_CAN2_TXF2=0x07,IER_CAN2_RXM2=0x07,IER_CAN2_TXM2=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_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_RTC_ALARM=0x0B,IER_RTC_PRD=0x0B,
+IER_AD0_ADI0=0x0C,
+IER_S12AD0_S12ADI0=0x0C,
+IER_ICU_GROUPE0=0x0D,IER_ICU_GROUPE1=0x0D,IER_ICU_GROUPE2=0x0D,IER_ICU_GROUPE3=0x0D,IER_ICU_GROUPE4=0x0D,IER_ICU_GROUPE5=0x0D,IER_ICU_GROUPE6=0x0E,IER_ICU_GROUPL0=0x0E,
+IER_SCIX_SCIX0=0x0F,IER_SCIX_SCIX1=0x0F,IER_SCIX_SCIX2=0x0F,IER_SCIX_SCIX3=0x0F,
+IER_TPU0_TGI0A=0x0F,IER_TPU0_TGI0B=0x0F,IER_TPU0_TGI0C=0x10,IER_TPU0_TGI0D=0x10,
+IER_TPU1_TGI1A=0x10,IER_TPU1_TGI1B=0x10,
+IER_TPU2_TGI2A=0x10,IER_TPU2_TGI2B=0x10,
+IER_TPU3_TGI3A=0x10,IER_TPU3_TGI3B=0x10,IER_TPU3_TGI3C=0x11,IER_TPU3_TGI3D=0x11,
+IER_TPU4_TGI4A=0x11,IER_TPU4_TGI4B=0x11,
+IER_TPU5_TGI5A=0x11,IER_TPU5_TGI5B=0x11,
+IER_TPU6_TGI6A=0x11,IER_TPU6_TGI6B=0x11,IER_TPU6_TGI6C=0x12,IER_TPU6_TGI6D=0x12,
+IER_MTU0_TGIA0=0x11,IER_MTU0_TGIB0=0x11,IER_MTU0_TGIC0=0x12,IER_MTU0_TGID0=0x12,IER_MTU0_TGIE0=0x12,IER_MTU0_TGIF0=0x12,
+IER_TPU7_TGI7A=0x12,IER_TPU7_TGI7B=0x12,
+IER_MTU1_TGIA1=0x12,IER_MTU1_TGIB1=0x12,
+IER_TPU8_TGI8A=0x12,IER_TPU8_TGI8B=0x12,
+IER_MTU2_TGIA2=0x12,IER_MTU2_TGIB2=0x12,
+IER_TPU9_TGI9A=0x13,IER_TPU9_TGI9B=0x13,IER_TPU9_TGI9C=0x13,IER_TPU9_TGI9D=0x13,
+IER_MTU3_TGIA3=0x13,IER_MTU3_TGIB3=0x13,IER_MTU3_TGIC3=0x13,IER_MTU3_TGID3=0x13,
+IER_TPU10_TGI10A=0x13,IER_TPU10_TGI10B=0x13,
+IER_MTU4_TGIA4=0x13,IER_MTU4_TGIB4=0x13,IER_MTU4_TGIC4=0x13,IER_MTU4_TGID4=0x13,IER_MTU4_TCIV4=0x14,
+IER_MTU5_TGIU5=0x14,IER_MTU5_TGIV5=0x14,IER_MTU5_TGIW5=0x14,
+IER_TPU11_TGI11A=0x14,IER_TPU11_TGI11B=0x14,
+IER_POE_OEI1=0x14,IER_POE_OEI2=0x14,
+IER_TMR0_CMIA0=0x15,IER_TMR0_CMIB0=0x15,IER_TMR0_OVI0=0x15,
+IER_TMR1_CMIA1=0x15,IER_TMR1_CMIB1=0x15,IER_TMR1_OVI1=0x15,
+IER_TMR2_CMIA2=0x16,IER_TMR2_CMIB2=0x16,IER_TMR2_OVI2=0x16,
+IER_TMR3_CMIA3=0x16,IER_TMR3_CMIB3=0x16,IER_TMR3_OVI3=0x16,
+IER_RIIC0_EEI0=0x16,IER_RIIC0_RXI0=0x16,IER_RIIC0_TXI0=0x17,IER_RIIC0_TEI0=0x17,
+IER_RIIC1_EEI1=0x17,IER_RIIC1_RXI1=0x17,IER_RIIC1_TXI1=0x17,IER_RIIC1_TEI1=0x17,
+IER_RIIC2_EEI2=0x17,IER_RIIC2_RXI2=0x17,IER_RIIC2_TXI2=0x18,IER_RIIC2_TEI2=0x18,
+IER_RIIC3_EEI3=0x18,IER_RIIC3_RXI3=0x18,IER_RIIC3_TXI3=0x18,IER_RIIC3_TEI3=0x18,
+IER_DMAC_DMAC0I=0x18,IER_DMAC_DMAC1I=0x18,IER_DMAC_DMAC2I=0x19,IER_DMAC_DMAC3I=0x19,
+IER_SCI0_RXI0=0x1A,IER_SCI0_TXI0=0x1A,IER_SCI0_TEI0=0x1B,
+IER_SCI1_RXI1=0x1B,IER_SCI1_TXI1=0x1B,IER_SCI1_TEI1=0x1B,
+IER_SCI2_RXI2=0x1B,IER_SCI2_TXI2=0x1B,IER_SCI2_TEI2=0x1B,
+IER_SCI3_RXI3=0x1B,IER_SCI3_TXI3=0x1C,IER_SCI3_TEI3=0x1C,
+IER_SCI4_RXI4=0x1C,IER_SCI4_TXI4=0x1C,IER_SCI4_TEI4=0x1C,
+IER_SCI5_RXI5=0x1C,IER_SCI5_TXI5=0x1C,IER_SCI5_TEI5=0x1C,
+IER_SCI6_RXI6=0x1D,IER_SCI6_TXI6=0x1D,IER_SCI6_TEI6=0x1D,
+IER_SCI7_RXI7=0x1D,IER_SCI7_TXI7=0x1D,IER_SCI7_TEI7=0x1D,
+IER_SCI8_RXI8=0x1D,IER_SCI8_TXI8=0x1D,IER_SCI8_TEI8=0x1E,
+IER_SCI9_RXI9=0x1E,IER_SCI9_TXI9=0x1E,IER_SCI9_TEI9=0x1E,
+IER_SCI10_RXI10=0x1E,IER_SCI10_TXI10=0x1E,IER_SCI10_TEI10=0x1E,
+IER_SCI11_RXI11=0x1E,IER_SCI11_TXI11=0x1F,IER_SCI11_TEI11=0x1F,
+IER_SCI12_RXI12=0x1F,IER_SCI12_TXI12=0x1F,IER_SCI12_TEI12=0x1F,
+IER_IEB_IEBINT=0x1F
+};
+
+enum enum_ipr {
+IPR_BSC_BUSERR=0,
+IPR_FCU_FIFERR=1,IPR_FCU_FRDYI=2,
+IPR_ICU_SWINT=3,
+IPR_CMT0_CMI0=4,
+IPR_CMT1_CMI1=5,
+IPR_CMT2_CMI2=6,
+IPR_CMT3_CMI3=7,
+IPR_USB0_D0FIFO0=33,IPR_USB0_D1FIFO0=34,IPR_USB0_USBI0=35,IPR_USB0_D0FIFO1=36,IPR_USB0_D1FIFO1=37,IPR_USB0_USBI1=38,
+IPR_RSPI0_SPRI0=39,IPR_RSPI0_SPTI0=39,IPR_RSPI0_SPII0=39,
+IPR_RSPI1_SPRI1=42,IPR_RSPI1_SPTI1=42,IPR_RSPI1_SPII1=42,
+IPR_RSPI2_SPRI2=45,IPR_RSPI2_SPTI2=45,IPR_RSPI2_SPII2=45,
+IPR_CAN0_RXF0=48,IPR_CAN0_TXF0=48,IPR_CAN0_RXM0=48,IPR_CAN0_TXM0=48,
+IPR_CAN1_RXF1=52,IPR_CAN1_TXF1=52,IPR_CAN1_RXM1=52,IPR_CAN1_TXM1=52,
+IPR_CAN2_RXF2=56,IPR_CAN2_TXF2=56,IPR_CAN2_RXM2=56,IPR_CAN2_TXM2=56,
+IPR_RTC_COUNTUP=62,
+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_ICU_IRQ8=72,IPR_ICU_IRQ9=73,IPR_ICU_IRQ10=74,IPR_ICU_IRQ11=75,IPR_ICU_IRQ12=76,IPR_ICU_IRQ13=77,IPR_ICU_IRQ14=78,IPR_ICU_IRQ15=79,
+IPR_USB_USBR0=90,
+IPR_RTC_ALARM=92,IPR_RTC_PRD=93,
+IPR_AD0_ADI0=98,
+IPR_S12AD0_S12ADI0=102,
+IPR_ICU_GROUPE0=106,IPR_ICU_GROUPE1=107,IPR_ICU_GROUPE2=108,IPR_ICU_GROUPE3=109,IPR_ICU_GROUPE4=110,IPR_ICU_GROUPE5=111,IPR_ICU_GROUPE6=112,IPR_ICU_GROUPL0=114,
+IPR_SCIX_SCIX0=122,IPR_SCIX_SCIX1=122,IPR_SCIX_SCIX2=122,IPR_SCIX_SCIX3=122,
+IPR_TPU0_TGI0A=126,IPR_TPU0_TGI0B=126,IPR_TPU0_TGI0C=126,IPR_TPU0_TGI0D=126,
+IPR_TPU1_TGI1A=130,IPR_TPU1_TGI1B=130,
+IPR_TPU2_TGI2A=132,IPR_TPU2_TGI2B=132,
+IPR_TPU3_TGI3A=134,IPR_TPU3_TGI3B=134,IPR_TPU3_TGI3C=134,IPR_TPU3_TGI3D=134,
+IPR_TPU4_TGI4A=138,IPR_TPU4_TGI4B=138,
+IPR_TPU5_TGI5A=140,IPR_TPU5_TGI5B=140,
+IPR_TPU6_TGI6A=142,IPR_TPU6_TGI6B=142,IPR_TPU6_TGI6C=142,IPR_TPU6_TGI6D=142,
+IPR_MTU0_TGIA0=142,IPR_MTU0_TGIB0=142,IPR_MTU0_TGIC0=142,IPR_MTU0_TGID0=142,IPR_MTU0_TGIE0=146,IPR_MTU0_TGIF0=146,
+IPR_TPU7_TGI7A=148,IPR_TPU7_TGI7B=148,
+IPR_MTU1_TGIA1=148,IPR_MTU1_TGIB1=148,
+IPR_TPU8_TGI8A=150,IPR_TPU8_TGI8B=150,
+IPR_MTU2_TGIA2=150,IPR_MTU2_TGIB2=150,
+IPR_TPU9_TGI9A=152,IPR_TPU9_TGI9B=152,IPR_TPU9_TGI9C=152,IPR_TPU9_TGI9D=152,
+IPR_MTU3_TGIA3=152,IPR_MTU3_TGIB3=152,IPR_MTU3_TGIC3=152,IPR_MTU3_TGID3=152,
+IPR_TPU10_TGI10A=156,IPR_TPU10_TGI10B=156,
+IPR_MTU4_TGIA4=156,IPR_MTU4_TGIB4=156,IPR_MTU4_TGIC4=156,IPR_MTU4_TGID4=156,IPR_MTU4_TCIV4=160,
+IPR_MTU5_TGIU5=161,IPR_MTU5_TGIV5=161,IPR_MTU5_TGIW5=161,
+IPR_TPU11_TGI11A=164,IPR_TPU11_TGI11B=164,
+IPR_POE_OEI1=166,IPR_POE_OEI2=166,
+IPR_TMR0_CMIA0=170,IPR_TMR0_CMIB0=170,IPR_TMR0_OVI0=170,
+IPR_TMR1_CMIA1=173,IPR_TMR1_CMIB1=173,IPR_TMR1_OVI1=173,
+IPR_TMR2_CMIA2=176,IPR_TMR2_CMIB2=176,IPR_TMR2_OVI2=176,
+IPR_TMR3_CMIA3=179,IPR_TMR3_CMIB3=179,IPR_TMR3_OVI3=179,
+IPR_RIIC0_EEI0=182,IPR_RIIC0_RXI0=183,IPR_RIIC0_TXI0=184,IPR_RIIC0_TEI0=185,
+IPR_RIIC1_EEI1=186,IPR_RIIC1_RXI1=187,IPR_RIIC1_TXI1=188,IPR_RIIC1_TEI1=189,
+IPR_RIIC2_EEI2=190,IPR_RIIC2_RXI2=191,IPR_RIIC2_TXI2=192,IPR_RIIC2_TEI2=193,
+IPR_RIIC3_EEI3=194,IPR_RIIC3_RXI3=195,IPR_RIIC3_TXI3=196,IPR_RIIC3_TEI3=197,
+IPR_DMAC_DMAC0I=198,IPR_DMAC_DMAC1I=199,IPR_DMAC_DMAC2I=200,IPR_DMAC_DMAC3I=201,
+IPR_SCI0_RXI0=214,IPR_SCI0_TXI0=214,IPR_SCI0_TEI0=214,
+IPR_SCI1_RXI1=217,IPR_SCI1_TXI1=217,IPR_SCI1_TEI1=217,
+IPR_SCI2_RXI2=220,IPR_SCI2_TXI2=220,IPR_SCI2_TEI2=220,
+IPR_SCI3_RXI3=223,IPR_SCI3_TXI3=223,IPR_SCI3_TEI3=223,
+IPR_SCI4_RXI4=226,IPR_SCI4_TXI4=226,IPR_SCI4_TEI4=226,
+IPR_SCI5_RXI5=229,IPR_SCI5_TXI5=229,IPR_SCI5_TEI5=229,
+IPR_SCI6_RXI6=232,IPR_SCI6_TXI6=232,IPR_SCI6_TEI6=232,
+IPR_SCI7_RXI7=235,IPR_SCI7_TXI7=235,IPR_SCI7_TEI7=235,
+IPR_SCI8_RXI8=238,IPR_SCI8_TXI8=238,IPR_SCI8_TEI8=238,
+IPR_SCI9_RXI9=241,IPR_SCI9_TXI9=241,IPR_SCI9_TEI9=241,
+IPR_SCI10_RXI10=244,IPR_SCI10_TXI10=244,IPR_SCI10_TEI10=244,
+IPR_SCI11_RXI11=247,IPR_SCI11_TXI11=247,IPR_SCI11_TEI11=247,
+IPR_SCI12_RXI12=250,IPR_SCI12_TXI12=250,IPR_SCI12_TEI12=250,
+IPR_IEB_IEBINT=253,
+IPR_BSC_=0,
+IPR_CMT0_=4,
+IPR_CMT1_=5,
+IPR_CMT2_=6,
+IPR_CMT3_=7,
+IPR_RSPI0_=39,
+IPR_RSPI1_=42,
+IPR_RSPI2_=45,
+IPR_CAN0_=48,
+IPR_CAN1_=52,
+IPR_CAN2_=56,
+IPR_USB_=90,
+IPR_AD0_=98,
+IPR_S12AD0_=102,
+IPR_SCIX_=122,
+IPR_SCIX_SCI=122,
+IPR_TPU0_=126,
+IPR_TPU0_TGI=126,
+IPR_TPU1_=130,
+IPR_TPU1_TGI=130,
+IPR_TPU2_=132,
+IPR_TPU2_TGI=132,
+IPR_TPU3_=134,
+IPR_TPU3_TGI=134,
+IPR_TPU4_=138,
+IPR_TPU4_TGI=138,
+IPR_TPU5_=140,
+IPR_TPU5_TGI=140,
+IPR_MTU5_=161,
+IPR_MTU5_TGI=161,
+IPR_TPU11_=164,
+IPR_TPU11_TGI=164,
+IPR_POE_=166,
+IPR_POE_OEI=166,
+IPR_TMR0_=170,
+IPR_TMR1_=173,
+IPR_TMR2_=176,
+IPR_TMR3_=179,
+IPR_SCI0_=214,
+IPR_SCI1_=217,
+IPR_SCI2_=220,
+IPR_SCI3_=223,
+IPR_SCI4_=226,
+IPR_SCI5_=229,
+IPR_SCI6_=232,
+IPR_SCI7_=235,
+IPR_SCI8_=238,
+IPR_SCI9_=241,
+IPR_SCI10_=244,
+IPR_SCI11_=247,
+IPR_SCI12_=250,
+IPR_IEB_=253
+};
+
+enum enum_grp {
+GRP_CAN0_ERS0=0,GRP_CAN1_ERS1=0,GRP_CAN2_ERS2=0,
+GRP_MTU0_TCIV0=1,GRP_MTU1_TCIV1=1,GRP_MTU1_TCIU1=1,
+GRP_MTU2_TCIV2=2,GRP_MTU2_TCIU2=2,GRP_MTU3_TCIV3=2,
+GRP_TPU0_TCI0V=3,GRP_TPU1_TCI1V=3,GRP_TPU1_TCI1U=3,GRP_TPU5_TCI5V=3,GRP_TPU5_TCI5U=3,
+GRP_TPU2_TCI2V=4,GRP_TPU2_TCI2U=4,GRP_TPU3_TCI3V=4,GRP_TPU4_TCI4V=4,GRP_TPU4_TCI4U=4,
+GRP_TPU6_TCI6V=5,GRP_TPU7_TCI7V=5,GRP_TPU7_TCI7U=5,GRP_TPU11_TCI11V=5,GRP_TPU11_TCI11U=5,
+GRP_TPU8_TCI8V=6,GRP_TPU8_TCI8U=6,GRP_TPU9_TCI9V=6,GRP_TPU10_TCI10V=6,GRP_TPU10_TCI10U=6,
+GRP_SCI0_ERI0=12,GRP_SCI1_ERI1=12,GRP_SCI2_ERI2=12,GRP_SCI3_ERI3=12,GRP_SCI4_ERI4=12,GRP_SCI5_ERI5=12,GRP_SCI6_ERI6=12,
+GRP_SCI7_ERI7=12,GRP_SCI8_ERI8=12,GRP_SCI9_ERI9=12,GRP_SCI10_ERI10=12,GRP_SCI11_ERI11=12,GRP_SCI12_ERI12=12,
+GRP_RSPI0_SPEI0=12,GRP_RSPI1_SPEI1=12,GRP_RSPI2_SPEI2=12
+};
+
+enum enum_gen {
+GEN_CAN0_ERS0=0,GEN_CAN1_ERS1=0,GEN_CAN2_ERS2=0,
+GEN_MTU0_TCIV0=1,GEN_MTU1_TCIV1=1,GEN_MTU1_TCIU1=1,
+GEN_MTU2_TCIV2=2,GEN_MTU2_TCIU2=2,GEN_MTU3_TCIV3=2,
+GEN_TPU0_TCI0V=3,GEN_TPU1_TCI1V=3,GEN_TPU1_TCI1U=3,GEN_TPU5_TCI5V=3,GEN_TPU5_TCI5U=3,
+GEN_TPU2_TCI2V=4,GEN_TPU2_TCI2U=4,GEN_TPU3_TCI3V=4,GEN_TPU4_TCI4V=4,GEN_TPU4_TCI4U=4,
+GEN_TPU6_TCI6V=5,GEN_TPU7_TCI7V=5,GEN_TPU7_TCI7U=5,GEN_TPU11_TCI11V=5,GEN_TPU11_TCI11U=5,
+GEN_TPU8_TCI8V=6,GEN_TPU8_TCI8U=6,GEN_TPU9_TCI9V=6,GEN_TPU10_TCI10V=6,GEN_TPU10_TCI10U=6,
+GEN_SCI0_ERI0=12,GEN_SCI1_ERI1=12,GEN_SCI2_ERI2=12,GEN_SCI3_ERI3=12,GEN_SCI4_ERI4=12,GEN_SCI5_ERI5=12,GEN_SCI6_ERI6=12,
+GEN_SCI7_ERI7=12,GEN_SCI8_ERI8=12,GEN_SCI9_ERI9=12,GEN_SCI10_ERI10=12,GEN_SCI11_ERI11=12,GEN_SCI12_ERI12=12,
+GEN_RSPI0_SPEI0=12,GEN_RSPI1_SPEI1=12,GEN_RSPI2_SPEI2=12
+};
+
+enum enum_gcr {
+GCR_CAN0_ERS0=0,GCR_CAN1_ERS1=0,GCR_CAN2_ERS2=0,
+GCR_MTU0_TCIV0=1,GCR_MTU1_TCIV1=1,GCR_MTU1_TCIU1=1,
+GCR_MTU2_TCIV2=2,GCR_MTU2_TCIU2=2,GCR_MTU3_TCIV3=2,
+GCR_TPU0_TCI0V=3,GCR_TPU1_TCI1V=3,GCR_TPU1_TCI1U=3,GCR_TPU5_TCI5V=3,GCR_TPU5_TCI5U=3,
+GCR_TPU2_TCI2V=4,GCR_TPU2_TCI2U=4,GCR_TPU3_TCI3V=4,GCR_TPU4_TCI4V=4,GCR_TPU4_TCI4U=4,
+GCR_TPU6_TCI6V=5,GCR_TPU7_TCI7V=5,GCR_TPU7_TCI7U=5,GCR_TPU11_TCI11V=5,GCR_TPU11_TCI11U=5,
+GCR_TPU8_TCI8V=6,GCR_TPU8_TCI8U=6,GCR_TPU9_TCI9V=6,GCR_TPU10_TCI10V=6,GCR_TPU10_TCI10U=6,
+GCR_SCI0_ERI0=12,GCR_SCI1_ERI1=12,GCR_SCI2_ERI2=12,GCR_SCI3_ERI3=12,GCR_SCI4_ERI4=12,GCR_SCI5_ERI5=12,GCR_SCI6_ERI6=12,
+GCR_SCI7_ERI7=12,GCR_SCI8_ERI8=12,GCR_SCI9_ERI9=12,GCR_SCI10_ERI10=12,GCR_SCI11_ERI11=12,GCR_SCI12_ERI12=12,
+GCR_RSPI0_SPEI0=12,GCR_RSPI1_SPEI1=12,GCR_RSPI2_SPEI2=12
+};
+
+#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_USB0_D0FIFO0	IEN1
+#define	IEN_USB0_D1FIFO0	IEN2
+#define	IEN_USB0_USBI0		IEN3
+#define	IEN_USB0_D0FIFO1	IEN4
+#define	IEN_USB0_D1FIFO1	IEN5
+#define	IEN_USB0_USBI1		IEN6
+#define	IEN_RSPI0_SPRI0		IEN7
+#define	IEN_RSPI0_SPTI0		IEN0
+#define	IEN_RSPI0_SPII0		IEN1
+#define	IEN_RSPI1_SPRI1		IEN2
+#define	IEN_RSPI1_SPTI1		IEN3
+#define	IEN_RSPI1_SPII1		IEN4
+#define	IEN_RSPI2_SPRI2		IEN5
+#define	IEN_RSPI2_SPTI2		IEN6
+#define	IEN_RSPI2_SPII2		IEN7
+#define	IEN_CAN0_RXF0		IEN0
+#define	IEN_CAN0_TXF0		IEN1
+#define	IEN_CAN0_RXM0		IEN2
+#define	IEN_CAN0_TXM0		IEN3
+#define	IEN_CAN1_RXF1		IEN4
+#define	IEN_CAN1_TXF1		IEN5
+#define	IEN_CAN1_RXM1		IEN6
+#define	IEN_CAN1_TXM1		IEN7
+#define	IEN_CAN2_RXF2		IEN0
+#define	IEN_CAN2_TXF2		IEN1
+#define	IEN_CAN2_RXM2		IEN2
+#define	IEN_CAN2_TXM2		IEN3
+#define	IEN_RTC_COUNTUP		IEN6
+#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_RTC_ALARM		IEN4
+#define	IEN_RTC_PRD			IEN5
+#define	IEN_AD0_ADI0		IEN2
+#define	IEN_S12AD0_S12ADI0	IEN6
+#define	IEN_ICU_GROUPE0		IEN2
+#define	IEN_ICU_GROUPE1		IEN3
+#define	IEN_ICU_GROUPE2		IEN4
+#define	IEN_ICU_GROUPE3		IEN5
+#define	IEN_ICU_GROUPE4		IEN6
+#define	IEN_ICU_GROUPE5		IEN7
+#define	IEN_ICU_GROUPE6		IEN0
+#define	IEN_ICU_GROUPL0		IEN2
+#define	IEN_SCIX_SCIX0		IEN2
+#define	IEN_SCIX_SCIX1		IEN3
+#define	IEN_SCIX_SCIX2		IEN4
+#define	IEN_SCIX_SCIX3		IEN5
+#define	IEN_TPU0_TGI0A		IEN6
+#define	IEN_TPU0_TGI0B		IEN7
+#define	IEN_TPU0_TGI0C		IEN0
+#define	IEN_TPU0_TGI0D		IEN1
+#define	IEN_TPU1_TGI1A		IEN2
+#define	IEN_TPU1_TGI1B		IEN3
+#define	IEN_TPU2_TGI2A		IEN4
+#define	IEN_TPU2_TGI2B		IEN5
+#define	IEN_TPU3_TGI3A		IEN6
+#define	IEN_TPU3_TGI3B		IEN7
+#define	IEN_TPU3_TGI3C		IEN0
+#define	IEN_TPU3_TGI3D		IEN1
+#define	IEN_TPU4_TGI4A		IEN2
+#define	IEN_TPU4_TGI4B		IEN3
+#define	IEN_TPU5_TGI5A		IEN4
+#define	IEN_TPU5_TGI5B		IEN5
+#define	IEN_TPU6_TGI6A		IEN6
+#define	IEN_TPU6_TGI6B		IEN7
+#define	IEN_TPU6_TGI6C		IEN0
+#define	IEN_TPU6_TGI6D		IEN1
+#define	IEN_MTU0_TGIA0		IEN6
+#define	IEN_MTU0_TGIB0		IEN7
+#define	IEN_MTU0_TGIC0		IEN0
+#define	IEN_MTU0_TGID0		IEN1
+#define	IEN_MTU0_TGIE0		IEN2
+#define	IEN_MTU0_TGIF0		IEN3
+#define	IEN_TPU7_TGI7A		IEN4
+#define	IEN_TPU7_TGI7B		IEN5
+#define	IEN_MTU1_TGIA1		IEN4
+#define	IEN_MTU1_TGIB1		IEN5
+#define	IEN_TPU8_TGI8A		IEN6
+#define	IEN_TPU8_TGI8B		IEN7
+#define	IEN_MTU2_TGIA2		IEN6
+#define	IEN_MTU2_TGIB2		IEN7
+#define	IEN_TPU9_TGI9A		IEN0
+#define	IEN_TPU9_TGI9B		IEN1
+#define	IEN_TPU9_TGI9C		IEN2
+#define	IEN_TPU9_TGI9D		IEN3
+#define	IEN_MTU3_TGIA3		IEN0
+#define	IEN_MTU3_TGIB3		IEN1
+#define	IEN_MTU3_TGIC3		IEN2
+#define	IEN_MTU3_TGID3		IEN3
+#define	IEN_TPU10_TGI10A	IEN4
+#define	IEN_TPU10_TGI10B	IEN5
+#define	IEN_MTU4_TGIA4		IEN4
+#define	IEN_MTU4_TGIB4		IEN5
+#define	IEN_MTU4_TGIC4		IEN6
+#define	IEN_MTU4_TGID4		IEN7
+#define	IEN_MTU4_TCIV4		IEN0
+#define	IEN_MTU5_TGIU5		IEN1
+#define	IEN_MTU5_TGIV5		IEN2
+#define	IEN_MTU5_TGIW5		IEN3
+#define	IEN_TPU11_TGI11A	IEN4
+#define	IEN_TPU11_TGI11B	IEN5
+#define	IEN_POE_OEI1		IEN6
+#define	IEN_POE_OEI2		IEN7
+#define	IEN_TMR0_CMIA0		IEN2
+#define	IEN_TMR0_CMIB0		IEN3
+#define	IEN_TMR0_OVI0		IEN4
+#define	IEN_TMR1_CMIA1		IEN5
+#define	IEN_TMR1_CMIB1		IEN6
+#define	IEN_TMR1_OVI1		IEN7
+#define	IEN_TMR2_CMIA2		IEN0
+#define	IEN_TMR2_CMIB2		IEN1
+#define	IEN_TMR2_OVI2		IEN2
+#define	IEN_TMR3_CMIA3		IEN3
+#define	IEN_TMR3_CMIB3		IEN4
+#define	IEN_TMR3_OVI3		IEN5
+#define	IEN_RIIC0_EEI0		IEN6
+#define	IEN_RIIC0_RXI0		IEN7
+#define	IEN_RIIC0_TXI0		IEN0
+#define	IEN_RIIC0_TEI0		IEN1
+#define	IEN_RIIC1_EEI1		IEN2
+#define	IEN_RIIC1_RXI1		IEN3
+#define	IEN_RIIC1_TXI1		IEN4
+#define	IEN_RIIC1_TEI1		IEN5
+#define	IEN_RIIC2_EEI2		IEN6
+#define	IEN_RIIC2_RXI2		IEN7
+#define	IEN_RIIC2_TXI2		IEN0
+#define	IEN_RIIC2_TEI2		IEN1
+#define	IEN_RIIC3_EEI3		IEN2
+#define	IEN_RIIC3_RXI3		IEN3
+#define	IEN_RIIC3_TXI3		IEN4
+#define	IEN_RIIC3_TEI3		IEN5
+#define	IEN_DMAC_DMAC0I		IEN6
+#define	IEN_DMAC_DMAC1I		IEN7
+#define	IEN_DMAC_DMAC2I		IEN0
+#define	IEN_DMAC_DMAC3I		IEN1
+#define	IEN_SCI0_RXI0		IEN6
+#define	IEN_SCI0_TXI0		IEN7
+#define	IEN_SCI0_TEI0		IEN0
+#define	IEN_SCI1_RXI1		IEN1
+#define	IEN_SCI1_TXI1		IEN2
+#define	IEN_SCI1_TEI1		IEN3
+#define	IEN_SCI2_RXI2		IEN4
+#define	IEN_SCI2_TXI2		IEN5
+#define	IEN_SCI2_TEI2		IEN6
+#define	IEN_SCI3_RXI3		IEN7
+#define	IEN_SCI3_TXI3		IEN0
+#define	IEN_SCI3_TEI3		IEN1
+#define	IEN_SCI4_RXI4		IEN2
+#define	IEN_SCI4_TXI4		IEN3
+#define	IEN_SCI4_TEI4		IEN4
+#define	IEN_SCI5_RXI5		IEN5
+#define	IEN_SCI5_TXI5		IEN6
+#define	IEN_SCI5_TEI5		IEN7
+#define	IEN_SCI6_RXI6		IEN0
+#define	IEN_SCI6_TXI6		IEN1
+#define	IEN_SCI6_TEI6		IEN2
+#define	IEN_SCI7_RXI7		IEN3
+#define	IEN_SCI7_TXI7		IEN4
+#define	IEN_SCI7_TEI7		IEN5
+#define	IEN_SCI8_RXI8		IEN6
+#define	IEN_SCI8_TXI8		IEN7
+#define	IEN_SCI8_TEI8		IEN0
+#define	IEN_SCI9_RXI9		IEN1
+#define	IEN_SCI9_TXI9		IEN2
+#define	IEN_SCI9_TEI9		IEN3
+#define	IEN_SCI10_RXI10		IEN4
+#define	IEN_SCI10_TXI10		IEN5
+#define	IEN_SCI10_TEI10		IEN6
+#define	IEN_SCI11_RXI11		IEN7
+#define	IEN_SCI11_TXI11		IEN0
+#define	IEN_SCI11_TEI11		IEN1
+#define	IEN_SCI12_RXI12		IEN2
+#define	IEN_SCI12_TXI12		IEN3
+#define	IEN_SCI12_TEI12		IEN4
+#define	IEN_IEB_IEBINT		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_USB0_D0FIFO0	33
+#define	VECT_USB0_D1FIFO0	34
+#define	VECT_USB0_USBI0		35
+#define	VECT_USB0_D0FIFO1	36
+#define	VECT_USB0_D1FIFO1	37
+#define	VECT_USB0_USBI1		38
+#define	VECT_RSPI0_SPRI0	39
+#define	VECT_RSPI0_SPTI0	40
+#define	VECT_RSPI0_SPII0	41
+#define	VECT_RSPI1_SPRI1	42
+#define	VECT_RSPI1_SPTI1	43
+#define	VECT_RSPI1_SPII1	44
+#define	VECT_RSPI2_SPRI2	45
+#define	VECT_RSPI2_SPTI2	46
+#define	VECT_RSPI2_SPII2	47
+#define	VECT_CAN0_RXF0		48
+#define	VECT_CAN0_TXF0		49
+#define	VECT_CAN0_RXM0		50
+#define	VECT_CAN0_TXM0		51
+#define	VECT_CAN1_RXF1		52
+#define	VECT_CAN1_TXF1		53
+#define	VECT_CAN1_RXM1		54
+#define	VECT_CAN1_TXM1		55
+#define	VECT_CAN2_RXF2		56
+#define	VECT_CAN2_TXF2		57
+#define	VECT_CAN2_RXM2		58
+#define	VECT_CAN2_TXM2		59
+#define	VECT_RTC_COUNTUP	62
+#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_RTC_ALARM		92
+#define	VECT_RTC_PRD		93
+#define	VECT_AD0_ADI0		98
+#define	VECT_S12AD0_S12ADI0	102
+#define	VECT_ICU_GROUPE0	106
+#define	VECT_ICU_GROUPE1	107
+#define	VECT_ICU_GROUPE2	108
+#define	VECT_ICU_GROUPE3	109
+#define	VECT_ICU_GROUPE4	110
+#define	VECT_ICU_GROUPE5	111
+#define	VECT_ICU_GROUPE6	112
+#define	VECT_ICU_GROUPL0	114
+#define	VECT_SCIX_SCIX0		122
+#define	VECT_SCIX_SCIX1		123
+#define	VECT_SCIX_SCIX2		124
+#define	VECT_SCIX_SCIX3		125
+#define	VECT_TPU0_TGI0A		126
+#define	VECT_TPU0_TGI0B		127
+#define	VECT_TPU0_TGI0C		128
+#define	VECT_TPU0_TGI0D		129
+#define	VECT_TPU1_TGI1A		130
+#define	VECT_TPU1_TGI1B		131
+#define	VECT_TPU2_TGI2A		132
+#define	VECT_TPU2_TGI2B		133
+#define	VECT_TPU3_TGI3A		134
+#define	VECT_TPU3_TGI3B		135
+#define	VECT_TPU3_TGI3C		136
+#define	VECT_TPU3_TGI3D		137
+#define	VECT_TPU4_TGI4A		138
+#define	VECT_TPU4_TGI4B		139
+#define	VECT_TPU5_TGI5A		140
+#define	VECT_TPU5_TGI5B		141
+#define	VECT_TPU6_TGI6A		142
+#define	VECT_TPU6_TGI6B		143
+#define	VECT_TPU6_TGI6C		144
+#define	VECT_TPU6_TGI6D		145
+#define	VECT_MTU0_TGIA0		142
+#define	VECT_MTU0_TGIB0		143
+#define	VECT_MTU0_TGIC0		144
+#define	VECT_MTU0_TGID0		145
+#define	VECT_MTU0_TGIE0		146
+#define	VECT_MTU0_TGIF0		147
+#define	VECT_TPU7_TGI7A		148
+#define	VECT_TPU7_TGI7B		149
+#define	VECT_MTU1_TGIA1		148
+#define	VECT_MTU1_TGIB1		149
+#define	VECT_TPU8_TGI8A		150
+#define	VECT_TPU8_TGI8B		151
+#define	VECT_MTU2_TGIA2		150
+#define	VECT_MTU2_TGIB2		151
+#define	VECT_TPU9_TGI9A		152
+#define	VECT_TPU9_TGI9B		153
+#define	VECT_TPU9_TGI9C		154
+#define	VECT_TPU9_TGI9D		155
+#define	VECT_MTU3_TGIA3		152
+#define	VECT_MTU3_TGIB3		153
+#define	VECT_MTU3_TGIC3		154
+#define	VECT_MTU3_TGID3		155
+#define	VECT_TPU10_TGI10A	156
+#define	VECT_TPU10_TGI10B	157
+#define	VECT_MTU4_TGIA4		156
+#define	VECT_MTU4_TGIB4		157
+#define	VECT_MTU4_TGIC4		158
+#define	VECT_MTU4_TGID4		159
+#define	VECT_MTU4_TCIV4		160
+#define	VECT_MTU5_TGIU5		161
+#define	VECT_MTU5_TGIV5		162
+#define	VECT_MTU5_TGIW5		163
+#define	VECT_TPU11_TGI11A	164
+#define	VECT_TPU11_TGI11B	165
+#define	VECT_POE_OEI1		166
+#define	VECT_POE_OEI2		167
+#define	VECT_TMR0_CMIA0		170
+#define	VECT_TMR0_CMIB0		171
+#define	VECT_TMR0_OVI0		172
+#define	VECT_TMR1_CMIA1		173
+#define	VECT_TMR1_CMIB1		174
+#define	VECT_TMR1_OVI1		175
+#define	VECT_TMR2_CMIA2		176
+#define	VECT_TMR2_CMIB2		177
+#define	VECT_TMR2_OVI2		178
+#define	VECT_TMR3_CMIA3		179
+#define	VECT_TMR3_CMIB3		180
+#define	VECT_TMR3_OVI3		181
+#define	VECT_RIIC0_EEI0		182
+#define	VECT_RIIC0_RXI0		183
+#define	VECT_RIIC0_TXI0		184
+#define	VECT_RIIC0_TEI0		185
+#define	VECT_RIIC1_EEI1		186
+#define	VECT_RIIC1_RXI1		187
+#define	VECT_RIIC1_TXI1		188
+#define	VECT_RIIC1_TEI1		189
+#define	VECT_RIIC2_EEI2		190
+#define	VECT_RIIC2_RXI2		191
+#define	VECT_RIIC2_TXI2		192
+#define	VECT_RIIC2_TEI2		193
+#define	VECT_RIIC3_EEI3		194
+#define	VECT_RIIC3_RXI3		195
+#define	VECT_RIIC3_TXI3		196
+#define	VECT_RIIC3_TEI3		197
+#define	VECT_DMAC_DMAC0I	198
+#define	VECT_DMAC_DMAC1I	199
+#define	VECT_DMAC_DMAC2I	200
+#define	VECT_DMAC_DMAC3I	201
+#define	VECT_SCI0_RXI0		214
+#define	VECT_SCI0_TXI0		215
+#define	VECT_SCI0_TEI0		216
+#define	VECT_SCI1_RXI1		217
+#define	VECT_SCI1_TXI1		218
+#define	VECT_SCI1_TEI1		219
+#define	VECT_SCI2_RXI2		220
+#define	VECT_SCI2_TXI2		221
+#define	VECT_SCI2_TEI2		222
+#define	VECT_SCI3_RXI3		223
+#define	VECT_SCI3_TXI3		224
+#define	VECT_SCI3_TEI3		225
+#define	VECT_SCI4_RXI4		226
+#define	VECT_SCI4_TXI4		227
+#define	VECT_SCI4_TEI4		228
+#define	VECT_SCI5_RXI5		229
+#define	VECT_SCI5_TXI5		230
+#define	VECT_SCI5_TEI5		231
+#define	VECT_SCI6_RXI6		232
+#define	VECT_SCI6_TXI6		233
+#define	VECT_SCI6_TEI6		234
+#define	VECT_SCI7_RXI7		235
+#define	VECT_SCI7_TXI7		236
+#define	VECT_SCI7_TEI7		237
+#define	VECT_SCI8_RXI8		238
+#define	VECT_SCI8_TXI8		239
+#define	VECT_SCI8_TEI8		240
+#define	VECT_SCI9_RXI9		241
+#define	VECT_SCI9_TXI9		242
+#define	VECT_SCI9_TEI9		243
+#define	VECT_SCI10_RXI10	244
+#define	VECT_SCI10_TXI10	245
+#define	VECT_SCI10_TEI10	246
+#define	VECT_SCI11_RXI11	247
+#define	VECT_SCI11_TXI11	248
+#define	VECT_SCI11_TEI11	249
+#define	VECT_SCI12_RXI12	250
+#define	VECT_SCI12_TXI12	251
+#define	VECT_SCI12_TEI12	252
+#define	VECT_IEB_IEBINT		253
+
+#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_AD		SYSTEM.MSTPCRA.BIT.MSTPA23
+#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_TPU0	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU1	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU2	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU3	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU4	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU5	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU6	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU7	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU8	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU9	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU10	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU11	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_PPG0	SYSTEM.MSTPCRA.BIT.MSTPA11
+#define	MSTP_PPG1	SYSTEM.MSTPCRA.BIT.MSTPA10
+#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_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_SCI4	SYSTEM.MSTPCRB.BIT.MSTPB27
+#define	MSTP_SMCI4	SYSTEM.MSTPCRB.BIT.MSTPB27
+#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_SCI7	SYSTEM.MSTPCRB.BIT.MSTPB24
+#define	MSTP_SMCI7	SYSTEM.MSTPCRB.BIT.MSTPB24
+#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_RSPI0	SYSTEM.MSTPCRB.BIT.MSTPB17
+#define	MSTP_RSPI1	SYSTEM.MSTPCRB.BIT.MSTPB16
+#define	MSTP_TEMPS	SYSTEM.MSTPCRB.BIT.MSTPB8
+#define	MSTP_SCI12	SYSTEM.MSTPCRB.BIT.MSTPB4
+#define	MSTP_SMCI12	SYSTEM.MSTPCRB.BIT.MSTPB4
+#define	MSTP_CAN2	SYSTEM.MSTPCRB.BIT.MSTPB2
+#define	MSTP_CAN1	SYSTEM.MSTPCRB.BIT.MSTPB1
+#define	MSTP_CAN0	SYSTEM.MSTPCRB.BIT.MSTPB0
+#define	MSTP_SCI8	SYSTEM.MSTPCRC.BIT.MSTPC27
+#define	MSTP_SMCI8	SYSTEM.MSTPCRC.BIT.MSTPC27
+#define	MSTP_SCI9	SYSTEM.MSTPCRC.BIT.MSTPC26
+#define	MSTP_SMCI9	SYSTEM.MSTPCRC.BIT.MSTPC26
+#define	MSTP_SCI10	SYSTEM.MSTPCRC.BIT.MSTPC25
+#define	MSTP_SMCI10	SYSTEM.MSTPCRC.BIT.MSTPC25
+#define	MSTP_SCI11	SYSTEM.MSTPCRC.BIT.MSTPC24
+#define	MSTP_SMCI11	SYSTEM.MSTPCRC.BIT.MSTPC24
+#define	MSTP_RSPI2	SYSTEM.MSTPCRC.BIT.MSTPC22
+#define	MSTP_LVD	SYSTEM.MSTPCRC.BIT.MSTPC20
+#define	MSTP_IEB	SYSTEM.MSTPCRC.BIT.MSTPC18
+#define	MSTP_RIIC2	SYSTEM.MSTPCRC.BIT.MSTPC17
+#define	MSTP_RIIC3	SYSTEM.MSTPCRC.BIT.MSTPC16
+#define	MSTP_RAM1	SYSTEM.MSTPCRC.BIT.MSTPC1
+#define	MSTP_RAM0	SYSTEM.MSTPCRC.BIT.MSTPC0
+
+#define	IS_CAN0_ERS0		IS0
+#define	IS_CAN1_ERS1		IS1
+#define	IS_CAN2_ERS2		IS2
+#define	IS_MTU0_TCIV0		IS0
+#define	IS_MTU1_TCIV1		IS1
+#define	IS_MTU1_TCIU1		IS2
+#define	IS_MTU2_TCIV2		IS0
+#define	IS_MTU2_TCIU2		IS1
+#define	IS_MTU3_TCIV3		IS2
+#define	IS_TPU0_TCI0V		IS0
+#define	IS_TPU1_TCI1V		IS1
+#define	IS_TPU1_TCI1U		IS2
+#define	IS_TPU5_TCI5V		IS3
+#define	IS_TPU5_TCI5U		IS4
+#define	IS_TPU2_TCI2V		IS0
+#define	IS_TPU2_TCI2U		IS1
+#define	IS_TPU3_TCI3V		IS2
+#define	IS_TPU4_TCI4V		IS3
+#define	IS_TPU4_TCI4U		IS4
+#define	IS_TPU6_TCI6V		IS0
+#define	IS_TPU7_TCI7V		IS1
+#define	IS_TPU7_TCI7U		IS2
+#define	IS_TPU11_TCI11V		IS3
+#define	IS_TPU11_TCI11U		IS4
+#define	IS_TPU8_TCI8V		IS0
+#define	IS_TPU8_TCI8U		IS1
+#define	IS_TPU9_TCI9V		IS2
+#define	IS_TPU10_TCI10V		IS3
+#define	IS_TPU10_TCI10U		IS4
+#define	IS_SCI0_ERI0		IS0
+#define	IS_SCI1_ERI1		IS1
+#define	IS_SCI2_ERI2		IS2
+#define	IS_SCI3_ERI3		IS3
+#define	IS_SCI4_ERI4		IS4
+#define	IS_SCI5_ERI5		IS5
+#define	IS_SCI6_ERI6		IS6
+#define	IS_SCI7_ERI7		IS7
+#define	IS_SCI8_ERI8		IS8
+#define	IS_SCI9_ERI9		IS9
+#define	IS_SCI10_ERI10		IS10
+#define	IS_SCI11_ERI11		IS11
+#define	IS_SCI12_ERI12		IS12
+#define	IS_RSPI0_SPEI0		IS13
+#define	IS_RSPI1_SPEI1		IS14
+#define	IS_RSPI2_SPEI2		IS15
+
+#define	EN_CAN0_ERS0		EN0
+#define	EN_CAN1_ERS1		EN1
+#define	EN_CAN2_ERS2		EN2
+#define	EN_MTU0_TCIV0		EN0
+#define	EN_MTU1_TCIV1		EN1
+#define	EN_MTU1_TCIU1		EN2
+#define	EN_MTU2_TCIV2		EN0
+#define	EN_MTU2_TCIU2		EN1
+#define	EN_MTU3_TCIV3		EN2
+#define	EN_TPU0_TCI0V		EN0
+#define	EN_TPU1_TCI1V		EN1
+#define	EN_TPU1_TCI1U		EN2
+#define	EN_TPU5_TCI5V		EN3
+#define	EN_TPU5_TCI5U		EN4
+#define	EN_TPU2_TCI2V		EN0
+#define	EN_TPU2_TCI2U		EN1
+#define	EN_TPU3_TCI3V		EN2
+#define	EN_TPU4_TCI4V		EN3
+#define	EN_TPU4_TCI4U		EN4
+#define	EN_TPU6_TCI6V		EN0
+#define	EN_TPU7_TCI7V		EN1
+#define	EN_TPU7_TCI7U		EN2
+#define	EN_TPU11_TCI11V		EN3
+#define	EN_TPU11_TCI11U		EN4
+#define	EN_TPU8_TCI8V		EN0
+#define	EN_TPU8_TCI8U		EN1
+#define	EN_TPU9_TCI9V		EN2
+#define	EN_TPU10_TCI10V		EN3
+#define	EN_TPU10_TCI10U		EN4
+#define	EN_SCI0_ERI0		EN0
+#define	EN_SCI1_ERI1		EN1
+#define	EN_SCI2_ERI2		EN2
+#define	EN_SCI3_ERI3		EN3
+#define	EN_SCI4_ERI4		EN4
+#define	EN_SCI5_ERI5		EN5
+#define	EN_SCI6_ERI6		EN6
+#define	EN_SCI7_ERI7		EN7
+#define	EN_SCI8_ERI8		EN8
+#define	EN_SCI9_ERI9		EN9
+#define	EN_SCI10_ERI10		EN10
+#define	EN_SCI11_ERI11		EN11
+#define	EN_SCI12_ERI12		EN12
+#define	EN_RSPI0_SPEI0		EN13
+#define	EN_RSPI1_SPEI1		EN14
+#define	EN_RSPI2_SPEI2		EN15
+
+#define	CLR_CAN0_ERS0		CLR0
+#define	CLR_CAN1_ERS1		CLR1
+#define	CLR_CAN2_ERS2		CLR2
+#define	CLR_MTU0_TCIV0		CLR0
+#define	CLR_MTU1_TCIV1		CLR1
+#define	CLR_MTU1_TCIU1		CLR2
+#define	CLR_MTU2_TCIV2		CLR0
+#define	CLR_MTU2_TCIU2		CLR1
+#define	CLR_MTU3_TCIV3		CLR2
+#define	CLR_TPU0_TCI0V		CLR0
+#define	CLR_TPU1_TCI1V		CLR1
+#define	CLR_TPU1_TCI1U		CLR2
+#define	CLR_TPU5_TCI5V		CLR3
+#define	CLR_TPU5_TCI5U		CLR4
+#define	CLR_TPU2_TCI2V		CLR0
+#define	CLR_TPU2_TCI2U		CLR1
+#define	CLR_TPU3_TCI3V		CLR2
+#define	CLR_TPU4_TCI4V		CLR3
+#define	CLR_TPU4_TCI4U		CLR4
+#define	CLR_TPU6_TCI6V		CLR0
+#define	CLR_TPU7_TCI7V		CLR1
+#define	CLR_TPU7_TCI7U		CLR2
+#define	CLR_TPU11_TCI11V	CLR3
+#define	CLR_TPU11_TCI11U	CLR4
+#define	CLR_TPU8_TCI8V		CLR0
+#define	CLR_TPU8_TCI8U		CLR1
+#define	CLR_TPU9_TCI9V		CLR2
+#define	CLR_TPU10_TCI10V	CLR3
+#define	CLR_TPU10_TCI10U	CLR4
+#define	CLR_SCI0_ERI0		CLR0
+#define	CLR_SCI1_ERI1		CLR1
+#define	CLR_SCI2_ERI2		CLR2
+#define	CLR_SCI3_ERI3		CLR3
+#define	CLR_SCI4_ERI4		CLR4
+#define	CLR_SCI5_ERI5		CLR5
+#define	CLR_SCI6_ERI6		CLR6
+#define	CLR_SCI7_ERI7		CLR7
+#define	CLR_SCI8_ERI8		CLR8
+#define	CLR_SCI9_ERI9		CLR9
+#define	CLR_SCI10_ERI10		CLR10
+#define	CLR_SCI11_ERI11		CLR11
+#define	CLR_SCI12_ERI12		CLR12
+#define	CLR_RSPI0_SPEI0		CLR13
+#define	CLR_RSPI1_SPEI1		CLR14
+#define	CLR_RSPI2_SPEI2		CLR15
+
+#define	CN_TPU6_TGI6A		CN0
+#define	CN_TPU6_TGI6B		CN0
+#define	CN_TPU6_TGI6C		CN0
+#define	CN_TPU6_TGI6D		CN0
+#define	CN_MTU0_TGIA0		CN0
+#define	CN_MTU0_TGIB0		CN0
+#define	CN_MTU0_TGIC0		CN0
+#define	CN_MTU0_TGID0		CN0
+#define	CN_MTU0_TGIE0		CN0
+#define	CN_MTU0_TGIF0		CN0
+#define	CN_TPU7_TGI7A		CN1
+#define	CN_TPU7_TGI7B		CN1
+#define	CN_MTU1_TGIA1		CN1
+#define	CN_MTU1_TGIB1		CN1
+#define	CN_TPU8_TGI8A		CN2
+#define	CN_TPU8_TGI8B		CN2
+#define	CN_MTU2_TGIA2		CN2
+#define	CN_MTU2_TGIB2		CN2
+#define	CN_TPU9_TGI9A		CN3
+#define	CN_TPU9_TGI9B		CN3
+#define	CN_TPU9_TGI9C		CN3
+#define	CN_TPU9_TGI9D		CN3
+#define	CN_MTU3_TGIA3		CN3
+#define	CN_MTU3_TGIB3		CN3
+#define	CN_MTU3_TGIC3		CN3
+#define	CN_MTU3_TGID3		CN3
+#define	CN_TPU10_TGI10A		CN4
+#define	CN_TPU10_TGI10B		CN4
+#define	CN_MTU4_TGIA4		CN4
+#define	CN_MTU4_TGIB4		CN4
+#define	CN_MTU4_TGIC4		CN4
+#define	CN_MTU4_TGID4		CN4
+#define	CN_MTU4_TGIV4		CN4
+#define	CN_TPU11_TGI11A		CN5
+#define	CN_TPU11_TGI11B		CN5
+#define	CN_MTU5_TGIU5		CN5
+#define	CN_MTU5_TGIV5		CN5
+#define	CN_MTU5_TGIW5		CN5
+#define	CN_TPU6_			CN0
+#define	CN_MTU0_			CN0
+#define	CN_TPU7_			CN1
+#define	CN_MTU1_			CN1
+#define	CN_TPU8_			CN2
+#define	CN_MTU2_			CN2
+#define	CN_TPU9_			CN3
+#define	CN_MTU3_			CN3
+#define	CN_TPU10_			CN4
+#define	CN_MTU4_			CN4
+#define	CN_TPU11_			CN5
+#define	CN_MTU5_			CN5
+
+#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	__IS( x )		ICU.GRP[ GRP ## x ].BIT.IS ## x
+#define	 _IS( x )		__IS( x )
+#define	  IS( x , y )	_IS( _ ## x ## _ ## y )
+#define	__EN( x )		ICU.GEN[ GEN ## x ].BIT.EN ## x
+#define	 _EN( x )		__EN( x )
+#define	  EN( x , y )	_EN( _ ## x ## _ ## y )
+#define	__CLR( x )		ICU.GCR[ GCR ## x ].BIT.CLR ## x
+#define	 _CLR( x )		__CLR( x )
+#define	  CLR( x , y )	_CLR( _ ## x ## _ ## y )
+#define	__CN( x )		ICU.SEL.BIT.CN ## x
+#define	 _CN( x )		__CN( x )
+#define	  CN( x , y )	_CN( _ ## x ## _ ## y )
+
+#define	AD		(*(volatile struct st_ad     __evenaccess *)0x89800)
+#define	BSC		(*(volatile struct st_bsc    __evenaccess *)0x81300)
+#define	CAN0	(*(volatile struct st_can    __evenaccess *)0x90200)
+#define	CAN1	(*(volatile struct st_can    __evenaccess *)0x91200)
+#define	CAN2	(*(volatile struct st_can    __evenaccess *)0x92200)
+#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	FLASH	(*(volatile struct st_flash  __evenaccess *)0x8C296)
+#define	ICU		(*(volatile struct st_icu    __evenaccess *)0x87000)
+#define	IEB		(*(volatile struct st_ieb    __evenaccess *)0x8A800)
+#define	IWDT	(*(volatile struct st_iwdt   __evenaccess *)0x88030)
+#define	MPC		(*(volatile struct st_mpc    __evenaccess *)0x8C100)
+#define	MTU		(*(volatile struct st_mtu    __evenaccess *)0x8860A)
+#define	MTU0	(*(volatile struct st_mtu0   __evenaccess *)0x88690)
+#define	MTU1	(*(volatile struct st_mtu1   __evenaccess *)0x88690)
+#define	MTU2	(*(volatile struct st_mtu2   __evenaccess *)0x88692)
+#define	MTU3	(*(volatile struct st_mtu3   __evenaccess *)0x88600)
+#define	MTU4	(*(volatile struct st_mtu4   __evenaccess *)0x88600)
+#define	MTU5	(*(volatile struct st_mtu5   __evenaccess *)0x88694)
+#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	PORTH	(*(volatile struct st_porth  __evenaccess *)0x8C011)
+#define	PORTJ	(*(volatile struct st_portj  __evenaccess *)0x8C012)
+#define	PORTK	(*(volatile struct st_portk  __evenaccess *)0x8C013)
+#define	PORTL	(*(volatile struct st_portl  __evenaccess *)0x8C014)
+#define	PPG0	(*(volatile struct st_ppg0   __evenaccess *)0x881E6)
+#define	PPG1	(*(volatile struct st_ppg1   __evenaccess *)0x881F0)
+#define	RIIC0	(*(volatile struct st_riic0  __evenaccess *)0x88300)
+#define	RIIC1	(*(volatile struct st_riic1  __evenaccess *)0x88320)
+#define	RIIC2	(*(volatile struct st_riic1  __evenaccess *)0x88340)
+#define	RIIC3	(*(volatile struct st_riic1  __evenaccess *)0x88360)
+#define	RSPI0	(*(volatile struct st_rspi   __evenaccess *)0x88380)
+#define	RSPI1	(*(volatile struct st_rspi   __evenaccess *)0x883A0)
+#define	RSPI2	(*(volatile struct st_rspi   __evenaccess *)0x883C0)
+#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_sci0   __evenaccess *)0x8A020)
+#define	SCI2	(*(volatile struct st_sci0   __evenaccess *)0x8A040)
+#define	SCI3	(*(volatile struct st_sci0   __evenaccess *)0x8A060)
+#define	SCI4	(*(volatile struct st_sci0   __evenaccess *)0x8A080)
+#define	SCI5	(*(volatile struct st_sci0   __evenaccess *)0x8A0A0)
+#define	SCI6	(*(volatile struct st_sci0   __evenaccess *)0x8A0C0)
+#define	SCI7	(*(volatile struct st_sci7   __evenaccess *)0x8A0E0)
+#define	SCI8	(*(volatile struct st_sci0   __evenaccess *)0x8A100)
+#define	SCI9	(*(volatile struct st_sci0   __evenaccess *)0x8A120)
+#define	SCI10	(*(volatile struct st_sci0   __evenaccess *)0x8A140)
+#define	SCI11	(*(volatile struct st_sci0   __evenaccess *)0x8A160)
+#define	SCI12	(*(volatile struct st_sci12  __evenaccess *)0x8B300)
+#define	SMCI0	(*(volatile struct st_smci0  __evenaccess *)0x8A000)
+#define	SMCI1	(*(volatile struct st_smci0  __evenaccess *)0x8A020)
+#define	SMCI2	(*(volatile struct st_smci0  __evenaccess *)0x8A040)
+#define	SMCI3	(*(volatile struct st_smci0  __evenaccess *)0x8A060)
+#define	SMCI4	(*(volatile struct st_smci0  __evenaccess *)0x8A080)
+#define	SMCI5	(*(volatile struct st_smci0  __evenaccess *)0x8A0A0)
+#define	SMCI6	(*(volatile struct st_smci0  __evenaccess *)0x8A0C0)
+#define	SMCI7	(*(volatile struct st_smci7  __evenaccess *)0x8A0E0)
+#define	SMCI8	(*(volatile struct st_smci0  __evenaccess *)0x8A100)
+#define	SMCI9	(*(volatile struct st_smci0  __evenaccess *)0x8A120)
+#define	SMCI10	(*(volatile struct st_smci0  __evenaccess *)0x8A140)
+#define	SMCI11	(*(volatile struct st_smci0  __evenaccess *)0x8A160)
+#define	SMCI12	(*(volatile struct st_smci0  __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	TPU0	(*(volatile struct st_tpu0   __evenaccess *)0x88108)
+#define	TPU1	(*(volatile struct st_tpu1   __evenaccess *)0x88108)
+#define	TPU2	(*(volatile struct st_tpu2   __evenaccess *)0x8810A)
+#define	TPU3	(*(volatile struct st_tpu3   __evenaccess *)0x8810A)
+#define	TPU4	(*(volatile struct st_tpu4   __evenaccess *)0x8810C)
+#define	TPU5	(*(volatile struct st_tpu5   __evenaccess *)0x8810C)
+#define	TPU6	(*(volatile struct st_tpu0   __evenaccess *)0x88178)
+#define	TPU7	(*(volatile struct st_tpu1   __evenaccess *)0x88178)
+#define	TPU8	(*(volatile struct st_tpu2   __evenaccess *)0x8817A)
+#define	TPU9	(*(volatile struct st_tpu3   __evenaccess *)0x8817A)
+#define	TPU10	(*(volatile struct st_tpu4   __evenaccess *)0x8817C)
+#define	TPU11	(*(volatile struct st_tpu5   __evenaccess *)0x8817C)
+#define	TPUA	(*(volatile struct st_tpua   __evenaccess *)0x88100)
+#define	TPUB	(*(volatile struct st_tpub   __evenaccess *)0x88170)
+#define	USB		(*(volatile struct st_usb    __evenaccess *)0xA0400)
+#define	USB0	(*(volatile struct st_usb0   __evenaccess *)0xA0000)
+#define	WDT		(*(volatile struct st_wdt    __evenaccess *)0x88020)
+#pragma bit_order
+#pragma packoption
+#endif
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/iodefine.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx63n/iodefine.h
similarity index 95%
rename from Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/iodefine.h
rename to Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx63n/iodefine.h
index 3b8faccb67..a543fba63b 100644
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/iodefine.h
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx63n/iodefine.h
@@ -1,7 +1,7 @@
 /***********************************************************************/
 /*                                                                     */
 /*  FILE        :iodefine.h                                            */
-/*  DATE        :Fri, Sep 02, 2011                                     */
+/*  DATE        :Mon, Jul 11, 2011                                     */
 /*  DESCRIPTION :Definition of I/O Register                            */
 /*  CPU TYPE    :RX63N                                                 */
 /*                                                                     */
@@ -7108,7 +7108,14 @@ struct st_rspi {
 			unsigned char OVRF:1;
 		} BIT;
 	} SPSR;
-	unsigned long  SPDR;
+	//unsigned long  SPDR;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned short H;
+			unsigned short L;
+		} WORD;
+	} SPDR;
 	union {
 		unsigned char BYTE;
 		struct {
@@ -9666,11 +9673,35 @@ struct st_usb0 {
 		} BIT;
 	} DVSTCTR0;
 	char           wk2[10];
-	unsigned short CFIFO;
+	//ORIG: unsigned short CFIFO;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char L;
+			unsigned char H;
+		} BYTE;
+	} CFIFO;
+    //ENDORIG
 	char           wk3[2];
-	unsigned short D0FIFO;
+	//ORIG: unsigned short D0FIFO;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char L;
+			unsigned char H;
+		} BYTE;
+	} D0FIFO;
+    //ENDORIG
 	char           wk4[2];
-	unsigned short D1FIFO;
+	//ORIG: unsigned short D1FIFO;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned char L;
+			unsigned char H;
+		} BYTE;
+	} D1FIFO;
+    //ENDORIG
 	char           wk5[2];
 	union {
 		unsigned short WORD;
@@ -11708,6 +11739,7 @@ GCR_RSPI0_SPEI0=12,GCR_RSPI1_SPEI1=12,GCR_RSPI2_SPEI2=12
 #define	MSTP_USB0	SYSTEM.MSTPCRB.BIT.MSTPB19
 #define	MSTP_RSPI0	SYSTEM.MSTPCRB.BIT.MSTPB17
 #define	MSTP_RSPI1	SYSTEM.MSTPCRB.BIT.MSTPB16
+#define	MSTP_EDMAC  SYSTEM.MSTPCRB.BIT.MSTPB15
 #define	MSTP_TEMPS	SYSTEM.MSTPCRB.BIT.MSTPB8
 #define	MSTP_SCI12	SYSTEM.MSTPCRB.BIT.MSTPB4
 #define	MSTP_SMCI12	SYSTEM.MSTPCRB.BIT.MSTPB4
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx63n/iodefine.h_from_toolchain b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx63n/iodefine.h_from_toolchain
new file mode 100644
index 0000000000..d1f3cfc4d1
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/mcu/rx63n/iodefine.h_from_toolchain
@@ -0,0 +1,12063 @@
+/************************************************************************
+*
+* Device     : RX/RX600/RX63N
+*
+* File Name  : ioedfine.h
+*
+* Abstract   : Definition of I/O Register.
+*
+* History    : 0.50  (2011-03-28)  [Hardware Manual Revision : 0.50]
+*            : 0.02  (2010-11-01)  [Hardware Manual Revision : 0.01]
+*
+* NOTE       : THIS IS A TYPICAL EXAMPLE.
+*
+* Copyright (C) 2010(2011) Renesas Electronics Corporation
+* and Renesas Solutions Corp.
+*
+************************************************************************/
+/********************************************************************************/
+/*                                                                              */
+/*  DESCRIPTION : Definition of ICU Register                                    */
+/*  CPU TYPE    : RX63N                                                         */
+/*                                                                              */
+/*  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(TPU0,TGI0A) = 0;     expands to :                                   */
+/*         ICU.IR[126].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(TPU0,TGI0A) = 2;    expands to :                                   */
+/*       IPR(TPU0,TGI  ) = 2;    // TGI0A,TGI0B,TGI0C,TGI0D share IPR level.    */
+/*         ICU.IPR[126].BIT.IPR = 2;                                            */
+/*                                                                              */
+/*       IPR(SCI0,RXI0) = 3;     expands to :                                   */
+/*       IPR(SCI0,    ) = 3;     // SCI0 uses single IPR for all sources.       */
+/*         ICU.IPR[214].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=142)                           */
+/*       #pragma interrupt INT_TPU0_TGI0A(vect=VECT(TPU0,TGI0A))  expands to :  */
+/*         #pragma interrupt INT_TPU0_TGI0A(vect=126)                           */
+/*                                                                              */
+/*  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;    // MTU,MTU0,MTU1,MTU2,MTU3,MTU4,MTU5  expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA9  = 0;                                      */
+/*       MSTP(TPU4) = 0;    // TPU0,TPU1,TPU2,TPU3,TPU4,TPU5      expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA13 = 0;                                      */
+/*       MSTP(CMT3) = 0;    // CMT2,CMT3                          expands to :  */
+/*         SYSTEM.MSTPCRA.BIT.MSTPA14 = 0;                                      */
+/*                                                                              */
+/*                                                                              */
+/********************************************************************************/
+#ifndef __RX63NIODEFINE_HEADER__
+#define __RX63NIODEFINE_HEADER__
+#pragma bit_order left
+#pragma unpack
+struct st_ad {
+	unsigned short ADDRA;
+	unsigned short ADDRB;
+	unsigned short ADDRC;
+	unsigned short ADDRD;
+	unsigned short ADDRE;
+	unsigned short ADDRF;
+	unsigned short ADDRG;
+	unsigned short ADDRH;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ADIE:1;
+			unsigned char ADST:1;
+			unsigned char :2;
+			unsigned char CH:3;
+		} 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;
+			unsigned char EXOEN:1;
+			unsigned char EXSEL:2;
+		} BIT;
+	} ADCR2;
+	unsigned char  ADSSTR;
+	char           wk0[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[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[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 :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;
+	} CS4WCR2;
+	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;
+	} 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 :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;
+	} CS5WCR2;
+	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;
+	} 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 :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;
+	} CS6WCR2;
+	char           wk11[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 :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;
+	} CS7WCR2;
+	char           wk12[1926];
+	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           wk13[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS0REC;
+	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;
+	} CS1CR;
+	char           wk15[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS1REC;
+	char           wk16[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           wk17[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS2REC;
+	char           wk18[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           wk19[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS3REC;
+	char           wk20[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;
+	} CS4CR;
+	char           wk21[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS4REC;
+	char           wk22[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;
+	} CS5CR;
+	char           wk23[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS5REC;
+	char           wk24[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;
+	} CS6CR;
+	char           wk25[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS6REC;
+	char           wk26[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;
+	} CS7CR;
+	char           wk27[6];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :4;
+			unsigned short WRCV:4;
+			unsigned short :4;
+			unsigned short RRCV:4;
+		} BIT;
+	} CS7REC;
+	char           wk28[4];
+	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;
+	char           wk29[894];
+	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           wk30[13];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char SFEN:1;
+		} BIT;
+	} SDSELF;
+	char           wk31[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           wk32[9];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char INIRQ:1;
+		} BIT;
+	} SDICR;
+	char           wk33[3];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short PRC:3;
+			unsigned short ARFC:4;
+			unsigned short ARFI:4;
+		} BIT;
+	} SDIR;
+	char           wk34[26];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char MXC:2;
+		} BIT;
+	} SDADR;
+	char           wk35[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           wk36[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;
+		unsigned short DLC;
+		unsigned char  DATA[8];
+		unsigned short 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;
+	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 char MB31:1;
+			unsigned char MB30:1;
+			unsigned char MB29:1;
+			unsigned char MB28:1;
+			unsigned char MB27:1;
+			unsigned char MB26:1;
+			unsigned char MB25:1;
+			unsigned char MB24:1;
+			unsigned char MB23:1;
+			unsigned char MB22:1;
+			unsigned char MB21:1;
+			unsigned char MB20:1;
+			unsigned char MB19:1;
+			unsigned char MB18:1;
+			unsigned char MB17:1;
+			unsigned char MB16:1;
+			unsigned char MB15:1;
+			unsigned char MB14:1;
+			unsigned char MB13:1;
+			unsigned char MB12:1;
+			unsigned char MB11:1;
+			unsigned char MB10:1;
+			unsigned char MB9:1;
+			unsigned char MB8:1;
+			unsigned char MB7:1;
+			unsigned char MB6:1;
+			unsigned char MB5:1;
+			unsigned char MB4:1;
+			unsigned char MB3:1;
+			unsigned char MB2:1;
+			unsigned char MB1:1;
+			unsigned char MB0:1;
+		} BIT;
+	} MKIVLR;
+	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 char MB31:1;
+			unsigned char MB30:1;
+			unsigned char MB29:1;
+			unsigned char MB28:1;
+			unsigned char MB27:1;
+			unsigned char MB26:1;
+			unsigned char MB25:1;
+			unsigned char MB24:1;
+			unsigned char MB23:1;
+			unsigned char MB22:1;
+			unsigned char MB21:1;
+			unsigned char MB20:1;
+			unsigned char MB19:1;
+			unsigned char MB18:1;
+			unsigned char MB17:1;
+			unsigned char MB16:1;
+			unsigned char MB15:1;
+			unsigned char MB14:1;
+			unsigned char MB13:1;
+			unsigned char MB12:1;
+			unsigned char MB11:1;
+			unsigned char MB10:1;
+			unsigned char MB9:1;
+			unsigned char MB8:1;
+			unsigned char MB7:1;
+			unsigned char MB6:1;
+			unsigned char MB5:1;
+			unsigned char MB4:1;
+			unsigned char MB3:1;
+			unsigned char MB2:1;
+			unsigned char MB1:1;
+			unsigned char MB0:1;
+		} BIT;
+	} 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 TRMREQ:1;
+				unsigned char RECREQ:1;
+				unsigned char :1;
+				unsigned char ONESHOT:1;
+				unsigned char :1;
+				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;
+			unsigned long :7;
+			unsigned long CCLKS:1;
+		} 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;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DAADST:1;
+		} BIT;
+	} DAADSCR;
+};
+
+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_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_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];
+	unsigned long  TDLAR;
+	char           wk3[4];
+	unsigned long  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 ELB: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];
+	unsigned long  RBWAR;
+	unsigned long  RDFAR;
+	char           wk14[4];
+	unsigned long  TBRAR;
+	unsigned long  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 {
+	unsigned long  EDMSAR;
+	unsigned long  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 {
+	unsigned long  EDMSAR;
+	unsigned long  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 {
+	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 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           wk3[12];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short KEY:8;
+			unsigned short DBWE07:1;
+			unsigned short DBW006: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           wk4[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 :3;
+			unsigned short FENTRY3:1;
+			unsigned short FENTRY2:1;
+			unsigned short FENTRY1:1;
+			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 FRKEY:8;
+			unsigned short :7;
+			unsigned short FRESET:1;
+		} BIT;
+	} FRESETR;
+	char           wk5[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short CMDR:8;
+			unsigned short PCMDR:8;
+		} BIT;
+	} FCMDR;
+	char           wk6[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 :4;
+			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           wk7[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[254];
+	char           wk0[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DTCE:1;
+		} BIT;
+	} DTCER[252];
+	char           wk1[4];
+	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[254];
+	char           wk5[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DMRS:8;
+		} BIT;
+	} DMRSR0;
+	char           wk6[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DMRS:8;
+		} BIT;
+	} DMRSR1;
+	char           wk7[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DMRS:8;
+		} BIT;
+	} DMRSR2;
+	char           wk8[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DMRS:8;
+		} BIT;
+	} DMRSR3;
+	char           wk9[243];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char IRQMD:2;
+		} BIT;
+	} IRQCR[16];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FLTEN7:1;
+			unsigned char FLTEN6:1;
+			unsigned char FLTEN5:1;
+			unsigned char FLTEN4:1;
+			unsigned char FLTEN3:1;
+			unsigned char FLTEN2:1;
+			unsigned char FLTEN1:1;
+			unsigned char FLTEN0:1;
+		} BIT;
+	} IRQFLTE0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FLTEN15:1;
+			unsigned char FLTEN14:1;
+			unsigned char FLTEN13:1;
+			unsigned char FLTEN12:1;
+			unsigned char FLTEN11:1;
+			unsigned char FLTEN10:1;
+			unsigned char FLTEN9:1;
+			unsigned char FLTEN8:1;
+		} BIT;
+	} IRQFLTE1;
+	char           wk10[2];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FCLKSEL7:2;
+			unsigned short FCLKSEL6:2;
+			unsigned short FCLKSEL5:2;
+			unsigned short FCLKSEL4:2;
+			unsigned short FCLKSEL3:2;
+			unsigned short FCLKSEL2:2;
+			unsigned short FCLKSEL1:2;
+			unsigned short FCLKSEL0:2;
+		} BIT;
+	} IRQFLTC0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short FCLKSEL15:2;
+			unsigned short FCLKSEL14:2;
+			unsigned short FCLKSEL13:2;
+			unsigned short FCLKSEL12:2;
+			unsigned short FCLKSEL11:2;
+			unsigned short FCLKSEL10:2;
+			unsigned short FCLKSEL9:2;
+			unsigned short FCLKSEL8:2;
+		} BIT;
+	} IRQFLTC1;
+	char           wk11[104];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			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 :2;
+			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;
+	char           wk12[12];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char NFLTEN:1;
+		} BIT;
+	} NMIFLTE;
+	char           wk13[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char NFCLKSEL:2;
+		} BIT;
+	} NMIFLTC;
+	char           wk14[19819];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long IS15:1;
+			unsigned long IS14:1;
+			unsigned long IS13:1;
+			unsigned long IS12:1;
+			unsigned long IS11:1;
+			unsigned long IS10:1;
+			unsigned long IS9:1;
+			unsigned long IS8:1;
+			unsigned long IS7:1;
+			unsigned long IS6:1;
+			unsigned long IS5:1;
+			unsigned long IS4:1;
+			unsigned long IS3:1;
+			unsigned long IS2:1;
+			unsigned long IS1:1;
+			unsigned long IS0:1;
+		} BIT;
+	} GRP[13];
+	char           wk15[12];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long EN15:1;
+			unsigned long EN14:1;
+			unsigned long EN13:1;
+			unsigned long EN12:1;
+			unsigned long EN11:1;
+			unsigned long EN10:1;
+			unsigned long EN9:1;
+			unsigned long EN8:1;
+			unsigned long EN7:1;
+			unsigned long EN6:1;
+			unsigned long EN5:1;
+			unsigned long EN4:1;
+			unsigned long EN3:1;
+			unsigned long EN2:1;
+			unsigned long EN1:1;
+			unsigned long EN0:1;
+		} BIT;
+	} GEN[13];
+	char           wk16[12];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :16;
+			unsigned long CLR15:1;
+			unsigned long CLR14:1;
+			unsigned long CLR13:1;
+			unsigned long CLR12:1;
+			unsigned long CLR11:1;
+			unsigned long CLR10:1;
+			unsigned long CLR9:1;
+			unsigned long CLR8:1;
+			unsigned long CLR7:1;
+			unsigned long CLR6:1;
+			unsigned long CLR5:1;
+			unsigned long CLR4:1;
+			unsigned long CLR3:1;
+			unsigned long CLR2:1;
+			unsigned long CLR1:1;
+			unsigned long CLR0:1;
+		} BIT;
+	} GCR[13];
+	char           wk17[12];
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :26;
+			unsigned long CN5:1;
+			unsigned long CN4:1;
+			unsigned long CN3:1;
+			unsigned long CN2:1;
+			unsigned long CN1:1;
+			unsigned long CN0:1;
+		} BIT;
+	} SEL;
+};
+
+struct st_ieb {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char IOL:1;
+			unsigned char DEE:1;
+			unsigned char :1;
+			unsigned char RE:1;
+		} BIT;
+	} IECTR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CMD:3;
+		} BIT;
+	} IECMR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SS:1;
+			unsigned char RN:3;
+			unsigned char CTL:4;
+		} BIT;
+	} IEMCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IARL4:4;
+			unsigned char IMD:2;
+			unsigned char :1;
+			unsigned char STE:1;
+		} BIT;
+	} IEAR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IARU8:8;
+		} BIT;
+	} IEAR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ISAL4:4;
+		} BIT;
+	} IESA1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ISAU8:8;
+		} BIT;
+	} IESA2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IBFL:8;
+		} BIT;
+	} IETBFL;
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ISAL4:4;
+		} BIT;
+	} IEMA1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char IMAU8:8;
+		} BIT;
+	} IEMA2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char RCTL:4;
+		} BIT;
+	} IERCTL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RBFL:8;
+		} BIT;
+	} IERBFL;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ILAL8:8;
+		} BIT;
+	} IELA1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :4;
+			unsigned char ILAU4:4;
+		} BIT;
+	} IELA2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CMX:1;
+			unsigned char MRQ:1;
+			unsigned char SRQ:1;
+			unsigned char SRE:1;
+			unsigned char LCK:1;
+			unsigned char :1;
+			unsigned char RSS:1;
+			unsigned char GG:1;
+		} BIT;
+	} IEFLG;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char TXS:1;
+			unsigned char TXF:1;
+			unsigned char :1;
+			unsigned char TXEAL:1;
+			unsigned char TXETTME:1;
+			unsigned char TXERO:1;
+			unsigned char TXEACK:1;
+		} BIT;
+	} IETSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char TXSE:1;
+			unsigned char TXFE:1;
+			unsigned char :1;
+			unsigned char TXEALE:1;
+			unsigned char TXETTMEE:1;
+			unsigned char TXEROE:1;
+			unsigned char TXEACKE:1;
+		} BIT;
+	} IEIET;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RXBSY:1;
+			unsigned char RXS:1;
+			unsigned char RXF:1;
+			unsigned char RXEDE:1;
+			unsigned char RXEOVE:1;
+			unsigned char RXERTME:1;
+			unsigned char RXEDLE:1;
+			unsigned char RXEPE:1;
+		} BIT;
+	} IERSR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char RXBSYE:1;
+			unsigned char RXSE:1;
+			unsigned char RXFE:1;
+			unsigned char RXEDEE:1;
+			unsigned char RXEOVEE:1;
+			unsigned char RXERTMEE:1;
+			unsigned char RXEDLEE:1;
+			unsigned char RXEPEE:1;
+		} BIT;
+	} IEIER;
+	char           wk3[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char FLT:1;
+			unsigned char FCKS:2;
+			unsigned char CKS3:1;
+			unsigned char SRSTP:1;
+			unsigned char CKS:3;
+		} BIT;
+	} IECKSR;
+	char           wk4[230];
+	unsigned char  IETB[33];
+	char           wk5[223];
+	unsigned char  IERB[33];
+};
+
+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 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[1];
+	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;
+	} PFCSS0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char CS7S:2;
+			unsigned char CS6S:2;
+			unsigned char CS5S:2;
+			unsigned char CS4S:2;
+		} BIT;
+	} PFCSS1;
+	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 WR32BC32E:1;
+			unsigned char WR1BC1E:1;
+			unsigned char DH32E:1;
+			unsigned char DHE:1;
+			unsigned char :2;
+			unsigned char ADRHMS:1;
+			unsigned char ADRLE:1;
+		} BIT;
+	} PFBCR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char SDCLKE:1;
+			unsigned char DQM1E:1;
+			unsigned char :1;
+			unsigned char MDSDE:1;
+			unsigned char :1;
+			unsigned char ALEOE:1;
+			unsigned char WAITS:2;
+		} BIT;
+	} PFBCR1;
+	char           wk1[6];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PHYMODE:1;
+		} BIT;
+	} PFENET;
+	char           wk2[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char PUPHZS:1;
+		} BIT;
+	} PFUSB0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char PUPHZS:1;
+		} BIT;
+	} PFUSB1;
+	char           wk3[9];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char B0WI:1;
+			unsigned char PFSWE:1;
+		} BIT;
+	} PWPR;
+	char           wk4[32];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P00PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P01PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P02PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P03PFS;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P05PFS;
+	char           wk6[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P07PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P10PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P11PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P12PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P13PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P14PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P15PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P16PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P17PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P20PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P21PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P22PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P23PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P24PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P25PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P26PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P27PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P30PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P31PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P32PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P33PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P34PFS;
+	char           wk7[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P40PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P41PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P42PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P43PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P44PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P45PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P46PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+		} BIT;
+	} P47PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P50PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P51PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P52PFS;
+	char           wk8[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P54PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P55PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P56PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P57PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P60PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P61PFS;
+	char           wk9[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P66PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} P67PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P70PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P71PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P72PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P73PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P74PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P75PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P76PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P77PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P80PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P81PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P82PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P83PFS;
+	char           wk10[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P86PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} P87PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} P90PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} P91PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} P92PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} P93PFS;
+	char           wk11[4];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PA7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PB7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PC7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PD7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE2PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE3PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char :2;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE4PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE5PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE6PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char ASEL:1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PE7PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PF0PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PF1PFS;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} BIT;
+	} PF2PFS;
+	char           wk12[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char ISEL:1;
+			unsigned char :1;
+			unsigned char PSEL:5;
+		} BIT;
+	} PF5PFS;
+	char           wk13[21];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSEL:5;
+		} 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;
+};
+
+struct st_mtu0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[111];
+	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           wk1[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           wk2[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 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[238];
+	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           wk2[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           wk3[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 :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[365];
+	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           wk1[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;
+	char           wk8[90];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+};
+
+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;
+	char           wk11[72];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+};
+
+struct st_mtu5 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char :1;
+			unsigned char NFWEN:1;
+			unsigned char NFVEN:1;
+			unsigned char NFUEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[490];
+	unsigned short TCNTU;
+	unsigned short TGRU;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRU;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORU;
+	char           wk3[9];
+	unsigned short TCNTV;
+	unsigned short TGRV;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRV;
+	char           wk4[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORV;
+	char           wk5[9];
+	unsigned short TCNTW;
+	unsigned short TGRW;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char TPSC:2;
+		} BIT;
+	} TCRW;
+	char           wk6[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char IOC:5;
+		} BIT;
+	} TIORW;
+	char           wk7[11];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char TGIE5U:1;
+			unsigned char TGIE5V:1;
+			unsigned char TGIE5W:1;
+		} BIT;
+	} TIER;
+	char           wk8[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char CSTU5:1;
+			unsigned char CSTV5:1;
+			unsigned char CSTW5:1;
+		} BIT;
+	} TSTR;
+	char           wk9[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 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;
+	char           wk0[4];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :3;
+			unsigned short POE8F:1;
+			unsigned short :2;
+			unsigned short POE8E:1;
+			unsigned short PIE2:1;
+			unsigned short :6;
+			unsigned short 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 short :3;
+			unsigned short OSTSTF:1;
+			unsigned short :2;
+			unsigned short OSTSTE:1;
+		} BIT;
+	} ICSR3;
+};
+
+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;
+	} 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;
+			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 :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;
+	} 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;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PMR;
+	char           wk3[31];
+	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 :3;
+			unsigned char B2:1;
+		} BIT;
+	} ODR1;
+	char           wk4[62];
+	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;
+	} PCR;
+	char           wk5[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+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;
+	} 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[32];
+	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[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;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} PCR;
+};
+
+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;
+		} 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 :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;
+};
+
+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[35];
+	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[58];
+	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 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[36];
+	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[57];
+	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 :3;
+			unsigned char B2:1;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+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;
+	} 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[37];
+	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[56];
+	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_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;
+	} 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[38];
+	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[55];
+	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_port8 {
+	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[39];
+	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[54];
+	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_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;
+	} 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[40];
+	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[53];
+	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_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[44];
+	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[49];
+	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_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 :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_portf {
+	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[46];
+	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 :5;
+			unsigned char B2:1;
+			unsigned char :1;
+			unsigned char B0:1;
+		} BIT;
+	} ODR1;
+	char           wk4[47];
+	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;
+};
+
+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;
+	} 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[47];
+	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[46];
+	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 :6;
+			unsigned char B1:1;
+			unsigned char B0:1;
+		} BIT;
+	} DSCR;
+};
+
+struct st_porth {
+	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_portj {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PDR;
+	char           wk0[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PODR;
+	char           wk1[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PIDR;
+	char           wk2[31];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3:1;
+		} BIT;
+	} PMR;
+	char           wk3[49];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char B6:1;
+		} BIT;
+	} ODR0;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char B2:1;
+		} BIT;
+	} ODR1;
+	char           wk4[44];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char B5:1;
+			unsigned char :1;
+			unsigned char B3: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_riic0 {
+	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_riic1 {
+	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;
+	unsigned long  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[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RTCEN:1;
+		} BIT;
+	} RCR3;
+	char           wk16[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char RCKSEL:1;
+		} BIT;
+	} RCR4;
+	char           wk17[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :15;
+			unsigned short RFC:1;
+		} BIT;
+	} RFRH;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short RFC:16;
+		} BIT;
+	} RFRL;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char PMADJ:2;
+			unsigned char ADJ:6;
+		} BIT;
+	} RADJ;
+	char           wk18[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           wk19[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           wk20[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           wk21[13];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP0;
+	char           wk22[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP0;
+	char           wk23[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP0;
+	char           wk24[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP0;
+	char           wk25[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP0;
+	char           wk26[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP1;
+	char           wk27[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP1;
+	char           wk28[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP1;
+	char           wk29[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP1;
+	char           wk30[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP1;
+	char           wk31[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char SEC10:3;
+			unsigned char SEC1:4;
+		} BIT;
+	} RSECCP2;
+	char           wk32[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char MIN10:3;
+			unsigned char MIN1:4;
+		} BIT;
+	} RMINCP2;
+	char           wk33[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char PM:1;
+			unsigned char HR10:2;
+			unsigned char HR1:4;
+		} BIT;
+	} RHRCP2;
+	char           wk34[3];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DATE10:3;
+			unsigned char DATE1:4;
+		} BIT;
+	} RDAYCP2;
+	char           wk35[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char MON10:1;
+			unsigned char MON1:4;
+		} BIT;
+	} RMONCP2;
+};
+
+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 ANS0:16;
+		} BIT;
+	} ADANS0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :11;
+			unsigned short ANS1:5;
+		} BIT;
+	} ADANS1;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short ADS0:16;
+		} BIT;
+	} ADADS0;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :11;
+			unsigned short ADS1:5;
+		} BIT;
+	} ADADS1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char ADC:2;
+		} BIT;
+	} ADADC;
+	char           wk1[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           wk2[1];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short OCS:1;
+			unsigned short TSS:1;
+			unsigned short :6;
+			unsigned short OCSAD:1;
+			unsigned short TSSAD:1;
+		} BIT;
+	} ADEXICR;
+	char           wk3[6];
+	unsigned short ADTSDR;
+	unsigned short ADOCDR;
+	char           wk4[2];
+	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;
+	unsigned short ADDR16;
+	unsigned short ADDR17;
+	unsigned short ADDR18;
+	unsigned short ADDR19;
+	unsigned short ADDR20;
+	char           wk5[38];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short SST2:8;
+		} BIT;
+	} ADSSTR23;
+};
+
+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 BCP2:1;
+			unsigned char :3;
+			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 IICSTIF: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;
+	} SPMR;
+};
+
+struct st_sci7 {
+	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;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char MPB:1;
+			unsigned char MPBT:1;
+		} BIT;
+	} 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;
+	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 IICSTIF: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;
+	} SPMR;
+};
+
+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 BCP2:1;
+			unsigned char :3;
+			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 IICSTIF: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;
+	} SPMR;
+	char           wk0[18];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char ESME:1;
+		} BIT;
+	} ESMER;
+	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 :2;
+			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_smci0 {
+	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 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 ERS: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 BCP2:1;
+			unsigned char :3;
+			unsigned char SDIR:1;
+			unsigned char SINV:1;
+			unsigned char :1;
+			unsigned char SMIF:1;
+		} BIT;
+	} SCMR;
+};
+
+struct st_smci7 {
+	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 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 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 :1;
+			unsigned long MSTPA29:1;
+			unsigned long MSTPA28:1;
+			unsigned long MSTPA27:1;
+			unsigned long :2;
+			unsigned long MSTPA24:1;
+			unsigned long MSTPA23:1;
+			unsigned long :3;
+			unsigned long MSTPA19:1;
+			unsigned long :1;
+			unsigned long MSTPA17:1;
+			unsigned long :1;
+			unsigned long MSTPA15:1;
+			unsigned long MSTPA14:1;
+			unsigned long MSTPA13:1;
+			unsigned long MSTPA12:1;
+			unsigned long MSTPA11:1;
+			unsigned long MSTPA10:1;
+			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 MSTPB29:1;
+			unsigned long MSTPB28:1;
+			unsigned long MSTPB27:1;
+			unsigned long MSTPB26:1;
+			unsigned long MSTPB25:1;
+			unsigned long MSTPB24: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 :6;
+			unsigned long MSTPB8:1;
+			unsigned long :3;
+			unsigned long MSTPB4:1;
+			unsigned long :1;
+			unsigned long MSTPB2:1;
+			unsigned long MSTPB1:1;
+			unsigned long MSTPB0:1;
+		} BIT;
+	} MSTPCRB;
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long :4;
+			unsigned long MSTPC27:1;
+			unsigned long MSTPC26:1;
+			unsigned long MSTPC25:1;
+			unsigned long MSTPC24:1;
+			unsigned long :1;
+			unsigned long MSTPC22:1;
+			unsigned long :2;
+			unsigned long MSTPC19:1;
+			unsigned long MSTPC18:1;
+			unsigned long MSTPC17:1;
+			unsigned long MSTPC16:1;
+			unsigned long :14;
+			unsigned long MSTPC1:1;
+			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 PSTOP0:1;
+			unsigned long :2;
+			unsigned long BCK:4;
+			unsigned long PCKA:4;
+			unsigned long PCKB:4;
+		} BIT;
+	} SCKCR;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :8;
+			unsigned short UCK:4;
+			unsigned short IEBCK:4;
+		} BIT;
+	} SCKCR2;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :5;
+			unsigned short CKSEL:3;
+		} BIT;
+	} SCKCR3;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :2;
+			unsigned short STC:6;
+			unsigned short :6;
+			unsigned short PLIDIV:2;
+		} BIT;
+	} PLLCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char PLLEN:1;
+		} BIT;
+	} PLLCR2;
+	char           wk4[5];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char BCLKDIV:1;
+		} BIT;
+	} BCKCR;
+	char           wk5[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char MOSTP:1;
+		} BIT;
+	} MOSCCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			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           wk6[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           wk7[94];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char OPCMTSF:1;
+			unsigned char :1;
+			unsigned char OPCM: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           wk8[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :3;
+			unsigned char PSTS:5;
+		} BIT;
+	} PLLWTCR;
+	char           wk9[25];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :5;
+			unsigned char SWRF:1;
+			unsigned char WDTRF:1;
+			unsigned char IWTDRF:1;
+		} BIT;
+	} RSTSR2;
+	char           wk10[1];
+	unsigned short SWRR;
+	char           wk11[28];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			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 :6;
+			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           wk12[794];
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short PRKEY:8;
+			unsigned short :4;
+			unsigned short PRC3:1;
+			unsigned short :1;
+			unsigned short PRC1:1;
+			unsigned short PRC0:1;
+		} BIT;
+	} PRCR;
+	char           wk13[48768];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DPSBY:1;
+			unsigned char IOKEEP:1;
+			unsigned char :4;
+			unsigned char DEEPCUT:2;
+		} BIT;
+	} DPSBYCR;
+	char           wk14[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;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ15E:1;
+			unsigned char DIRQ14E:1;
+			unsigned char DIRQ13E:1;
+			unsigned char DIRQ12E:1;
+			unsigned char DIRQ11E:1;
+			unsigned char DIRQ10E:1;
+			unsigned char DIRQ9E:1;
+			unsigned char DIRQ8E:1;
+		} BIT;
+	} DPSIER1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DUSBIE:1;
+			unsigned char DIICCIE:1;
+			unsigned char DIICDIE:1;
+			unsigned char DNMIE:1;
+			unsigned char DRTCAIE:1;
+			unsigned char DRTCIIE:1;
+			unsigned char DLVD2IE:1;
+			unsigned char DLVD1IE:1;
+		} BIT;
+	} DPSIER2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DCANIE:1;
+		} BIT;
+	} DPSIER3;
+	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;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ15F:1;
+			unsigned char DIRQ14F:1;
+			unsigned char DIRQ13F:1;
+			unsigned char DIRQ12F:1;
+			unsigned char DIRQ11F:1;
+			unsigned char DIRQ10F:1;
+			unsigned char DIRQ9F:1;
+			unsigned char DIRQ8F:1;
+		} BIT;
+	} DPSIFR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DUSBIF:1;
+			unsigned char DIICCIF:1;
+			unsigned char DIICDIF:1;
+			unsigned char DNMIF:1;
+			unsigned char DRTCAIF:1;
+			unsigned char DRTCIIF:1;
+			unsigned char DLVD2IF:1;
+			unsigned char DLVD1IF:1;
+		} BIT;
+	} DPSIFR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DCANIF:1;
+		} BIT;
+	} DPSIFR3;
+	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;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char DIRQ15EG:1;
+			unsigned char DIRQ14EG:1;
+			unsigned char DIRQ13EG:1;
+			unsigned char DIRQ12EG:1;
+			unsigned char DIRQ11EG:1;
+			unsigned char DIRQ10EG:1;
+			unsigned char DIRQ9EG:1;
+			unsigned char DIRQ8EG:1;
+		} BIT;
+	} DPSIEGR1;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char DIICCEG:1;
+			unsigned char DIICDEG:1;
+			unsigned char DNMIEG:1;
+			unsigned char :2;
+			unsigned char DLVD2EG:1;
+			unsigned char DLVD1EG:1;
+		} BIT;
+	} DPSIEGR2;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char DCANIEG:1;
+		} BIT;
+	} DPSIEGR3;
+	char           wk15[2];
+	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           wk16[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char MOFXIN:1;
+		} BIT;
+	} MOFCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char HOCOPCNT:1;
+		} BIT;
+	} HOCOPCR;
+	char           wk17[2];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :1;
+			unsigned char LVD2E:1;
+			unsigned char LVD1E:1;
+		} BIT;
+	} LVCMPCR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char LVD2LVL:4;
+			unsigned char LVD1LVL:4;
+		} BIT;
+	} LVDLVLR;
+	char           wk18[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           wk19[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char VBATTMNSEL:1;
+		} BIT;
+	} VBATTMNSELR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :7;
+			unsigned char VBATTMON:1;
+		} BIT;
+	} VBATTMONR;
+	char           wk20[1];
+	unsigned char  DPSBKR[32];
+	char           wk21[1472];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char SCK:2;
+		} BIT;
+	} SCK1;
+	char           wk22[15];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :6;
+			unsigned char SCK:2;
+		} BIT;
+	} SCK2;
+};
+
+struct st_temps {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TSEN:1;
+			unsigned char :2;
+			unsigned char TSOE:1;
+		} 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 :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_tpu0 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[7];
+	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 ICSELD:1;
+			unsigned char ICSELB: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 :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+	unsigned short TGRC;
+	unsigned short TGRD;
+};
+
+struct st_tpu1 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[22];
+	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 ICSELD:1;
+			unsigned char ICSELB: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;
+	} TIOR;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_tpu2 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[37];
+	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 ICSELD:1;
+			unsigned char ICSELB: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;
+	} TIOR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_tpu3 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[52];
+	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 ICSELD:1;
+			unsigned char ICSELB: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 :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+	unsigned short TGRC;
+	unsigned short TGRD;
+};
+
+struct st_tpu4 {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk0[67];
+	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 ICSELD:1;
+			unsigned char ICSELB: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;
+	} TIOR;
+	char           wk1[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_tpu5 {
+	char           wk0[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char NFCS:2;
+			unsigned char NFDEN:1;
+			unsigned char NFCEN:1;
+			unsigned char NFBEN:1;
+			unsigned char NFAEN:1;
+		} BIT;
+	} NFCR;
+	char           wk1[82];
+	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 ICSELD:1;
+			unsigned char ICSELB: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;
+	} TIOR;
+	char           wk2[1];
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char TTGE:1;
+			unsigned char :1;
+			unsigned char TCIEU:1;
+			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;
+			unsigned char :1;
+			unsigned char TCFU:1;
+			unsigned char TCFV:1;
+			unsigned char TGFD:1;
+			unsigned char TGFC:1;
+			unsigned char TGFB:1;
+			unsigned char TGFA:1;
+		} BIT;
+	} TSR;
+	unsigned short TCNT;
+	unsigned short TGRA;
+	unsigned short TGRB;
+};
+
+struct st_tpua {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char CST5:1;
+			unsigned char CST4:1;
+			unsigned char CST3:1;
+			unsigned char CST2:1;
+			unsigned char CST1:1;
+			unsigned char CST0:1;
+		} BIT;
+	} TSTR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char SYNC5:1;
+			unsigned char SYNC4:1;
+			unsigned char SYNC3:1;
+			unsigned char SYNC2:1;
+			unsigned char SYNC1:1;
+			unsigned char SYNC0:1;
+		} BIT;
+	} TSYR;
+};
+
+struct st_tpub {
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char CST11:1;
+			unsigned char CST10:1;
+			unsigned char CST9:1;
+			unsigned char CST8:1;
+			unsigned char CST7:1;
+			unsigned char CST6:1;
+		} BIT;
+	} TSTR;
+	union {
+		unsigned char BYTE;
+		struct {
+			unsigned char :2;
+			unsigned char SYNC11:1;
+			unsigned char SYNC10:1;
+			unsigned char SYNC9:1;
+			unsigned char SYNC8:1;
+			unsigned char SYNC7:1;
+			unsigned char SYNC6:1;
+		} BIT;
+	} TSYR;
+};
+
+struct st_usb {
+	union {
+		unsigned long LONG;
+		struct {
+			unsigned long DVSTS1:1;
+			unsigned long :5;
+			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 :5;
+			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 :5;
+			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];
+	unsigned short CFIFO;
+	char           wk3[2];
+	unsigned short D0FIFO;
+	char           wk4[2];
+	unsigned short 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 PIPE9NRDYE:1;
+			unsigned short PIPE8NRDYE:1;
+			unsigned short PIPE7NRDYE:1;
+			unsigned short PIPE6NRDYE:1;
+			unsigned short PIPE5NRDYE:1;
+			unsigned short PIPE4NRDYE:1;
+			unsigned short PIPE3NRDYE:1;
+			unsigned short PIPE2NRDYE:1;
+			unsigned short PIPE1NRDYE:1;
+			unsigned short PIPE0NRDYE: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 PIPE9NRDYE:1;
+			unsigned short PIPE8NRDYE:1;
+			unsigned short PIPE7NRDYE:1;
+			unsigned short PIPE6NRDYE:1;
+			unsigned short PIPE5NRDYE:1;
+			unsigned short PIPE4NRDYE:1;
+			unsigned short PIPE3NRDYE:1;
+			unsigned short PIPE2NRDYE:1;
+			unsigned short PIPE1NRDYE:1;
+			unsigned short PIPE0NRDYE:1;
+		} BIT;
+	} NRDYSTS;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short PIPE9BEMPE:1;
+			unsigned short PIPE8BEMPE: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;
+};
+
+struct st_usb1 {
+	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];
+	unsigned short CFIFO;
+	char           wk3[2];
+	unsigned short D0FIFO;
+	char           wk4[2];
+	unsigned short 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;
+	char           wk7[4];
+	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 PIPE9NRDYE:1;
+			unsigned short PIPE8NRDYE:1;
+			unsigned short PIPE7NRDYE:1;
+			unsigned short PIPE6NRDYE:1;
+			unsigned short PIPE5NRDYE:1;
+			unsigned short PIPE4NRDYE:1;
+			unsigned short PIPE3NRDYE:1;
+			unsigned short PIPE2NRDYE:1;
+			unsigned short PIPE1NRDYE:1;
+			unsigned short PIPE0NRDYE: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 :9;
+			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;
+	char           wk9[4];
+	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 PIPE9NRDYE:1;
+			unsigned short PIPE8NRDYE:1;
+			unsigned short PIPE7NRDYE:1;
+			unsigned short PIPE6NRDYE:1;
+			unsigned short PIPE5NRDYE:1;
+			unsigned short PIPE4NRDYE:1;
+			unsigned short PIPE3NRDYE:1;
+			unsigned short PIPE2NRDYE:1;
+			unsigned short PIPE1NRDYE:1;
+			unsigned short PIPE0NRDYE:1;
+		} BIT;
+	} NRDYSTS;
+	union {
+		unsigned short WORD;
+		struct {
+			unsigned short :6;
+			unsigned short PIPE9BEMPE:1;
+			unsigned short PIPE8BEMPE: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;
+};
+
+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_FCU_FIFERR=21,
+IR_ICU_SWINT=27,
+IR_CMT0_CMI0,
+IR_CMT1_CMI1,
+IR_CMT2_CMI2,
+IR_CMT3_CMI3,
+IR_ETHER_EINT,
+IR_USB0_D0FIFO0,IR_USB0_D1FIFO0,IR_USB0_USBI0,
+IR_USB1_D0FIFO1,IR_USB1_D1FIFO1,IR_USB1_USBI1,
+IR_RSPI0_SPRI0,IR_RSPI0_SPTI0,IR_RSPI0_SPII0,
+IR_RSPI1_SPRI1,IR_RSPI1_SPTI1,IR_RSPI1_SPII1,
+IR_RSPI2_SPRI2,IR_RSPI2_SPTI2,IR_RSPI2_SPII2,
+IR_CAN0_RXF0,IR_CAN0_TXF0,IR_CAN0_RXM0,IR_CAN0_TXM0,
+IR_CAN1_RXF1,IR_CAN1_TXF1,IR_CAN1_RXM1,IR_CAN1_TXM1,
+IR_CAN2_RXF2,IR_CAN2_TXF2,IR_CAN2_RXM2,IR_CAN2_TXM2,
+IR_RTC_COUNTUP=62,
+IR_ICU_IRQ0=64,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_ALARM,IR_RTC_PRD,
+IR_AD0_ADI0=98,
+IR_S12AD0_S12ADI0=102,
+IR_ICU_GROUPE0=106,IR_ICU_GROUPE1,IR_ICU_GROUPE2,IR_ICU_GROUPE3,IR_ICU_GROUPE4,IR_ICU_GROUPE5,IR_ICU_GROUPE6,IR_ICU_GROUPL0=114,
+IR_SCIX_SCIX0=122,IR_SCIX_SCIX1,IR_SCIX_SCIX2,IR_SCIX_SCIX3,
+IR_TPU0_TGI0A,IR_TPU0_TGI0B,IR_TPU0_TGI0C,IR_TPU0_TGI0D,
+IR_TPU1_TGI1A,IR_TPU1_TGI1B,
+IR_TPU2_TGI2A,IR_TPU2_TGI2B,
+IR_TPU3_TGI3A,IR_TPU3_TGI3B,IR_TPU3_TGI3C,IR_TPU3_TGI3D,
+IR_TPU4_TGI4A,IR_TPU4_TGI4B,
+IR_TPU5_TGI5A,IR_TPU5_TGI5B,
+IR_TPU6_TGI6A,IR_TPU6_TGI6B,IR_TPU6_TGI6C,IR_TPU6_TGI6D,
+IR_MTU0_TGIA0=142,IR_MTU0_TGIB0,IR_MTU0_TGIC0,IR_MTU0_TGID0,IR_MTU0_TGIE0,IR_MTU0_TGIF0,
+IR_TPU7_TGI7A,IR_TPU7_TGI7B,
+IR_MTU1_TGIA1=148,IR_MTU1_TGIB1,
+IR_TPU8_TGI8A,IR_TPU8_TGI8B,
+IR_MTU2_TGIA2=150,IR_MTU2_TGIB2,
+IR_TPU9_TGI9A,IR_TPU9_TGI9B,IR_TPU9_TGI9C,IR_TPU9_TGI9D,
+IR_MTU3_TGIA3=152,IR_MTU3_TGIB3,IR_MTU3_TGIC3,IR_MTU3_TGID3,
+IR_TPU10_TGI10A,IR_TPU10_TGI10B,
+IR_MTU4_TGIA4=156,IR_MTU4_TGIB4,IR_MTU4_TGIC4,IR_MTU4_TGID4,IR_MTU4_TCIV4,
+IR_MTU5_TGIU5,IR_MTU5_TGIV5,IR_MTU5_TGIW5,
+IR_TPU11_TGI11A,IR_TPU11_TGI11B,
+IR_POE_OEI1,IR_POE_OEI2,
+IR_TMR0_CMIA0=170,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_RIIC0_EEI0,IR_RIIC0_RXI0,IR_RIIC0_TXI0,IR_RIIC0_TEI0,
+IR_RIIC1_EEI1,IR_RIIC1_RXI1,IR_RIIC1_TXI1,IR_RIIC1_TEI1,
+IR_RIIC2_EEI2,IR_RIIC2_RXI2,IR_RIIC2_TXI2,IR_RIIC2_TEI2,
+IR_RIIC3_EEI3,IR_RIIC3_RXI3,IR_RIIC3_TXI3,IR_RIIC3_TEI3,
+IR_DMAC_DMAC0I,IR_DMAC_DMAC1I,IR_DMAC_DMAC2I,IR_DMAC_DMAC3I,
+IR_EXDMAC_EXDMAC0I,IR_EXDMAC_EXDMAC1I,
+IR_SCI0_RXI0=214,IR_SCI0_TXI0,IR_SCI0_TEI0,
+IR_SCI1_RXI1,IR_SCI1_TXI1,IR_SCI1_TEI1,
+IR_SCI2_RXI2,IR_SCI2_TXI2,IR_SCI2_TEI2,
+IR_SCI3_RXI3,IR_SCI3_TXI3,IR_SCI3_TEI3,
+IR_SCI4_RXI4,IR_SCI4_TXI4,IR_SCI4_TEI4,
+IR_SCI5_RXI5,IR_SCI5_TXI5,IR_SCI5_TEI5,
+IR_SCI6_RXI6,IR_SCI6_TXI6,IR_SCI6_TEI6,
+IR_SCI7_RXI7,IR_SCI7_TXI7,IR_SCI7_TEI7,
+IR_SCI8_RXI8,IR_SCI8_TXI8,IR_SCI8_TEI8,
+IR_SCI9_RXI9,IR_SCI9_TXI9,IR_SCI9_TEI9,
+IR_SCI10_RXI10,IR_SCI10_TXI10,IR_SCI10_TEI10,
+IR_SCI11_RXI11,IR_SCI11_TXI11,IR_SCI11_TEI11,
+IR_SCI12_RXI12,IR_SCI12_TXI12,IR_SCI12_TEI12,
+IR_IEB_IEBINT
+};
+
+enum enum_dtce {
+DTCE_ICU_SWINT=27,
+DTCE_CMT0_CMI0,
+DTCE_CMT1_CMI1,
+DTCE_CMT2_CMI2,
+DTCE_CMT3_CMI3,
+DTCE_USB0_D0FIFO0=33,DTCE_USB0_D1FIFO0,
+DTCE_USB1_D0FIFO1=36,DTCE_USB1_D1FIFO1,
+DTCE_RSPI0_SPRI0=39,DTCE_RSPI0_SPTI0,
+DTCE_RSPI1_SPRI1=42,DTCE_RSPI1_SPTI1,
+DTCE_RSPI2_SPRI2=45,DTCE_RSPI2_SPTI2,
+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_S12AD0_S12ADI0=102,
+DTCE_TPU0_TGI0A=126,DTCE_TPU0_TGI0B,DTCE_TPU0_TGI0C,DTCE_TPU0_TGI0D,
+DTCE_TPU1_TGI1A,DTCE_TPU1_TGI1B,
+DTCE_TPU2_TGI2A,DTCE_TPU2_TGI2B,
+DTCE_TPU3_TGI3A,DTCE_TPU3_TGI3B,DTCE_TPU3_TGI3C,DTCE_TPU3_TGI3D,
+DTCE_TPU4_TGI4A,DTCE_TPU4_TGI4B,
+DTCE_TPU5_TGI5A,DTCE_TPU5_TGI5B,
+DTCE_TPU6_TGI6A,DTCE_TPU6_TGI6B,DTCE_TPU6_TGI6C,DTCE_TPU6_TGI6D,
+DTCE_MTU0_TGIA0=142,DTCE_MTU0_TGIB0,DTCE_MTU0_TGIC0,DTCE_MTU0_TGID0,
+DTCE_TPU7_TGI7A=148,DTCE_TPU7_TGI7B,
+DTCE_MTU1_TGIA1=148,DTCE_MTU1_TGIB1,
+DTCE_TPU8_TGI8A,DTCE_TPU8_TGI8B,
+DTCE_MTU2_TGIA2=150,DTCE_MTU2_TGIB2,
+DTCE_TPU9_TGI9A,DTCE_TPU9_TGI9B,DTCE_TPU9_TGI9C,DTCE_TPU9_TGI9D,
+DTCE_MTU3_TGIA3=152,DTCE_MTU3_TGIB3,DTCE_MTU3_TGIC3,DTCE_MTU3_TGID3,
+DTCE_TPU10_TGI10A,DTCE_TPU10_TGI10B,
+DTCE_MTU4_TGIA4=156,DTCE_MTU4_TGIB4,DTCE_MTU4_TGIC4,DTCE_MTU4_TGID4,DTCE_MTU4_TCIV4,
+DTCE_MTU5_TGIU5,DTCE_MTU5_TGIV5,DTCE_MTU5_TGIW5,
+DTCE_TPU11_TGI11A,DTCE_TPU11_TGI11B,
+DTCE_TMR0_CMIA0=170,DTCE_TMR0_CMIB0,
+DTCE_TMR1_CMIA1=173,DTCE_TMR1_CMIB1,
+DTCE_TMR2_CMIA2=176,DTCE_TMR2_CMIB2,
+DTCE_TMR3_CMIA3=179,DTCE_TMR3_CMIB3,
+DTCE_RIIC0_RXI0=183,DTCE_RIIC0_TXI0,
+DTCE_RIIC1_RXI1=187,DTCE_RIIC1_TXI1,
+DTCE_RIIC2_RXI2=191,DTCE_RIIC2_TXI2,
+DTCE_RIIC3_RXI3=195,DTCE_RIIC3_TXI3,
+DTCE_DMAC_DMAC0I=198,DTCE_DMAC_DMAC1I,DTCE_DMAC_DMAC2I,DTCE_DMAC_DMAC3I,
+DTCE_EXDMAC_EXDMAC0I,DTCE_EXDMAC_EXDMAC1I,
+DTCE_SCI0_RXI0=214,DTCE_SCI0_TXI0,
+DTCE_SCI1_RXI1=217,DTCE_SCI1_TXI1,
+DTCE_SCI2_RXI2=220,DTCE_SCI2_TXI2,
+DTCE_SCI3_RXI3=223,DTCE_SCI3_TXI3,
+DTCE_SCI4_RXI4=226,DTCE_SCI4_TXI4,
+DTCE_SCI5_RXI5=229,DTCE_SCI5_TXI5,
+DTCE_SCI6_RXI6=232,DTCE_SCI6_TXI6,
+DTCE_SCI7_RXI7=235,DTCE_SCI7_TXI7,
+DTCE_SCI8_RXI8=238,DTCE_SCI8_TXI8,
+DTCE_SCI9_RXI9=241,DTCE_SCI9_TXI9,
+DTCE_SCI10_RXI10=244,DTCE_SCI10_TXI10,
+DTCE_SCI11_RXI11=247,DTCE_SCI11_TXI11,
+DTCE_SCI12_RXI12=250,DTCE_SCI12_TXI12
+};
+
+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=0x04,IER_USB1_D1FIFO1=0x04,IER_USB1_USBI1=0x04,
+IER_RSPI0_SPRI0=0x04,IER_RSPI0_SPTI0=0x05,IER_RSPI0_SPII0=0x05,
+IER_RSPI1_SPRI1=0x05,IER_RSPI1_SPTI1=0x05,IER_RSPI1_SPII1=0x05,
+IER_RSPI2_SPRI2=0x05,IER_RSPI2_SPTI2=0x05,IER_RSPI2_SPII2=0x05,
+IER_CAN0_RXF0=0x06,IER_CAN0_TXF0=0x06,IER_CAN0_RXM0=0x06,IER_CAN0_TXM0=0x06,
+IER_CAN1_RXF1=0x06,IER_CAN1_TXF1=0x06,IER_CAN1_RXM1=0x06,IER_CAN1_TXM1=0x06,
+IER_CAN2_RXF2=0x07,IER_CAN2_TXF2=0x07,IER_CAN2_RXM2=0x07,IER_CAN2_TXM2=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_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_ALARM=0x0B,IER_RTC_PRD=0x0B,
+IER_AD0_ADI0=0x0C,
+IER_S12AD0_S12ADI0=0x0C,
+IER_ICU_GROUPE0=0x0D,IER_ICU_GROUPE1=0x0D,IER_ICU_GROUPE2=0x0D,IER_ICU_GROUPE3=0x0D,IER_ICU_GROUPE4=0x0D,IER_ICU_GROUPE5=0x0D,IER_ICU_GROUPE6=0x0E,IER_ICU_GROUPL0=0x0E,
+IER_SCIX_SCIX0=0x0F,IER_SCIX_SCIX1=0x0F,IER_SCIX_SCIX2=0x0F,IER_SCIX_SCIX3=0x0F,
+IER_TPU0_TGI0A=0x0F,IER_TPU0_TGI0B=0x0F,IER_TPU0_TGI0C=0x10,IER_TPU0_TGI0D=0x10,
+IER_TPU1_TGI1A=0x10,IER_TPU1_TGI1B=0x10,
+IER_TPU2_TGI2A=0x10,IER_TPU2_TGI2B=0x10,
+IER_TPU3_TGI3A=0x10,IER_TPU3_TGI3B=0x10,IER_TPU3_TGI3C=0x11,IER_TPU3_TGI3D=0x11,
+IER_TPU4_TGI4A=0x11,IER_TPU4_TGI4B=0x11,
+IER_TPU5_TGI5A=0x11,IER_TPU5_TGI5B=0x11,
+IER_TPU6_TGI6A=0x11,IER_TPU6_TGI6B=0x11,IER_TPU6_TGI6C=0x12,IER_TPU6_TGI6D=0x12,
+IER_MTU0_TGIA0=0x11,IER_MTU0_TGIB0=0x11,IER_MTU0_TGIC0=0x12,IER_MTU0_TGID0=0x12,IER_MTU0_TGIE0=0x12,IER_MTU0_TGIF0=0x12,
+IER_TPU7_TGI7A=0x12,IER_TPU7_TGI7B=0x12,
+IER_MTU1_TGIA1=0x12,IER_MTU1_TGIB1=0x12,
+IER_TPU8_TGI8A=0x12,IER_TPU8_TGI8B=0x12,
+IER_MTU2_TGIA2=0x12,IER_MTU2_TGIB2=0x12,
+IER_TPU9_TGI9A=0x13,IER_TPU9_TGI9B=0x13,IER_TPU9_TGI9C=0x13,IER_TPU9_TGI9D=0x13,
+IER_MTU3_TGIA3=0x13,IER_MTU3_TGIB3=0x13,IER_MTU3_TGIC3=0x13,IER_MTU3_TGID3=0x13,
+IER_TPU10_TGI10A=0x13,IER_TPU10_TGI10B=0x13,
+IER_MTU4_TGIA4=0x13,IER_MTU4_TGIB4=0x13,IER_MTU4_TGIC4=0x13,IER_MTU4_TGID4=0x13,IER_MTU4_TCIV4=0x14,
+IER_MTU5_TGIU5=0x14,IER_MTU5_TGIV5=0x14,IER_MTU5_TGIW5=0x14,
+IER_TPU11_TGI11A=0x14,IER_TPU11_TGI11B=0x14,
+IER_POE_OEI1=0x14,IER_POE_OEI2=0x14,
+IER_TMR0_CMIA0=0x15,IER_TMR0_CMIB0=0x15,IER_TMR0_OVI0=0x15,
+IER_TMR1_CMIA1=0x15,IER_TMR1_CMIB1=0x15,IER_TMR1_OVI1=0x15,
+IER_TMR2_CMIA2=0x16,IER_TMR2_CMIB2=0x16,IER_TMR2_OVI2=0x16,
+IER_TMR3_CMIA3=0x16,IER_TMR3_CMIB3=0x16,IER_TMR3_OVI3=0x16,
+IER_RIIC0_EEI0=0x16,IER_RIIC0_RXI0=0x16,IER_RIIC0_TXI0=0x17,IER_RIIC0_TEI0=0x17,
+IER_RIIC1_EEI1=0x17,IER_RIIC1_RXI1=0x17,IER_RIIC1_TXI1=0x17,IER_RIIC1_TEI1=0x17,
+IER_RIIC2_EEI2=0x17,IER_RIIC2_RXI2=0x17,IER_RIIC2_TXI2=0x18,IER_RIIC2_TEI2=0x18,
+IER_RIIC3_EEI3=0x18,IER_RIIC3_RXI3=0x18,IER_RIIC3_TXI3=0x18,IER_RIIC3_TEI3=0x18,
+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_RXI0=0x1A,IER_SCI0_TXI0=0x1A,IER_SCI0_TEI0=0x1B,
+IER_SCI1_RXI1=0x1B,IER_SCI1_TXI1=0x1B,IER_SCI1_TEI1=0x1B,
+IER_SCI2_RXI2=0x1B,IER_SCI2_TXI2=0x1B,IER_SCI2_TEI2=0x1B,
+IER_SCI3_RXI3=0x1B,IER_SCI3_TXI3=0x1C,IER_SCI3_TEI3=0x1C,
+IER_SCI4_RXI4=0x1C,IER_SCI4_TXI4=0x1C,IER_SCI4_TEI4=0x1C,
+IER_SCI5_RXI5=0x1C,IER_SCI5_TXI5=0x1C,IER_SCI5_TEI5=0x1C,
+IER_SCI6_RXI6=0x1D,IER_SCI6_TXI6=0x1D,IER_SCI6_TEI6=0x1D,
+IER_SCI7_RXI7=0x1D,IER_SCI7_TXI7=0x1D,IER_SCI7_TEI7=0x1D,
+IER_SCI8_RXI8=0x1D,IER_SCI8_TXI8=0x1D,IER_SCI8_TEI8=0x1E,
+IER_SCI9_RXI9=0x1E,IER_SCI9_TXI9=0x1E,IER_SCI9_TEI9=0x1E,
+IER_SCI10_RXI10=0x1E,IER_SCI10_TXI10=0x1E,IER_SCI10_TEI10=0x1E,
+IER_SCI11_RXI11=0x1E,IER_SCI11_TXI11=0x1F,IER_SCI11_TEI11=0x1F,
+IER_SCI12_RXI12=0x1F,IER_SCI12_TXI12=0x1F,IER_SCI12_TEI12=0x1F,
+IER_IEB_IEBINT=0x1F
+};
+
+enum enum_ipr {
+IPR_BSC_BUSERR=0,
+IPR_FCU_FIFERR=1,IPR_FCU_FRDYI=2,
+IPR_ICU_SWINT=3,
+IPR_CMT0_CMI0=4,
+IPR_CMT1_CMI1=5,
+IPR_CMT2_CMI2=6,
+IPR_CMT3_CMI3=7,
+IPR_ETHER_EINT=32,
+IPR_USB0_D0FIFO0=33,IPR_USB0_D1FIFO0=34,IPR_USB0_USBI0=35,
+IPR_USB1_D0FIFO1=36,IPR_USB1_D1FIFO1=37,IPR_USB1_USBI1=38,
+IPR_RSPI0_SPRI0=39,IPR_RSPI0_SPTI0=39,IPR_RSPI0_SPII0=39,
+IPR_RSPI1_SPRI1=42,IPR_RSPI1_SPTI1=42,IPR_RSPI1_SPII1=42,
+IPR_RSPI2_SPRI2=45,IPR_RSPI2_SPTI2=45,IPR_RSPI2_SPII2=45,
+IPR_CAN0_RXF0=48,IPR_CAN0_TXF0=48,IPR_CAN0_RXM0=48,IPR_CAN0_TXM0=48,
+IPR_CAN1_RXF1=52,IPR_CAN1_TXF1=52,IPR_CAN1_RXM1=52,IPR_CAN1_TXM1=52,
+IPR_CAN2_RXF2=56,IPR_CAN2_TXF2=56,IPR_CAN2_RXM2=56,IPR_CAN2_TXM2=56,
+IPR_RTC_COUNTUP=62,
+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_ICU_IRQ8=72,IPR_ICU_IRQ9=73,IPR_ICU_IRQ10=74,IPR_ICU_IRQ11=75,IPR_ICU_IRQ12=76,IPR_ICU_IRQ13=77,IPR_ICU_IRQ14=78,IPR_ICU_IRQ15=79,
+IPR_USB_USBR0=90,IPR_USB_USBR1=91,
+IPR_RTC_ALARM=92,IPR_RTC_PRD=93,
+IPR_AD0_ADI0=98,
+IPR_S12AD0_S12ADI0=102,
+IPR_ICU_GROUPE0=106,IPR_ICU_GROUPE1=107,IPR_ICU_GROUPE2=108,IPR_ICU_GROUPE3=109,IPR_ICU_GROUPE4=110,IPR_ICU_GROUPE5=111,IPR_ICU_GROUPE6=112,IPR_ICU_GROUPL0=114,
+IPR_SCIX_SCIX0=122,IPR_SCIX_SCIX1=122,IPR_SCIX_SCIX2=122,IPR_SCIX_SCIX3=122,
+IPR_TPU0_TGI0A=126,IPR_TPU0_TGI0B=126,IPR_TPU0_TGI0C=126,IPR_TPU0_TGI0D=126,
+IPR_TPU1_TGI1A=130,IPR_TPU1_TGI1B=130,
+IPR_TPU2_TGI2A=132,IPR_TPU2_TGI2B=132,
+IPR_TPU3_TGI3A=134,IPR_TPU3_TGI3B=134,IPR_TPU3_TGI3C=134,IPR_TPU3_TGI3D=134,
+IPR_TPU4_TGI4A=138,IPR_TPU4_TGI4B=138,
+IPR_TPU5_TGI5A=140,IPR_TPU5_TGI5B=140,
+IPR_TPU6_TGI6A=142,IPR_TPU6_TGI6B=142,IPR_TPU6_TGI6C=142,IPR_TPU6_TGI6D=142,
+IPR_MTU0_TGIA0=142,IPR_MTU0_TGIB0=142,IPR_MTU0_TGIC0=142,IPR_MTU0_TGID0=142,IPR_MTU0_TGIE0=146,IPR_MTU0_TGIF0=146,
+IPR_TPU7_TGI7A=148,IPR_TPU7_TGI7B=148,
+IPR_MTU1_TGIA1=148,IPR_MTU1_TGIB1=148,
+IPR_TPU8_TGI8A=150,IPR_TPU8_TGI8B=150,
+IPR_MTU2_TGIA2=150,IPR_MTU2_TGIB2=150,
+IPR_TPU9_TGI9A=152,IPR_TPU9_TGI9B=152,IPR_TPU9_TGI9C=152,IPR_TPU9_TGI9D=152,
+IPR_MTU3_TGIA3=152,IPR_MTU3_TGIB3=152,IPR_MTU3_TGIC3=152,IPR_MTU3_TGID3=152,
+IPR_TPU10_TGI10A=156,IPR_TPU10_TGI10B=156,
+IPR_MTU4_TGIA4=156,IPR_MTU4_TGIB4=156,IPR_MTU4_TGIC4=156,IPR_MTU4_TGID4=156,IPR_MTU4_TCIV4=160,
+IPR_MTU5_TGIU5=161,IPR_MTU5_TGIV5=161,IPR_MTU5_TGIW5=161,
+IPR_TPU11_TGI11A=164,IPR_TPU11_TGI11B=164,
+IPR_POE_OEI1=166,IPR_POE_OEI2=166,
+IPR_TMR0_CMIA0=170,IPR_TMR0_CMIB0=170,IPR_TMR0_OVI0=170,
+IPR_TMR1_CMIA1=173,IPR_TMR1_CMIB1=173,IPR_TMR1_OVI1=173,
+IPR_TMR2_CMIA2=176,IPR_TMR2_CMIB2=176,IPR_TMR2_OVI2=176,
+IPR_TMR3_CMIA3=179,IPR_TMR3_CMIB3=179,IPR_TMR3_OVI3=179,
+IPR_RIIC0_EEI0=182,IPR_RIIC0_RXI0=183,IPR_RIIC0_TXI0=184,IPR_RIIC0_TEI0=185,
+IPR_RIIC1_EEI1=186,IPR_RIIC1_RXI1=187,IPR_RIIC1_TXI1=188,IPR_RIIC1_TEI1=189,
+IPR_RIIC2_EEI2=190,IPR_RIIC2_RXI2=191,IPR_RIIC2_TXI2=192,IPR_RIIC2_TEI2=193,
+IPR_RIIC3_EEI3=194,IPR_RIIC3_RXI3=195,IPR_RIIC3_TXI3=196,IPR_RIIC3_TEI3=197,
+IPR_DMAC_DMAC0I=198,IPR_DMAC_DMAC1I=199,IPR_DMAC_DMAC2I=200,IPR_DMAC_DMAC3I=201,
+IPR_EXDMAC_EXDMAC0I=202,IPR_EXDMAC_EXDMAC1I=203,
+IPR_SCI0_RXI0=214,IPR_SCI0_TXI0=214,IPR_SCI0_TEI0=214,
+IPR_SCI1_RXI1=217,IPR_SCI1_TXI1=217,IPR_SCI1_TEI1=217,
+IPR_SCI2_RXI2=220,IPR_SCI2_TXI2=220,IPR_SCI2_TEI2=220,
+IPR_SCI3_RXI3=223,IPR_SCI3_TXI3=223,IPR_SCI3_TEI3=223,
+IPR_SCI4_RXI4=226,IPR_SCI4_TXI4=226,IPR_SCI4_TEI4=226,
+IPR_SCI5_RXI5=229,IPR_SCI5_TXI5=229,IPR_SCI5_TEI5=229,
+IPR_SCI6_RXI6=232,IPR_SCI6_TXI6=232,IPR_SCI6_TEI6=232,
+IPR_SCI7_RXI7=235,IPR_SCI7_TXI7=235,IPR_SCI7_TEI7=235,
+IPR_SCI8_RXI8=238,IPR_SCI8_TXI8=238,IPR_SCI8_TEI8=238,
+IPR_SCI9_RXI9=241,IPR_SCI9_TXI9=241,IPR_SCI9_TEI9=241,
+IPR_SCI10_RXI10=244,IPR_SCI10_TXI10=244,IPR_SCI10_TEI10=244,
+IPR_SCI11_RXI11=247,IPR_SCI11_TXI11=247,IPR_SCI11_TEI11=247,
+IPR_SCI12_RXI12=250,IPR_SCI12_TXI12=250,IPR_SCI12_TEI12=250,
+IPR_IEB_IEBINT=253,
+IPR_BSC_=0,
+IPR_CMT0_=4,
+IPR_CMT1_=5,
+IPR_CMT2_=6,
+IPR_CMT3_=7,
+IPR_ETHER_=32,
+IPR_RSPI0_=39,
+IPR_RSPI1_=42,
+IPR_RSPI2_=45,
+IPR_CAN0_=48,
+IPR_CAN1_=52,
+IPR_CAN2_=56,
+IPR_AD0_=98,
+IPR_S12AD0_=102,
+IPR_SCIX_=122,
+IPR_SCIX_SCI=122,
+IPR_TPU0_=126,
+IPR_TPU0_TGI=126,
+IPR_TPU1_=130,
+IPR_TPU1_TGI=130,
+IPR_TPU2_=132,
+IPR_TPU2_TGI=132,
+IPR_TPU3_=134,
+IPR_TPU3_TGI=134,
+IPR_TPU4_=138,
+IPR_TPU4_TGI=138,
+IPR_TPU5_=140,
+IPR_TPU5_TGI=140,
+IPR_MTU5_=161,
+IPR_MTU5_TGI=161,
+IPR_TPU11_=164,
+IPR_TPU11_TGI=164,
+IPR_POE_=166,
+IPR_POE_OEI=166,
+IPR_TMR0_=170,
+IPR_TMR1_=173,
+IPR_TMR2_=176,
+IPR_TMR3_=179,
+IPR_SCI0_=214,
+IPR_SCI1_=217,
+IPR_SCI2_=220,
+IPR_SCI3_=223,
+IPR_SCI4_=226,
+IPR_SCI5_=229,
+IPR_SCI6_=232,
+IPR_SCI7_=235,
+IPR_SCI8_=238,
+IPR_SCI9_=241,
+IPR_SCI10_=244,
+IPR_SCI11_=247,
+IPR_SCI12_=250,
+IPR_IEB_=253
+};
+
+enum enum_grp {
+GRP_CAN0_ERS0=0,GRP_CAN1_ERS1=0,GRP_CAN2_ERS2=0,
+GRP_MTU0_TCIV0=1,GRP_MTU1_TCIV1=1,GRP_MTU1_TCIU1=1,
+GRP_MTU2_TCIV2=2,GRP_MTU2_TCIU2=2,GRP_MTU3_TCIV3=2,
+GRP_TPU0_TCI0V=3,GRP_TPU1_TCI1V=3,GRP_TPU1_TCI1U=3,GRP_TPU5_TCI5V=3,GRP_TPU5_TCI5U=3,
+GRP_TPU2_TCI2V=4,GRP_TPU2_TCI2U=4,GRP_TPU3_TCI3V=4,GRP_TPU4_TCI4V=4,GRP_TPU4_TCI4U=4,
+GRP_TPU6_TCI6V=5,GRP_TPU7_TCI7V=5,GRP_TPU7_TCI7U=5,GRP_TPU11_TCI11V=5,GRP_TPU11_TCI11U=5,
+GRP_TPU8_TCI8V=6,GRP_TPU8_TCI8U=6,GRP_TPU9_TCI9V=6,GRP_TPU10_TCI10V=6,GRP_TPU10_TCI10U=6,
+GRP_SCI0_ERI0=12,GRP_SCI1_ERI1=12,GRP_SCI2_ERI2=12,GRP_SCI3_ERI3=12,GRP_SCI4_ERI4=12,GRP_SCI5_ERI5=12,GRP_SCI6_ERI6=12,
+GRP_SCI7_ERI7=12,GRP_SCI8_ERI8=12,GRP_SCI9_ERI9=12,GRP_SCI10_ERI10=12,GRP_SCI11_ERI11=12,GRP_SCI12_ERI12=12,
+GRP_RSPI0_SPEI0=12,GRP_RSPI1_SPEI1=12,GRP_RSPI2_SPEI2=12
+};
+
+enum enum_gen {
+GEN_CAN0_ERS0=0,GEN_CAN1_ERS1=0,GEN_CAN2_ERS2=0,
+GEN_MTU0_TCIV0=1,GEN_MTU1_TCIV1=1,GEN_MTU1_TCIU1=1,
+GEN_MTU2_TCIV2=2,GEN_MTU2_TCIU2=2,GEN_MTU3_TCIV3=2,
+GEN_TPU0_TCI0V=3,GEN_TPU1_TCI1V=3,GEN_TPU1_TCI1U=3,GEN_TPU5_TCI5V=3,GEN_TPU5_TCI5U=3,
+GEN_TPU2_TCI2V=4,GEN_TPU2_TCI2U=4,GEN_TPU3_TCI3V=4,GEN_TPU4_TCI4V=4,GEN_TPU4_TCI4U=4,
+GEN_TPU6_TCI6V=5,GEN_TPU7_TCI7V=5,GEN_TPU7_TCI7U=5,GEN_TPU11_TCI11V=5,GEN_TPU11_TCI11U=5,
+GEN_TPU8_TCI8V=6,GEN_TPU8_TCI8U=6,GEN_TPU9_TCI9V=6,GEN_TPU10_TCI10V=6,GEN_TPU10_TCI10U=6,
+GEN_SCI0_ERI0=12,GEN_SCI1_ERI1=12,GEN_SCI2_ERI2=12,GEN_SCI3_ERI3=12,GEN_SCI4_ERI4=12,GEN_SCI5_ERI5=12,GEN_SCI6_ERI6=12,
+GEN_SCI7_ERI7=12,GEN_SCI8_ERI8=12,GEN_SCI9_ERI9=12,GEN_SCI10_ERI10=12,GEN_SCI11_ERI11=12,GEN_SCI12_ERI12=12,
+GEN_RSPI0_SPEI0=12,GEN_RSPI1_SPEI1=12,GEN_RSPI2_SPEI2=12
+};
+
+enum enum_gcr {
+GCR_CAN0_ERS0=0,GCR_CAN1_ERS1=0,GCR_CAN2_ERS2=0,
+GCR_MTU0_TCIV0=1,GCR_MTU1_TCIV1=1,GCR_MTU1_TCIU1=1,
+GCR_MTU2_TCIV2=2,GCR_MTU2_TCIU2=2,GCR_MTU3_TCIV3=2,
+GCR_TPU0_TCI0V=3,GCR_TPU1_TCI1V=3,GCR_TPU1_TCI1U=3,GCR_TPU5_TCI5V=3,GCR_TPU5_TCI5U=3,
+GCR_TPU2_TCI2V=4,GCR_TPU2_TCI2U=4,GCR_TPU3_TCI3V=4,GCR_TPU4_TCI4V=4,GCR_TPU4_TCI4U=4,
+GCR_TPU6_TCI6V=5,GCR_TPU7_TCI7V=5,GCR_TPU7_TCI7U=5,GCR_TPU11_TCI11V=5,GCR_TPU11_TCI11U=5,
+GCR_TPU8_TCI8V=6,GCR_TPU8_TCI8U=6,GCR_TPU9_TCI9V=6,GCR_TPU10_TCI10V=6,GCR_TPU10_TCI10U=6,
+GCR_SCI0_ERI0=12,GCR_SCI1_ERI1=12,GCR_SCI2_ERI2=12,GCR_SCI3_ERI3=12,GCR_SCI4_ERI4=12,GCR_SCI5_ERI5=12,GCR_SCI6_ERI6=12,
+GCR_SCI7_ERI7=12,GCR_SCI8_ERI8=12,GCR_SCI9_ERI9=12,GCR_SCI10_ERI10=12,GCR_SCI11_ERI11=12,GCR_SCI12_ERI12=12,
+GCR_RSPI0_SPEI0=12,GCR_RSPI1_SPEI1=12,GCR_RSPI2_SPEI2=12
+};
+
+#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	IEN1
+#define	IEN_USB0_D1FIFO0	IEN2
+#define	IEN_USB0_USBI0		IEN3
+#define	IEN_USB1_D0FIFO1	IEN4
+#define	IEN_USB1_D1FIFO1	IEN5
+#define	IEN_USB1_USBI1		IEN6
+#define	IEN_RSPI0_SPRI0		IEN7
+#define	IEN_RSPI0_SPTI0		IEN0
+#define	IEN_RSPI0_SPII0		IEN1
+#define	IEN_RSPI1_SPRI1		IEN2
+#define	IEN_RSPI1_SPTI1		IEN3
+#define	IEN_RSPI1_SPII1		IEN4
+#define	IEN_RSPI2_SPRI2		IEN5
+#define	IEN_RSPI2_SPTI2		IEN6
+#define	IEN_RSPI2_SPII2		IEN7
+#define	IEN_CAN0_RXF0		IEN0
+#define	IEN_CAN0_TXF0		IEN1
+#define	IEN_CAN0_RXM0		IEN2
+#define	IEN_CAN0_TXM0		IEN3
+#define	IEN_CAN1_RXF1		IEN4
+#define	IEN_CAN1_TXF1		IEN5
+#define	IEN_CAN1_RXM1		IEN6
+#define	IEN_CAN1_TXM1		IEN7
+#define	IEN_CAN2_RXF2		IEN0
+#define	IEN_CAN2_TXF2		IEN1
+#define	IEN_CAN2_RXM2		IEN2
+#define	IEN_CAN2_TXM2		IEN3
+#define	IEN_RTC_COUNTUP		IEN6
+#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_ALARM		IEN4
+#define	IEN_RTC_PRD			IEN5
+#define	IEN_AD0_ADI0		IEN2
+#define	IEN_S12AD0_S12ADI0	IEN6
+#define	IEN_ICU_GROUPE0		IEN2
+#define	IEN_ICU_GROUPE1		IEN3
+#define	IEN_ICU_GROUPE2		IEN4
+#define	IEN_ICU_GROUPE3		IEN5
+#define	IEN_ICU_GROUPE4		IEN6
+#define	IEN_ICU_GROUPE5		IEN7
+#define	IEN_ICU_GROUPE6		IEN0
+#define	IEN_ICU_GROUPL0		IEN2
+#define	IEN_SCIX_SCIX0		IEN2
+#define	IEN_SCIX_SCIX1		IEN3
+#define	IEN_SCIX_SCIX2		IEN4
+#define	IEN_SCIX_SCIX3		IEN5
+#define	IEN_TPU0_TGI0A		IEN6
+#define	IEN_TPU0_TGI0B		IEN7
+#define	IEN_TPU0_TGI0C		IEN0
+#define	IEN_TPU0_TGI0D		IEN1
+#define	IEN_TPU1_TGI1A		IEN2
+#define	IEN_TPU1_TGI1B		IEN3
+#define	IEN_TPU2_TGI2A		IEN4
+#define	IEN_TPU2_TGI2B		IEN5
+#define	IEN_TPU3_TGI3A		IEN6
+#define	IEN_TPU3_TGI3B		IEN7
+#define	IEN_TPU3_TGI3C		IEN0
+#define	IEN_TPU3_TGI3D		IEN1
+#define	IEN_TPU4_TGI4A		IEN2
+#define	IEN_TPU4_TGI4B		IEN3
+#define	IEN_TPU5_TGI5A		IEN4
+#define	IEN_TPU5_TGI5B		IEN5
+#define	IEN_TPU6_TGI6A		IEN6
+#define	IEN_TPU6_TGI6B		IEN7
+#define	IEN_TPU6_TGI6C		IEN0
+#define	IEN_TPU6_TGI6D		IEN1
+#define	IEN_MTU0_TGIA0		IEN6
+#define	IEN_MTU0_TGIB0		IEN7
+#define	IEN_MTU0_TGIC0		IEN0
+#define	IEN_MTU0_TGID0		IEN1
+#define	IEN_MTU0_TGIE0		IEN2
+#define	IEN_MTU0_TGIF0		IEN3
+#define	IEN_TPU7_TGI7A		IEN4
+#define	IEN_TPU7_TGI7B		IEN5
+#define	IEN_MTU1_TGIA1		IEN4
+#define	IEN_MTU1_TGIB1		IEN5
+#define	IEN_TPU8_TGI8A		IEN6
+#define	IEN_TPU8_TGI8B		IEN7
+#define	IEN_MTU2_TGIA2		IEN6
+#define	IEN_MTU2_TGIB2		IEN7
+#define	IEN_TPU9_TGI9A		IEN0
+#define	IEN_TPU9_TGI9B		IEN1
+#define	IEN_TPU9_TGI9C		IEN2
+#define	IEN_TPU9_TGI9D		IEN3
+#define	IEN_MTU3_TGIA3		IEN0
+#define	IEN_MTU3_TGIB3		IEN1
+#define	IEN_MTU3_TGIC3		IEN2
+#define	IEN_MTU3_TGID3		IEN3
+#define	IEN_TPU10_TGI10A	IEN4
+#define	IEN_TPU10_TGI10B	IEN5
+#define	IEN_MTU4_TGIA4		IEN4
+#define	IEN_MTU4_TGIB4		IEN5
+#define	IEN_MTU4_TGIC4		IEN6
+#define	IEN_MTU4_TGID4		IEN7
+#define	IEN_MTU4_TCIV4		IEN0
+#define	IEN_MTU5_TGIU5		IEN1
+#define	IEN_MTU5_TGIV5		IEN2
+#define	IEN_MTU5_TGIW5		IEN3
+#define	IEN_TPU11_TGI11A	IEN4
+#define	IEN_TPU11_TGI11B	IEN5
+#define	IEN_POE_OEI1		IEN6
+#define	IEN_POE_OEI2		IEN7
+#define	IEN_TMR0_CMIA0		IEN2
+#define	IEN_TMR0_CMIB0		IEN3
+#define	IEN_TMR0_OVI0		IEN4
+#define	IEN_TMR1_CMIA1		IEN5
+#define	IEN_TMR1_CMIB1		IEN6
+#define	IEN_TMR1_OVI1		IEN7
+#define	IEN_TMR2_CMIA2		IEN0
+#define	IEN_TMR2_CMIB2		IEN1
+#define	IEN_TMR2_OVI2		IEN2
+#define	IEN_TMR3_CMIA3		IEN3
+#define	IEN_TMR3_CMIB3		IEN4
+#define	IEN_TMR3_OVI3		IEN5
+#define	IEN_RIIC0_EEI0		IEN6
+#define	IEN_RIIC0_RXI0		IEN7
+#define	IEN_RIIC0_TXI0		IEN0
+#define	IEN_RIIC0_TEI0		IEN1
+#define	IEN_RIIC1_EEI1		IEN2
+#define	IEN_RIIC1_RXI1		IEN3
+#define	IEN_RIIC1_TXI1		IEN4
+#define	IEN_RIIC1_TEI1		IEN5
+#define	IEN_RIIC2_EEI2		IEN6
+#define	IEN_RIIC2_RXI2		IEN7
+#define	IEN_RIIC2_TXI2		IEN0
+#define	IEN_RIIC2_TEI2		IEN1
+#define	IEN_RIIC3_EEI3		IEN2
+#define	IEN_RIIC3_RXI3		IEN3
+#define	IEN_RIIC3_TXI3		IEN4
+#define	IEN_RIIC3_TEI3		IEN5
+#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_RXI0		IEN6
+#define	IEN_SCI0_TXI0		IEN7
+#define	IEN_SCI0_TEI0		IEN0
+#define	IEN_SCI1_RXI1		IEN1
+#define	IEN_SCI1_TXI1		IEN2
+#define	IEN_SCI1_TEI1		IEN3
+#define	IEN_SCI2_RXI2		IEN4
+#define	IEN_SCI2_TXI2		IEN5
+#define	IEN_SCI2_TEI2		IEN6
+#define	IEN_SCI3_RXI3		IEN7
+#define	IEN_SCI3_TXI3		IEN0
+#define	IEN_SCI3_TEI3		IEN1
+#define	IEN_SCI4_RXI4		IEN2
+#define	IEN_SCI4_TXI4		IEN3
+#define	IEN_SCI4_TEI4		IEN4
+#define	IEN_SCI5_RXI5		IEN5
+#define	IEN_SCI5_TXI5		IEN6
+#define	IEN_SCI5_TEI5		IEN7
+#define	IEN_SCI6_RXI6		IEN0
+#define	IEN_SCI6_TXI6		IEN1
+#define	IEN_SCI6_TEI6		IEN2
+#define	IEN_SCI7_RXI7		IEN3
+#define	IEN_SCI7_TXI7		IEN4
+#define	IEN_SCI7_TEI7		IEN5
+#define	IEN_SCI8_RXI8		IEN6
+#define	IEN_SCI8_TXI8		IEN7
+#define	IEN_SCI8_TEI8		IEN0
+#define	IEN_SCI9_RXI9		IEN1
+#define	IEN_SCI9_TXI9		IEN2
+#define	IEN_SCI9_TEI9		IEN3
+#define	IEN_SCI10_RXI10		IEN4
+#define	IEN_SCI10_TXI10		IEN5
+#define	IEN_SCI10_TEI10		IEN6
+#define	IEN_SCI11_RXI11		IEN7
+#define	IEN_SCI11_TXI11		IEN0
+#define	IEN_SCI11_TEI11		IEN1
+#define	IEN_SCI12_RXI12		IEN2
+#define	IEN_SCI12_TXI12		IEN3
+#define	IEN_SCI12_TEI12		IEN4
+#define	IEN_IEB_IEBINT		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	33
+#define	VECT_USB0_D1FIFO0	34
+#define	VECT_USB0_USBI0		35
+#define	VECT_USB1_D0FIFO1	36
+#define	VECT_USB1_D1FIFO1	37
+#define	VECT_USB1_USBI1		38
+#define	VECT_RSPI0_SPRI0	39
+#define	VECT_RSPI0_SPTI0	40
+#define	VECT_RSPI0_SPII0	41
+#define	VECT_RSPI1_SPRI1	42
+#define	VECT_RSPI1_SPTI1	43
+#define	VECT_RSPI1_SPII1	44
+#define	VECT_RSPI2_SPRI2	45
+#define	VECT_RSPI2_SPTI2	46
+#define	VECT_RSPI2_SPII2	47
+#define	VECT_CAN0_RXF0		48
+#define	VECT_CAN0_TXF0		49
+#define	VECT_CAN0_RXM0		50
+#define	VECT_CAN0_TXM0		51
+#define	VECT_CAN1_RXF1		52
+#define	VECT_CAN1_TXF1		53
+#define	VECT_CAN1_RXM1		54
+#define	VECT_CAN1_TXM1		55
+#define	VECT_CAN2_RXF2		56
+#define	VECT_CAN2_TXF2		57
+#define	VECT_CAN2_RXM2		58
+#define	VECT_CAN2_TXM2		59
+#define	VECT_RTC_COUNTUP	62
+#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_ALARM		92
+#define	VECT_RTC_PRD		93
+#define	VECT_AD0_ADI0		98
+#define	VECT_S12AD0_S12ADI0	102
+#define	VECT_ICU_GROUPE0	106
+#define	VECT_ICU_GROUPE1	107
+#define	VECT_ICU_GROUPE2	108
+#define	VECT_ICU_GROUPE3	109
+#define	VECT_ICU_GROUPE4	110
+#define	VECT_ICU_GROUPE5	111
+#define	VECT_ICU_GROUPE6	112
+#define	VECT_ICU_GROUPL0	114
+#define	VECT_SCIX_SCIX0		122
+#define	VECT_SCIX_SCIX1		123
+#define	VECT_SCIX_SCIX2		124
+#define	VECT_SCIX_SCIX3		125
+#define	VECT_TPU0_TGI0A		126
+#define	VECT_TPU0_TGI0B		127
+#define	VECT_TPU0_TGI0C		128
+#define	VECT_TPU0_TGI0D		129
+#define	VECT_TPU1_TGI1A		130
+#define	VECT_TPU1_TGI1B		131
+#define	VECT_TPU2_TGI2A		132
+#define	VECT_TPU2_TGI2B		133
+#define	VECT_TPU3_TGI3A		134
+#define	VECT_TPU3_TGI3B		135
+#define	VECT_TPU3_TGI3C		136
+#define	VECT_TPU3_TGI3D		137
+#define	VECT_TPU4_TGI4A		138
+#define	VECT_TPU4_TGI4B		139
+#define	VECT_TPU5_TGI5A		140
+#define	VECT_TPU5_TGI5B		141
+#define	VECT_TPU6_TGI6A		142
+#define	VECT_TPU6_TGI6B		143
+#define	VECT_TPU6_TGI6C		144
+#define	VECT_TPU6_TGI6D		145
+#define	VECT_MTU0_TGIA0		142
+#define	VECT_MTU0_TGIB0		143
+#define	VECT_MTU0_TGIC0		144
+#define	VECT_MTU0_TGID0		145
+#define	VECT_MTU0_TGIE0		146
+#define	VECT_MTU0_TGIF0		147
+#define	VECT_TPU7_TGI7A		148
+#define	VECT_TPU7_TGI7B		149
+#define	VECT_MTU1_TGIA1		148
+#define	VECT_MTU1_TGIB1		149
+#define	VECT_TPU8_TGI8A		150
+#define	VECT_TPU8_TGI8B		151
+#define	VECT_MTU2_TGIA2		150
+#define	VECT_MTU2_TGIB2		151
+#define	VECT_TPU9_TGI9A		152
+#define	VECT_TPU9_TGI9B		153
+#define	VECT_TPU9_TGI9C		154
+#define	VECT_TPU9_TGI9D		155
+#define	VECT_MTU3_TGIA3		152
+#define	VECT_MTU3_TGIB3		153
+#define	VECT_MTU3_TGIC3		154
+#define	VECT_MTU3_TGID3		155
+#define	VECT_TPU10_TGI10A	156
+#define	VECT_TPU10_TGI10B	157
+#define	VECT_MTU4_TGIA4		156
+#define	VECT_MTU4_TGIB4		157
+#define	VECT_MTU4_TGIC4		158
+#define	VECT_MTU4_TGID4		159
+#define	VECT_MTU4_TCIV4		160
+#define	VECT_MTU5_TGIU5		161
+#define	VECT_MTU5_TGIV5		162
+#define	VECT_MTU5_TGIW5		163
+#define	VECT_TPU11_TGI11A	164
+#define	VECT_TPU11_TGI11B	165
+#define	VECT_POE_OEI1		166
+#define	VECT_POE_OEI2		167
+#define	VECT_TMR0_CMIA0		170
+#define	VECT_TMR0_CMIB0		171
+#define	VECT_TMR0_OVI0		172
+#define	VECT_TMR1_CMIA1		173
+#define	VECT_TMR1_CMIB1		174
+#define	VECT_TMR1_OVI1		175
+#define	VECT_TMR2_CMIA2		176
+#define	VECT_TMR2_CMIB2		177
+#define	VECT_TMR2_OVI2		178
+#define	VECT_TMR3_CMIA3		179
+#define	VECT_TMR3_CMIB3		180
+#define	VECT_TMR3_OVI3		181
+#define	VECT_RIIC0_EEI0		182
+#define	VECT_RIIC0_RXI0		183
+#define	VECT_RIIC0_TXI0		184
+#define	VECT_RIIC0_TEI0		185
+#define	VECT_RIIC1_EEI1		186
+#define	VECT_RIIC1_RXI1		187
+#define	VECT_RIIC1_TXI1		188
+#define	VECT_RIIC1_TEI1		189
+#define	VECT_RIIC2_EEI2		190
+#define	VECT_RIIC2_RXI2		191
+#define	VECT_RIIC2_TXI2		192
+#define	VECT_RIIC2_TEI2		193
+#define	VECT_RIIC3_EEI3		194
+#define	VECT_RIIC3_RXI3		195
+#define	VECT_RIIC3_TXI3		196
+#define	VECT_RIIC3_TEI3		197
+#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_RXI0		214
+#define	VECT_SCI0_TXI0		215
+#define	VECT_SCI0_TEI0		216
+#define	VECT_SCI1_RXI1		217
+#define	VECT_SCI1_TXI1		218
+#define	VECT_SCI1_TEI1		219
+#define	VECT_SCI2_RXI2		220
+#define	VECT_SCI2_TXI2		221
+#define	VECT_SCI2_TEI2		222
+#define	VECT_SCI3_RXI3		223
+#define	VECT_SCI3_TXI3		224
+#define	VECT_SCI3_TEI3		225
+#define	VECT_SCI4_RXI4		226
+#define	VECT_SCI4_TXI4		227
+#define	VECT_SCI4_TEI4		228
+#define	VECT_SCI5_RXI5		229
+#define	VECT_SCI5_TXI5		230
+#define	VECT_SCI5_TEI5		231
+#define	VECT_SCI6_RXI6		232
+#define	VECT_SCI6_TXI6		233
+#define	VECT_SCI6_TEI6		234
+#define	VECT_SCI7_RXI7		235
+#define	VECT_SCI7_TXI7		236
+#define	VECT_SCI7_TEI7		237
+#define	VECT_SCI8_RXI8		238
+#define	VECT_SCI8_TXI8		239
+#define	VECT_SCI8_TEI8		240
+#define	VECT_SCI9_RXI9		241
+#define	VECT_SCI9_TXI9		242
+#define	VECT_SCI9_TEI9		243
+#define	VECT_SCI10_RXI10	244
+#define	VECT_SCI10_TXI10	245
+#define	VECT_SCI10_TEI10	246
+#define	VECT_SCI11_RXI11	247
+#define	VECT_SCI11_TXI11	248
+#define	VECT_SCI11_TEI11	249
+#define	VECT_SCI12_RXI12	250
+#define	VECT_SCI12_TXI12	251
+#define	VECT_SCI12_TEI12	252
+#define	VECT_IEB_IEBINT		253
+
+#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_AD		SYSTEM.MSTPCRA.BIT.MSTPA23
+#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_TPU0	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU1	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU2	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU3	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU4	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU5	SYSTEM.MSTPCRA.BIT.MSTPA13
+#define	MSTP_TPU6	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU7	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU8	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU9	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU10	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_TPU11	SYSTEM.MSTPCRA.BIT.MSTPA12
+#define	MSTP_PPG0	SYSTEM.MSTPCRA.BIT.MSTPA11
+#define	MSTP_PPG1	SYSTEM.MSTPCRA.BIT.MSTPA10
+#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_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_SCI4	SYSTEM.MSTPCRB.BIT.MSTPB27
+#define	MSTP_SMCI4	SYSTEM.MSTPCRB.BIT.MSTPB27
+#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_SCI7	SYSTEM.MSTPCRB.BIT.MSTPB24
+#define	MSTP_SMCI7	SYSTEM.MSTPCRB.BIT.MSTPB24
+#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_RSPI0	SYSTEM.MSTPCRB.BIT.MSTPB17
+#define	MSTP_RSPI1	SYSTEM.MSTPCRB.BIT.MSTPB16
+#define	MSTP_TEMPS	SYSTEM.MSTPCRB.BIT.MSTPB8
+#define	MSTP_SCI12	SYSTEM.MSTPCRB.BIT.MSTPB4
+#define	MSTP_SMCI12	SYSTEM.MSTPCRB.BIT.MSTPB4
+#define	MSTP_CAN2	SYSTEM.MSTPCRB.BIT.MSTPB2
+#define	MSTP_CAN1	SYSTEM.MSTPCRB.BIT.MSTPB1
+#define	MSTP_CAN0	SYSTEM.MSTPCRB.BIT.MSTPB0
+#define	MSTP_SCI8	SYSTEM.MSTPCRC.BIT.MSTPC27
+#define	MSTP_SMCI8	SYSTEM.MSTPCRC.BIT.MSTPC27
+#define	MSTP_SCI9	SYSTEM.MSTPCRC.BIT.MSTPC26
+#define	MSTP_SMCI9	SYSTEM.MSTPCRC.BIT.MSTPC26
+#define	MSTP_SCI10	SYSTEM.MSTPCRC.BIT.MSTPC25
+#define	MSTP_SMCI10	SYSTEM.MSTPCRC.BIT.MSTPC25
+#define	MSTP_SCI11	SYSTEM.MSTPCRC.BIT.MSTPC24
+#define	MSTP_SMCI11	SYSTEM.MSTPCRC.BIT.MSTPC24
+#define	MSTP_RSPI2	SYSTEM.MSTPCRC.BIT.MSTPC22
+#define	MSTP_LVD	SYSTEM.MSTPCRC.BIT.MSTPC20
+#define	MSTP_IEB	SYSTEM.MSTPCRC.BIT.MSTPC18
+#define	MSTP_RIIC2	SYSTEM.MSTPCRC.BIT.MSTPC17
+#define	MSTP_RIIC3	SYSTEM.MSTPCRC.BIT.MSTPC16
+#define	MSTP_RAM1	SYSTEM.MSTPCRC.BIT.MSTPC1
+#define	MSTP_RAM0	SYSTEM.MSTPCRC.BIT.MSTPC0
+
+#define	IS_CAN0_ERS0		IS0
+#define	IS_CAN1_ERS1		IS1
+#define	IS_CAN2_ERS2		IS2
+#define	IS_MTU0_TCIV0		IS0
+#define	IS_MTU1_TCIV1		IS1
+#define	IS_MTU1_TCIU1		IS2
+#define	IS_MTU2_TCIV2		IS0
+#define	IS_MTU2_TCIU2		IS1
+#define	IS_MTU3_TCIV3		IS2
+#define	IS_TPU0_TCI0V		IS0
+#define	IS_TPU1_TCI1V		IS1
+#define	IS_TPU1_TCI1U		IS2
+#define	IS_TPU5_TCI5V		IS3
+#define	IS_TPU5_TCI5U		IS4
+#define	IS_TPU2_TCI2V		IS0
+#define	IS_TPU2_TCI2U		IS1
+#define	IS_TPU3_TCI3V		IS2
+#define	IS_TPU4_TCI4V		IS3
+#define	IS_TPU4_TCI4U		IS4
+#define	IS_TPU6_TCI6V		IS0
+#define	IS_TPU7_TCI7V		IS1
+#define	IS_TPU7_TCI7U		IS2
+#define	IS_TPU11_TCI11V		IS3
+#define	IS_TPU11_TCI11U		IS4
+#define	IS_TPU8_TCI8V		IS0
+#define	IS_TPU8_TCI8U		IS1
+#define	IS_TPU9_TCI9V		IS2
+#define	IS_TPU10_TCI10V		IS3
+#define	IS_TPU10_TCI10U		IS4
+#define	IS_SCI0_ERI0		IS0
+#define	IS_SCI1_ERI1		IS1
+#define	IS_SCI2_ERI2		IS2
+#define	IS_SCI3_ERI3		IS3
+#define	IS_SCI4_ERI4		IS4
+#define	IS_SCI5_ERI5		IS5
+#define	IS_SCI6_ERI6		IS6
+#define	IS_SCI7_ERI7		IS7
+#define	IS_SCI8_ERI8		IS8
+#define	IS_SCI9_ERI9		IS9
+#define	IS_SCI10_ERI10		IS10
+#define	IS_SCI11_ERI11		IS11
+#define	IS_SCI12_ERI12		IS12
+#define	IS_RSPI0_SPEI0		IS13
+#define	IS_RSPI1_SPEI1		IS14
+#define	IS_RSPI2_SPEI2		IS15
+
+#define	EN_CAN0_ERS0		EN0
+#define	EN_CAN1_ERS1		EN1
+#define	EN_CAN2_ERS2		EN2
+#define	EN_MTU0_TCIV0		EN0
+#define	EN_MTU1_TCIV1		EN1
+#define	EN_MTU1_TCIU1		EN2
+#define	EN_MTU2_TCIV2		EN0
+#define	EN_MTU2_TCIU2		EN1
+#define	EN_MTU3_TCIV3		EN2
+#define	EN_TPU0_TCI0V		EN0
+#define	EN_TPU1_TCI1V		EN1
+#define	EN_TPU1_TCI1U		EN2
+#define	EN_TPU5_TCI5V		EN3
+#define	EN_TPU5_TCI5U		EN4
+#define	EN_TPU2_TCI2V		EN0
+#define	EN_TPU2_TCI2U		EN1
+#define	EN_TPU3_TCI3V		EN2
+#define	EN_TPU4_TCI4V		EN3
+#define	EN_TPU4_TCI4U		EN4
+#define	EN_TPU6_TCI6V		EN0
+#define	EN_TPU7_TCI7V		EN1
+#define	EN_TPU7_TCI7U		EN2
+#define	EN_TPU11_TCI11V		EN3
+#define	EN_TPU11_TCI11U		EN4
+#define	EN_TPU8_TCI8V		EN0
+#define	EN_TPU8_TCI8U		EN1
+#define	EN_TPU9_TCI9V		EN2
+#define	EN_TPU10_TCI10V		EN3
+#define	EN_TPU10_TCI10U		EN4
+#define	EN_SCI0_ERI0		EN0
+#define	EN_SCI1_ERI1		EN1
+#define	EN_SCI2_ERI2		EN2
+#define	EN_SCI3_ERI3		EN3
+#define	EN_SCI4_ERI4		EN4
+#define	EN_SCI5_ERI5		EN5
+#define	EN_SCI6_ERI6		EN6
+#define	EN_SCI7_ERI7		EN7
+#define	EN_SCI8_ERI8		EN8
+#define	EN_SCI9_ERI9		EN9
+#define	EN_SCI10_ERI10		EN10
+#define	EN_SCI11_ERI11		EN11
+#define	EN_SCI12_ERI12		EN12
+#define	EN_RSPI0_SPEI0		EN13
+#define	EN_RSPI1_SPEI1		EN14
+#define	EN_RSPI2_SPEI2		EN15
+
+#define	CLR_CAN0_ERS0		CLR0
+#define	CLR_CAN1_ERS1		CLR1
+#define	CLR_CAN2_ERS2		CLR2
+#define	CLR_MTU0_TCIV0		CLR0
+#define	CLR_MTU1_TCIV1		CLR1
+#define	CLR_MTU1_TCIU1		CLR2
+#define	CLR_MTU2_TCIV2		CLR0
+#define	CLR_MTU2_TCIU2		CLR1
+#define	CLR_MTU3_TCIV3		CLR2
+#define	CLR_TPU0_TCI0V		CLR0
+#define	CLR_TPU1_TCI1V		CLR1
+#define	CLR_TPU1_TCI1U		CLR2
+#define	CLR_TPU5_TCI5V		CLR3
+#define	CLR_TPU5_TCI5U		CLR4
+#define	CLR_TPU2_TCI2V		CLR0
+#define	CLR_TPU2_TCI2U		CLR1
+#define	CLR_TPU3_TCI3V		CLR2
+#define	CLR_TPU4_TCI4V		CLR3
+#define	CLR_TPU4_TCI4U		CLR4
+#define	CLR_TPU6_TCI6V		CLR0
+#define	CLR_TPU7_TCI7V		CLR1
+#define	CLR_TPU7_TCI7U		CLR2
+#define	CLR_TPU11_TCI11V	CLR3
+#define	CLR_TPU11_TCI11U	CLR4
+#define	CLR_TPU8_TCI8V		CLR0
+#define	CLR_TPU8_TCI8U		CLR1
+#define	CLR_TPU9_TCI9V		CLR2
+#define	CLR_TPU10_TCI10V	CLR3
+#define	CLR_TPU10_TCI10U	CLR4
+#define	CLR_SCI0_ERI0		CLR0
+#define	CLR_SCI1_ERI1		CLR1
+#define	CLR_SCI2_ERI2		CLR2
+#define	CLR_SCI3_ERI3		CLR3
+#define	CLR_SCI4_ERI4		CLR4
+#define	CLR_SCI5_ERI5		CLR5
+#define	CLR_SCI6_ERI6		CLR6
+#define	CLR_SCI7_ERI7		CLR7
+#define	CLR_SCI8_ERI8		CLR8
+#define	CLR_SCI9_ERI9		CLR9
+#define	CLR_SCI10_ERI10		CLR10
+#define	CLR_SCI11_ERI11		CLR11
+#define	CLR_SCI12_ERI12		CLR12
+#define	CLR_RSPI0_SPEI0		CLR13
+#define	CLR_RSPI1_SPEI1		CLR14
+#define	CLR_RSPI2_SPEI2		CLR15
+
+#define	CN_TPU6_TGI6A		CN0
+#define	CN_TPU6_TGI6B		CN0
+#define	CN_TPU6_TGI6C		CN0
+#define	CN_TPU6_TGI6D		CN0
+#define	CN_MTU0_TGIA0		CN0
+#define	CN_MTU0_TGIB0		CN0
+#define	CN_MTU0_TGIC0		CN0
+#define	CN_MTU0_TGID0		CN0
+#define	CN_MTU0_TGIE0		CN0
+#define	CN_MTU0_TGIF0		CN0
+#define	CN_TPU7_TGI7A		CN1
+#define	CN_TPU7_TGI7B		CN1
+#define	CN_MTU1_TGIA1		CN1
+#define	CN_MTU1_TGIB1		CN1
+#define	CN_TPU8_TGI8A		CN2
+#define	CN_TPU8_TGI8B		CN2
+#define	CN_MTU2_TGIA2		CN2
+#define	CN_MTU2_TGIB2		CN2
+#define	CN_TPU9_TGI9A		CN3
+#define	CN_TPU9_TGI9B		CN3
+#define	CN_TPU9_TGI9C		CN3
+#define	CN_TPU9_TGI9D		CN3
+#define	CN_MTU3_TGIA3		CN3
+#define	CN_MTU3_TGIB3		CN3
+#define	CN_MTU3_TGIC3		CN3
+#define	CN_MTU3_TGID3		CN3
+#define	CN_TPU10_TGI10A		CN4
+#define	CN_TPU10_TGI10B		CN4
+#define	CN_MTU4_TGIA4		CN4
+#define	CN_MTU4_TGIB4		CN4
+#define	CN_MTU4_TGIC4		CN4
+#define	CN_MTU4_TGID4		CN4
+#define	CN_MTU4_TGIV4		CN4
+#define	CN_TPU11_TGI11A		CN5
+#define	CN_TPU11_TGI11B		CN5
+#define	CN_MTU5_TGIU5		CN5
+#define	CN_MTU5_TGIV5		CN5
+#define	CN_MTU5_TGIW5		CN5
+#define	CN_TPU6_			CN0
+#define	CN_MTU0_			CN0
+#define	CN_TPU7_			CN1
+#define	CN_MTU1_			CN1
+#define	CN_TPU8_			CN2
+#define	CN_MTU2_			CN2
+#define	CN_TPU9_			CN3
+#define	CN_MTU3_			CN3
+#define	CN_TPU10_			CN4
+#define	CN_MTU4_			CN4
+#define	CN_TPU11_			CN5
+#define	CN_MTU5_			CN5
+
+#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	__IS( x )		ICU.GRP[ GRP ## x ].BIT.IS ## x
+#define	 _IS( x )		__IS( x )
+#define	  IS( x , y )	_IS( _ ## x ## _ ## y )
+#define	__EN( x )		ICU.GEN[ GEN ## x ].BIT.EN ## x
+#define	 _EN( x )		__EN( x )
+#define	  EN( x , y )	_EN( _ ## x ## _ ## y )
+#define	__CLR( x )		ICU.GCR[ GCR ## x ].BIT.CLR ## x
+#define	 _CLR( x )		__CLR( x )
+#define	  CLR( x , y )	_CLR( _ ## x ## _ ## y )
+#define	__CN( x )		ICU.SEL.BIT.CN ## x
+#define	 _CN( x )		__CN( x )
+#define	  CN( x , y )	_CN( _ ## x ## _ ## y )
+
+#define	AD		(*(volatile struct st_ad      __evenaccess *)0x89800)
+#define	BSC		(*(volatile struct st_bsc     __evenaccess *)0x81300)
+#define	CAN0	(*(volatile struct st_can     __evenaccess *)0x90200)
+#define	CAN1	(*(volatile struct st_can     __evenaccess *)0x91200)
+#define	CAN2	(*(volatile struct st_can     __evenaccess *)0x92200)
+#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 *)0x8C296)
+#define	ICU		(*(volatile struct st_icu     __evenaccess *)0x87000)
+#define	IEB		(*(volatile struct st_ieb     __evenaccess *)0x8A800)
+#define	IWDT	(*(volatile struct st_iwdt    __evenaccess *)0x88030)
+#define	MPC		(*(volatile struct st_mpc     __evenaccess *)0x8C100)
+#define	MTU		(*(volatile struct st_mtu     __evenaccess *)0x8860A)
+#define	MTU0	(*(volatile struct st_mtu0    __evenaccess *)0x88690)
+#define	MTU1	(*(volatile struct st_mtu1    __evenaccess *)0x88690)
+#define	MTU2	(*(volatile struct st_mtu2    __evenaccess *)0x88692)
+#define	MTU3	(*(volatile struct st_mtu3    __evenaccess *)0x88600)
+#define	MTU4	(*(volatile struct st_mtu4    __evenaccess *)0x88600)
+#define	MTU5	(*(volatile struct st_mtu5    __evenaccess *)0x88694)
+#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	PORTH	(*(volatile struct st_porth   __evenaccess *)0x8C0D1)
+#define	PORTJ	(*(volatile struct st_portj   __evenaccess *)0x8C012)
+#define	PPG0	(*(volatile struct st_ppg0    __evenaccess *)0x881E6)
+#define	PPG1	(*(volatile struct st_ppg1    __evenaccess *)0x881F0)
+#define	RIIC0	(*(volatile struct st_riic0   __evenaccess *)0x88300)
+#define	RIIC1	(*(volatile struct st_riic1   __evenaccess *)0x88320)
+#define	RIIC2	(*(volatile struct st_riic1   __evenaccess *)0x88340)
+#define	RIIC3	(*(volatile struct st_riic1   __evenaccess *)0x88360)
+#define	RSPI0	(*(volatile struct st_rspi    __evenaccess *)0x88380)
+#define	RSPI1	(*(volatile struct st_rspi    __evenaccess *)0x883A0)
+#define	RSPI2	(*(volatile struct st_rspi    __evenaccess *)0x883C0)
+#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_sci0    __evenaccess *)0x8A020)
+#define	SCI2	(*(volatile struct st_sci0    __evenaccess *)0x8A040)
+#define	SCI3	(*(volatile struct st_sci0    __evenaccess *)0x8A060)
+#define	SCI4	(*(volatile struct st_sci0    __evenaccess *)0x8A080)
+#define	SCI5	(*(volatile struct st_sci0    __evenaccess *)0x8A0A0)
+#define	SCI6	(*(volatile struct st_sci0    __evenaccess *)0x8A0C0)
+#define	SCI7	(*(volatile struct st_sci7    __evenaccess *)0x8A0E0)
+#define	SCI8	(*(volatile struct st_sci0    __evenaccess *)0x8A100)
+#define	SCI9	(*(volatile struct st_sci0    __evenaccess *)0x8A120)
+#define	SCI10	(*(volatile struct st_sci0    __evenaccess *)0x8A140)
+#define	SCI11	(*(volatile struct st_sci0    __evenaccess *)0x8A160)
+#define	SCI12	(*(volatile struct st_sci12   __evenaccess *)0x8B300)
+#define	SMCI0	(*(volatile struct st_smci0   __evenaccess *)0x8A000)
+#define	SMCI1	(*(volatile struct st_smci0   __evenaccess *)0x8A020)
+#define	SMCI2	(*(volatile struct st_smci0   __evenaccess *)0x8A040)
+#define	SMCI3	(*(volatile struct st_smci0   __evenaccess *)0x8A060)
+#define	SMCI4	(*(volatile struct st_smci0   __evenaccess *)0x8A080)
+#define	SMCI5	(*(volatile struct st_smci0   __evenaccess *)0x8A0A0)
+#define	SMCI6	(*(volatile struct st_smci0   __evenaccess *)0x8A0C0)
+#define	SMCI7	(*(volatile struct st_smci7   __evenaccess *)0x8A0E0)
+#define	SMCI8	(*(volatile struct st_smci0   __evenaccess *)0x8A100)
+#define	SMCI9	(*(volatile struct st_smci0   __evenaccess *)0x8A120)
+#define	SMCI10	(*(volatile struct st_smci0   __evenaccess *)0x8A140)
+#define	SMCI11	(*(volatile struct st_smci0   __evenaccess *)0x8A160)
+#define	SMCI12	(*(volatile struct st_smci0   __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	TPU0	(*(volatile struct st_tpu0    __evenaccess *)0x88108)
+#define	TPU1	(*(volatile struct st_tpu1    __evenaccess *)0x88108)
+#define	TPU2	(*(volatile struct st_tpu2    __evenaccess *)0x8810A)
+#define	TPU3	(*(volatile struct st_tpu3    __evenaccess *)0x8810A)
+#define	TPU4	(*(volatile struct st_tpu4    __evenaccess *)0x8810C)
+#define	TPU5	(*(volatile struct st_tpu5    __evenaccess *)0x8810C)
+#define	TPU6	(*(volatile struct st_tpu0    __evenaccess *)0x88178)
+#define	TPU7	(*(volatile struct st_tpu1    __evenaccess *)0x88178)
+#define	TPU8	(*(volatile struct st_tpu2    __evenaccess *)0x8817A)
+#define	TPU9	(*(volatile struct st_tpu3    __evenaccess *)0x8817A)
+#define	TPU10	(*(volatile struct st_tpu4    __evenaccess *)0x8817C)
+#define	TPU11	(*(volatile struct st_tpu5    __evenaccess *)0x8817C)
+#define	TPUA	(*(volatile struct st_tpua    __evenaccess *)0x88100)
+#define	TPUB	(*(volatile struct st_tpub    __evenaccess *)0x88170)
+#define	USB		(*(volatile struct st_usb     __evenaccess *)0xA0400)
+#define	USB0	(*(volatile struct st_usb0    __evenaccess *)0xA0000)
+#define	USB1	(*(volatile struct st_usb1    __evenaccess *)0xA0200)
+#define	WDT		(*(volatile struct st_wdt     __evenaccess *)0x88020)
+#pragma bit_order
+#pragma packoption
+#endif
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/original_resetprg.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/original_resetprg.c
deleted file mode 100644
index 0404ac4063..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/original_resetprg.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*  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/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/platform.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/platform.h
new file mode 100644
index 0000000000..6a525384be
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/platform.h
@@ -0,0 +1,75 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name	   : platform.h
+* Version      : 1.20 
+* Description  : The user chooses which MCU and board they are developing for in this file. If the board you are using
+*                is not listed below, please add your own or use the default 'User Board'.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History : DD.MM.YYYY Version  Description
+*         : 30.11.2011 1.00     First Release
+*         : 13.01.2012 1.10     Moved from having platform defined using macro defintion, to having platform defined
+*                               by choosing an include path. This makes this file simpler and cleans up the issue
+*                               where HEW shows all header files for all platforms under 'Dependencies'.
+*         : 14.02.2012 1.20     Added RX210 BSP.
+***********************************************************************************************************************/
+
+#ifndef _PLATFORM_H_
+#define _PLATFORM_H_
+
+/***********************************************************************************************************************
+DEFINE YOUR SYSTEM - UNCOMMENT THE INCLUDE PATH FOR THE PLATFORM YOU ARE USING.
+***********************************************************************************************************************/
+/* RSKRX610 */
+//#include "./board/rskrx610/r_bsp.h"
+
+/* RSKRX62N */
+//#include "./board/rskrx62n/r_bsp.h"
+
+/* RSKRX62T */
+//#include "./board/rskrx62t/r_bsp.h"
+
+/* RDKRX62N */
+//#include "./board/rdkrx62n/r_bsp.h"
+
+/* RSKRX630 */
+//#include "./board/rskrx630/r_bsp.h"
+
+/* RSKRX63N */
+//#include "./board/rskrx63n/r_bsp.h"
+
+/* RDKRX63N */
+#include "./board/rdkrx63n/r_bsp.h"
+
+/* RSKRX210 */
+//#include "./board/rskrx210/r_bsp.h"
+
+/* User Board - Define your own board here. */
+//#include "./board/user/r_bsp.h"
+
+/***********************************************************************************************************************
+MAKE SURE AT LEAST ONE PLATFORM WAS DEFINED - DO NOT EDIT BELOW THIS POINT
+***********************************************************************************************************************/
+#ifndef PLATFORM_DEFINED
+#error  "Error - No platform defined in platform.h!"
+#endif
+
+#endif /* _PLATFORM_H_ */
+
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/resetprg.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/resetprg.c
deleted file mode 100644
index 9bf85976ad..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/resetprg.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*  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. 
-*
-*********************************************************************/
-/* Types used in this file. */
-#include 	"typedefine.h"
-
-/* Defines machine level functions used in this file */
-#include    <machine.h>
-
-/* Defines MCU configuration functions used in this file */
-#include    <_h_c_lib.h>
-
-/* Hardware definitions" */
-#include    "iodefine.h"
-
-/* Defines the size of the stack which configured in this file */
-#include    "stacksct.h"
-
-#define PSW_init  0x00010000
-#define FPSW_init 0x00000100
-
-extern void HardwareSetup( void );
-
-#pragma section ResetPRG
-#pragma entry PowerON_Reset_PC
-
-/* It is ok to use stack variables here because "#pragma entry" is used, so the
-stack is setup in the compiler generated prologue. */
-void PowerON_Reset_PC(void)
-{ 
-volatile unsigned int i;
-
-	set_intb(__sectop("C$VECT"));
-	set_fpsw(FPSW_init);
-
-    /* MCU boots using the LOCO, so turn the speed up before setting up the C
-	run-time environment.
-
-    Clock Description              Frequency
-    ----------------------------------------
-    Input Clock Frequency............  12 MHz
-    PLL frequency (x16).............. 192 MHz
-    Internal Clock Frequency.........  96 MHz    
-    Peripheral Clock Frequency.......  48 MHz
-    USB Clock Frequency..............  48 MHz
-    External Bus Clock Frequency.....  24 MHz */
-
-    /* Protect off. */
-    SYSTEM.PRCR.WORD = 0xA50B;			
-	
-    /* Uncomment if not using sub-clock */
-	//SYSTEM.SOSCCR.BYTE = 0x01;          /* stop sub-clock */
-    SYSTEM.SOSCCR.BYTE = 0x00;			/* Enable sub-clock for RTC */
-
-    /* Wait 131,072 cycles * 12 MHz = 10.9 ms */
-    SYSTEM.MOSCWTCR.BYTE = 0x0D;		
-
-    /* PLL wait is 4,194,304 cycles (default) * 192 MHz (12 MHz * 16) = 20.1 ms*/
-    SYSTEM.PLLWTCR.BYTE = 0x04;			
-
-    /* x16 @PLL */
-    SYSTEM.PLLCR.WORD = 0x0F00;			
-
-    /* EXTAL ON */
-    SYSTEM.MOSCCR.BYTE = 0x00;			
-
-    /* PLL ON */
-    SYSTEM.PLLCR2.BYTE = 0x00;			
-
-	for(i = 0;i< 0x168;i++)             
-    {
-        /* Wait over 12ms */
-        nop() ;
-	}
-
-    /* Setup system clocks
-    SCKCR - System Clock Control Register
-    b31:b28 FCK[3:0]  0x02 = Flash clock: PLL/4 = (192 / 4) = 48 MHz
-    b27:b24 ICK[3:0]  0x01 = System clock: PLL/2 = (192 / 2) = 96 MHz
-    b23     PSTOP1    0x00 = BCLK pin output is enabled
-    b19:b16 BCK[3:0]  0x03 = BCLK: PLL/8 = 24 MHz
-    b11:b8  PCKB[3:0] 0x02 = Peripheral clock B: PLL/4 = 48 MHz
-    */
-	SYSTEM.SCKCR.LONG = 0x21031222;		/* ICK=PLL/2,BCK,FCK,PCK=PLL/4 */
-
-    /* Setup IEBUS and USB clocks
-    SCKCR2 - System Clock Control Register 2 
-    b7:b4 UCK[3:0]   0x03 = USB clock is PLL/4 = 48 MHz
-    b3:b0 IEBCK[3:0] 0x01 = IE Bus clock is PLL/2 = 96 MHz
-    */
-    SYSTEM.SCKCR2.WORD = 0x0031;
-
-    /* ICLK, PCLKB, FCLK, BCLK, IECLK, and USBCLK all come from PLL circuit */
-    SYSTEM.SCKCR3.WORD = 0x0400;		
-
-    /* Protect on. */
-    SYSTEM.PRCR.WORD = 0xA500;
-
-    /* Initialize C runtime environment */
-	_INITSCT();
-
-	/* Setup the hardware for the RSK. */
-	HardwareSetup();
-    nop();
-
-	/* Set Ubit and Ibit for PSW. */
-	set_psw(PSW_init);
-
-	/* Call the application code. */
-	main();
-
-	/* Main should not return. */
-	brk();
-}
-
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/sbrk.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/sbrk.c
deleted file mode 100644
index 98e5bcbebf..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/sbrk.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#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/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/vecttbl.c b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/vecttbl.c
deleted file mode 100644
index d2dec0b3be..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/Renesas-Files/vecttbl.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*  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/RX600_RX63N-RDK_Renesas/RTOSDemo/include/lowsrc.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/lowsrc.h
deleted file mode 100644
index 4d2aabfc7d..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/lowsrc.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*  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/RX600_RX63N-RDK_Renesas/RTOSDemo/include/rskrx63ndef.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/rskrx63ndef.h
deleted file mode 100644
index 2291cb40e0..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/rskrx63ndef.h
+++ /dev/null
@@ -1,107 +0,0 @@
-
-/******************************************************************************
-* DISCLAIMER
-* Please refer to http://www.renesas.com/disclaimer
-******************************************************************************
-  Copyright (C) 2011. Renesas Electronics Corp., All Rights Reserved.
-*******************************************************************************
-* File Name    : rsksh7216.h
-* Version      : 1.00
-* Description  : RSK RX63N board specific settings
-******************************************************************************
-* History : DD.MM.YYYY Version Description
-*         : 12.09.2011 1.00    First Release
-******************************************************************************/
-
-#ifndef RSKRX63N_H
-#define RSKRX63N_H
-
-/******************************************************************************
-Includes   <System Includes> , "Project Includes"
-******************************************************************************/
-
-/******************************************************************************
-Typedef definitions
-******************************************************************************/
-
-/******************************************************************************
-Macro definitions
-******************************************************************************/
-
-/* System Clock Settings */
-
-/* DETAIL THIS LATER !!!! */
-
-#define     XTAL_FREQUENCY  (12000000L)	
-#define     PLL_MUL         (16)
-#define     PLL_INPUT_FREQ_DIV         (1)
-#define     ICLK_DIV        (2)
-#define     PCLK_DIV        (4)
-#define     BCLK_DIV        (4)
-#define     PLL_FREQUENCY   (XTAL_FREQUENCY * (PLL_MUL / PLL_INPUT_FREQ_DIV))	
-#define     ICLK_FREQUENCY  (PLL_FREQUENCY / ICLK_DIV)
-#define     PCLK_FREQUENCY  (PLL_FREQUENCY / PCLK_DIV)
-#define     BCLK_FREQUENCY  (PLL_FREQUENCY / BCLK_DIV)
-
-#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			PORT0.PODR.BIT.B3
-#define		LED1			PORT0.PODR.BIT.B5
-#define		LED2			PORT1.PODR.BIT.B0
-#define		LED3			PORT1.PODR.BIT.B1
-//#define	    LED4			PORT6.DR.BIT.B0
-//#define	    LED5			PORT7.DR.BIT.B3
-#define		LED0_PDR        PORT0.PDR.BIT.B3
-#define		LED1_PDR        PORT0.PDR.BIT.B5
-#define		LED2_PDR        PORT1.PDR.BIT.B0
-#define		LED3_PDR        PORT1.PDR.BIT.B1
-//#define	    LED4_DDR        PORT6.DDR.BIT.B0
-//#define	    LED5_DDR        PORT7.DDR.BIT.B3
-
-/* 2x8 segment LCD */
-#if 0
-#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
-#endif
-
-
-/******************************************************************************
-Variable Externs
-******************************************************************************/
-
-/******************************************************************************
-Functions Prototypes
-******************************************************************************/
-
-
-
-/* RSKRX63N_H */
-#endif		
-
diff --git a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/stacksct.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/stacksct.h
deleted file mode 100644
index 1d5db830db..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/stacksct.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*  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/RX600_RX63N-RDK_Renesas/RTOSDemo/include/typedefine.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/typedefine.h
deleted file mode 100644
index d3ad67fec7..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/typedefine.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*  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/RX600_RX63N-RDK_Renesas/RTOSDemo/include/vect.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/vect.h
deleted file mode 100644
index a6a48946bd..0000000000
--- a/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/include/vect.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*  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/RX600_RX63N-RDK_Renesas/RTOSDemo/r_bsp_config.h b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/r_bsp_config.h
new file mode 100644
index 0000000000..0b00618efc
--- /dev/null
+++ b/Demo/RX600_RX63N-RDK_Renesas/RTOSDemo/r_bsp_config.h
@@ -0,0 +1,149 @@
+/***********************************************************************************************************************
+* DISCLAIMER
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. No 
+* other uses are authorized. This software is owned by Renesas Electronics Corporation 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 ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES 
+* SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO 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) 2012 Renesas Electronics Corporation. All rights reserved.    
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name    : r_bsp_config_reference.c
+* Device(s)    : RX63x
+* Description  : The file r_bsp_config.h is used to configure your BSP. r_bsp_config.h should be included
+*                somewhere in your package so that the r_bsp code has access to it. This file (r_bsp_config_reference.h)
+*                is just a reference file that the user can use to make their own r_bsp_config.h file.
+************************************************************************************************************************
+* History : DD.MM.YYYY Version Description           
+*         : 13.03.2012 1.00    First Release            
+***********************************************************************************************************************/
+#ifndef R_BSP_CONFIG_REF_HEADER_FILE
+#define R_BSP_CONFIG_REF_HEADER_FILE
+
+/***********************************************************************************************************************
+Configuration Options
+***********************************************************************************************************************/
+/* The 'BSP_DECLARE_STACK' macro is checked so that the stack is only declared in one place (resetprg.c). Every time a 
+   '#pragma stacksize' is encountered, the stack size is increased. This prevents multiplication of stack size. */
+#if defined(BSP_DECLARE_STACK)
+/* User Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */
+#pragma stacksize su=0x1000
+/* Interrupt Stack size in bytes. The Renesas RX toolchain sets the stack size using the #pragma stacksize directive. */
+#pragma stacksize si=0x400
+#endif
+
+/* Heap size in bytes. */
+#define HEAP_BYTES              (0x400)
+
+/* After reset MCU will operate in Supervisor mode. To switch to User mode, set this macro to '1'. For more information
+   on the differences between these 2 modes see the CPU >> Processor Mode section of your MCU's hardware manual.
+   0 = Stay in Supervisor mode.
+   1 = Switch to User mode.
+*/
+#define RUN_IN_USER_MODE        (0)
+
+/* To get into User Boot Mode the user must control some pins on the MCU and also set some values in ROM. These values
+   in ROM are described in the Option-Setting Memory section of the hardware manual. This macro sets these values so 
+   that User Boot Mode can be used. The user is still responsible for setting the MCU pins appropriately.
+   0 = Single-Chip or USB Boot Mode
+   1 = User Boot Mode
+*/
+#define USER_BOOT_ENABLE        (0)
+
+/* Set your desired ID code. NOTE, leave at the default (all 0xFF's) if you do not wish to use an ID code. If you set 
+   this value and program it into the MCU then you will need to remember the ID code because the debugger will ask for 
+   it when trying to connect. Note that the E1/E20 will ignore the ID code when programming the MCU during debugging.
+   If you set this value and then forget it then you can clear the ID code by connecting up in serial boot mode using 
+   FDT. The ID Code is 16 bytes long. The macro below define the ID Code in 4-byte sections. */
+/* Lowest 4-byte section, address 0xFFFFFFA0. From MSB to LSB: Control Code, ID code 1, ID code 2, ID code 3. */
+#define ID_CODE_LONG_1          (0xFFFFFFFF)
+/* 2nd ID Code section, address 0xFFFFFFA4. From MSB to LSB: ID code 4, ID code 5, ID code 6, ID code 7. */
+#define ID_CODE_LONG_2          (0xFFFFFFFF)
+/* 3rd ID Code section, address 0xFFFFFFA8. From MSB to LSB: ID code 8, ID code 9, ID code 10, ID code 11. */
+#define ID_CODE_LONG_3          (0xFFFFFFFF)
+/* 4th ID Code section, address 0xFFFFFFAC. From MSB to LSB: ID code 12, ID code 13, ID code 14, ID code 15. */
+#define ID_CODE_LONG_4          (0xFFFFFFFF)
+
+/* This macro lets other modules no if a RTOS is being used.
+   0 = RTOS is not used. 
+   1 = RTOS is used.
+*/
+#define RTOS_USED               (0)
+
+/* Clock source select (CKSEL).
+   0 = Low Speed On-Chip Oscillator  (LOCO)
+   1 = High Speed On-Chip Oscillator (HOCO)
+   2 = Main Clock Oscillator  
+   3 = Sub-Clock Oscillator
+   4 = PLL Circuit
+*/ 
+#define CLOCK_SOURCE            (4)
+
+/* Clock configuration options.
+   The input clock frequency is specified and then the system clocks are set by specifying the multipliers used. The
+   multiplier settings are used to set the clock registers in resetprg.c. If a 12MHz clock is used and the 
+   ICLK is 96MHz, PCLKA is 48MHz, PCLKB is 48MHz, FCLK is 48MHz, USB Clock is 48MHz, and BCLK is 12MHz then the 
+   settings would be:
+
+   XTAL_HZ = 12000000
+   PLL_DIV = 1  (no division)
+   PLL_MUL = 16 (12MHz x 16 = 192MHz)
+   ICK_DIV =  2      : System Clock (ICLK)        = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / ICK_DIV)  = 96MHz
+   PCKA_DIV = 4      : Peripheral Clock A (PCLKA) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKA_DIV) = 48MHz
+   PCKB_DIV = 4      : Peripheral Clock B (PCLKB) = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / PCKB_DIV) = 48MHz
+   FCK_DIV =  4      : Flash IF Clock (FCLK)      = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / FCK_DIV)  = 48MHz
+   BCK_DIV =  8      : External Bus Clock (BCK)   = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / BCK_DIV)  = 24MHz
+   UCK_DIV =  4      : USB Clock (UCLK)           = (((XTAL_HZ/PLL_DIV) * PLL_MUL) / UCK_DIV)  = 48MHz
+*/
+/* XTAL - Input clock frequency in Hz */
+#define XTAL_HZ                 (12000000)
+/* PLL Input Frequency Divider Select (PLIDIV). 
+   Available divisors = /1 (no division), /2, /4
+*/
+#define PLL_DIV                 (1)
+/* PLL Frequency Multiplication Factor Select (STC). 
+   Available multipliers = x8, x10, x12, x16, x20, x24, x25, x50
+*/
+#define PLL_MUL                 (16)
+/* System Clock Divider (ICK).
+   Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64
+*/
+#define ICK_DIV                 (2)
+/* Peripheral Module Clock A Divider (PCKA). 
+   Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64
+*/
+#define PCKA_DIV                (4)
+/* Peripheral Module Clock B Divider (PCKB). 
+   Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64
+*/
+#define PCKB_DIV                (4)
+/* External Bus Clock Divider (BCK). 
+   Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64
+*/
+#define BCK_DIV                 (8)
+/* Flash IF Clock Divider (FCK). 
+   Available divisors = /1 (no division), /2, /4, /8, /16, /32, /64
+*/
+#define FCK_DIV                 (4)
+/* IEBUS Clock Divider Select. 
+   Available divisors = /1 (no division), /2, /4, /6, /8, /16, /32, /64
+*/
+#define IEBCK_DIV               (8)
+/* USB Clock Divider Select. 
+   Available divisors = /3, /4
+*/
+#define UCK_DIV                 (4)
+
+#endif /* R_BSP_CONFIG_REF_HEADER_FILE */
+
+
+