diff options
Diffstat (limited to 'src/mame/drivers/apple2e.cpp')
-rw-r--r-- | src/mame/drivers/apple2e.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/mame/drivers/apple2e.cpp b/src/mame/drivers/apple2e.cpp index 151906d2257..013c23a16be 100644 --- a/src/mame/drivers/apple2e.cpp +++ b/src/mame/drivers/apple2e.cpp @@ -2470,10 +2470,16 @@ READ8_MEMBER(apple2e_state::c800_r) { if ((offset == 0x7ff) && !machine().side_effects_disabled()) { + uint8_t rv = 0xff; + + if ((m_cnxx_slot > 0) && (m_slotdevice[m_cnxx_slot] != nullptr)) + { + rv = m_slotdevice[m_cnxx_slot]->read_c800(offset&0xfff); + } m_cnxx_slot = CNXX_UNCLAIMED; m_intc8rom = false; update_slotrom_banks(); - return 0xff; + return rv; } if ((m_cnxx_slot > 0) && (m_slotdevice[m_cnxx_slot] != nullptr)) @@ -2526,6 +2532,11 @@ WRITE8_MEMBER(apple2e_state::c800_w) return; } + if ((m_cnxx_slot > 0) && (m_slotdevice[m_cnxx_slot] != nullptr)) + { + m_slotdevice[m_cnxx_slot]->write_c800(offset&0xfff, data); + } + if (offset == 0x7ff) { if (!machine().side_effects_disabled()) @@ -2534,13 +2545,6 @@ WRITE8_MEMBER(apple2e_state::c800_w) m_intc8rom = false; update_slotrom_banks(); } - - return; - } - - if ((m_cnxx_slot > 0) && (m_slotdevice[m_cnxx_slot] != nullptr)) - { - m_slotdevice[m_cnxx_slot]->write_c800(offset&0xfff, data); } } @@ -4209,7 +4213,8 @@ static void apple2_cards(device_slot_interface &device) device.option_add("vulcan", A2BUS_VULCANIIE); /* Applied Engineering Vulcan IDE drive */ device.option_add("4play", A2BUS_4PLAY); /* 4Play Joystick Card (Rev. B) */ device.option_add("ceyes2", A2BUS_COMPUTEREYES2); /* ComputerEyes/2 Video Digitizer */ - device.option_add("byte8251", A2BUS_BYTE8251); + device.option_add("applesurance", A2BUS_APPLESURANCE); /* Applesurance Diagnostic Controller */ + device.option_add("byte8251", A2BUS_BYTE8251); /* BYTE Magazine 8251 serial card */ } static void apple2eaux_cards(device_slot_interface &device) |