Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06947 DIP/Input Minor Always Apr 20, 2018, 19:34 Jul 15, 2021, 01:13
Tester BadWolf7930 View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows Vista/7/8 (32-bit)
Status [?] Acknowledged Driver
Version 0.196 Fixed in Version Build 32-bit
Fixed in Git Commit Github Pull Request #
Summary 06947: All sets in peplus.cpp: Bill acceptor not working on sets that support it
Description From 0.184 forward, Bill In key (<6>) is ineffective on capable games configured to work as such (using procedure outlined at top of the peplus.cpp source). Games still coin up using <5> but none will "bill up" w/<6>. Only tried the pokers but I'm guessing slots, keno etc. in this same driver are affected too. (The 0.184 whatsnew talks of a bit operator change in the driver, could that have "broken" bill acceptor emulation?)
Steps To Reproduce Simply compare 0.183 Bill In key <6> behavior to later releases.

I've attached a .ZIP containing a working bill acceptor configuration -- cfg & nvram, no ROM -- for the pex0447p set as an example (there's many others affected). Unzip into a MAME 0.183/earlier folder, run pex0447p, put a bill in using <6>, game credits up. Do the same thing on a 0.184 to current MAME, no longer works ...
Additional Information
Github Commit
Regression Version 0.184
Affected Sets / Systems All sets in peplus.cpp
Attached Files
zip file icon (1,517 bytes) Apr 20, 2018, 19:34 Uploaded by BadWolf7930
There are no relationship linked to this issue.
User avatar
Apr 23, 2018, 21:42
I can't seem to get 6 to work no matter what config I use.
I'll leave this acknowledged until someone who knows the driver can examine it.
User avatar
Apr 24, 2018, 02:40
The pre-bill-acceptor-configured cfg+nvram I attached should "accept bills" on this game under MAME up to/including version 0.183. (This cfg+nvram is, of course, specific to pex0447p.)

In a nutshell, making a bill acceptor work on these Player's Edge Plus games requires moving a game's initialized nvram files over to a "set chip" set (such as peset038), running that set to enable the acceptor there and then moving the nvram back to the original game. Some games may also need their acceptor protocol changed under <Tab>/Machine Configuration (ID-022 or ID-023).

I attached this cfg+nvram to bypass all that in hopes of making it easier for you guys to get an initial look at it. Sorry I can't be of more help.
User avatar
Apr 24, 2018, 05:46
edited on: Apr 24, 2018, 06:06
This seems the only commit touching peplus.cpp directly in the 0.184 cycle:

EDIT: Reverting that restores previous functionality: pressing 6 gives 100 credits.
User avatar
Apr 24, 2018, 07:49
That's correct for my attached test setup (I configured this game for 5¢ play and set the Bill In value under <Tab>/Machine Configuration to $5).
User avatar
Aug 23, 2020, 00:03
The old code is clearly wrong, but you can get the same effect by changing the lines in question to this:

if (m_bv_pulse == 1) {
                return 0x01; // Add Bill Validator Credit Pulse
        } else {
                return m_in0->read();

The code doesn’t really make sense. The bill acceptor simulation should use input change handlers and timers, not trigger on CPU reads of the input port. This should be enough to hack it back to working though.
User avatar
Jul 15, 2021, 01:13
BadWolf7930 can you help me I need your services