summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/galpanic.c
diff options
context:
space:
mode:
author Brian Troha <briantro@users.noreply.github.com>2011-08-12 18:00:24 +0000
committer Brian Troha <briantro@users.noreply.github.com>2011-08-12 18:00:24 +0000
commit60ac3841d7d7c623771a1e47378192787deb8dc6 (patch)
tree1432a37617b43cf8806c107b53cdabb76f41c8b8 /src/mame/drivers/galpanic.c
parent3c67aa1eb1ec71a7cacb0d769070b140bc26c135 (diff)
galpanic.c: Added dipswitch locations to Gals Panic, Fantasia, Super Model, New Fantasia, Fantasy '95, Miss World '96, Ms/Mr World '96, Fantasia II & Gals Hustler. [Brian Troha]
Diffstat (limited to 'src/mame/drivers/galpanic.c')
-rw-r--r--src/mame/drivers/galpanic.c485
1 files changed, 84 insertions, 401 deletions
diff --git a/src/mame/drivers/galpanic.c b/src/mame/drivers/galpanic.c
index 14d7892b9d2..17f612507cc 100644
--- a/src/mame/drivers/galpanic.c
+++ b/src/mame/drivers/galpanic.c
@@ -123,6 +123,7 @@ The current set of Super Model is an example of type C
#include "sound/okim6295.h"
#include "video/kan_pand.h"
#include "includes/galpanic.h"
+#include "includes/galpnipt.h"
static SCREEN_EOF( galpanic )
{
@@ -228,8 +229,8 @@ static ADDRESS_MAP_START( galpanic_map, AS_PROGRAM, 16 )
AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE("pandora", pandora_spriteram_LSB_r, pandora_spriteram_LSB_w)
AM_RANGE(0x702000, 0x704fff) AM_RAM
- AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
- AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2_P2")
+ AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
+ AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanic_6295_bankswitch_w)
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(galpanic_coin_w) /* coin counters */
@@ -262,8 +263,8 @@ static ADDRESS_MAP_START( comad_map, AS_PROGRAM, 16 )
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_BASE_MEMBER(galpanic_state, m_bgvideoram) /* + work RAM */
AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_MEMBER(galpanic_state, m_spriteram, m_spriteram_size)
- AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
- AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2_P2")
+ AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
+ AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
// AM_RANGE(0x800006, 0x800007) ??
AM_RANGE(0x80000a, 0x80000b) AM_READ(comad_timer_r) /* bits 8-a = timer? palette update code waits for them to be 111 */
@@ -281,8 +282,8 @@ static ADDRESS_MAP_START( fantsia2_map, AS_PROGRAM, 16 )
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_BASE_MEMBER(galpanic_state, m_bgvideoram) /* + work RAM */
AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram) /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_MEMBER(galpanic_state, m_spriteram, m_spriteram_size)
- AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
- AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2_P2")
+ AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
+ AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
// AM_RANGE(0x800006, 0x800007) ??
AM_RANGE(0x800008, 0x800009) AM_READ(comad_timer_r) /* bits 8-a = timer? palette update code waits for them to be 111 */
@@ -303,8 +304,8 @@ static ADDRESS_MAP_START( galhustl_map, AS_PROGRAM, 16 )
AM_RANGE(0x680000, 0x68001f) AM_RAM // regs?
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_MEMBER(galpanic_state, m_spriteram, m_spriteram_size)
AM_RANGE(0x780000, 0x78001f) AM_RAM // regs?
- AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
- AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2_P2")
+ AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
+ AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w)
AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP // ?
@@ -329,8 +330,8 @@ static ADDRESS_MAP_START( zipzap_map, AS_PROGRAM, 16 )
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_MEMBER(galpanic_state, m_spriteram, m_spriteram_size)
AM_RANGE(0x701000, 0x71ffff) AM_RAM
AM_RANGE(0x780000, 0x78001f) AM_RAM
- AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
- AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2_P2")
+ AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
+ AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w)
@@ -349,8 +350,8 @@ static ADDRESS_MAP_START( supmodel_map, AS_PROGRAM, 16 )
AM_RANGE(0x680000, 0x68001f) AM_RAM
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_BASE_SIZE_MEMBER(galpanic_state, m_spriteram, m_spriteram_size)
AM_RANGE(0x780000, 0x78001f) AM_RAM
- AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1_P1")
- AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2_P2")
+ AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
+ AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
AM_RANGE(0x800006, 0x800007) AM_READ(comad_timer_r)
AM_RANGE(0x800008, 0x800009) AM_READ(comad_timer_r)
@@ -363,375 +364,98 @@ static ADDRESS_MAP_START( supmodel_map, AS_PROGRAM, 16 )
AM_RANGE(0xf80000, 0xf80001) AM_DEVREAD8("oki", comad_okim6295_r, 0xff00) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0xff00) /* fantasia, missw96 */
ADDRESS_MAP_END
-#define COMMON_COIN0\
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )\
- PORT_DIPSETTING( 0x0020, DEF_STR( 2C_1C ) )\
- PORT_DIPSETTING( 0x0030, DEF_STR( 1C_1C ) )\
- PORT_DIPSETTING( 0x0010, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW1_P1",0x0008,PORTCOND_EQUALS,0x0008)\
- PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW1_P1",0x0008,PORTCOND_EQUALS,0x0000)\
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSW1_P1",0x0008,PORTCOND_EQUALS,0x0000)\
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW1_P1",0x0008,PORTCOND_EQUALS,0x0008)\
- PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )\
- PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) )\
- PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_1C ) )\
- PORT_DIPSETTING( 0x0040, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW1_P1",0x0008,PORTCOND_EQUALS,0x0008)\
- PORT_DIPSETTING( 0x0040, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW1_P1",0x0008,PORTCOND_EQUALS,0x0000)\
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSW1_P1",0x0008,PORTCOND_EQUALS,0x0000)\
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW1_P1",0x0008,PORTCOND_EQUALS,0x0008)
-
-#define COMMON_COIN1\
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )\
- PORT_DIPSETTING( 0x0020, DEF_STR( 2C_1C ) )\
- PORT_DIPSETTING( 0x0030, DEF_STR( 1C_1C ) )\
- PORT_DIPSETTING( 0x0010, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW2_P2",0x0008,PORTCOND_EQUALS,0x0008)\
- PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW2_P2",0x0008,PORTCOND_EQUALS,0x0000)\
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSW2_P2",0x0008,PORTCOND_EQUALS,0x0000)\
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW2_P2",0x0008,PORTCOND_EQUALS,0x0008)\
- PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )\
- PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) )\
- PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_1C ) )\
- PORT_DIPSETTING( 0x0040, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW2_P2",0x0008,PORTCOND_EQUALS,0x0008)\
- PORT_DIPSETTING( 0x0040, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW2_P2",0x0008,PORTCOND_EQUALS,0x0000)\
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSW2_P2",0x0008,PORTCOND_EQUALS,0x0000)\
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW2_P2",0x0008,PORTCOND_EQUALS,0x0008)
-
static INPUT_PORTS_START( galpanic )
- PORT_START("DSW1_P1")
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) /* flip screen? - code at 0x000522 */
+ PORT_START("DSW1")
+ PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW1:1" )
+ PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") /* flip screen? - code at 0x000522 */
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- /* Coinage - World (0x03ffff.b = 03) */
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x0030, DEF_STR( 1C_1C ) )
- PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
- /* Coinage - Japan (0x03ffff.b = 01) and US (0x03ffff.b = 02)
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x0030, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( 1C_2C ) )
- */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* "Shot2" in "test mode" */
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW2_P2")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
+ PORT_SERVICE_DIPLOC( 0x0004, IP_ACTIVE_LOW, "SW1:3" )
+ PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:4" )
+ COINAGE_WORLD
+ GALS_PANIC_JOYSTICK_4WAY(1) /* "Shot2" is shown in "test mode" but not used by the game */
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0002, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
+ PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW2:3" )
+ PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW2:4" )
+ PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x0010, "2" )
PORT_DIPSETTING( 0x0030, "3" )
PORT_DIPSETTING( 0x0020, "4" )
PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) /* demo sounds? - see notes */
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7") /* demo sounds? - see notes */
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, "Character Test" )
+ PORT_DIPNAME( 0x0080, 0x0080, "Character Test" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* "Shot2" in "test mode" */
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ GALS_PANIC_JOYSTICK_4WAY(2) /* "Shot2" is shown in "test mode" but not used by the game */
+
+ SYSTEM_SERVICE
INPUT_PORTS_END
static INPUT_PORTS_START( galpanica )
- PORT_START("DSW1_P1")
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) /* flip screen? - code at 0x00060a */
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x0008, 0x0008, "Coin Mode" )
- PORT_DIPSETTING( 0x0008, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- /* Coinage - Japan (0x03ffff.b = 01)
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x0030, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( 1C_2C ) )
- */
- /* Coinage - US (0x03ffff.b = 02) and World (0x03ffff.b = 03) */
- COMMON_COIN0
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* "Shot2" in "test mode" */
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW2_P2")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x0002, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x0010, "2" )
- PORT_DIPSETTING( 0x0030, "3" )
- PORT_DIPSETTING( 0x0020, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* "Shot2" in "test mode" */
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START("DSW1")
+ COINAGE_TEST_LOC /* Unknown DSW switch 2 is flip screen? - code at 0x00060a */
+ GALS_PANIC_JOYSTICK_4WAY(1)
+
+ PORT_START("DSW2")
+ DIFFICULTY_DEMO_SOUNDS
+ GALS_PANIC_JOYSTICK_4WAY(2)
+
+ SYSTEM_SERVICE
INPUT_PORTS_END
static INPUT_PORTS_START( fantasia )
- PORT_START("DSW1_P1")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x0002, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) /* freeze/vblank? - code at 0x000734 ('fantasia') */
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) /* or 0x00075a ('newfant') - not called ? */
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x0010, "2" )
- PORT_DIPSETTING( 0x0030, "3" )
- PORT_DIPSETTING( 0x0020, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* "Shot2" in "test mode" */
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW2_P2")
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) /* flip screen? - code at 0x00021c */
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x0008, 0x0008, "Coin Mode" )
- PORT_DIPSETTING( 0x0008, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- COMMON_COIN1
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* "Shot2" in "test mode" */
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT ) /* MAME may crash when pressed (see notes) */
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* "Service" in "test mode" */
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START("DSW1")
+ DIFFICULTY_DEMO_SOUNDS /* Unknown dip might be freeze/vblank? - code at 0x000734 ('fantasia') or 0x00075a ('newfant') - not called ? */
+ GALS_PANIC_JOYSTICK_4WAY(1) /* "Shot2" is shown in "test mode" but not used by the game */
+
+ PORT_START("DSW2")
+ COINAGE_TEST_LOC /* Unknown DSW switch 2 is flip screen? - code at 0x00021c */
+ GALS_PANIC_JOYSTICK_4WAY(2) /* "Shot2" is shown in "test mode" but not used by the game */
+
+ SYSTEM_NO_SERVICE /* MAME may crash when TILT is pressed (see notes), "Service" is shown in "test mode" */
INPUT_PORTS_END
/* Same as 'fantasia', but no "Service Mode" Dip Switch (and thus no "hidden" buttons) */
static INPUT_PORTS_START( missw96 )
- PORT_START("DSW1_P1")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x0002, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) /* freeze/vblank? - code at 0x00074e - not called ? */
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x0010, "2" )
- PORT_DIPSETTING( 0x0030, "3" )
- PORT_DIPSETTING( 0x0020, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW2_P2")
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) /* flip screen? - code at 0x00021c */
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unused ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, "Coin Mode" )
- PORT_DIPSETTING( 0x0008, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- COMMON_COIN1
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT ) /* MAME may crash when pressed (see notes) */
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START("DSW1")
+ DIFFICULTY_DEMO_SOUNDS /* Unknown dip might be freeze/vblank? - code at 0x00074e - not called ? */
+ GALS_PANIC_JOYSTICK_4WAY(1)
+
+ PORT_START("DSW2")
+ COINAGE_NO_TEST_LOC /* Unknown DSW switch 2 is flip screen? - code at 0x00021c */
+ GALS_PANIC_JOYSTICK_4WAY(2)
+
+ SYSTEM_NO_SERVICE /* MAME may crash when TILT is pressed (see notes) */
INPUT_PORTS_END
static INPUT_PORTS_START( galhustl )
- PORT_START("DSW1_P1")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) )
+ PORT_START("DSW1")
+ PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0000, "6" )
PORT_DIPSETTING( 0x0001, "7" )
PORT_DIPSETTING( 0x0003, "8" )
PORT_DIPSETTING( 0x0002, "10" )
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Demo_Sounds ) )
+ PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW2:3" )
+ PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW2:4" )
+ PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW2:5" )
+ PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW2:6" )
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0040, DEF_STR( On ) )
- PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW2_P2")
- PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) )
+ PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW2:8" )
+ GALS_PANIC_JOYSTICK_8WAY(1)
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) )
@@ -740,42 +464,24 @@ static INPUT_PORTS_START( galhustl )
PORT_DIPSETTING( 0x0003, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
- PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:4,5")
PORT_DIPSETTING( 0x0010, DEF_STR( Easy ) ) /* 5000 - 7000 */
PORT_DIPSETTING( 0x0018, DEF_STR( Normal ) ) /* 4000 - 6000 */
PORT_DIPSETTING( 0x0008, DEF_STR( Hard ) ) /* 6000 - 8000 */
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) ) /* 7000 - 9000 */
- PORT_DIPNAME( 0x0060, 0x0060, "Play Time" )
+ PORT_DIPNAME( 0x0060, 0x0060, "Play Time" ) PORT_DIPLOCATION("SW1:6,7")
PORT_DIPSETTING( 0x0040, "120 Sec" )
PORT_DIPSETTING( 0x0060, "100 Sec" )
PORT_DIPSETTING( 0x0020, "80 Sec" )
PORT_DIPSETTING( 0x0000, "70 Sec" )
- PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" )
+ GALS_PANIC_JOYSTICK_8WAY(2)
+
+ SYSTEM_NO_TILT
INPUT_PORTS_END
static INPUT_PORTS_START( zipzap )
- PORT_START("DSW1_P1")
+ PORT_START("DSW1")
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -799,16 +505,9 @@ static INPUT_PORTS_START( zipzap )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW2_P2")
+ GALS_PANIC_JOYSTICK_8WAY(1)
+
+ PORT_START("DSW2")
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
@@ -832,25 +531,9 @@ static INPUT_PORTS_START( zipzap )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ GALS_PANIC_JOYSTICK_8WAY(2)
+
+ SYSTEM_NO_TILT
INPUT_PORTS_END
@@ -1322,7 +1005,7 @@ ROM_END
GAME( 1990, galpanic, 0, galpanic, galpanic, 0, ROT90, "Kaneko", "Gals Panic (Unprotected)", GAME_NO_COCKTAIL )
GAME( 1990, galpanica,galpanic, galpanica,galpanica,0, ROT90, "Kaneko", "Gals Panic (MCU Protected)", GAME_NO_COCKTAIL )
-GAME( 1994, supmodel, 0, supmodel, fantasia, 0, ROT90, "Comad & New Japan System", "Super Model",GAME_NO_COCKTAIL ) // 'official' or hack of fantasia?
+GAME( 1994, supmodel, 0, supmodel, fantasia, 0, ROT90, "Comad & New Japan System", "Super Model",GAME_NO_COCKTAIL )
GAME( 1995, newfant, 0, comad, fantasia, 0, ROT90, "Comad & New Japan System", "New Fantasia", GAME_NO_COCKTAIL )
GAME( 1995, fantsy95, 0, comad, fantasia, 0, ROT90, "Hi-max Technology Inc.", "Fantasy '95", GAME_NO_COCKTAIL )
GAME( 1996, missw96, 0, comad, missw96, 0, ROT0, "Comad", "Miss World '96 (Nude)", GAME_NO_COCKTAIL )