summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/bookkeeping.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/bookkeeping.cpp')
-rw-r--r--src/emu/bookkeeping.cpp45
1 files changed, 34 insertions, 11 deletions
diff --git a/src/emu/bookkeeping.cpp b/src/emu/bookkeeping.cpp
index 9f3e414e03f..47e4b2a195a 100644
--- a/src/emu/bookkeeping.cpp
+++ b/src/emu/bookkeeping.cpp
@@ -22,11 +22,11 @@
// bookkeeping_manager - constructor
//-------------------------------------------------
-bookkeeping_manager::bookkeeping_manager(running_machine &machine)
- : m_machine(machine),
- m_dispensed_tickets(0)
+bookkeeping_manager::bookkeeping_manager(running_machine &machine) :
+ m_machine(machine),
+ m_dispensed_tickets(0)
{
- /* reset coin counters */
+ // reset coin counters
for (int counternum = 0; counternum < COIN_COUNTERS; counternum++)
{
m_lastcoin[counternum] = 0;
@@ -53,6 +53,16 @@ bookkeeping_manager::bookkeeping_manager(running_machine &machine)
***************************************************************************/
/*-------------------------------------------------
+ increment_dispensed_tickets - increment the
+ number of dispensed tickets
+-------------------------------------------------*/
+
+void bookkeeping_manager::increment_dispensed_tickets(int delta)
+{
+ m_dispensed_tickets += delta;
+}
+
+/*-------------------------------------------------
get_dispensed_tickets - return the number of
tickets dispensed
-------------------------------------------------*/
@@ -64,13 +74,13 @@ int bookkeeping_manager::get_dispensed_tickets() const
/*-------------------------------------------------
- increment_dispensed_tickets - increment the
- number of dispensed tickets
+ reset_dispensed_tickets - reset the number of
+ tickets dispensed
-------------------------------------------------*/
-void bookkeeping_manager::increment_dispensed_tickets(int delta)
+void bookkeeping_manager::reset_dispensed_tickets()
{
- m_dispensed_tickets += delta;
+ m_dispensed_tickets = 0;
}
@@ -156,8 +166,8 @@ void bookkeeping_manager::coin_counter_w(int num, int on)
if (num >= std::size(m_coin_count))
return;
- /* Count it only if the data has changed from 0 to non-zero */
- if (on && (m_lastcoin[num] == 0))
+ // count it only if the data has changed from 0 to non-zero
+ if (machine().time() > attotime::zero && on && (m_lastcoin[num] == 0))
m_coin_count[num]++;
m_lastcoin[num] = on;
}
@@ -177,10 +187,23 @@ int bookkeeping_manager::coin_counter_get_count(int num)
/*-------------------------------------------------
+ coin_counter_reset_count - reset the coin count
+ for a given coin
+-------------------------------------------------*/
+
+void bookkeeping_manager::coin_counter_reset_count(int num)
+{
+ if (num >= std::size(m_coin_count))
+ return;
+ m_coin_count[num] = 0;
+}
+
+
+/*-------------------------------------------------
coin_lockout_w - locks out one coin input
-------------------------------------------------*/
-void bookkeeping_manager::coin_lockout_w(int num,int on)
+void bookkeeping_manager::coin_lockout_w(int num, int on)
{
if (num >= std::size(m_coinlockedout))
return;