summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Devin Acker <d@revenant1.net>2021-07-18 17:23:41 -0400
committer GitHub <noreply@github.com>2021-07-18 23:23:41 +0200
commit51888262b7f0daf9204eea294f6c824c3a6dedf1 (patch)
tree0ec53c0ec5b5c13349fd4c175a02fd20fac45551
parent55cf2f100f20c9c7d77265094a3a25e6089cd691 (diff)
cave.cpp: add Bet 12 button to paccarn (#8263)
-rw-r--r--src/mame/drivers/cave.cpp22
-rw-r--r--src/mame/includes/cave.h4
2 files changed, 23 insertions, 3 deletions
diff --git a/src/mame/drivers/cave.cpp b/src/mame/drivers/cave.cpp
index b985999e87f..c890feaf45b 100644
--- a/src/mame/drivers/cave.cpp
+++ b/src/mame/drivers/cave.cpp
@@ -1193,6 +1193,16 @@ void cave_state::paceight_map(address_map &map)
//TODO: leds need verifying
+READ_LINE_MEMBER(cave_state::paccarn_bet4_r)
+{
+ return (m_io_bet->read() & 0x5) ? 1 : 0;
+}
+
+READ_LINE_MEMBER(cave_state::paccarn_bet8_r)
+{
+ return (m_io_bet->read() & 0x6) ? 1 : 0;
+}
+
void cave_state::paccarn_map(address_map &map)
{
map(0x000000, 0x07ffff).rom(); // ROM
@@ -1717,13 +1727,13 @@ static INPUT_PORTS_START( paceight )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "Max Bet" )
INPUT_PORTS_END
-static INPUT_PORTS_START( paccarn ) // holding together Bet 4 and Bet 8 activates Bet 12 in IO Test Mode
+static INPUT_PORTS_START( paccarn )
PORT_START("IN0")
PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(10) // credits (impulse needed to coin up reliably)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, do_read)
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME( "Bet 4" )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(cave_state, paccarn_bet4_r)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "Bet 2" )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(cave_state, tjumpman_hopper_r)
@@ -1733,10 +1743,16 @@ static INPUT_PORTS_START( paccarn ) // holding together Bet 4 and Bet 8 activate
PORT_CONFNAME( 0x08, 0x08, "Self Test" )
PORT_CONFSETTING( 0x08, DEF_STR( Off ) )
PORT_CONFSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME( "Bet 8" )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(cave_state, paccarn_bet8_r)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "Bet 3" )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(10) // medal (impulse needed to coin up reliably)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
+
+ // holding together Bet 4 and Bet 8 activates Bet 12 in IO Test Mode
+ PORT_START("BET")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME( "Bet 4" )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME( "Bet 8" )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME( "Bet 12" )
INPUT_PORTS_END
static INPUT_PORTS_START( ppsatan )
diff --git a/src/mame/includes/cave.h b/src/mame/includes/cave.h
index c1d31c76ede..060a0ca653c 100644
--- a/src/mame/includes/cave.h
+++ b/src/mame/includes/cave.h
@@ -28,6 +28,7 @@ public:
, m_videoregs(*this, "videoregs.%u", 0)
, m_spriteram(*this, "spriteram.%u", 0)
, m_io_in0(*this, "IN0")
+ , m_io_bet(*this, "BET")
, m_touch_x(*this, "TOUCH%u_X", 1U)
, m_touch_y(*this, "TOUCH%u_Y", 1U)
, m_spriteregion(*this, "sprites%u", 0)
@@ -56,6 +57,8 @@ public:
DECLARE_READ_LINE_MEMBER(korokoro_hopper_r);
DECLARE_READ_LINE_MEMBER(tjumpman_hopper_r);
+ DECLARE_READ_LINE_MEMBER(paccarn_bet4_r);
+ DECLARE_READ_LINE_MEMBER(paccarn_bet8_r);
void init_uopoko();
void init_donpachi();
@@ -187,6 +190,7 @@ private:
optional_shared_ptr_array<u16, 4> m_spriteram;
optional_ioport m_io_in0;
+ optional_ioport m_io_bet;
optional_ioport_array<2> m_touch_x;
optional_ioport_array<2> m_touch_y;