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

📄 rockola.c

📁 这个是延伸mame的在wince平台下的游戏模拟器的代码
💻 C
📖 第 1 页 / 共 4 页
字号:

	ROM_REGION(0x0040)  /* color proms */
	ROM_LOAD( "g70805.ic7",   0x0000, 0x0020, 0xa5709ff3 ) /* foreground colors */
	ROM_LOAD( "g70804.ic6",   0x0020, 0x0020, 0xdacd592d ) /* background colors */

	ROM_REGION(0x1800)  /* space for the sound ROMs */
	ROM_LOAD( "g959-43.51",   0x0000, 0x0800, 0x0345f8b7 )
	ROM_LOAD( "g959-44.52",   0x0800, 0x0800, 0x87d67dee )
	ROM_LOAD( "g959-45.53",   0x1000, 0x0800, 0x33189917 )
ROM_END



static unsigned char wrong_color_prom[] =
{
	/* this is the Zarzon one */
	0x00,0xF8,0x02,0xFF,0xF8,0x27,0xC0,0xF8,0xC0,0x80,0x07,0x07,0xFF,0xF8,0x3F,0xFF,
	0x00,0xF8,0x02,0xFF,0xC0,0xC0,0x80,0x26,0x38,0xA0,0xA0,0x04,0x07,0xC6,0xC5,0x27,
};



static int vanguard_hiload(void)     /* V.V */
{
	unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];


	/* check if the hi score table has already been initialized */
	if (memcmp(&RAM[0x0025],"\x00\x10",2) == 0)
	{
		void *f;

		if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
		{
			osd_fread(f,&RAM[0x0025],3);
			osd_fread(f,&RAM[0x0220],112);
			osd_fread(f,&RAM[0x02a0],16);
			osd_fclose(f);
		}

		return 1;
	}
	else return 0;   /* we can't load the hi scores yet */

}

static void vanguard_hisave(void)    /* V.V */
{
	void *f;
	unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];


	if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,1)) != 0)
	{
		osd_fwrite(f,&RAM[0x0025],3);
		osd_fwrite(f,&RAM[0x0220],112);
		osd_fwrite(f,&RAM[0x02a0],16);
		osd_fclose(f);
	}
}

static int fantasy_hiload(void)
{
	unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];


	/* check if the hi score table has already been initialized */
	if (memcmp(&RAM[0x0025],"\x00\x20\x00",3) == 0)
	{
		void *f;

		if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
		{
			osd_fread(f,&RAM[0x0025],3);
			osd_fclose(f);
		}

		return 1;
	}
	else return 0;   /* we can't load the hi scores yet */
}

static void fantasy_hisave(void)
{
	void *f;
	unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];


	if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,1)) != 0)
	{
		osd_fwrite(f,&RAM[0x0025],3);
		osd_fclose(f);
	}
}

static int nibbler_hiload(void)
{
	unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];


	/* check if the hi score table has already been initialized */
	if (memcmp(&RAM[0x0290],"\x00\x50\x00\x00",4) == 0 &&
			memcmp(&RAM[0x02b4],"\x00\x05\x00\x00",4) == 0)
	{
		void *f;


		if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
		{
			osd_fread(f,&RAM[0x0290],4*10);
			osd_fread(f,&RAM[0x02d0],3*10);
			osd_fclose(f);
		}

		return 1;
	}
	else return 0;	/* we can't load the hi scores yet */
}

static void nibbler_hisave(void)
{
	void *f;
	unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];


	if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,1)) != 0)
	{
		osd_fwrite(f,&RAM[0x0290],4*10);
		osd_fwrite(f,&RAM[0x02d0],3*10);
		osd_fclose(f);
	}
}



struct GameDriver sasuke_driver =
{
	__FILE__,
	0,
	"sasuke",
	"Sasuke vs. Commander",
	"1980",
	"SNK",
	"Dan Boris\nTheo Philips",
	GAME_WRONG_COLORS,
	&sasuke_machine_driver,
	0,

	sasuke_rom,
	0, 0,
	0,
	0,	/* sound_prom */

	sasuke_input_ports,

	wrong_color_prom,0,0,
	ORIENTATION_ROTATE_90,

	0, 0
};

struct GameDriver satansat_driver =
{
	__FILE__,
	0,
	"satansat",
	"Satan of Saturn",
	"1981",
	"SNK",
	"Dan Boris\nTheo Philips",
	0,
	&satansat_machine_driver,
	0,

	satansat_rom,
	0, 0,
	fantasy_sample_names,
	0,	/* sound_prom */

	satansat_input_ports,

	PROM_MEMORY_REGION(2),0,0,
	ORIENTATION_ROTATE_90,

	0, 0
};

struct GameDriver zarzon_driver =
{
	__FILE__,
	&satansat_driver,
	"zarzon",
	"Zarzon",
	"1981",
	"[SNK] (Taito America license)",
	"Dan Boris\nTheo Philips",
	0,
	&satansat_machine_driver,
	0,

	zarzon_rom,
	0, 0,
	fantasy_sample_names,
	0,	/* sound_prom */

	satansat_input_ports,

	PROM_MEMORY_REGION(2),0,0,
	ORIENTATION_ROTATE_90,

	0, 0
};

struct GameDriver vanguard_driver =
{
	__FILE__,
	0,
	"vanguard",
	"Vanguard (SNK)",
	"1981",
	"SNK",
	"Brian Levine (Vanguard emulator)\nBrad Oliver (MAME driver)\nMirko Buffoni (MAME driver)\nAndrew Scott",
	0,
	&vanguard_machine_driver,
	0,

	vanguard_rom,
	0, 0,
	vanguard_sample_names,
	0,	/* sound_prom */

	vanguard_input_ports,

	PROM_MEMORY_REGION(2), 0, 0,
	ORIENTATION_ROTATE_90,

	vanguard_hiload, vanguard_hisave
};

struct GameDriver vangrdce_driver =
{
	__FILE__,
	&vanguard_driver,
	"vangrdce",
	"Vanguard (Centuri)",
	"1981",
	"SNK (Centuri license)",
	"Brian Levine (Vanguard emulator)\nBrad Oliver (MAME driver)\nMirko Buffoni (MAME driver)\nAndrew Scott",
	0,
	&vanguard_machine_driver,
	0,

	vangrdce_rom,
	0, 0,
	vanguard_sample_names,
	0,	/* sound_prom */

	vanguard_input_ports,

	PROM_MEMORY_REGION(2), 0, 0,
	ORIENTATION_ROTATE_90,

	vanguard_hiload, vanguard_hisave
};

struct GameDriver fantasy_driver =
{
	__FILE__,
	0,
	"fantasy",
	"Fantasy",
	"1981",
	"Rock-ola",
	"Nicola Salmoria\nBrian Levine\nMirko Buffoni",
	0,
	&fantasy_machine_driver,
	0,

	fantasy_rom,
	0, 0,
	fantasy_sample_names,
	0,	/* sound_prom */

	fantasy_input_ports,

	PROM_MEMORY_REGION(2), 0, 0,
	ORIENTATION_ROTATE_90,

	fantasy_hiload, fantasy_hisave
};

struct GameDriver pballoon_driver =
{
	__FILE__,
	0,
	"pballoon",
	"Pioneer Balloon",
	"1982",
	"SNK",
	"Nicola Salmoria\nBrian Levine\nMirko Buffoni",
	0,
	&pballoon_machine_driver,
	0,

	pballoon_rom,
	0, 0,
	fantasy_sample_names,
	0,	/* sound_prom */

	pballoon_input_ports,

	PROM_MEMORY_REGION(2), 0, 0,
	ORIENTATION_ROTATE_90,

	0, 0
};

struct GameDriver nibbler_driver =
{
	__FILE__,
	0,
	"nibbler",
	"Nibbler (set 1)",
	"1982",
	"Rock-ola",
	"Nicola Salmoria\nBrian Levine\nMirko Buffoni\nMarco Cassili",
	0,
	&fantasy_machine_driver,
	0,

	nibbler_rom,
	0, 0,
	fantasy_sample_names,
	0,	/* sound_prom */

	nibbler_input_ports,

	PROM_MEMORY_REGION(2), 0, 0,
	ORIENTATION_ROTATE_90,

	nibbler_hiload, nibbler_hisave
};

struct GameDriver nibblera_driver =
{
	__FILE__,
	&nibbler_driver,
	"nibblera",
	"Nibbler (set 2)",
	"1982",
	"Rock-ola",
	"Nicola Salmoria\nBrian Levine\nMirko Buffoni\nMarco Cassili",
	0,
	&fantasy_machine_driver,
	0,

	nibblera_rom,
	0, 0,
	fantasy_sample_names,
	0,	/* sound_prom */

	nibbler_input_ports,

	PROM_MEMORY_REGION(2), 0, 0,
	ORIENTATION_ROTATE_90,

	nibbler_hiload, nibbler_hisave
};

⌨️ 快捷键说明

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