Diff for /xmil/io/dmac.h between versions 1.5 and 1.6

version 1.5, 2004/08/14 12:16:17 version 1.6, 2005/02/04 06:42:11
Line 1 Line 1
   
   #define DMAS_STOIC
   
 #if defined(BYTESEX_LITTLE)  #if defined(BYTESEX_LITTLE)
 typedef union {  typedef union {
         struct {          struct {
                 UINT8   l;                  UINT8   flag;
                 UINT8   h;                  UINT8   padding;
         }               b;                  UINT8   addrl;
         UINT16  w;                  UINT8   addrh;
 } DMAPAIR;          }       b;
           struct {
                   UINT8   flag;
                   UINT8   padding;
                   UINT16  addr;
           }       w;
   } DMACNT;
   
   typedef union {
           struct {
                   UINT8   ll;
                   UINT8   lh;
                   UINT8   nl;
                   UINT8   nh;
           }       b;
           struct {
                   UINT16  l;
                   UINT16  n;
           }       w;
   } DMALENG;
   
   typedef union {
           struct {
                   UINT8   al;
                   UINT8   ah;
                   UINT8   bl;
                   UINT8   bh;
           }       b;
           struct {
                   UINT16  a;
                   UINT16  b;
           }       w;
   } DMAADDR;
 #else  #else
 typedef union {  typedef union {
         struct {          struct {
                 UINT8   h;                  UINT8   flag;
                 UINT8   l;                  UINT8   padding;
         }               b;                  UINT8   addrh;
         UINT16  w;                  UINT8   addrl;
 } DMAPAIR;          }       b;
           struct {
                   UINT8   flag;
                   UINT8   padding;
                   UINT16  addr;
           }       w;
   } DMACNT;
   
   typedef union {
           struct {
                   UINT8   lh;
                   UINT8   ll;
                   UINT8   nh;
                   UINT8   nl;
           }       b;
           struct {
                   UINT16  l;
                   UINT16  n;
           }       w;
   } DMALENG;
   typedef union {
           struct {
                   UINT8   ah;
                   UINT8   al;
                   UINT8   bh;
                   UINT8   bl;
           }       b;
           struct {
                   UINT16  a;
                   UINT16  b;
           }       w;
   } DMAADDR;
 #endif  #endif
   
   
   #if defined(DMAS_STOIC)
   
   enum {
           DMAF_WORKING            = 0x01,
           DMAF_INCREMENT          = 0x08,
           DMAF_MACH                       = 0x10,
           DMAF_ENDB                       = 0x20
   };
   
   typedef struct {
           UINT8   flag;
           UINT8   WR0;
           UINT8   mode;                           // DMA_MODE
           UINT8   INT_ENBL;
   
           UINT8   WR4;
           UINT8   WR5;
           UINT8   MASK_BYT;
           UINT8   MACH_BYT;
   
           DMACNT  cnt_a;
           DMACNT  cnt_b;
   
           DMALENG leng;
           DMAADDR addr;
   
           UINT8   enable;                         // DMA_ENBL
           UINT8   ready;                          // DMA_REDY
           UINT8   RR_MSK;
           UINT8   RR;
   
           UINT8   INT_FLG;
           UINT8   INT_PLS;
           UINT8   INT_VCT;
           UINT8   dummydat;
   
           UINT    wcnt;
           UINT    wptr;
           UINT    rcnt;
           UINT    rptr;
           UINT8   wtbl[8];
           UINT8   rtbl[8];
   } DMAC;
   
   #else
   
 typedef struct {  typedef struct {
         UINT8   working;          UINT8   working;
         UINT8   increment;          UINT8   increment;
   
           UINT8   mode;                           // DMA_MODE
           UINT8   __cmd;                          // DMA_CMND
   
         UINT8   enable;                         // DMA_ENBL          UINT8   enable;                         // DMA_ENBL
         UINT8   ready;                          // DMA_REDY          UINT8   ready;                          // DMA_REDY
         UINT8   mode;                           // DMA_MODE  
         UINT8   cmd;                            // DMA_CMND  
   
         UINT8   INT_ENBL;          UINT8   INT_ENBL;
         UINT8   INT_FLG;          UINT8   INT_FLG;
Line 39  typedef struct { Line 152  typedef struct {
         UINT8   RR_MSK;          UINT8   RR_MSK;
         UINT8   RR;          UINT8   RR;
   
           UINT8   WR0;
   //      UINT8   WR1;
   //      UINT8   WR2;
   //      UINT8   WR3;
           UINT8   WR4;
           UINT8   WR5;
         UINT8   dummydat;          UINT8   dummydat;
         UINT8   padding[3];  //      UINT8   padding;
   
           DMACNT  cnt_a;
           DMACNT  cnt_b;
   
         DMAPAIR ADR_A;          DMALENG leng;
         DMAPAIR ADR_B;          DMAADDR addr;
         DMAPAIR BYT_L;  
           UINT    wcnt;
         DMAPAIR CNT_A;          UINT    wptr;
         DMAPAIR CNT_B;          UINT    rcnt;
         DMAPAIR BYT_N;          UINT    rptr;
           UINT8   wtbl[8];
         UINT8   WR[8];          UINT8   rtbl[8];
   
         UINT    WR_CNT;  
         UINT    WR_OFF;  
         UINT    RR_CNT;  
         UINT    RR_OFF;  
         UINT8   WR_TBL[16];  
         UINT8   RR_TBL[16];  
 } DMAC;  } DMAC;
   
   #endif
   
   
 #ifdef __cplusplus  #ifdef __cplusplus
 extern "C" {  extern "C" {

Removed from v.1.5  
changed lines
  Added in v.1.6


RetroPC.NET-CVS <cvs@retropc.net>