diff --git a/src/mame/drivers/galspnbl.c b/src/mame/drivers/galspnbl.c index efd34c8cf4a..94defb1829e 100644 --- a/src/mame/drivers/galspnbl.c +++ b/src/mame/drivers/galspnbl.c @@ -9,13 +9,30 @@ Notes: - to start a 2 or more players game, press the start button multiple times - the sprite graphics contain a "(c) Tecmo", and the sprite system is indeed similar to other Tecmo games like Ninja Gaiden. - +- Clearly based on Temco's Super Pinball Action (see spbactn.c) +- There seems to be a bug in Hot Pinball's Demo Sounds. If you start the + game normally you get no demo sounds. However if you select the "Slide + Show" and run all the way through the game will start with demo sounds. + Gals Pinball's Demo Sounds works as expected according to DSW setting. TODO: - scrolling is wrong. - sprite/tile priority might be wrong. There is an unknown bit in the fg tilemap, marking some tiles that I'm not currently drawing. +Manuals for both games define the controls as 4 push buttons: + + Left Push Buttons Right Push Buttons + +| o | o | | o | o | +|--------+--------------+-------------+------------------------| +| Select | Set | Select Mode | | +| Stage | Stage | | | +|--------+--------------+-------------+---------+--------------| +|Flipper | Shot & Shake | Game Mode | Flipper | Shot & Shake | +| Left | Left | | Right | Right | +|--------+--------------+-------------+---------+--------------| + ***************************************************************************/ #include "emu.h" @@ -78,7 +95,7 @@ static INPUT_PORTS_START( galspnbl ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "Left Flippers" ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME( "Launch Ball / Tilt" ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME( "Launch Ball / Tilt (Left Side)" ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* uncalled (?) code at 0x007ed2 ('hotpinbl') or 0x008106 ('galspnbl') */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -87,7 +104,7 @@ static INPUT_PORTS_START( galspnbl ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL ) /* same as BUTTON3 - leftover from another game ? */ + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME( "Launch Ball / Tilt (Right Side)" ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "Right Flippers" ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* uncalled (?) code at 0x007e90 ('hotpinbl') or 0x0080c4 ('galspnbl') */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -95,7 +112,7 @@ static INPUT_PORTS_START( galspnbl ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME( "Start" ) /* needed to avoid confusion with # of players */ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME( "Start" ) /* needed to avoid confusion with # of players. Press mulitple times for multiple players */ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -116,7 +133,7 @@ static INPUT_PORTS_START( galspnbl ) PORT_DIPNAME( 0x10, 0x10, "Hit Difficulty" ) PORT_DIPLOCATION("SW2:5") PORT_DIPSETTING( 0x10, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x20, 0x20, "Slide Show" ) PORT_DIPLOCATION("SW2:6") + PORT_DIPNAME( 0x20, 0x20, "Slide Show" ) PORT_DIPLOCATION("SW2:6") /* Listed as unused on manuals for both games */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:7") @@ -155,7 +172,7 @@ static INPUT_PORTS_START( hotpinbl ) PORT_MODIFY("IN1") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "Right Flippers" ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) /* same as BUTTON3 - leftover from another game ? */ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME( "Launch Ball / Tilt (Right Side)" ) INPUT_PORTS_END @@ -211,11 +228,11 @@ static MACHINE_START( galspnbl ) static MACHINE_CONFIG_START( galspnbl, galspnbl_state ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ??? */ + MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) /* 12 MHz ??? - Use value from Temco's Super Pinball Action - NEEDS VERIFICATION!! */ MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_VBLANK_INT("screen", irq3_line_hold)/* also has vector for 6, but it does nothing */ - MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */ + MCFG_CPU_ADD("audiocpu", Z80, XTAL_4MHz) /* 4 MHz ??? - Use value from Temco's Super Pinball Action - NEEDS VERIFICATION!! */ MCFG_CPU_PROGRAM_MAP(audio_map) /* NMI is caused by the main CPU */ @@ -237,11 +254,11 @@ static MACHINE_CONFIG_START( galspnbl, galspnbl_state ) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("ymsnd", YM3812, 3579545) + MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_4MHz) /* Use value from Super Pinball Action - NEEDS VERIFICATION!! */ MCFG_SOUND_CONFIG(ym3812_config) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified + MCFG_OKIM6295_ADD("oki", XTAL_4MHz/4, OKIM6295_PIN7_HIGH) /* Use value from Super Pinball Action - clock frequency & pin 7 not verified */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MACHINE_CONFIG_END