Clean-ups and version bump
This commit is contained in:
parent
5fb5795a27
commit
f9f61e103a
@ -9,10 +9,10 @@
|
||||
|
||||
/*
|
||||
|
||||
TODO:
|
||||
TODO:
|
||||
|
||||
- memory-to-memory transfer
|
||||
- external EOP
|
||||
- memory-to-memory transfer
|
||||
- external EOP
|
||||
|
||||
*/
|
||||
|
||||
|
@ -329,9 +329,9 @@ WRITE8_MEMBER( mc2661_device::write )
|
||||
|
||||
switch (MODE_STOP_BITS)
|
||||
{
|
||||
case STOP_BITS_1: stop_bits = 1; break;
|
||||
case STOP_BITS_1_5: stop_bits = 1.5; break;
|
||||
case STOP_BITS_2: stop_bits = 2; break;
|
||||
case STOP_BITS_1: stop_bits = 1; break;
|
||||
case STOP_BITS_1_5: stop_bits = 1.5; break;
|
||||
case STOP_BITS_2: stop_bits = 2; break;
|
||||
}
|
||||
|
||||
if (!MODE_PARITY) parity_code = SERIAL_PARITY_NONE;
|
||||
|
@ -259,8 +259,8 @@ void pokey_device::device_start()
|
||||
vol_init();
|
||||
|
||||
/* The pokey does not have a reset line. These should be initialized
|
||||
* with random values.
|
||||
*/
|
||||
* with random values.
|
||||
*/
|
||||
|
||||
m_KBCODE = 0x09; /* Atari 800 'no key' */
|
||||
m_SKCTL = SK_RESET; /* let the RNG run after reset */
|
||||
@ -454,7 +454,7 @@ void pokey_device::execute_run()
|
||||
do
|
||||
{
|
||||
// debugging
|
||||
//m_ppc = m_pc; // copy PC to previous PC
|
||||
//m_ppc = m_pc; // copy PC to previous PC
|
||||
if (check_debugger)
|
||||
debugger_instruction_hook(this, 0); //m_pc);
|
||||
|
||||
@ -728,8 +728,8 @@ void pokey_device::sound_stream_update(sound_stream &stream, stream_sample_t **i
|
||||
out = (out > 0x7fff) ? 0x7fff : out;
|
||||
while( samples > 0 )
|
||||
{
|
||||
*buffer++ = out;
|
||||
samples--;
|
||||
*buffer++ = out;
|
||||
samples--;
|
||||
}
|
||||
}
|
||||
else if (m_output_type == RC_LOWPASS)
|
||||
@ -741,51 +741,51 @@ void pokey_device::sound_stream_update(sound_stream &stream, stream_sample_t **i
|
||||
|
||||
while( samples > 0 )
|
||||
{
|
||||
/* store sum of output signals into the buffer */
|
||||
m_out_filter += (V0 - m_out_filter) * mult;
|
||||
*buffer++ = m_out_filter;
|
||||
samples--;
|
||||
/* store sum of output signals into the buffer */
|
||||
m_out_filter += (V0 - m_out_filter) * mult;
|
||||
*buffer++ = m_out_filter;
|
||||
samples--;
|
||||
|
||||
}
|
||||
}
|
||||
else if (m_output_type == OPAMP_C_TO_GROUND)
|
||||
{
|
||||
double rTot = m_voltab[m_output];
|
||||
/* In this configuration there is a capacitor in parallel to the pokey output to ground.
|
||||
* With a LM324 in LTSpice this causes the opamp circuit to oscillate at around 100 kHz.
|
||||
* We are ignoring the capacitor here, since this oscillation would not be audible.
|
||||
*/
|
||||
/* In this configuration there is a capacitor in parallel to the pokey output to ground.
|
||||
* With a LM324 in LTSpice this causes the opamp circuit to oscillate at around 100 kHz.
|
||||
* We are ignoring the capacitor here, since this oscillation would not be audible.
|
||||
*/
|
||||
|
||||
/* This post-pokey stage usually has a high-pass filter behind it
|
||||
* It is approximated by eliminating m_v_ref ( -1.0 term)
|
||||
*/
|
||||
/* This post-pokey stage usually has a high-pass filter behind it
|
||||
* It is approximated by eliminating m_v_ref ( -1.0 term)
|
||||
*/
|
||||
|
||||
double V0 = ((rTot+m_r_pullup) / rTot - 1.0) * m_v_ref / 5.0 * 32767.0;
|
||||
|
||||
while( samples > 0 )
|
||||
{
|
||||
/* store sum of output signals into the buffer */
|
||||
*buffer++ = V0;
|
||||
samples--;
|
||||
/* store sum of output signals into the buffer */
|
||||
*buffer++ = V0;
|
||||
samples--;
|
||||
|
||||
}
|
||||
}
|
||||
else if (m_output_type == OPAMP_LOW_PASS)
|
||||
{
|
||||
double rTot = m_voltab[m_output];
|
||||
/* This post-pokey stage usually has a low-pass filter behind it
|
||||
* It is approximated by not adding in VRef below.
|
||||
*/
|
||||
/* This post-pokey stage usually has a low-pass filter behind it
|
||||
* It is approximated by not adding in VRef below.
|
||||
*/
|
||||
|
||||
double V0 = (m_r_pullup / rTot) * m_v_ref / 5.0 * 32767.0;
|
||||
double mult = (m_cap == 0.0) ? 1.0 : 1.0 - exp(-1.0 / (m_cap * m_r_pullup) * m_clock_period.as_double());
|
||||
|
||||
while( samples > 0 )
|
||||
{
|
||||
/* store sum of output signals into the buffer */
|
||||
m_out_filter += (V0 - m_out_filter) * mult;
|
||||
*buffer++ = m_out_filter /* + m_v_ref */; // see above
|
||||
samples--;
|
||||
/* store sum of output signals into the buffer */
|
||||
m_out_filter += (V0 - m_out_filter) * mult;
|
||||
*buffer++ = m_out_filter /* + m_v_ref */; // see above
|
||||
samples--;
|
||||
}
|
||||
}
|
||||
else if (m_output_type == DISCRETE_VAR_R)
|
||||
@ -793,8 +793,8 @@ void pokey_device::sound_stream_update(sound_stream &stream, stream_sample_t **i
|
||||
INT32 out = m_voltab[m_output];
|
||||
while( samples > 0 )
|
||||
{
|
||||
*buffer++ = out;
|
||||
samples--;
|
||||
*buffer++ = out;
|
||||
samples--;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1112,8 +1112,8 @@ void pokey_device::pokey_potgo(void)
|
||||
if (r == 0)
|
||||
{
|
||||
/* immediately set the ready - bit of m_ALLPOT
|
||||
* In this case, most likely no capacitor is connected
|
||||
*/
|
||||
* In this case, most likely no capacitor is connected
|
||||
*/
|
||||
m_ALLPOT |= (1<<pot);
|
||||
}
|
||||
|
||||
@ -1128,8 +1128,8 @@ void pokey_device::vol_init()
|
||||
double resistors[4] = {90000, 26500, 8050, 3400};
|
||||
double pull_up = 10000;
|
||||
/* just a guess, there has to be a resistance since the doc specifies that
|
||||
* Vout is at least 4.2V if all channels turned off.
|
||||
*/
|
||||
* Vout is at least 4.2V if all channels turned off.
|
||||
*/
|
||||
double r_off = 8e6;
|
||||
double r_chan[16];
|
||||
double rTot;
|
||||
@ -1276,12 +1276,12 @@ char *pokey_device::audctl2str(int val)
|
||||
|
||||
pokey_device::pokey_channel::pokey_channel()
|
||||
: m_AUDF(0),
|
||||
m_AUDC(0),
|
||||
m_AUDC(0),
|
||||
m_borrow_cnt(0),
|
||||
m_counter(0),
|
||||
m_output(0),
|
||||
m_filter_sample(0),
|
||||
m_div2(0)
|
||||
m_counter(0),
|
||||
m_output(0),
|
||||
m_filter_sample(0),
|
||||
m_div2(0)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -180,8 +180,8 @@ public:
|
||||
|
||||
enum /* sync-operations */
|
||||
{
|
||||
SYNC_NOOP = 11,
|
||||
SYNC_SET_IRQST = 12,
|
||||
SYNC_NOOP = 11,
|
||||
SYNC_SET_IRQST = 12,
|
||||
SYNC_POT = 13,
|
||||
SYNC_WRITE = 14
|
||||
};
|
||||
|
@ -53,11 +53,11 @@ static const pokey_interface pokey_interface_2 =
|
||||
#define BW_C33 CAP_U(0.22)
|
||||
|
||||
static discrete_op_amp_filt_info stage1_bwidow_info = {
|
||||
BW_R45, 0, 0, 0, /* r1 .. r4 */
|
||||
BW_R45, 0, 0, 0, /* r1 .. r4 */
|
||||
BW_R43, /* rF */
|
||||
BW_C27, /* C1 */
|
||||
BW_C30, /* C2 */
|
||||
0, /* C3 */
|
||||
0, /* C3 */
|
||||
0.0, /* vRef */
|
||||
15.0, /* vP */
|
||||
-15.0, /* vN */
|
||||
@ -67,7 +67,7 @@ static discrete_op_amp_filt_info stage1_bwidow_info = {
|
||||
static discrete_op_amp_filt_info stage2_bwidow_info = {
|
||||
BW_R48, 0, 0, 0, /* r1 .. r4 */
|
||||
BW_R44, /* rF */
|
||||
BW_C28, /* C1 */ /* on schematic, not on parts list, gravitar retrofit manual says not needed - so what? */
|
||||
BW_C28, /* C1 */ /* on schematic, not on parts list, gravitar retrofit manual says not needed - so what? */
|
||||
0, /* C2 */
|
||||
0, /* C3 */
|
||||
0.0, /* vRef */
|
||||
@ -76,7 +76,7 @@ static discrete_op_amp_filt_info stage2_bwidow_info = {
|
||||
};
|
||||
|
||||
static discrete_mixer_desc bwidow_mixer = {
|
||||
DISC_MIXER_IS_OP_AMP, /* type */
|
||||
DISC_MIXER_IS_OP_AMP, /* type */
|
||||
{ BW_R49, BW_R46 }, /* r{} */
|
||||
{}, /* r_node */
|
||||
{ BW_C33, 0 }, /* c{} */
|
||||
@ -111,11 +111,11 @@ DISCRETE_SOUND_END
|
||||
#define GRAV_C27 CAP_N(1)
|
||||
|
||||
static discrete_op_amp_filt_info stage1_gravitar_info = {
|
||||
BW_R45, 0, 0, 0, /* r1 .. r4 */
|
||||
BW_R45, 0, 0, 0, /* r1 .. r4 */
|
||||
BW_R43, /* rF */
|
||||
GRAV_C27, /* C1 */
|
||||
BW_C30, /* C2 */
|
||||
0, /* C3 */
|
||||
0, /* C3 */
|
||||
0.0, /* vRef */
|
||||
15.0, /* vP */
|
||||
-15.0, /* vN */
|
||||
@ -125,7 +125,7 @@ static discrete_op_amp_filt_info stage1_gravitar_info = {
|
||||
static discrete_op_amp_filt_info stage2_gravitar_info = {
|
||||
BW_R48, 0, 0, 0, /* r1 .. r4 */
|
||||
BW_R44, /* rF */
|
||||
BW_C28, /* C1 */ /* on schematic, not on parts list, gravitar retrofit manual says not needed - so what? */
|
||||
BW_C28, /* C1 */ /* on schematic, not on parts list, gravitar retrofit manual says not needed - so what? */
|
||||
0, /* C2 */
|
||||
0, /* C3 */
|
||||
0.0, /* vRef */
|
||||
@ -134,7 +134,7 @@ static discrete_op_amp_filt_info stage2_gravitar_info = {
|
||||
};
|
||||
|
||||
static discrete_mixer_desc gravitar_mixer = {
|
||||
DISC_MIXER_IS_OP_AMP, /* type */
|
||||
DISC_MIXER_IS_OP_AMP, /* type */
|
||||
{ BW_R49, GRAV_R46 }, /* r{} */
|
||||
{}, /* r_node */
|
||||
{ BW_C33, 0 }, /* c{} */
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
Taito Ensoniq ES5505-based sound hardware
|
||||
|
||||
TODO:
|
||||
TODO:
|
||||
|
||||
* Implement ES5510 ESP
|
||||
* Implement ES5510 ESP
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
@ -654,19 +654,19 @@ WRITE8_MEMBER(atarisy2_state::mixer_w)
|
||||
/* these gains are cheesed up, but give an approximate effect */
|
||||
|
||||
/*
|
||||
* Before the volume adjustment, all channels pass through
|
||||
* a high-pass filter which removes DC components. The
|
||||
* filter frequency does also depend on the settings on
|
||||
* the resistors.
|
||||
*
|
||||
* The op-amp after the pokey feeds mixes the op-amp output voltage
|
||||
* with a low impedance back to the input. The internal resistance of the
|
||||
* pokey now is the ground pole of a three pole resistor mixer: ground,
|
||||
* 15V and op-amp output voltage.
|
||||
*
|
||||
* ==> DISCRETE candidate
|
||||
*
|
||||
*/
|
||||
* Before the volume adjustment, all channels pass through
|
||||
* a high-pass filter which removes DC components. The
|
||||
* filter frequency does also depend on the settings on
|
||||
* the resistors.
|
||||
*
|
||||
* The op-amp after the pokey feeds mixes the op-amp output voltage
|
||||
* with a low impedance back to the input. The internal resistance of the
|
||||
* pokey now is the ground pole of a three pole resistor mixer: ground,
|
||||
* 15V and op-amp output voltage.
|
||||
*
|
||||
* ==> DISCRETE candidate
|
||||
*
|
||||
*/
|
||||
|
||||
/* bits 0-2 control the volume of the YM2151, using 22k, 47k, and 100k resistors */
|
||||
rtop = 1.0/(1.0/100 + 1.0/100);
|
||||
|
@ -183,7 +183,7 @@ public:
|
||||
m_vfd1(*this, "vfd1")
|
||||
{ }
|
||||
|
||||
optional_device<bfm_bd1_t> m_vfd0;
|
||||
optional_device<bfm_bd1_t> m_vfd0;
|
||||
optional_device<bfm_bd1_t> m_vfd1;
|
||||
|
||||
int m_sc2gui_update_mmtr;
|
||||
|
@ -10,8 +10,8 @@
|
||||
|
||||
This file contains the set lists only, for the actual hardware
|
||||
emulation see bfm_sc4h.c
|
||||
However, the handlers for DMD are currently here, because we only
|
||||
have it hooked up for one game, there must be more.
|
||||
However, the handlers for DMD are currently here, because we only
|
||||
have it hooked up for one game, there must be more.
|
||||
|
||||
|
||||
note: default Jackpot keys are set to whatever value the game
|
||||
|
@ -480,7 +480,7 @@ void bfm_sc4_write_serial_vfd(running_machine &machine, bool cs, bool clock, boo
|
||||
if ( !clock )
|
||||
{
|
||||
//Should move to the internal serial process when DM01 is device-ified
|
||||
// m_vfd0->shift_data(!data);
|
||||
// m_vfd0->shift_data(!data);
|
||||
state->vfd_ser_value <<= 1;
|
||||
if (data) state->vfd_ser_value |= 1;
|
||||
|
||||
|
@ -239,9 +239,9 @@ static ADDRESS_MAP_START( main_io_map, AS_IO, 8, clayshoo_state )
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(watchdog_reset_w)
|
||||
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
|
||||
AM_RANGE(0x30, 0x33) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
|
||||
// AM_RANGE(0x40, 0x43) AM_NOP // 8253 for sound?
|
||||
// AM_RANGE(0x50, 0x50) AM_NOP // ?
|
||||
// AM_RANGE(0x60, 0x60) AM_NOP // ?
|
||||
// AM_RANGE(0x40, 0x43) AM_NOP // 8253 for sound?
|
||||
// AM_RANGE(0x50, 0x50) AM_NOP // ?
|
||||
// AM_RANGE(0x60, 0x60) AM_NOP // ?
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
@ -1423,7 +1423,7 @@ static void automat_vclk_cb(device_t *device)
|
||||
else
|
||||
{
|
||||
msm5205_data_w(device, state->m_automat_adpcm_byte >> 4);
|
||||
// cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
|
||||
// cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
|
||||
}
|
||||
|
||||
state->m_automat_msm5205_vclk_toggle ^= 1;
|
||||
|
@ -172,13 +172,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, destiny_state )
|
||||
AM_RANGE(0x9003, 0x9003) AM_READ_PORT("KEY1")
|
||||
AM_RANGE(0x9004, 0x9004) AM_READ_PORT("KEY2")
|
||||
AM_RANGE(0x9005, 0x9005) AM_READ_PORT("DIPSW") AM_WRITE(out_w)
|
||||
// AM_RANGE(0x9006, 0x9006) AM_NOP // printer motor on
|
||||
// AM_RANGE(0x9007, 0x9007) AM_NOP // printer data
|
||||
// AM_RANGE(0x9006, 0x9006) AM_NOP // printer motor on
|
||||
// AM_RANGE(0x9007, 0x9007) AM_NOP // printer data
|
||||
AM_RANGE(0x900a, 0x900a) AM_WRITE(sound_on_w)
|
||||
AM_RANGE(0x900b, 0x900b) AM_WRITE(sound_off_w)
|
||||
AM_RANGE(0x900c, 0x900c) AM_WRITE(bank_select_w)
|
||||
// AM_RANGE(0x900d, 0x900d) AM_NOP // printer motor off
|
||||
// AM_RANGE(0x900e, 0x900e) AM_NOP // printer motor jam reset
|
||||
// AM_RANGE(0x900d, 0x900d) AM_NOP // printer motor off
|
||||
// AM_RANGE(0x900e, 0x900e) AM_NOP // printer motor jam reset
|
||||
AM_RANGE(0xc000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -222,7 +222,7 @@ static INPUT_PORTS_START( destiny )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, "Operation Mode" ) PORT_DIPLOCATION("SW1:7,8")
|
||||
PORT_DIPSETTING( 0x00, "Normal Mode" )
|
||||
// PORT_DIPSETTING( 0x40, "Normal Mode" ) // dupe
|
||||
// PORT_DIPSETTING( 0x40, "Normal Mode" ) // dupe
|
||||
PORT_DIPSETTING( 0x80, "Test Mode" )
|
||||
PORT_DIPSETTING( 0xc0, "I/O Test" )
|
||||
|
||||
|
@ -1165,7 +1165,7 @@ static ADDRESS_MAP_START( hng_map, AS_PROGRAM, 32, hng64_state )
|
||||
AM_RANGE(0x30200000, 0x3025ffff) AM_READWRITE(hng64_3d_2_r, hng64_3d_2_w) AM_SHARE("3d_2") // 3D Display Buffer B
|
||||
|
||||
// Sound
|
||||
// AM_RANGE(0x60000000, 0x601fffff) AM_READWRITE(hng64_soundram2_r, hng64_soundram2_w) // if this area acts as RAM then xrally will copy the sound program here and blank out the usual area below. None of the other games test this as sound ram (usually just write to the first byte) -- maybe it's actually unmapped?
|
||||
// AM_RANGE(0x60000000, 0x601fffff) AM_READWRITE(hng64_soundram2_r, hng64_soundram2_w) // if this area acts as RAM then xrally will copy the sound program here and blank out the usual area below. None of the other games test this as sound ram (usually just write to the first byte) -- maybe it's actually unmapped?
|
||||
AM_RANGE(0x60200000, 0x603fffff) AM_READWRITE(hng64_soundram_r, hng64_soundram_w) // uploads the v53 sound program here, elsewhere on ss64-2
|
||||
|
||||
// These are sound ports of some sort
|
||||
|
@ -318,8 +318,8 @@ static MACHINE_CONFIG_START( irobot, irobot_state )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
/* FIXME: I-Robot has all channels of the quad-pokey tied together
|
||||
* This needs to be taken into account in the design.
|
||||
*/
|
||||
* This needs to be taken into account in the design.
|
||||
*/
|
||||
MCFG_POKEY_ADD("pokey1", MAIN_CLOCK/8)
|
||||
MCFG_POKEY_CONFIG(pokey_config)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
|
@ -1,20 +1,20 @@
|
||||
/***************************************************************************
|
||||
|
||||
GX800 (Konami Test board)
|
||||
GX800 (Konami Test board)
|
||||
|
||||
driver by Angelo Salese
|
||||
driver by Angelo Salese
|
||||
|
||||
Notes:
|
||||
Z80, 8KB RAM, 2 * SN76489AN for sound, TTLs for video/misc
|
||||
There are 5 x 005273 (Konami custom resistor array (SIL10)) on the PCB,
|
||||
also seen on Jail Break HW
|
||||
Notes:
|
||||
Z80, 8KB RAM, 2 * SN76489AN for sound, TTLs for video/misc
|
||||
There are 5 x 005273 (Konami custom resistor array (SIL10)) on the PCB,
|
||||
also seen on Jail Break HW
|
||||
|
||||
menu translation:
|
||||
* screen distortion adjustment normal
|
||||
* screen distortion adjustment wide
|
||||
* input/output check
|
||||
* color check
|
||||
* sound check
|
||||
menu translation:
|
||||
* screen distortion adjustment normal
|
||||
* screen distortion adjustment wide
|
||||
* input/output check
|
||||
* color check
|
||||
* sound check
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -173,8 +173,8 @@
|
||||
|
||||
There are 2 video layers...
|
||||
|
||||
ROMS 1F, 1J, 1K & 1L have the background graphics, and are driven by the 06B53P at 1E.
|
||||
ROMS 2F, 2J, 2K & 2L have the foreground graphics, and are driven by the 06B53P at 2E.
|
||||
ROMS 1F, 1J, 1K & 1L have the background graphics, and are driven by the 06B53P at 1E.
|
||||
ROMS 2F, 2J, 2K & 2L have the foreground graphics, and are driven by the 06B53P at 2E.
|
||||
|
||||
ROMS 2N & 1N have the 4-bits ADPCM samples.
|
||||
|
||||
|
@ -110,16 +110,16 @@ READ16_MEMBER(metro_state::metro_irq_cause_r)
|
||||
{
|
||||
/* interrupt cause, used by
|
||||
|
||||
int[0] vblank
|
||||
int[1] ? DAITORIDE, BALCUBE, KARATOUR, MOUJA
|
||||
int[2] blitter
|
||||
int[3] ? KARATOUR
|
||||
int[4] ?
|
||||
int[5] ? KARATOUR, BLZNTRND
|
||||
int[6] unused
|
||||
int[7] unused
|
||||
int[0] vblank
|
||||
int[1] ? DAITORIDE, BALCUBE, KARATOUR, MOUJA
|
||||
int[2] blitter
|
||||
int[3] ? KARATOUR
|
||||
int[4] ?
|
||||
int[5] ? KARATOUR, BLZNTRND
|
||||
int[6] unused
|
||||
int[7] unused
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
UINT16 res = 0;
|
||||
for (int i = 0; i < 8; i++)
|
||||
|
@ -500,10 +500,10 @@ static MACHINE_CONFIG_START( mhavoc, mhavoc_state )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
/* FIXME: Outputs 1,2,3 are tied together
|
||||
* This signal and Output 4 are processed separately.
|
||||
* Later they are mixed together again.
|
||||
* ==> DISCRETE emulation, below is just an approximation.
|
||||
*/
|
||||
* This signal and Output 4 are processed separately.
|
||||
* Later they are mixed together again.
|
||||
* ==> DISCRETE emulation, below is just an approximation.
|
||||
*/
|
||||
|
||||
MCFG_POKEY_ADD("pokey1", MHAVOC_CLOCK_1_25M)
|
||||
MCFG_POKEY_CONFIG(pokey_config)
|
||||
|
@ -2769,18 +2769,18 @@ ROM_START( manxtt ) /* Manx TT Superbike Twin Revision C, Model 2A */
|
||||
|
||||
ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound program
|
||||
ROM_LOAD16_WORD_SWAP( "epr-18826.30", 0x080000, 0x040000, CRC(ed9fe4c1) SHA1(c3dd8a1324a4dc9b012bd9bf21d1f48578870f72) ) /* Sound program for Twin set */
|
||||
// ROM_LOAD16_WORD_SWAP( "epr-18924a.30", 0x080000, 0x040000, CRC(ad6f40ec) SHA1(27aa0477dc325162766d459ffe95b61ee65dd28f) ) /* Sound program for ?? set */
|
||||
// ROM_LOAD16_WORD_SWAP( "epr-18924a.30", 0x080000, 0x040000, CRC(ad6f40ec) SHA1(27aa0477dc325162766d459ffe95b61ee65dd28f) ) /* Sound program for ?? set */
|
||||
|
||||
ROM_REGION( 0x800000, "scsp", 0 ) // Samples
|
||||
ROM_LOAD( "mpr-18827.31", 0x000000, 0x200000, CRC(58d78ca1) SHA1(95275ed8315c044bfde2f23c10416f22627b34df) ) /* Sound sample for Twin set */
|
||||
// ROM_LOAD( "mpr-18763.31", 0x000000, 0x200000, CRC(1bcb2283) SHA1(a4a8a2f8f0901bfb57778351210ccfc421cacbd4) ) /* Sound sample for DX set */
|
||||
// ROM_LOAD( "mpr-18763.31", 0x000000, 0x200000, CRC(1bcb2283) SHA1(a4a8a2f8f0901bfb57778351210ccfc421cacbd4) ) /* Sound sample for DX set */
|
||||
ROM_LOAD( "mpr-18764.32", 0x200000, 0x200000, CRC(0dc6a860) SHA1(cb2ada0f8a592940de11ee781ad4beb5095c3b37) )
|
||||
ROM_LOAD( "mpr-18765.36", 0x400000, 0x200000, CRC(ca4a803c) SHA1(70b59da8f2532a02e980caba5bb86ec13a4d7ab5) )
|
||||
ROM_LOAD( "mpr-18766.37", 0x600000, 0x200000, CRC(e41892ea) SHA1(9ef5e26db4abf0ed36df63fc246b568e1c5d6cfa) )
|
||||
|
||||
ROM_REGION( 0x20000, "cpu4", 0) // Communication program
|
||||
ROM_LOAD16_WORD_SWAP( "epr-18643.7", 0x000000, 0x020000, CRC(7166fca7) SHA1(f5d02906b64bb2fd1af8e3772c1b01a4e006c060) )
|
||||
// ROM_LOAD16_WORD_SWAP( "epr-18643a.7", 0x000000, 0x020000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) ) /* COMM boards found with either revision */
|
||||
// ROM_LOAD16_WORD_SWAP( "epr-18643a.7", 0x000000, 0x020000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) ) /* COMM boards found with either revision */
|
||||
|
||||
MODEL2_CPU_BOARD
|
||||
MODEL2A_VID_BOARD
|
||||
|
@ -1519,7 +1519,7 @@ static void HaltSlaveDSP( running_machine &machine )
|
||||
|
||||
static void EnableSlaveDSP( running_machine &machine )
|
||||
{
|
||||
// namcos22_state *state = machine.driver_data<namcos22_state>();
|
||||
// namcos22_state *state = machine.driver_data<namcos22_state>();
|
||||
// device_set_input_line(state->m_slave, INPUT_LINE_RESET, CLEAR_LINE);
|
||||
namcos22_enable_slave_simulation(machine, 1);
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ TODO:
|
||||
* http://www.youtube.com/watch?v=pDrRnJOCKZc
|
||||
*/
|
||||
|
||||
#define MASTER_CLOCK 7139000
|
||||
#define MASTER_CLOCK 7139000
|
||||
#define V_TOTAL (0x105+1)
|
||||
#define H_TOTAL (0x1C6+1) // 454
|
||||
|
||||
@ -284,13 +284,13 @@ private:
|
||||
/* some gates */
|
||||
|
||||
inline UINT8 g_not(UINT8 in) {return in ^ 1; }
|
||||
inline UINT8 g_nand7(UINT8 in1, UINT8 in2, UINT8 in3, UINT8 in4, UINT8 in5, UINT8 in6, UINT8 in7) { return (in1 && in2 && in3 && in4 && in5 && in6 && in7) ? 0 : 1; }
|
||||
inline UINT8 g_nand7(UINT8 in1, UINT8 in2, UINT8 in3, UINT8 in4, UINT8 in5, UINT8 in6, UINT8 in7) { return (in1 && in2 && in3 && in4 && in5 && in6 && in7) ? 0 : 1; }
|
||||
inline UINT8 g_nand5(UINT8 in1, UINT8 in2, UINT8 in3, UINT8 in4, UINT8 in5) { return (in1 && in2 && in3 && in4 && in5) ? 0 : 1; }
|
||||
inline UINT8 g_nand3(UINT8 in1, UINT8 in2, UINT8 in3) { return (in1 && in2 && in3) ? 0 : 1; }
|
||||
inline UINT8 g_nand2(UINT8 in1, UINT8 in2) { return (in1 && in2) ? 0 : 1; }
|
||||
inline UINT8 g_nand3(UINT8 in1, UINT8 in2, UINT8 in3) { return (in1 && in2 && in3) ? 0 : 1; }
|
||||
inline UINT8 g_nand2(UINT8 in1, UINT8 in2) { return (in1 && in2) ? 0 : 1; }
|
||||
inline UINT8 g_nor4(UINT8 in1, UINT8 in2, UINT8 in3, UINT8 in4) { return (in1 || in2 || in3 || in4) ? 0 : 1; }
|
||||
inline UINT8 g_nor3(UINT8 in1, UINT8 in2, UINT8 in3) { return (in1 || in2 || in3) ? 0 : 1; }
|
||||
inline UINT8 g_nor2(UINT8 in1, UINT8 in2) { return (in1 || in2) ? 0 : 1; }
|
||||
inline UINT8 g_nor3(UINT8 in1, UINT8 in2, UINT8 in3) { return (in1 || in2 || in3) ? 0 : 1; }
|
||||
inline UINT8 g_nor2(UINT8 in1, UINT8 in2) { return (in1 || in2) ? 0 : 1; }
|
||||
|
||||
inline UINT8 s_4H() { return ic_f8.QC(); }
|
||||
inline UINT8 s_8H() { return ic_f8.QD(); }
|
||||
@ -491,8 +491,8 @@ private:
|
||||
|
||||
UINT8 m_jk_256;
|
||||
UINT8 m_ff_h3a;
|
||||
ic7493 ic_c7_score1; /* FIXME: realized by 74LS90 and 74LS107, both falling edge, using a 93 for now ... */
|
||||
ic7493 ic_d7_score2; /* FIXME: realized by 74LS90 and 74LS107, both falling edge, using a 93 for now ... */
|
||||
ic7493 ic_c7_score1; /* FIXME: realized by 74LS90 and 74LS107, both falling edge, using a 93 for now ... */
|
||||
ic7493 ic_d7_score2; /* FIXME: realized by 74LS90 and 74LS107, both falling edge, using a 93 for now ... */
|
||||
|
||||
ic74107 ic_f3_topbot;
|
||||
icMonoFlop ic_g4_sc;
|
||||
@ -536,16 +536,16 @@ const device_type PONG = &device_creator<pong_device>;
|
||||
|
||||
void pong_state::machine_start()
|
||||
{
|
||||
// save_item(NAME(m_sound_nmi_enabled));
|
||||
// save_item(NAME(m_nmi_enable));
|
||||
// save_item(NAME(m_sound_nmi_enabled));
|
||||
// save_item(NAME(m_nmi_enable));
|
||||
dac_device *t = machine().device<dac_device>("dac");
|
||||
downcast<pong_device *>(m_maincpu.target())->m_dac = t;
|
||||
}
|
||||
|
||||
void pong_state::machine_reset()
|
||||
{
|
||||
// m_sound_nmi_enabled = FALSE;
|
||||
// m_nmi_enable = 0;
|
||||
// m_sound_nmi_enabled = FALSE;
|
||||
// m_nmi_enable = 0;
|
||||
}
|
||||
|
||||
|
||||
@ -616,9 +616,9 @@ void pong_device::execute_run()
|
||||
do
|
||||
{
|
||||
// debugging
|
||||
//m_ppc = m_pc; // copy PC to previous PC
|
||||
//m_ppc = m_pc; // copy PC to previous PC
|
||||
//if (check_debugger)
|
||||
// debugger_instruction_hook(this, 0); //m_pc);
|
||||
// debugger_instruction_hook(this, 0); //m_pc);
|
||||
|
||||
// instruction fetch
|
||||
//UINT16 op = opcode_read();
|
||||
@ -661,7 +661,7 @@ void pong_device::step_one_clock()
|
||||
ic_ff_hb.process(s_hreset(), g_not(g_nand2(s_16H(),s_64H())));
|
||||
|
||||
//if (s_hblank() && ic_e8.count()==0)
|
||||
// printf("hblank %d\n", ic_f8.count());
|
||||
// printf("hblank %d\n", ic_f8.count());
|
||||
|
||||
{
|
||||
/* move logic */
|
||||
|
@ -243,8 +243,8 @@ static discrete_op_amp_filt_info pokey1_info = {
|
||||
RES_K(220), 0, 0, 0, /* r1 .. r4 */
|
||||
RES_K(220), /* rF */
|
||||
CAP_U(0.022), /* C1 */
|
||||
CAP_U(0.1), /* C2 */
|
||||
0, /* C3 */
|
||||
CAP_U(0.1), /* C2 */
|
||||
0, /* C3 */
|
||||
0.0, /* vRef */
|
||||
15.0, /* vP */
|
||||
-15.0, /* vN */
|
||||
@ -271,7 +271,7 @@ static DISCRETE_SOUND_START(quantum)
|
||||
|
||||
/* Convert Pokey output to 5V Signal */
|
||||
DISCRETE_INPUTX_STREAM(NODE_100, 0, 5.0 / 32768, 5.0) /* Add VRef again */
|
||||
DISCRETE_INPUTX_STREAM(NODE_110, 1, 5.0 / 32768, 5.0) /* Add VRef again */
|
||||
DISCRETE_INPUTX_STREAM(NODE_110, 1, 5.0 / 32768, 5.0) /* Add VRef again */
|
||||
|
||||
DISCRETE_OP_AMP_FILTER(NODE_150, 1, NODE_100, 0, DISC_OP_AMP_FILTER_IS_BAND_PASS_1, &pokey1_info)
|
||||
|
||||
|
@ -2031,7 +2031,7 @@ static INPUT_PORTS_START( contcirc )
|
||||
PORT_DIPSETTING( 0x01, "Cockpit" ) // analog pedals
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) // digital pedals, no brake?, allow free steering wheel
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Continue_Price ) ) PORT_DIPLOCATION("SW A:2")
|
||||
PORT_DIPSETTING( 0x02, "Same as Start" )
|
||||
PORT_DIPSETTING( 0x02, "Same as Start" )
|
||||
PORT_DIPSETTING( 0x00, "Discount" )
|
||||
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
|
||||
@ -2122,7 +2122,7 @@ static INPUT_PORTS_START( chasehq ) // IN3-6 perhaps used with cockpit setup? //
|
||||
PORT_DIPSETTING( 0x10, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Continue_Price ) ) PORT_DIPLOCATION("SW B:6")
|
||||
PORT_DIPSETTING( 0x20, "Same as Start" )
|
||||
PORT_DIPSETTING( 0x20, "Same as Start" )
|
||||
PORT_DIPSETTING( 0x00, "Discount" )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Clear Damage on Continue" ) PORT_DIPLOCATION("SW B:7")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
|
@ -555,7 +555,7 @@ static INPUT_PORTS_START( topspeed )
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWA:1,2")
|
||||
PORT_DIPSETTING( 0x03, "Deluxe" ) // analog pedals, racing wheel, motor (tilt disabled)
|
||||
PORT_DIPSETTING( 0x02, "Standard" ) // digital pedals, continuous wheel
|
||||
// PORT_DIPSETTING( 0x01, "Standard" )
|
||||
// PORT_DIPSETTING( 0x01, "Standard" )
|
||||
PORT_DIPSETTING( 0x00, "Mini" ) // analog pedals, racing wheel
|
||||
TAITO_DSWA_BITS_2_TO_3_LOC(SWA)
|
||||
TAITO_COINAGE_WORLD_LOC(SWA)
|
||||
@ -577,7 +577,7 @@ static INPUT_PORTS_START( topspeed )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Continue_Price ) ) PORT_DIPLOCATION("SWB:8") // "KEEP OFF" in manual, see notes
|
||||
PORT_DIPSETTING( 0x80, "Same as Start" )
|
||||
PORT_DIPSETTING( 0x80, "Same as Start" )
|
||||
PORT_DIPSETTING( 0x00, "Half of Start" )
|
||||
|
||||
PORT_START("IN0")
|
||||
|
@ -12,7 +12,7 @@ public:
|
||||
sc4_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_vfd0(*this, "vfd0")
|
||||
m_vfd0(*this, "vfd0")
|
||||
|
||||
{
|
||||
m_chk41addr = -1;
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
Bellfruit BD1 VFD module interface and emulation by J.Wallace
|
||||
|
||||
TODO: Implement flashing (our only datasheet has that section
|
||||
completely illegible)
|
||||
TODO: Implement flashing (our only datasheet has that section
|
||||
completely illegible)
|
||||
**********************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
@ -27,7 +27,7 @@ const device_type BFM_BD1 = &device_creator<bfm_bd1_t>;
|
||||
--------- C
|
||||
9
|
||||
|
||||
8 is flashing
|
||||
8 is flashing
|
||||
|
||||
*/
|
||||
|
||||
@ -131,7 +131,7 @@ void bfm_bd1_t::device_start()
|
||||
save_item(NAME(m_flash_control));
|
||||
save_item(NAME(m_chars));
|
||||
save_item(NAME(m_attrs));
|
||||
save_item(NAME(m_user_data)); // user defined character data (16 bit)
|
||||
save_item(NAME(m_user_data)); // user defined character data (16 bit)
|
||||
save_item(NAME(m_user_def)); // user defined character state
|
||||
|
||||
device_reset();
|
||||
|
@ -208,10 +208,10 @@ SCREEN_UPDATE_IND16( automat )
|
||||
state->m_tilegen2->deco_bac06_pf_draw(screen.machine(),bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
|
||||
}
|
||||
|
||||
// if (state->m_pri & 0x02)
|
||||
// state->m_spritegen->draw_sprites(screen.machine(), bitmap, cliprect, state->m_buffered_spriteram, 0x08, trans^0x08, 0x0f);
|
||||
// else
|
||||
// state->m_spritegen->draw_sprites(screen.machine(), bitmap, cliprect, state->m_buffered_spriteram, 0x00, 0x00, 0x0f);
|
||||
// if (state->m_pri & 0x02)
|
||||
// state->m_spritegen->draw_sprites(screen.machine(), bitmap, cliprect, state->m_buffered_spriteram, 0x08, trans^0x08, 0x0f);
|
||||
// else
|
||||
// state->m_spritegen->draw_sprites(screen.machine(), bitmap, cliprect, state->m_buffered_spriteram, 0x00, 0x00, 0x0f);
|
||||
|
||||
state->m_tilegen1->deco_bac06_pf_draw(screen.machine(),bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
|
||||
return 0;
|
||||
@ -339,7 +339,7 @@ VIDEO_START( dec0 )
|
||||
|
||||
VIDEO_START( automat )
|
||||
{
|
||||
// dec0_state *state = machine.driver_data<dec0_state>();
|
||||
// dec0_state *state = machine.driver_data<dec0_state>();
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
@ -38,4 +38,4 @@
|
||||
***************************************************************************/
|
||||
|
||||
extern const char build_version[];
|
||||
const char build_version[] = "0.146 ("__DATE__")";
|
||||
const char build_version[] = "0.146u1 ("__DATE__")";
|
||||
|
Loading…
Reference in New Issue
Block a user