From 5299bac18736148e44b9eab95916fce02eefc53a Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Thu, 28 Aug 2008 08:48:20 +0000 Subject: [PATCH] From: Fabio Priuli [mailto:doge.fabio@gmail.com] Subject: another small revised patch After Fujix's new findings, I realized that the coinage settings for ckongg were still not completely correct after my previous patch galaxold.diff. The attached new patch (diff'ed from clean 0.127) fixes the Coinage dips at last. Sorry for the possible confusion. Regards, Fabio --- src/mame/drivers/galaxold.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c index b19ea73674c..ba45357e7ca 100644 --- a/src/mame/drivers/galaxold.c +++ b/src/mame/drivers/galaxold.c @@ -2017,6 +2017,13 @@ static INPUT_PORTS_START( luctoday ) PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +/* ckongg coinage DIPs are spread accross two input ports */ +static CUSTOM_INPUT( ckongg_coinage_r ) +{ + int bit_mask = (FPTR)param; + return (input_port_read(field->port->machine, "FAKE") & bit_mask) ? 0x01 : 0x00; +} + static INPUT_PORTS_START( ckongg ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) @@ -2075,11 +2082,8 @@ static INPUT_PORTS_START( kkgalax ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) -// PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ckongg_coinage_r, (void *)0x01) + PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_START("DSW0") PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) @@ -2087,13 +2091,18 @@ static INPUT_PORTS_START( kkgalax ) PORT_DIPSETTING( 0x01, "2" ) PORT_DIPSETTING( 0x02, "3" ) PORT_DIPSETTING( 0x03, "4" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ckongg_coinage_r, (void *)0x02) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) ) PORT_DIPSETTING( 0x08, "500000" ) PORT_DIPSETTING( 0x00, "750000" ) PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("FAKE") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_4C ) ) INPUT_PORTS_END static INPUT_PORTS_START( porter )