diff options
author | 2021-01-21 19:59:46 +0100 | |
---|---|---|
committer | 2021-01-21 19:59:46 +0100 | |
commit | 6ee8830e79f059ef338c712d231a9e2cb130e73a (patch) | |
tree | 43445d856e0030ec84932e5bcce8c61499eaa669 /src | |
parent | 7026d1dfd3caac5bb613bd1a3a540595c7edd6ad (diff) |
Forte Card improvements: Added Coin In/Out counters and Auto Play DIP switch.
Also some technical notes.
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/fortecar.cpp | 23 |
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") |