vicdual: add tranqgun samples skeleton for jim (nw)

This commit is contained in:
hap 2017-11-16 18:10:37 +01:00
parent c7ddaf8284
commit 49eb2be70c
5 changed files with 83 additions and 2 deletions

View File

@ -3325,6 +3325,8 @@ files {
MAME_DIR .. "src/mame/audio/invinco.h",
MAME_DIR .. "src/mame/audio/pulsar.cpp",
MAME_DIR .. "src/mame/audio/pulsar.h",
MAME_DIR .. "src/mame/audio/tranqgun.cpp",
MAME_DIR .. "src/mame/audio/tranqgun.h",
MAME_DIR .. "src/mame/drivers/zaxxon.cpp",
MAME_DIR .. "src/mame/includes/zaxxon.h",
MAME_DIR .. "src/mame/audio/zaxxon.cpp",

View File

@ -0,0 +1,67 @@
// license:BSD-3-Clause
// copyright-holders:Zsolt Vasvari
/*
* Tranquillizer Gun audio routines
*/
#include "emu.h"
#include "includes/vicdual.h"
/* output port 0x01 definitions - sound effect drive outputs */
#define OUT_PORT_1_STUFF1 0x01
#define OUT_PORT_1_STUFF2 0x02
#define PLAY(samp,id,loop) samp->start( id, id, loop )
#define STOP(samp,id) samp->stop( id )
/* sample file names */
static const char *const tranqgun_sample_names[] =
{
"*tranqgun",
"stuff1",
"stuff2",
nullptr
};
/* sample IDs - must match sample file name table above */
enum
{
SND_STUFF1 = 0,
SND_STUFF2
};
WRITE8_MEMBER( vicdual_state::tranqgun_audio_w )
{
int bitsChanged;
int bitsGoneHigh;
int bitsGoneLow;
bitsChanged = m_port1State ^ data;
bitsGoneHigh = bitsChanged & data;
bitsGoneLow = bitsChanged & ~data;
m_port1State = data;
if ( bitsGoneHigh & OUT_PORT_1_STUFF1 )
{
PLAY( m_samples, SND_STUFF1, 0 );
}
if ( bitsGoneLow & OUT_PORT_1_STUFF1 )
{
STOP( m_samples, SND_STUFF1 );
}
}
MACHINE_CONFIG_START( tranqgun_audio )
/* samples */
MCFG_SOUND_ADD("samples", SAMPLES, 0)
MCFG_SAMPLES_CHANNELS(2)
MCFG_SAMPLES_NAMES(tranqgun_sample_names)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MACHINE_CONFIG_END

View File

@ -0,0 +1,4 @@
// license:BSD-3-Clause
// copyright-holders:Zsolt Vasvari
MACHINE_CONFIG_EXTERN( tranqgun_audio );

View File

@ -57,6 +57,7 @@
#include "audio/depthch.h"
#include "audio/invinco.h"
#include "audio/pulsar.h"
#include "audio/tranqgun.h"
#include "audio/vicdual.h"
#include "audio/vicdual-97271p.h"
#include "video/vicdual-97269pb.h"
@ -1075,7 +1076,7 @@ WRITE8_MEMBER(vicdual_state::sspacaho_io_w)
WRITE8_MEMBER(vicdual_state::tranqgun_io_w)
{
if (offset & 0x01) { /* tranqgun_audio_w(space, 0, data) */ }
if (offset & 0x01) tranqgun_audio_w(space, 0, data);
if (offset & 0x02) palette_bank_w(space, 0, data);
if (offset & 0x08) assert_coin_status();
}
@ -2060,6 +2061,10 @@ static MACHINE_CONFIG_DERIVED( tranqgun, vicdual_dualgame_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(tranqgun_io_map)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_FRAGMENT_ADD(tranqgun_audio)
MACHINE_CONFIG_END
@ -3666,7 +3671,7 @@ GAME( 1980, samurai, 0, samurai, samurai, vicdual_state, 0, ROT270
GAME( 1979, invinco, 0, invinco, invinco, vicdual_state, 0, ROT270, "Sega", "Invinco", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1979, invds, 0, invds, invds, vicdual_state, 0, ROT270, "Sega", "Invinco / Deep Scan", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1979, carhntds, 0, carhntds, carhntds, vicdual_state, 0, ROT270, "Sega", "Car Hunt / Deep Scan (France)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1980, tranqgun, 0, tranqgun, tranqgun, vicdual_state, 0, ROT270, "Sega", "Tranquillizer Gun", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1980, tranqgun, 0, tranqgun, tranqgun, vicdual_state, 0, ROT270, "Sega", "Tranquillizer Gun", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1980, spacetrk, 0, spacetrk, spacetrk, vicdual_state, 0, ROT270, "Sega", "Space Trek (upright)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1980, spacetrkc, spacetrk, spacetrk, spacetrkc, vicdual_state, 0, ROT270, "Sega", "Space Trek (cocktail)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1980, carnival, 0, carnival, carnival, vicdual_state, 0, ROT270, "Sega", "Carnival (upright)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )

View File

@ -131,6 +131,9 @@ public:
DECLARE_WRITE8_MEMBER( pulsar_audio_1_w );
DECLARE_WRITE8_MEMBER( pulsar_audio_2_w );
/*----------- defined in audio/tranqgun.c -----------*/
DECLARE_WRITE8_MEMBER( tranqgun_audio_w );
DECLARE_CUSTOM_INPUT_MEMBER(read_coin_status);
DECLARE_CUSTOM_INPUT_MEMBER(get_64v);
DECLARE_CUSTOM_INPUT_MEMBER(get_vblank_comp);