From a36bfcd2b9c8887125bafdfe0c1aced99de1e6f3 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Mon, 15 Mar 2010 19:06:13 +0000 Subject: [PATCH] new clones ----------- Berzerk (Germany) [Team Europe, Volker Hann, David Haywood] new not working ------------------ Moon War (prototype on Frenzy hardware) [Team Europe, Volker Hann, David Haywood] --- src/mame/drivers/berzerk.c | 297 +++++++++++++++++++++++++++++++++++-- src/mame/mamedriv.c | 1 + 2 files changed, 283 insertions(+), 15 deletions(-) diff --git a/src/mame/drivers/berzerk.c b/src/mame/drivers/berzerk.c index 4eece457c3c..efa5fb45cc6 100644 --- a/src/mame/drivers/berzerk.c +++ b/src/mame/drivers/berzerk.c @@ -15,7 +15,6 @@ #include "sound/s14001a.h" #include "video/resnet.h" - #define MONITOR_TYPE_PORT_TAG ("MONITOR_TYPE") #define MASTER_CLOCK (XTAL_10MHz) @@ -709,6 +708,17 @@ static INPUT_PORTS_START( berzerk ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Stats") PORT_CODE(KEYCODE_F1) INPUT_PORTS_END +// this set has German speech roms, so default the language to German +static INPUT_PORTS_START( berzerkg ) + PORT_INCLUDE( berzerk ) + + PORT_MODIFY("F3") + PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Language ) ) PORT_DIPLOCATION("F3:7,8") + PORT_DIPSETTING( 0x00, DEF_STR( English ) ) + PORT_DIPSETTING( 0x40, DEF_STR( German ) ) + PORT_DIPSETTING( 0x80, DEF_STR( French ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Spanish ) ) +INPUT_PORTS_END static INPUT_PORTS_START( frenzy ) PORT_INCLUDE( common ) @@ -777,7 +787,7 @@ static INPUT_PORTS_START( frenzy ) PORT_START("F5") PORT_DIPNAME( 0x0f, 0x01, "Coins/Credit A" ) PORT_DIPLOCATION("F5:1,2,3,4") // F5:1,8 - /*PORT_DIPSETTING( 0x00, "0" ) Can't insert coins */ + PORT_DIPSETTING( 0x00, "0 (invalid)" ) // Can't insert coins PORT_DIPSETTING( 0x01, "1" ) PORT_DIPSETTING( 0x02, "2" ) PORT_DIPSETTING( 0x03, "3" ) @@ -797,7 +807,7 @@ static INPUT_PORTS_START( frenzy ) PORT_START("F6") PORT_DIPNAME( 0x0f, 0x01, "Coins/Credit B" ) PORT_DIPLOCATION("F6:1,2,3,4") // F6:1,8 - /*PORT_DIPSETTING( 0x00, "0" ) Can't insert coins */ + PORT_DIPSETTING( 0x00, "0 (invalid)" ) // Can't insert coins PORT_DIPSETTING( 0x01, "1" ) PORT_DIPSETTING( 0x02, "2" ) PORT_DIPSETTING( 0x03, "3" ) @@ -821,6 +831,238 @@ static INPUT_PORTS_START( frenzy ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Stats") PORT_CODE(KEYCODE_F1) INPUT_PORTS_END +// this is wrong :/ +static READ8_HANDLER( moonwarp_p1_r ) +{ + static int lastdial = -1; + int dial = input_port_read(space->machine,"P1_DIAL"); + UINT8 ret; + UINT8 buttons = (input_port_read(space->machine,"P1")&0xe0); + + if (dial>lastdial) + ret= ((dial&0xf) ^ 0x10) + | buttons; + else if (dial