File:  [RetroPC.NET] / np2 / vram / makegrph.mcr
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Fri Oct 17 02:58:17 2003 JST (22 years ago) by yui
Branches: mie
CVS tags: start, rel_036, VER_0_80, VER_0_79, VER_0_78, VER_0_77, VER_0_76, VER_0_75, VER_0_74, VER_0_73, VER_0_72, VER_0_71, VER_0_70
Neko Project II


#ifdef __cplusplus
extern "C" {
#endif

#if (!defined(MEMOPTIMIZE)) || (MEMOPTIMIZE == 0)

extern	UINT32	grph_table[4*256*2];

#define GRPHDATASET(d, a) {							\
	BYTE dat;										\
	UINT32 l32, r32;								\
	dat = mem[(a) + VRAM_B];						\
	l32 = grph_table[dat*2 + 0*0x200 + 0];			\
	r32 = grph_table[dat*2 + 0*0x200 + 1];			\
	dat = mem[(a) + VRAM_R];						\
	l32 += grph_table[dat*2 + 1*0x200 + 0];			\
	r32 += grph_table[dat*2 + 1*0x200 + 1];			\
	dat = mem[(a) + VRAM_G];						\
	l32 += grph_table[dat*2 + 2*0x200 + 0];			\
	r32 += grph_table[dat*2 + 2*0x200 + 1];			\
	dat = mem[(a) + VRAM_E];						\
	l32 += grph_table[dat*2 + 3*0x200 + 0];			\
	r32 += grph_table[dat*2 + 3*0x200 + 1];			\
	(d)[0] = l32;									\
	(d)[1] = r32;									\
}

#elif (MEMOPTIMIZE == 1)						// for Mac

extern	UINT32	grph_table1[256*2];

#define GRPHDATASET(d, a) {							\
	BYTE dat;										\
	UINT32 l32, r32;								\
	dat = mem[(a) + VRAM_B];						\
	l32 = grph_table1[dat*2 + 0];					\
	r32 = grph_table1[dat*2 + 1];					\
	dat = mem[(a) + VRAM_R];						\
	l32 += grph_table1[dat*2 + 0] << 1;				\
	r32 += grph_table1[dat*2 + 1] << 1;				\
	dat = mem[(a) + VRAM_G];						\
	l32 += grph_table1[dat*2 + 0] << 2;				\
	r32 += grph_table1[dat*2 + 1] << 2;				\
	dat = mem[(a) + VRAM_E];						\
	l32 += grph_table1[dat*2 + 0] << 3;				\
	r32 += grph_table1[dat*2 + 1] << 3;				\
	(d)[0] = l32;									\
	(d)[1] = r32;									\
}

#else											// for ARM

extern	UINT32	grph_table0[16];

#define GRPHDATASET(d, a) {							\
	BYTE dat;										\
	UINT32 l32, r32;								\
	dat = mem[(a) + VRAM_B];						\
	l32 = grph_table0[dat >> 4];					\
	r32 = grph_table0[dat & 15];					\
	dat = mem[(a) + VRAM_R];						\
	l32 += grph_table0[dat >> 4] << 1;				\
	r32 += grph_table0[dat & 15] << 1;				\
	dat = mem[(a) + VRAM_G];						\
	l32 += grph_table0[dat >> 4] << 2;				\
	r32 += grph_table0[dat & 15] << 2;				\
	dat = mem[(a) + VRAM_E];						\
	l32 += grph_table0[dat >> 4] << 3;				\
	r32 += grph_table0[dat & 15] << 3;				\
	(d)[0] = l32;									\
	(d)[1] = r32;									\
}

#endif

#ifdef __cplusplus
}
#endif


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