summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/epos.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/epos.c')
-rw-r--r--src/mame/drivers/epos.c129
1 files changed, 82 insertions, 47 deletions
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_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( 0x02, 0x00, "Fuel Consumption" ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x00, "Slow" )
PORT_DIPSETTING( 0x02, "Fast" )
- PORT_DIPNAME( 0x04, 0x00, "Rotation" )
+ 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_DIPNAME( 0x08, 0x08, "ERG" ) PORT_DIPLOCATION("SW1:7")
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_DIPSETTING( 0x00, "3" )
- PORT_DIPSETTING( 0x10, "4" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x50, "6" )
- PORT_DIPNAME( 0x80, 0x00, "Game Mode" )
+ 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 )