Example #1
0
int main(int argc, char **argv)
{
	int iResult = 0;

	int memfd;
	memfd = open("/dev/mem", O_RDWR);

	g_pRegs32 = (unsigned int *) mmap(0, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, memfd, 0xc0000000);
	g_pRegs16 = (unsigned short *) g_pRegs32;

	g_p32Blitter = (unsigned int *) mmap(0, 0x100, PROT_READ|PROT_WRITE, MAP_SHARED, memfd, 0xE0020000);

	g_pMem = (unsigned char*)mmap(0, 0x2000000, PROT_READ | PROT_WRITE, MAP_SHARED,
								  memfd, 0x2000000); //mmap the upper 32MB.

	// enable all video and graphic devices
	g_pRegs16[0x090a >> 1] = 0xFFFF;
	// enable fastio
	g_pRegs16[0x0904 >> 1] |= (1 << 10);

	blit_test();

	munmap(g_pMem, 0x2000000);
	munmap(g_p32Blitter, 0x100);
	munmap(g_pRegs32, 0x10000);

	return iResult;
}
Example #2
0
static Errcode test_draw(Rcel *dcel)
/* Draw various shapes in response to abuser input */
{
int scancode;			/* keyboard scancode */
char asckey;			/* ascii representation of keyboard scan code */

	for (;;)
	{
		asckey = scancode = pj_key_in();	/* Hey dos, what did they hit? */
#define ESCKEY 0x1b
		switch (asckey)						/* Quit program on any 
											 * escape looking key */
		{
			case ESCKEY:
			case 'q':
			case 'Q':
			case 'x':
			case 'X':
				goto done_drawing;
			case '0':
				pj_set_rast(dcel,0);
				break;
			case '1':
				line_test(dcel);
				break;
			case '2':
				circle_test(dcel);
				break;
			case '3':
				box_test(dcel);
				break;
#ifdef SOON
			case '4':
				blit_test(dcel);
				break;
#endif /* SOON */
		}
	}
done_drawing:
	return(Success);
}