pc8801mk2sr, pc88va: Enable outputs to joystick pins 6 & 7

This commit is contained in:
AJR 2023-03-19 17:49:32 -04:00
parent 40b5608160
commit bb9228134b
4 changed files with 17 additions and 0 deletions

View File

@ -1540,6 +1540,12 @@ uint8_t pc8801mk2sr_state::opn_portb_r()
return BIT(m_mouse_port->read(), 4, 2) | 0xfc;
}
void pc8801mk2sr_state::opn_portb_w(uint8_t data)
{
m_mouse_port->pin_6_w(BIT(data, 0));
m_mouse_port->pin_7_w(BIT(data, 1));
}
// Cassette Configuration
WRITE_LINE_MEMBER( pc8801_state::txdata_callback )
{
@ -1741,6 +1747,7 @@ void pc8801mk2sr_state::pc8801mk2sr(machine_config &config)
m_opn->irq_handler().set(FUNC(pc8801mk2sr_state::int4_irq_w));
m_opn->port_a_read_callback().set(FUNC(pc8801mk2sr_state::opn_porta_r));
m_opn->port_b_read_callback().set(FUNC(pc8801mk2sr_state::opn_portb_r));
m_opn->port_b_write_callback().set(FUNC(pc8801mk2sr_state::opn_portb_w));
for (auto &speaker : { m_lspeaker, m_rspeaker })
{
@ -1769,6 +1776,7 @@ void pc8801fh_state::pc8801fh(machine_config &config)
m_opna->irq_handler().set(FUNC(pc8801fh_state::int4_irq_w));
m_opna->port_a_read_callback().set(FUNC(pc8801fh_state::opn_porta_r));
m_opna->port_b_read_callback().set(FUNC(pc8801fh_state::opn_portb_r));
m_opna->port_b_write_callback().set(FUNC(pc8801fh_state::opn_portb_w));
// TODO: per-channel mixing is unconfirmed
m_opna->add_route(0, m_lspeaker, 0.25);

View File

@ -232,6 +232,7 @@ protected:
uint8_t opn_porta_r();
uint8_t opn_portb_r();
void opn_portb_w(uint8_t data);
private:
optional_device<ym2203_device> m_opn;

View File

@ -154,6 +154,12 @@ uint8_t pc88va_state::opn_portb_r()
return BIT(m_mouse_port->read(), 4, 2) | 0xfc;
}
void pc88va_state::opn_portb_w(u8 data)
{
m_mouse_port->pin_6_w(BIT(data, 0));
m_mouse_port->pin_7_w(BIT(data, 1));
}
void pc88va_state::rtc_w(offs_t offset, u8 data)
{
m_rtc->c0_w((data & 1) >> 0);
@ -1182,6 +1188,7 @@ void pc88va_state::pc88va(machine_config &config)
m_opna->irq_handler().set(FUNC(pc88va_state::int4_irq_w));
m_opna->port_a_read_callback().set(FUNC(pc88va_state::opn_porta_r));
m_opna->port_b_read_callback().set(FUNC(pc88va_state::opn_portb_r));
m_opna->port_b_write_callback().set(FUNC(pc88va_state::opn_portb_w));
// TODO: per-channel mixing is unconfirmed
m_opna->add_route(0, m_lspeaker, 0.25);
m_opna->add_route(0, m_rspeaker, 0.25);

View File

@ -269,6 +269,7 @@ private:
void rtc_w(offs_t offset, u8 data);
u8 opn_porta_r();
u8 opn_portb_r();
void opn_portb_w(u8 data);
u8 m_device_ctrl_data = 0;
u8 m_misc_ctrl = 0x80;