s11: took local variables out of the public space

This commit is contained in:
Robbbert 2022-01-27 11:26:15 +11:00
parent 2812220189
commit 6f183afe96
4 changed files with 115 additions and 113 deletions

View File

@ -122,7 +122,7 @@ static INPUT_PORTS_START( s11a )
PORT_CONFSETTING( 0x10, "English" )
INPUT_PORTS_END
void s11a_state::dig0_w(uint8_t data)
void s11a_state::s11a_dig0_w(uint8_t data)
{
data &= 0x7f;
set_strobe(data & 15);
@ -143,9 +143,9 @@ void s11a_state::s11a_base(machine_config &config)
{
/* basic machine hardware */
M6808(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &s11_state::s11_main_map);
INPUT_MERGER_ANY_HIGH(config, m_mainirq).output_handler().set(FUNC(s11_state::main_irq));
INPUT_MERGER_ANY_HIGH(config, m_piairq).output_handler().set(FUNC(s11_state::pia_irq));
m_maincpu->set_addrmap(AS_PROGRAM, &s11a_state::s11_main_map);
INPUT_MERGER_ANY_HIGH(config, m_mainirq).output_handler().set(FUNC(s11a_state::main_irq));
INPUT_MERGER_ANY_HIGH(config, m_piairq).output_handler().set(FUNC(s11a_state::pia_irq));
/* Video */
config.set_default_layout(layout_s11a);
@ -155,50 +155,50 @@ void s11a_state::s11a_base(machine_config &config)
/* Devices */
PIA6821(config, m_pia21, 0);
m_pia21->readpa_handler().set(FUNC(s11_state::sound_r));
m_pia21->readpa_handler().set(FUNC(s11a_state::sound_r));
m_pia21->set_port_a_input_overrides_output_mask(0xff);
m_pia21->writepa_handler().set(FUNC(s11_state::sound_w));
m_pia21->writepb_handler().set(FUNC(s11_state::sol2_w));
m_pia21->ca2_handler().set(FUNC(s11_state::pia21_ca2_w));
m_pia21->cb2_handler().set(FUNC(s11_state::pia21_cb2_w));
m_pia21->writepa_handler().set(FUNC(s11a_state::sound_w));
m_pia21->writepb_handler().set(FUNC(s11a_state::sol2_w));
m_pia21->ca2_handler().set(FUNC(s11a_state::pia21_ca2_w));
m_pia21->cb2_handler().set(FUNC(s11a_state::pia21_cb2_w));
m_pia21->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<1>));
m_pia21->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<2>));
PIA6821(config, m_pia24, 0);
m_pia24->writepa_handler().set(FUNC(s11_state::lamp0_w));
m_pia24->writepb_handler().set(FUNC(s11_state::lamp1_w));
m_pia24->cb2_handler().set(FUNC(s11_state::pia24_cb2_w));
m_pia24->writepa_handler().set(FUNC(s11a_state::lamp0_w));
m_pia24->writepb_handler().set(FUNC(s11a_state::lamp1_w));
m_pia24->cb2_handler().set(FUNC(s11a_state::pia24_cb2_w));
m_pia24->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<3>));
m_pia24->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<4>));
PIA6821(config, m_pia28, 0);
m_pia28->readpa_handler().set(FUNC(s11_state::pia28_w7_r));
m_pia28->readpa_handler().set(FUNC(s11a_state::pia28_w7_r));
m_pia28->set_port_a_input_overrides_output_mask(0xff);
m_pia28->writepa_handler().set(FUNC(s11a_state::dig0_w));
m_pia28->writepb_handler().set(FUNC(s11_state::dig1_w));
m_pia28->ca2_handler().set(FUNC(s11_state::pia28_ca2_w));
m_pia28->cb2_handler().set(FUNC(s11_state::pia28_cb2_w));
m_pia28->writepa_handler().set(FUNC(s11a_state::s11a_dig0_w));
m_pia28->writepb_handler().set(FUNC(s11a_state::dig1_w));
m_pia28->ca2_handler().set(FUNC(s11a_state::pia28_ca2_w));
m_pia28->cb2_handler().set(FUNC(s11a_state::pia28_cb2_w));
m_pia28->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<5>));
m_pia28->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<6>));
PIA6821(config, m_pia2c, 0);
m_pia2c->writepa_handler().set(FUNC(s11_state::pia2c_pa_w));
m_pia2c->writepb_handler().set(FUNC(s11_state::pia2c_pb_w));
m_pia2c->writepa_handler().set(FUNC(s11a_state::pia2c_pa_w));
m_pia2c->writepb_handler().set(FUNC(s11a_state::pia2c_pb_w));
m_pia2c->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<7>));
m_pia2c->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<8>));
PIA6821(config, m_pia30, 0);
m_pia30->readpa_handler().set(FUNC(s11_state::switch_r));
m_pia30->readpa_handler().set(FUNC(s11a_state::switch_r));
m_pia30->set_port_a_input_overrides_output_mask(0xff);
m_pia30->writepb_handler().set(FUNC(s11_state::switch_w));
m_pia30->cb2_handler().set(FUNC(s11_state::pia30_cb2_w));
m_pia30->writepb_handler().set(FUNC(s11a_state::switch_w));
m_pia30->cb2_handler().set(FUNC(s11a_state::pia30_cb2_w));
m_pia30->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<9>));
m_pia30->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<10>));
PIA6821(config, m_pia34, 0);
m_pia34->writepa_handler().set(FUNC(s11_state::pia34_pa_w));
m_pia34->writepb_handler().set(FUNC(s11_state::pia34_pb_w));
m_pia34->cb2_handler().set(FUNC(s11_state::pia34_cb2_w));
m_pia34->writepa_handler().set(FUNC(s11a_state::pia34_pa_w));
m_pia34->writepb_handler().set(FUNC(s11a_state::pia34_pb_w));
m_pia34->cb2_handler().set(FUNC(s11a_state::pia34_cb2_w));
m_pia34->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<11>));
m_pia34->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<12>));
@ -207,7 +207,7 @@ void s11a_state::s11a_base(machine_config &config)
/* Add the soundcard */
M6802(config, m_audiocpu, XTAL(4'000'000));
m_audiocpu->set_ram_enable(false);
m_audiocpu->set_addrmap(AS_PROGRAM, &s11_state::s11_audio_map);
m_audiocpu->set_addrmap(AS_PROGRAM, &s11a_state::s11_audio_map);
INPUT_MERGER_ANY_HIGH(config, m_audioirq).output_handler().set_inputline(m_audiocpu, M6802_IRQ_LINE);
MC1408(config, m_dac, 0);
@ -228,9 +228,9 @@ void s11a_state::s11a_base(machine_config &config)
HC55516(config, m_hc55516, 0).add_route(ALL_OUTPUTS, m_cvsd_filter, 1.0);
PIA6821(config, m_pias, 0);
m_pias->readpa_handler().set(FUNC(s11_state::sound_r));
m_pias->readpa_handler().set(FUNC(s11a_state::sound_r));
m_pias->set_port_a_input_overrides_output_mask(0xff);
m_pias->writepa_handler().set(FUNC(s11_state::sound_w));
m_pias->writepa_handler().set(FUNC(s11a_state::sound_w));
m_pias->writepb_handler().set(m_dac, FUNC(dac_byte_interface::data_w));
m_pias->ca2_handler().set(m_hc55516, FUNC(hc55516_device::clock_w));
m_pias->cb2_handler().set(m_hc55516, FUNC(hc55516_device::digit_w));

View File

@ -151,7 +151,7 @@ void s11b_state::machine_reset()
m_bg->device_reset();
}
void s11b_state::dig1_w(uint8_t data)
void s11b_state::s11b_dig1_w(uint8_t data)
{
uint32_t seg = get_segment2();
seg |= data;
@ -167,7 +167,7 @@ void s11b_state::dig1_w(uint8_t data)
set_segment2(seg);
}
void s11b_state::pia2c_pa_w(uint8_t data)
void s11b_state::s11b_pia2c_pa_w(uint8_t data)
{
uint32_t seg = get_segment1();
seg |= (data<<8);
@ -183,7 +183,7 @@ void s11b_state::pia2c_pa_w(uint8_t data)
set_segment1(seg);
}
void s11b_state::pia2c_pb_w(uint8_t data)
void s11b_state::s11b_pia2c_pb_w(uint8_t data)
{
uint32_t seg = get_segment1();
seg |= data;
@ -199,7 +199,7 @@ void s11b_state::pia2c_pb_w(uint8_t data)
set_segment1(seg);
}
void s11b_state::pia34_pa_w(uint8_t data)
void s11b_state::s11b_pia34_pa_w(uint8_t data)
{
uint32_t seg = get_segment2();
seg |= (data<<8);
@ -231,9 +231,9 @@ void s11b_state::s11b_base(machine_config &config)
{
/* basic machine hardware */
M6808(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &s11_state::s11_main_map);
INPUT_MERGER_ANY_HIGH(config, m_mainirq).output_handler().set(FUNC(s11_state::main_irq));
INPUT_MERGER_ANY_HIGH(config, m_piairq).output_handler().set(FUNC(s11_state::pia_irq));
m_maincpu->set_addrmap(AS_PROGRAM, &s11b_state::s11_main_map);
INPUT_MERGER_ANY_HIGH(config, m_mainirq).output_handler().set(FUNC(s11b_state::main_irq));
INPUT_MERGER_ANY_HIGH(config, m_piairq).output_handler().set(FUNC(s11b_state::pia_irq));
/* Video */
config.set_default_layout(layout_s11b);
@ -243,50 +243,50 @@ void s11b_state::s11b_base(machine_config &config)
/* Devices */
PIA6821(config, m_pia21, 0);
m_pia21->readpa_handler().set(FUNC(s11_state::sound_r));
m_pia21->readpa_handler().set(FUNC(s11b_state::sound_r));
m_pia21->set_port_a_input_overrides_output_mask(0xff);
m_pia21->writepa_handler().set(FUNC(s11_state::sound_w));
m_pia21->writepb_handler().set(FUNC(s11_state::sol2_w));
m_pia21->ca2_handler().set(FUNC(s11_state::pia21_ca2_w));
m_pia21->cb2_handler().set(FUNC(s11_state::pia21_cb2_w));
m_pia21->writepa_handler().set(FUNC(s11b_state::sound_w));
m_pia21->writepb_handler().set(FUNC(s11b_state::sol2_w));
m_pia21->ca2_handler().set(FUNC(s11b_state::pia21_ca2_w));
m_pia21->cb2_handler().set(FUNC(s11b_state::pia21_cb2_w));
m_pia21->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<1>));
m_pia21->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<2>));
PIA6821(config, m_pia24, 0);
m_pia24->writepa_handler().set(FUNC(s11_state::lamp0_w));
m_pia24->writepb_handler().set(FUNC(s11_state::lamp1_w));
m_pia24->cb2_handler().set(FUNC(s11_state::pia24_cb2_w));
m_pia24->writepa_handler().set(FUNC(s11b_state::lamp0_w));
m_pia24->writepb_handler().set(FUNC(s11b_state::lamp1_w));
m_pia24->cb2_handler().set(FUNC(s11b_state::pia24_cb2_w));
m_pia24->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<3>));
m_pia24->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<4>));
PIA6821(config, m_pia28, 0);
m_pia28->readpa_handler().set(FUNC(s11_state::pia28_w7_r));
m_pia28->readpa_handler().set(FUNC(s11b_state::pia28_w7_r));
m_pia28->set_port_a_input_overrides_output_mask(0xff);
m_pia28->writepa_handler().set(FUNC(s11a_state::dig0_w));
m_pia28->writepb_handler().set(FUNC(s11b_state::dig1_w));
m_pia28->ca2_handler().set(FUNC(s11_state::pia28_ca2_w));
m_pia28->cb2_handler().set(FUNC(s11_state::pia28_cb2_w));
m_pia28->writepa_handler().set(FUNC(s11b_state::s11a_dig0_w));
m_pia28->writepb_handler().set(FUNC(s11b_state::s11b_dig1_w));
m_pia28->ca2_handler().set(FUNC(s11b_state::pia28_ca2_w));
m_pia28->cb2_handler().set(FUNC(s11b_state::pia28_cb2_w));
m_pia28->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<5>));
m_pia28->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<6>));
PIA6821(config, m_pia2c, 0);
m_pia2c->writepa_handler().set(FUNC(s11b_state::pia2c_pa_w));
m_pia2c->writepb_handler().set(FUNC(s11b_state::pia2c_pb_w));
m_pia2c->writepa_handler().set(FUNC(s11b_state::s11b_pia2c_pa_w));
m_pia2c->writepb_handler().set(FUNC(s11b_state::s11b_pia2c_pb_w));
m_pia2c->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<7>));
m_pia2c->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<8>));
PIA6821(config, m_pia30, 0);
m_pia30->readpa_handler().set(FUNC(s11_state::switch_r));
m_pia30->readpa_handler().set(FUNC(s11b_state::switch_r));
m_pia30->set_port_a_input_overrides_output_mask(0xff);
m_pia30->writepb_handler().set(FUNC(s11_state::switch_w));
m_pia30->cb2_handler().set(FUNC(s11_state::pia30_cb2_w));
m_pia30->writepb_handler().set(FUNC(s11b_state::switch_w));
m_pia30->cb2_handler().set(FUNC(s11b_state::pia30_cb2_w));
m_pia30->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<9>));
m_pia30->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<10>));
PIA6821(config, m_pia34, 0);
m_pia34->writepa_handler().set(FUNC(s11b_state::pia34_pa_w));
m_pia34->writepb_handler().set(FUNC(s11_state::pia34_pb_w));
m_pia34->cb2_handler().set(FUNC(s11_state::pia34_cb2_w));
m_pia34->writepa_handler().set(FUNC(s11b_state::s11b_pia34_pa_w));
m_pia34->writepb_handler().set(FUNC(s11b_state::pia34_pb_w));
m_pia34->cb2_handler().set(FUNC(s11b_state::pia34_cb2_w));
m_pia34->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<11>));
m_pia34->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<12>));
@ -295,7 +295,7 @@ void s11b_state::s11b_base(machine_config &config)
/* Add the soundcard */
M6802(config, m_audiocpu, XTAL(4'000'000));
m_audiocpu->set_ram_enable(false);
m_audiocpu->set_addrmap(AS_PROGRAM, &s11_state::s11_audio_map);
m_audiocpu->set_addrmap(AS_PROGRAM, &s11b_state::s11_audio_map);
INPUT_MERGER_ANY_HIGH(config, m_audioirq).output_handler().set_inputline(m_audiocpu, M6802_IRQ_LINE);
MC1408(config, m_dac, 0);
@ -316,9 +316,9 @@ void s11b_state::s11b_base(machine_config &config)
HC55516(config, m_hc55516, 0).add_route(ALL_OUTPUTS, m_cvsd_filter, 1.0/4.0); // to prevent massive clipping issues, we divide the signal by 4 here before going into the filters, then multiply it by 4 after it comes out the other end
PIA6821(config, m_pias, 0);
m_pias->readpa_handler().set(FUNC(s11_state::sound_r));
m_pias->readpa_handler().set(FUNC(s11b_state::sound_r));
m_pias->set_port_a_input_overrides_output_mask(0xff);
m_pias->writepa_handler().set(FUNC(s11_state::sound_w));
m_pias->writepa_handler().set(FUNC(s11b_state::sound_w));
m_pias->writepb_handler().set(m_dac, FUNC(dac_byte_interface::data_w));
m_pias->ca2_handler().set(m_hc55516, FUNC(hc55516_device::clock_w));
m_pias->cb2_handler().set(m_hc55516, FUNC(hc55516_device::digit_w));

View File

@ -121,9 +121,9 @@ void s11c_state::s11c(machine_config &config)
{
/* basic machine hardware */
M6808(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &s11_state::s11_main_map);
INPUT_MERGER_ANY_HIGH(config, m_mainirq).output_handler().set(FUNC(s11_state::main_irq));
INPUT_MERGER_ANY_HIGH(config, m_piairq).output_handler().set(FUNC(s11_state::pia_irq));
m_maincpu->set_addrmap(AS_PROGRAM, &s11c_state::s11_main_map);
INPUT_MERGER_ANY_HIGH(config, m_mainirq).output_handler().set(FUNC(s11c_state::main_irq));
INPUT_MERGER_ANY_HIGH(config, m_piairq).output_handler().set(FUNC(s11c_state::pia_irq));
/* Video */
config.set_default_layout(layout_s11c);
@ -133,50 +133,50 @@ void s11c_state::s11c(machine_config &config)
/* Devices */
PIA6821(config, m_pia21, 0);
m_pia21->readpa_handler().set(FUNC(s11_state::sound_r));
m_pia21->readpa_handler().set(FUNC(s11c_state::sound_r));
m_pia21->set_port_a_input_overrides_output_mask(0xff);
m_pia21->writepa_handler().set(FUNC(s11_state::sound_w));
m_pia21->writepb_handler().set(FUNC(s11_state::sol2_w));
m_pia21->ca2_handler().set(FUNC(s11_state::pia21_ca2_w));
m_pia21->cb2_handler().set(FUNC(s11_state::pia21_cb2_w));
m_pia21->writepa_handler().set(FUNC(s11c_state::sound_w));
m_pia21->writepb_handler().set(FUNC(s11c_state::sol2_w));
m_pia21->ca2_handler().set(FUNC(s11c_state::pia21_ca2_w));
m_pia21->cb2_handler().set(FUNC(s11c_state::pia21_cb2_w));
m_pia21->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<1>));
m_pia21->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<2>));
PIA6821(config, m_pia24, 0);
m_pia24->writepa_handler().set(FUNC(s11_state::lamp0_w));
m_pia24->writepb_handler().set(FUNC(s11_state::lamp1_w));
m_pia24->cb2_handler().set(FUNC(s11_state::pia24_cb2_w));
m_pia24->writepa_handler().set(FUNC(s11c_state::lamp0_w));
m_pia24->writepb_handler().set(FUNC(s11c_state::lamp1_w));
m_pia24->cb2_handler().set(FUNC(s11c_state::pia24_cb2_w));
m_pia24->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<3>));
m_pia24->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<4>));
PIA6821(config, m_pia28, 0);
m_pia28->readpa_handler().set(FUNC(s11_state::pia28_w7_r));
m_pia28->readpa_handler().set(FUNC(s11c_state::pia28_w7_r));
m_pia28->set_port_a_input_overrides_output_mask(0xff);
m_pia28->writepa_handler().set(FUNC(s11a_state::dig0_w));
m_pia28->writepb_handler().set(FUNC(s11c_state::dig1_w));
m_pia28->ca2_handler().set(FUNC(s11_state::pia28_ca2_w));
m_pia28->cb2_handler().set(FUNC(s11_state::pia28_cb2_w));
m_pia28->writepa_handler().set(FUNC(s11c_state::s11a_dig0_w));
m_pia28->writepb_handler().set(FUNC(s11c_state::s11b_dig1_w));
m_pia28->ca2_handler().set(FUNC(s11c_state::pia28_ca2_w));
m_pia28->cb2_handler().set(FUNC(s11c_state::pia28_cb2_w));
m_pia28->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<5>));
m_pia28->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<6>));
PIA6821(config, m_pia2c, 0);
m_pia2c->writepa_handler().set(FUNC(s11c_state::pia2c_pa_w));
m_pia2c->writepb_handler().set(FUNC(s11c_state::pia2c_pb_w));
m_pia2c->writepa_handler().set(FUNC(s11c_state::s11b_pia2c_pa_w));
m_pia2c->writepb_handler().set(FUNC(s11c_state::s11b_pia2c_pb_w));
m_pia2c->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<7>));
m_pia2c->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<8>));
PIA6821(config, m_pia30, 0);
m_pia30->readpa_handler().set(FUNC(s11_state::switch_r));
m_pia30->readpa_handler().set(FUNC(s11c_state::switch_r));
m_pia30->set_port_a_input_overrides_output_mask(0xff);
m_pia30->writepb_handler().set(FUNC(s11_state::switch_w));
m_pia30->cb2_handler().set(FUNC(s11_state::pia30_cb2_w));
m_pia30->writepb_handler().set(FUNC(s11c_state::switch_w));
m_pia30->cb2_handler().set(FUNC(s11c_state::pia30_cb2_w));
m_pia30->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<9>));
m_pia30->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<10>));
PIA6821(config, m_pia34, 0);
m_pia34->writepa_handler().set(FUNC(s11c_state::pia34_pa_w));
m_pia34->writepb_handler().set(FUNC(s11b_state::pia34_pb_w));
m_pia34->cb2_handler().set(FUNC(s11b_state::pia34_cb2_w));
m_pia34->writepa_handler().set(FUNC(s11c_state::s11b_pia34_pa_w));
m_pia34->writepb_handler().set(FUNC(s11c_state::pia34_pb_w));
m_pia34->cb2_handler().set(FUNC(s11c_state::pia34_cb2_w));
m_pia34->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<11>));
m_pia34->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<12>));

View File

@ -75,20 +75,21 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
uint8_t sound_r();
void bank_w(uint8_t data);
void dig0_w(uint8_t data);
void dig1_w(uint8_t data);
void lamp0_w(uint8_t data);
void lamp1_w(uint8_t data) { }
void sol2_w(uint8_t data) { } // solenoids 8-15
void sol3_w(uint8_t data); // solenoids 0-7
void sound_w(uint8_t data);
protected:
void pia2c_pa_w(uint8_t data);
void pia2c_pb_w(uint8_t data);
void pia34_pa_w(uint8_t data);
void pia34_pb_w(uint8_t data);
u8 sound_r();
void bank_w(u8 data);
void dig1_w(u8 data);
void lamp0_w(u8 data);
void lamp1_w(u8 data) { }
void sol2_w(u8 data) { } // solenoids 8-15
void sol3_w(u8 data); // solenoids 0-7
void sound_w(u8 data);
void pia2c_pa_w(u8 data);
void pia2c_pb_w(u8 data);
void pia34_pa_w(u8 data);
void pia34_pb_w(u8 data);
DECLARE_WRITE_LINE_MEMBER(pia34_cb2_w);
DECLARE_WRITE_LINE_MEMBER(pias_ca2_w);
@ -102,14 +103,13 @@ public:
DECLARE_WRITE_LINE_MEMBER(pia_irq);
DECLARE_WRITE_LINE_MEMBER(main_irq);
uint8_t switch_r();
void switch_w(uint8_t data);
uint8_t pia28_w7_r();
u8 switch_r();
void switch_w(u8 data);
u8 pia28_w7_r();
void s11_main_map(address_map &map);
void s11_audio_map(address_map &map);
protected:
virtual void machine_start() override { m_digits.resolve(); }
virtual void device_timer(emu_timer &timer, device_timer_id id, int param) override;
virtual void machine_reset() override;
@ -138,10 +138,10 @@ protected:
required_ioport_array<8> m_swarray;
// getters/setters
uint8_t get_strobe() { return m_strobe; }
void set_strobe(uint8_t s) { m_strobe = s; }
uint8_t get_diag() { return m_diag; }
void set_diag(uint8_t d) { m_diag = d; }
u8 get_strobe() { return m_strobe; }
void set_strobe(u8 s) { m_strobe = s; }
u8 get_diag() { return m_diag; }
void set_diag(u8 d) { m_diag = d; }
uint32_t get_segment1() { return m_segment1; }
void set_segment1(uint32_t s) { m_segment1 = s; }
uint32_t get_segment2() { return m_segment2; }
@ -151,10 +151,11 @@ protected:
static const device_timer_id TIMER_IRQ = 0;
private:
uint8_t m_sound_data;
uint8_t m_strobe;
uint8_t m_switch_col;
uint8_t m_diag;
void dig0_w(u8 data);
u8 m_sound_data;
u8 m_strobe;
u8 m_switch_col;
u8 m_diag;
uint32_t m_segment1;
uint32_t m_segment2;
uint32_t m_timer_count;
@ -177,7 +178,8 @@ public:
void init_s11a();
void dig0_w(uint8_t data);
protected:
void s11a_dig0_w(u8 data);
};
@ -199,10 +201,10 @@ protected:
virtual void machine_reset() override;
void set_invert(bool inv) { m_invert = inv; }
void dig1_w(uint8_t data);
void pia2c_pa_w(uint8_t data);
void pia2c_pb_w(uint8_t data);
void pia34_pa_w(uint8_t data);
void s11b_dig1_w(u8 data);
void s11b_pia2c_pa_w(u8 data);
void s11b_pia2c_pb_w(u8 data);
void s11b_pia34_pa_w(u8 data);
private:
bool m_invert; // later System 11B games start expecting inverted data to the display LED segments.