mirror of
https://github.com/holub/mame
synced 2025-07-05 18:08:04 +03:00
Convert Namco C352 to modern C++ device [R. Belmont]
This commit is contained in:
parent
6a34d01579
commit
da75d4282e
@ -1,6 +1,6 @@
|
||||
/*
|
||||
c352.c - Namco C352 custom PCM chip emulation
|
||||
v1.1
|
||||
v1.2
|
||||
By R. Belmont
|
||||
Additional code by cync and the hoot development team
|
||||
|
||||
@ -19,97 +19,62 @@
|
||||
#define VERBOSE (0)
|
||||
#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
|
||||
// flags
|
||||
// device type definition
|
||||
const device_type C352 = &device_creator<c352_device>;
|
||||
|
||||
enum {
|
||||
C352_FLG_BUSY = 0x8000, // channel is busy
|
||||
C352_FLG_KEYON = 0x4000, // Keyon
|
||||
C352_FLG_KEYOFF = 0x2000, // Keyoff
|
||||
C352_FLG_LOOPTRG = 0x1000, // Loop Trigger
|
||||
C352_FLG_LOOPHIST = 0x0800, // Loop History
|
||||
C352_FLG_FM = 0x0400, // Frequency Modulation
|
||||
C352_FLG_PHASERL = 0x0200, // Rear Left invert phase 180 degrees
|
||||
C352_FLG_PHASEFL = 0x0100, // Front Left invert phase 180 degrees
|
||||
C352_FLG_PHASEFR = 0x0080, // invert phase 180 degrees (e.g. flip sign of sample)
|
||||
C352_FLG_LDIR = 0x0040, // loop direction
|
||||
C352_FLG_LINK = 0x0020, // "long-format" sample (can't loop, not sure what else it means)
|
||||
C352_FLG_NOISE = 0x0010, // play noise instead of sample
|
||||
C352_FLG_MULAW = 0x0008, // sample is mulaw instead of linear 8-bit PCM
|
||||
C352_FLG_FILTER = 0x0004, // don't apply filter
|
||||
C352_FLG_REVLOOP = 0x0003, // loop backwards
|
||||
C352_FLG_LOOP = 0x0002, // loop forward
|
||||
C352_FLG_REVERSE = 0x0001, // play sample backwards
|
||||
};
|
||||
// default address map
|
||||
static ADDRESS_MAP_START( c352, AS_0, 8 )
|
||||
AM_RANGE(0x000000, 0xffffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
typedef struct
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// c352_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
c352_device::c352_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, C352, "C352", tag, owner, clock),
|
||||
device_sound_interface(mconfig, *this),
|
||||
device_memory_interface(mconfig, *this),
|
||||
m_space_config("samples", ENDIANNESS_LITTLE, 8, 24, 0, NULL, *ADDRESS_MAP_NAME(c352))
|
||||
{
|
||||
UINT8 vol_l;
|
||||
UINT8 vol_r;
|
||||
UINT8 vol_l2;
|
||||
UINT8 vol_r2;
|
||||
UINT8 bank;
|
||||
INT16 noise;
|
||||
INT16 noisebuf;
|
||||
UINT16 noisecnt;
|
||||
UINT16 pitch;
|
||||
UINT16 start_addr;
|
||||
UINT16 end_addr;
|
||||
UINT16 repeat_addr;
|
||||
UINT32 flag;
|
||||
}
|
||||
|
||||
UINT16 start;
|
||||
UINT16 repeat;
|
||||
UINT32 current_addr;
|
||||
UINT32 pos;
|
||||
} c352_ch_t;
|
||||
//-------------------------------------------------
|
||||
// memory_space_config - return a description of
|
||||
// any address spaces owned by this device
|
||||
//-------------------------------------------------
|
||||
|
||||
typedef struct _c352_state c352_state;
|
||||
struct _c352_state
|
||||
const address_space_config *c352_device::memory_space_config(address_spacenum spacenum) const
|
||||
{
|
||||
sound_stream *stream;
|
||||
c352_ch_t c352_ch[32];
|
||||
unsigned char *c352_rom_samples;
|
||||
UINT32 c352_rom_length;
|
||||
int sample_rate_base;
|
||||
|
||||
long channel_l[2048*2];
|
||||
long channel_r[2048*2];
|
||||
long channel_l2[2048*2];
|
||||
long channel_r2[2048*2];
|
||||
|
||||
short mulaw_table[256];
|
||||
unsigned int mseq_reg;
|
||||
};
|
||||
|
||||
INLINE c352_state *get_safe_token(device_t *device)
|
||||
{
|
||||
assert(device != NULL);
|
||||
assert(device->type() == C352);
|
||||
return (c352_state *)downcast<legacy_device_base *>(device)->token();
|
||||
return (spacenum == 0) ? &m_space_config : NULL;
|
||||
}
|
||||
|
||||
// noise generator
|
||||
static int get_mseq_bit(c352_state *info)
|
||||
int c352_device::get_mseq_bit()
|
||||
{
|
||||
unsigned int mask = (1 << (7 - 1));
|
||||
unsigned int reg = info->mseq_reg;
|
||||
unsigned int reg = m_mseq_reg;
|
||||
unsigned int bit = reg & (1 << (17 - 1));
|
||||
|
||||
if (bit)
|
||||
{
|
||||
reg = ((reg ^ mask) << 1) | 1;
|
||||
reg = ((reg ^ mask) << 1) | 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
reg = reg << 1;
|
||||
}
|
||||
|
||||
info->mseq_reg = reg;
|
||||
m_mseq_reg = reg;
|
||||
|
||||
return (reg & 1);
|
||||
}
|
||||
|
||||
static void c352_mix_one_channel(c352_state *info, unsigned long ch, long sample_count)
|
||||
void c352_device::mix_one_channel(unsigned long ch, long sample_count)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -118,20 +83,19 @@ static void c352_mix_one_channel(c352_state *info, unsigned long ch, long sample
|
||||
UINT16 noisecnt;
|
||||
INT32 frequency, delta, offset, cnt, flag;
|
||||
UINT32 bank;
|
||||
UINT32 pos, len;
|
||||
UINT32 pos;
|
||||
|
||||
frequency = info->c352_ch[ch].pitch;
|
||||
frequency = m_c352_ch[ch].pitch;
|
||||
delta=frequency;
|
||||
|
||||
pos = info->c352_ch[ch].current_addr; // sample pointer
|
||||
offset = info->c352_ch[ch].pos; // 16.16 fixed-point offset into the sample
|
||||
flag = info->c352_ch[ch].flag;
|
||||
bank = info->c352_ch[ch].bank << 16;
|
||||
pos = m_c352_ch[ch].current_addr; // sample pointer
|
||||
offset = m_c352_ch[ch].pos; // 16.16 fixed-point offset into the sample
|
||||
flag = m_c352_ch[ch].flag;
|
||||
bank = m_c352_ch[ch].bank << 16;
|
||||
|
||||
noisecnt = info->c352_ch[ch].noisecnt;
|
||||
noisebuf = info->c352_ch[ch].noisebuf;
|
||||
noisecnt = m_c352_ch[ch].noisecnt;
|
||||
noisebuf = m_c352_ch[ch].noisebuf;
|
||||
|
||||
len = info->c352_rom_length;
|
||||
for(i = 0 ; (i < sample_count) && (flag & C352_FLG_BUSY) ; i++)
|
||||
{
|
||||
offset += delta;
|
||||
@ -141,20 +105,20 @@ static void c352_mix_one_channel(c352_state *info, unsigned long ch, long sample
|
||||
offset &= 0xffff;
|
||||
}
|
||||
|
||||
if (pos > len)
|
||||
if (pos > 0x1000000)
|
||||
{
|
||||
info->c352_ch[ch].flag &= ~C352_FLG_BUSY;
|
||||
m_c352_ch[ch].flag &= ~C352_FLG_BUSY;
|
||||
return;
|
||||
}
|
||||
|
||||
sample = (char)info->c352_rom_samples[pos];
|
||||
nextsample = (char)info->c352_rom_samples[pos+cnt];
|
||||
sample = (char)m_direct->read_raw_byte(pos);
|
||||
nextsample = (char)m_direct->read_raw_byte(pos+cnt);
|
||||
|
||||
// sample is muLaw, not 8-bit linear (Fighting Layer uses this extensively)
|
||||
if (flag & C352_FLG_MULAW)
|
||||
{
|
||||
sample = info->mulaw_table[(unsigned char)sample];
|
||||
nextsample = info->mulaw_table[(unsigned char)nextsample];
|
||||
sample = m_mulaw_table[(unsigned char)sample];
|
||||
nextsample = m_mulaw_table[(unsigned char)nextsample];
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -166,7 +130,7 @@ static void c352_mix_one_channel(c352_state *info, unsigned long ch, long sample
|
||||
if (flag & C352_FLG_NOISE)
|
||||
{
|
||||
int noise_level = 0x8000;
|
||||
sample = info->c352_ch[ch].noise = (info->c352_ch[ch].noise << 1) | get_mseq_bit(info);
|
||||
sample = m_c352_ch[ch].noise = (m_c352_ch[ch].noise << 1) | get_mseq_bit();
|
||||
sample = (sample & (noise_level - 1)) - (noise_level >> 1);
|
||||
if (sample > 0x7f)
|
||||
{
|
||||
@ -176,7 +140,7 @@ static void c352_mix_one_channel(c352_state *info, unsigned long ch, long sample
|
||||
{
|
||||
sample = 0xff;
|
||||
}
|
||||
sample = info->mulaw_table[(unsigned char)sample];
|
||||
sample = m_mulaw_table[(unsigned char)sample];
|
||||
|
||||
if ( (pos+cnt) == pos )
|
||||
{
|
||||
@ -192,7 +156,7 @@ static void c352_mix_one_channel(c352_state *info, unsigned long ch, long sample
|
||||
}
|
||||
else
|
||||
{
|
||||
sample = info->mulaw_table[0x7f]; // Nearest sound(s) is here.
|
||||
sample = m_mulaw_table[0x7f]; // Nearest sound(s) is here.
|
||||
}
|
||||
noisebuf = 0;
|
||||
noisecnt = ( flag & C352_FLG_FILTER ) ? 0 : 1;
|
||||
@ -207,31 +171,31 @@ static void c352_mix_one_channel(c352_state *info, unsigned long ch, long sample
|
||||
|
||||
if ( flag & C352_FLG_PHASEFL )
|
||||
{
|
||||
info->channel_l[i] += ((-sample * info->c352_ch[ch].vol_l)>>8);
|
||||
m_channel_l[i] += ((-sample * m_c352_ch[ch].vol_l)>>8);
|
||||
}
|
||||
else
|
||||
{
|
||||
info->channel_l[i] += ((sample * info->c352_ch[ch].vol_l)>>8);
|
||||
m_channel_l[i] += ((sample * m_c352_ch[ch].vol_l)>>8);
|
||||
}
|
||||
|
||||
if ( flag & C352_FLG_PHASEFR )
|
||||
{
|
||||
info->channel_r[i] += ((-sample * info->c352_ch[ch].vol_r)>>8);
|
||||
m_channel_r[i] += ((-sample * m_c352_ch[ch].vol_r)>>8);
|
||||
}
|
||||
else
|
||||
{
|
||||
info->channel_r[i] += ((sample * info->c352_ch[ch].vol_r)>>8);
|
||||
m_channel_r[i] += ((sample * m_c352_ch[ch].vol_r)>>8);
|
||||
}
|
||||
|
||||
if ( flag & C352_FLG_PHASERL )
|
||||
{
|
||||
info->channel_l2[i] += ((-sample * info->c352_ch[ch].vol_l2)>>8);
|
||||
m_channel_l2[i] += ((-sample * m_c352_ch[ch].vol_l2)>>8);
|
||||
}
|
||||
else
|
||||
{
|
||||
info->channel_l2[i] += ((sample * info->c352_ch[ch].vol_l2)>>8);
|
||||
m_channel_l2[i] += ((sample * m_c352_ch[ch].vol_l2)>>8);
|
||||
}
|
||||
info->channel_r2[i] += ((sample * info->c352_ch[ch].vol_r2)>>8);
|
||||
m_channel_r2[i] += ((sample * m_c352_ch[ch].vol_r2)>>8);
|
||||
|
||||
if ( (flag & C352_FLG_REVERSE) && (flag & C352_FLG_LOOP) )
|
||||
{
|
||||
@ -239,26 +203,26 @@ static void c352_mix_one_channel(c352_state *info, unsigned long ch, long sample
|
||||
{
|
||||
pos += cnt;
|
||||
if (
|
||||
(((pos&0xFFFF) > info->c352_ch[ch].end_addr) && ((pos&0xFFFF) < info->c352_ch[ch].start) && (info->c352_ch[ch].start > info->c352_ch[ch].end_addr) ) ||
|
||||
(((pos&0xFFFF) > info->c352_ch[ch].end_addr) && ((pos&0xFFFF) > info->c352_ch[ch].start) && (info->c352_ch[ch].start < info->c352_ch[ch].end_addr) ) ||
|
||||
((pos > (bank|0xFFFF)) && (info->c352_ch[ch].end_addr == 0xFFFF))
|
||||
(((pos&0xFFFF) > m_c352_ch[ch].end_addr) && ((pos&0xFFFF) < m_c352_ch[ch].start) && (m_c352_ch[ch].start > m_c352_ch[ch].end_addr) ) ||
|
||||
(((pos&0xFFFF) > m_c352_ch[ch].end_addr) && ((pos&0xFFFF) > m_c352_ch[ch].start) && (m_c352_ch[ch].start < m_c352_ch[ch].end_addr) ) ||
|
||||
((pos > (bank|0xFFFF)) && (m_c352_ch[ch].end_addr == 0xFFFF))
|
||||
)
|
||||
{
|
||||
info->c352_ch[ch].flag |= C352_FLG_LDIR;
|
||||
info->c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
m_c352_ch[ch].flag |= C352_FLG_LDIR;
|
||||
m_c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pos -= cnt;
|
||||
if (
|
||||
(((pos&0xFFFF) < info->c352_ch[ch].repeat) && ((pos&0xFFFF) < info->c352_ch[ch].end_addr) && (info->c352_ch[ch].end_addr > info->c352_ch[ch].start) ) ||
|
||||
(((pos&0xFFFF) < info->c352_ch[ch].repeat) && ((pos&0xFFFF) > info->c352_ch[ch].end_addr) && (info->c352_ch[ch].end_addr < info->c352_ch[ch].start) ) ||
|
||||
((pos < bank) && (info->c352_ch[ch].repeat == 0x0000))
|
||||
(((pos&0xFFFF) < m_c352_ch[ch].repeat) && ((pos&0xFFFF) < m_c352_ch[ch].end_addr) && (m_c352_ch[ch].end_addr > m_c352_ch[ch].start) ) ||
|
||||
(((pos&0xFFFF) < m_c352_ch[ch].repeat) && ((pos&0xFFFF) > m_c352_ch[ch].end_addr) && (m_c352_ch[ch].end_addr < m_c352_ch[ch].start) ) ||
|
||||
((pos < bank) && (m_c352_ch[ch].repeat == 0x0000))
|
||||
)
|
||||
{
|
||||
info->c352_ch[ch].flag &= ~C352_FLG_LDIR;
|
||||
info->c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
m_c352_ch[ch].flag &= ~C352_FLG_LDIR;
|
||||
m_c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -266,74 +230,73 @@ static void c352_mix_one_channel(c352_state *info, unsigned long ch, long sample
|
||||
{
|
||||
pos -= cnt;
|
||||
if (
|
||||
(((pos&0xFFFF) < info->c352_ch[ch].end_addr) && ((pos&0xFFFF) < info->c352_ch[ch].start) && (info->c352_ch[ch].start > info->c352_ch[ch].end_addr) ) ||
|
||||
(((pos&0xFFFF) < info->c352_ch[ch].end_addr) && ((pos&0xFFFF) > info->c352_ch[ch].start) && (info->c352_ch[ch].start < info->c352_ch[ch].end_addr) ) ||
|
||||
((pos < bank) && (info->c352_ch[ch].end_addr == 0x0000))
|
||||
(((pos&0xFFFF) < m_c352_ch[ch].end_addr) && ((pos&0xFFFF) < m_c352_ch[ch].start) && (m_c352_ch[ch].start > m_c352_ch[ch].end_addr) ) ||
|
||||
(((pos&0xFFFF) < m_c352_ch[ch].end_addr) && ((pos&0xFFFF) > m_c352_ch[ch].start) && (m_c352_ch[ch].start < m_c352_ch[ch].end_addr) ) ||
|
||||
((pos < bank) && (m_c352_ch[ch].end_addr == 0x0000))
|
||||
)
|
||||
{
|
||||
if ( (flag & C352_FLG_LINK) && (flag & C352_FLG_LOOP) )
|
||||
{
|
||||
info->c352_ch[ch].bank = info->c352_ch[ch].start_addr & 0xFF;
|
||||
info->c352_ch[ch].start_addr = info->c352_ch[ch].repeat_addr;
|
||||
info->c352_ch[ch].start = info->c352_ch[ch].start_addr;
|
||||
info->c352_ch[ch].repeat = info->c352_ch[ch].repeat_addr;
|
||||
pos = (info->c352_ch[ch].bank<<16) + info->c352_ch[ch].start_addr;
|
||||
info->c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
m_c352_ch[ch].bank = m_c352_ch[ch].start_addr & 0xFF;
|
||||
m_c352_ch[ch].start_addr = m_c352_ch[ch].repeat_addr;
|
||||
m_c352_ch[ch].start = m_c352_ch[ch].start_addr;
|
||||
m_c352_ch[ch].repeat = m_c352_ch[ch].repeat_addr;
|
||||
pos = (m_c352_ch[ch].bank<<16) + m_c352_ch[ch].start_addr;
|
||||
m_c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
}
|
||||
else if (flag & C352_FLG_LOOP)
|
||||
{
|
||||
pos = (pos & 0xFF0000) + info->c352_ch[ch].repeat;
|
||||
info->c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
pos = (pos & 0xFF0000) + m_c352_ch[ch].repeat;
|
||||
m_c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
}
|
||||
else
|
||||
{
|
||||
info->c352_ch[ch].flag |= C352_FLG_KEYOFF;
|
||||
info->c352_ch[ch].flag &= ~C352_FLG_BUSY;
|
||||
m_c352_ch[ch].flag |= C352_FLG_KEYOFF;
|
||||
m_c352_ch[ch].flag &= ~C352_FLG_BUSY;
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
pos += cnt;
|
||||
if (
|
||||
(((pos&0xFFFF) > info->c352_ch[ch].end_addr) && ((pos&0xFFFF) < info->c352_ch[ch].start) && (info->c352_ch[ch].start > info->c352_ch[ch].end_addr) ) ||
|
||||
(((pos&0xFFFF) > info->c352_ch[ch].end_addr) && ((pos&0xFFFF) > info->c352_ch[ch].start) && (info->c352_ch[ch].start < info->c352_ch[ch].end_addr) ) ||
|
||||
((pos > (bank|0xFFFF)) && (info->c352_ch[ch].end_addr == 0xFFFF))
|
||||
(((pos&0xFFFF) > m_c352_ch[ch].end_addr) && ((pos&0xFFFF) < m_c352_ch[ch].start) && (m_c352_ch[ch].start > m_c352_ch[ch].end_addr) ) ||
|
||||
(((pos&0xFFFF) > m_c352_ch[ch].end_addr) && ((pos&0xFFFF) > m_c352_ch[ch].start) && (m_c352_ch[ch].start < m_c352_ch[ch].end_addr) ) ||
|
||||
((pos > (bank|0xFFFF)) && (m_c352_ch[ch].end_addr == 0xFFFF))
|
||||
)
|
||||
{
|
||||
if ( (flag & C352_FLG_LINK) && (flag & C352_FLG_LOOP) )
|
||||
{
|
||||
info->c352_ch[ch].bank = info->c352_ch[ch].start_addr & 0xFF;
|
||||
info->c352_ch[ch].start_addr = info->c352_ch[ch].repeat_addr;
|
||||
info->c352_ch[ch].start = info->c352_ch[ch].start_addr;
|
||||
info->c352_ch[ch].repeat = info->c352_ch[ch].repeat_addr;
|
||||
pos = (info->c352_ch[ch].bank<<16) + info->c352_ch[ch].start_addr;
|
||||
info->c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
m_c352_ch[ch].bank = m_c352_ch[ch].start_addr & 0xFF;
|
||||
m_c352_ch[ch].start_addr = m_c352_ch[ch].repeat_addr;
|
||||
m_c352_ch[ch].start = m_c352_ch[ch].start_addr;
|
||||
m_c352_ch[ch].repeat = m_c352_ch[ch].repeat_addr;
|
||||
pos = (m_c352_ch[ch].bank<<16) + m_c352_ch[ch].start_addr;
|
||||
m_c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
}
|
||||
else if (flag & C352_FLG_LOOP)
|
||||
{
|
||||
pos = (pos & 0xFF0000) + info->c352_ch[ch].repeat;
|
||||
info->c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
pos = (pos & 0xFF0000) + m_c352_ch[ch].repeat;
|
||||
m_c352_ch[ch].flag |= C352_FLG_LOOPHIST;
|
||||
}
|
||||
else
|
||||
{
|
||||
info->c352_ch[ch].flag |= C352_FLG_KEYOFF;
|
||||
info->c352_ch[ch].flag &= ~C352_FLG_BUSY;
|
||||
m_c352_ch[ch].flag |= C352_FLG_KEYOFF;
|
||||
m_c352_ch[ch].flag &= ~C352_FLG_BUSY;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
info->c352_ch[ch].noisecnt = noisecnt;
|
||||
info->c352_ch[ch].noisebuf = noisebuf;
|
||||
info->c352_ch[ch].pos = offset;
|
||||
info->c352_ch[ch].current_addr = pos;
|
||||
m_c352_ch[ch].noisecnt = noisecnt;
|
||||
m_c352_ch[ch].noisebuf = noisebuf;
|
||||
m_c352_ch[ch].pos = offset;
|
||||
m_c352_ch[ch].current_addr = pos;
|
||||
}
|
||||
|
||||
|
||||
static STREAM_UPDATE( c352_update )
|
||||
void c352_device::sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples)
|
||||
{
|
||||
c352_state *info = (c352_state *)param;
|
||||
int i, j;
|
||||
stream_sample_t *bufferl = outputs[0];
|
||||
stream_sample_t *bufferr = outputs[1];
|
||||
@ -342,29 +305,29 @@ static STREAM_UPDATE( c352_update )
|
||||
|
||||
for(i = 0 ; i < samples ; i++)
|
||||
{
|
||||
info->channel_l[i] = info->channel_r[i] = info->channel_l2[i] = info->channel_r2[i] = 0;
|
||||
m_channel_l[i] = m_channel_r[i] = m_channel_l2[i] = m_channel_r2[i] = 0;
|
||||
}
|
||||
|
||||
for (j = 0 ; j < 32 ; j++)
|
||||
{
|
||||
c352_mix_one_channel(info, j, samples);
|
||||
mix_one_channel(j, samples);
|
||||
}
|
||||
|
||||
for(i = 0 ; i < samples ; i++)
|
||||
{
|
||||
*bufferl++ = (short) (info->channel_l[i] >>3);
|
||||
*bufferr++ = (short) (info->channel_r[i] >>3);
|
||||
*bufferl2++ = (short) (info->channel_l2[i] >>3);
|
||||
*bufferr2++ = (short) (info->channel_r2[i] >>3);
|
||||
*bufferl++ = (short) (m_channel_l[i] >>3);
|
||||
*bufferr++ = (short) (m_channel_r[i] >>3);
|
||||
*bufferl2++ = (short) (m_channel_l2[i] >>3);
|
||||
*bufferr2++ = (short) (m_channel_r2[i] >>3);
|
||||
}
|
||||
}
|
||||
|
||||
static unsigned short c352_read_reg16(c352_state *info, unsigned long address)
|
||||
unsigned short c352_device::read_reg16(unsigned long address)
|
||||
{
|
||||
unsigned long chan;
|
||||
unsigned short val;
|
||||
|
||||
info->stream->update();
|
||||
m_stream->update();
|
||||
|
||||
chan = (address >> 4) & 0xfff;
|
||||
if (chan > 31)
|
||||
@ -375,7 +338,7 @@ static unsigned short c352_read_reg16(c352_state *info, unsigned long address)
|
||||
{
|
||||
if ((address & 0xf) == 6)
|
||||
{
|
||||
val = info->c352_ch[chan].flag;
|
||||
val = m_c352_ch[chan].flag;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -385,12 +348,12 @@ static unsigned short c352_read_reg16(c352_state *info, unsigned long address)
|
||||
return val;
|
||||
}
|
||||
|
||||
static void c352_write_reg16(c352_state *info, unsigned long address, unsigned short val)
|
||||
void c352_device::write_reg16(unsigned long address, unsigned short val)
|
||||
{
|
||||
unsigned long chan;
|
||||
int i;
|
||||
|
||||
info->stream->update();
|
||||
m_stream->update();
|
||||
|
||||
chan = (address >> 4) & 0xfff;
|
||||
|
||||
@ -401,20 +364,20 @@ static void c352_write_reg16(c352_state *info, unsigned long address, unsigned s
|
||||
case 0x404: // execute key-ons/offs
|
||||
for ( i = 0 ; i <= 31 ; i++ )
|
||||
{
|
||||
if ( info->c352_ch[i].flag & C352_FLG_KEYON )
|
||||
if ( m_c352_ch[i].flag & C352_FLG_KEYON )
|
||||
{
|
||||
info->c352_ch[i].current_addr = (info->c352_ch[i].bank << 16) + info->c352_ch[i].start_addr;
|
||||
info->c352_ch[i].start = info->c352_ch[i].start_addr;
|
||||
info->c352_ch[i].repeat = info->c352_ch[i].repeat_addr;
|
||||
info->c352_ch[i].noisebuf = 0;
|
||||
info->c352_ch[i].noisecnt = 0;
|
||||
info->c352_ch[i].flag &= ~(C352_FLG_KEYON | C352_FLG_LOOPHIST);
|
||||
info->c352_ch[i].flag |= C352_FLG_BUSY;
|
||||
m_c352_ch[i].current_addr = (m_c352_ch[i].bank << 16) + m_c352_ch[i].start_addr;
|
||||
m_c352_ch[i].start = m_c352_ch[i].start_addr;
|
||||
m_c352_ch[i].repeat = m_c352_ch[i].repeat_addr;
|
||||
m_c352_ch[i].noisebuf = 0;
|
||||
m_c352_ch[i].noisecnt = 0;
|
||||
m_c352_ch[i].flag &= ~(C352_FLG_KEYON | C352_FLG_LOOPHIST);
|
||||
m_c352_ch[i].flag |= C352_FLG_BUSY;
|
||||
}
|
||||
else if ( info->c352_ch[i].flag & C352_FLG_KEYOFF )
|
||||
else if ( m_c352_ch[i].flag & C352_FLG_KEYOFF )
|
||||
{
|
||||
info->c352_ch[i].flag &= ~C352_FLG_BUSY;
|
||||
info->c352_ch[i].flag &= ~(C352_FLG_KEYOFF);
|
||||
m_c352_ch[i].flag &= ~C352_FLG_BUSY;
|
||||
m_c352_ch[i].flag &= ~(C352_FLG_KEYOFF);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -434,51 +397,51 @@ static void c352_write_reg16(c352_state *info, unsigned long address, unsigned s
|
||||
case 0x0:
|
||||
// volumes (output 1)
|
||||
LOG(("CH %02ld LVOL %02x RVOL %02x\n", chan, val & 0xff, val >> 8));
|
||||
info->c352_ch[chan].vol_l = val & 0xff;
|
||||
info->c352_ch[chan].vol_r = val >> 8;
|
||||
m_c352_ch[chan].vol_l = val & 0xff;
|
||||
m_c352_ch[chan].vol_r = val >> 8;
|
||||
break;
|
||||
|
||||
case 0x2:
|
||||
// volumes (output 2)
|
||||
LOG(("CH %02ld RLVOL %02x RRVOL %02x\n", chan, val & 0xff, val >> 8));
|
||||
info->c352_ch[chan].vol_l2 = val & 0xff;
|
||||
info->c352_ch[chan].vol_r2 = val >> 8;
|
||||
m_c352_ch[chan].vol_l2 = val & 0xff;
|
||||
m_c352_ch[chan].vol_r2 = val >> 8;
|
||||
break;
|
||||
|
||||
case 0x4:
|
||||
// pitch
|
||||
LOG(("CH %02ld PITCH %04x\n", chan, val));
|
||||
info->c352_ch[chan].pitch = val;
|
||||
m_c352_ch[chan].pitch = val;
|
||||
break;
|
||||
|
||||
case 0x6:
|
||||
// flags
|
||||
LOG(("CH %02ld FLAG %02x\n", chan, val));
|
||||
info->c352_ch[chan].flag = val;
|
||||
m_c352_ch[chan].flag = val;
|
||||
break;
|
||||
|
||||
case 0x8:
|
||||
// bank (bits 16-31 of address);
|
||||
info->c352_ch[chan].bank = val & 0xff;
|
||||
LOG(("CH %02ld BANK %02x", chan, info->c352_ch[chan].bank));
|
||||
m_c352_ch[chan].bank = val & 0xff;
|
||||
LOG(("CH %02ld BANK %02x", chan, m_c352_ch[chan].bank));
|
||||
break;
|
||||
|
||||
case 0xa:
|
||||
// start address
|
||||
LOG(("CH %02ld SADDR %04x\n", chan, val));
|
||||
info->c352_ch[chan].start_addr = val;
|
||||
m_c352_ch[chan].start_addr = val;
|
||||
break;
|
||||
|
||||
case 0xc:
|
||||
// end address
|
||||
LOG(("CH %02ld EADDR %04x\n", chan, val));
|
||||
info->c352_ch[chan].end_addr = val;
|
||||
m_c352_ch[chan].end_addr = val;
|
||||
break;
|
||||
|
||||
case 0xe:
|
||||
// loop address
|
||||
LOG(("CH %02ld LADDR %04x\n", chan, val));
|
||||
info->c352_ch[chan].repeat_addr = val;
|
||||
m_c352_ch[chan].repeat_addr = val;
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -487,15 +450,19 @@ static void c352_write_reg16(c352_state *info, unsigned long address, unsigned s
|
||||
}
|
||||
}
|
||||
|
||||
static void c352_init(c352_state *info, device_t *device)
|
||||
void c352_device::device_start()
|
||||
{
|
||||
int i;
|
||||
double x_max = 32752.0;
|
||||
double y_max = 127.0;
|
||||
double u = 10.0;
|
||||
|
||||
// clear all channels states
|
||||
memset(info->c352_ch, 0, sizeof(c352_ch_t)*32);
|
||||
// find our direct access
|
||||
m_direct = &space()->direct();
|
||||
|
||||
m_sample_rate_base = clock() / 192;
|
||||
|
||||
m_stream = machine().sound().stream_alloc(*this, 0, 4, m_sample_rate_base, this);
|
||||
|
||||
// generate mulaw table for mulaw format samples
|
||||
for (i = 0; i < 256; i++)
|
||||
@ -507,97 +474,54 @@ static void c352_init(c352_state *info, device_t *device)
|
||||
{
|
||||
x = -x;
|
||||
}
|
||||
info->mulaw_table[i] = (short)x;
|
||||
m_mulaw_table[i] = (short)x;
|
||||
}
|
||||
|
||||
// init noise generator
|
||||
info->mseq_reg = 0x12345678;
|
||||
|
||||
// register save state info
|
||||
for (i = 0; i < 32; i++)
|
||||
{
|
||||
device->save_item(NAME(info->c352_ch[i].vol_l), i);
|
||||
device->save_item(NAME(info->c352_ch[i].vol_r), i);
|
||||
device->save_item(NAME(info->c352_ch[i].vol_l2), i);
|
||||
device->save_item(NAME(info->c352_ch[i].vol_r2), i);
|
||||
device->save_item(NAME(info->c352_ch[i].bank), i);
|
||||
device->save_item(NAME(info->c352_ch[i].noise), i);
|
||||
device->save_item(NAME(info->c352_ch[i].noisebuf), i);
|
||||
device->save_item(NAME(info->c352_ch[i].noisecnt), i);
|
||||
device->save_item(NAME(info->c352_ch[i].pitch), i);
|
||||
device->save_item(NAME(info->c352_ch[i].start_addr), i);
|
||||
device->save_item(NAME(info->c352_ch[i].end_addr), i);
|
||||
device->save_item(NAME(info->c352_ch[i].repeat_addr), i);
|
||||
device->save_item(NAME(info->c352_ch[i].flag), i);
|
||||
device->save_item(NAME(info->c352_ch[i].start), i);
|
||||
device->save_item(NAME(info->c352_ch[i].repeat), i);
|
||||
device->save_item(NAME(info->c352_ch[i].current_addr), i);
|
||||
device->save_item(NAME(info->c352_ch[i].pos), i);
|
||||
save_item(NAME(m_c352_ch[i].vol_l), i);
|
||||
save_item(NAME(m_c352_ch[i].vol_r), i);
|
||||
save_item(NAME(m_c352_ch[i].vol_l2), i);
|
||||
save_item(NAME(m_c352_ch[i].vol_r2), i);
|
||||
save_item(NAME(m_c352_ch[i].bank), i);
|
||||
save_item(NAME(m_c352_ch[i].noise), i);
|
||||
save_item(NAME(m_c352_ch[i].noisebuf), i);
|
||||
save_item(NAME(m_c352_ch[i].noisecnt), i);
|
||||
save_item(NAME(m_c352_ch[i].pitch), i);
|
||||
save_item(NAME(m_c352_ch[i].start_addr), i);
|
||||
save_item(NAME(m_c352_ch[i].end_addr), i);
|
||||
save_item(NAME(m_c352_ch[i].repeat_addr), i);
|
||||
save_item(NAME(m_c352_ch[i].flag), i);
|
||||
save_item(NAME(m_c352_ch[i].start), i);
|
||||
save_item(NAME(m_c352_ch[i].repeat), i);
|
||||
save_item(NAME(m_c352_ch[i].current_addr), i);
|
||||
save_item(NAME(m_c352_ch[i].pos), i);
|
||||
}
|
||||
}
|
||||
|
||||
static DEVICE_START( c352 )
|
||||
void c352_device::device_reset()
|
||||
{
|
||||
c352_state *info = get_safe_token(device);
|
||||
// clear all channels states
|
||||
memset(m_c352_ch, 0, sizeof(c352_ch_t)*32);
|
||||
|
||||
info->c352_rom_samples = *device->region();
|
||||
info->c352_rom_length = device->region()->bytes();
|
||||
|
||||
info->sample_rate_base = device->clock() / 192;
|
||||
|
||||
info->stream = device->machine().sound().stream_alloc(*device, 0, 4, info->sample_rate_base, info, c352_update);
|
||||
|
||||
c352_init(info, device);
|
||||
// init noise generator
|
||||
m_mseq_reg = 0x12345678;
|
||||
}
|
||||
|
||||
|
||||
READ16_DEVICE_HANDLER( c352_r )
|
||||
READ16_MEMBER( c352_device::read )
|
||||
{
|
||||
return(c352_read_reg16(get_safe_token(device), offset*2));
|
||||
return(read_reg16(offset*2));
|
||||
}
|
||||
|
||||
WRITE16_DEVICE_HANDLER( c352_w )
|
||||
WRITE16_MEMBER( c352_device::write )
|
||||
{
|
||||
if (mem_mask == 0xffff)
|
||||
{
|
||||
c352_write_reg16(get_safe_token(device), offset*2, data);
|
||||
write_reg16(offset*2, data);
|
||||
}
|
||||
else
|
||||
{
|
||||
logerror("C352: byte-wide write unsupported at this time!\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
* Generic get_info
|
||||
**************************************************************************/
|
||||
|
||||
DEVICE_GET_INFO( c352 )
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
/* --- the following bits of info are returned as 64-bit signed integers --- */
|
||||
case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(c352_state); break;
|
||||
|
||||
/* --- the following bits of info are returned as pointers to data or functions --- */
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( c352 ); break;
|
||||
case DEVINFO_FCT_STOP: /* nothing */ break;
|
||||
case DEVINFO_FCT_RESET: /* nothing */ break;
|
||||
|
||||
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "C352"); break;
|
||||
case DEVINFO_STR_FAMILY: strcpy(info->s, "Namco PCM"); break;
|
||||
case DEVINFO_STR_VERSION: strcpy(info->s, "1.1"); break;
|
||||
case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break;
|
||||
case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DEFINE_LEGACY_SOUND_DEVICE(C352, c352);
|
||||
|
@ -3,12 +3,110 @@
|
||||
#ifndef __C352_H__
|
||||
#define __C352_H__
|
||||
|
||||
#include "devlegcy.h"
|
||||
//**************************************************************************
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
READ16_DEVICE_HANDLER( c352_r );
|
||||
WRITE16_DEVICE_HANDLER( c352_w );
|
||||
#define MCFG_C352_ADD(_tag, _clock) \
|
||||
MCFG_DEVICE_ADD(_tag, C352, _clock)
|
||||
|
||||
DECLARE_LEGACY_SOUND_DEVICE(C352, c352);
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
// ======================> asc_device
|
||||
|
||||
class c352_device : public device_t,
|
||||
public device_sound_interface,
|
||||
public device_memory_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
c352_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
DECLARE_READ16_MEMBER(read);
|
||||
DECLARE_WRITE16_MEMBER(write);
|
||||
|
||||
sound_stream *m_stream;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
// device_sound_interface overrides
|
||||
virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples);
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const;
|
||||
|
||||
const address_space_config m_space_config;
|
||||
|
||||
private:
|
||||
enum {
|
||||
C352_FLG_BUSY = 0x8000, // channel is busy
|
||||
C352_FLG_KEYON = 0x4000, // Keyon
|
||||
C352_FLG_KEYOFF = 0x2000, // Keyoff
|
||||
C352_FLG_LOOPTRG = 0x1000, // Loop Trigger
|
||||
C352_FLG_LOOPHIST = 0x0800, // Loop History
|
||||
C352_FLG_FM = 0x0400, // Frequency Modulation
|
||||
C352_FLG_PHASERL = 0x0200, // Rear Left invert phase 180 degrees
|
||||
C352_FLG_PHASEFL = 0x0100, // Front Left invert phase 180 degrees
|
||||
C352_FLG_PHASEFR = 0x0080, // invert phase 180 degrees (e.g. flip sign of sample)
|
||||
C352_FLG_LDIR = 0x0040, // loop direction
|
||||
C352_FLG_LINK = 0x0020, // "long-format" sample (can't loop, not sure what else it means)
|
||||
C352_FLG_NOISE = 0x0010, // play noise instead of sample
|
||||
C352_FLG_MULAW = 0x0008, // sample is mulaw instead of linear 8-bit PCM
|
||||
C352_FLG_FILTER = 0x0004, // don't apply filter
|
||||
C352_FLG_REVLOOP = 0x0003, // loop backwards
|
||||
C352_FLG_LOOP = 0x0002, // loop forward
|
||||
C352_FLG_REVERSE = 0x0001, // play sample backwards
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 vol_l;
|
||||
UINT8 vol_r;
|
||||
UINT8 vol_l2;
|
||||
UINT8 vol_r2;
|
||||
UINT8 bank;
|
||||
INT16 noise;
|
||||
INT16 noisebuf;
|
||||
UINT16 noisecnt;
|
||||
UINT16 pitch;
|
||||
UINT16 start_addr;
|
||||
UINT16 end_addr;
|
||||
UINT16 repeat_addr;
|
||||
UINT32 flag;
|
||||
|
||||
UINT16 start;
|
||||
UINT16 repeat;
|
||||
UINT32 current_addr;
|
||||
UINT32 pos;
|
||||
} c352_ch_t;
|
||||
|
||||
c352_ch_t m_c352_ch[32];
|
||||
int m_sample_rate_base;
|
||||
|
||||
long m_channel_l[2048*2];
|
||||
long m_channel_r[2048*2];
|
||||
long m_channel_l2[2048*2];
|
||||
long m_channel_r2[2048*2];
|
||||
|
||||
short m_mulaw_table[256];
|
||||
unsigned int m_mseq_reg;
|
||||
direct_read_data *m_direct;
|
||||
|
||||
// private functions
|
||||
int get_mseq_bit(void);
|
||||
void mix_one_channel(unsigned long ch, long sample_count);
|
||||
unsigned short read_reg16(unsigned long address);
|
||||
void write_reg16(unsigned long address, unsigned short val);
|
||||
};
|
||||
|
||||
|
||||
// device type definition
|
||||
extern const device_type C352;
|
||||
|
||||
#endif /* __C352_H__ */
|
||||
|
||||
|
@ -331,7 +331,7 @@ static READ8_HANDLER(dac1_r) { return 0xff; }
|
||||
static READ8_HANDLER(dac0_r) { return 0xff; }
|
||||
|
||||
static ADDRESS_MAP_START( namcoc75_am, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE("c352", c352_r, c352_w)
|
||||
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE_MODERN("c352", c352_device, read, write)
|
||||
AM_RANGE(0x004000, 0x00bfff) AM_RAM_WRITE(mcu_shared_w) AM_BASE_MEMBER(namcofl_state, m_shareram)
|
||||
AM_RANGE(0x00c000, 0x00ffff) AM_ROM AM_REGION("c75", 0)
|
||||
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("c75data", 0)
|
||||
@ -617,7 +617,7 @@ static MACHINE_CONFIG_START( namcofl, namcofl_state )
|
||||
MCFG_VIDEO_START(namcofl)
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MCFG_SOUND_ADD("c352", C352, 48384000/3)
|
||||
MCFG_C352_ADD("c352", 48384000/3)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -663,7 +663,7 @@ ROM_START( speedrcr )
|
||||
ROM_REGION( 0x100000, NAMCOFL_TILEMASKREGION, 0 ) // "SSHAPE" (mask for other tiles?)
|
||||
ROM_LOAD("se1_ssh.18u", 0x000000, 0x100000, CRC(7a8e0bda) SHA1(f6a508d90274d0205fec0c46f5f783a2715c0c6e) )
|
||||
|
||||
ROM_REGION( 0x400000, "c352", 0 ) // Samples
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD("se1_voi.23s", 0x000000, 0x400000, CRC(b95e2ffb) SHA1(7669232d772caa9afa4c7593d018e8b6e534114a) )
|
||||
|
||||
ROM_REGION( 0x000005, "pals", 0) /* PAL's */
|
||||
@ -715,7 +715,7 @@ ROM_START( finalapr )
|
||||
ROM_REGION( 0x80000, NAMCOFL_TILEMASKREGION, 0 ) // "SSHAPE" (mask for other tiles?)
|
||||
ROM_LOAD("flr1ssh.18u", 0x000000, 0x080000, CRC(f70cb2bf) SHA1(dbddda822287783a43415172b81d0382a8ac43d8) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 ) // Samples
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD("flr1voi.23s", 0x000000, 0x200000, CRC(ff6077cd) SHA1(73c289125ddeae3e43153e4c570549ca04501262) )
|
||||
|
||||
ROM_REGION( 0x2000, "nvram", 0 ) // default settings, including calibration
|
||||
@ -757,7 +757,7 @@ ROM_START( finalapro )
|
||||
ROM_REGION( 0x80000, NAMCOFL_TILEMASKREGION, 0 ) // "SSHAPE" (mask for other tiles?)
|
||||
ROM_LOAD("flr1ssh.18u", 0x000000, 0x080000, CRC(f70cb2bf) SHA1(dbddda822287783a43415172b81d0382a8ac43d8) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 ) // Samples
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD("flr1voi.23s", 0x000000, 0x200000, CRC(ff6077cd) SHA1(73c289125ddeae3e43153e4c570549ca04501262) )
|
||||
|
||||
ROM_REGION( 0x2000, "nvram", 0 ) // default settings, including calibration
|
||||
@ -800,7 +800,7 @@ ROM_START( finalaprj )
|
||||
ROM_REGION( 0x80000, NAMCOFL_TILEMASKREGION, 0 ) // "SSHAPE" (mask for other tiles?)
|
||||
ROM_LOAD("flr1ssh.18u", 0x000000, 0x080000, CRC(f70cb2bf) SHA1(dbddda822287783a43415172b81d0382a8ac43d8) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 ) // Samples
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD("flr1voi.23s", 0x000000, 0x200000, CRC(ff6077cd) SHA1(73c289125ddeae3e43153e4c570549ca04501262) )
|
||||
|
||||
ROM_REGION( 0x2000, "nvram", 0 ) // default settings, including calibration
|
||||
|
@ -918,7 +918,7 @@ static WRITE16_HANDLER( nbmcu_shared_w )
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( namcoc75_am, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE("c352", c352_r, c352_w)
|
||||
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE_MODERN("c352", c352_device, read, write)
|
||||
AM_RANGE(0x004000, 0x00bfff) AM_RAM_WRITE(nbmcu_shared_w) AM_BASE_MEMBER(namconb1_state, m_namconb_shareram)
|
||||
AM_RANGE(0x00c000, 0x00ffff) AM_ROM AM_REGION("c75", 0)
|
||||
AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("c75data", 0)
|
||||
@ -1045,7 +1045,7 @@ static MACHINE_CONFIG_START( namconb1, namconb1_state )
|
||||
MCFG_VIDEO_START(namconb1)
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MCFG_SOUND_ADD("c352", C352, MASTER_CLOCK_HZ/3)
|
||||
MCFG_C352_ADD("c352", MASTER_CLOCK_HZ/3)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -1078,7 +1078,7 @@ static MACHINE_CONFIG_START( namconb2, namconb1_state )
|
||||
MCFG_VIDEO_START(namconb2)
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MCFG_SOUND_ADD("c352", C352, MASTER_CLOCK_HZ/3)
|
||||
MCFG_C352_ADD("c352", MASTER_CLOCK_HZ/3)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -1099,7 +1099,7 @@ ROM_START( ptblank ) /* World set using 4Mb sound data rom (verified) */
|
||||
// ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb rom at 0x00000-0x1ffff */
|
||||
ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "gn1-voi0.5j", 0, 0x200000, CRC(05477eb7) SHA1(f2eaacb5dbac06c37c56b9b131230c9cf6602221) )
|
||||
|
||||
ROM_REGION( 0x800000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1130,7 +1130,7 @@ ROM_START( gunbuletw ) /* World set using 4Mb sound data rom (verified) */
|
||||
// ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb rom at 0x00000-0x1ffff */
|
||||
ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "gn1-voi0.5j", 0, 0x200000, CRC(05477eb7) SHA1(f2eaacb5dbac06c37c56b9b131230c9cf6602221) )
|
||||
|
||||
ROM_REGION( 0x800000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1161,7 +1161,7 @@ ROM_START( gunbuletj ) /* Japanese set using 1Mb sound data rom (verified) */
|
||||
ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb rom at 0x00000-0x1ffff */
|
||||
// ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "gn1-voi0.5j", 0, 0x200000, CRC(05477eb7) SHA1(f2eaacb5dbac06c37c56b9b131230c9cf6602221) )
|
||||
|
||||
ROM_REGION( 0x800000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1191,7 +1191,7 @@ ROM_START( nebulray )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "nr1-spr0", 0, 0x20000, CRC(1cc2b44b) SHA1(161f4ed39fabe89d7ee1d539f8b9f08cd0ff3111) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "nr1-voi0", 0, 0x200000, CRC(332d5e26) SHA1(9daddac3fbe0709e25ed8e0b456bac15bfae20d7) )
|
||||
|
||||
ROM_REGION( 0x1000000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1228,7 +1228,7 @@ ROM_START( nebulrayj )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "nr1-spr0", 0, 0x20000, CRC(1cc2b44b) SHA1(161f4ed39fabe89d7ee1d539f8b9f08cd0ff3111) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "nr1-voi0", 0, 0x200000, CRC(332d5e26) SHA1(9daddac3fbe0709e25ed8e0b456bac15bfae20d7) )
|
||||
|
||||
ROM_REGION( 0x1000000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1265,7 +1265,7 @@ ROM_START( gslgr94u )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "gse2spr0.bin", 0, 0x20000, CRC(17e87cfc) SHA1(9cbeadb6dfcb736e8c80eab344f70fc2f58469d6) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "gse-voi0.bin", 0, 0x200000, CRC(d3480574) SHA1(0c468ed060769b36b7e41cf4919cb6d8691d64f6) )
|
||||
|
||||
ROM_REGION( 0x400000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1293,7 +1293,7 @@ ROM_START( gslgr94j )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "gs41spr0.5b", 0, 0x80000, CRC(3e2b6d55) SHA1(f6a1ecaee3a9a7a535850084e469aa7f873f301e) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "gs4voi0.5j", 0, 0x200000, CRC(c3053a90) SHA1(e76799b33b2457421255b03786bc24266d59c7dd) )
|
||||
|
||||
ROM_REGION( 0x800000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1448,7 +1448,7 @@ ROM_START( gslugrsj )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "gs1spr0.5b", 0, 0x80000, CRC(561ea20f) SHA1(adac6b77effc3a82079a9b228bafca0fcef72ba5) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "gs1voi-0.5j", 0, 0x200000, CRC(6f8262aa) SHA1(beea98d9f8b927a572eb0bfcf678e9d6e40fc68d) )
|
||||
|
||||
ROM_REGION( 0x400000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1476,7 +1476,7 @@ ROM_START( sws95 )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "ss51spr0.bin", 0, 0x80000, CRC(71cb12f5) SHA1(6e13bd16a5ba14d6e47a21875db3663ada3c06a5) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ss51voi0.bin", 0, 0x200000, CRC(2740ec72) SHA1(9694a7378ea72771d2b1d43db6d74ed347ba27d3) )
|
||||
|
||||
|
||||
@ -1505,7 +1505,7 @@ ROM_START( sws96 )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "ss61spr0.bin", 0, 0x80000, CRC(71cb12f5) SHA1(6e13bd16a5ba14d6e47a21875db3663ada3c06a5) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ss61voi0.bin", 0, 0x200000, CRC(2740ec72) SHA1(9694a7378ea72771d2b1d43db6d74ed347ba27d3) )
|
||||
|
||||
ROM_REGION( 0x400000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1533,7 +1533,7 @@ ROM_START( sws97 )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "ss71spr0.bin", 0, 0x80000, CRC(71cb12f5) SHA1(6e13bd16a5ba14d6e47a21875db3663ada3c06a5) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ss71voi0.bin", 0, 0x200000, CRC(2740ec72) SHA1(9694a7378ea72771d2b1d43db6d74ed347ba27d3) )
|
||||
|
||||
ROM_REGION( 0x400000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1561,7 +1561,7 @@ ROM_START( vshoot )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "vsj1spr0.5b", 0, 0x80000, CRC(b0c71aa6) SHA1(a94fae02b46a645ff728d2f98827c85ff155892b) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "vsjvoi-0.5j", 0, 0x200000, CRC(0528c9ed) SHA1(52b67978fdeb97b77065575774a7ddeb49fe1d81) )
|
||||
|
||||
ROM_REGION( 0x800000, NAMCONB1_SPRITEGFXREGION, 0 )
|
||||
@ -1749,7 +1749,7 @@ ROM_START( outfxies )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "ou1spr0.5b", 0, 0x80000, CRC(60cee566) SHA1(2f3b96793816d90011586e0f9f71c58b636b6d4c) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ou1voi0.6n", 0, 0x200000, CRC(2d8fb271) SHA1(bde9d45979728f5a2cd8ec89f5f81bf16b694cc2) )
|
||||
|
||||
ROM_REGION( 0x200000, NAMCONB1_TILEMASKREGION, 0 )
|
||||
@ -1794,7 +1794,7 @@ ROM_START( outfxiesj )
|
||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
|
||||
ROM_LOAD( "ou1spr0.5b", 0, 0x80000, CRC(60cee566) SHA1(2f3b96793816d90011586e0f9f71c58b636b6d4c) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ou1voi0.6n", 0, 0x200000, CRC(2d8fb271) SHA1(bde9d45979728f5a2cd8ec89f5f81bf16b694cc2) )
|
||||
|
||||
ROM_REGION( 0x200000, NAMCONB1_TILEMASKREGION, 0 )
|
||||
|
@ -253,7 +253,7 @@ static WRITE8_HANDLER( mcu_pa_write )
|
||||
static ADDRESS_MAP_START( nd1h8rwmap, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x200000, 0x20ffff) AM_READWRITE( sharedram_sub_r, sharedram_sub_w )
|
||||
AM_RANGE(0xa00000, 0xa07fff) AM_DEVREADWRITE( "c352", c352_r, c352_w )
|
||||
AM_RANGE(0xa00000, 0xa07fff) AM_DEVREADWRITE_MODERN("c352", c352_device, read, write)
|
||||
AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0xc00010, 0xc00011) AM_NOP
|
||||
@ -325,7 +325,7 @@ static MACHINE_CONFIG_START( namcond1, namcond1_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("c352", C352, 16384000)
|
||||
MCFG_C352_ADD("c352", 16384000)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -345,7 +345,7 @@ ROM_START( ncv1 )
|
||||
ROM_REGION( 0x200000,"gfx1", 0 ) /* 2MB character generator */
|
||||
ROM_LOAD( "nc1cg0.10c", 0x000000, 0x200000, CRC(355e7f29) SHA1(47d92c4e28c3610a620d3c9b3be558199477f6d8) )
|
||||
|
||||
ROM_REGION( 0x200000,"c352", 0 ) /* 2MB sound data */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "nc1voice.7b", 0x000000, 0x200000, CRC(91c85bd6) SHA1(c2af8b1518b2b601f2b14c3f327e7e3eae9e29fc) )
|
||||
ROM_END
|
||||
|
||||
@ -360,7 +360,7 @@ ROM_START( ncv1j )
|
||||
ROM_REGION( 0x200000,"gfx1", 0 ) /* 2MB character generator */
|
||||
ROM_LOAD( "nc1cg0.10c", 0x000000, 0x200000, CRC(355e7f29) SHA1(47d92c4e28c3610a620d3c9b3be558199477f6d8) )
|
||||
|
||||
ROM_REGION( 0x200000,"c352", 0 ) /* 2MB sound data */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "nc1voice.7b", 0x000000, 0x200000, CRC(91c85bd6) SHA1(c2af8b1518b2b601f2b14c3f327e7e3eae9e29fc) )
|
||||
ROM_END
|
||||
|
||||
@ -375,7 +375,7 @@ ROM_START( ncv1j2 )
|
||||
ROM_REGION( 0x200000,"gfx1", 0 ) /* 2MB character generator */
|
||||
ROM_LOAD( "nc1cg0.10c", 0x000000, 0x200000, CRC(355e7f29) SHA1(47d92c4e28c3610a620d3c9b3be558199477f6d8) )
|
||||
|
||||
ROM_REGION( 0x200000,"c352", 0 ) /* 2MB sound data */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "nc1voice.7b", 0x000000, 0x200000, CRC(91c85bd6) SHA1(c2af8b1518b2b601f2b14c3f327e7e3eae9e29fc) )
|
||||
ROM_END
|
||||
|
||||
@ -391,7 +391,7 @@ ROM_START( ncv2 )
|
||||
ROM_LOAD( "ncs1cg0.10e", 0x000000, 0x200000, CRC(fdd24dbe) SHA1(4dceaae3d853075f58a7408be879afc91d80292e) )
|
||||
ROM_LOAD( "ncs1cg1.10e", 0x200000, 0x200000, CRC(007b19de) SHA1(d3c093543511ec1dd2f8be6db45f33820123cabc) )
|
||||
|
||||
ROM_REGION( 0x200000,"c352", 0 ) /* 2MB sound data */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ncs1voic.7c", 0x000000, 0x200000, CRC(ed05fd88) SHA1(ad88632c89a9946708fc6b4c9247e1bae9b2944b) )
|
||||
ROM_END
|
||||
|
||||
@ -407,7 +407,7 @@ ROM_START( ncv2j )
|
||||
ROM_LOAD( "ncs1cg0.10e", 0x000000, 0x200000, CRC(fdd24dbe) SHA1(4dceaae3d853075f58a7408be879afc91d80292e) )
|
||||
ROM_LOAD( "ncs1cg1.10e", 0x200000, 0x200000, CRC(007b19de) SHA1(d3c093543511ec1dd2f8be6db45f33820123cabc) )
|
||||
|
||||
ROM_REGION( 0x200000,"c352", 0 ) /* 2MB sound data */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ncs1voic.7c", 0x000000, 0x200000, CRC(ed05fd88) SHA1(ad88632c89a9946708fc6b4c9247e1bae9b2944b) )
|
||||
ROM_END
|
||||
|
||||
|
@ -775,7 +775,7 @@ static READ16_HANDLER( c76_inputs_r )
|
||||
}
|
||||
|
||||
ADDRESS_MAP_START( c76_map, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE("c352", c352_r, c352_w )
|
||||
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE_MODERN("c352", c352_device, read, write)
|
||||
AM_RANGE(0x001000, 0x001007) AM_READ( c76_inputs_r )
|
||||
AM_RANGE(0x004000, 0x00bfff) AM_READWRITE( c76_shared_r, c76_shared_w )
|
||||
AM_RANGE(0x00c000, 0x00ffff) AM_ROM AM_REGION("c76", 0x40000)
|
||||
@ -1009,7 +1009,7 @@ static MACHINE_CONFIG_START( coh100, namcos11_state )
|
||||
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8538Q, 0 )
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MCFG_SOUND_ADD("c352", C352, 16384000)
|
||||
MCFG_C352_ADD("c352", 16384000)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -1657,7 +1657,7 @@ ROM_START( tekkenac )
|
||||
ROM_LOAD( "te1sprog.6d", 0x0000000, 0x040000, CRC(849587e9) SHA1(94c6a757b24758a866a41bd8acd46aa46844f74b) )
|
||||
ROM_LOAD( "c76.bin", 0x040000, 0x004000, CRC(399faac7) SHA1(ceb184ef0486caf715dd997101999785f67a40b8) )
|
||||
|
||||
ROM_REGION( 0x0200000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "te1wave.8k", 0x0000000, 0x200000, CRC(fce6c57a) SHA1(7fb8c69452c92c59a940a2b69d0d73ef7aefcb82) )
|
||||
ROM_END
|
||||
|
||||
@ -1680,7 +1680,7 @@ ROM_START( tekkenab )
|
||||
ROM_LOAD( "te1sprog.6d", 0x0000000, 0x040000, CRC(849587e9) SHA1(94c6a757b24758a866a41bd8acd46aa46844f74b) )
|
||||
ROM_LOAD( "c76.bin", 0x040000, 0x004000, CRC(399faac7) SHA1(ceb184ef0486caf715dd997101999785f67a40b8) )
|
||||
|
||||
ROM_REGION( 0x0200000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "te1wave.8k", 0x0000000, 0x200000, CRC(fce6c57a) SHA1(7fb8c69452c92c59a940a2b69d0d73ef7aefcb82) )
|
||||
ROM_END
|
||||
|
||||
@ -1703,7 +1703,7 @@ ROM_START( tekkenjb )
|
||||
ROM_LOAD( "te1sprog.6d", 0x0000000, 0x040000, CRC(849587e9) SHA1(94c6a757b24758a866a41bd8acd46aa46844f74b) )
|
||||
ROM_LOAD( "c76.bin", 0x040000, 0x004000, CRC(399faac7) SHA1(ceb184ef0486caf715dd997101999785f67a40b8) )
|
||||
|
||||
ROM_REGION( 0x0200000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "te1wave.8k", 0x0000000, 0x200000, CRC(fce6c57a) SHA1(7fb8c69452c92c59a940a2b69d0d73ef7aefcb82) )
|
||||
ROM_END
|
||||
|
||||
|
@ -1414,7 +1414,7 @@ static MACHINE_RESET( namcos12 )
|
||||
static ADDRESS_MAP_START( s12h8rwmap, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x080000, 0x08ffff) AM_READWRITE( sharedram_sub_r, sharedram_sub_w )
|
||||
AM_RANGE(0x280000, 0x287fff) AM_DEVREADWRITE( "c352", c352_r, c352_w )
|
||||
AM_RANGE(0x280000, 0x287fff) AM_DEVREADWRITE_MODERN("c352", c352_device, read, write)
|
||||
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x300002, 0x300003) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x300010, 0x300011) AM_NOP // golgo13 writes here a lot, possibly also a wait state generator?
|
||||
@ -1679,7 +1679,7 @@ static MACHINE_CONFIG_START( coh700, namcos12_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("c352", C352, 16737350)
|
||||
MCFG_C352_ADD("c352", 16737350)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -1810,7 +1810,7 @@ ROM_START( aquarush )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "aq1vera.11s", 0x000000, 0x080000, CRC(78277e02) SHA1(577ebb6d7ab5e304fb1dc1e7fd5649762e0d1786) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "aq1wave0.2", 0x000000, 0x800000, CRC(0cf7278d) SHA1(aee31e4d9b3522f42325071768803c542aa6de09) )
|
||||
ROM_END
|
||||
|
||||
@ -1832,7 +1832,7 @@ ROM_START( ehrgeiz )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "eg1vera.11s", 0x0000000, 0x080000, CRC(9e44645e) SHA1(374eb4a4c09d6b5b7af5ff0efec16b4d2aacbe2b) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "eg1wave0.2", 0x0000000, 0x800000, CRC(961fe69f) SHA1(0189a061959a8d94b9d2db627911264faf9f28fd) )
|
||||
ROM_END
|
||||
|
||||
@ -1854,7 +1854,7 @@ ROM_START( ehrgeizaa )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "eg1vera.11s", 0x0000000, 0x080000, CRC(9e44645e) SHA1(374eb4a4c09d6b5b7af5ff0efec16b4d2aacbe2b) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "eg1wave0.2", 0x0000000, 0x800000, CRC(961fe69f) SHA1(0189a061959a8d94b9d2db627911264faf9f28fd) )
|
||||
ROM_END
|
||||
|
||||
@ -1876,7 +1876,7 @@ ROM_START( ehrgeizja )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "eg1vera.11s", 0x0000000, 0x080000, CRC(9e44645e) SHA1(374eb4a4c09d6b5b7af5ff0efec16b4d2aacbe2b) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "eg1wave0.2", 0x0000000, 0x800000, CRC(961fe69f) SHA1(0189a061959a8d94b9d2db627911264faf9f28fd) )
|
||||
ROM_END
|
||||
|
||||
@ -1968,7 +1968,7 @@ ROM_START( ghlpanic )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "ob2vera.11s", 0x0000000, 0x080000, CRC(f8c459f2) SHA1(681520c891f5c8a0f321652d8834910310c88d1a) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "ob1wave.ic2", 0x000000, 0x800000, CRC(e7bc7202) SHA1(f0f598304866ebe62642eaac6b7d8709baa14fe1) )
|
||||
ROM_END
|
||||
|
||||
@ -1988,7 +1988,7 @@ ROM_START( kaiunqz )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "kw1vera.11s", 0x000000, 0x080000, CRC(d863fafa) SHA1(3c2bb38c24165e3a1a4d1d257fcfc019b63d5199) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "kw1wave0.2", 0x000000, 0x800000, CRC(060e52ae) SHA1(7ea95cae9d3c648163b225d0c7d365644be90241) )
|
||||
ROM_END
|
||||
|
||||
@ -2006,7 +2006,7 @@ ROM_START( lbgrande )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "lg1vera.11s", 0x0000000, 0x080000, CRC(de717a09) SHA1(78f26ff630c50632916fa17fa870dcde7f13781d) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "lg1wave0.5", 0x0000000, 0x400000, CRC(4647fada) SHA1(99f5e9ded0c83f1a0d3670f6380bc15c1380671e) )
|
||||
ROM_END
|
||||
|
||||
@ -2024,7 +2024,7 @@ ROM_START( lbgrandeja )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "lg1vera.11s", 0x0000000, 0x080000, CRC(de717a09) SHA1(78f26ff630c50632916fa17fa870dcde7f13781d) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "lg1wave0.5", 0x0000000, 0x400000, CRC(4647fada) SHA1(99f5e9ded0c83f1a0d3670f6380bc15c1380671e) )
|
||||
ROM_END
|
||||
|
||||
@ -2044,7 +2044,7 @@ ROM_START( mdhorse )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "mdh1vera.11s", 0x0000000, 0x080000, CRC(20d7ba29) SHA1(95a056d1f1ac70dda8ced832b506076485348a33) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "mdh1wave0", 0x0000000, 0x800000, CRC(7b031123) SHA1(7cbc1f71d259405f9f1ef26026d51abcb255b057) )
|
||||
ROM_END
|
||||
|
||||
@ -2060,7 +2060,7 @@ ROM_START( mrdrillr )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "dri1vera.11s", 0x0000000, 0x080000, CRC(33ea9c0e) SHA1(5018d7a1a45ec3133cd928435db8804f66321924) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "dri1wave0.5", 0x0000000, 0x800000, CRC(32928df1) SHA1(79af92a2d24a0e3d5bfe1785776b0f86a93882ce) )
|
||||
ROM_END
|
||||
|
||||
@ -2170,7 +2170,7 @@ ROM_START( soulclbr )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) )
|
||||
ROM_END
|
||||
|
||||
@ -2189,7 +2189,7 @@ ROM_START( soulclbrwb )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) )
|
||||
ROM_END
|
||||
|
||||
@ -2208,7 +2208,7 @@ ROM_START( soulclbruc )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) )
|
||||
ROM_END
|
||||
|
||||
@ -2227,7 +2227,7 @@ ROM_START( soulclbrjc )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) )
|
||||
ROM_END
|
||||
|
||||
@ -2246,7 +2246,7 @@ ROM_START( soulclbrub )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) )
|
||||
ROM_END
|
||||
|
||||
@ -2265,7 +2265,7 @@ ROM_START( soulclbrjb )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) )
|
||||
ROM_END
|
||||
|
||||
@ -2284,7 +2284,7 @@ ROM_START( soulclbrja )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) )
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) )
|
||||
ROM_END
|
||||
|
||||
@ -2389,7 +2389,7 @@ ROM_START( tekken3 )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "tet1verb.11s", 0x0000000, 0x080000, CRC(c92b98d1) SHA1(8ae6fba8c5b6b9a2ab9541eac8553b282f35750d) ) /* No label but different than tet1vera.11s */
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) )
|
||||
ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) )
|
||||
ROM_END
|
||||
@ -2412,7 +2412,7 @@ ROM_START( tekken3ae )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "tet1verb.11s", 0x0000000, 0x080000, CRC(c92b98d1) SHA1(8ae6fba8c5b6b9a2ab9541eac8553b282f35750d) ) /* No label but different than tet1vera.11s */
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) )
|
||||
ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) )
|
||||
ROM_END
|
||||
@ -2435,7 +2435,7 @@ ROM_START( tekken3ud )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "tet1verb.11s", 0x0000000, 0x080000, CRC(c92b98d1) SHA1(8ae6fba8c5b6b9a2ab9541eac8553b282f35750d) ) /* No label but different than tet1vera.11s */
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) )
|
||||
ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) )
|
||||
ROM_END
|
||||
@ -2458,7 +2458,7 @@ ROM_START( tekken3ab )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "tet1verb.11s", 0x0000000, 0x080000, CRC(c92b98d1) SHA1(8ae6fba8c5b6b9a2ab9541eac8553b282f35750d) ) /* No label but different than tet1vera.11s */
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) )
|
||||
ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) )
|
||||
ROM_END
|
||||
@ -2481,7 +2481,7 @@ ROM_START( tekken3ua )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "tet1vera.11s", 0x0000000, 0x080000, CRC(a74dfe7f) SHA1(854096a6f12ee9073fb1f38e41c8e6e0725a7521) ) /* Specific to Ver A. */
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) )
|
||||
ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) )
|
||||
ROM_END
|
||||
@ -2504,7 +2504,7 @@ ROM_START( tekken3aa )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "tet1vera.11s", 0x0000000, 0x080000, CRC(a74dfe7f) SHA1(854096a6f12ee9073fb1f38e41c8e6e0725a7521) ) /* Specific to Ver A. */
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) )
|
||||
ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) )
|
||||
ROM_END
|
||||
@ -2527,7 +2527,7 @@ ROM_START( tekken3ja )
|
||||
ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */
|
||||
ROM_LOAD16_WORD_SWAP( "tet1vera.11s", 0x0000000, 0x080000, CRC(a74dfe7f) SHA1(854096a6f12ee9073fb1f38e41c8e6e0725a7521) ) /* Specific to Ver A. */
|
||||
|
||||
ROM_REGION( 0x0800000, "c352", 0 ) /* samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) )
|
||||
ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) )
|
||||
ROM_END
|
||||
|
@ -2516,7 +2516,7 @@ static WRITE16_HANDLER( s22mcu_shared_w )
|
||||
|
||||
// Super System 22 M37710
|
||||
static ADDRESS_MAP_START( mcu_program, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE( "c352", c352_r, c352_w )
|
||||
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE_MODERN("c352", c352_device, read, write)
|
||||
AM_RANGE(0x004000, 0x00bfff) AM_READWRITE( s22mcu_shared_r, s22mcu_shared_w )
|
||||
AM_RANGE(0x00c000, 0x00ffff) AM_ROM AM_REGION("user4", 0xc000)
|
||||
AM_RANGE(0x080000, 0x0fffff) AM_ROM AM_REGION("user4", 0)
|
||||
@ -2528,7 +2528,7 @@ ADDRESS_MAP_END
|
||||
|
||||
// System 22 37702
|
||||
static ADDRESS_MAP_START( mcu_s22_program, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE( "c352", c352_r, c352_w )
|
||||
AM_RANGE(0x002000, 0x002fff) AM_DEVREADWRITE_MODERN("c352", c352_device, read, write)
|
||||
AM_RANGE(0x004000, 0x00bfff) AM_READWRITE( s22mcu_shared_r, s22mcu_shared_w )
|
||||
AM_RANGE(0x00c000, 0x00ffff) AM_ROM AM_REGION("mcu", 0)
|
||||
AM_RANGE(0x080000, 0x0fffff) AM_ROM AM_REGION("user4", 0)
|
||||
@ -2915,7 +2915,7 @@ static MACHINE_CONFIG_START( namcos22s, namcos22_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("c352", C352, SS22_MASTER_CLOCK/3)
|
||||
MCFG_C352_ADD("c352", SS22_MASTER_CLOCK/3)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -3324,7 +3324,7 @@ static MACHINE_CONFIG_START( namcos22, namcos22_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("c352", C352, SS22_MASTER_CLOCK/3)
|
||||
MCFG_C352_ADD("c352", SS22_MASTER_CLOCK/3)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -3385,7 +3385,7 @@ ROM_START( airco22b )
|
||||
ROM_LOAD( "acs1ptu2.15f", 0x80000*0xa, 0x80000,CRC(fdd2d778) SHA1(0269f971d778e908a1efb5a63b08fb3365d98c2a) )
|
||||
ROM_LOAD( "acs1ptu3.14f", 0x80000*0xb, 0x80000,CRC(38b425d4) SHA1(8ff6dd6775d42afdff4c9fb2232e4d72b38e515a) )
|
||||
|
||||
ROM_REGION( 0xc00000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "acs1wav0.1", 0x400000, 0x400000, CRC(52fb9762) SHA1(125c163e62d701c2e17ba0b572ed27c944ca0412) )
|
||||
ROM_LOAD( "acs1wav1.2", 0x800000, 0x400000, CRC(b568dca2) SHA1(503deb277691d801acac1380ded2868a5d5ac501) )
|
||||
ROM_END
|
||||
@ -3442,7 +3442,7 @@ ROM_START( alpinerc )
|
||||
ROM_LOAD( "ar1ptru2.15f", 0x80000*0xa, 0x80000,CRC(1321ec59) SHA1(dbd3687a4c6b1aa0b18e336f99dabb9010d36639) )
|
||||
ROM_LOAD( "ar1ptru3.14f", 0x80000*0xb, 0x80000,CRC(139d7dc1) SHA1(6d25e6ad552a91a0c5fc03db7e1a801ccf9c9556) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ar1wavea.2l", 0, 0x200000, CRC(dbf64562) SHA1(454fd7d5b860f0e5557d8900393be95d6c992ad1) )
|
||||
ROM_END
|
||||
|
||||
@ -3498,7 +3498,7 @@ ROM_START( alpinerd )
|
||||
ROM_LOAD( "ar1ptru2.15f", 0x80000*0xa, 0x80000,CRC(1321ec59) SHA1(dbd3687a4c6b1aa0b18e336f99dabb9010d36639) )
|
||||
ROM_LOAD( "ar1ptru3.14f", 0x80000*0xb, 0x80000,CRC(139d7dc1) SHA1(6d25e6ad552a91a0c5fc03db7e1a801ccf9c9556) )
|
||||
|
||||
ROM_REGION( 0x200000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ar1wavea.2l", 0, 0x200000, CRC(dbf64562) SHA1(454fd7d5b860f0e5557d8900393be95d6c992ad1) )
|
||||
ROM_END
|
||||
|
||||
@ -3698,7 +3698,7 @@ ROM_START( cybrcomm )
|
||||
ROM_LOAD( "cyc1ptu1.4d", 0x80000*0x7, 0x80000,CRC(3bdaeeeb) SHA1(826f97e2165af8569cfec03874b16030a9486559) )
|
||||
ROM_LOAD( "cyc1ptu2.3d", 0x80000*0x8, 0x80000,CRC(a0e73674) SHA1(1e22142a564e664031c12b250664fc82e3b3d43b) )
|
||||
|
||||
ROM_REGION( 0x400000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "cy1wav0.10r", 0x000000, 0x100000, CRC(c6f366a2) SHA1(795dbee09df159d3501c748fb3de16cca81742d6) )
|
||||
ROM_LOAD( "cy1wav1.10p", 0x200000, 0x100000, CRC(f30b5e37) SHA1(9f5a94d82741ef9688c6e415ebb9009c906737c9) )
|
||||
ROM_LOAD( "cy1wav2.10n", 0x100000, 0x100000, CRC(b98c1ca6) SHA1(4b66aa05f82be5ef3315acc30031872698ff4391) )
|
||||
@ -3762,7 +3762,7 @@ ROM_START( cybrcycc )
|
||||
ROM_LOAD( "cb1ptru2.15f", 0x80000*0xa, 0x80000,CRC(68ffcd50) SHA1(5ca5f71b6b079fde14d76c869d211a815bffae68) )
|
||||
ROM_LOAD( "cb1ptru3.14f", 0x80000*0xb, 0x80000,CRC(d89c1c2b) SHA1(9c25df696b2d120ce33d7774381460297740007a) )
|
||||
|
||||
ROM_REGION( 0xa00000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "cb1wavea.2l", 0x000000, 0x400000, CRC(b79a624d) SHA1(c0ee358a183ba6d0835731dbdd191b64718fde6e) )
|
||||
ROM_LOAD( "cb1waveb.1l", 0x800000, 0x200000, CRC(33bf08f6) SHA1(bf9d68b26a8158ea1abfe8428b7454cac25242c5) )
|
||||
ROM_END
|
||||
@ -3827,7 +3827,7 @@ ROM_START( propcycl )
|
||||
ROM_LOAD( "pr1ptru1.16f", 0x80000*7, 0x80000,CRC(e9a3f72b) SHA1(f967e1adf8eee4fffdf4288d36a93c5bb4f9a126) )
|
||||
ROM_LOAD( "pr1ptru2.15f", 0x80000*8, 0x80000,CRC(c346a842) SHA1(299bc0a30d0e74d8adfa3dc605aebf6439f5bc18) )
|
||||
|
||||
ROM_REGION( 0xc00000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "pr1wavea.2l", 0x000000, 0x400000, CRC(320f3913) SHA1(3887b7334ca7762794c14198dd24bab47fcd9505) )
|
||||
ROM_LOAD( "pr1waveb.1l", 0x800000, 0x400000, CRC(d91acb26) SHA1(c2161e2d70e08aed15cbc875ffee685190611daf) )
|
||||
ROM_END
|
||||
@ -3869,7 +3869,7 @@ ROM_START( acedrvrw )
|
||||
ROM_LOAD( "ad1potu0.5d", 0x80000*4, 0x80000,CRC(e0f44949) SHA1(ffdb64d600883974b05edaa9ed3071af355ee17f) )
|
||||
ROM_LOAD( "ad1potu1.4d", 0x80000*5, 0x80000,CRC(f2cd2cbb) SHA1(19fe6e3454a1e4353c7fe0a0d7a71742fea946de) )
|
||||
|
||||
ROM_REGION( 0x400000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ad1wave0.10r", 0x100000*0, 0x100000,CRC(c7879a72) SHA1(ae04d664858b0944583590ed0003a9420032d5ca) )
|
||||
ROM_LOAD( "ad1wave1.10p", 0x100000*2, 0x100000,CRC(69c1d41e) SHA1(b5cdfe7b75075c585dfd842347f8e4e692bb2781) )
|
||||
ROM_LOAD( "ad1wave2.10n", 0x100000*1, 0x100000,CRC(365a6831) SHA1(ddaa44a4436d6de120b64a5d130b1ee18f872e19) )
|
||||
@ -3928,7 +3928,7 @@ ROM_START( victlapw )
|
||||
ROM_LOAD( "adv1pot.u1", 0x80000*7, 0x80000,CRC(c8788f74) SHA1(606e10b05146e3db824aa608745de80584420d12) )
|
||||
ROM_LOAD( "adv1pot.u2", 0x80000*8, 0x80000,CRC(e67f29c5) SHA1(16222afb4f1f494711dd00ebb347c824db333bae) )
|
||||
|
||||
ROM_REGION( 0x400000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "adv1wav0.10r", 0x000000, 0x100000, CRC(f07b2d9d) SHA1(fd46c23b336d5e9a748f7f8d825c19737125d2fb) )
|
||||
ROM_LOAD( "adv1wav1.10p", 0x200000, 0x100000, CRC(737f3c7a) SHA1(4737994f146c0076e7270785f41f3a85c53c7c5f) )
|
||||
ROM_LOAD( "adv1wav2.10n", 0x100000, 0x100000, CRC(c1a5ca5e) SHA1(27e6f9256d5fe5966e91d6be1e6e80900a764af1) )
|
||||
@ -3990,7 +3990,7 @@ ROM_START( raveracw )
|
||||
ROM_LOAD( "rv1potu2.3d", 0x80000*0xa, 0x80000,CRC(c18fcb74) SHA1(a4009ae2b014dc89aed4741fd97f84350117c2f4) )
|
||||
ROM_LOAD( "rv1potu3.2d", 0x80000*0xb, 0x80000,CRC(79735aaa) SHA1(1cf14274669b916a7641f7a16785da1b72347485) )
|
||||
|
||||
ROM_REGION( 0x400000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rv1wav0.10r", 0x000000, 0x100000, CRC(5aef8143) SHA1(a75d31298e3ff9b290f238976a11e8b85cfb72d3) )
|
||||
ROM_LOAD( "rv1wav1.10p", 0x200000, 0x100000, CRC(9ed9e6b3) SHA1(dd1da2b08d1b6aa0912daacc77744c9799aabb78) )
|
||||
ROM_LOAD( "rv1wav2.10n", 0x100000, 0x100000, CRC(5af9dc83) SHA1(9aeb7f8217b806a6f3ed93056513af9fbcb6b372) )
|
||||
@ -4052,7 +4052,7 @@ ROM_START( raveracj )
|
||||
ROM_LOAD( "rv1potu2.3d", 0x80000*0xa, 0x80000,CRC(c18fcb74) SHA1(a4009ae2b014dc89aed4741fd97f84350117c2f4) )
|
||||
ROM_LOAD( "rv1potu3.2d", 0x80000*0xb, 0x80000,CRC(79735aaa) SHA1(1cf14274669b916a7641f7a16785da1b72347485) )
|
||||
|
||||
ROM_REGION( 0x400000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rv1wav0.10r", 0x000000, 0x100000, CRC(5aef8143) SHA1(a75d31298e3ff9b290f238976a11e8b85cfb72d3) )
|
||||
ROM_LOAD( "rv1wav1.10p", 0x200000, 0x100000, CRC(9ed9e6b3) SHA1(dd1da2b08d1b6aa0912daacc77744c9799aabb78) )
|
||||
ROM_LOAD( "rv1wav2.10n", 0x100000, 0x100000, CRC(5af9dc83) SHA1(9aeb7f8217b806a6f3ed93056513af9fbcb6b372) )
|
||||
@ -4114,7 +4114,7 @@ ROM_START( raveracja )
|
||||
ROM_LOAD( "rv1potu2.3d", 0x80000*0xa, 0x80000,CRC(c18fcb74) SHA1(a4009ae2b014dc89aed4741fd97f84350117c2f4) )
|
||||
ROM_LOAD( "rv1potu3.2d", 0x80000*0xb, 0x80000,CRC(79735aaa) SHA1(1cf14274669b916a7641f7a16785da1b72347485) )
|
||||
|
||||
ROM_REGION( 0x400000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rv1wav0.10r", 0x000000, 0x100000, CRC(5aef8143) SHA1(a75d31298e3ff9b290f238976a11e8b85cfb72d3) )
|
||||
ROM_LOAD( "rv1wav1.10p", 0x200000, 0x100000, CRC(9ed9e6b3) SHA1(dd1da2b08d1b6aa0912daacc77744c9799aabb78) )
|
||||
ROM_LOAD( "rv1wav2.10n", 0x100000, 0x100000, CRC(5af9dc83) SHA1(9aeb7f8217b806a6f3ed93056513af9fbcb6b372) )
|
||||
@ -4166,7 +4166,7 @@ ROM_START( ridgera2 )
|
||||
ROM_LOAD( "rrs1pou0.5d", 0x80000*4, 0x80000,CRC(74d6ec84) SHA1(63f5beee51443c98100330ec04291f71e10716c4) )
|
||||
ROM_LOAD( "rrs1pou1.4d", 0x80000*5, 0x80000,CRC(f527caaa) SHA1(f92bdd15323239d593ddac92a11d23a27e6635ed) )
|
||||
|
||||
ROM_REGION( 0x400000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rrs1wav0.10r", 0x100000*0, 0x100000,CRC(99d11a2d) SHA1(1f3db98a99be0f07c03b0a7817561459a58f310e) )
|
||||
ROM_LOAD( "rrs1wav1.10p", 0x100000*2, 0x100000,CRC(ad28444a) SHA1(c31bbf3cae5015e5494fe4988b9b01d822224c69) )
|
||||
ROM_LOAD( "rrs1wav2.10n", 0x100000*1, 0x100000,CRC(6f0d4619) SHA1(cd3d57f2ea21497f388ffa29ec7d2665647a01c0) )
|
||||
@ -4217,7 +4217,7 @@ ROM_START( ridgera2j )
|
||||
ROM_LOAD( "rrs1pou0.5d", 0x80000*4, 0x80000,CRC(74d6ec84) SHA1(63f5beee51443c98100330ec04291f71e10716c4) )
|
||||
ROM_LOAD( "rrs1pou1.4d", 0x80000*5, 0x80000,CRC(f527caaa) SHA1(f92bdd15323239d593ddac92a11d23a27e6635ed) )
|
||||
|
||||
ROM_REGION( 0x400000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rrs1wav0.10r", 0x100000*0, 0x100000,CRC(99d11a2d) SHA1(1f3db98a99be0f07c03b0a7817561459a58f310e) )
|
||||
ROM_LOAD( "rrs1wav1.10p", 0x100000*2, 0x100000,CRC(ad28444a) SHA1(c31bbf3cae5015e5494fe4988b9b01d822224c69) )
|
||||
ROM_LOAD( "rrs1wav2.10n", 0x100000*1, 0x100000,CRC(6f0d4619) SHA1(cd3d57f2ea21497f388ffa29ec7d2665647a01c0) )
|
||||
@ -4269,7 +4269,7 @@ ROM_START( ridgera2ja )
|
||||
ROM_LOAD( "rrs1pou0.5d", 0x80000*4, 0x80000,CRC(74d6ec84) SHA1(63f5beee51443c98100330ec04291f71e10716c4) )
|
||||
ROM_LOAD( "rrs1pou1.4d", 0x80000*5, 0x80000,CRC(f527caaa) SHA1(f92bdd15323239d593ddac92a11d23a27e6635ed) )
|
||||
|
||||
ROM_REGION( 0x400000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rrs1wav0.10r", 0x100000*0, 0x100000,CRC(99d11a2d) SHA1(1f3db98a99be0f07c03b0a7817561459a58f310e) )
|
||||
ROM_LOAD( "rrs1wav1.10p", 0x100000*2, 0x100000,CRC(ad28444a) SHA1(c31bbf3cae5015e5494fe4988b9b01d822224c69) )
|
||||
ROM_LOAD( "rrs1wav2.10n", 0x100000*1, 0x100000,CRC(6f0d4619) SHA1(cd3d57f2ea21497f388ffa29ec7d2665647a01c0) )
|
||||
@ -4320,7 +4320,7 @@ ROM_START( ridgerac )
|
||||
ROM_LOAD( "rr1potu0.5d", 0x80000*4, 0x80000,CRC(5e367f72) SHA1(5887f011379dce865fef238b402678a3d2033de9) )
|
||||
ROM_LOAD( "rr1potu1.4d", 0x80000*5, 0x80000,CRC(31d92475) SHA1(51d3c0baa223e1bc16ea2950f2e085597528f870) )
|
||||
|
||||
ROM_REGION( 0x800000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rr1wav0.10r", 0x100000*0, 0x100000,CRC(a8e85bde) SHA1(b56677e9f6c98f7b600043f5dcfef3a482ca7455) )
|
||||
ROM_LOAD( "rr1wav1.10p", 0x100000*2, 0x100000,CRC(35f47c8e) SHA1(7c3f9e942f532af8008fbead2a96fee6084bcde6) )
|
||||
ROM_LOAD( "rr1wav2.10n", 0x100000*1, 0x100000,CRC(3244cb59) SHA1(b3283b30cfafbfdcbc6d482ecc4ed6a47a527ca4) )
|
||||
@ -4373,7 +4373,7 @@ ROM_START( ridgeracb )
|
||||
ROM_LOAD( "rr1potu0.5d", 0x80000*4, 0x80000,CRC(5e367f72) SHA1(5887f011379dce865fef238b402678a3d2033de9) )
|
||||
ROM_LOAD( "rr1potu1.4d", 0x80000*5, 0x80000,CRC(31d92475) SHA1(51d3c0baa223e1bc16ea2950f2e085597528f870) )
|
||||
|
||||
ROM_REGION( 0x800000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rr1wav0.10r", 0x100000*0, 0x100000,CRC(a8e85bde) SHA1(b56677e9f6c98f7b600043f5dcfef3a482ca7455) )
|
||||
ROM_LOAD( "rr1wav1.10p", 0x100000*2, 0x100000,CRC(35f47c8e) SHA1(7c3f9e942f532af8008fbead2a96fee6084bcde6) )
|
||||
ROM_LOAD( "rr1wav2.10n", 0x100000*1, 0x100000,CRC(3244cb59) SHA1(b3283b30cfafbfdcbc6d482ecc4ed6a47a527ca4) )
|
||||
@ -4424,7 +4424,7 @@ ROM_START( ridgeracj )
|
||||
ROM_LOAD( "rr1potu0.5d", 0x80000*4, 0x80000,CRC(5e367f72) SHA1(5887f011379dce865fef238b402678a3d2033de9) )
|
||||
ROM_LOAD( "rr1potu1.4d", 0x80000*5, 0x80000,CRC(31d92475) SHA1(51d3c0baa223e1bc16ea2950f2e085597528f870) )
|
||||
|
||||
ROM_REGION( 0x800000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rr1wav0.10r", 0x100000*0, 0x100000,CRC(a8e85bde) SHA1(b56677e9f6c98f7b600043f5dcfef3a482ca7455) )
|
||||
ROM_LOAD( "rr1wav1.10p", 0x100000*2, 0x100000,CRC(35f47c8e) SHA1(7c3f9e942f532af8008fbead2a96fee6084bcde6) )
|
||||
ROM_LOAD( "rr1wav2.10n", 0x100000*1, 0x100000,CRC(3244cb59) SHA1(b3283b30cfafbfdcbc6d482ecc4ed6a47a527ca4) )
|
||||
@ -4475,7 +4475,7 @@ ROM_START( ridgerac3 )
|
||||
ROM_LOAD( "rr1potu0.5d", 0x80000*4, 0x80000,CRC(5e367f72) SHA1(5887f011379dce865fef238b402678a3d2033de9) )
|
||||
ROM_LOAD( "rr1potu1.4d", 0x80000*5, 0x80000,CRC(31d92475) SHA1(51d3c0baa223e1bc16ea2950f2e085597528f870) )
|
||||
|
||||
ROM_REGION( 0x800000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rr1wav0.10r", 0x100000*0, 0x100000,CRC(a8e85bde) SHA1(b56677e9f6c98f7b600043f5dcfef3a482ca7455) )
|
||||
ROM_LOAD( "rr1wav1.10p", 0x100000*2, 0x100000,CRC(35f47c8e) SHA1(7c3f9e942f532af8008fbead2a96fee6084bcde6) )
|
||||
ROM_LOAD( "rr1wav2.10n", 0x100000*1, 0x100000,CRC(3244cb59) SHA1(b3283b30cfafbfdcbc6d482ecc4ed6a47a527ca4) )
|
||||
@ -4518,7 +4518,7 @@ ROM_START( rrf )
|
||||
ROM_LOAD( "rrf2potu0.u0", 0x80000*4, 0x80000, CRC(86b3fe98) SHA1(f242d33f7488e233ccdc0b5d309c64510d7a622d) )
|
||||
ROM_LOAD( "rrf2potu1.u1", 0x80000*5, 0x80000, CRC(e0c6ce3d) SHA1(cc559a2237ccb753cb1397fecba64733455a8c43) )
|
||||
|
||||
ROM_REGION( 0x800000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "rrf1wave0.10r", 0x100000*0, 0x100000,CRC(a8e85bde) SHA1(b56677e9f6c98f7b600043f5dcfef3a482ca7455) )
|
||||
ROM_LOAD( "rrf1wave1.10p", 0x100000*2, 0x100000,CRC(35f47c8e) SHA1(7c3f9e942f532af8008fbead2a96fee6084bcde6) )
|
||||
ROM_LOAD( "rrf1wave2.10n", 0x100000*1, 0x100000,CRC(4ceeae12) SHA1(ae3a6583f8912bc784c7bc63d32448228cf217ba) ) // differs from normal sets
|
||||
@ -4593,7 +4593,7 @@ ROM_START( timecris )
|
||||
ROM_LOAD( "ts1ptru1.16f", 0x80000*7, 0x80000,CRC(993cde84) SHA1(c9cdcca1d60bcc41ad881c02dda9895563963ead) )
|
||||
ROM_LOAD( "ts1ptru2.15f", 0x80000*8, 0x80000,CRC(7cb25c73) SHA1(616eab3ac238864a584394f7ec8736ece227974a) )
|
||||
|
||||
ROM_REGION( 0xa00000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ts1wavea.2l", 0x000000, 0x400000, CRC(d1123301) SHA1(4bf1fd746fef4e6befa63c61a761971d729e1573) )
|
||||
ROM_LOAD( "ts1waveb.1l", 0x800000, 0x200000, CRC(bf4d7272) SHA1(c7c7b3620e7b3176644b6784ee36e679c9e31cc1) )
|
||||
ROM_END
|
||||
@ -4646,7 +4646,7 @@ ROM_START( timecrisa )
|
||||
ROM_LOAD( "ts1ptru1.16f", 0x80000*7, 0x80000,CRC(993cde84) SHA1(c9cdcca1d60bcc41ad881c02dda9895563963ead) )
|
||||
ROM_LOAD( "ts1ptru2.15f", 0x80000*8, 0x80000,CRC(7cb25c73) SHA1(616eab3ac238864a584394f7ec8736ece227974a) )
|
||||
|
||||
ROM_REGION( 0xa00000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "ts1wavea.2l", 0x000000, 0x400000, CRC(d1123301) SHA1(4bf1fd746fef4e6befa63c61a761971d729e1573) )
|
||||
ROM_LOAD( "ts1waveb.1l", 0x800000, 0x200000, CRC(bf4d7272) SHA1(c7c7b3620e7b3176644b6784ee36e679c9e31cc1) )
|
||||
ROM_END
|
||||
@ -4703,7 +4703,7 @@ ROM_START( tokyowar )
|
||||
ROM_LOAD( "tw1ptru2.15f", 0x500000, 0x080000, CRC(ceacb1c9) SHA1(b86cf576e16bbe26ad0d6d6df8bf28d0071c25e2) )
|
||||
ROM_LOAD( "tw1ptru3.14f", 0x580000, 0x080000, CRC(939044c2) SHA1(f4c1c0a1c2f07ca7f784d59ef4162a2a6a8bbc43) )
|
||||
|
||||
ROM_REGION( 0xa00000, "c352", 0 ) /* sound samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
|
||||
ROM_LOAD( "tw1wavea.2l", 0x000000, 0x400000, CRC(ebce6366) SHA1(44ebe90ff3c7af5bebbf1baba3b7a2b1863daebb) )
|
||||
ROM_END
|
||||
|
||||
|
@ -2307,7 +2307,7 @@ static WRITE16_HANDLER( sub_interrupt_main_w )
|
||||
static ADDRESS_MAP_START( s23h8rwmap, AS_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x080000, 0x08ffff) AM_READWRITE( sharedram_sub_r, sharedram_sub_w )
|
||||
AM_RANGE(0x280000, 0x287fff) AM_DEVREADWRITE( "c352", c352_r, c352_w )
|
||||
AM_RANGE(0x280000, 0x287fff) AM_DEVREADWRITE_MODERN("c352", c352_device, read, write)
|
||||
AM_RANGE(0x300000, 0x300003) AM_NOP // seems to be more inputs, maybe false leftover code from System 12?
|
||||
AM_RANGE(0x300010, 0x300011) AM_NOP
|
||||
AM_RANGE(0x300020, 0x300021) AM_WRITE( sub_interrupt_main_w )
|
||||
@ -2878,7 +2878,7 @@ static MACHINE_CONFIG_START( gorgon, namcos23_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("c352", C352, 14745600)
|
||||
MCFG_C352_ADD("c352", 14745600)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -2924,7 +2924,7 @@ static MACHINE_CONFIG_START( s23, namcos23_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("c352", C352, 14745600)
|
||||
MCFG_C352_ADD("c352", 14745600)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -2966,7 +2966,7 @@ static MACHINE_CONFIG_START( ss23, namcos23_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("c352", C352, 14745600)
|
||||
MCFG_C352_ADD("c352", 14745600)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(2, "rspeaker", 1.00)
|
||||
@ -3320,8 +3320,8 @@ ROM_END
|
||||
|
||||
ROM_START( timecrs2b )
|
||||
ROM_REGION32_BE( 0x400000, "user1", 0 ) /* 4 megs for main R4650 code */
|
||||
ROM_LOAD16_BYTE( "tss2verb.ic2", 0x000000, 0x200000, CRC(9f56a4df) SHA1(5ecb3cd93726ab6be02762853fd6a45266d6c0bc) )
|
||||
ROM_LOAD16_BYTE( "tss2verb.ic1", 0x000001, 0x200000, CRC(aa147f71) SHA1(e00267d1a8286942c83dc35289ad65bd3cb6d8db) )
|
||||
ROM_LOAD16_BYTE( "tss2verb.ic2", 0x000000, 0x200000, BAD_DUMP CRC(9f56a4df) SHA1(5ecb3cd93726ab6be02762853fd6a45266d6c0bc) )
|
||||
ROM_LOAD16_BYTE( "tss2verb.ic1", 0x000001, 0x200000, BAD_DUMP CRC(aa147f71) SHA1(e00267d1a8286942c83dc35289ad65bd3cb6d8db) )
|
||||
|
||||
ROM_REGION( 0x80000, "audiocpu", 0 ) /* Hitachi H8/3002 MCU code */
|
||||
ROM_LOAD16_WORD_SWAP( "tss3verb.3", 0x000000, 0x080000, CRC(41e41994) SHA1(eabc1a307c329070bfc6486cb68169c94ff8a162) )
|
||||
@ -3667,7 +3667,7 @@ ROM_START( gunwars )
|
||||
ROM_LOAD32_WORD_SWAP( "gm1pt1h.5a", 0x800000, 0x400000, CRC(5f6cebab) SHA1(95bd30d30ea25509b66a107fb255d0af1e6a357e) )
|
||||
ROM_LOAD32_WORD_SWAP( "gm1pt1l.5c", 0x800002, 0x400000, CRC(f44c149f) SHA1(9f995de02ea6ac35ccbabbba5bb473a10e1ec667) )
|
||||
|
||||
ROM_REGION( 0x800000, "c352", 0 ) /* C352 PCM samples */
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* C352 PCM samples */
|
||||
ROM_LOAD( "gm1wave.2c", 0x000000, 0x800000, CRC(7d5c79a4) SHA1(b800a46bcca10cb0d0d9e0acfa68af63ae64dcaf) )
|
||||
|
||||
ROM_REGION( 0x800000, "dups", 0 ) /* duplicate roms */
|
||||
|
Loading…
Reference in New Issue
Block a user