mirror of
https://github.com/holub/mame
synced 2025-07-03 00:56:03 +03:00
(nw) misc cleanup:
* imagedev/cassette: add bitwise operators for cassette_state so a lot of ugly casts can go away * audio/leland.cpp, cubeqst.cpp: make better use of loops in machine configuration
This commit is contained in:
parent
52d873062c
commit
b8aaf9806c
@ -73,9 +73,9 @@ public:
|
||||
template <typename T, typename U, typename V>
|
||||
void set_clock_sources(T &&sub_clock, U &&rc_clock, V &&cf_clock)
|
||||
{
|
||||
set_cpu_clock(lc8670_cpu_device::clock_source::SUB, sub_clock);
|
||||
set_cpu_clock(lc8670_cpu_device::clock_source::RC, rc_clock);
|
||||
set_cpu_clock(lc8670_cpu_device::clock_source::CF, cf_clock);
|
||||
set_cpu_clock(lc8670_cpu_device::clock_source::SUB, std::forward<T>(sub_clock));
|
||||
set_cpu_clock(lc8670_cpu_device::clock_source::RC, std::forward<U>(rc_clock));
|
||||
set_cpu_clock(lc8670_cpu_device::clock_source::CF, std::forward<V>(cf_clock));
|
||||
}
|
||||
|
||||
auto bank_cb() { return m_bankswitch_func.bind(); }
|
||||
|
@ -92,26 +92,26 @@ void cassette_image_device::update()
|
||||
{
|
||||
double new_position = m_position + (cur_time - m_position_time)*m_speed*m_direction;
|
||||
|
||||
switch(m_state & CASSETTE_MASK_UISTATE)
|
||||
switch (int(m_state & CASSETTE_MASK_UISTATE)) // cast to int to suppress unhandled enum value warning
|
||||
{
|
||||
case CASSETTE_RECORD:
|
||||
cassette_put_sample(m_cassette, m_channel, m_position, new_position - m_position, m_value);
|
||||
break;
|
||||
|
||||
case CASSETTE_PLAY:
|
||||
if ( m_cassette )
|
||||
if (m_cassette)
|
||||
{
|
||||
cassette_get_sample(m_cassette, m_channel, new_position, 0.0, &m_value);
|
||||
/* See if reached end of tape */
|
||||
// See if reached end of tape
|
||||
double length = get_length();
|
||||
if (new_position > length)
|
||||
{
|
||||
m_state = (cassette_state)(( m_state & ~CASSETTE_MASK_UISTATE ) | CASSETTE_STOPPED);
|
||||
m_state = (m_state & ~CASSETTE_MASK_UISTATE) | CASSETTE_STOPPED;
|
||||
new_position = length;
|
||||
}
|
||||
else if (new_position < 0)
|
||||
{
|
||||
m_state = (cassette_state)(( m_state & ~CASSETTE_MASK_UISTATE ) | CASSETTE_STOPPED);
|
||||
m_state = (m_state & ~CASSETTE_MASK_UISTATE) | CASSETTE_STOPPED;
|
||||
new_position = 0;
|
||||
}
|
||||
}
|
||||
@ -124,9 +124,7 @@ void cassette_image_device::update()
|
||||
|
||||
void cassette_image_device::change_state(cassette_state state, cassette_state mask)
|
||||
{
|
||||
cassette_state new_state = m_state;
|
||||
new_state = (cassette_state)(new_state & ~mask);
|
||||
new_state = (cassette_state)(new_state | (state & mask));
|
||||
cassette_state new_state = (m_state & ~mask) | (state & mask);
|
||||
if ((m_state ^ new_state) & (CASSETTE_MASK_UISTATE | CASSETTE_MASK_MOTOR))
|
||||
m_position_time = machine().time().as_double();
|
||||
m_state = new_state;
|
||||
@ -138,7 +136,7 @@ double cassette_image_device::input()
|
||||
{
|
||||
update();
|
||||
int32_t sample = m_value;
|
||||
double double_value = sample / ((double) 0x7FFFFFFF);
|
||||
double double_value = sample / double(0x7FFFFFFF);
|
||||
|
||||
LOGMASKED(LOG_DETAIL, "cassette_input(): time_index=%g value=%g\n", m_position, double_value);
|
||||
|
||||
@ -366,7 +364,7 @@ std::string cassette_image_device::call_display()
|
||||
// figure out where we are in the cassette
|
||||
double position = get_position();
|
||||
double length = get_length();
|
||||
cassette_state uistate = cassette_state(get_state() & CASSETTE_MASK_UISTATE);
|
||||
cassette_state uistate = get_state() & CASSETTE_MASK_UISTATE;
|
||||
|
||||
// choose which frame of the animation we are at
|
||||
int n = (int(position) / ANIMATION_FPS) % ARRAY_LENGTH(shapes);
|
||||
|
@ -17,24 +17,26 @@
|
||||
|
||||
enum cassette_state
|
||||
{
|
||||
/* this part of the state is controlled by the UI */
|
||||
// this part of the state is controlled by the UI
|
||||
CASSETTE_STOPPED = 0,
|
||||
CASSETTE_PLAY = 1,
|
||||
CASSETTE_RECORD = 2,
|
||||
|
||||
/* this part of the state is controlled by drivers */
|
||||
// this part of the state is controlled by drivers
|
||||
CASSETTE_MOTOR_ENABLED = 0,
|
||||
CASSETTE_MOTOR_DISABLED = 4,
|
||||
CASSETTE_SPEAKER_ENABLED = 0,
|
||||
CASSETTE_SPEAKER_MUTED = 8,
|
||||
|
||||
/* masks */
|
||||
// masks
|
||||
CASSETTE_MASK_UISTATE = 3,
|
||||
CASSETTE_MASK_MOTOR = 4,
|
||||
CASSETTE_MASK_SPEAKER = 8,
|
||||
CASSETTE_MASK_DRVSTATE = 12
|
||||
};
|
||||
|
||||
DECLARE_ENUM_BITWISE_OPERATORS(cassette_state)
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
@ -54,7 +56,6 @@ public:
|
||||
void set_formats(const struct CassetteFormat* const *formats) { m_formats = formats; }
|
||||
void set_create_opts(const struct CassetteOptions *create_opts) { m_create_opts = create_opts; }
|
||||
void set_default_state(cassette_state default_state) { m_default_state = default_state; }
|
||||
void set_default_state(int default_state) { m_default_state = (cassette_state)default_state; }
|
||||
void set_interface(const char *interface) { m_interface = interface; }
|
||||
|
||||
// image-level overrides
|
||||
@ -76,7 +77,7 @@ public:
|
||||
|
||||
// specific implementation
|
||||
cassette_state get_state() { return m_state; }
|
||||
void set_state(cassette_state state) { change_state(state, (cassette_state)(~0)); }
|
||||
void set_state(cassette_state state) { change_state(state, cassette_state(~0)); }
|
||||
void change_state(cassette_state state, cassette_state mask);
|
||||
|
||||
double input();
|
||||
|
@ -54,33 +54,27 @@ void wave_device::device_start()
|
||||
|
||||
void wave_device::sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples)
|
||||
{
|
||||
cassette_state state;
|
||||
double time_index;
|
||||
double duration;
|
||||
stream_sample_t *left_buffer = outputs[0];
|
||||
stream_sample_t *right_buffer = nullptr;
|
||||
int i;
|
||||
|
||||
speaker_device_iterator spkiter(*owner());
|
||||
int speakers = spkiter.count();
|
||||
if (speakers>1)
|
||||
if (speakers > 1)
|
||||
right_buffer = outputs[1];
|
||||
|
||||
state = m_cass->get_state();
|
||||
|
||||
state = (cassette_state)(state & (CASSETTE_MASK_UISTATE | CASSETTE_MASK_MOTOR | CASSETTE_MASK_SPEAKER));
|
||||
cassette_state state = m_cass->get_state() & (CASSETTE_MASK_UISTATE | CASSETTE_MASK_MOTOR | CASSETTE_MASK_SPEAKER);
|
||||
|
||||
if (m_cass->exists() && (ALWAYS_PLAY_SOUND || (state == (CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED))))
|
||||
{
|
||||
cassette_image *cassette = m_cass->get_image();
|
||||
time_index = m_cass->get_position();
|
||||
duration = ((double) samples) / m_cass->machine().sample_rate();
|
||||
double time_index = m_cass->get_position();
|
||||
double duration = double(samples) / m_cass->machine().sample_rate();
|
||||
|
||||
cassette_get_samples(cassette, 0, time_index, duration, samples, 2, left_buffer, CASSETTE_WAVEFORM_16BIT);
|
||||
if (speakers > 1)
|
||||
cassette_get_samples(cassette, 1, time_index, duration, samples, 2, right_buffer, CASSETTE_WAVEFORM_16BIT);
|
||||
|
||||
for (i = samples - 1; i >= 0; i--)
|
||||
for (int i = samples - 1; i >= 0; i--)
|
||||
{
|
||||
left_buffer[i] = ((int16_t *) left_buffer)[i];
|
||||
if (speakers > 1)
|
||||
|
@ -145,33 +145,17 @@ void leland_80186_sound_device::device_add_mconfig(machine_config &config)
|
||||
m_audiocpu->tmrout0_handler().set(FUNC(leland_80186_sound_device::i80186_tmr0_w));
|
||||
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
AD7524(config, m_dac[i], 0).add_route(ALL_OUTPUTS, "speaker", 0.2); // 74hc374.u31..6 + ad7524.u46..51
|
||||
DAC_8BIT_BINARY_WEIGHTED(config, m_dacvol[i], 0); // 74hc374.u17..22 + rX2-rX9 (24k,12k,6.2k,3k,1.5k,750,360,160) where X is 0..5
|
||||
m_dacvol[i]->add_route(0, m_dac[i], 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[i]->add_route(0, m_dac[i], -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, m_dacvol[i], 1.0, DAC_VREF_POS_INPUT);
|
||||
}
|
||||
AD7533(config, "dac9", 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // ad7533.u64
|
||||
|
||||
m_dacvol[0]->add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[0]->add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT);
|
||||
m_dacvol[1]->add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[1]->add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT);
|
||||
m_dacvol[2]->add_route(0, "dac3", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[2]->add_route(0, "dac3", -1.0, DAC_VREF_NEG_INPUT);
|
||||
m_dacvol[3]->add_route(0, "dac4", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[3]->add_route(0, "dac4", -1.0, DAC_VREF_NEG_INPUT);
|
||||
m_dacvol[4]->add_route(0, "dac5", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[4]->add_route(0, "dac5", -1.0, DAC_VREF_NEG_INPUT);
|
||||
m_dacvol[5]->add_route(0, "dac6", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[5]->add_route(0, "dac6", -1.0, DAC_VREF_NEG_INPUT);
|
||||
|
||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||
vref.add_route(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac5vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac6vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac9", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac9", -1.0, DAC_VREF_NEG_INPUT);
|
||||
|
||||
@ -202,39 +186,16 @@ void redline_80186_sound_device::device_add_mconfig(machine_config &config)
|
||||
m_audiocpu->chip_select_callback().set(FUNC(leland_80186_sound_device::peripheral_ctrl));
|
||||
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
AD7524(config, m_dac[i], 0).add_route(ALL_OUTPUTS, "speaker", 0.2); // unknown DAC
|
||||
DAC_8BIT_BINARY_WEIGHTED(config, m_dacvol[i], 0);
|
||||
m_dacvol[i]->add_route(0, m_dac[i], 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[i]->add_route(0, m_dac[i], -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
vref.add_route(0, m_dacvol[i], 1.0, DAC_VREF_POS_INPUT);
|
||||
}
|
||||
|
||||
m_dacvol[0]->add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[0]->add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
m_dacvol[1]->add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[1]->add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
m_dacvol[2]->add_route(0, "dac3", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[2]->add_route(0, "dac3", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
m_dacvol[3]->add_route(0, "dac4", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[3]->add_route(0, "dac4", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
m_dacvol[4]->add_route(0, "dac5", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[4]->add_route(0, "dac5", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
m_dacvol[5]->add_route(0, "dac6", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[5]->add_route(0, "dac6", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
m_dacvol[6]->add_route(0, "dac7", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[6]->add_route(0, "dac7", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
m_dacvol[7]->add_route(0, "dac8", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[7]->add_route(0, "dac8", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
|
||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||
vref.add_route(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac5vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac6vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac7vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac8vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
|
||||
PIT8254(config, m_pit[0], 0);
|
||||
m_pit[0]->set_clk<0>(7000000);
|
||||
m_pit[0]->out_handler<0>().set(m_audiocpu, FUNC(i80186_cpu_device::drq0_w));
|
||||
@ -268,27 +229,17 @@ void ataxx_80186_sound_device::device_add_mconfig(machine_config &config)
|
||||
m_audiocpu->tmrout0_handler().set(FUNC(leland_80186_sound_device::i80186_tmr0_w));
|
||||
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
AD7524(config, m_dac[i], 0).add_route(ALL_OUTPUTS, "speaker", 0.2); // unknown DAC
|
||||
DAC_8BIT_BINARY_WEIGHTED(config, m_dacvol[i], 0); // unknown DAC
|
||||
m_dacvol[i]->add_route(0, m_dac[i], 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[i]->add_route(0, m_dac[i], -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, m_dacvol[i], 1.0, DAC_VREF_POS_INPUT);
|
||||
}
|
||||
AD7533(config, "dac9", 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // unknown DAC
|
||||
|
||||
m_dacvol[0]->add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[0]->add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT);
|
||||
m_dacvol[1]->add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[1]->add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT);
|
||||
m_dacvol[2]->add_route(0, "dac3", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[2]->add_route(0, "dac3", -1.0, DAC_VREF_NEG_INPUT);
|
||||
m_dacvol[3]->add_route(0, "dac4", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[3]->add_route(0, "dac4", -1.0, DAC_VREF_NEG_INPUT);
|
||||
|
||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||
vref.add_route(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac9", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac9", -1.0, DAC_VREF_NEG_INPUT);
|
||||
|
||||
@ -313,27 +264,16 @@ void wsf_80186_sound_device::device_add_mconfig(machine_config &config)
|
||||
m_audiocpu->tmrout1_handler().set(FUNC(leland_80186_sound_device::i80186_tmr1_w));
|
||||
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
AD7524(config, m_dac[i], 0).add_route(ALL_OUTPUTS, "speaker", 0.2); // unknown DAC
|
||||
DAC_8BIT_BINARY_WEIGHTED(config, m_dacvol[i], 0); // unknown DAC
|
||||
m_dacvol[i]->add_route(0, m_dac[i], 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[i]->add_route(0, m_dac[i], -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
vref.add_route(0, m_dacvol[i], DAC_VREF_POS_INPUT);
|
||||
}
|
||||
AD7533(config, "dac9", 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // unknown DAC
|
||||
|
||||
m_dacvol[0]->add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[0]->add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
m_dacvol[1]->add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[1]->add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
m_dacvol[2]->add_route(0, "dac3", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[2]->add_route(0, "dac3", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
m_dacvol[3]->add_route(0, "dac4", 1.0, DAC_VREF_POS_INPUT);
|
||||
m_dacvol[3]->add_route(0, "dac4", -1.0, DAC_VREF_NEG_INPUT); // unknown DAC
|
||||
|
||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||
vref.add_route(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac9", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac9", -1.0, DAC_VREF_NEG_INPUT);
|
||||
|
||||
|
@ -565,31 +565,19 @@ void cubeqst_state::cubeqst(machine_config &config)
|
||||
m_laserdisc->add_route(0, "lspeaker", 1.0);
|
||||
m_laserdisc->add_route(1, "rspeaker", 1.0);
|
||||
|
||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
// ad7521jn.2d (59) + cd4051be.1d (24) + 1500pf.c22 (34) + tl074cn.1b (53) + r10k.rn1 (30)
|
||||
AD7521(config, m_dacs[i*2+0], 0).add_route(0, "rspeaker", 0.125);
|
||||
vref.add_route(0, m_dacs[i*2+0], 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, m_dacs[i*2+0], -1.0, DAC_VREF_NEG_INPUT);
|
||||
|
||||
// ad7521jn.2d (59) + cd4051be.3d (24) + 1500pf.c13 (34) + tl074cn.3b (53) + r10k.rn3 (30)
|
||||
AD7521(config, m_dacs[i*2+1], 0).add_route(0, "lspeaker", 0.125);
|
||||
vref.add_route(0, m_dacs[i*2+1], 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, m_dacs[i*2+1], -1.0, DAC_VREF_NEG_INPUT);
|
||||
}
|
||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
|
||||
vref.add_route(0, "rdac0", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac0", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "ldac0", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac0", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "rdac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac1", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "ldac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac1", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "rdac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "ldac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "rdac3", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac3", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "ldac3", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac3", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "rdac4", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac4", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "ldac4", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac4", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "rdac5", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac5", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "ldac5", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac5", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "rdac6", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac6", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "ldac6", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac6", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "rdac7", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac7", -1.0, DAC_VREF_NEG_INPUT);
|
||||
vref.add_route(0, "ldac7", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac7", -1.0, DAC_VREF_NEG_INPUT);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2020,7 +2020,7 @@ static const cassette_interface pc88_cassette_interface =
|
||||
{
|
||||
cassette_default_formats, // we need T88 format support!
|
||||
nullptr,
|
||||
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
|
||||
CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED,
|
||||
"pc8801_cass"
|
||||
};
|
||||
#endif
|
||||
|
@ -327,9 +327,9 @@ WRITE8_MEMBER(hec2hrp_state::color_a_w)
|
||||
if (m_write_cassette==0)
|
||||
{
|
||||
m_cassette->change_state(
|
||||
CASSETTE_MOTOR_ENABLED ,
|
||||
CASSETTE_MOTOR_ENABLED,
|
||||
CASSETTE_MASK_MOTOR);
|
||||
// m_cassette->set_state((cassette_state)(CASSETTE_PLAY | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED ));
|
||||
// m_cassette->set_state(CASSETTE_PLAY | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -349,8 +349,8 @@ WRITE8_MEMBER(hec2hrp_state::color_a_w)
|
||||
m_counter_write = 6;
|
||||
if (m_write_cassette==0)
|
||||
{ /* C'est la 1er fois => record*/
|
||||
m_cassette->change_state(
|
||||
CASSETTE_MOTOR_ENABLED ,
|
||||
m_cassette->change_state(
|
||||
CASSETTE_MOTOR_ENABLED,
|
||||
CASSETTE_MASK_MOTOR);
|
||||
m_cassette->set_state(CASSETTE_RECORD);
|
||||
m_write_cassette=1;
|
||||
|
@ -199,7 +199,7 @@ void consolewin_info::update_menu()
|
||||
|
||||
if (img.device().type() == CASSETTE)
|
||||
{
|
||||
cassette_state const state = cassette_state(downcast<cassette_image_device *>(&img.device())->get_state() & CASSETTE_MASK_UISTATE);
|
||||
cassette_state const state = downcast<cassette_image_device *>(&img.device())->get_state() & CASSETTE_MASK_UISTATE;
|
||||
AppendMenu(devicesubmenu, MF_SEPARATOR, 0, nullptr);
|
||||
AppendMenu(devicesubmenu, flags_for_exists | ((state == CASSETTE_STOPPED) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_STOPPAUSE, TEXT("Pause/Stop"));
|
||||
AppendMenu(devicesubmenu, flags_for_exists | ((state == CASSETTE_PLAY) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_PLAY, TEXT("Play"));
|
||||
@ -208,9 +208,9 @@ void consolewin_info::update_menu()
|
||||
AppendMenu(devicesubmenu, flags_for_exists, new_item + DEVOPTION_CASSETTE_FASTFORWARD, TEXT("Fast Forward"));
|
||||
AppendMenu(devicesubmenu, MF_SEPARATOR, 0, nullptr);
|
||||
// Motor state can be overriden by the driver
|
||||
cassette_state const motor_state = cassette_state(downcast<cassette_image_device *>(&img.device())->get_state() & CASSETTE_MASK_MOTOR);
|
||||
cassette_state const motor_state = downcast<cassette_image_device *>(&img.device())->get_state() & CASSETTE_MASK_MOTOR;
|
||||
AppendMenu(devicesubmenu, flags_for_exists | ((motor_state == CASSETTE_MOTOR_ENABLED) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_MOTOR, TEXT("Motor"));
|
||||
cassette_state const speaker_state = cassette_state(downcast<cassette_image_device *>(&img.device())->get_state() & CASSETTE_MASK_SPEAKER);
|
||||
cassette_state const speaker_state = downcast<cassette_image_device *>(&img.device())->get_state() & CASSETTE_MASK_SPEAKER;
|
||||
AppendMenu(devicesubmenu, flags_for_exists | ((speaker_state == CASSETTE_SPEAKER_ENABLED) ? MF_CHECKED : 0), new_item + DEVOPTION_CASSETTE_SOUND, TEXT("Audio while Loading"));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user