summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
author RobertoFresca <robertofresca@recreativas.org>2021-01-21 19:59:46 +0100
committer RobertoFresca <robertofresca@recreativas.org>2021-01-21 19:59:46 +0100
commit6ee8830e79f059ef338c712d231a9e2cb130e73a (patch)
tree43445d856e0030ec84932e5bcce8c61499eaa669 /src/mame
parent7026d1dfd3caac5bb613bd1a3a540595c7edd6ad (diff)
Forte Card improvements: Added Coin In/Out counters and Auto Play DIP switch.
Also some technical notes.
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/fortecar.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/mame/drivers/fortecar.cpp b/src/mame/drivers/fortecar.cpp
index f105c2109d2..dce5b7e51fa 100644
--- a/src/mame/drivers/fortecar.cpp
+++ b/src/mame/drivers/fortecar.cpp
@@ -527,6 +527,17 @@ void fortecrd_state::ayporta_w(uint8_t data)
void fortecrd_state::ayportb_w(uint8_t data)
{
/*
+ - bits -
+ 7654 3210
+ ---- ---x no log
+ ---- --x- hopper motor?
+ ---- -x-- unknown.
+ ---- x--- Coin Out counter.
+ ---x ---- Coin In counter.
+ --x- ---- no log
+ -x-- ---- unknown.
+ x--- ---- Watchdog Reset.
+
There is a RC to 7705's Reset.
Bit7 of port B is a watchdog.
@@ -539,10 +550,14 @@ trigger a reset.
Seems to work properly, but must be checked closely...
*/
+
if (((data >> 7) & 0x01) == 0) // check for bit7
{
m_watchdog->watchdog_reset();
}
+
+ machine().bookkeeping().coin_counter_w(0, ~data & 0x10); // Coin In.
+ machine().bookkeeping().coin_counter_w(1, ~data & 0x08); // Coin Out.
}
@@ -581,6 +596,12 @@ Error messages:
"FALSA PRUEBA NVRAM PERMANENTE" (NVRAM new, serial EEPROM connected)
"FALSA PRUEBA BOTONES" (Input ports error )
+possible hopper registers
+
+ D1DC ---- ---x (inv)
+ D1EA ---- ---x
+ D1EC ---- ---x
+
*/
@@ -616,7 +637,7 @@ static INPUT_PORTS_START( fortecrd )
PORT_DIPNAME( 0x02, 0x02, "Attract Mode" ) PORT_DIPLOCATION("DSW:2")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "DSW-3" ) PORT_DIPLOCATION("DSW:3")
+ PORT_DIPNAME( 0x04, 0x04, "Auto Play" ) PORT_DIPLOCATION("DSW:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "DSW-4" ) PORT_DIPLOCATION("DSW:4")