From 08b4ee5f08c9cf8d7da444a43b03ddbf9e902aeb Mon Sep 17 00:00:00 2001 From: davidhay Date: Tue, 1 Jul 2008 22:29:44 +0000 Subject: [PATCH] tumbleb.c update (from Stephh) - updated Dip Switches for 'wlstar' and 'wondl96' - added notes for these 2 games and updated some others - added port tags and updated memory definitions and read handlers --- src/mame/drivers/tumbleb.c | 788 +++++++++++++++++++------------------ 1 file changed, 409 insertions(+), 379 deletions(-) diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c index f8eb0729444..87fb49c17b8 100644 --- a/src/mame/drivers/tumbleb.c +++ b/src/mame/drivers/tumbleb.c @@ -10,9 +10,9 @@ Pang Pang (c) 1994 Dong Gue La Mi Ltd. Super Trio[1] (c) 1994 GameAce Fancy World (c) 1995 Unico - Choky! Choky! (c) 1995 SemiCom Hatch Catch (c) 1995 SemiCom Cookie & Bibi[2] (c) 1995 SemiCom + Choky! Choky! (c) 1995 SemiCom WonderLeague Star (c) 1995 Mijin (Korea Only) - SemiCom used the name Mijin up to 1995 WonderLeague '96 (c) 1996 SemiCom (Korea Only) SD Fighters (c) 1996 SemiCom (Korea Only) @@ -117,7 +117,12 @@ Stephh's notes (based on the games M68000 code and some tests) : If you have any clue, please let me know ... -3) 'htchctch' +3) 'pangpang' + + - The game needs more investigation to get similar infos to "Tumble Pop" bootlegs/ripoffs. + + +4) 'htchctch' - As I'm too bad at playing such game, I haven't been able to determine what's the effect of DSW2-2 (which is called "Stage Skip" in "Test Mode"), @@ -126,7 +131,7 @@ Stephh's notes (based on the games M68000 code and some tests) : - "Difficulty" and "Coinage" Dip Switches aren't visible in "Test Mode". -4) 'cookbib' +5) 'cookbib' - Whatever is written in "Test Mode", Dip Switch bank 1 is unused, so DSW 1-1 (which is called "Stage Skip") might be a leftover from another game. @@ -134,7 +139,51 @@ Stephh's notes (based on the games M68000 code and some tests) : - "Difficulty" and "Coinage" Dip Switches aren't visible in "Test Mode". -5) 'fncywrld' +6) 'wlstar' + + - DSW 1-3 is read once (check code at 0x000eae), but the address + where the computed value is stored is NEVER read back ! + I guess this might be a leftover from another game. + + - DSW 2-8 determines the last inning if there is a draw after inning 9. + After inning 9, scores are checked to see if there us still a draw. + Once last inning is over, the game ends regardless of the score. + + - The "VS CPU Game Ends" Dip Switch is used when you play a game against the CPU. + If CPU's score is +10 or +7 than player's score, the game ends. + + - The "VS Game" Dip Switch affects single game against CPU or other player + (choices 2 and 3). Once the number of innings is achieved, the player(s) + is (are) proposed to continue, provided they get enough credits. + + - The "Full 2 Players Game" determines how many credits are required + to enlighten the 4th choice (2 players 9 innings match). + + +7) 'wonld96' + + - I can't determine what's the effect of DSW 1-7 to DSW 1-5 :( + All I can tell is that the computed value (from 0x0000 to 0x0007) is stored at 0x12279c.w + and it is compared with the contents of adresses 0x1207c6.w and 0x12153c.w . + + - DSW 1-4 changes the color of the field, but I don't know if it has + some other effects. Please check this out and let me know. + + - The "VS CPU Game Ends" Dip Switch is used when you play a game against the CPU. + If CPU's score is +10 or +7 than player's score, the game ends. + + - The "VS Game" Dip Switch affects single game against CPU or other player + (choices 2 and 3). Once the number of innings is achieved, the player(s) + is (are) proposed to continue, provided they get enough credits. + + - The "Full 2 Players Game" determines how many credits are required + to enlighten the 4th choice (2 players 9 innings match). + + - DSW 2-1 should be "Demo Sounds", but there are NEVER demo sounds + due to code at 0x000fe6 ('beq $fea'). So I've marked it as "Unused". + + +8) 'fncywrld' - I'm not sure about the release date of this game : * on the title screen, it ALWAYS displays 1996 @@ -151,7 +200,7 @@ Stephh's notes (based on the games M68000 code and some tests) : This needs more investigation to get similar infos to "Tumble Pop" bootlegs/ripoffs. -6) 'bcstry*' +9) 'bcstry*' - DSW 2-6 and DSW 2-7 are read once (check code at 0x000628), but the address where the computed value is stored is NEVER read back ! @@ -169,10 +218,10 @@ Stephh's notes (based on the games M68000 code and some tests) : This Dip Switch overrides "Event Selection" Dip Switch ! -7) 'semibase' +10) 'semibase' - I'm completely unsure that there are 4 coin slots for this game, - but pressing ANY of the 4 COIN* buttons as the same effect : + but pressing ANY of the 4 COIN* buttons has the same effect : credits are incremented depending on "Coinage" settings. - "Free Play" Dip Switch is bogus : you can only start a VS computer game @@ -182,8 +231,10 @@ Stephh's notes (based on the games M68000 code and some tests) : but the address where the computed value is stored is NEVER read back ! I guess this might be a leftover from another game. - - DSW 2-5 is read once (check code at 0x002366), but the computed value + - DSW 2-4 is read once (check code at 0x002366), but the computed value is the same (0x0009) whatever the settings are. So I've marked it as "Unused". + This Dip Switch was supposed to determine the last inning if there is a draw + after inning 9 un some other Semicom baseball games (eg: 'wlstar'). - The "VS CPU Game Ends" Dip Switch is used when you play a game against the CPU. If CPU's score is +10 or +7 than player's score, the game ends. @@ -196,7 +247,7 @@ Stephh's notes (based on the games M68000 code and some tests) : to enlighten the 4th choice (2 players 9 innings match). -8) 'dquizgo' +11) 'dquizgo' - "Free Play" Dip Switch is bogus : you can start a game without inserting a coin, but you can't use any players joystick controls nor buttons. Ingame bug ? @@ -208,7 +259,7 @@ Stephh's notes (based on the games M68000 code and some tests) : and 2 buttons are required to exit some choices of "Test Mode". -9) 'jumppop' +12) 'jumppop' - It's difficult to find a name for DSW B-3. All I can tell is that, when it is set to "2", the girls aren't nude, but less dressed ;) @@ -216,10 +267,6 @@ Stephh's notes (based on the games M68000 code and some tests) : - The game needs more investigation to get similar infos to "Tumble Pop" bootlegs/ripoffs. -10) 'pangpang' - - - The game needs more investigation to get similar infos to "Tumble Pop" bootlegs/ripoffs. - MuHanSeungBu ------------ @@ -354,11 +401,11 @@ static READ16_HANDLER( tumblepopb_controls_r ) switch (offset<<1) { case 0: /* Player 1 & Player 2 joysticks & fire buttons */ - return (input_port_read_indexed(machine, 0) + (input_port_read_indexed(machine, 1) << 8)); + return (input_port_read(machine, "IN0") | (input_port_read(machine, "IN1") << 8)); case 2: /* Dips */ - return (input_port_read_indexed(machine, 3) + (input_port_read_indexed(machine, 4) << 8)); + return (input_port_read(machine, "DSW1") | (input_port_read(machine, "DSW2") << 8)); case 8: /* Credits */ - return input_port_read_indexed(machine, 2); + return input_port_read(machine, "IN2"); case 10: /* ? */ case 12: return 0; @@ -753,9 +800,9 @@ static ADDRESS_MAP_START( jumppop_readmem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x140000, 0x1407ff) AM_READ(SMH_RAM) AM_RANGE(0x160000, 0x160fff) AM_READ(SMH_RAM) - AM_RANGE(0x180002, 0x180003) AM_READ(input_port_0_word_r) - AM_RANGE(0x180004, 0x180005) AM_READ(input_port_1_word_r) - AM_RANGE(0x180006, 0x180007) AM_READ(input_port_2_word_r) + AM_RANGE(0x180002, 0x180003) AM_READ_PORT("IN0") + AM_RANGE(0x180004, 0x180005) AM_READ_PORT("COINS") + AM_RANGE(0x180006, 0x180007) AM_READ_PORT("DSW") AM_RANGE(0x1a0000, 0x1a7fff) AM_READ(SMH_RAM) @@ -796,10 +843,10 @@ static ADDRESS_MAP_START( suprtrio_main_cpu, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xa22000, 0xa22fff) AM_RAM_WRITE(tumblepb_pf2_data_w) AM_BASE(&tumblepb_pf2_data) AM_RANGE(0xcf0000, 0xcf05ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) - AM_RANGE(0xe00000, 0xe00001) AM_READ(input_port_0_word_r) AM_WRITE(suprtrio_tilebank_w) + AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("IN0") AM_WRITE(suprtrio_tilebank_w) - AM_RANGE(0xe40000, 0xe40001) AM_READ(input_port_1_word_r) - AM_RANGE(0xe80002, 0xe80003) AM_READ(input_port_2_word_r) + AM_RANGE(0xe40000, 0xe40001) AM_READ_PORT("COINS") + AM_RANGE(0xe80002, 0xe80003) AM_READ_PORT("DSW") AM_RANGE(0xec0000, 0xec0001) AM_WRITE(semicom_soundcmd_w) AM_RANGE(0xf00000, 0xf07fff) AM_RAM ADDRESS_MAP_END @@ -957,7 +1004,7 @@ ADDRESS_MAP_END /******************************************************************************/ static INPUT_PORTS_START( tumblepb ) - PORT_START /* Player 1 controls */ + PORT_START_TAG("IN0") /* Player 1 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -967,7 +1014,7 @@ static INPUT_PORTS_START( tumblepb ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START /* Player 2 controls */ + PORT_START_TAG("IN1") /* Player 2 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) @@ -977,7 +1024,7 @@ static INPUT_PORTS_START( tumblepb ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START /* Credits */ + PORT_START_TAG("IN2") /* Credits */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) @@ -987,7 +1034,7 @@ static INPUT_PORTS_START( tumblepb ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START /* Dip switch bank 1 */ + PORT_START_TAG("DSW1") /* Dip switch bank 1 */ PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) ) PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) @@ -1013,7 +1060,7 @@ static INPUT_PORTS_START( tumblepb ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_START /* Dip switch bank 2 */ + PORT_START_TAG("DSW2") /* Dip switch bank 2 */ PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) PORT_DIPSETTING( 0x80, "1" ) PORT_DIPSETTING( 0x00, "2" ) @@ -1047,7 +1094,7 @@ static INPUT_PORTS_START( tumblepb ) INPUT_PORTS_END static INPUT_PORTS_START( metlsavr ) - PORT_START /* Player 1 controls */ + PORT_START_TAG("IN0") /* Player 1 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -1057,7 +1104,7 @@ static INPUT_PORTS_START( metlsavr ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START /* Player 2 controls */ + PORT_START_TAG("IN1") /* Player 2 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) @@ -1067,11 +1114,11 @@ static INPUT_PORTS_START( metlsavr ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START /* Credits */ + PORT_START_TAG("IN2") /* Credits */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1122,7 +1169,7 @@ static INPUT_PORTS_START( metlsavr ) INPUT_PORTS_END static INPUT_PORTS_START( suprtrio ) - PORT_START + PORT_START_TAG("IN0") PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -1140,11 +1187,11 @@ static INPUT_PORTS_START( suprtrio ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START + PORT_START_TAG("COINS") PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START + PORT_START_TAG("DSW") /* Dip switches */ PORT_DIPNAME( 0x0007, 0x0000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW:8,7,6") PORT_DIPSETTING( 0x0006, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x0005, DEF_STR( 4C_1C ) ) @@ -1169,8 +1216,99 @@ static INPUT_PORTS_START( suprtrio ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END +static INPUT_PORTS_START( fncywld ) + PORT_START_TAG("IN0") /* Player 1 controls */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) + + PORT_START_TAG("IN1") /* Player 2 controls */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) + + PORT_START_TAG("IN2") /* Credits */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START_TAG("DSW1") /* Dip switch bank 1 */ + PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) ) +// PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) // duplicated setting + PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) + PORT_DIPSETTING( 0x00, DEF_STR( No ) ) + PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Language ) ) // only seems to the title screen + PORT_DIPSETTING( 0x04, DEF_STR( English ) ) + PORT_DIPSETTING( 0x00, "Korean" ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x01, 0x01, "2 Coins to Start, 1 to Continue" ) + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_START_TAG("DSW2") /* Dip switch bank 2 */ + PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x80, "1" ) + PORT_DIPSETTING( 0x00, "2" ) + PORT_DIPSETTING( 0xc0, "3" ) + PORT_DIPSETTING( 0x40, "4" ) + PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) // to be confirmed + PORT_DIPSETTING( 0x30, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x10, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) + +#if FNCYWLD_HACK + PORT_DIPNAME( 0x08, 0x08, "Remove Monsters" ) +#else + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) // See notes +#endif + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +#if FNCYWLD_HACK + PORT_DIPNAME( 0x04, 0x04, "Edit Levels" ) +#else + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) // See notes +#endif + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x01, 0x01, "Freeze" ) + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + static INPUT_PORTS_START( htchctch ) - PORT_START /* Player 1 controls */ + PORT_START_TAG("IN0") /* Player 1 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -1180,7 +1318,7 @@ static INPUT_PORTS_START( htchctch ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START /* Player 2 controls */ + PORT_START_TAG("IN1") /* Player 2 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) @@ -1190,11 +1328,11 @@ static INPUT_PORTS_START( htchctch ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START /* Credits */ + PORT_START_TAG("IN2") /* Credits */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1235,7 +1373,7 @@ static INPUT_PORTS_START( htchctch ) INPUT_PORTS_END static INPUT_PORTS_START( cookbib ) - PORT_START /* Player 1 controls */ + PORT_START_TAG("IN0") /* Player 1 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -1245,7 +1383,7 @@ static INPUT_PORTS_START( cookbib ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START /* Player 2 controls */ + PORT_START_TAG("IN1") /* Player 2 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) @@ -1255,11 +1393,11 @@ static INPUT_PORTS_START( cookbib ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START /* Credits */ + PORT_START_TAG("IN2") /* Credits */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1300,7 +1438,7 @@ static INPUT_PORTS_START( cookbib ) INPUT_PORTS_END static INPUT_PORTS_START( chokchok ) - PORT_START /* Player 1 controls */ + PORT_START_TAG("IN0") /* Player 1 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -1310,7 +1448,7 @@ static INPUT_PORTS_START( chokchok ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START /* Player 2 controls */ + PORT_START_TAG("IN1") /* Player 2 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) @@ -1320,11 +1458,11 @@ static INPUT_PORTS_START( chokchok ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* button 3 - unused */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START /* Credits */ + PORT_START_TAG("IN2") /* Credits */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1377,8 +1515,8 @@ static INPUT_PORTS_START( chokchok ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -static INPUT_PORTS_START( fncywld ) - PORT_START /* Player 1 controls */ +static INPUT_PORTS_START( wlstar ) + PORT_START_TAG("IN0") /* Player 1 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -1388,7 +1526,7 @@ static INPUT_PORTS_START( fncywld ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START /* Player 2 controls */ + PORT_START_TAG("IN1") /* Player 2 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) @@ -1398,78 +1536,60 @@ static INPUT_PORTS_START( fncywld ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START /* Credits */ + PORT_START_TAG("IN2") /* Credits */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START /* Dip switch bank 1 */ - PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) ) + PORT_START_TAG("DSW1") /* Dip switch bank 1 */ + PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" ) + PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:7" ) + PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:6" ) + PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW1:5" ) + PORT_DIPNAME( 0x10, 0x10, "2 Players Game" ) PORT_DIPLOCATION("SW1:4") + PORT_DIPSETTING( 0x00, "1 Credit" ) + PORT_DIPSETTING( 0x10, "2 Credits" ) + PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:3" ) // See notes + PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:2,1") + PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Hardest ) ) + + PORT_START_TAG("DSW2") /* Dip switch bank 2 */ + PORT_DIPNAME( 0x01, 0x01, "Last Inning" ) PORT_DIPLOCATION("SW2:8") // See notes + PORT_DIPSETTING( 0x00, "9" ) + PORT_DIPSETTING( 0x01, "12" ) + PORT_DIPNAME( 0x02, 0x02, "VS CPU Game Ends" ) PORT_DIPLOCATION("SW2:7") // See notes + PORT_DIPSETTING( 0x02, "+10" ) + PORT_DIPSETTING( 0x00, "+7" ) + PORT_DIPNAME( 0x04, 0x04, "VS Game" ) PORT_DIPLOCATION("SW2:6") + PORT_DIPSETTING( 0x00, "1 Credit / 2 Innings" ) + PORT_DIPSETTING( 0x04, "1 Credit / 3 Innings" ) + PORT_DIPNAME( 0x08, 0x08, "Full 2 Players Game" ) PORT_DIPLOCATION("SW2:5") + PORT_DIPSETTING( 0x00, "4 Credits" ) + PORT_DIPSETTING( 0x08, "6 Credits" ) + PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:4,3,2") + PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) ) -// PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) // duplicated setting - PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Language ) ) // only seems to the title screen - PORT_DIPSETTING( 0x04, DEF_STR( English ) ) - PORT_DIPSETTING( 0x00, "Korean" ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x01, 0x01, "2 Coins to Start, 1 to Continue" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START /* Dip switch bank 2 */ - PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x80, "1" ) - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPSETTING( 0xc0, "3" ) - PORT_DIPSETTING( 0x40, "4" ) - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) // to be confirmed - PORT_DIPSETTING( 0x30, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - -#if FNCYWLD_HACK - PORT_DIPNAME( 0x08, 0x08, "Remove Monsters" ) -#else - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) // See notes -#endif - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -#if FNCYWLD_HACK - PORT_DIPNAME( 0x04, 0x04, "Edit Levels" ) -#else - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) // See notes -#endif - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x01, 0x01, "Freeze" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -static INPUT_PORTS_START( bcstory ) - PORT_START /* Player 1 controls */ +static INPUT_PORTS_START( wondl96 ) + PORT_START_TAG("IN0") /* Player 1 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -1479,7 +1599,7 @@ static INPUT_PORTS_START( bcstory ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START /* Player 2 controls */ + PORT_START_TAG("IN1") /* Player 2 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) @@ -1489,11 +1609,172 @@ static INPUT_PORTS_START( bcstory ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START /* Credits */ + PORT_START_TAG("IN2") /* Credits */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // must be high to avoid endless loops + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START_TAG("DSW1") /* Dip switch bank 1 */ + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7,6,5") // See notes + PORT_DIPSETTING( 0x0e, "0" ) + PORT_DIPSETTING( 0x06, "1" ) + PORT_DIPSETTING( 0x0a, "2" ) + PORT_DIPSETTING( 0x02, "3" ) + PORT_DIPSETTING( 0x0c, "4" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPSETTING( 0x08, "6" ) + PORT_DIPSETTING( 0x00, "7" ) + PORT_DIPNAME( 0x10, 0x10, "Field Color" ) PORT_DIPLOCATION("SW1:4") // See notes + PORT_DIPSETTING( 0x10, "Blue" ) + PORT_DIPSETTING( 0x00, "Green" ) + PORT_DIPNAME( 0x20, 0x20, "VS CPU Game Ends" ) PORT_DIPLOCATION("SW1:3") // See notes + PORT_DIPSETTING( 0x20, "+10" ) + PORT_DIPSETTING( 0x00, "+7" ) + PORT_DIPNAME( 0x40, 0x40, "VS Game" ) PORT_DIPLOCATION("SW1:2") + PORT_DIPSETTING( 0x00, "1 Credit / 2 Innings" ) + PORT_DIPSETTING( 0x40, "1 Credit / 3 Innings" ) + PORT_DIPNAME( 0x80, 0x00, "Full 2 Players Game" ) PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING( 0x80, "4 Credits" ) + PORT_DIPSETTING( 0x00, "6 Credits" ) + + PORT_START_TAG("DSW2") /* Dip switch bank 2 */ + PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:8" ) + PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,6,5") + PORT_DIPSETTING( 0x04, "Level 1" ) + PORT_DIPSETTING( 0x08, "Level 2" ) + PORT_DIPSETTING( 0x00, "Level 3" ) + PORT_DIPSETTING( 0x0e, "Level 4" ) + PORT_DIPSETTING( 0x06, "Level 5" ) + PORT_DIPSETTING( 0x0a, "Level 6" ) + PORT_DIPSETTING( 0x02, "Level 7" ) + PORT_DIPSETTING( 0x0c, "Level 8" ) + PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:4,3,2") + PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) ) + PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:1" ) // See notes +INPUT_PORTS_END + +static INPUT_PORTS_START( sdfight ) + PORT_START_TAG("IN0") /* Player 1 controls */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) + + PORT_START_TAG("IN1") /* Player 2 controls */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) + + PORT_START_TAG("IN2") /* Credits */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START_TAG("DSW1") /* Dip switch bank 1 */ + PORT_SERVICE_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" ) /* These dips were done from the Test mode screens */ + PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,6,5") + PORT_DIPSETTING( 0x04, "Level 1" ) + PORT_DIPSETTING( 0x08, "Level 2" ) + PORT_DIPSETTING( 0x00, "Level 3" ) + PORT_DIPSETTING( 0x0e, "Level 4" ) + PORT_DIPSETTING( 0x06, "Level 5" ) + PORT_DIPSETTING( 0x0a, "Level 6" ) + PORT_DIPSETTING( 0x02, "Level 7" ) + PORT_DIPSETTING( 0x0c, "Level 8" ) + PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2") + PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_START_TAG("DSW2") /* Dip switch bank 2 */ + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8") /* Only Free Play shows in Test Mode */ + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, "Rounds to Win" ) PORT_DIPLOCATION("SW2:5") /* Does not show up in Test Mode screen */ + PORT_DIPSETTING( 0x08, "2 Rounds" ) + PORT_DIPSETTING( 0x00, "3 Rounds" ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0xc0, 0xc0, "Time" ) PORT_DIPLOCATION("SW2:2,1") /* Does not show up in Test Mode screen */ + PORT_DIPSETTING( 0x40, "30" ) + PORT_DIPSETTING( 0x80, "50" ) + PORT_DIPSETTING( 0xc0, "70" ) + PORT_DIPSETTING( 0x00, "90" ) +INPUT_PORTS_END + +static INPUT_PORTS_START( bcstory ) + PORT_START_TAG("IN0") /* Player 1 controls */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) + + PORT_START_TAG("IN1") /* Player 2 controls */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) + + PORT_START_TAG("IN2") /* Credits */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1543,7 +1824,7 @@ static INPUT_PORTS_START( bcstory ) INPUT_PORTS_END static INPUT_PORTS_START( semibase ) - PORT_START /* Player 1 controls */ + PORT_START_TAG("IN0") /* Player 1 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -1553,7 +1834,7 @@ static INPUT_PORTS_START( semibase ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START /* Player 2 controls */ + PORT_START_TAG("IN1") /* Player 2 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) @@ -1563,7 +1844,7 @@ static INPUT_PORTS_START( semibase ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START /* Credits */ + PORT_START_TAG("IN2") /* Credits */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) // See notes @@ -1616,258 +1897,8 @@ static INPUT_PORTS_START( semibase ) PORT_DIPSETTING( 0x80, "6 Credits" ) INPUT_PORTS_END -static INPUT_PORTS_START( sdfight ) - PORT_START /* Player 1 controls */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - - PORT_START /* Player 2 controls */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - - PORT_START /* Credits */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START_TAG("DSW1") /* Dip switch bank 1 */ - PORT_SERVICE_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:8" ) /* These dips were done from the Test mode screens */ - PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,6,5") - PORT_DIPSETTING( 0x04, "Level 1" ) - PORT_DIPSETTING( 0x08, "Level 2" ) - PORT_DIPSETTING( 0x00, "Level 3" ) - PORT_DIPSETTING( 0x0e, "Level 4" ) - PORT_DIPSETTING( 0x06, "Level 5" ) - PORT_DIPSETTING( 0x0a, "Level 6" ) - PORT_DIPSETTING( 0x02, "Level 7" ) - PORT_DIPSETTING( 0x0c, "Level 8" ) - PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,3,2") - PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START_TAG("DSW2") /* Dip switch bank 2 */ - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:8") /* Only Free Play shows in Test Mode */ - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Rounds to Win" ) PORT_DIPLOCATION("SW2:5") /* Does not show up in Test Mode screen */ - PORT_DIPSETTING( 0x08, "2 Rounds" ) - PORT_DIPSETTING( 0x00, "3 Rounds" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0xc0, 0xc0, "Time" ) PORT_DIPLOCATION("SW2:2,1") /* Does not show up in Test Mode screen */ - PORT_DIPSETTING( 0x40, "30" ) - PORT_DIPSETTING( 0x80, "50" ) - PORT_DIPSETTING( 0xc0, "70" ) - PORT_DIPSETTING( 0x00, "90" ) -INPUT_PORTS_END - -static INPUT_PORTS_START( wlstar ) - PORT_START /* Player 1 controls */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - - PORT_START /* Player 2 controls */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - - PORT_START /* Credits */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START_TAG("DSW1") /* Dip switch bank 1 */ - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START_TAG("DSW2") /* Dip switch bank 2 */ - PORT_DIPNAME( 0x01, 0x01, "0" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Full 2 Players Game" ) - PORT_DIPSETTING( 0x00, "4 Credits" ) - PORT_DIPSETTING( 0x08, "6 Credits" ) - PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - -static INPUT_PORTS_START( wondl96 ) - PORT_START /* Player 1 controls */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - - PORT_START /* Player 2 controls */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - - PORT_START /* Credits */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // must be high to boot - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START_TAG("DSW1") /* Dip switch bank 1 */ - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "Field Color" ) - PORT_DIPSETTING( 0x10, "Blue" ) - PORT_DIPSETTING( 0x00, "Green" ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Full 2 Players Game" ) - PORT_DIPSETTING( 0x80, "4 Credits" ) - PORT_DIPSETTING( 0x00, "6 Credits" ) - - PORT_START_TAG("DSW2") /* Dip switch bank 2 */ - PORT_DIPNAME( 0x01, 0x01, "0" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x50, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) /* Should be Demo Sounds, but there doesn't seem to be any demo sounds at all */ - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - - static INPUT_PORTS_START( dquizgo ) - PORT_START /* Player 1 controls */ + PORT_START_TAG("IN0") /* Player 1 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -1877,7 +1908,7 @@ static INPUT_PORTS_START( dquizgo ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - PORT_START /* Player 2 controls */ + PORT_START_TAG("IN1") /* Player 2 controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) @@ -1887,11 +1918,11 @@ static INPUT_PORTS_START( dquizgo ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - PORT_START /* Credits */ + PORT_START_TAG("IN2") /* Credits */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) // to be confirmed PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1937,9 +1968,8 @@ static INPUT_PORTS_START( dquizgo ) PORT_DIPSETTING( 0x80, "5" ) INPUT_PORTS_END - static INPUT_PORTS_START( jumppop ) - PORT_START /* Controls */ + PORT_START_TAG("IN0") /* Controls */ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -1957,14 +1987,14 @@ static INPUT_PORTS_START( jumppop ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START /* Coins / Start Buttons */ + PORT_START_TAG("COINS") /* Coins / Start Buttons */ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START /* DSW */ + PORT_START_TAG("DSW") /* Dip switches */ PORT_SERVICE_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SWA:1" ) PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWA:2") PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) @@ -3428,15 +3458,15 @@ static DRIVER_INIT( jumpkids ) static DRIVER_INIT( fncywld ) { + tumblepb_gfx1_rearrange(machine); + #if FNCYWLD_HACK /* This is a hack to allow you to use the extra features - of the 2 first "Unused" Dip Switch (see notes above). */ + of the 2 first "Unused" Dip Switch (see notes above). */ UINT16 *RAM = (UINT16 *)memory_region(machine, REGION_CPU1); RAM[0x0005fa/2] = 0x4e71; RAM[0x00060a/2] = 0x4e71; #endif - - tumblepb_gfx1_rearrange(machine); } @@ -3801,4 +3831,4 @@ GAME( 1997, bcstry, 0, bcstory, bcstory, bcstory, ROT0, "SemiCom", " GAME( 1997, bcstrya, bcstry, bcstory, bcstory, bcstory, ROT0, "SemiCom", "B.C. Story (set 2)", GAME_IMPERFECT_GRAPHICS) // gfx offsets? GAME( 1997, semibase, 0, semibase, semibase, bcstory, ROT0, "SemiCom", "MuHanSeungBu (SemiCom Baseball) (Korea)", GAME_IMPERFECT_GRAPHICS)// sprite offsets.. GAME( 1998, dquizgo, 0, cookbib, dquizgo, dquizgo, ROT0, "SemiCom", "Date Quiz Go Go (Korea)", GAME_IMPERFECT_GRAPHICS) // check layer offsets -GAME( 2001, jumppop, 0, jumppop, jumppop, 0, ORIENTATION_FLIP_X, "ESD", "Jumping Pop", 0 ) +GAME( 2001, jumppop, 0, jumppop, jumppop, 0, ORIENTATION_FLIP_X, "ESD", "Jumping Pop", 0 )