mirror of
https://github.com/holub/mame
synced 2025-04-22 00:11:58 +03:00
vicdual: add tranqgun samples skeleton for jim (nw)
This commit is contained in:
parent
c7ddaf8284
commit
49eb2be70c
@ -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",
|
||||
|
67
src/mame/audio/tranqgun.cpp
Normal file
67
src/mame/audio/tranqgun.cpp
Normal 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
|
4
src/mame/audio/tranqgun.h
Normal file
4
src/mame/audio/tranqgun.h
Normal file
@ -0,0 +1,4 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Zsolt Vasvari
|
||||
|
||||
MACHINE_CONFIG_EXTERN( tranqgun_audio );
|
@ -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 )
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user