heathzenith/h89.cpp: Update gpp handling for MMS FDC (#13226)

This commit is contained in:
Mark Garlanger 2025-01-17 08:40:32 -06:00 committed by GitHub
parent f5622e67de
commit 08234042ac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 1 additions and 32 deletions

View File

@ -280,7 +280,7 @@ void h89bus_device::io_dispatch_w(offs_t offset, u8 data)
if (decode)
{
if (decode & H89_GPP) m_out_gpp_cb(offset, data);
if ((decode & H89_GPP) && ((offset & 7) == 2)) m_out_gpp_cb(offset, data);
if (decode & H89_NMI) { m_out_nmi_cb(offset, data); return; }
if (decode & H89_TERM) { m_out_tlb_cb(offset & 7, data); return; }

View File

@ -247,9 +247,6 @@ public:
void h89_mms(machine_config &config);
protected:
u8 port_f2_mms_r(offs_t offset);
void port_f2_mms_w(offs_t offset, u8 data);
};
@ -885,31 +882,6 @@ void h89_base_state::port_f2_w(offs_t offset, u8 data)
m_intr_socket->set_irq_level(1, CLEAR_LINE);
}
// MMS intercepts the GPIO decoding so the GPIO pin on
// the right slots can be used as a card select without
// interfering with normal GPIO port operation.
u8 h89_mms_state::port_f2_mms_r(offs_t offset)
{
if ((offset & 7) != 2)
{
return 0;
}
return m_sw501->read();
}
void h89_mms_state::port_f2_mms_w(offs_t offset, u8 data)
{
if ((offset & 7) != 2)
{
return;
}
update_gpp(data);
m_intr_socket->set_irq_level(1, CLEAR_LINE);
}
static void tlb_options(device_slot_interface &device)
{
device.option_add("heath", HEATH_TLB);
@ -1071,9 +1043,6 @@ void h89_mms_state::h89_mms(machine_config &config)
h89_base(config);
m_h89bus->set_default_bios_tag("444-61c");
m_h89bus->in_gpp_callback().set(FUNC(h89_mms_state::port_f2_mms_r));
m_h89bus->out_gpp_callback().set(FUNC(h89_mms_state::port_f2_mms_w));
// the card selection is different with the MMS mapping PROM
H89BUS_RIGHT_SLOT(config.replace(), "p504", "h89bus", [this](device_slot_interface &device) { h89_right_cards_mms(device); }, "mms77316");
H89BUS_RIGHT_SLOT(config.replace(), "p505", "h89bus", [this](device_slot_interface &device) { h89_right_cards_mms(device); }, "ha_88_3");