diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c index ef27f21253f..7e212602dee 100644 --- a/src/mame/drivers/snowbros.c +++ b/src/mame/drivers/snowbros.c @@ -38,6 +38,7 @@ Toaplan, 1990 Hyper Pacman addition by David Haywood + some bits by Nicola Salmoria + !!DO NOT TRUST THE SERVICE MODES FOR DIPSWITCH SETTINGS!! Stephh's notes (hyperpac): @@ -1111,6 +1112,75 @@ static INPUT_PORTS_START( moremore ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END +static INPUT_PORTS_START( twinkle ) + PORT_START("DSW1") /* 500000.w */ + PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:2,3,4") + PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x0004, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x000e, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x000a, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) ) + PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:5,6,7") // this is what service mode lists, but I don't trust it. + PORT_DIPSETTING( 0x0020, "Level 1" ) + PORT_DIPSETTING( 0x0010, "Level 2" ) + PORT_DIPSETTING( 0x0000, "Level 3" ) + PORT_DIPSETTING( 0x0070, "Level 4" ) + PORT_DIPSETTING( 0x0060, "Level 5" ) + PORT_DIPSETTING( 0x0050, "Level 6" ) + PORT_DIPSETTING( 0x0040, "Level 7" ) + PORT_DIPSETTING( 0x0030, "Level 8" ) + PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) + PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) // jump + PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) // fire + PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1) // test mode only? + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + + PORT_START("DSW2") /* 500002.w */ + PORT_DIPNAME( 0x0003, 0x0002, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2") // unlisted in service mode + PORT_DIPSETTING( 0x0000, "1" ) + PORT_DIPSETTING( 0x0003, "2" ) + PORT_DIPSETTING( 0x0002, "3" ) + PORT_DIPSETTING( 0x0001, "4" ) + PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0000, "SW2:3" ) + PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0000, "SW2:4" ) + PORT_DIPNAME( 0x0010, 0x0010, "Pellet Animations" ) PORT_DIPLOCATION("SW2:5") // unlisted in service mode + PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) + PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0000, "SW2:6" ) + PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0000, "SW2:7" ) + PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) // jump + PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) // fire + PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) // test mode only? + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + + PORT_START("SYSTEM") /* 500004.w */ + PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_COIN2 ) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + // don't trust the test mode! <-- Verified via actual game play: Demo Sounds, Coinage & Free Play static INPUT_PORTS_START( pzlbreak ) PORT_START("DSW1") /* 500000.w */ @@ -2740,7 +2810,7 @@ GAME( 1996, cookbib2, 0, semiprot, cookbib2, cookbib2, ROT0, "SemiCom", " GAME( 1996, toppyrap, 0, semiprot, toppyrap, 0, ROT0, "SemiCom", "Toppy & Rappy", 0 ) GAME( 1997, cookbib3, 0, semiprot, cookbib3, cookbib3, ROT0, "SemiCom", "Cookie & Bibi 3", 0 ) GAME( 1997, 3in1semi, 0, semiprot, moremore, 3in1semi, ROT0, "SemiCom", "XESS - The New Revolution (SemiCom 3-in-1)", 0 ) -GAME( 1997, twinkle, 0, semiprot, moremore, 0, ROT0, "SemiCom", "Twinkle", 0 ) +GAME( 1997, twinkle, 0, semiprot, twinkle, 0, ROT0, "SemiCom", "Twinkle", 0 ) GAME( 1997, pzlbreak, 0, semiprot, pzlbreak, pzlbreak, ROT0, "SemiCom", "Puzzle Break", 0 ) GAME( 1999, moremore, 0, semiprot, moremore, moremorp, ROT0, "SemiCom / Exit", "More More", 0 ) GAME( 1999, moremorp, 0, semiprot, moremore, moremorp, ROT0, "SemiCom / Exit", "More More Plus", 0 )