mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
toaplan1.cpp: Clean up coin counter/lockout handling
This commit is contained in:
parent
429f221171
commit
385fc70398
@ -201,33 +201,11 @@ WRITE_LINE_MEMBER(toaplan1_rallybik_state::coin_lockout_2_w)
|
||||
|
||||
void toaplan1_state::coin_w(u8 data)
|
||||
{
|
||||
logerror("Z80 writing %02x to coin control\n",data);
|
||||
/* This still isnt too clear yet. */
|
||||
/* Coin C has no coin lock ? */
|
||||
/* Are some outputs for lights ? (no space on JAMMA for it though) */
|
||||
|
||||
switch (data)
|
||||
{
|
||||
case 0xee: machine().bookkeeping().coin_counter_w(1,1); machine().bookkeeping().coin_counter_w(1,0); break; /* Count slot B */
|
||||
case 0xed: machine().bookkeeping().coin_counter_w(0,1); machine().bookkeeping().coin_counter_w(0,0); break; /* Count slot A */
|
||||
/* The following are coin counts after coin-lock active (faulty coin-lock ?) */
|
||||
case 0xe2: machine().bookkeeping().coin_counter_w(1,1); machine().bookkeeping().coin_counter_w(1,0); machine().bookkeeping().coin_lockout_w(1,1); break;
|
||||
case 0xe1: machine().bookkeeping().coin_counter_w(0,1); machine().bookkeeping().coin_counter_w(0,0); machine().bookkeeping().coin_lockout_w(0,1); break;
|
||||
|
||||
case 0xec: machine().bookkeeping().coin_lockout_global_w(0); break; /* ??? count games played */
|
||||
case 0xe8: break; /* ??? Maximum credits reached with coin/credit ratio */
|
||||
case 0xe4: break; /* ??? Reset coin system */
|
||||
|
||||
case 0x0c: machine().bookkeeping().coin_lockout_global_w(0); break; /* Unlock all coin slots */
|
||||
case 0x08: machine().bookkeeping().coin_lockout_w(2,0); break; /* Unlock coin slot C */
|
||||
case 0x09: machine().bookkeeping().coin_lockout_w(0,0); break; /* Unlock coin slot A */
|
||||
case 0x0a: machine().bookkeeping().coin_lockout_w(1,0); break; /* Unlock coin slot B */
|
||||
|
||||
case 0x02: machine().bookkeeping().coin_lockout_w(1,1); break; /* Lock coin slot B */
|
||||
case 0x01: machine().bookkeeping().coin_lockout_w(0,1); break; /* Lock coin slot A */
|
||||
case 0x00: machine().bookkeeping().coin_lockout_global_w(1); break; /* Lock all coin slots */
|
||||
default: logerror("PC:%04x Writing unknown data (%04x) to coin count/lockout port\n",m_audiocpu->pcbase(),data); break;
|
||||
}
|
||||
// Upper 4 bits are junk (normally 1110 or 0000, which are artifacts of sound command processing)
|
||||
machine().bookkeeping().coin_counter_w(0, BIT(data, 0));
|
||||
machine().bookkeeping().coin_counter_w(1, BIT(data, 1));
|
||||
machine().bookkeeping().coin_lockout_w(0, !BIT(data, 2));
|
||||
machine().bookkeeping().coin_lockout_w(1, !BIT(data, 3));
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(toaplan1_state::reset_callback)
|
||||
|
Loading…
Reference in New Issue
Block a user