mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
I was checking the game CATAPULT and noticed this game, despite not working
due to bad roms had a fully working service mode. I also noticed the DIP locations were well documented on-screen and differed some from the ones in source. I took the time to read up on how to assign DIPs correctly - but I was frustrated initially thinking I didn't understand it. I spoke to ETABETA about this and it seems I picked an uncommon game/driver which doesn't have normal mapping locations (for whatever reason) and that I'd need to find out what each value is actually doing. As a result and some work and some more help - I was able to understand how to do this and reworked the DIPs to what is output in the service mode for all games (except for Revenger) which did not work enough at all. While I was there, I added DIP LOCATIONS for all sets. I would assume this eventually benefit from a PORT_CUSTOM implementation. This .DIFF is based on 0.127u3 sources. Tafoid tafoid@yahoo.com
This commit is contained in:
parent
2cb15a9047
commit
d4cfc65c9b
@ -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 )
|
||||
|
Loading…
Reference in New Issue
Block a user