add driver for snk6502/rockola games
This commit is contained in:
parent
54f46923d5
commit
e554cdd579
|
@ -54,7 +54,7 @@ drvsrc = d_dodonpachi.o d_donpachi.o d_esprade.o d_feversos.o d_gaia.o d_guwang
|
|||
d_mappy.o d_marineb.o d_mario.o d_markham.o d_megasys1.o d_meijinsn.o d_metlfrzr.o d_millipede.o d_mirax.o d_mitchell.o d_mole.o d_momoko.o d_mouser.o \
|
||||
d_mrdo.o d_mrflea.o d_mrjong.o d_munchmo.o d_mustache.o d_mystston.o d_namcos1.o d_namcos86.o d_ninjakd2.o d_naughtyb.o d_pacland.o d_pacman.o d_pac2650.o \
|
||||
d_pengadvb.o d_phoenix.o d_pitnrun.o d_pkunwar.o d_popeye.o d_popper.o d_prehisle.o d_psychic5.o d_pturn.o d_punchout.o d_qbert.o d_quizo.o d_rallyx.o d_renegade.o \
|
||||
d_route16.o d_rpunch.o d_safarir.o d_sauro.o d_scregg.o d_seicross.o d_sf.o d_sidearms.o d_skyarmy.o d_skyfox.o d_skykid.o d_snk.o \
|
||||
d_route16.o d_rpunch.o d_safarir.o d_sauro.o d_scregg.o d_seicross.o d_sf.o d_sidearms.o d_skyarmy.o d_skyfox.o d_skykid.o d_snk.o d_snk6502.o \
|
||||
d_snk68.o d_solomon.o d_sonson.o d_srumbler.o d_ssozumo.o d_sub.o d_suna8.o d_tail2nose.o d_tbowl.o d_tecmo.o d_terracre.o d_thedeep.o d_thepit.o \
|
||||
d_tigeroad.o d_timelimt.o d_toki.o d_toypop.o d_travrusa.o d_tsamurai.o d_twincobr.o d_usgames.o d_vastar.o d_vulgus.o d_wallc.o d_warpwarp.o d_wc90.o \
|
||||
d_wc90b.o d_wiping.o d_wiz.o d_wrally.o d_wwfsstar.o d_xain.o d_xxmissio.o d_zodiack.o \
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -28,10 +28,10 @@
|
|||
|
||||
struct TONE
|
||||
{
|
||||
int mute;
|
||||
int offset;
|
||||
int base;
|
||||
int mask;
|
||||
INT32 mute;
|
||||
INT32 offset;
|
||||
INT32 base;
|
||||
INT32 mask;
|
||||
INT32 sample_rate;
|
||||
INT32 sample_step;
|
||||
INT32 sample_cur;
|
||||
|
@ -46,12 +46,12 @@ static INT32 last_music_freq;
|
|||
static double last_clock_time;
|
||||
|
||||
static UINT8 *m_ROM;
|
||||
static int m_Sound0StopOnRollover;
|
||||
static INT32 m_Sound0StopOnRollover;
|
||||
static UINT8 m_LastPort1;
|
||||
|
||||
static int m_hd38880_cmd;
|
||||
static INT32 m_hd38880_cmd;
|
||||
static UINT32 m_hd38880_addr;
|
||||
static int m_hd38880_data_bytes;
|
||||
static INT32 m_hd38880_data_bytes;
|
||||
static double m_hd38880_speed;
|
||||
static INT32 speechnum_playing;
|
||||
|
||||
|
@ -82,7 +82,7 @@ void snk6502_sound_init(UINT8 *soundrom)
|
|||
snk6502_set_music_clock(M_LN2 * (RES_K(18) * 2 + RES_K(1)) * CAP_U(1));
|
||||
}
|
||||
|
||||
static void validate_tone_channel(int channel)
|
||||
static void validate_tone_channel(INT32 channel)
|
||||
{
|
||||
if (!m_tone_channels[channel].mute)
|
||||
{
|
||||
|
@ -95,11 +95,11 @@ static void validate_tone_channel(int channel)
|
|||
}
|
||||
}
|
||||
|
||||
static void sasuke_build_waveform(int mask)
|
||||
static void sasuke_build_waveform(INT32 mask)
|
||||
{
|
||||
int bit0, bit1, bit2, bit3;
|
||||
int base;
|
||||
int i;
|
||||
INT32 bit0, bit1, bit2, bit3;
|
||||
INT32 base;
|
||||
INT32 i;
|
||||
|
||||
mask &= 7;
|
||||
|
||||
|
@ -118,7 +118,7 @@ static void sasuke_build_waveform(int mask)
|
|||
|
||||
for (i = 0; i < 16; i++)
|
||||
{
|
||||
int data = 0;
|
||||
INT32 data = 0;
|
||||
|
||||
if (i & 1)
|
||||
data += bit0;
|
||||
|
@ -137,11 +137,11 @@ static void sasuke_build_waveform(int mask)
|
|||
m_tone_channels[0].form[i] *= 65535 / 16;
|
||||
}
|
||||
|
||||
static void satansat_build_waveform(int mask)
|
||||
static void satansat_build_waveform(INT32 mask)
|
||||
{
|
||||
int bit0, bit1, bit2, bit3;
|
||||
int base;
|
||||
int i;
|
||||
INT32 bit0, bit1, bit2, bit3;
|
||||
INT32 base;
|
||||
INT32 i;
|
||||
|
||||
mask &= 7;
|
||||
|
||||
|
@ -156,7 +156,7 @@ static void satansat_build_waveform(int mask)
|
|||
|
||||
for (i = 0; i < 16; i++)
|
||||
{
|
||||
int data = 0;
|
||||
INT32 data = 0;
|
||||
|
||||
if (i & 1)
|
||||
data += bit0;
|
||||
|
@ -175,11 +175,11 @@ static void satansat_build_waveform(int mask)
|
|||
m_tone_channels[1].form[i] *= 65535 / 16;
|
||||
}
|
||||
|
||||
static void build_waveform(int channel, int mask)
|
||||
static void build_waveform(INT32 channel, INT32 mask)
|
||||
{
|
||||
int bit0, bit1, bit2, bit3;
|
||||
int base;
|
||||
int i;
|
||||
INT32 bit0, bit1, bit2, bit3;
|
||||
INT32 base;
|
||||
INT32 i;
|
||||
|
||||
mask &= 15;
|
||||
|
||||
|
@ -230,7 +230,7 @@ static void build_waveform(int channel, int mask)
|
|||
}
|
||||
else
|
||||
{
|
||||
int data = 0;
|
||||
INT32 data = 0;
|
||||
|
||||
if (i & 1)
|
||||
data += bit0;
|
||||
|
@ -250,12 +250,12 @@ static void build_waveform(int channel, int mask)
|
|||
m_tone_channels[channel].form[i] *= 65535 / 160;
|
||||
}
|
||||
|
||||
void snk6502_set_music_freq(int freq)
|
||||
void snk6502_set_music_freq(INT32 freq)
|
||||
{
|
||||
if (freq == -1) freq = last_music_freq;
|
||||
last_music_freq = freq;
|
||||
|
||||
int i;
|
||||
INT32 i;
|
||||
|
||||
for (i = 0; i < CHANNELS; i++)
|
||||
{
|
||||
|
@ -280,7 +280,7 @@ void snk6502_set_music_clock(double clock_time)
|
|||
m_tone_clock = 0;
|
||||
}
|
||||
|
||||
int snk6502_music0_playing()
|
||||
INT32 snk6502_music0_playing()
|
||||
{
|
||||
return m_tone_channels[0].mute;
|
||||
}
|
||||
|
@ -550,8 +550,6 @@ void fantasy_sound_w(UINT16 offset, UINT8 data)
|
|||
}
|
||||
|
||||
/* BOMB */
|
||||
//machine().device<discrete_device>("discrete")->write(space, FANTASY_BOMB_EN, data & 0x80);
|
||||
if (data & 0x80) bprintf(0, _T("bomb! %x\n"), data);
|
||||
SN76477_enable_w(0, (data & 0x80) ? 0 : 1);
|
||||
|
||||
m_LastPort1 = data;
|
||||
|
@ -647,7 +645,7 @@ void fantasy_sound_w(UINT16 offset, UINT8 data)
|
|||
#define HD38880_CMV 0x20
|
||||
#define HD68880_SYBS 0x0f
|
||||
|
||||
static int samples_playing()
|
||||
static INT32 samples_playing()
|
||||
{
|
||||
for (INT32 i = 0; i < 16; i++) {
|
||||
if (BurnSampleGetStatus(i) == 1)
|
||||
|
@ -665,7 +663,7 @@ static void samples_stopall()
|
|||
}
|
||||
#endif
|
||||
|
||||
static void speech_w(UINT8 data, const UINT16 *table, int start)
|
||||
static void speech_w(UINT8 data, const UINT16 *table, INT32 start)
|
||||
{
|
||||
/*
|
||||
bit description
|
||||
|
@ -693,7 +691,7 @@ static void speech_w(UINT8 data, const UINT16 *table, int start)
|
|||
|
||||
if (m_hd38880_data_bytes == 5 && !samples_playing())
|
||||
{
|
||||
int i;
|
||||
INT32 i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
{
|
||||
|
@ -882,9 +880,9 @@ void snk_sound_update(INT16 *buffer, INT32 samples)
|
|||
|
||||
if (!voice->mute && voice->sample_step)
|
||||
{
|
||||
int cur_pos = voice->sample_cur + voice->sample_step;
|
||||
int prev = form[(voice->sample_cur >> FRAC_BITS) & 15];
|
||||
int cur = form[(cur_pos >> FRAC_BITS) & 15];
|
||||
INT32 cur_pos = voice->sample_cur + voice->sample_step;
|
||||
INT32 prev = form[(voice->sample_cur >> FRAC_BITS) & 15];
|
||||
INT32 cur = form[(cur_pos >> FRAC_BITS) & 15];
|
||||
|
||||
/* interpolate */
|
||||
data += ((INT32)prev * (FRAC_ONE - (cur_pos & FRAC_MASK))
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
void snk6502_sound_reset();
|
||||
void snk6502_sound_init(UINT8 *soundrom);
|
||||
void snk6502_set_music_freq(int freq);
|
||||
void snk6502_set_music_freq(INT32 freq);
|
||||
void snk6502_set_music_clock(double clock_time);
|
||||
int snk6502_music0_playing();
|
||||
INT32 snk6502_music0_playing();
|
||||
void sasuke_sound_w(UINT16 offset, UINT8 data);
|
||||
void satansat_sound_w(UINT16 offset, UINT8 data);
|
||||
void vanguard_sound_w(UINT16 offset, UINT8 data);
|
||||
|
|
Loading…
Reference in New Issue