From cbecc57325151746704e9819735f8c44a7609842 Mon Sep 17 00:00:00 2001 From: David Haywood <28625134+DavidHaywood@users.noreply.github.com> Date: Sun, 20 Oct 2019 21:00:24 +0100 Subject: [PATCH] spdheat - add layout with shifters [David Haywood] (#5765) * shifter layout (nw) * actually fix gear mapping ingame (2nd bit just seems to cause problems) --- src/mame/drivers/spdheat.cpp | 15 ++++-- src/mame/layout/spdheat.lay | 89 ++++++++++++++++++++++++++++++++++-- 2 files changed, 95 insertions(+), 9 deletions(-) diff --git a/src/mame/drivers/spdheat.cpp b/src/mame/drivers/spdheat.cpp index a61dc5a3359..81cc79f03ed 100644 --- a/src/mame/drivers/spdheat.cpp +++ b/src/mame/drivers/spdheat.cpp @@ -497,7 +497,7 @@ static INPUT_PORTS_START( spdheat ) PORT_DIPNAME( 0x0001, 0x0001, "D_UNK0" ) PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0002, 0x0002, "Drag Race" ) + PORT_DIPNAME( 0x0002, 0x0002, "Drag Race" ) // no effect? PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPNAME( 0x0004, 0x0004, "D_UNK2" ) @@ -520,17 +520,22 @@ static INPUT_PORTS_START( spdheat ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_START("IN0") - PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_TOGGLE PORT_NAME("P1 Shift") PORT_PLAYER(1) + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_TOGGLE PORT_NAME("P1 Shift") PORT_PLAYER(1) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN ) // if this is ACTIVE_HIGH gear in Service mode will always show low gear, but your start will be slow as if in high gear regardless of above PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_NAME("Reserved 2") PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_NAME("Reserved 1") - PORT_BIT( 0x0030, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_TOGGLE PORT_NAME("P2 Shift") PORT_PLAYER(2) + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_TOGGLE PORT_NAME("P2 Shift") PORT_PLAYER(2) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) // see above PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("IN1") - PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_TOGGLE PORT_NAME("P3 Shift") PORT_PLAYER(3) + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_TOGGLE PORT_NAME("P3 Shift") PORT_PLAYER(3) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN ) // see above PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_NAME("Reserved 3") - PORT_BIT( 0x0030, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_TOGGLE PORT_NAME("P4 Shift") PORT_PLAYER(4) + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_TOGGLE PORT_NAME("P4 Shift") PORT_PLAYER(4) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) // see above PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) diff --git a/src/mame/layout/spdheat.lay b/src/mame/layout/spdheat.lay index 7668e667f04..6394f726873 100644 --- a/src/mame/layout/spdheat.lay +++ b/src/mame/layout/spdheat.lay @@ -1,17 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + +