/************************************************************************/
/*      SH7020 Include File                                Ver 1.3      */
/************************************************************************/
struct st_sci {                                         /* struct SCI   */
              union {                                   /* SMR          */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char CA  :1;        /*    C/A       */
                           unsigned char CHR :1;        /*    CHR       */
                           unsigned char PE  :1;        /*    PE        */
                           unsigned char OE  :1;        /*    O/E       */
                           unsigned char STOP:1;        /*    STOP      */
                           unsigned char MP  :1;        /*    MP        */
                           unsigned char CKS :2;        /*    CKS       */
                           }      BIT;                  /*              */
                    }           SMR;                    /*              */
              unsigned char     BRR;                    /* BRR          */
              union {                                   /* SCR          */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char TIE :1;        /*    TIE       */
                           unsigned char RIE :1;        /*    RIE       */
                           unsigned char TE  :1;        /*    TE        */
                           unsigned char RE  :1;        /*    RE        */
                           unsigned char MPIE:1;        /*    MPIE      */
                           unsigned char TEIE:1;        /*    TEIE      */
                           unsigned char CKE :2;        /*    CKE       */
                           }      BIT;                  /*              */
                    }           SCR;                    /*              */
              unsigned char     TDR;                    /* TDR          */
              union {                                   /* SSR          */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char TDRE:1;        /*    TDRE      */
                           unsigned char RDRF:1;        /*    RDRF      */
                           unsigned char ORER:1;        /*    ORER      */
                           unsigned char FER :1;        /*    FER       */
                           unsigned char PER :1;        /*    PER       */
                           unsigned char TEND:1;        /*    TEND      */
                           unsigned char MPB :1;        /*    MPB       */
                           unsigned char MPBT:1;        /*    MPBT      */
                           }      BIT;                  /*              */
                    }           SSR;                    /*              */
              unsigned char     RDR;                    /* RDR          */
              char              wk[2];                  /*              */
};                                                      /*              */
struct st_itu {                                         /* struct ITU   */
              union {                                   /* TSTR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char     :3;        /*              */
                           unsigned char STR4:1;        /*    STR4      */
                           unsigned char STR3:1;        /*    STR3      */
                           unsigned char STR2:1;        /*    STR2      */
                           unsigned char STR1:1;        /*    STR1      */
                           unsigned char STR0:1;        /*    STR0      */
                           }      BIT;                  /*              */
                    }           TSTR;                   /*              */
              union {                                   /* TSNC         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char      :3;       /*              */
                           unsigned char SYNC4:1;       /*    SYNC4     */
                           unsigned char SYNC3:1;       /*    SYNC3     */
                           unsigned char SYNC2:1;       /*    SYNC2     */
                           unsigned char SYNC1:1;       /*    SYNC1     */
                           unsigned char SYNC0:1;       /*    SYNC0     */
                           }      BIT;                  /*              */
                    }           TSNC;                   /*              */
              union {                                   /* TMDR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char     :1;        /*              */
                           unsigned char MDF :1;        /*    MDF       */
                           unsigned char FDIR:1;        /*    FDIR      */
                           unsigned char PWM4:1;        /*    PWM4      */
                           unsigned char PWM3:1;        /*    PWM3      */
                           unsigned char PWM2:1;        /*    PWM2      */
                           unsigned char PWM1:1;        /*    PWM1      */
                           unsigned char PWM0:1;        /*    PWM0      */
                           }      BIT;                  /*              */
                    }           TMDR;                   /*              */
              union {                                   /* TFCR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char     :2;        /*              */
                           unsigned char CMD :2;        /*    CMD       */
                           unsigned char BFB4:1;        /*    BFB4      */
                           unsigned char BFA4:1;        /*    BFA4      */
                           unsigned char BFB3:1;        /*    BFB3      */
                           unsigned char BFA3:1;        /*    BFA3      */
                           }      BIT;                  /*              */
                    }           TFCR;                   /*              */
              char              wk[45];                 /*              */
              union {                                   /* TOCR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char     :6;        /*              */
                           unsigned char OLS4:1;        /*    OLS4      */
                           unsigned char OLS3:1;        /*    OLS3      */
                           }      BIT;                  /*              */
                    }           TOCR;                   /*              */
};                                                      /*              */
struct st_itu0 {                                        /* struct ITU0  */
               union {                                  /* TCR          */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char     :1;       /*              */
                            unsigned char CCLR:2;       /*    CCLR      */
                            unsigned char CKEG:2;       /*    CKEG      */
                            unsigned char TPSC:3;       /*    TPSC      */
                            }      BIT;                 /*              */
                     }          TCR;                    /*              */
               union {                                  /* TIOR         */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char    :1;        /*              */
                            unsigned char IOB:3;        /*    IOB       */
                            unsigned char    :1;        /*              */
                            unsigned char IOA:3;        /*    IOA       */
                            }      BIT;                 /*              */
                     }          TIOR;                   /*              */
               union {                                  /* TIER         */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char      :5;      /*              */
                            unsigned char OVIE :1;      /*    OVIE      */
                            unsigned char IMIEB:1;      /*    IMIEB     */
                            unsigned char IMIEA:1;      /*    IMIEA     */
                            }      BIT;                 /*              */
                     }          TIER;                   /*              */
               union {                                  /* TSR          */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char     :5;       /*              */
                            unsigned char OVF :1;       /*    OVF       */
                            unsigned char IMFB:1;       /*    IMFB      */
                            unsigned char IMFA:1;       /*    IMFA      */
                            }      BIT;                 /*              */
                     }          TSR;                    /*              */
               unsigned short   TCNT;                   /* TCNT         */
               unsigned short   GRA;                    /* GRA          */
               unsigned short   GRB;                    /* GRB          */
};                                                      /*              */
struct st_itu3 {                                        /* struct ITU3  */
               union {                                  /* TCR          */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char     :1;       /*              */
                            unsigned char CCLR:2;       /*    CCLR      */
                            unsigned char CKEG:2;       /*    CKEG      */
                            unsigned char TPSC:3;       /*    TPSC      */
                            }      BIT;                 /*              */
                     }          TCR;                    /*              */
               union {                                  /* TIOR         */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char    :1;        /*              */
                            unsigned char IOB:3;        /*    IOB       */
                            unsigned char    :1;        /*              */
                            unsigned char IOA:3;        /*    IOA       */
                            }      BIT;                 /*              */
                     }          TIOR;                   /*              */
               union {                                  /* TIER         */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char      :5;      /*              */
                            unsigned char OVIE :1;      /*    OVIE      */
                            unsigned char IMIEB:1;      /*    IMIEB     */
                            unsigned char IMIEA:1;      /*    IMIEA     */
                            }      BIT;                 /*              */
                     }          TIER;                   /*              */
               union {                                  /* TSR          */
                     unsigned char BYTE;                /*  Byte Access */
                     struct {                           /*  Bit  Access */
                            unsigned char     :5;       /*              */
                            unsigned char OVF :1;       /*    OVF       */
                            unsigned char IMFB:1;       /*    IMFB      */
                            unsigned char IMFA:1;       /*    IMFA      */
                            }      BIT;                 /*              */
                     }          TSR;                    /*              */
               unsigned short   TCNT;                   /* TCNT         */
               unsigned short   GRA;                    /* GRA          */
               unsigned short   GRB;                    /* GRB          */
               unsigned short   BRA;                    /* BRA          */
               unsigned short   BRB;                    /* BRB          */
               char             wk[2];                  /*              */
};                                                      /*              */
struct st_dmac {                                        /* struct DMAC  */
               union {                                  /* DMAOR        */
                     unsigned short  WORD;              /*  Word Access */
                     struct {                           /*  Bit  Access */
                            unsigned char      :6;      /*              */
                            unsigned char  PR  :2;      /*    PR        */
                            unsigned char      :5;      /*              */
                            unsigned char  AE  :1;      /*    AE        */
                            unsigned char  NMIF:1;      /*    NMIF      */
                            unsigned char  DME :1;      /*    DME       */
                            }        BIT;               /*              */
                     }          DMAOR;                  /*              */
};                                                      /*              */
struct st_dmac0 {                                       /* struct DMAC0 */
                void           *SAR;                    /* SAR          */
                void           *DAR;                    /* DAR          */
                char            wk1[2];                 /*              */
                unsigned short  TCR;                    /* TCR          */
                char            wk2[2];                 /*              */
                union {                                 /* CHCR         */
                      unsigned short WORD;              /*  Word Access */
                      struct {                          /*  Bit  Access */
                             unsigned char  DM:2;       /*    DM        */
                             unsigned char  SM:2;       /*    SM        */
                             unsigned char  RS:4;       /*    RS        */
                             unsigned char  AM:1;       /*    AM        */
                             unsigned char  AL:1;       /*    AL        */
                             unsigned char  DS:1;       /*    DS        */
                             unsigned char  TM:1;       /*    TM        */
                             unsigned char  TS:1;       /*    TS        */
                             unsigned char  IE:1;       /*    IE        */
                             unsigned char  TE:1;       /*    TE        */
                             unsigned char  DE:1;       /*    DE        */
                             }       BIT;               /*              */
                      }         CHCR;                   /*              */
};                                                      /*              */
struct st_intc {                                        /* struct INTC  */
               union {                                  /* IPRA         */
                     unsigned short  WORD;              /*  Word Access */
                     struct {                           /*  Bit  Access */
                            unsigned char  UU:4;        /*    IRQ0      */
                            unsigned char  UL:4;        /*    IRQ1      */
                            unsigned char  LU:4;        /*    IRQ2      */
                            unsigned char  LL:4;        /*    IRQ3      */
                            }        BIT;               /*              */
                     }          IPRA;                   /*              */
               union {                                  /* IPRB         */
                     unsigned short  WORD;              /*  Word Access */
                     struct {                           /*  Bit  Access */
                            unsigned char  UU:4;        /*    IRQ4      */
                            unsigned char  UL:4;        /*    IRQ5      */
                            unsigned char  LU:4;        /*    IRQ6      */
                            unsigned char  LL:4;        /*    IRQ7      */
                            }        BIT;               /*              */
                     }          IPRB;                   /*              */
               union {                                  /* IPRC         */
                     unsigned short  WORD;              /*  Word Access */
                     struct {                           /*  Bit  Access */
                            unsigned char  UU:4;        /*    DMAC0,1   */
                            unsigned char  UL:4;        /*    DMAC2,3   */
                            unsigned char  LU:4;        /*    ITU0      */
                            unsigned char  LL:4;        /*    ITU1      */
                            }        BIT;               /*              */
                     }          IPRC;                   /*              */
               union {                                  /* IPRD         */
                     unsigned short  WORD;              /*  Word Access */
                     struct {                           /*  Bit  Access */
                            unsigned char  UU:4;        /*    ITU2      */
                            unsigned char  UL:4;        /*    ITU3      */
                            unsigned char  LU:4;        /*    ITU4      */
                            unsigned char  LL:4;        /*    SCI0      */
                            }        BIT;               /*              */
                     }          IPRD;                   /*              */
               union {                                  /* IPRE         */
                     unsigned short  WORD;              /*  Word Access */
                     struct {                           /*  Bit  Access */
                            unsigned char  UU:4;        /*    SCI1      */
                            unsigned char  UL:4;        /*    PRT       */
                            unsigned char  LU:4;        /*    WDT,REF   */
                            }        BIT;               /*              */
                     }          IPRE;                   /*              */
               union {                                  /* ICR          */
                     unsigned short  WORD;              /*  Word Access */
                     struct {                           /*  Bit  Access */
                            unsigned char  NMIL :1;     /*    NMIL      */
                            unsigned char       :6;     /*              */
                            unsigned char  NMIE :1;     /*    NMIE      */
                            unsigned char  IRQ0S:1;     /*    IRQ0S     */
                            unsigned char  IRQ1S:1;     /*    IRQ1S     */
                            unsigned char  IRQ2S:1;     /*    IRQ2S     */
                            unsigned char  IRQ3S:1;     /*    IRQ3S     */
                            unsigned char  IRQ4S:1;     /*    IRQ4S     */
                            unsigned char  IRQ5S:1;     /*    IRQ5S     */
                            unsigned char  IRQ6S:1;     /*    IRQ6S     */
                            unsigned char  IRQ7S:1;     /*    IRQ7S     */
                            }        BIT;               /*              */
                     }          ICR;                    /*              */
};                                                      /*              */
struct st_ubc {                                         /* struct UBC   */
              void             *BAR;                    /* BAR          */
              unsigned long     BAMR;                   /* BAMR         */
              union {                                   /* BBR          */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char    :8;         /*              */
                           unsigned char  CD:2;         /*    CD        */
                           unsigned char  ID:2;         /*    ID        */
                           unsigned char  RW:2;         /*    RW        */
                           unsigned char  SZ:2;         /*    SZ        */
                           }         BIT;               /*              */
                    }           BBR;                    /*              */
};                                                      /*              */
struct st_bsc {                                         /* struct BSC   */
              union {                                   /* BCR          */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  DRAME:1;      /*    DRAME     */
                           unsigned char  IOE  :1;      /*    IOE       */
                           unsigned char  WARP :1;      /*    WARP      */
                           unsigned char  RDDTY:1;      /*    RDDTY     */
                           unsigned char  BAS  :1;      /*    BAS       */
                           }         BIT;               /*              */
                    }           BCR;                    /*              */
              union {                                   /* WCR1         */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  RW7:1;        /*    RW7       */
                           unsigned char  RW6:1;        /*    RW6       */
                           unsigned char  RW5:1;        /*    RW5       */
                           unsigned char  RW4:1;        /*    RW4       */
                           unsigned char  RW3:1;        /*    RW3       */
                           unsigned char  RW2:1;        /*    RW2       */
                           unsigned char  RW1:1;        /*    RW1       */
                           unsigned char  RW0:1;        /*    RW0       */
                           unsigned char     :6;        /*              */
                           unsigned char  WW1:1;        /*    WW1       */
                           }         BIT;               /*              */
                    }           WCR1;                   /*              */
              union {                                   /* WCR2         */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  DRW7:1;       /*    DRW7      */
                           unsigned char  DRW6:1;       /*    DRW6      */
                           unsigned char  DRW5:1;       /*    DRW5      */
                           unsigned char  DRW4:1;       /*    DRW4      */
                           unsigned char  DRW3:1;       /*    DRW3      */
                           unsigned char  DRW2:1;       /*    DRW2      */
                           unsigned char  DRW1:1;       /*    DRW1      */
                           unsigned char  DRW0:1;       /*    DRW0      */
                           unsigned char  DWW7:1;       /*    DWW7      */
                           unsigned char  DWW6:1;       /*    DWW6      */
                           unsigned char  DWW5:1;       /*    DWW5      */
                           unsigned char  DWW4:1;       /*    DWW4      */
                           unsigned char  DWW3:1;       /*    DWW3      */
                           unsigned char  DWW2:1;       /*    DWW2      */
                           unsigned char  DWW1:1;       /*    DWW1      */
                           unsigned char  DWW0:1;       /*    DWW0      */
                           }         BIT;               /*              */
                    }           WCR2;                   /*              */
              union {                                   /* WCR3         */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  WPU  :1;      /*    WPU       */
                           unsigned char  A02LW:2;      /*    A02LW     */
                           unsigned char  A6LW :2;      /*    A6LW      */
                           }         BIT;               /*              */
                    }           WCR3;                   /*              */
              union {                                   /* DCR          */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  CW2 :1;       /*    CW2       */
                           unsigned char  RASD:1;       /*    RASD      */
                           unsigned char  TPC :1;       /*    TPC       */
                           unsigned char  BE  :1;       /*    BE        */
                           unsigned char  CDTY:1;       /*    CDTY      */
                           unsigned char  MXE :1;       /*    MXE       */
                           unsigned char  MXC :2;       /*    MXC       */
                           }         BIT;               /*              */
                    }           DCR;                    /*              */
              union {                                   /* PCR          */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  PEF :1;       /*    PEF       */
                           unsigned char  PFRC:1;       /*    PFRC      */
                           unsigned char  PEO :1;       /*    PEO       */
                           unsigned char  PCHK:2;       /*    PCHK      */
                           }         BIT;               /*              */
                    }           PCR;                    /*              */
              union {                                   /* RCR          */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char       :8;      /*              */
                           unsigned char  RFSHE:1;      /*    RFSHE     */
                           unsigned char  RMODE:1;      /*    RMODE     */
                           unsigned char  RLW  :2;      /*    RLW       */
                           }         BIT;               /*              */
                    }           RCR;                    /*              */
              union {                                   /* RTCSR        */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char      :8;       /*              */
                           unsigned char  CMF :1;       /*    CMF       */
                           unsigned char  CMIE:1;       /*    CMIE      */
                           unsigned char  CKS :3;       /*    CKS       */
                           }         BIT;               /*              */
                    }           RTCSR;                  /*              */
              unsigned short    RTCNT;                  /* RTCNT        */
              unsigned short    RTCOR;                  /* RTCOR        */
};                                                      /*              */
union un_sbycr {                                        /* union SBYCR  */
               unsigned char    BYTE;                   /*  Byte Access */
               struct {                                 /*  Bit  Access */
                      unsigned char SBY:1;              /*    SBY       */
                      unsigned char HIZ:1;              /*    HIZ       */
                      }         BIT;                    /*              */
};                                                      /*              */
struct st_pa {                                          /* struct PA    */
             union {                                    /* PADR         */
                   unsigned short    WORD;              /*  Word Access */
                   struct {                             /*  Byte Access */
                          unsigned char  H;             /*    High      */
                          unsigned char  L;             /*    Low       */
                          }          BYTE;              /*              */
                   struct {                             /*  Bit  Access */
                          unsigned char  B15:1;         /*    Bit 15    */
                          unsigned char  B14:1;         /*    Bit 14    */
                          unsigned char  B13:1;         /*    Bit 13    */
                          unsigned char  B12:1;         /*    Bit 12    */
                          unsigned char  B11:1;         /*    Bit 11    */
                          unsigned char  B10:1;         /*    Bit 10    */
                          unsigned char  B9 :1;         /*    Bit  9    */
                          unsigned char  B8 :1;         /*    Bit  8    */
                          unsigned char  B7 :1;         /*    Bit  7    */
                          unsigned char  B6 :1;         /*    Bit  6    */
                          unsigned char  B5 :1;         /*    Bit  5    */
                          unsigned char  B4 :1;         /*    Bit  4    */
                          unsigned char  B3 :1;         /*    Bit  3    */
                          unsigned char  B2 :1;         /*    Bit  2    */
                          unsigned char  B1 :1;         /*    Bit  1    */
                          unsigned char  B0 :1;         /*    Bit  0    */
                          }          BIT;               /*              */
                   }            DR;                     /*              */
};                                                      /*              */
struct st_pfc {                                         /* struct PFC   */
              union {                                   /* PAIOR        */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  B15:1;        /*    Bit 15    */
                           unsigned char  B14:1;        /*    Bit 14    */
                           unsigned char  B13:1;        /*    Bit 13    */
                           unsigned char  B12:1;        /*    Bit 12    */
                           unsigned char  B11:1;        /*    Bit 11    */
                           unsigned char  B10:1;        /*    Bit 10    */
                           unsigned char  B9 :1;        /*    Bit  9    */
                           unsigned char  B8 :1;        /*    Bit  8    */
                           unsigned char  B7 :1;        /*    Bit  7    */
                           unsigned char  B6 :1;        /*    Bit  6    */
                           unsigned char  B5 :1;        /*    Bit  5    */
                           unsigned char  B4 :1;        /*    Bit  4    */
                           unsigned char  B3 :1;        /*    Bit  3    */
                           unsigned char  B2 :1;        /*    Bit  2    */
                           unsigned char  B1 :1;        /*    Bit  1    */
                           unsigned char  B0 :1;        /*    Bit  0    */
                           }         BIT;               /*              */
              }                 PAIOR;                  /*              */
              union {                                   /* PBIOR        */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  B15:1;        /*    Bit 15    */
                           unsigned char  B14:1;        /*    Bit 14    */
                           unsigned char  B13:1;        /*    Bit 13    */
                           unsigned char  B12:1;        /*    Bit 12    */
                           unsigned char  B11:1;        /*    Bit 11    */
                           unsigned char  B10:1;        /*    Bit 10    */
                           unsigned char  B9 :1;        /*    Bit  9    */
                           unsigned char  B8 :1;        /*    Bit  8    */
                           unsigned char  B7 :1;        /*    Bit  7    */
                           unsigned char  B6 :1;        /*    Bit  6    */
                           unsigned char  B5 :1;        /*    Bit  5    */
                           unsigned char  B4 :1;        /*    Bit  4    */
                           unsigned char  B3 :1;        /*    Bit  3    */
                           unsigned char  B2 :1;        /*    Bit  2    */
                           unsigned char  B1 :1;        /*    Bit  1    */
                           unsigned char  B0 :1;        /*    Bit  0    */
                           }         BIT;               /*              */
              }                 PBIOR;                  /*              */
              union {                                   /* PACR1        */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  MD15:2;       /*    PA15MD    */
                           unsigned char  MD14:2;       /*    PA14MD    */
                           unsigned char  MD13:2;       /*    PA13MD    */
                           unsigned char  MD12:2;       /*    PA12MD    */
                           unsigned char  MD11:2;       /*    PA11MD    */
                           unsigned char  MD10:2;       /*    PA10MD    */
                           unsigned char  MD9 :2;       /*    PA9MD     */
                           unsigned char      :1;       /*              */
                           unsigned char  MD8 :1;       /*    PA8MD     */
                           }         BIT;               /*              */
              }                 PACR1;                  /*              */
              union {                                   /* PACR2        */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char     :1;        /*              */
                           unsigned char  MD7:1;        /*    PA7MD     */
                           unsigned char     :1;        /*              */
                           unsigned char  MD6:1;        /*    PA6MD     */
                           unsigned char     :1;        /*              */
                           unsigned char  MD5:1;        /*    PA5MD     */
                           unsigned char     :1;        /*              */
                           unsigned char  MD4:1;        /*    PA4MD     */
                           unsigned char  MD3:2;        /*    PA3MD     */
                           unsigned char  MD2:2;        /*    PA2MD     */
                           unsigned char  MD1:2;        /*    PA1MD     */
                           unsigned char  MD0:2;        /*    PA0MD     */
                           }         BIT;               /*              */
              }                 PACR2;                  /*              */
              union {                                   /* PBCR1        */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  MD15:2;       /*    PB15MD    */
                           unsigned char  MD14:2;       /*    PB14MD    */
                           unsigned char  MD13:2;       /*    PB13MD    */
                           unsigned char  MD12:2;       /*    PB12MD    */
                           unsigned char  MD11:2;       /*    PB11MD    */
                           unsigned char  MD10:2;       /*    PB10MD    */
                           unsigned char  MD9 :2;       /*    PB9MD     */
                           unsigned char  MD8 :2;       /*    PB8MD     */
                           }         BIT;               /*              */
              }                 PBCR1;                  /*              */
              union {                                   /* PBCR2        */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  MD7:2;        /*    PB7MD     */
                           unsigned char  MD6:2;        /*    PB6MD     */
                           unsigned char  MD5:2;        /*    PB5MD     */
                           unsigned char  MD4:2;        /*    PB4MD     */
                           unsigned char  MD3:2;        /*    PB3MD     */
                           unsigned char  MD2:2;        /*    PB2MD     */
                           unsigned char  MD1:2;        /*    PB1MD     */
                           unsigned char  MD0:2;        /*    PB0MD     */
                           }         BIT;               /*              */
              }                 PBCR2;                  /*              */
              char              wk[30];                 /*              */
              union {                                   /* CASCR        */
                    unsigned short   WORD;              /*  Word Access */
                    struct {                            /*  Bit  Access */
                           unsigned char  CASHMD:2;     /*    CASHMD    */
                           unsigned char  CASLMD:2;     /*    CASLMD    */
                           }         BIT;               /*              */
              }                 CASCR;                  /*              */
};                                                      /*              */
struct st_tpc {                                         /* struct TPC   */
              union {                                   /* TPMR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char      :4;       /*              */
                           unsigned char G3NOV:1;       /*    G3NOV     */
                           unsigned char G2NOV:1;       /*    G2NOV     */
                           unsigned char G1NOV:1;       /*    G1NOV     */
                           unsigned char G0NOV:1;       /*    G0NOV     */
                           }      BIT;                  /*              */
                    }           TPMR;                   /*              */
              union {                                   /* TPCR         */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char G3CMS:2;       /*    G3CMS     */
                           unsigned char G2CMS:2;       /*    G2CMS     */
                           unsigned char G1CMS:2;       /*    G1CMS     */
                           unsigned char G0CMS:2;       /*    G0CMS     */
                           }      BIT;                  /*              */
                    }           TPCR;                   /*              */
              union {                                   /* NDERB        */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B15:1;         /*    NDER15    */
                           unsigned char B14:1;         /*    NDER14    */
                           unsigned char B13:1;         /*    NDER13    */
                           unsigned char B12:1;         /*    NDER12    */
                           unsigned char B11:1;         /*    NDER11    */
                           unsigned char B10:1;         /*    NDER10    */
                           unsigned char B9 :1;         /*    NDER9     */
                           unsigned char B8 :1;         /*    NDER8     */
                           }      BIT;                  /*              */
                    }           NDERB;                  /*              */
              union {                                   /* NDERA        */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B7:1;          /*    NDER7     */
                           unsigned char B6:1;          /*    NDER6     */
                           unsigned char B5:1;          /*    NDER5     */
                           unsigned char B4:1;          /*    NDER4     */
                           unsigned char B3:1;          /*    NDER3     */
                           unsigned char B2:1;          /*    NDER2     */
                           unsigned char B1:1;          /*    NDER1     */
                           unsigned char B0:1;          /*    NDER0     */
                           }      BIT;                  /*              */
                    }           NDERA;                  /*              */
              union {                                   /* NDRB (H'F4)  */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B15:1;         /*    NDR15     */
                           unsigned char B14:1;         /*    NDR14     */
                           unsigned char B13:1;         /*    NDR13     */
                           unsigned char B12:1;         /*    NDR12     */
                           unsigned char B11:1;         /*    NDR11     */
                           unsigned char B10:1;         /*    NDR10     */
                           unsigned char B9 :1;         /*    NDR9      */
                           unsigned char B8 :1;         /*    NDR8      */
                           }      BIT;                  /*              */
                    }           NDRB1;                  /*              */
              union {                                   /* NDRA (H'F5)  */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char B7:1;          /*    NDR7      */
                           unsigned char B6:1;          /*    NDR6      */
                           unsigned char B5:1;          /*    NDR5      */
                           unsigned char B4:1;          /*    NDR4      */
                           unsigned char B3:1;          /*    NDR3      */
                           unsigned char B2:1;          /*    NDR2      */
                           unsigned char B1:1;          /*    NDR1      */
                           unsigned char B0:1;          /*    NDR0      */
                           }      BIT;                  /*              */
                    }           NDRA1;                  /*              */
              union {                                   /* NDRB (H'A6)  */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char    :4;         /*              */
                           unsigned char B11:1;         /*    NDR11     */
                           unsigned char B10:1;         /*    NDR10     */
                           unsigned char B9 :1;         /*    NDR9      */
                           unsigned char B8 :1;         /*    NDR8      */
                           }      BIT;                  /*              */
                    }           NDRB2;                  /*              */
              union {                                   /* NDRA (H'A7)  */
                    unsigned char BYTE;                 /*  Byte Access */
                    struct {                            /*  Bit  Access */
                           unsigned char   :4;          /*              */
                           unsigned char B3:1;          /*    NDR3      */
                           unsigned char B2:1;          /*    NDR2      */
                           unsigned char B1:1;          /*    NDR1      */
                           unsigned char B0:1;          /*    NDR0      */
                           }      BIT;                  /*              */
                    }           NDRA2;                  /*              */
};                                                      /*              */
#define SCI0    (*(volatile struct st_sci   *)0x5FFFEC0)/* SCI0  Address*/
#define SCI1    (*(volatile struct st_sci   *)0x5FFFEC8)/* SCI1  Address*/
#define ITU     (*(volatile struct st_itu   *)0x5FFFF00)/* ITU   Address*/
#define ITU0    (*(volatile struct st_itu0  *)0x5FFFF04)/* ITU0  Address*/
#define ITU1    (*(volatile struct st_itu0  *)0x5FFFF0E)/* ITU1  Address*/
#define ITU2    (*(volatile struct st_itu0  *)0x5FFFF18)/* ITU2  Address*/
#define ITU3    (*(volatile struct st_itu3  *)0x5FFFF22)/* ITU3  Address*/
#define ITU4    (*(volatile struct st_itu3  *)0x5FFFF32)/* ITU4  Address*/
#define DMAC    (*(volatile struct st_dmac  *)0x5FFFF48)/* DMAC  Address*/
#define DMAC0   (*(volatile struct st_dmac0 *)0x5FFFF40)/* DMAC0 Address*/
#define DMAC1   (*(volatile struct st_dmac0 *)0x5FFFF50)/* DMAC1 Address*/
#define DMAC2   (*(volatile struct st_dmac0 *)0x5FFFF60)/* DMAC2 Address*/
#define DMAC3   (*(volatile struct st_dmac0 *)0x5FFFF70)/* DMAC3 Address*/
#define INTC    (*(volatile struct st_intc  *)0x5FFFF84)/* INTC  Address*/
#define UBC     (*(volatile struct st_ubc   *)0x5FFFF90)/* UBC   Address*/
#define BSC     (*(volatile struct st_bsc   *)0x5FFFFA0)/* BSC   Address*/
#define SBYCR   (*(volatile union  un_sbycr *)0x5FFFFBC)/* SBYCR Address*/
#define PA      (*(volatile struct st_pa    *)0x5FFFFC0)/* PA    Address*/
#define PB      (*(volatile struct st_pa    *)0x5FFFFC2)/* PB    Address*/
#define PFC     (*(volatile struct st_pfc   *)0x5FFFFC4)/* PFC   Address*/
#define TPC     (*(volatile struct st_tpc   *)0x5FFFFF0)/* TPC   Address*/
#define st_itu1 st_itu0                         /* Change Struct ITU1   */
#define st_itu2 st_itu0                         /* Change Struct ITU2   */
#define st_itu4 st_itu3                         /* Change Struct ITU4   */
#define st_dmac1 st_dmac0                       /* Change Struct DMAC1  */
#define st_dmac2 st_dmac0                       /* Change Struct DMAC2  */
#define st_dmac3 st_dmac0                       /* Change Struct DMAC3  */
#define st_pb st_pa                             /* Change Struct PB->PA */
