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

📄 cclimber.c

📁 这个是延伸mame的在wince平台下的游戏模拟器的代码
💻 C
📖 第 1 页 / 共 5 页
字号:
	ROM_REGION(0x10000)     /* 64k for code */
	ROM_LOAD( "d05-07.bin",   0x0000, 0x1000, 0xb27df032 )
	ROM_LOAD( "f05-08.bin",   0x1000, 0x1000, 0x5dc1aaba )
	ROM_LOAD( "h05-09.bin",   0x2000, 0x1000, 0xc9054c94 )
	ROM_LOAD( "10.dat",       0x3000, 0x1000, 0xc3beb501 )
	ROM_LOAD( "l05-11.bin",   0x4000, 0x1000, 0xae159192 )
	ROM_LOAD( "n05-12.bin",   0x5000, 0x1000, 0x966bc9ab )

	ROM_REGION_DISPOSE(0x5000)      /* temporary space for graphics (disposed after conversion) */
	ROM_LOAD( "n11-06.bin",   0x0000, 0x1000, 0x2dcedd12 )
	ROM_LOAD( "k11-04.bin",   0x1000, 0x1000, 0x3375b3bd )
	ROM_LOAD( "l11-05.bin",   0x2000, 0x1000, 0xfa7cbd91 )
	ROM_LOAD( "h11-03.bin",   0x3000, 0x1000, 0x5655cc11 )
	ROM_LOAD( "c11-02.bin",   0x4000, 0x0800, 0xd1352c31 )
	ROM_LOAD( "a11-01.bin",   0x4800, 0x0800, 0xa7a2fdbd )

	ROM_REGION(0x60)        /* color proms */
	ROM_LOAD( "prom.v6",      0x0000, 0x20, 0xb3fc1505 )
	ROM_LOAD( "prom.u6",      0x0020, 0x20, 0x26aada9e )
	ROM_LOAD( "prom.t6",      0x0040, 0x20, 0x676b3166 )

	ROM_REGION(0x2000)      /* samples */
	ROM_LOAD( "s05-14.bin",   0x0000, 0x1000, 0x5f0bcdfb )
	ROM_LOAD( "r05-13.bin",   0x1000, 0x1000, 0x9003ffbd )
ROM_END

ROM_START( ckongjeu_rom )
	ROM_REGION(0x10000)     /* 64k for code */
	ROM_LOAD( "d05-07.bin",   0x0000, 0x1000, 0xb27df032 )
	ROM_LOAD( "f05-08.bin",   0x1000, 0x1000, 0x5dc1aaba )
	ROM_LOAD( "h05-09.bin",   0x2000, 0x1000, 0xc9054c94 )
	ROM_LOAD( "ckjeu10.dat",  0x3000, 0x1000, 0x7e6eeec4 )
	ROM_LOAD( "l05-11.bin",   0x4000, 0x1000, 0xae159192 )
	ROM_LOAD( "ckjeu12.dat",  0x5000, 0x1000, 0x0532f270 )

	ROM_REGION_DISPOSE(0x5000)      /* temporary space for graphics (disposed after conversion) */
	ROM_LOAD( "n11-06.bin",   0x0000, 0x1000, 0x2dcedd12 )
	ROM_LOAD( "k11-04.bin",   0x1000, 0x1000, 0x3375b3bd )
	ROM_LOAD( "l11-05.bin",   0x2000, 0x1000, 0xfa7cbd91 )
	ROM_LOAD( "h11-03.bin",   0x3000, 0x1000, 0x5655cc11 )
	ROM_LOAD( "c11-02.bin",   0x4000, 0x0800, 0xd1352c31 )
	ROM_LOAD( "a11-01.bin",   0x4800, 0x0800, 0xa7a2fdbd )

	ROM_REGION(0x60)        /* color proms */
	ROM_LOAD( "prom.v6",      0x0000, 0x20, 0xb3fc1505 )
	ROM_LOAD( "prom.u6",      0x0020, 0x20, 0x26aada9e )
	ROM_LOAD( "prom.t6",      0x0040, 0x20, 0x676b3166 )

	ROM_REGION(0x2000)      /* samples */
	ROM_LOAD( "s05-14.bin",   0x0000, 0x1000, 0x5f0bcdfb )
	ROM_LOAD( "r05-13.bin",   0x1000, 0x1000, 0x9003ffbd )
ROM_END

ROM_START( ckongalc_rom )
	ROM_REGION(0x10000)     /* 64k for code */
	ROM_LOAD( "ck7.bin",      0x0000, 0x1000, 0x2171cac3 )
	ROM_LOAD( "ck8.bin",      0x1000, 0x1000, 0x88b83ff7 )
	ROM_LOAD( "ck9.bin",      0x2000, 0x1000, 0xcff2af47 )
	ROM_LOAD( "ck10.bin",     0x3000, 0x1000, 0x520fa4de )
	ROM_LOAD( "ck11.bin",     0x4000, 0x1000, 0x327dcadf )
	/* no ROM at 5000 */

	ROM_REGION_DISPOSE(0x5000)      /* temporary space for graphics (disposed after conversion) */
	ROM_LOAD( "ck6.bin",      0x0000, 0x1000, 0xa8916dc8 )
	ROM_LOAD( "ck4.bin",      0x1000, 0x1000, 0xb62a0367 )
	ROM_LOAD( "ck5.bin",      0x2000, 0x1000, 0xcd3b5dde )
	ROM_LOAD( "ck3.bin",      0x3000, 0x1000, 0x61122c5e )
	ROM_LOAD( "ck2.bin",      0x4000, 0x0800, 0xf67c80f1 )
	ROM_LOAD( "ck1.bin",      0x4800, 0x0800, 0x80eb517d )

	ROM_REGION(0x60)        /* color proms */
	ROM_LOAD( "ck6v.bin",     0x0000, 0x20, 0x751c3325 )
	ROM_LOAD( "ck6u.bin",     0x0020, 0x20, 0xab1940fa )
	ROM_LOAD( "ck6t.bin",     0x0040, 0x20, 0xb4e827a5 )

	ROM_REGION(0x2000)      /* samples */
	ROM_LOAD( "ck13.bin",     0x0000, 0x1000, 0x5f0bcdfb )
	ROM_LOAD( "ck12.bin",     0x1000, 0x1000, 0x2eb23b60 )
ROM_END

ROM_START( monkeyd_rom )
	ROM_REGION(0x10000)     /* 64k for code */
	ROM_LOAD( "ck7.bin",      0x0000, 0x1000, 0x2171cac3 )
	ROM_LOAD( "ck8.bin",      0x1000, 0x1000, 0x88b83ff7 )
	ROM_LOAD( "ck9.bin",      0x2000, 0x1000, 0xcff2af47 )
	ROM_LOAD( "ck10.bin",     0x3000, 0x1000, 0x520fa4de )
	ROM_LOAD( "md5l.bin",     0x4000, 0x1000, 0xd1db1bb0 )
	/* no ROM at 5000 */

	ROM_REGION_DISPOSE(0x6000)      /* temporary space for graphics (disposed after conversion) */
	ROM_LOAD( "ck6.bin",      0x0000, 0x1000, 0xa8916dc8 )
	ROM_LOAD( "ck4.bin",      0x1000, 0x1000, 0xb62a0367 )
	ROM_LOAD( "ck5.bin",      0x2000, 0x1000, 0xcd3b5dde )
	ROM_LOAD( "ck3.bin",      0x3000, 0x1000, 0x61122c5e )
	ROM_LOAD( "ck2.bin",      0x4000, 0x0800, 0xf67c80f1 )
	ROM_LOAD( "ck1.bin",      0x4800, 0x0800, 0x80eb517d )

	ROM_REGION(0x60)        /* color proms */
	ROM_LOAD( "ck6v.bin",     0x0000, 0x20, 0x751c3325 )
	ROM_LOAD( "ck6u.bin",     0x0020, 0x20, 0xab1940fa )
	ROM_LOAD( "ck6t.bin",     0x0040, 0x20, 0xb4e827a5 )

	ROM_REGION(0x2000)      /* samples */
	ROM_LOAD( "ck13.bin",     0x0000, 0x1000, 0x5f0bcdfb )
	ROM_LOAD( "ck12.bin",     0x1000, 0x1000, 0x2eb23b60 )
ROM_END

ROM_START( rpatrolb_rom )
	ROM_REGION(0x10000)     /* 64k for code */
	ROM_LOAD( "rp1.4l",       0x0000, 0x1000, 0xbfd7ae7a )
	ROM_LOAD( "rp2.4j",       0x1000, 0x1000, 0x03f53340 )
	ROM_LOAD( "rp3.4f",       0x2000, 0x1000, 0x8fa300df )
	ROM_LOAD( "rp4.4e",       0x3000, 0x1000, 0x74a8f1f4 )
	ROM_LOAD( "rp5.4c",       0x4000, 0x1000, 0xd7ef6c87 )
	/* no ROM at 5000 */

	ROM_REGION_DISPOSE(0x6000)      /* temporary space for graphics
	(disposed after conversion) */
	ROM_LOAD( "rp6.6n",       0x0000, 0x0800, 0x19f18e9e )
	/* 0800-0fff empty */
	ROM_LOAD( "rp8.6k",       0x1000, 0x0800, 0x008738c7 )
	/* 1800-1fff empty */
	ROM_LOAD( "rp7.6l",       0x2000, 0x0800, 0x07f2070d )
	/* 2800-2fff empty */
	ROM_LOAD( "rp9.6h",       0x3000, 0x0800, 0xea5aafca )
	/* 3800-3fff empty */
	ROM_LOAD( "rp11.6c",      0x4000, 0x0800, 0x065651a5 )
	ROM_LOAD( "rp10.6a",      0x4800, 0x0800, 0x59747c31 )

	ROM_REGION(0x0060)      /* color proms */
	ROM_LOAD( "bprom1.9n",    0x0000, 0x0020, 0xf9a2383b )
	ROM_LOAD( "bprom2.9p",    0x0020, 0x0020, 0x1743bd26 )
	ROM_LOAD( "bprom3.9c",    0x0040, 0x0020, 0xee03bc96 )

	ROM_REGION(0x2000)      /* samples */
	/* not used by this game */
ROM_END

ROM_START( silvland_rom )
	ROM_REGION(0x10000)     /* 64k for code */
	ROM_LOAD( "7.2r",         0x0000, 0x1000, 0x57e6be62 )
	ROM_LOAD( "8.1n",         0x1000, 0x1000, 0xbbb2b287 )
	ROM_LOAD( "9.2m",         0x2000, 0x1000, 0x8fa300df )
	ROM_LOAD( "10.2n",        0x3000, 0x1000, 0x5536a65d )
	ROM_LOAD( "11.1r",        0x4000, 0x1000, 0x6f23f66f )
	ROM_LOAD( "12.2k",        0x5000, 0x1000, 0x26f1537c )

	ROM_REGION_DISPOSE(0x6000)      /* temporary space for graphics
	(disposed after conversion) */
	ROM_LOAD( "6.6n",         0x0000, 0x0800, 0xaffb804f )
	/* 0800-0fff empty */
	ROM_LOAD( "4.6k",         0x1000, 0x0800, 0xe487579d )
	/* 1800-1fff empty */
	ROM_LOAD( "5.6l",         0x2000, 0x0800, 0xad4642e5 )
	/* 2800-2fff empty */
	ROM_LOAD( "3.6h",         0x3000, 0x0800, 0x59125a1a )
	/* 3800-3fff empty */
	ROM_LOAD( "2.6c",         0x4000, 0x0800, 0xc8d32b8e )
	ROM_LOAD( "1.6a",         0x4800, 0x0800, 0xee333daf )

	ROM_REGION(0x0060)      /* color proms */
	ROM_LOAD( "mb7051.1v",    0x0000, 0x0020, 0x1d2343b1 )
	ROM_LOAD( "mb7051.1u",    0x0020, 0x0020, 0xc174753c )
	ROM_LOAD( "mb7051.1t",    0x0040, 0x0020, 0x04a1be01 )

	ROM_REGION(0x2000)      /* samples */
	/* not used by this game */
ROM_END



static int cclimber_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[0x8083],"\x02\x00\x00",3) == 0 &&
			memcmp(&RAM[0x808f],"\x02\x00\x00",3) == 0)
	{
		void *f;


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

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

static void cclimber_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[0x8083],17*5);
		osd_fclose(f);
	}
}


static int ckong_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[0x611d],"\x50\x76\x00",3) == 0 &&
			memcmp(&RAM[0x61a5],"\x00\x43\x00",3) == 0)
	{
		void *f;


		if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
		{
			osd_fread(f,&RAM[0x6100],34*5);
			RAM[0x60b8] = RAM[0x611d];
			RAM[0x60b9] = RAM[0x611e];
			RAM[0x60ba] = RAM[0x611f];
			osd_fclose(f);
		}

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

static void ckong_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[0x6100],34*5);
		osd_fclose(f);
	}
}

static int rpatrolb_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[0x92fa],"\x1b",1) == 0)
	{
		void *f;

		if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
		{
			osd_fread(f,&RAM[0x919b],4);
			osd_fread(f,&RAM[0x91ba],6);
			osd_fread(f,&RAM[0x921b],4);
			osd_fread(f,&RAM[0x923a],6);
			osd_fread(f,&RAM[0x929b],4);
			osd_fread(f,&RAM[0x92ba],6);

			osd_fclose(f);

			/* Invalidate screen */
			memset(dirtybuffer,1,videoram_size);
		}
		return 1;
	}
	else return 0;  /* we can't load the hi scores yet */
}

static void rpatrolb_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[0x919b],4);
		osd_fwrite(f,&RAM[0x91ba],6);
		osd_fwrite(f,&RAM[0x921b],4);
		osd_fwrite(f,&RAM[0x923a],6);
		osd_fwrite(f,&RAM[0x929b],4);
		osd_fwrite(f,&RAM[0x92ba],6);

		osd_fclose(f);
		RAM[0x92fa] = 0;
	}
}



struct GameDriver cclimber_driver =
{
	__FILE__,
	0,
	"cclimber",
	"Crazy Climber (US)",
	"1980",
	"Nichibutsu",
	"Lionel Theunissen (hardware info and ROM decryption)\nNicola Salmoria (MAME driver)",
	0,
	&machine_driver,
	0,

	cclimber_rom,
	0, cclimber_decode,
	0,
	0,      /* sound_prom */

	cclimber_input_ports,

	PROM_MEMORY_REGION(2), 0, 0,
	ORIENTATION_DEFAULT,

	cclimber_hiload, cclimber_hisave
};

struct GameDriver ccjap_driver =
{
	__FILE__,
	&cclimber_driver,
	"ccjap",
	"Crazy Climber (Japan)",
	"1980",
	"Nichibutsu",
	"Lionel Theunissen (hardware info and ROM decryption)\nNicola Salmoria (MAME driver)",
	0,
	&machine_driver,
	0,

	ccjap_rom,
	0, ccjap_decode,
	0,
	0,      /* sound_prom */

	cclimber_input_ports,

	PROM_MEMORY_REGION(2), 0, 0,
	ORIENTATION_DEFAULT,

	cclimber_hiload, cclimber_hisave
};

struct GameDriver ccboot_driver =
{
	__FILE__,
	&cclimber_driver,
	"ccboot",
	"Crazy Climber (bootleg)",
	"1980",
	"bootleg",
	"Lionel Theunissen (hardware info and ROM decryption)\nNicola Salmoria (MAME driver)",
	0,
	&machine_driver,
	0,

	ccboot_rom,
	0, ccjap_decode,
	0,
	0,      /* sound_prom */

	cclimber_input_ports,

	PROM_MEMORY_REGION(2), 0, 0,
	ORIENTATION_DEFAULT,

	cclimber_hiload, cclimber_hisave
};



struct GameDriver ckong_driver =
{
	__FILE__,
	0,
	"ckong",

⌨️ 快捷键说明

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