Diff for /xmil/vram/vram.h between versions 1.4 and 1.7

version 1.4, 2004/08/07 10:53:01 version 1.7, 2005/02/04 06:42:12
Line 1 Line 1
   
   // ---- TRAM
   
   enum {
           TRAMATR_COLOR   = 0x07,
           TRAMATR_REVERSE = 0x08,
           TRAMATR_BLINK   = 0x10,
           TRAMATR_PCG             = 0x20,
           TRAMATR_Yx2             = 0x40,
           TRAMATR_Xx2             = 0x80,
           TRAMKNJ_ULINE   = 0x20
   };
   
   enum {
           UPDATE_TRAM             = (1 << 5),
           UPDATE_VRAM0    = (1 << 6),
           UPDATE_VRAM1    = (1 << 7),
           UPDATE_VRAM             = UPDATE_VRAM0 | UPDATE_VRAM1,
           UPDATE_TVRAM    = UPDATE_VRAM0 | UPDATE_VRAM1 | UPDATE_TRAM
   };
   
   typedef struct {
           UINT8   ank;
           UINT8   knj;
           UINT8   atr;
           UINT8   udt;
   } TRAM;
   
   
   // ---- GRAM
   
   #if !defined(VRAMSTOIC)         // メモリキャッシュ優先
   
 enum {  enum {
         GRAM_SIZE               = 0x10000,          GRAM_SIZE               = 0x20000,
         GRAM_BANK0              = 0x00000,          GRAM_BANK0              = 0x00000,
         GRAM_BANK1              = 0x10000,          GRAM_BANK1              = 0x10000,
   
Line 11  enum { Line 43  enum {
   
         GRAM_HALFSTEP   = 0x08000,          GRAM_HALFSTEP   = 0x08000,
   
         PLANE_B         = 8,          GRAM_LINESTEP   = 0x01,
         PLANE_R         = 16,          GRAM_B                  = 0x08,
         PLANE_G         = 24          GRAM_R                  = 0x10,
           GRAM_G                  = 0x18,
           GRAM_RGBMASK    = 0x18
 };  };
   
 enum {  #define PORT2GRAM(port)         ((LOW11((port)) << 5) + ((port) >> 11))
         TRAM_ANK                = 0x0000,  #define PORT2GRAM2(port)        ((((port) << 5) + ((port) >> 11)) & 0xffe7)
         TRAM_ATR                = 0x0800,  #define TRAM2GRAM(addr)         ((addr) << 5)
         TRAM_KNJ                = 0x1000,  
   #else                                           // メモリ並び優先
         X1ATR_COLOR             = 0x07,  
         X1ATR_REVERSE   = 0x08,  
         X1ATR_BLINK             = 0x10,  
         X1ATR_PCG               = 0x20,  
         X1ATR_Yx2               = 0x40,  
         X1ATR_Xx2               = 0x80,  
         X1KNJ_ULINE             = 0x20  
 };  
   
 enum {  enum {
         UPDATE_TRAM             = (1 << 5),          GRAM_SIZE               = 0x18000,
         UPDATE_VRAM0    = (1 << 6),          GRAM_BANK0              = 0x00000,
         UPDATE_VRAM1    = (1 << 7),          GRAM_BANK1              = 0x0c000,
         UPDATE_VRAM             = UPDATE_VRAM0 | UPDATE_VRAM1,  
         UPDATE_TVRAM    = UPDATE_VRAM0 | UPDATE_VRAM1 | UPDATE_TRAM          GRAM_BANK0L             = 0x00000,
           GRAM_BANK0H             = 0x00400,
           GRAM_BANK1L             = 0x0c000,
           GRAM_BANK1H             = 0x0c400,
   
           GRAM_HALFSTEP   = 0x00400,
   
           GRAM_LINESTEP   = 0x0800,
           GRAM_B                  = 0x0000,
           GRAM_R                  = 0x4000,
           GRAM_G                  = 0x8000,
           GRAM_RGBMASK    = 0xc000
 };  };
   
   #define PORT2GRAM(port)         ((port) - 0x4000)
   #define PORT2GRAM2(port)        ((port) & (~0xc000))
   #define TRAM2GRAM(addr)         (addr)
   
   #endif
   
   
 #ifdef __cplusplus  #ifdef __cplusplus
 extern "C" {  extern "C" {
 #endif  #endif
   
 extern  UINT8   GRP_RAM[0x20000];  extern  TRAM    tram[0x800];
 extern  UINT8   tram[0x01800];  extern  UINT8   gram[GRAM_SIZE];
 extern  UINT8   updatetmp[0x800+0x101];  
   
 #ifdef __cplusplus  #ifdef __cplusplus
 }  }
 #endif  #endif
   
   #define TRAM_ANK(addr)          tram[addr].ank
   #define TRAM_KNJ(addr)          tram[addr].knj
   #define TRAM_ATR(addr)          tram[addr].atr
   #define TRAMUPDATE(addr)        tram[addr].udt
   

Removed from v.1.4  
changed lines
  Added in v.1.7


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