⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atarisy2.c

📁 这个是延伸mame的在wince平台下的游戏模拟器的代码
💻 C
📖 第 1 页 / 共 4 页
字号:
	ROM_LOAD( "136042.114",   0x0b8000, 0x08000, 0x35e70a8d )
	ROM_LOAD( "136042.218",   0x0c0000, 0x04000, 0x8e500be1 )  /* alpha font */

	ROM_REGION(0x10000)	/* 64k for 6502 code */
	ROM_LOAD( "136042.419",   0x08000, 0x4000, 0xb277915a )
	ROM_LOAD( "136042.420",   0x0c000, 0x4000, 0x170b2c53 )
ROM_END


ROM_START( csprint_rom )
	ROM_REGION(0x90000)	/* 9*64k for T11 code */
	ROM_LOAD_ODD ( "045-2126.7l",  0x08000, 0x04000, 0x0ff83de8 )   /* even */
	ROM_LOAD_EVEN( "045-1127.7mn", 0x08000, 0x04000, 0xe3e37258 )   /* odd  */
	ROM_LOAD_ODD ( "045-1125.6f",  0x10000, 0x08000, 0x650623d2 )   /* even */
	ROM_LOAD_EVEN( "045-1122.6mn", 0x10000, 0x08000, 0xca1b1cbf )   /* odd  */
	ROM_LOAD_ODD ( "045-1124.6k",  0x50000, 0x08000, 0x47efca1f )   /* even */
	ROM_LOAD_EVEN( "045-1121.6r",  0x50000, 0x08000, 0x6ca404bb )   /* odd  */
	ROM_LOAD_ODD ( "045-1123.6l",  0x70000, 0x08000, 0x0a4d216a )   /* even */
	ROM_LOAD_EVEN( "045-1120.6s",  0x70000, 0x08000, 0x103f3fde )   /* odd  */

	ROM_REGION_DISPOSE(0xc4000)	/* temporary space for graphics (disposed after conversion) */
	ROM_LOAD( "045-1105.6a",  0x000000, 0x08000, 0x3773bfbb )  /* bank 0 (4 bpp) */
	ROM_RELOAD(              0x008000, 0x08000 )
	ROM_LOAD( "045-1106.6b",  0x010000, 0x08000, 0x13a24886 )
	ROM_RELOAD(              0x018000, 0x08000 )
	ROM_LOAD( "045-1101.7a",  0x020000, 0x10000, 0x5a55f931 )
	ROM_LOAD( "045-1102.7b",  0x030000, 0x08000, 0x37548a60 )
	ROM_RELOAD(              0x038000, 0x08000 )
	ROM_LOAD( "045-1107.6c",  0x040000, 0x08000, 0xe35e354e )
	ROM_RELOAD(              0x048000, 0x08000 )
	ROM_LOAD( "045-1108.6d",  0x050000, 0x08000, 0x361db8b7 )
	ROM_RELOAD(              0x058000, 0x08000 )
	ROM_LOAD( "045-1104.7d",  0x060000, 0x10000, 0xd1f8fe7b )
	ROM_LOAD( "045-1103.7c",  0x070000, 0x08000, 0x8f8c9692 )
	ROM_RELOAD(              0x078000, 0x08000 )
	ROM_LOAD( "045-1112.6t",  0x080000, 0x08000, 0xf869b0fc ) /* bank 1 (4 bpp) */
	ROM_LOAD( "045-1111.6s",  0x088000, 0x08000, 0xabcbc114 )
	ROM_LOAD( "045-1110.6p",  0x090000, 0x08000, 0x9e91e734 )
	ROM_LOAD( "045-1109.6n",  0x098000, 0x08000, 0x3a051f36 )
	ROM_LOAD( "045-1116.5t",  0x0a0000, 0x08000, 0xb15c1b90 )
	ROM_LOAD( "045-1115.5s",  0x0a8000, 0x08000, 0x1dcdd5aa )
	ROM_LOAD( "045-1114.5p",  0x0b0000, 0x08000, 0xfb5677d9 )
	ROM_LOAD( "045-1113.5n",  0x0b8000, 0x08000, 0x35e70a8d )
	ROM_LOAD( "045-1117.4t",  0x0c0000, 0x04000, 0x82da786d )  /* alpha font */

	ROM_REGION(0x10000)	/* 64k for 6502 code */
	ROM_LOAD( "045-1118.2bc", 0x08000, 0x4000, 0xeba41b2f )
	ROM_LOAD( "045-1119.2d",  0x0c000, 0x4000, 0x9e49043a )
ROM_END



/*************************************
 *
 *		ROM decoding
 *
 *************************************/

void paperboy_rom_decode (void)
{
	int i;

	/* expand the 16k program ROMs into full 64k chunks */
	for (i = 0x10000; i < 0x90000; i += 0x20000)
	{
		memcpy (&Machine->memory_region[0][i + 0x08000], &Machine->memory_region[0][i], 0x8000);
		memcpy (&Machine->memory_region[0][i + 0x10000], &Machine->memory_region[0][i], 0x8000);
		memcpy (&Machine->memory_region[0][i + 0x18000], &Machine->memory_region[0][i], 0x8000);
	}

	/* invert the bits of the sprites */
	for (i = 0x20000; i < 0x60000; i++)
		Machine->memory_region[1][i] ^= 0xff;
}


void apb_rom_decode (void)
{
	int i;

	/* invert the bits of the sprites */
	for (i = 0x80000; i < 0x180000; i++)
		Machine->memory_region[1][i] ^= 0xff;
}


void a720_rom_decode (void)
{
	int i;

	/* invert the bits of the sprites */
	for (i = 0x40000; i < 0x140000; i++)
		Machine->memory_region[1][i] ^= 0xff;
}


void ssprint_rom_decode (void)
{
	int i;

	/* expand the 32k program ROMs into full 64k chunks */
	for (i = 0x10000; i < 0x90000; i += 0x20000)
		memcpy (&Machine->memory_region[0][i + 0x10000], &Machine->memory_region[0][i], 0x10000);

	/* invert the bits of the sprites */
	for (i = 0x80000; i < 0xc0000; i++)
		Machine->memory_region[1][i] ^= 0xff;
}


void csprint_rom_decode (void)
{
	int i;

	/* expand the 32k program ROMs into full 64k chunks */
	for (i = 0x10000; i < 0x90000; i += 0x20000)
		memcpy (&Machine->memory_region[0][i + 0x10000], &Machine->memory_region[0][i], 0x10000);

	/* invert the bits of the sprites */
	for (i = 0x80000; i < 0xc0000; i++)
		Machine->memory_region[1][i] ^= 0xff;
}




/*************************************
 *
 *		High score save/load
 *
 *************************************/

int paperboy_hiload (void)
{
	void *f;

	f = osd_fopen (Machine->gamedrv->name, 0, OSD_FILETYPE_HIGHSCORE, 0);
	if (f)
	{
		osd_fread (f, atarigen_eeprom, atarigen_eeprom_size);
		osd_fclose (f);
	}
	else
	{
		static const unsigned char data0042[] =
		{
			0x00,0x13,0x24,0x50,0x53,0x54,0x00,0x12,0xc0,0x55,0x43,0x48,0x00,0x12,0x5c,0x54,
			0x4f,0x49,0x00,0x11,0xf8,0x20,0x52,0x53,0x00,0x11,0x49,0x59,0x45,0x20,0x00,0x11,
			0x30,0x4f,0x20,0x54,0x00,0x10,0xcc,0x55,0x4f,0x41,0x00,0x10,0x68,0x52,0x4e,0x42,
			0x00,0x10,0x04,0x20,0x54,0x4c,0x00,0x0f,0xa0,0x20,0x4f,0x45,0x00,0x26,0xac,0x50,
			0x49,0x47,0x00,0x26,0x48,0x41,0x53,0x52,0x00,0x25,0xe4,0x50,0x20,0x45,0x00,0x25,
			0x80,0x45,0x54,0x41,0x00,0x25,0x1c,0x52,0x48,0x54,0x00,0x24,0xb8,0x20,0x45,0x45,
			0x00,0x24,0x54,0x42,0x20,0x53,0x00,0x23,0xf0,0x4f,0x20,0x54,0x00,0x23,0x8c,0x59,
			0x20,0x20,0x00,0x23,0x28,0x20,0x20,0x20,0x00,0x3a,0x34,0x44,0x41,0x54,0x00,0x39,
			0xd0,0x54,0x48,0x45,0x00,0x39,0x6c,0x42,0x4f,0x59,0x00,0x39,0x08,0x42,0x46,0x20,
			0x00,0x38,0xa4,0x4d,0x45,0x43,0x00,0x38,0x40,0x43,0x4a,0x20,0x00,0x37,0xdc,0x4a,
			0x45,0x53,0x00,0x37,0x78,0x50,0x43,0x54,0x00,0x37,0x14,0x4d,0x41,0x41,0x00,0x36,
			0xb0,0x42,0x41,0x46,0x01
		};
		static const unsigned char data00fb[] =
		{
			0x41,0x7f,0x41,0x7f,0x86,0x41,0x7f,0x41,0x7f,0x85,0x41,0x7f,0x41,0x7f,0x84
		};
		int i;

		for (i = 0x0000; i < 0x0042; i++)
			atarigen_eeprom[i + 0x0000] = 0x00;

		for (i = 0; i < sizeof (data0042); i++)
			atarigen_eeprom[i + 0x0042] = data0042[i];

		for (i = 0; i < sizeof (data00fb); i++)
			atarigen_eeprom[i + 0x00fb] = data00fb[i];
	}

	return 1;
}


int ssprint_hiload (void)
{
	void *f;

	f = osd_fopen (Machine->gamedrv->name, 0, OSD_FILETYPE_HIGHSCORE, 0);
	if (f)
	{
		osd_fread (f, atarigen_eeprom, atarigen_eeprom_size);
		osd_fclose (f);
	}
	else
	{
		static const unsigned char data0000[] =
		{
			0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
			0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0x00,
			0x40,0x00,0x40,0x10,0x00,0x10,0x50,0x00,0x10,0x00,0x00,0x00,0x40,0xff,0x00,0x60,
			0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x60,0xff,0x00,0x80,0x00,
			0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x00,0xa0,0x00,0xa0,
			0x00,0x00,0x00,0xa0,0x00,0x00,0x00,0x00,0x00,0xa0,0xff,0x00,0xc0,0x00,0xc0,0x00,
			0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0xc0
		};
		static const unsigned char data0186[] =
		{
			0x03,0xe8,0x46,0xd6,0x03,0xde,0x28,0xb3,0x03,0xd4,0x44,0x23,0x03,0xca,0x1c,0x0b,
			0x03,0xc0,0x59,0xbf,0x03,0xb6,0x29,0x9f,0x03,0xac,0x4a,0xc2,0x03,0xa2,0x0e,0xdf,
			0x03,0x98,0x31,0xbf,0x03,0x8e,0x0d,0x06,0x03,0x84,0x0e,0x86,0x03,0x7a,0x24,0x0c,
			0x03,0x70,0x4a,0x48,0x03,0x66,0x51,0xf2,0x03,0x5c,0x3e,0x3f,0x03,0x52,0x11,0x06,
			0x03,0x48,0x45,0xb1,0x03,0x3e,0x7e,0x64,0x03,0x34,0x7f,0xe0,0x03,0x2a,0x7f,0xf3,
			0x03,0x20,0x7f,0xff,0x03,0x16,0x2a,0xd6,0x03,0x0c,0x25,0x76,0x03,0x02,0x4c,0x61,
			0x02,0xf8,0x28,0x01,0x02,0xee,0x01,0x53,0x02,0xe4,0x09,0x32,0x02,0xda,0x2c,0x32,
			0x02,0xd0,0x25,0x86,0x02,0xc6,0x1d,0x1f
		};
		int i;

		for (i = 0; i < sizeof (data0000); i++)
			atarigen_eeprom[i + 0x0000] = data0000[i];

		for (i = 0x0069; i < 0x0186; i++)
			atarigen_eeprom[i] = 0xff;

		for (i = 0; i < sizeof (data0186); i++)
			atarigen_eeprom[i + 0x0186] = data0186[i];
	}

	return 1;
}



/*************************************
 *
 *		Game driver(s)
 *
 *************************************/

struct GameDriver paperboy_driver =
{
	__FILE__,
	0,
	"paperboy",
	"Paperboy",
	"1984",
	"Atari Games",
	"Aaron Giles (MAME driver)\nJuergen Buchmueller (MAME driver)\nMike Balfour (hardware info)",
	0,
	&paperboy_machine_driver,
	0,

	paperboy_rom,
	paperboy_rom_decode,
	0,
	0,
	0,	/* sound_prom */

	paperboy_input_ports,

	0, 0, 0,   /* colors, palette, colortable */
	ORIENTATION_DEFAULT,
	paperboy_hiload, atarigen_hisave
};

struct GameDriver apb_driver =
{
	__FILE__,
	0,
	"apb",
	"APB (set 1)",
	"1987",
	"Atari Games",
	"Juergen Buchmueller (MAME driver)\nAaron Giles (MAME driver)\nMike Balfour (hardware info)",
	GAME_NOT_WORKING,
	&apb_machine_driver,
	0,

	apb_rom,
	apb_rom_decode,
	0,
	0,
	0,	/* sound_prom */

	apb_input_ports,

	0, 0, 0,   /* colors, palette, colortable */
	ORIENTATION_ROTATE_270,
	atarigen_hiload, atarigen_hisave
};

struct GameDriver apb2_driver =
{
	__FILE__,
	&apb_driver,
	"apb2",
	"APB (set 2)",
	"1987",
	"Atari Games",
	"Juergen Buchmueller (MAME driver)\nAaron Giles (MAME driver)\nMike Balfour (hardware info)",
	GAME_NOT_WORKING,
	&apb_machine_driver,
	0,

	apb2_rom,
	apb_rom_decode,
	0,
	0,
	0,	/* sound_prom */

	apb_input_ports,

	0, 0, 0,   /* colors, palette, colortable */
	ORIENTATION_ROTATE_270,
	atarigen_hiload, atarigen_hisave
};

struct GameDriver a720_driver =
{
	__FILE__,
	0,
	"720",
	"720 Degrees (set 1)",
	"1986",
	"Atari Games",
	"Aaron Giles (MAME driver)\nJuergen Buchmueller (MAME driver)\nMike Balfour (hardware info)",
	GAME_NOT_WORKING,
	&a720_machine_driver,
	0,

	a720_rom,
	a720_rom_decode,
	0,
	0,
	0,	/* sound_prom */

	a720_input_ports,

	0, 0, 0,   /* colors, palette, colortable */
	ORIENTATION_DEFAULT,
	atarigen_hiload, atarigen_hisave
};

struct GameDriver a720b_driver =
{
	__FILE__,
	&a720_driver,
	"720b",
	"720 Degrees (set 2)",
	"1986",
	"Atari Games",
	"Aaron Giles (MAME driver)\nJuergen Buchmueller (MAME driver)\nMike Balfour (hardware info)",
	GAME_NOT_WORKING,
	&a720_machine_driver,
	0,

	a720b_rom,
	a720_rom_decode,
	0,
	0,
	0,	/* sound_prom */

	a720_input_ports,

	0, 0, 0,   /* colors, palette, colortable */
	ORIENTATION_DEFAULT,
	atarigen_hiload, atarigen_hisave
};

struct GameDriver ssprint_driver =
{
	__FILE__,
	0,
	"ssprint",
	"Super Sprint",
	"1986",
	"Atari Games",
	"Aaron Giles (MAME driver)\nJuergen Buchmueller (MAME driver)\nMike Balfour (hardware info)",
	0,
	&ssprint_machine_driver,
	0,

	ssprint_rom,
	ssprint_rom_decode,
	0,
	0,
	0,	/* sound_prom */

	ssprint_input_ports,

	0, 0, 0,   /* colors, palette, colortable */
	ORIENTATION_DEFAULT,
	ssprint_hiload, atarigen_hisave
};


struct GameDriver csprint_driver =
{
	__FILE__,
	0,
	"csprint",
	"Championship Sprint",
	"1986",
	"Atari Games",
	"Aaron Giles (MAME driver)\nJuergen Buchmueller (MAME driver)\nMike Balfour (hardware info)",
	0,
	&csprint_machine_driver,
	0,

	csprint_rom,
	csprint_rom_decode,
	0,
	0,
	0,	/* sound_prom */

	csprint_input_ports,

	0, 0, 0,   /* colors, palette, colortable */
	ORIENTATION_DEFAULT,
	atarigen_hiload, atarigen_hisave
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -