diff options
Diffstat (limited to 'src/devices/bus/ti99/gromport/gromport.cpp')
-rw-r--r-- | src/devices/bus/ti99/gromport/gromport.cpp | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/src/devices/bus/ti99/gromport/gromport.cpp b/src/devices/bus/ti99/gromport/gromport.cpp index 65c6f15d284..6204c9b5af1 100644 --- a/src/devices/bus/ti99/gromport/gromport.cpp +++ b/src/devices/bus/ti99/gromport/gromport.cpp @@ -114,20 +114,20 @@ #include "multiconn.h" #include "gkracker.h" -#define LOG_WARN (1U<<1) // Warnings -#define LOG_READ (1U<<2) // Reading -#define LOG_WRITE (1U<<3) // Writing +#define LOG_WARN (1U << 1) // Warnings +#define LOG_READ (1U << 2) // Reading +#define LOG_WRITE (1U << 3) // Writing -#define VERBOSE ( LOG_WARN ) +#define VERBOSE (LOG_WARN) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_GROMPORT, bus::ti99::gromport, gromport_device, "gromport", "TI-99 Cartridge port") +DEFINE_DEVICE_TYPE(TI99_GROMPORT, bus::ti99::gromport::gromport_device, "gromport", "TI-99 Cartridge port") -namespace bus { namespace ti99 { namespace gromport { +namespace bus::ti99::gromport { gromport_device::gromport_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, TI99_GROMPORT, tag, owner, clock), - device_slot_interface(mconfig, *this), + device_single_card_slot_interface<cartridge_connector_device>(mconfig, *this), m_connector(nullptr), m_reset_on_insert(true), m_console_ready(*this), @@ -173,7 +173,7 @@ void gromport_device::cruwrite(offs_t offset, uint8_t data) m_connector->cruwrite(offset, data); } -WRITE_LINE_MEMBER(gromport_device::ready_line) +void gromport_device::ready_line(int state) { m_console_ready(state); } @@ -181,14 +181,14 @@ WRITE_LINE_MEMBER(gromport_device::ready_line) /* Asserted when the console addresses cartridge rom. */ -WRITE_LINE_MEMBER(gromport_device::romgq_line) +void gromport_device::romgq_line(int state) { m_romgq = state; if (m_connector != nullptr) m_connector->romgq_line(state); } -WRITE_LINE_MEMBER(gromport_device::gclock_in) +void gromport_device::gclock_in(int state) { if (m_connector != nullptr) m_connector->gclock_in(state); @@ -205,10 +205,9 @@ void gromport_device::set_gromlines(line_state mline, line_state moline, line_st void gromport_device::device_start() { - m_console_ready.resolve(); - m_console_reset.resolve(); - save_item(NAME(m_romgq)); + if (m_connector != nullptr) + m_connector->set_port(this); } void gromport_device::device_reset() @@ -246,7 +245,7 @@ bool gromport_device::is_grom_idle() void gromport_device::device_config_complete() { - m_connector = downcast<cartridge_connector_device*>(subdevices().first()); + m_connector = get_card_device(); } INPUT_PORTS_START(gromport) @@ -278,17 +277,12 @@ cartridge_connector_device::cartridge_connector_device(const machine_config &mco { } -WRITE_LINE_MEMBER( cartridge_connector_device::ready_line ) +void cartridge_connector_device::ready_line(int state) { m_gromport->ready_line(state); } -void cartridge_connector_device::device_config_complete() -{ - m_gromport = static_cast<gromport_device*>(owner()); -} - -} } } // end namespace bus::ti99::gromport +} // end namespace bus::ti99::gromport void ti99_gromport_options(device_slot_interface &device) { |