From 7b44e5a30c264bcdbc847bab4dcab9eaaff6a42a Mon Sep 17 00:00:00 2001 From: Ville Linde Date: Tue, 25 May 2021 22:28:55 +0300 Subject: taitotz: Add controls for dendego3. --- src/mame/drivers/taitotz.cpp | 57 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/taitotz.cpp b/src/mame/drivers/taitotz.cpp index 739a54743a5..af492a6df32 100644 --- a/src/mame/drivers/taitotz.cpp +++ b/src/mame/drivers/taitotz.cpp @@ -213,6 +213,7 @@ Notes: 0x7004: 0x4003d554() 0x7005: 0x4003d168() 0x8000: ? Used by vibration (force feedback?) on pwrshovl + 0x9100: ? Dendego3 speedometer and brake meter. io_shared[0x1c3c] = speed, io_shared[0x1c3e] = brake 0xa000: ? Used by vibration (force feedback?) on pwrshovl 0xf000: 0x4002f328() TLCS_Init 0xf010: 0x4002f074() Enables TLCS watchdog timer @@ -1988,7 +1989,7 @@ void taitotz_state::ppc_common_w(offs_t offset, uint64_t data, uint64_t mem_mask /* if (m_io_share_ram[0xfff] == 0x1010) { - printf("PPC -> TLCS cmd 1010: %04X %04X %04X %04X\n", m_io_share_ram[0x1a02/2], m_io_share_ram[0x1a04/2], m_io_share_ram[0x1a06/2], m_io_share_ram[0x1a08/2]); + printf("PPC -> TLCS cmd 1010: %04X %04X %04X %04X\n", m_io_share_ram[0x1a02/2], m_io_share_ram[0x1a04/2], m_io_share_ram[0x1a06/2], m_io_share_ram[0x1a08/2]); } */ @@ -2025,7 +2026,7 @@ void taitotz_state::ppc_common_w(offs_t offset, uint64_t data, uint64_t mem_mask m_io_share_ram[0xfff] == 0x6000 || m_io_share_ram[0xfff] == 0x6010) { //m_maincpu->spin_until_trigger(PPC_TLCS_COMM_TRIGGER); - m_maincpu->spin_until_interrupt(); + //m_maincpu->spin_until_interrupt(); } // pwrshovl sometimes writes commands during command handling... make sure that doesn't happen @@ -2546,6 +2547,56 @@ static INPUT_PORTS_START( styphp ) PORT_START("ANALOG8") INPUT_PORTS_END +static INPUT_PORTS_START(dendego3) + PORT_START("INPUTS1") + PORT_BIT(0x00000001, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_SERVICE_NO_TOGGLE(0x00000002, IP_ACTIVE_LOW) /* Test Button */ + PORT_BIT(0x00000004, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000008, IP_ACTIVE_LOW, IPT_SERVICE) PORT_NAME("Service") PORT_CODE(KEYCODE_7) + PORT_BIT(0x00000010, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000020, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000040, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000080, IP_ACTIVE_LOW, IPT_UNUSED) + + PORT_START("INPUTS2") + PORT_BIT(0x00000001, IP_ACTIVE_LOW, IPT_COIN1) // Coin + PORT_BIT(0x00000002, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000004, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000008, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000010, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000020, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000040, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000080, IP_ACTIVE_LOW, IPT_UNUSED) + + PORT_START("INPUTS3") + PORT_BIT(0x00000001, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000002, IP_ACTIVE_LOW, IPT_START1) // Start + PORT_BIT(0x00000004, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000008, IP_ACTIVE_LOW, IPT_BUTTON7) // Train Horn + PORT_BIT(0x00000010, IP_ACTIVE_LOW, IPT_BUTTON1) // "NOCH0" + PORT_BIT(0x000000e0, IP_ACTIVE_LOW, IPT_UNUSED) + + PORT_START("INPUTS4") + PORT_BIT(0x00000001, IP_ACTIVE_LOW, IPT_BUTTON3) // "NOCH2" + PORT_BIT(0x00000002, IP_ACTIVE_LOW, IPT_BUTTON5) // "NOCH4" + PORT_BIT(0x00000004, IP_ACTIVE_LOW, IPT_BUTTON2) // "NOCH1" + PORT_BIT(0x00000008, IP_ACTIVE_LOW, IPT_BUTTON4) // "NOCH3" + PORT_BIT(0x00000010, IP_ACTIVE_LOW, IPT_BUTTON6) // "NOCH5" + PORT_BIT(0x00000020, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000040, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x00000080, IP_ACTIVE_LOW, IPT_UNUSED) + + PORT_START("ANALOG1") + PORT_BIT(0x3ff, 0x000, IPT_PADDLE) PORT_MINMAX(0x000, 0x3ff) PORT_SENSITIVITY(35) PORT_KEYDELTA(5) PORT_CENTERDELTA(0) PORT_NAME("Brake Lever") + PORT_START("ANALOG2") + PORT_START("ANALOG3") + PORT_START("ANALOG4") + PORT_START("ANALOG5") + PORT_START("ANALOG6") + PORT_START("ANALOG7") + PORT_START("ANALOG8") +INPUT_PORTS_END + void taitotz_state::machine_reset() { if (m_hdd_serial_number != nullptr) @@ -3012,7 +3063,7 @@ GAME( 1999, pwrshovl, taitotz, taitotz, pwrshovl, taitotz_state, init_pwrshov GAME( 1999, pwrshovla, pwrshovl, taitotz, pwrshovl, taitotz_state, init_pwrshovl, ROT0, "Taito", "Power Shovel ni Norou!! - Power Shovel Simulator (v2.07J, alt)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // seem to be some differences in drive content, but identifies as the same revision, is it just user data changes?? GAME( 2000, batlgr2, taitotz, taitotz, batlgr2, taitotz_state, init_batlgr2, ROT0, "Taito", "Battle Gear 2 (v2.04J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_NODEVICE_LAN ) GAME( 2000, batlgr2a, batlgr2, taitotz, batlgr2, taitotz_state, init_batlgr2a, ROT0, "Taito", "Battle Gear 2 (v2.01J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_NODEVICE_LAN ) -GAME( 2000, dendego3, taitotz, taitotz, taitotz, taitotz_state, init_dendego3, ROT0, "Taito", "Densha de GO 3! Tsukin-hen (V2.03J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 2001/01/27 09:52:56 +GAME( 2000, dendego3, taitotz, taitotz, dendego3, taitotz_state, init_dendego3, ROT0, "Taito", "Densha de GO 3! Tsukin-hen (V2.03J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // 2001/01/27 09:52:56 GAME( 2000, styphp, taitotz, taitotz, styphp, taitotz_state, init_styphp, ROT0, "Taito", "Stunt Typhoon Plus (Ver 2.04 J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2002, raizpin, taitotz, taitotz, taitotz, taitotz_state, init_raizpin, ROT0, "Taito", "Raizin Ping Pong (V2.01O)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 2002, raizpinj, raizpin, taitotz, taitotz, taitotz_state, init_raizpinj, ROT0, "Taito", "Raizin Ping Pong (V2.01J)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) -- cgit v1.2.3