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

📄 vsunisystem.cpp

📁 著名的任天堂FC游戏机模拟器VirtuaNes 085版的源码!
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	"Balls",			0x6000,
	"2",				0x60,
	"3",				0x00,
	"4",				0x40,
	"5",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Ball Speed",			0x8000,
	"Normal",			0x00,
	"Fast",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Mach Rider(Endurance Course)
VSDIPSWITCH	vsdip_machrider[] = {
//	Dipname				mask&value
	"Coin",				0x0700,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x04,
	"1 Coin  / 3 Credits",		0x02,
	"1 Coin  / 4 Credits",		0x06,
	"2 Coins / 1 Credit",		0x01,
	"3 Coins / 1 Credit",		0x05,
	"4 Coins / 1 Credit",		0x03,
	"Free Play",			0x07,
	NULL,				0xFF,
//	Dipname				mask&value
	"Time",				0x1800,
	"280",				0x00,
	"250",				0x10,
	"220",				0x08,
	"200",				0x18,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x2000,
	"Off",				0x00,
	"On",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x4000,
	"Off",				0x00,
	"On",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Mach Rider (Japan, Fighting Course)
VSDIPSWITCH	vsdip_machriderj[] = {
//	Dipname				mask&value
	"Coin",				0x0700,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x04,
	"1 Coin  / 3 Credits",		0x02,
	"1 Coin  / 4 Credits",		0x06,
	"2 Coins / 1 Credit",		0x01,
	"3 Coins / 1 Credit",		0x05,
	"4 Coins / 1 Credit",		0x03,
	"Free Play",			0x07,
	NULL,				0xFF,
//	Dipname				mask&value
	"1st Race Distance",		0x1000,
	"12",				0x00,
	"15",				0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x1000,
	"Off",				0x00,
	"On",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x2000,
	"Off",				0x00,
	"On",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x4000,
	"Off",				0x00,
	"On",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Soccer
VSDIPSWITCH	vsdip_soccer[] = {
//	Dipname				mask&value
	"Coin",				0x0700,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x04,
	"1 Coin  / 3 Credits",		0x02,
	"1 Coin  / 4 Credits",		0x06,
	"2 Coins / 1 Credit",		0x01,
	"3 Coins / 1 Credit",		0x05,
	"4 Coins / 1 Credit",		0x03,
	"Free Play",			0x07,
	NULL,				0xFF,
//	Dipname				mask&value
	"Points Timer",			0x1808,
	"600pts",			0x00,
	"800pts",			0x10,
	"1000pts",			0x08,
	"1200pts",			0x18,
	NULL,				0xFF,
//	Dipname				mask&value
	"Difficulty",			0x6040,
	"Easy",				0x00,
	"Normal",			0x40,
	"Hard",				0x20,
	"Hardest",			0x60,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Battle City
VSDIPSWITCH	vsdip_battlecity[] = {
//	Dipname				mask&value
	"Credits for 2 Players",	0x0101,
	"1",				0x00,
	"2",				0x01,
	NULL,				0xFF,
//	Dipname				mask&value
	"Lives",			0x0200,
	"3",				0x00,
	"5",				0x02,
	NULL,				0xFF,
//	Dipname				mask&value
	"Demo Sounds",			0x0404,
	"Off",				0x00,
	"On",				0x04,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x1000,
	"Off",				0x00,
	"On",				0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x2000,
	"Off",				0x00,
	"On",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Color Palette",		0xC080,
	"Normal",			0x80,
	"Wrong 1",			0x00,
	"Wrong 2",			0x40,
	"Wrong 3",			0xC0,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Gradius
VSDIPSWITCH	vsdip_gradius[] = {
//	Dipname				mask&value
	"Coin",				0x0700,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x04,
	"1 Coin  / 3 Credits",		0x02,
	"2 Coins / 1 Credit",		0x06,
	"3 Coins / 1 Credit",		0x01,
	"4 Coins / 1 Credit",		0x05,
	"5 Coins / 1 Credit",		0x03,
	"Free Play",			0x07,
	NULL,				0xFF,
//	Dipname				mask&value
	"Lives",			0x0808,
	"3",				0x08,
	"4",				0x00,
	NULL,				0xFF,
//	Dipname				mask&value
	"Bonus",			0x3000,
	"100k",				0x00,
	"200k",				0x20,
	"300k",				0x10,
	"400k",				0x30,
	NULL,				0xFF,
//	Dipname				mask&value
	"Difficulty",			0x4000,
	"Normal",			0x00,
	"Hard",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Demo Sounds",			0x8080,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Goonies
VSDIPSWITCH	vsdip_goonies[] = {
//	Dipname				mask&value
	"Coin",				0x0700,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x04,
	"1 Coin  / 3 Credits",		0x02,
	"2 Coins / 1 Credit",		0x06,
	"3 Coins / 1 Credit",		0x01,
	"4 Coins / 1 Credit",		0x05,
	"5 Coins / 1 Credit",		0x03,
	"Free Play",			0x07,
	NULL,				0xFF,
//	Dipname				mask&value
	"Lives",			0x0800,
	"3",				0x00,
	"2",				0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x1000,
	"Off",				0x00,
	"On",				0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x2000,
	"Off",				0x00,
	"On",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Timer",			0x4000,
	"Normal",			0x00,
	"Fast",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Demo Sounds",			0x8080,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Hogan's Alley
VSDIPSWITCH	vsdip_hogansalley[] = {
//	Dipname				mask&value
	"Coin",				0x0700,
	"5 Coins / 1 Credit",		0x03,
	"4 Coins / 1 Credit",		0x05,
	"3 Coins / 1 Credit",		0x01,
	"2 Coins / 1 Credit",		0x06,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x04,
	"1 Coin  / 3 Credits",		0x02,
	"Free Play",			0x07,
	NULL,				0xFF,
//	Dipname				mask&value
	"Difficulty",			0x1808,
	"Easy",				0x00,
	"Normal",			0x08,
	"Hard",				0x10,
	"Very Hard",			0x18,
	NULL,				0xFF,
//	Dipname				mask&value
	"Misses par Game",		0x2000,
	"3",				0x00,
	"5",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Bonus Life",			0xC000,
	"30000pts",			0x00,
	"50000pts",			0x40,
	"80000pts",			0x80,
	"100000pts",			0xC0,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Freedom Force
VSDIPSWITCH	vsdip_freedomforce[] = {
//	Dipname				mask&value
	"Unknown",			0x0100,
	"Off",				0x00,
	"On",				0x01,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x0200,
	"Off",				0x00,
	"On",				0x02,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x0400,
	"Off",				0x00,
	"On",				0x04,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x0800,
	"Off",				0x00,
	"On",				0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x1000,
	"Off",				0x00,
	"On",				0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x2000,
	"Off",				0x00,
	"On",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x4000,
	"Off",				0x00,
	"On",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Super Xevious
VSDIPSWITCH	vsdip_superxevious[] = {
//	Dipname				mask&value
	"Unknown",			0x0100,
	"Off",				0x00,
	"On",				0x01,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x0200,
	"Off",				0x00,
	"On",				0x02,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x0400,
	"Off",				0x00,
	"On",				0x04,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x0800,
	"Off",				0x00,
	"On",				0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x1000,
	"Off",				0x00,
	"On",				0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x2000,
	"Off",				0x00,
	"On",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x4000,
	"Off",				0x00,
	"On",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Golf/Lady Golf
VSDIPSWITCH	vsdip_golf[] = {
//	Dipname				mask&value
	"Coin",				0x0701,
	"1 Coin  / 1 Credit",		0x01,
	"1 Coin  / 2 Credits",		0x06,
	"1 Coin  / 3 Credits",		0x02,
	"1 Coin  / 4 Credits",		0x04,
	"2 Coins / 1 Credit",		0x05,
	"3 Coins / 1 Credit",		0x03,
	"4 Coins / 1 Credit",		0x07,
	"Free Play",			0x00,
	NULL,				0xFF,
//	Dipname				mask&value
	"Hole Size",			0x0800,
	"Large",			0x00,
	"Small",			0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Points par Stroke",		0x1000,
	"Easier",			0x00,
	"Harder",			0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"Starting Points",		0x6000,
	"10",				0x00,
	"13",				0x40,
	"16",				0x20,
	"20",				0x60,
	NULL,				0xFF,
//	Dipname				mask&value
	"Difficulty Vs. Computer",	0x8000,
	"Easy",				0x00,
	"Hard",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Stroke and Match Golf
VSDIPSWITCH	vsdip_strokandmatchegolf[] = {
//	Dipname				mask&value
	"Coin",				0x0701,
	"1 Coin  / 1 Credit",		0x01,
	"1 Coin  / 2 Credits",		0x06,
	"1 Coin  / 3 Credits",		0x02,
	"1 Coin  / 4 Credits",		0x04,
	"2 Coins / 1 Credit",		0x05,
	"3 Coins / 1 Credit",		0x03,
	"4 Coins / 1 Credit",		0x07,
	"Free Play",			0x00,
	NULL,				0xFF,
//	Dipname				mask&value
	"Hole Size",			0x0800,
	"Large",			0x00,
	"Small",			0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Points par Stroke",		0x1000,
	"Easier",			0x00,
	"Harder",			0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"Starting Points",		0x6000,
	"300",				0x00,
	"400",				0x40,
	"500",				0x20,
	"600",				0x60,
	NULL,				0xFF,
//	Dipname				mask&value
	"Difficulty Vs. Computer",	0x8000,
	"Easy",				0x00,
	"Hard",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Raid on Bungeling Bay(J)
VSDIPSWITCH	vsdip_raidonbungelingbay[] = {
//	Dipname				mask&value
	"Coin",				0x0700,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x04,
	"1 Coin  / 3 Credits",		0x02,
	"1 Coin  / 4 Credits",		0x06,
	"2 Coins / 1 Credit",		0x01,
	"3 Coins / 1 Credit",		0x05,
	"4 Coins / 1 Credit",		0x03,
	"Free Play",			0x07,
	NULL,				0xFF,
//	Dipname				mask&value
	"Lives",			0x0808,
	"2",				0x00,
	"3",				0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x1000,
	"Off",				0x00,
	"On",				0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x2000,
	"Off",				0x00,
	"On",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x4000,
	"Off",				0x00,
	"On",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};

// VS Mighty Bomb Jack(J)
VSDIPSWITCH	vsdip_mightybombjack[] = {
//	Dipname				mask&value
	"Coin",				0x0700,
	"5 Coins / 1 Credit",		0x07,
	"4 Coins / 1 Credit",		0x03,
	"3 Coins / 1 Credit",		0x05,
	"2 Coins / 1 Credit",		0x01,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x04,
	"1 Coin  / 3 Credits",		0x02,
	"1 Coin  / 4 Credits",		0x06,
	NULL,				0xFF,
//	Dipname				mask&value
	"Lives",			0x1800,
	"2",				0x10,
	"3",				0x00,
	"4",				0x08,
	"5",				0x18,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x2000,
	"Off",				0x00,
	"On",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x4000,
	"Off",				0x00,
	"On",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// 僨儕儈僞
	NULL,				0,
};


VSDIPSWITCH*	FindVSDipSwitchTable( DWORD crc )
{
VSDIPSWITCH*	dip = vsdip_default;

	switch( crc ) {
		case	0xeb2dba63:	// VS TKO Boxing
		case	0x98cfe016:
		case	0x9818f656:
			dip = vsdip_tkoboxing;
			break;
		case	0xb90497aa:	// VS Tennis
			break;
		case	0x8c0c2df5:	// VS Top Gun
			dip = vsdip_topgun;
			break;
		case	0x16d3f469:	// VS Ninja Jajamaru Kun (J)
			dip = vsdip_jajamaru;
			break;
		case	0x8850924b:	// VS Tetris
			dip = vsdip_tetris;
			break;
		case	0xcf36261e:	// VS Sky Kid
			dip = vsdip_skykid;
			break;
		case	0xe1aa8214:	// VS Star Luster
			dip = vsdip_starluster;
			break;
		case	0xec461db9:	// VS Pinball
		case	0xe528f651:	// VS Pinball (alt)
			dip = vsdip_pinball;
			break;
		case	0x17ae56be:	// VS Freedom Force
			dip = vsdip_freedomforce;
			break;
		case	0xe2c0a2be:	// VS Platoon
			dip = vsdip_platoon;
			break;
		case	0x70901b25:	// VS Slalom
			dip = vsdip_slalom;
			break;
		case	0x0b65a917:	// VS Mach Rider(Endurance Course)
		case	0x8a6a9848:
			dip = vsdip_machrider;
			break;
		case	0xae8063ef:	// VS Mach Rider(Japan, Fighting Course)
			dip = vsdip_machriderj;
			break;
		case	0xffbef374:	// VS Castlevania
			dip = vsdip_castlevania;
			break;

		case	0xcc2c4b5d:	// VS Golf
		case	0x86167220:	// VS Lady Golf
			dip = vsdip_golf;
			break;

		case	0xa93a5aee:	// VS Stroke and Match Golf
			dip = vsdip_strokandmatchegolf;
			break;

		case	0x135adf7c:	// VS Atari RBI Baseball
			dip = vsdip_rbibaseball;
			break;
		case	0xd5d7eac4:	// VS Dr. Mario
			dip = vsdip_drmario;
			break;
		case	0x46914e3e:	// VS Soccer
			dip = vsdip_soccer;
			break;
		case	0x70433f2c:	// VS Battle City
		case	0x8d15a6e6:	// VS bad .nes
			dip = vsdip_battlecity;
			break;
		case	0x1e438d52:	// VS Goonies
			dip = vsdip_goonies;
			break;

		case	0xcbe85490:	// VS Excitebike
		case	0x29155e0c:	// VS Excitebike (alt)
			dip = vsdip_excitebike;
			break;

		case	0x07138c06:	// VS Clu Clu Land
			dip = vsdip_clucluland;
			break;
		case	0x43a357ef:	// VS Ice Climber
			dip = vsdip_iceclimber;
			break;
		case	0x737dd1bf:	// VS Super Mario Bros
		case	0x4bf3972d:
		case	0x8b60cc58:
		case	0x8192c804:
			dip = vsdip_supermariobros;
			break;

		case	0xd99a2087:	// VS Gradius
			dip = vsdip_gradius;
			break;
		case	0xf9d3b0a3:	// VS Super Xevious
		case	0x9924980a:	// VS Super Xevious
		case	0x66bb838f:	// VS Super Xevious
			dip = vsdip_superxevious;
			break;

		case	0xff5135a3:	// VS Hogan's Alley
			dip = vsdip_hogansalley;
			break;
		case	0xed588f00:	// VS Duck Hunt
			dip = vsdip_duckhunt;
			break;

		case	0xc99ec059:	// VS Raid on Bungeling Bay(J)
			dip = vsdip_raidonbungelingbay;
			break;
		case	0xca85e56d:	// VS Mighty Bomb Jack(J)
			dip = vsdip_mightybombjack;
			break;
	}

	return	dip;
}

BYTE	GetVSDefaultDipSwitchValue( DWORD crc )
{
VSDIPSWITCH*	dip = FindVSDipSwitchTable( crc );

	BYTE	value = 0x00;
	BYTE	flag = 0;
	for(;;) {
		if( dip->name == NULL && dip->value == 0x0000 ) {
			break;
		} else if( dip->value == 0x00FF ) {
			flag = 0;
		} else if( !flag ) {
			flag = 1;
			value |= dip->value;
		}
		dip++;
	}

	return	value;
}

⌨️ 快捷键说明

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