summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-01-12 09:52:06 +0100
committer GitHub <noreply@github.com>2021-01-12 09:52:06 +0100
commitba587a777c41837c8aa9f2a2e8c1fc27b4616623 (patch)
treefc8a0d38c3d3261ad78b2d43aa69ef94d2c850dc /src/mame/drivers
parent0dfb5ff414606371f1b779010fc56a4d76e5ed89 (diff)
konmedal.cpp: added inputs for tsururin
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/konmedal.cpp49
1 files changed, 36 insertions, 13 deletions
diff --git a/src/mame/drivers/konmedal.cpp b/src/mame/drivers/konmedal.cpp
index 7b3ff64dffa..d605f2b582f 100644
--- a/src/mame/drivers/konmedal.cpp
+++ b/src/mame/drivers/konmedal.cpp
@@ -102,6 +102,7 @@ public:
void fuusenpn(machine_config &config);
void mariorou(machine_config &config);
void tsupenta(machine_config &config);
+ void tsururin(machine_config &config);
void ddboy_init();
void tsuka_init();
@@ -628,8 +629,8 @@ static INPUT_PORTS_START( slimekun )
PORT_INCLUDE( shuriboy )
PORT_MODIFY("DSW1")
- PORT_DIPNAME( 0x0f, 0x0f, DEF_STR (Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) // TODO: verify when game works. 1 coin 0 plays in test mode (???)
+ PORT_DIPNAME( 0x0f, 0x0f, DEF_STR ( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) // seems to lock out coins, only service1 works
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -645,8 +646,8 @@ static INPUT_PORTS_START( slimekun )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
- PORT_DIPNAME( 0xf0, 0xf0, DEF_STR (Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
+ PORT_DIPNAME( 0xf0, 0xf0, DEF_STR ( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) // seems to lock out coins, only service1 works
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ) )
@@ -692,13 +693,29 @@ INPUT_PORTS_END
static INPUT_PORTS_START( tsururin )
PORT_INCLUDE( shuriboy )
- // PORT_MODIFY("IN1") // TODO: verify when game works. Test mode test all bits but doesn't show what they do
-
- // PORT_MODIFY("IN2") // TODO: verify when game works. Test mode test all bits but doesn't show what they do
+ PORT_MODIFY("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) // works as start, too
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested in test mode but effect during gameplay unknown
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested in test mode but effect during gameplay unknown
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested in test mode but effect during gameplay unknown
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested in test mode but effect during gameplay unknown
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
+ // 0x80 upd busy_r
+
+ PORT_MODIFY("IN2")
+ // 0x01 service coin
+ // 0x02 service switch
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
+ // 0x10 hopper line_r
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested in test mode but effect during gameplay unknown
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested in test mode but effect during gameplay unknown
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested in test mode but effect during gameplay unknown
PORT_MODIFY("DSW1")
- PORT_DIPNAME( 0x0f, 0x0f, DEF_STR (Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) // TODO: verify when game works. 1 coin 0 plays in test mode (???)
+ PORT_DIPNAME( 0x0f, 0x0f, DEF_STR ( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) // seems to lock out coins, only service1 works
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@@ -714,8 +731,8 @@ static INPUT_PORTS_START( tsururin )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
- PORT_DIPNAME( 0xf0, 0xf0, DEF_STR (Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
- PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) // TODO: verify when game works. 1 coin 0 plays in test mode (???)
+ PORT_DIPNAME( 0xf0, 0xf0, DEF_STR ( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
+ PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) // seems to lock out coins, only service1 works
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ) )
@@ -1031,6 +1048,12 @@ void konmedal_state::tsupenta(machine_config &config)
m_nvram->set_custom_handler(FUNC(konmedal_state::tsupenta_nvram_init));
}
+void konmedal_state::tsururin(machine_config &config)
+{
+ shuriboy(config);
+ NVRAM(config.replace(), m_nvram, nvram_device::DEFAULT_ALL_0);
+}
+
void konmedal_state::medal_nvram_init(nvram_device &nvram, void *base, size_t size)
{
memset(base, 0x00, size);
@@ -1307,8 +1330,8 @@ ROM_END
// Konami PWB 451847A and PWB 452093A boards (TMNT tilemaps)
-GAME( 1990, tsururin, 0, tsupenta, tsururin, konmedal_state, mario_init, ROT0, "Konami", "Tsururin Kun", MACHINE_SUPPORTS_SAVE|MACHINE_NOT_WORKING) // resets after start up test. Does it need a custom nvram init?
-GAME( 1991, slimekun, 0, tsupenta, slimekun, konmedal_state, mario_init, ROT0, "Konami", "Slime Kun", MACHINE_SUPPORTS_SAVE|MACHINE_NOT_WORKING)
+GAME( 1990, tsururin, 0, tsururin, tsururin, konmedal_state, mario_init, ROT0, "Konami", "Tsururin Kun", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING) // resets after start up test. Seems to be an IRQ problem
+GAME( 1991, slimekun, 0, tsupenta, slimekun, konmedal_state, mario_init, ROT0, "Konami", "Slime Kun", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING)
GAME( 1991, mariorou, 0, mariorou, mario, konmedal_state, mario_init, ROT0, "Konami", "Mario Roulette", MACHINE_SUPPORTS_SAVE)
GAME( 1991, tsupenta, 0, tsupenta, tsupenta, konmedal_state, mario_init, ROT0, "Konami", "Tsurikko Penta", MACHINE_SUPPORTS_SAVE)
GAME( 1993, shuriboy, 0, shuriboy, shuriboy, konmedal_state, shuri_init, ROT0, "Konami", "Shuriken Boy", MACHINE_SUPPORTS_SAVE)