diff --git a/src/mame/drivers/epos.c b/src/mame/drivers/epos.c index ff1c59297d6..2cf486bbac3 100644 --- a/src/mame/drivers/epos.c +++ b/src/mame/drivers/epos.c @@ -141,27 +141,31 @@ static const ppi8255_interface ppi8255_intf = static INPUT_PORTS_START( megadon ) PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) ) + +// There are odd port mappings (old=new) +// 02=10, 04=40, 08=02, 10=20, 20=04, 40=08 + + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1") PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x02, 0x00, "Fuel Consumption" ) - PORT_DIPSETTING( 0x00, "Slow" ) - PORT_DIPSETTING( 0x02, "Fast" ) - PORT_DIPNAME( 0x04, 0x00, "Rotation" ) - PORT_DIPSETTING( 0x04, "Slow" ) - PORT_DIPSETTING( 0x00, "Fast" ) - PORT_DIPNAME( 0x08, 0x08, "ERG" ) - PORT_DIPSETTING( 0x08, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x20, 0x20, "Enemy Fire Rate" ) - PORT_DIPSETTING( 0x20, "Slow" ) - PORT_DIPSETTING( 0x00, "Fast" ) - PORT_DIPNAME( 0x50, 0x00, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x50, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:2,3") PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x10, "4" ) PORT_DIPSETTING( 0x40, "5" ) PORT_DIPSETTING( 0x50, "6" ) - PORT_DIPNAME( 0x80, 0x00, "Game Mode" ) + PORT_DIPNAME( 0x02, 0x00, "Fuel Consumption" ) PORT_DIPLOCATION("SW1:4") + PORT_DIPSETTING( 0x00, "Slow" ) + PORT_DIPSETTING( 0x02, "Fast" ) + PORT_DIPNAME( 0x20, 0x20, "Enemy Fire Rate" ) PORT_DIPLOCATION("SW1:5") + PORT_DIPSETTING( 0x20, "Slow" ) + PORT_DIPSETTING( 0x00, "Fast" ) + PORT_DIPNAME( 0x04, 0x00, "Rotation" ) PORT_DIPLOCATION("SW1:6") + PORT_DIPSETTING( 0x04, "Slow" ) + PORT_DIPSETTING( 0x00, "Fast" ) + PORT_DIPNAME( 0x08, 0x08, "ERG" ) PORT_DIPLOCATION("SW1:7") + PORT_DIPSETTING( 0x08, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) + PORT_DIPNAME( 0x80, 0x00, "Game Mode" ) PORT_DIPLOCATION("SW1:8") PORT_DIPSETTING( 0x00, "Arcade" ) PORT_DIPSETTING( 0x80, "Contest" ) @@ -189,10 +193,19 @@ INPUT_PORTS_END static INPUT_PORTS_START( suprglob ) PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) ) + +// There are odd port mappings (old=new) +// 02=10, 04=40, 08=20, 10=02, 20=04, 40=08 + + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1") PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x26, 0x00, DEF_STR( Difficulty ) ) + PORT_DIPNAME( 0x50, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:2,3") + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x10, "4" ) + PORT_DIPSETTING( 0x40, "5" ) + PORT_DIPSETTING( 0x50, "6" ) + PORT_DIPNAME( 0x26, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:4,5,6") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x02, "2" ) PORT_DIPSETTING( 0x20, "3" ) @@ -201,15 +214,10 @@ static INPUT_PORTS_START( suprglob ) PORT_DIPSETTING( 0x06, "6" ) PORT_DIPSETTING( 0x24, "7" ) PORT_DIPSETTING( 0x26, "8" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x00, "10000 + Difficulty * 10000" ) PORT_DIPSETTING( 0x08, "90000 + Difficulty * 10000" ) - PORT_DIPNAME( 0x50, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x10, "4" ) - PORT_DIPSETTING( 0x40, "5" ) - PORT_DIPSETTING( 0x50, "6" ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -240,15 +248,24 @@ INPUT_PORTS_END static INPUT_PORTS_START( igmo ) PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) ) + +// There are odd port mappings (old=new) +// 02=10, 04=40, 08=20, 10=02, 20=04, 40=08 + + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1") PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x22, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPNAME( 0x50, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:2,3") + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x10, "4" ) + PORT_DIPSETTING( 0x40, "5" ) + PORT_DIPSETTING( 0x50, "6" ) + PORT_DIPNAME( 0x22, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4,5") PORT_DIPSETTING( 0x00, "20000" ) PORT_DIPSETTING( 0x02, "40000" ) PORT_DIPSETTING( 0x20, "60000" ) PORT_DIPSETTING( 0x22, "80000" ) - PORT_DIPNAME( 0x8c, 0x00, DEF_STR( Difficulty ) ) + PORT_DIPNAME( 0x8c, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:6,7,8") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x04, "2" ) PORT_DIPSETTING( 0x08, "3" ) @@ -257,11 +274,6 @@ static INPUT_PORTS_START( igmo ) PORT_DIPSETTING( 0x84, "6" ) PORT_DIPSETTING( 0x88, "7" ) PORT_DIPSETTING( 0x8c, "8" ) - PORT_DIPNAME( 0x50, 0x00, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "3" ) - PORT_DIPSETTING( 0x10, "4" ) - PORT_DIPSETTING( 0x40, "5" ) - PORT_DIPSETTING( 0x50, "6" ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) @@ -287,30 +299,53 @@ static INPUT_PORTS_START( igmo ) INPUT_PORTS_END +static INPUT_PORTS_START( catapult ) + PORT_INCLUDE(igmo) + PORT_MODIFY("DSW") + +// There are odd port mappings (old=new) +// 02=08, 04=20, 08=40, 10=02, 20=10, 40=04 + + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) + PORT_DIPNAME( 0x50, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:2,3") + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x10, "4" ) + PORT_DIPSETTING( 0x40, "5" ) + PORT_DIPSETTING( 0x50, "6" ) + PORT_DIPNAME( 0x22, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:4,5") + PORT_DIPSETTING( 0x00, "1" ) + PORT_DIPSETTING( 0x02, "2" ) + PORT_DIPSETTING( 0x20, "3" ) + PORT_DIPSETTING( 0x22, "4" ) + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:6,7") + PORT_DIPSETTING( 0x00, "20000" ) + PORT_DIPSETTING( 0x04, "40000" ) + PORT_DIPSETTING( 0x08, "60000" ) + PORT_DIPSETTING( 0x0c, "80000" ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + + static INPUT_PORTS_START( dealer ) PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Free_Play ) ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Cabinet ) ) + PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW1:4" ) + PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:5" ) + PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:6" ) + PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:7" ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x40, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -612,7 +647,7 @@ static DRIVER_INIT( dealer ) *************************************/ GAME( 1982, megadon, 0, epos, megadon, 0, ROT270, "Epos Corporation (Photar Industries license)", "Megadon", 0 ) -GAME( 1982, catapult, 0, epos, igmo, 0, ROT270, "Epos Corporation", "Catapult", GAME_NOT_WORKING) /* bad rom, hold f2 for test mode */ +GAME( 1982, catapult, 0, epos, catapult, 0, ROT270, "Epos Corporation", "Catapult", GAME_NOT_WORKING) /* bad rom, hold f2 for test mode */ GAME( 1983, suprglob, 0, epos, suprglob, 0, ROT270, "Epos Corporation", "Super Glob", 0 ) GAME( 1983, theglob, suprglob, epos, suprglob, 0, ROT270, "Epos Corporation", "The Glob", 0 ) GAME( 1983, theglob2, suprglob, epos, suprglob, 0, ROT270, "Epos Corporation", "The Glob (earlier)", 0 )