mirror of
https://github.com/holub/mame
synced 2025-07-05 01:48:29 +03:00
peplus.c: Minor update - NW
Fix coin in cycles to eliminate the Coin-in Timeout errors. All current sets should be fully playable without issues.
This commit is contained in:
parent
ce2b6a3167
commit
e2003e3f1f
@ -168,9 +168,6 @@ NOTE: The Door Open cycling is currently not fully understood. Non Plus program
|
|||||||
expect the Door Open bit to cycle. Later versions, Superboard & Wingboards require the Door Open cycling but
|
expect the Door Open bit to cycle. Later versions, Superboard & Wingboards require the Door Open cycling but
|
||||||
at different rates. It's currently not know what if any universal value will work for all sets.
|
at different rates. It's currently not know what if any universal value will work for all sets.
|
||||||
|
|
||||||
NOTE: Some of the earlier 32K versions currently error out with a Coin-In Timeout error. These sets include:
|
|
||||||
PP0008, PP0014, PP0023, PP0057, PP0059, PP0063 & PP0064
|
|
||||||
|
|
||||||
***********************************************************************************/
|
***********************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
@ -875,7 +872,7 @@ READ8_MEMBER(peplus_state::peplus_input_bank_a_r)
|
|||||||
m_last_cycles = m_maincpu->total_cycles();
|
m_last_cycles = m_maincpu->total_cycles();
|
||||||
} else {
|
} else {
|
||||||
/* Process Next Coin Optic State */
|
/* Process Next Coin Optic State */
|
||||||
if (curr_cycles - m_last_cycles > 600000/6 && m_coin_state != 0) {
|
if (curr_cycles - m_last_cycles > 10000 && m_coin_state != 0) { // Must be below 100ms (833.3 x 100 cycles) or "Coin-in Timeout" error
|
||||||
m_coin_state++;
|
m_coin_state++;
|
||||||
if (m_coin_state > 5)
|
if (m_coin_state > 5)
|
||||||
m_coin_state = 0;
|
m_coin_state = 0;
|
||||||
@ -918,7 +915,7 @@ READ8_MEMBER(peplus_state::peplus_input_bank_a_r)
|
|||||||
m_last_door = m_maincpu->total_cycles();
|
m_last_door = m_maincpu->total_cycles();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curr_cycles - m_last_coin_out > 600000/12 && m_coin_out_state != 0) { // Guessing with 600000
|
if (curr_cycles - m_last_coin_out > 600000/12 && m_coin_out_state != 0) { // Must be below 700ms or it will time out
|
||||||
if (m_coin_out_state != 2) {
|
if (m_coin_out_state != 2) {
|
||||||
m_coin_out_state = 2; // Coin-Out Off
|
m_coin_out_state = 2; // Coin-Out Off
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user