enum {
ADVV_WIDTH = 240,
ADVV_HEIGHT = 160
};
enum {
ADVV_MODE0 = 0x0000,
ADVV_MODE1 = 0x0001,
ADVV_MODE2 = 0x0002,
ADVV_MODE3 = 0x0003,
ADVV_MODE4 = 0x0004,
ADVV_MODE5 = 0x0005,
ADVV_PLANE = 0x0010,
ADVV_MAPLINEAR = 0x0040,
ADVV_BG0 = 0x0100,
ADVV_BG1 = 0x0200,
ADVV_BG2 = 0x0400,
ADVV_BG3 = 0x0800,
ADVV_OBJ = 0x1000,
ADVV_WIN0 = 0x2000,
ADVV_WIN1 = 0x4000,
ADVV_OBJWIN = 0x8000
};
enum {
ADVV_BGPRYSFT = 0,
ADVV_BGCHRBASESFT = 2,
ADVV_BGMOSIACSFT = 6,
ADVV_BGCOLORSFT = 7,
ADVV_BGSCRNBASESFT = 8,
ADVV_BGOVERFLOWSFT = 13,
ADVV_BGSCRNSIZE = 14
};
enum {
ADVV_EABG0 = 0x0001,
ADVV_EABG1 = 0x0002,
ADVV_EABG2 = 0x0004,
ADVV_EABG3 = 0x0008,
ADVV_EAOBJ = 0x0010,
ADVV_EABD = 0x0020,
ADVV_EALPHA = 0x0040,
ADVV_EWHITE = 0x0080,
ADVV_EBLACK = 0x00c0,
ADVV_EBBG0 = 0x0100,
ADVV_EBBG1 = 0x0200,
ADVV_EBBG2 = 0x0400,
ADVV_EBBG3 = 0x0800,
ADVV_EVASFT = 0,
ADVV_EVBSFT = 8
};
#define REG_DISPCNT ((volatile UINT16 *)0x04000000)
#define REG_VCOUNT ((volatile UINT16 *)0x04000006)
#define REG_BG0CNT ((volatile UINT16 *)0x04000008)
#define REG_BG1CNT ((volatile UINT16 *)0x0400000a)
#define REG_BG2CNT ((volatile UINT16 *)0x0400000c)
#define REG_BG3CNT ((volatile UINT16 *)0x0400000e)
#define REG_BG0HOFS ((volatile UINT16 *)0x04000010)
#define REG_BG0VOFS ((volatile UINT16 *)0x04000012)
#define REG_BG1HOFS ((volatile UINT16 *)0x04000014)
#define REG_BG1VOFS ((volatile UINT16 *)0x04000016)
#define REG_BG2HOFS ((volatile UINT16 *)0x04000018)
#define REG_BG2VOFS ((volatile UINT16 *)0x0400001a)
#define REG_BG3HOFS ((volatile UINT16 *)0x0400001c)
#define REG_BG3VOFS ((volatile UINT16 *)0x0400001e)
#define REG_BLDCNT ((volatile UINT16 *)0x04000050)
#define REG_BLDALPHA ((volatile UINT16 *)0x04000052)
#define REG_BLDY ((volatile UINT16 *)0x04000054)
#define ADVVIDEOPAL ((UINT16 *)0x05000000)
#define ADVVIDEOBUFFER ((UINT8 *) 0x06000000)
// ----
#define advv_setmode(mode) \
do { \
*REG_DISPCNT = (mode); \
} while (/*CONSTCOND*/ 0)
#define advv_palupdate()
#define advv_bufferupdate()
RetroPC.NET-CVS <cvs@retropc.net>