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

version 1.1, 2004/08/01 05:31:31 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 {
           GRAM_SIZE               = 0x20000,
           GRAM_BANK0              = 0x00000,
           GRAM_BANK1              = 0x10000,
   
           GRAM_BANK0L             = 0x00000,
           GRAM_BANK0H             = 0x08000,
           GRAM_BANK1L             = 0x10000,
           GRAM_BANK1H             = 0x18000,
   
           GRAM_HALFSTEP   = 0x08000,
   
           GRAM_LINESTEP   = 0x01,
           GRAM_B                  = 0x08,
           GRAM_R                  = 0x10,
           GRAM_G                  = 0x18,
           GRAM_RGBMASK    = 0x18
   };
   
   #define PORT2GRAM(port)         ((LOW11((port)) << 5) + ((port) >> 11))
   #define PORT2GRAM2(port)        ((((port) << 5) + ((port) >> 11)) & 0xffe7)
   #define TRAM2GRAM(addr)         ((addr) << 5)
   
   #else                                           // メモリ並び優先
   
   enum {
           GRAM_SIZE               = 0x18000,
           GRAM_BANK0              = 0x00000,
           GRAM_BANK1              = 0x0c000,
   
           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
   extern "C" {
   #endif
   
   extern  TRAM    tram[0x800];
   extern  UINT8   gram[GRAM_SIZE];
   
   #ifdef __cplusplus
   }
   #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.1  
changed lines
  Added in v.1.7


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