bbc.cpp, electron.cpp: Eliminate output().set_value

This commit is contained in:
AJR 2020-10-17 10:00:57 -04:00
parent bd5fd2fe20
commit 5043ee05d1
6 changed files with 38 additions and 31 deletions

View File

@ -1074,8 +1074,8 @@ void bbc_state::bbca(machine_config &config)
LS259(config, m_latch);
m_latch->q_out_cb<0>().set(FUNC(bbc_state::snd_enable_w));
m_latch->q_out_cb<3>().set(FUNC(bbc_state::kbd_enable_w));
m_latch->q_out_cb<6>().set(FUNC(bbc_state::capslock_led_w));
m_latch->q_out_cb<7>().set(FUNC(bbc_state::shiftlock_led_w));
m_latch->q_out_cb<6>().set_output("capslock_led");
m_latch->q_out_cb<7>().set_output("shiftlock_led");
/* internal ram */
RAM(config, m_ram).set_default_size("16K").set_extra_options("32K").set_default_value(0xff);
@ -1590,8 +1590,8 @@ void bbcm_state::bbcm(machine_config &config)
LS259(config, m_latch);
m_latch->q_out_cb<0>().set(FUNC(bbc_state::snd_enable_w));
m_latch->q_out_cb<3>().set(FUNC(bbc_state::kbd_enable_w));
m_latch->q_out_cb<6>().set(FUNC(bbc_state::capslock_led_w));
m_latch->q_out_cb<7>().set(FUNC(bbc_state::shiftlock_led_w));
m_latch->q_out_cb<6>().set_output("capslock_led");
m_latch->q_out_cb<7>().set_output("shiftlock_led");
/* internal ram */
RAM(config, m_ram).set_default_size("128K").set_default_value(0xff);

View File

@ -100,6 +100,7 @@ public:
, m_bank2(*this, "bank2")
, m_bankdev(*this, "bankdev")
, m_bbcconfig(*this, "BBCCONFIG")
, m_motor_led(*this, "motor_led")
{ }
enum class monitor_type
@ -158,8 +159,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(speech_rsq_w);
DECLARE_WRITE_LINE_MEMBER(speech_wsq_w);
DECLARE_WRITE_LINE_MEMBER(kbd_enable_w);
DECLARE_WRITE_LINE_MEMBER(capslock_led_w);
DECLARE_WRITE_LINE_MEMBER(shiftlock_led_w);
uint8_t via_system_porta_r();
void via_system_porta_w(uint8_t data);
uint8_t via_system_portb_r();
@ -257,6 +256,8 @@ protected:
optional_device<address_map_bank_device> m_bankdev; // bbcm
optional_ioport m_bbcconfig;
output_finder<> m_motor_led;
int m_romsel; // This is the latch that holds the sideways ROM bank to read
int m_paged_ram; // BBC B+ memory handling
int m_vdusel; // BBC B+ memory handling
@ -421,7 +422,10 @@ protected:
class bbcm_state : public bbc_state
{
public:
using bbc_state::bbc_state;
bbcm_state(const machine_config &mconfig, device_type type, const char *tag)
: bbc_state(mconfig, type, tag)
, m_power_led(*this, "power_led")
{ }
void bbcm(machine_config &config);
void bbcmt(machine_config &config);
@ -453,6 +457,8 @@ protected:
void bbcmc_bankdev(address_map &map);
void autoc15_bankdev(address_map &map);
void bbcm_fetch(address_map &map);
output_finder<> m_power_led;
};

View File

@ -50,6 +50,7 @@ public:
, m_exp(*this, "exp")
, m_ram(*this, RAM_TAG)
, m_mrb(*this, "MRB")
, m_capslock_led(*this, "capslock_led")
{ }
void electron(machine_config &config);
@ -117,6 +118,7 @@ protected:
required_device<electron_expansion_slot_device> m_exp;
required_device<ram_device> m_ram;
optional_ioport m_mrb;
output_finder<> m_capslock_led;
void waitforramsync();
void electron_tape_start();

View File

@ -850,16 +850,6 @@ WRITE_LINE_MEMBER(bbc_state::kbd_enable_w)
}
}
WRITE_LINE_MEMBER(bbc_state::capslock_led_w)
{
output().set_value("capslock_led", state);
}
WRITE_LINE_MEMBER(bbc_state::shiftlock_led_w)
{
output().set_value("shiftlock_led", state);
}
void bbc_state::mc146818_set()
{
@ -1211,7 +1201,7 @@ void bbc_state::cassette_motor(bool motor_state)
m_cass_out_phase = 0;
m_cass_out_samples_to_go = 4;
}
output().set_value("motor_led", !motor_state);
m_motor_led = !motor_state;
}
@ -1627,17 +1617,7 @@ void bbc_state::machine_start()
{
setup_device_roms();
/* register save states */
save_item(NAME(m_vula_ctrl));
save_item(NAME(m_vula_palette));
save_item(NAME(m_vula_palette_lookup));
save_item(STRUCT_MEMBER(m_vnula, palette_mode));
save_item(STRUCT_MEMBER(m_vnula, horiz_offset));
save_item(STRUCT_MEMBER(m_vnula, left_blank));
save_item(STRUCT_MEMBER(m_vnula, disable));
save_item(STRUCT_MEMBER(m_vnula, flash));
save_item(STRUCT_MEMBER(m_vnula, palette_byte));
save_item(STRUCT_MEMBER(m_vnula, palette_write));
m_motor_led.resolve();
}
void bbc_state::machine_reset()
@ -1657,6 +1637,8 @@ void bbc_state::machine_reset()
void bbcbp_state::machine_start()
{
setup_device_roms();
m_motor_led.resolve();
}
void bbcbp_state::machine_reset()
@ -1672,7 +1654,10 @@ void bbcm_state::machine_start()
{
setup_device_roms();
output().set_value("power_led", 0);
m_motor_led.resolve();
m_power_led.resolve();
m_power_led = 0;
}
void bbcm_state::machine_reset()

View File

@ -541,7 +541,7 @@ void electron_state::electron_sheila_w(offs_t offset, uint8_t data)
m_ula.cassette_motor_mode = ( data >> 6 ) & 0x01;
m_cassette->change_state(m_ula.cassette_motor_mode ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MOTOR_DISABLED );
m_ula.capslock_mode = ( data >> 7 ) & 0x01;
output().set_value("capslock_led", m_ula.capslock_mode);
m_capslock_led = m_ula.capslock_mode;
break;
case 0x08: case 0x0a: case 0x0c: case 0x0e:
/* colour palette */
@ -594,6 +594,8 @@ TIMER_CALLBACK_MEMBER(electron_state::setup_beep)
void electron_state::machine_start()
{
m_capslock_led.resolve();
m_ula.interrupt_status = 0x82;
m_ula.interrupt_control = 0x00;
timer_set(attotime::zero, TIMER_SETUP_BEEP);

View File

@ -383,6 +383,18 @@ void bbc_state::video_start()
set_pixel_lookup();
m_video_ram = m_ram->pointer();
// register save states
save_item(NAME(m_vula_ctrl));
save_item(NAME(m_vula_palette));
save_item(NAME(m_vula_palette_lookup));
save_item(STRUCT_MEMBER(m_vnula, palette_mode));
save_item(STRUCT_MEMBER(m_vnula, horiz_offset));
save_item(STRUCT_MEMBER(m_vnula, left_blank));
save_item(STRUCT_MEMBER(m_vnula, disable));
save_item(STRUCT_MEMBER(m_vnula, flash));
save_item(STRUCT_MEMBER(m_vnula, palette_byte));
save_item(STRUCT_MEMBER(m_vnula, palette_write));
}
void bbc_state::video_reset()