tsamurai.c: Fixed clocks and audio pitch. [Takahiro Nogi]

This commit is contained in:
Michaël Banaan Ananas 2012-02-10 18:13:08 +00:00
parent c5bcb2a2f2
commit 6533410440

View File

@ -350,9 +350,9 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( tsamurai )
PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
@ -360,9 +360,9 @@ static INPUT_PORTS_START( tsamurai )
PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
@ -428,9 +428,26 @@ static INPUT_PORTS_START( tsamurai )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( nunchaku )
static INPUT_PORTS_START( ladymstr )
PORT_INCLUDE( tsamurai )
PORT_MODIFY("P1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_MODIFY("P2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
INPUT_PORTS_END
static INPUT_PORTS_START( nunchaku )
PORT_INCLUDE( ladymstr )
PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
@ -455,9 +472,22 @@ static INPUT_PORTS_START( nunchaku )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( vsgongf )
PORT_INCLUDE( tsamurai )
PORT_MODIFY("P1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_MODIFY("P2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
@ -485,14 +515,15 @@ static INPUT_PORTS_START( vsgongf )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( yamagchi )
PORT_INCLUDE( tsamurai )
PORT_MODIFY("P1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
@ -500,9 +531,9 @@ static INPUT_PORTS_START( yamagchi )
PORT_MODIFY("P2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
@ -533,8 +564,21 @@ static INPUT_PORTS_START( yamagchi )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( m660 )
PORT_INCLUDE( yamagchi )
PORT_INCLUDE( tsamurai )
PORT_MODIFY("P1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_MODIFY("P2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_MODIFY("DSW1")
PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) )
@ -643,15 +687,15 @@ GFXDECODE_END
static MACHINE_CONFIG_START( tsamurai, tsamurai_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 4000000)
MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/8)
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_IO_MAP(z80_io_map)
MCFG_CPU_VBLANK_INT("screen", samurai_interrupt)
MCFG_CPU_ADD("audiocpu", Z80, 2000000)
MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/8)
MCFG_CPU_PROGRAM_MAP(sound1_map)
MCFG_CPU_ADD("audio2", Z80, 2000000)
MCFG_CPU_ADD("audio2", Z80, XTAL_24MHz/8)
MCFG_CPU_PROGRAM_MAP(sound2_map)
/* video hardware */
@ -671,54 +715,7 @@ static MACHINE_CONFIG_START( tsamurai, tsamurai_state )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, 2000000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
MCFG_SOUND_ADD("dac1", DAC, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MCFG_SOUND_ADD("dac2", DAC, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( m660, tsamurai_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(m660_map)
MCFG_CPU_IO_MAP(z80_m660_io_map)
MCFG_CPU_VBLANK_INT("screen", samurai_interrupt)
MCFG_CPU_ADD("audiocpu", Z80, 2000000)
MCFG_CPU_PROGRAM_MAP(sound1_m660_map)
MCFG_CPU_ADD("audio2", Z80, 2000000)
MCFG_CPU_PROGRAM_MAP(sound2_m660_map)
MCFG_CPU_ADD("audio3", Z80, 2000000)
MCFG_CPU_PROGRAM_MAP(sound3_m660_map)
MCFG_CPU_IO_MAP(sound3_m660_io_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8)
MCFG_SCREEN_UPDATE_STATIC(tsamurai)
MCFG_GFXDECODE(tsamurai)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
MCFG_VIDEO_START(tsamurai)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, 2000000)
MCFG_SOUND_ADD("aysnd", AY8910, XTAL_24MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
MCFG_SOUND_ADD("dac1", DAC, 0)
@ -732,11 +729,11 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( vsgongf, tsamurai_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, 4000000)
MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/8)
MCFG_CPU_PROGRAM_MAP(vsgongf_map)
MCFG_CPU_VBLANK_INT("screen", samurai_interrupt)
MCFG_CPU_ADD("audiocpu", Z80, 4000000)
MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/8)
MCFG_CPU_PROGRAM_MAP(sound_vsgongf_map)
MCFG_CPU_IO_MAP(vsgongf_audio_io_map)
MCFG_CPU_PERIODIC_INT(vsgongf_sound_interrupt,3*60)
@ -758,13 +755,60 @@ static MACHINE_CONFIG_START( vsgongf, tsamurai_state )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, 2000000)
MCFG_SOUND_ADD("aysnd", AY8910, XTAL_24MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
MCFG_SOUND_ADD("dac", DAC, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( m660, tsamurai_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/8)
MCFG_CPU_PROGRAM_MAP(m660_map)
MCFG_CPU_IO_MAP(z80_m660_io_map)
MCFG_CPU_VBLANK_INT("screen", samurai_interrupt)
MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/8)
MCFG_CPU_PROGRAM_MAP(sound1_m660_map)
MCFG_CPU_ADD("audio2", Z80, XTAL_24MHz/8)
MCFG_CPU_PROGRAM_MAP(sound2_m660_map)
MCFG_CPU_ADD("audio3", Z80, XTAL_24MHz/8)
MCFG_CPU_PROGRAM_MAP(sound3_m660_map)
MCFG_CPU_IO_MAP(sound3_m660_io_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8)
MCFG_SCREEN_UPDATE_STATIC(tsamurai)
MCFG_GFXDECODE(tsamurai)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
MCFG_VIDEO_START(tsamurai)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, XTAL_24MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
MCFG_SOUND_ADD("dac1", DAC, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MCFG_SOUND_ADD("dac2", DAC, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
/*******************************************************************************/
ROM_START( tsamurai )
@ -1205,11 +1249,11 @@ GAME( 1984, vsgongf, 0, vsgongf, vsgongf, 0, ROT90, "Kaneko", "VS Gong
GAME( 1984, ringfgt, vsgongf, vsgongf, vsgongf, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 1)", GAME_IMPERFECT_COLORS )
GAME( 1984, ringfgt2, vsgongf, vsgongf, vsgongf, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 2)", GAME_IMPERFECT_COLORS )
GAME( 1985, tsamurai, 0, tsamurai, tsamurai, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-ichi (set 1)", 0 )
GAME( 1985, tsamurai2,tsamurai, tsamurai, tsamurai, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-ichi (set 2)", 0 )
GAME( 1985, tsamuraih,tsamurai, tsamurai, tsamurai, 0, ROT90, "bootleg", "Samurai Nihon-ichi (bootleg, harder)", 0 )
GAME( 1985, tsamurai, 0, tsamurai, tsamurai, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 1)", 0 )
GAME( 1985, tsamurai2,tsamurai, tsamurai, tsamurai, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 2)", 0 )
GAME( 1985, tsamuraih,tsamurai, tsamurai, tsamurai, 0, ROT90, "bootleg", "Samurai Nihon-Ichi (bootleg, harder)", 0 )
GAME( 1985, ladymstr, 0, tsamurai, tsamurai, 0, ROT90, "Kaneko / Taito", "Lady Master of Kung Fu", 0 )
GAME( 1985, ladymstr, 0, tsamurai, ladymstr, 0, ROT90, "Kaneko / Taito", "Lady Master of Kung Fu", 0 )
GAME( 1985, nunchaku, ladymstr, tsamurai, nunchaku, 0, ROT90, "Kaneko / Taito", "Nunchackun", GAME_IMPERFECT_COLORS )
GAME( 1985, yamagchi, 0, tsamurai, yamagchi, 0, ROT90, "Kaneko / Taito", "Go Go Mr. Yamaguchi / Yuke Yuke Yamaguchi-kun", GAME_IMPERFECT_COLORS )