Example #1
0
static void Blitr_256x224_to_320x240()
{
	// 256x224 rotate to 210x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;

	q += BW;
	p += 55;
	for (int i=0; i<240; i++) {
		--q;
		// 16px -> 15px
		if (i % 15 == 7) {
			--q;
			for (int it = 0; it < BW*BH; it += BW) {
				q[it] = COLORMIX(q[it],q[it+1]);
			}
		}

		q1 = q;
		for (int j=0; j<210; j++) {
			// 16px -> 15px
			if (j % 15 == 7) {
				p[0] = COLORMIX(q1[0],q1[BW]);
				q1 += BW;
			}
			else {
				p[0] = q1[0];
			}
			++p;
			q1 += BW;
		}
		p += 110;
	}
}
Example #2
0
static void Blitrf_256x224_to_320x240()
{
	// 256x224 flipped rotate to 210x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;

	q += (BH - 1) * BW - 1;
	p += 55;
	for (int i=0; i<240; i++) {
		++q;
		// 16px -> 15px
		if (i % 15 == 7) {
			++q;
			for (int it = 0; it < BW*BH; it += BW) {
				*(q-it) = COLORMIX(*(q-it),*(q-it-1));
			}
		}

		q1 = q;
		for (int j=0; j<210; j++) {
			// 16px -> 15px
			if (j % 15 == 7) {
				*p = COLORMIX(*q1,*(q1-BW));
				q1 -= BW;
			}
			else {
				*p = *q1;
			}
			++p;
			q1 -= BW;
		}
		p += 110;
	}
}
Example #3
0
static void Blitr_352x240_to_320x240()
{
	// 352x240 rotate to 180x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;

	q += BW;
	p += 70;
	for (int i=0; i<240; i++) {
		--q;
		// 22px -> 15px
		if ((i % 15) % 2 != 0) {
			--q;
			for (int it = 0; it < BW*BH; it += BW) {
				q[it] = COLORMIX(q[it],q[it+1]);
			}
		}

		q1 = q;
		for (int j=0; j<180; j++) {
			// 8px -> 6px
			if ((j % 6) % 3 == 1) {
				p[0] = COLORMIX(q1[0],q1[BW]);
				q1 += BW;
			}
			else {
				p[0] = q1[0];
			}
			++p;
			q1 += BW;
		}
		p += 140;
	}
}
Example #4
0
static void Blitr_256x248_to_320x240()
{
	// 256x248 rotate to 232x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;

	q += 256;
	p += 44;
	for (int i=0; i<240; i++) {
		--q;
		// 16px -> 15px
		if (i % 15 == 7) {
			--q;
			for (int it = 0; it < BW*BH; it += BW) {
				q[it] = COLORMIX(q[it],q[it+1]);
			}
		}

		q1 = q;
		for (int j=0; j<232; j++) {
			// 31px -> 29px
			if ((j % 29) % 15 == 7) {
				p[0] = COLORMIX(q1[0],q1[BW]);
				q1 += BW;
			}
			else {
				p[0] = q1[0];
			}
			++p;
			q1 += BW;
		}
		p += 88;
	}
}
Example #5
0
static void Blitr_320x224_to_320x240()
{
	// 320x224 rotate to 192x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;

	q += BW;
	p += 64;
	for (int i=0; i<240; i++) {
		--q;
		// 4px -> 3px
		if (i % 3 == 1) {
			--q;
			for (int it = 0; it < BW*BH; it += BW) {
				q[it] = COLORMIX(q[it],q[it+1]);
			}
		}

		q1 = q;
		for (int j=0; j<192; j++) {
			// 7px -> 6px
			if (j % 6 == 3) {
				p[0] = COLORMIX(q1[0],q1[BW]);
				q1 += BW;
			}
			else {
				p[0] = q1[0];
			}
			++p;
			q1 += BW;
		}
		p += 128;
	}
}
Example #6
0
static void Blit_368x224_to_320x240() 
{
	// zerozone 368x224
	unsigned short * p = &VideoBuffer[2560];
	unsigned short * q = BurnVideoBuffer;
	
	for (int i=0; i<224; i++)
		for (int j=0; j<16; j++) {
			p[0] = q[0];
			p[1] = q[1];
			p[2] = q[2];
			p[3] = q[3];
			p[4] = COLORMIX(q[4], q[5]);
			p[5] = q[6];
			p[6] = q[7];
			p[7] = q[8];
			p[8] = q[9];
			p[9] = q[10];
			p[10] = COLORMIX(q[11], q[12]);
			p[11] = q[13];
			p[12] = q[14];
			p[13] = q[15];
			p[14] = q[16];
			p[15] = COLORMIX(q[17], q[18]);
			p[16] = q[19];
			p[17] = q[20];
			p[18] = q[21];
			p[19] = q[22];
			p += 20;
			q += 23;
		}
}
Example #7
0
static void Blitrf_320x224_to_320x240()
{
	// 320x224 flipped rotate to 192x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;

	q += (BH - 1) * BW - 1;
	p += 64;
	for (int i=0; i<240; i++) {
		++q;
		// 4px -> 3px
		if (i % 3 == 1) {
			++q;
			for (int it = 0; it < BW*BH; it += BW) {
				*(q-it) = COLORMIX(*(q-it),*(q-it-1));
			}
		}

		q1 = q;
		for (int j=0; j<192; j++) {
			// 7px -> 6px
			if (j % 6 == 3) {
				*p = COLORMIX(*q1,*(q1-BW));
				q1 -= BW;
			}
			else {
				*p = *q1;
			}
			++p;
			q1 -= BW;
		}
		p += 128;
	}
}
Example #8
0
static void Blitr_248x240_to_320x240()
{
	// 248x240 rotate to 240x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;

	q += BW;
	p += 40;
	for (int i=0; i<240; i++) {
		--q;
		if (i % 30 == 15) {
			--q;
			for (int it = 0; it < BW*BH; it += BW) {
				q[it] = COLORMIX(q[it],q[it+1]);
			}
		}

		q1 = q;
		for (int j=0; j<240; j++) {
			p[0] = q1[0];
			++p;
			q1 += BW;
		}
		p += 80;
	}
}
void gp_video_RGB_setHZscaling(int W, int H)
{
	uint16_t * pSource = (uint16_t *)pOutputScreen;
	uint16_t * pTarget = (uint16_t *)framebuffer16[currFB];
	unsigned short y;
	unsigned short x;

	if (H == 224)
	{
		pSource += 2560;
		pTarget += 2560;
	}
	for (y = H; y != 0; y--)
	{
		pSource+=32;
		for (x = 64; x != 0; x--)
		{
			pTarget[0] = pSource[0];
			pTarget[1] = pSource[1];
			pTarget[2] = pSource[2];
			pTarget[3] = COLORMIX(pSource[2],pSource[3]);
			pTarget[4] = pSource[3];
			pTarget+=5;
			pSource+=4;		
		}
		pSource+=32;
	}
}
Example #10
0
static void Blit_336x240_to_320x240() 
{
	// Atari 336x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	
	for (int i=0; i<240; i++)
		for (int j=0; j<16; j++) {
			p[0] = q[0];
			p[1] = q[1];
			p[2] = q[2];
			p[3] = q[3];
			p[4] = q[4];
			p[5] = q[5];
			p[6] = q[6];
			p[7] = q[7];
			p[8] = q[8];
			p[9] = COLORMIX(q[9], q[10]);
			p[10] = q[11];
			p[11] = q[12];
			p[12] = q[13];
			p[13] = q[14];
			p[14] = q[15];
			p[15] = q[16];
			p[16] = q[17];
			p[17] = q[18];
			p[18] = q[19];
			p[19] = q[20];
			p += 20;
			q += 21;
		}
}
Example #11
0
static void Blit_448x224_to_320x240() 
{
	// IGS 448x224
	unsigned short * p = &VideoBuffer[2560];
	unsigned short * q = BurnVideoBuffer;
	
	for (int i=0; i<224; i++)
		for (int j=0; j<64; j++) {
			p[0] = q[0];
			p[1] = COLORMIX(q[1], q[2]);
			p[2] = q[3];
			p[3] = COLORMIX(q[4], q[5]);
			p[4] = q[6];
			p += 5;
			q += 7;
		}
}
Example #12
0
static void Blitf_512x224_to_320x240() 
{
	// galpinbl, hotpinbl 512x224
	unsigned short * p = &VideoBuffer[2560];
	unsigned short * q = BurnVideoBuffer + 512 * 224 - 1 - 8;
	
	for (int i=0; i<224; i++) {
		for (int j=0; j<64; j++) {
			p[0] = COLORMIX(q[7], q[6]);
			p[1] = q[5];
			p[2] = COLORMIX(q[4], q[3]);
			p[3] = q[2];
			p[4] = COLORMIX(q[1], q[0]);
			p += 5;
			q -= 8;
		}
	}
}
Example #13
0
static void Blitf_512x256_to_320x240() 
{
	// Konami 512x256
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer + 512 * 256 - 1 - 8;
	
	for (int i=0; i<240; i++) {
		for (int j=0; j<64; j++) {
			p[0] = COLORMIX(q[7], q[6]);
			p[1] = q[5];
			p[2] = COLORMIX(q[4], q[3]);
			p[3] = q[2];
			p[4] = COLORMIX(q[1], q[0]);
			p += 5;
			q -= 8;
		}
		if(i % 16 == 0) q -= 512;
	}
}
Example #14
0
static void Blit_640x224_to_320x240() 
{
	// Taito 640x224
	unsigned short * p = &VideoBuffer[2560];
	unsigned short * q = BurnVideoBuffer;
	
	for (int i=0; i<224; i++)
		for (int j=0; j<320; j++) {
			p[0] = COLORMIX(q[0], q[1]);
			p += 1;
			q += 2;
		}
}
Example #15
0
static void Blit_864x224_to_320x240() 
{
	// Taito 864x224
	unsigned short * p = &VideoBuffer[2560];
	unsigned short * q = BurnVideoBuffer;
	
	for (int i=0; i<224; i++)
		for (int j=0; j<32; j++) {
			p[0] = COLORMIX(q[0], q[1]); // 0, 1, 2
			p[1] = COLORMIX(q[3], q[4]); // 3, 4, 5
			p[2] = COLORMIX(q[6], q[7]); // 6, 7, 8
			p[3] = COLORMIX(q[9], q[10]); // 9, 10, 11
			p[4] = COLORMIX(q[12], q[13]); // 12, 13
			p[5] = COLORMIX(q[14], q[15]); // 14, 15, 16
			p[6] = COLORMIX(q[17], q[18]); // 17, 18, 19
			p[7] = COLORMIX(q[20], q[21]); // 20, 21, 22
			p[8] = COLORMIX(q[23], q[24]); // 23, 24, 25
			p[9] = COLORMIX(q[26], q[27]); // 26, 27
			p += 10;
			q += 27;
		}
}
Example #16
0
static void Blitr_512x224_to_320x240()
{
	// 512x224 rotate to 182x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;
	int mod = 0;

	q += BW;
	p += 69;
	for (int i=0; i<240; i++) {
		// 32px -> 15px
		mod = i % 15;
		if (mod == 7 || mod == 11) {
			--q;
		}
		q -= 2;
		for (int it = 0; it < BW*BH; it += BW) {
			q[it] = COLORMIX(q[it],q[it+1]);
		}

		q1 = q;
		for (int j=0; j<182; j++) {
			// 16px -> 13px
			mod = j % 13;
			if (mod == 1 || mod == 5 || mod == 10) {
				p[0] = COLORMIX(q1[0],q1[BW]);
				q1 += BW;
			}
			else {
				p[0] = q1[0];
			}
			++p;
			q1 += BW;
		}
		p += 138;
	}
}
Example #17
0
static void Blitrf_384x240_to_320x240()
{
	// 384x240 flipped rotate to 180x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;
	int mod = 0;

	q += (BH - 1) * BW - 1;
	p += 70;
	for (int i=0; i<240; i++) {
		++q;
		// 8px -> 5px
		mod = i % 5;
		if (mod != 1 && mod != 3) {
			++q;
			for (int it = 0; it < BW*BH; it += BW) {
				*(q-it) = COLORMIX(*(q-it),*(q-it-1));
			}
		}

		q1 = q;
		for (int j=0; j<180; j++) {
			// 8px -> 6px
			mod = j % 6;
			if (mod == 1 || mod == 4) {
				*p = COLORMIX(*q1,*(q1-BW));
				q1 -= BW;
			}
			else {
				*p = *q1;
			}
			++p;
			q1 -= BW;
		}
		p += 140;
	}
}
Example #18
0
static void Blitr_272x236_to_320x240()
{
	// 272x236 rotate to 208x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;
	int mod = 0;

	q += BW;
	p += 56;
	for (int i=0; i<240; i++) {
		--q;
		// 17px -> 15px
		mod = i % 15;
		if (mod == 4 || mod == 11) {
			--q;
			for (int it = 0; it < BW*BH; it += BW) {
				q[it] = COLORMIX(q[it],q[it+1]);
			}
		}

		q1 = q;
		for (int j=0; j<208; j++) {
			// 59px -> 52px
			mod = j % 52;
			if (mod == 3 || mod == 11 || mod == 18 || mod == 25 || mod == 33 || mod == 40 || mod == 48) {
				p[0] = COLORMIX(q1[0],q1[BW]);
				q1 += BW;
			}
			else {
				p[0] = q1[0];
			}
			++p;
			q1 += BW;
		}
		p += 112;
	}
}
Example #19
0
static void Blitrf_512x224_to_320x240()
{
	// 512x224 flipped rotate to 182x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;
	int mod = 0;

	q += (BH - 1) * BW - 1;
	p += 69;
	for (int i=0; i<240; i++) {
		// 32px -> 15px
		mod = i % 15;
		if (mod == 3 || mod == 11) {
			++q;
		}
		q += 2;
		for (int it = 0; it < BW*BH; it += BW) {
			*(q-it) = COLORMIX(*(q-it),*(q-it-1));
		}

		q1 = q;
		for (int j=0; j<182; j++) {
			// 16px -> 13px
			mod = j % 13;
			if (mod == 1 || mod ==5 || mod == 10) {
				*p = COLORMIX(*q1,*(q1-BW));
				q1 -= BW;
			}
			else {
				*p = *q1;
			}
			++p;
			q1 -= BW;
		}
		p += 138;
	}
}
Example #20
0
static void Blitr_384x224_to_320x240()
{
	// CPS1 & CPS2 384x224 rotate to 192x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;
	int mod = 0;

	q += BW;
	p += 64;
	for (int i=0; i<240; i++) {
		--q;
		// 8px -> 5px
		mod = i % 5;
		if (mod != 1 && mod != 3) {
			--q;
			for (int it = 0; it < BW*BH; it += BW) {
				q[it] = COLORMIX(q[it],q[it+1]);
			}
		}

		q1 = q;
		for (int j=0; j<192; j++) {
			// 7px -> 6px
			if (j % 6 == 3) {
				p[0] = COLORMIX(q1[0],q1[BW]);
				q1 += BW;
			}
			else {
				p[0] = q1[0];
			}
			++p;
			q1 += BW;
		}
		p += 128;
	}
}
Example #21
0
static void Blitr_512x256_to_320x240()
{
	// 512x256 rotate to 192x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	unsigned short * q1 = NULL;
	int mod = 0;

	q += BW;
	p += 64;
	for (int i=0; i<240; i++) {
		// 32px -> 15px
		mod = i % 15;
		if (mod == 3 || mod == 11) {
			--q;
		}
		q -= 2;
		for (int it = 0; it < BW*BH; it += BW) {
			q[it] = COLORMIX(q[it],q[it+1]);
		}

		q1 = q;
		for (int j=0; j<192; j++) {
			// 4px -> 3px
			if (j % 3 == 1) {
				p[0] = COLORMIX(q1[0],q1[BW]);
				q1 += BW;
			}
			else {
				p[0] = q1[0];
			}
			++p;
			q1 += BW;
		}
		p += 128;
	}
}
Example #22
0
static void Blitf_384x224_to_320x240() 
{
	// CPS1 & CPS2 384x224
	unsigned short * p = &VideoBuffer[2560];
	unsigned short * q = BurnVideoBuffer + 384 * 224 - 1 - 6;
	
	for (int i=0; i<224; i++)
		for (int j=0; j<64; j++) {
			p[0] = q[5];
			p[1] = q[4];
			p[2] = COLORMIX(q[3],q[2]);
			p[3] = q[1];
			p[4] = q[0];
			p += 5;
			q -= 6;
		}
}
Example #23
0
static void Blit_384x240_to_320x240() 
{
	// 384x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	
	for (int i=0; i<240; i++)
		for (int j=0; j<64; j++) {
			p[0] = q[0];
			p[1] = q[1];
			p[2] = COLORMIX(q[2],q[3]);
			p[3] = q[4];
			p[4] = q[5];
			p += 5;
			q += 6;
		}
}
Example #24
0
static void Blit_448x224_to_400x240()
{
	// IGS 448x224
	unsigned short * p = &VideoBuffer[8*400+4];
	unsigned short * q = BurnVideoBuffer;
	
	for (int i=0; i<224; i++, p += 8)
		for (int j=0; j<56; j++) {
			p[0] = q[0];
			p[1] = q[1];
			p[2] = q[2];
			p[3] = COLORMIX(q[3], q[4]);
			p[4] = q[5];
			p[5] = q[6];
			p[6] = q[7];
			p += 7;
			q += 8;
		}
}
Example #25
0
static void Blit_380x224_to_320x240() 
{
	// silkroad 380x224
	unsigned short * p = &VideoBuffer[2560+2];
	unsigned short * q = BurnVideoBuffer;
	
	for (int i=0; i<224; i++) {
		for (int j=0; j<63; j++) {
			p[0] = q[0];
			p[1] = q[1];
			p[2] = COLORMIX(q[2],q[3]);
			p[3] = q[4];
			p[4] = q[5];
			p += 5;
			q += 6;
		}
		p[0] = q[0];
		p[1] = q[1];
		p += 5;
		q += 2;
	}
}
Example #26
0
static void Blit_352x240_to_320x240() 
{
	// V-System 352x240
	unsigned short * p = &VideoBuffer[0];
	unsigned short * q = BurnVideoBuffer;
	
	for (int i=0; i<240; i++)
		for (int j=0; j<32; j++) {
			p[0] = q[0];
			p[1] = q[1];
			p[2] = q[2];
			p[3] = q[3];
			p[4] = q[4];
			p[5] = q[5];
			p[6] = q[6];
			p[7] = q[7];
			p[8] = q[8];
			p[9] = COLORMIX(q[9], q[10]);
			p += 10;
			q += 11;
		}
}
Example #27
0
static void Blit_376x240_to_320x240() 
{
	// myangel2 376x240
	unsigned short * p = &VideoBuffer[3];
	unsigned short * q = BurnVideoBuffer;
	
	for (int i=0; i<240; i++) {
		for (int j=0; j<62; j++) {
			p[0] = q[0];
			p[1] = q[1];
			p[2] = COLORMIX(q[2],q[3]);
			p[3] = q[4];
			p[4] = q[5];
			p += 5;
			q += 6;
		}
		p[0] = q[0];
		p[1] = q[1];
		p[2] = q[2];
		p[3] = q[3];
		p += 10;
		q += 4;
	}
}