#include "VsUnisystem.h"

// デフォルトDIP-SW
VSDIPSWITCH	vsdip_default[] = {
//	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 TKO Boxing
VSDIPSWITCH	vsdip_tkoboxing[] = {
//	Dipname				mask&value
	"Coin",				0x0300,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x01,
	"2 Coins / 1 Credit",		0x02,
	"3 Coins / 1 Credit",		0x03,
	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
	"Color Palette",		0x2020,
	"Normal",			0x20,
	"Wrong",			0x00,
	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 Atari RBI Baseball
VSDIPSWITCH	vsdip_rbibaseball[] = {
//	Dipname				mask&value
	"Coin",				0x0300,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x01,
	"2 Coins / 1 Credit",		0x02,
	"3 Coins / 1 Credit",		0x03,
	NULL,				0xFF,
//	Dipname				mask&value
	"Max. 1p/in, 2p/in, Min",	0x0C0C,
	"2, 1, 3",			0x04,
	"2, 2, 4",			0x0C,
	"3, 2, 6",			0x00,
	"4, 3, 7",			0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Demo Sounds",			0x1000,
	"Off",				0x10,
	"On",				0x00,
	NULL,				0xFF,
//	Dipname				mask&value
	"Color Palette",		0xE080,
	"Normal",			0x80,
	"Wrong 1",			0x00,
	"Wrong 2",			0x40,
	"Wrong 3",			0x20,
	"Wrong 4",			0xC0,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Duck Hunt
VSDIPSWITCH	vsdip_duckhunt[] = {
//	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
	"Difficulty",			0x1808,
	"Easy",				0x00,
	"Normal",			0x08,
	"Hard",				0x10,
	"Very Hard",			0x18,
	NULL,				0xFF,
//	Dipname				mask&value
	"Missed 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 Ninja Jajamaru Kun (J)
VSDIPSWITCH	vsdip_jajamaru[] = {
//	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,
	"3 Coins / 1 Credit",		0x01,
	"4 Coins / 1 Credit",		0x05,
	"5 Coins / 1 Credit",		0x03,
	"Free Play",			0x07,
	NULL,				0xFF,
//	Dipname				mask&value
	"Lives",			0x1800,
	"3",				0x00,
	"4",				0x10,
	"5",				0x08,
	"6",				0x18,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x4000,
	"Off",				0x00,
	"On",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Demo Sounds",			0x8080,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Tetris
VSDIPSWITCH	vsdip_tetris[] = {
//	Dipname				mask&value
	"Coin",				0x0300,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x02,
	"2 Coins / 1 Credit",		0x01,
	"3 Coins / 1 Credit",		0x03,
	NULL,				0xFF,
//	Dipname				mask&value
	"Difficulty",			0x0C08,
	"Easy",				0x00,
	"Normal",			0x04,
	"Hard",				0x08,
	"Very Hard",			0x0C,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x1000,
	"Off",				0x00,
	"On",				0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"Color Palette",		0x6060,
	"Normal",			0x60,
	"Wrong 1",			0x20,
	"Wrong 2",			0x40,
	"Wrong 3",			0x00,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Top Gun
VSDIPSWITCH	vsdip_topgun[] = {
//	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 par Coin",		0x0800,
	"3 - 12 Max",			0x00,
	"2 - 9 Max",			0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Bonus",			0x3000,
	"30k and every 50k",		0x00,
	"50k and every 100k",		0x20,
	"100k and every 150k",		0x10,
	"200k and every 200k",		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 Slalom
VSDIPSWITCH	vsdip_slalom[] = {
//	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
	"Freestyle Points",		0x0800,
	"Left / Right",			0x00,
	"Hold Time",			0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Difficulty",			0x3010,
	"Easy",				0x00,
	"Normal",			0x10,
	"Hard",				0x20,
	"Hardest",			0x30,
	NULL,				0xFF,
//	Dipname				mask&value
	"Allow Continue",		0x4000,
	"No",				0x40,
	"Yes",				0x00,
	NULL,				0xFF,
//	Dipname				mask&value
	"Inverted input",		0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Sky Kid
VSDIPSWITCH	vsdip_skykid[] = {
//	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
	"Lives",			0x0404,
	"2",				0x00,
	"3",				0x04,
	NULL,				0xFF,
//	Dipname				mask&value
	"Coin",				0x1800,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x08,
	"2 Coins / 1 Credit",		0x10,
	"3 Coins / 1 Credit",		0x18,
	NULL,				0xFF,
//	Dipname				mask&value
	"Color Palette",		0xE020,
	"Normal",			0x20,
	"Wrong 1",			0x00,
	"Wrong 2",			0x40,
	"Wrong 3",			0x80,
	"Wrong 4",			0xC0,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Star Luster
VSDIPSWITCH	vsdip_starluster[] = {
//	Dipname				mask&value
	"Coin",				0x0300,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x02,
	"2 Coins / 1 Credit",		0x01,
	"3 Coins / 1 Credit",		0x03,
	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
	"Color Palette",		0x6000,
	"Normal",			0x00,
	"Wrong 1",			0x20,
	"Wrong 2",			0x40,
	"Wrong 3",			0x60,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Dr. Mario
VSDIPSWITCH	vsdip_drmario[] = {
//	Dipname				mask&value
	"Drop Rate Increases After",	0x0300,
	"7 Pills",			0x00,
	"8 Pills",			0x01,
	"9 Pills",			0x02,
	"10 Pills",			0x03,
	NULL,				0xFF,
//	Dipname				mask&value
	"Virus Level",			0x0C00,
	"1",				0x00,
	"3",				0x04,
	"5",				0x08,
	"7",				0x0C,
	NULL,				0xFF,
//	Dipname				mask&value
	"Drop Speed Up",		0x3000,
	"Slow",				0x00,
	"Midium",			0x10,
	"Fast",				0x20,
	"Fastest",			0x30,
	NULL,				0xFF,
//	Dipname				mask&value
	"Free Play",			0x4000,
	"Off",				0x00,
	"On",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Demo Sounds",			0x8080,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Castlevania
VSDIPSWITCH	vsdip_castlevania[] = {
//	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,
	"2",				0x00,
	"3",				0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Bonus",			0x3000,
	"100k",				0x00,
	"200k",				0x10,
	"300k",				0x20,
	"400k",				0x30,
	NULL,				0xFF,
//	Dipname				mask&value
	"Difficulty",			0x4000,
	"Normal",			0x00,
	"Hard",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Platoon
VSDIPSWITCH	vsdip_platoon[] = {
//	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
	"Demo Sounds",			0x0404,
	"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
	"Coin",				0xE000,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x20,
	"1 Coin  / 3 Credits",		0x40,
	"2 Coins / 1 Credit",		0x60,
	"3 Coins / 1 Credit",		0x80,
	"4 Coins / 1 Credit",		0xA0,
	"5 Coins / 1 Credit",		0xC0,
	"Free Play",			0xE0,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Excitebike
VSDIPSWITCH	vsdip_excitebike[] = {
//	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
	"Bonus",			0x1800,
	"100k and Every 50k",		0x00,
	"Every 100k",			0x10,
	"100k Only",			0x08,
	"None",				0x18,
	NULL,				0xFF,
//	Dipname				mask&value
	"1st Half Qualifying Time",	0x2000,
	"Normal",			0x00,
	"Hard",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"2nd Half Qualifying Time",	0x4000,
	"Normal",			0x00,
	"Hard",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Clu Clu Land
VSDIPSWITCH	vsdip_clucluland[] = {
//	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
	"Unknown",			0x0800,
	"Off",				0x00,
	"On",				0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x1000,
	"Off",				0x00,
	"On",				0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"Lives",			0x6000,
	"2",				0x60,
	"3",				0x00,
	"4",				0x40,
	"5",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Ice Climber
VSDIPSWITCH	vsdip_iceclimber[] = {
//	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",			0x1800,
	"3",				0x00,
	"4",				0x10,
	"5",				0x08,
	"7",				0x18,
	NULL,				0xFF,
//	Dipname				mask&value
	"Difficulty",			0x2000,
	"Normal",			0x00,
	"Hard",				0x20,
	NULL,				0xFF,
//	Dipname				mask&value
	"Time before the bear",		0x4000,
	"Long",				0x00,
	"Short",			0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x8000,
	"Off",				0x00,
	"On",				0x80,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Super Mario Bros
VSDIPSWITCH	vsdip_supermariobros[] = {
//	Dipname				mask&value
	"Coin",				0x0700,
	"1 Coin  / 1 Credit",		0x00,
	"1 Coin  / 2 Credits",		0x06,
	"1 Coin  / 3 Credits",		0x01,
	"1 Coin  / 4 Credits",		0x05,
	"1 Coin  / 5 Credits",		0x03,
	"2 Coins / 1 Credit",		0x04,
	"3 Coins / 1 Credit",		0x02,
	"Free Play",			0x07,
	NULL,				0xFF,
//	Dipname				mask&value
	"Lives",			0x0800,
	"2",				0x08,
	"3",				0x00,
	NULL,				0xFF,
//	Dipname				mask&value
	"Bonus Life",			0x3000,
	"100",				0x00,
	"150",				0x20,
	"200",				0x10,
	"250",				0x30,
	NULL,				0xFF,
//	Dipname				mask&value
	"Timer",			0x4000,
	"Normal",			0x00,
	"Fast",				0x40,
	NULL,				0xFF,
//	Dipname				mask&value
	"Continue Lives",		0x8000,
	"3",				0x80,
	"4",				0x00,
	NULL,				0xFF,
// デリミタ
	NULL,				0,
};

// VS Pinball
VSDIPSWITCH	vsdip_pinball[] = {
//	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
	"Unknown",			0x0800,
	"Off",				0x00,
	"On",				0x08,
	NULL,				0xFF,
//	Dipname				mask&value
	"Unknown",			0x1000,
	"Off",				0x00,
	"On",				0x10,
	NULL,				0xFF,
//	Dipname				mask&value
	"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;
}

