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")