diff options
Diffstat (limited to 'src/devices/machine/ticket.cpp')
-rw-r--r-- | src/devices/machine/ticket.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/devices/machine/ticket.cpp b/src/devices/machine/ticket.cpp index f5dba9ef6d7..eac0bf0a18a 100644 --- a/src/devices/machine/ticket.cpp +++ b/src/devices/machine/ticket.cpp @@ -54,6 +54,7 @@ ticket_dispenser_device::ticket_dispenser_device(const machine_config &mconfig, , m_power(0) , m_timer(nullptr) , m_output(*this, tag) // TODO: change to "tag:status" + , m_dispense_handler(*this) // TODO: can we use m_output for this? { } @@ -84,7 +85,7 @@ ticket_dispenser_device::~ticket_dispenser_device() // line_r - read the status line //------------------------------------------------- -READ_LINE_MEMBER( ticket_dispenser_device::line_r ) +int ticket_dispenser_device::line_r() { return m_status ? 1 : 0; } @@ -94,7 +95,7 @@ READ_LINE_MEMBER( ticket_dispenser_device::line_r ) // motor_w - write the control line //------------------------------------------------- -WRITE_LINE_MEMBER( ticket_dispenser_device::motor_w ) +void ticket_dispenser_device::motor_w(int state) { // On an activate signal, start dispensing! if (bool(state) == m_motoron) @@ -181,6 +182,10 @@ TIMER_CALLBACK_MEMBER(ticket_dispenser_device::update_output_state) // update output status m_output = m_status == m_ticketdispensed; + if (m_hopper_type) + { + m_dispense_handler(m_status); + } // if we just dispensed, increment global count if (m_status == m_ticketdispensed) { |