mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Sent: Wed 7/23/2008 8:15 AM To: submit@mamedev.org Subject: more input patches Hi, with the attached diff I started drivers with C. Added all the missing tags, made more extensive use of PORT_INCLUDE where possible and added AM_READ_PORT where suitable. I also added dip locations for: cabal, canyon, cbuster, cclimber, swimmer and guzzler. Patch for cave.c is separated in case fix for bug 1681 has been submitted and accepted (changing maybe the driver) Regards Fabio
This commit is contained in:
parent
0a83b5f8e0
commit
81b9e03d60
@ -38,6 +38,10 @@ VRAM (Sprites)
|
||||
COLORRAM (Colors)
|
||||
0xe0000 - 0xe07ff (1024 colors, ----BBBBGGGGRRRR)
|
||||
|
||||
|
||||
2008-07
|
||||
Dip locations verified with Fabtek manual for the trackball version
|
||||
|
||||
******************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
@ -84,7 +88,7 @@ static int last[4];
|
||||
static WRITE16_HANDLER( track_reset_w )
|
||||
{
|
||||
int i;
|
||||
static const char *track_names[] = { "IN2", "IN3", "IN4", "IN5" };
|
||||
static const char *track_names[] = { "IN0", "IN1", "IN2", "IN3" };
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
last[i] = input_port_read(machine, track_names[i]);
|
||||
@ -95,10 +99,10 @@ static READ16_HANDLER( track_r )
|
||||
switch (offset)
|
||||
{
|
||||
default:
|
||||
case 0: return (( input_port_read(machine, "IN2") - last[0]) & 0x00ff) | (((input_port_read(machine, "IN4") - last[2]) & 0x00ff) << 8); /* X lo */
|
||||
case 1: return (((input_port_read(machine, "IN2") - last[0]) & 0xff00) >> 8) | (( input_port_read(machine, "IN4") - last[2]) & 0xff00); /* X hi */
|
||||
case 2: return (( input_port_read(machine, "IN3") - last[1]) & 0x00ff) | (((input_port_read(machine, "IN5") - last[3]) & 0x00ff) << 8); /* Y lo */
|
||||
case 3: return (((input_port_read(machine, "IN3") - last[1]) & 0xff00) >> 8) | (( input_port_read(machine, "IN5") - last[3]) & 0xff00); /* Y hi */
|
||||
case 0: return (( input_port_read(machine, "IN0") - last[0]) & 0x00ff) | (((input_port_read(machine, "IN2") - last[2]) & 0x00ff) << 8); /* X lo */
|
||||
case 1: return (((input_port_read(machine, "IN0") - last[0]) & 0xff00) >> 8) | (( input_port_read(machine, "IN2") - last[2]) & 0xff00); /* X hi */
|
||||
case 2: return (( input_port_read(machine, "IN1") - last[1]) & 0x00ff) | (((input_port_read(machine, "IN3") - last[3]) & 0x00ff) << 8); /* Y lo */
|
||||
case 3: return (((input_port_read(machine, "IN1") - last[1]) & 0xff00) >> 8) | (( input_port_read(machine, "IN3") - last[3]) & 0xff00); /* Y hi */
|
||||
}
|
||||
}
|
||||
|
||||
@ -126,9 +130,9 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x60000, 0x607ff) AM_RAM_WRITE(cabal_text_videoram16_w) AM_BASE(&colorram16)
|
||||
AM_RANGE(0x80000, 0x801ff) AM_RAM_WRITE(cabal_background_videoram16_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
|
||||
AM_RANGE(0x80200, 0x803ff) AM_RAM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xa0000, 0xa0001) AM_READ(input_port_0_word_r)
|
||||
AM_RANGE(0xa0000, 0xa0001) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0xa0008, 0xa000f) AM_READ(track_r)
|
||||
AM_RANGE(0xa0010, 0xa0011) AM_READ(input_port_1_word_r)
|
||||
AM_RANGE(0xa0010, 0xa0011) AM_READ_PORT("INPUTS")
|
||||
AM_RANGE(0xc0000, 0xc0001) AM_WRITE(track_reset_w)
|
||||
AM_RANGE(0xc0040, 0xc0041) AM_WRITE(SMH_NOP) /* ??? */
|
||||
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(cabal_flipscreen_w)
|
||||
@ -145,9 +149,9 @@ static ADDRESS_MAP_START( cabalbl_main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x60000, 0x607ff) AM_RAM_WRITE(cabal_text_videoram16_w) AM_BASE(&colorram16)
|
||||
AM_RANGE(0x80000, 0x801ff) AM_RAM_WRITE(cabal_background_videoram16_w) AM_BASE(&videoram16) AM_SIZE(&videoram_size)
|
||||
AM_RANGE(0x80200, 0x803ff) AM_RAM
|
||||
AM_RANGE(0xa0000, 0xa0001) AM_READ(input_port_0_word_r)
|
||||
AM_RANGE(0xa0008, 0xa0009) AM_READ(input_port_1_word_r)
|
||||
AM_RANGE(0xa0010, 0xa0011) AM_READ(input_port_2_word_r)
|
||||
AM_RANGE(0xa0000, 0xa0001) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0xa0008, 0xa0009) AM_READ_PORT("JOY")
|
||||
AM_RANGE(0xa0010, 0xa0011) AM_READ_PORT("INPUTS")
|
||||
AM_RANGE(0xc0040, 0xc0041) AM_WRITE(SMH_NOP) /* ??? */
|
||||
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(cabal_flipscreen_w)
|
||||
AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
|
||||
@ -188,7 +192,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x4009, 0x4009) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w)
|
||||
AM_RANGE(0x4010, 0x4011) AM_READ(seibu_soundlatch_r)
|
||||
AM_RANGE(0x4012, 0x4012) AM_READ(seibu_main_data_pending_r)
|
||||
AM_RANGE(0x4013, 0x4013) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
|
||||
AM_RANGE(0x4018, 0x4019) AM_WRITE(seibu_main_data_w)
|
||||
AM_RANGE(0x401a, 0x401a) AM_WRITE(seibu_adpcm_ctl_1_w)
|
||||
AM_RANGE(0x401b, 0x401b) AM_WRITE(seibu_coin_w)
|
||||
@ -203,7 +207,7 @@ static ADDRESS_MAP_START( cabalbl_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x4000, 0x4000) AM_WRITE(soundlatch3_w)
|
||||
AM_RANGE(0x4002, 0x4002) AM_WRITE(soundlatch4_w)
|
||||
AM_RANGE(0x4004, 0x4004) AM_WRITE(cabalbl_coin_w)
|
||||
AM_RANGE(0x4006, 0x4006) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0x4006, 0x4006) AM_READ_PORT("COIN")
|
||||
AM_RANGE(0x4008, 0x4008) AM_READ(cabalbl_snd2_r)
|
||||
AM_RANGE(0x400a, 0x400a) AM_READ(cabalbl_snd1_r)
|
||||
AM_RANGE(0x400c, 0x400c) AM_WRITE(soundlatch2_w)
|
||||
@ -255,74 +259,76 @@ ADDRESS_MAP_END
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
#define CABALDSW\
|
||||
PORT_START_TAG("DSW")\
|
||||
/* Coin Mode 1 doesn't seem quite right, all 'fractional' coinage values seem to be 4C_1C, but it could be me */\
|
||||
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x000a, DEF_STR( 6C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x000b, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x000c, DEF_STR( 4C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x000d, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( 8C_3C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x000e, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( 5C_3C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0003, DEF_STR( 3C_2C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( 2C_3C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0009, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0007, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0005, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )PORT_CONDITION("DSW",0x0010,PORTCOND_NOTEQUALS,0x00)\
|
||||
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A )) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
|
||||
PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B )) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW",0x0010,PORTCOND_EQUALS,0x00)\
|
||||
PORT_DIPNAME( 0x0010, 0x0010, "Coin Mode" )\
|
||||
PORT_DIPSETTING( 0x0010, "Mode 1" )\
|
||||
PORT_DIPSETTING( 0x0000, "Mode 2" )\
|
||||
PORT_DIPNAME( 0x0020, 0x0020, "Invert Buttons" )\
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )\
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )\
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )\
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )\
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )\
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Trackball ) )\
|
||||
PORT_DIPSETTING( 0x0080, "Small" )\
|
||||
PORT_DIPSETTING( 0x0000, "Large" )\
|
||||
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )\
|
||||
PORT_DIPSETTING( 0x0200, "2" )\
|
||||
PORT_DIPSETTING( 0x0300, "3" )\
|
||||
PORT_DIPSETTING( 0x0100, "5" )\
|
||||
PORT_DIPSETTING( 0x0000, "121 (Cheat)")\
|
||||
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) )\
|
||||
PORT_DIPSETTING( 0x0c00, "20k 50k" )\
|
||||
PORT_DIPSETTING( 0x0800, "30k 100k" )\
|
||||
PORT_DIPSETTING( 0x0400, "50k 150k" )\
|
||||
PORT_DIPSETTING( 0x0000, "70K" )\
|
||||
PORT_DIPNAME( 0x3000, 0x2000, DEF_STR( Difficulty ) )\
|
||||
PORT_DIPSETTING( 0x3000, DEF_STR( Easy ) )\
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Normal ) )\
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )\
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )\
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )\
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )\
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )\
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Demo_Sounds ) )\
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )\
|
||||
static INPUT_PORTS_START( common )
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3,4") PORT_CONDITION("DSW", 0x0010, PORTCOND_NOTEQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x000a, DEF_STR( 6C_1C ) )
|
||||
PORT_DIPSETTING( 0x000b, DEF_STR( 5C_1C ) )
|
||||
PORT_DIPSETTING( 0x000c, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x000d, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( 8C_3C ) )
|
||||
PORT_DIPSETTING( 0x000e, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( 5C_3C ) )
|
||||
PORT_DIPSETTING( 0x0003, DEF_STR( 3C_2C ) )
|
||||
PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x0009, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x0007, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x0005, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A )) PORT_DIPLOCATION("SW1:1,2") PORT_CONDITION("DSW", 0x0010, PORTCOND_EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B )) PORT_DIPLOCATION("SW1:3,4") PORT_CONDITION("DSW", 0x0010, PORTCOND_EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, "Coin Mode" ) PORT_DIPLOCATION("SW1:5")
|
||||
PORT_DIPSETTING( 0x0010, "Mode 1" )
|
||||
PORT_DIPSETTING( 0x0000, "Mode 2" )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, "Invert Buttons" ) PORT_DIPLOCATION("SW1:6")
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Trackball ) ) PORT_DIPLOCATION("SW1:8")
|
||||
PORT_DIPSETTING( 0x0080, "Small" )
|
||||
PORT_DIPSETTING( 0x0000, "Large" )
|
||||
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x0200, "2" )
|
||||
PORT_DIPSETTING( 0x0300, "3" )
|
||||
PORT_DIPSETTING( 0x0100, "5" )
|
||||
PORT_DIPSETTING( 0x0000, "121 (Cheat)")
|
||||
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x0c00, "20k 50k" )
|
||||
PORT_DIPSETTING( 0x0800, "30k 100k" )
|
||||
PORT_DIPSETTING( 0x0400, "50k 150k" )
|
||||
PORT_DIPSETTING( 0x0000, "70K" )
|
||||
PORT_DIPNAME( 0x3000, 0x2000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
|
||||
PORT_DIPSETTING( 0x3000, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x4000, 0x4000, "SW2:7" ) /* Left blank in the manual */
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
|
||||
|
||||
static INPUT_PORTS_START( cabalt )
|
||||
CABALDSW
|
||||
PORT_START_TAG("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4) /* read through sound cpu */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(4) /* read through sound cpu */
|
||||
INPUT_PORTS_END
|
||||
|
||||
PORT_START_TAG("IN0")
|
||||
static INPUT_PORTS_START( cabalt )
|
||||
PORT_INCLUDE( common )
|
||||
|
||||
PORT_START_TAG("INPUTS")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
@ -333,27 +339,26 @@ static INPUT_PORTS_START( cabalt )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4) /* read through sound cpu */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(4) /* read through sound cpu */
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(1)
|
||||
|
||||
PORT_START_TAG("IN3")
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_REVERSE PORT_PLAYER(1)
|
||||
|
||||
PORT_START_TAG("IN4")
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(2)
|
||||
|
||||
PORT_START_TAG("IN5")
|
||||
PORT_START_TAG("IN3")
|
||||
PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(2)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( cabalj )
|
||||
CABALDSW
|
||||
PORT_INCLUDE( common )
|
||||
|
||||
PORT_MODIFY("COIN")
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
/* Since the Trackball version was produced first, and it doesn't use
|
||||
the third button, Pin 24 of the JAMMA connector ('JAMMA button 3')
|
||||
@ -361,7 +366,7 @@ static INPUT_PORTS_START( cabalj )
|
||||
manufacturer had to use pin 15 which is usually the test / service
|
||||
button
|
||||
*/
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_START_TAG("INPUTS")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
@ -372,20 +377,15 @@ static INPUT_PORTS_START( cabalj )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4) /* read through sound cpu */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(4) /* read through sound cpu */
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
/* The joystick version has a PCB marked "Joystick sub" containing a 74ls245. It plugs in the
|
||||
sockets of the two D4701AC */
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START_TAG("IN3")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START_TAG("IN4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
|
||||
@ -395,25 +395,14 @@ static INPUT_PORTS_START( cabalj )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
|
||||
|
||||
PORT_START_TAG("IN5")
|
||||
PORT_START_TAG("IN3")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( cabalbl )
|
||||
CABALDSW
|
||||
PORT_INCLUDE( common )
|
||||
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_START_TAG("INPUTS")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
@ -425,9 +414,16 @@ static INPUT_PORTS_START( cabalbl )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4) /* read through sound cpu */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(4) /* read through sound cpu */
|
||||
PORT_START_TAG("JOY")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout text_layout =
|
||||
|
@ -208,11 +208,11 @@ static ADDRESS_MAP_START( calorie_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xd800, 0xdbff) AM_RAM AM_BASE(&calorie_sprites)
|
||||
AM_RANGE(0xdc00, 0xdcff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram)
|
||||
AM_RANGE(0xde00, 0xde00) AM_WRITE(calorie_bg_w)
|
||||
AM_RANGE(0xf000, 0xf000) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0xf001, 0xf001) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0xf002, 0xf002) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0xf004, 0xf004) AM_READ(input_port_3_r) AM_WRITE(calorie_flipscreen_w)
|
||||
AM_RANGE(0xf005, 0xf005) AM_READ(input_port_4_r)
|
||||
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("P1")
|
||||
AM_RANGE(0xf001, 0xf001) AM_READ_PORT("P2")
|
||||
AM_RANGE(0xf002, 0xf002) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0xf004, 0xf004) AM_READ_PORT("DSW1") AM_WRITE(calorie_flipscreen_w)
|
||||
AM_RANGE(0xf005, 0xf005) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0xf800, 0xf800) AM_WRITE(soundlatch_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -234,27 +234,27 @@ static ADDRESS_MAP_START( calorie_sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( calorie )
|
||||
PORT_START
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_4WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_4WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_4WAY
|
||||
PORT_START_TAG("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_4WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_4WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_4WAY
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_4WAY
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_4WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_4WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_4WAY
|
||||
PORT_START_TAG("P2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_4WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_4WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_4WAY
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_4WAY
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
@ -264,7 +264,7 @@ static INPUT_PORTS_START( calorie )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
|
||||
@ -287,7 +287,7 @@ static INPUT_PORTS_START( calorie )
|
||||
PORT_DIPSETTING( 0x40, "4" )
|
||||
PORT_DIPSETTING( 0x80, "5" )
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("DSW2")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
|
||||
PORT_DIPSETTING( 0x01, "20,000 Only" )
|
||||
|
@ -29,6 +29,10 @@
|
||||
|
||||
If you have any questions about how this driver works, don't hesitate to
|
||||
ask. - Mike Balfour (mab22@po.cwru.edu)
|
||||
|
||||
|
||||
2008-07
|
||||
Dip locations verified with manual.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -129,38 +133,40 @@ ADDRESS_MAP_END
|
||||
*************************************/
|
||||
|
||||
static INPUT_PORTS_START( canyon )
|
||||
PORT_START_TAG("DSW") /* DSW */
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) )
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW:1,2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Spanish ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( French ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( German ) )
|
||||
PORT_DIPNAME( 0x30, 0x00, "Misses Per Play" )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW:3" ) /* Manual says these are unused */
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW:4" ) /* Manual says these are unused */
|
||||
PORT_DIPNAME( 0x30, 0x00, "Misses Per Play" ) PORT_DIPLOCATION("SW:5,6")
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x10, "4" )
|
||||
PORT_DIPSETTING( 0x20, "5" )
|
||||
PORT_DIPSETTING( 0x30, "6" )
|
||||
PORT_DIPNAME( 0xC0, 0x80, DEF_STR( Coinage ))
|
||||
PORT_DIPSETTING( 0xC0, DEF_STR( 2C_1C ))
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_1C ))
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ))
|
||||
PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:7,8")
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
|
||||
PORT_START_TAG("IN1") /* IN1 */
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
|
||||
PORT_START_TAG("IN2") /* IN2 */
|
||||
PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT ( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_SERVICE( 0x10, IP_ACTIVE_HIGH )
|
||||
PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Hiscore Reset") PORT_CODE(KEYCODE_H)
|
||||
PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_TILT ) /* SLAM */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_TILT ) /* SLAM */
|
||||
|
||||
PORT_START_TAG("MOTOR1")
|
||||
PORT_ADJUSTER( 20, "Motor 1 RPM" )
|
||||
|
@ -100,9 +100,9 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( mem_data, ADDRESS_SPACE_DATA, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_RAM
|
||||
AM_RANGE(0x2003, 0x2003) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0x2005, 0x2005) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x2006, 0x2006) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0x2003, 0x2003) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x2005, 0x2005) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x2006, 0x2006) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x2007, 0x2007) AM_WRITE(lamps_w)
|
||||
AM_RANGE(0x2008, 0x2008) AM_NOP
|
||||
AM_RANGE(0x2080, 0x213f) AM_NOP
|
||||
@ -120,7 +120,7 @@ static ADDRESS_MAP_START( mem_io, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( cardline )
|
||||
PORT_START
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Card 1 / Double-Up")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Card 2")
|
||||
@ -130,7 +130,7 @@ static INPUT_PORTS_START( cardline )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Bet")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start")
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("?")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Bookkeeping Info") PORT_CODE(KEYCODE_F1)
|
||||
@ -140,7 +140,7 @@ static INPUT_PORTS_START( cardline )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("Payout")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("?")
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
@ -57,9 +57,9 @@ static ADDRESS_MAP_START( carjmbre_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x8800, 0x8800) AM_READ(SMH_NOP) //?? possibly watchdog
|
||||
AM_RANGE(0x9000, 0x97ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2")
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( carjmbre_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
@ -109,7 +109,7 @@ static ADDRESS_MAP_START( carjmbre_sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( carjmbre )
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_START_TAG("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) //coin error if held high for 1s
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) //or if many coins inserted quickly
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
@ -119,7 +119,7 @@ static INPUT_PORTS_START( carjmbre )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_START_TAG("P2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
@ -129,7 +129,7 @@ static INPUT_PORTS_START( carjmbre )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
|
@ -65,12 +65,12 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0x01, 0x01) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x02, 0x02) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0x03, 0x03) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0x04, 0x04) AM_READ(input_port_4_r)
|
||||
AM_RANGE(0x05, 0x05) AM_READ(input_port_5_r)
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("IN3")
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("IN4")
|
||||
AM_RANGE(0x05, 0x05) AM_READ_PORT("IN5")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
|
||||
|
@ -311,11 +311,6 @@ static const UINT8 *cave_default_eeprom;
|
||||
static int cave_default_eeprom_length;
|
||||
static int cave_region_byte;
|
||||
|
||||
static READ16_HANDLER( gaia_dsw_r )
|
||||
{
|
||||
return input_port_read(machine, "DSW1") | (input_port_read(machine, "DSW2") << 8);
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( cave_eeprom_msb_w )
|
||||
{
|
||||
if (data & ~0xfe00)
|
||||
@ -498,8 +493,8 @@ static ADDRESS_MAP_START( dfeveron_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r ) // IRQ Cause
|
||||
/**/AM_RANGE(0x900000, 0x900005) AM_READ(SMH_RAM ) // Layer 0 Control
|
||||
/**/AM_RANGE(0xa00000, 0xa00005) AM_READ(SMH_RAM ) // Layer 1 Control
|
||||
AM_RANGE(0xb00000, 0xb00001) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0xb00002, 0xb00003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
|
||||
AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( dfeveron_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
@ -537,8 +532,8 @@ static ADDRESS_MAP_START( ddonpach_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
/**/AM_RANGE(0xa00000, 0xa00005) AM_READ(SMH_RAM ) // Layer 1 Control
|
||||
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 2 Control
|
||||
/**/AM_RANGE(0xc00000, 0xc0ffff) AM_READ(SMH_RAM ) // Palette
|
||||
AM_RANGE(0xd00000, 0xd00001) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0xd00002, 0xd00003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
|
||||
AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( ddonpach_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
@ -603,8 +598,8 @@ static ADDRESS_MAP_START( donpachi_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
/**/AM_RANGE(0xa08000, 0xa08fff) AM_READ(SMH_RAM ) // Palette
|
||||
AM_RANGE(0xb00000, 0xb00001) AM_READ(OKIM6295_status_0_lsb_r ) // M6295
|
||||
AM_RANGE(0xb00010, 0xb00011) AM_READ(OKIM6295_status_1_lsb_r ) //
|
||||
AM_RANGE(0xc00000, 0xc00001) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0xc00002, 0xc00003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
|
||||
AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( donpachi_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
@ -645,8 +640,8 @@ static ADDRESS_MAP_START( esprade_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
/**/AM_RANGE(0xa00000, 0xa00005) AM_READ(SMH_RAM ) // Layer 1 Control
|
||||
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 2 Control
|
||||
/**/AM_RANGE(0xc00000, 0xc0ffff) AM_READ(SMH_RAM ) // Palette
|
||||
AM_RANGE(0xd00000, 0xd00001) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0xd00002, 0xd00003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
|
||||
AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( esprade_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
@ -688,9 +683,9 @@ static ADDRESS_MAP_START( gaia_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
/**/AM_RANGE(0xa00000, 0xa00005) AM_READ(SMH_RAM ) // Layer 1 Control
|
||||
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 2 Control
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_READ(SMH_RAM ) // Palette
|
||||
AM_RANGE(0xd00010, 0xd00011) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0xd00012, 0xd00013) AM_READ(input_port_1_word_r ) // Inputs
|
||||
AM_RANGE(0xd00014, 0xd00015) AM_READ(gaia_dsw_r ) // Dips
|
||||
AM_RANGE(0xd00010, 0xd00011) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs
|
||||
AM_RANGE(0xd00014, 0xd00015) AM_READ_PORT("DSW") // Dips
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( gaia_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
@ -733,8 +728,8 @@ static ADDRESS_MAP_START( guwange_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
/**/AM_RANGE(0xa00000, 0xa00005) AM_READ(SMH_RAM ) // Layer 1 Control
|
||||
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 2 Control
|
||||
/**/AM_RANGE(0xc00000, 0xc0ffff) AM_READ(SMH_RAM ) // Palette
|
||||
AM_RANGE(0xd00010, 0xd00011) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0xd00012, 0xd00013) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
|
||||
AM_RANGE(0xd00010, 0xd00011) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( guwange_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
@ -773,8 +768,8 @@ static ADDRESS_MAP_START( hotdogst_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 0 Control
|
||||
/**/AM_RANGE(0xb80000, 0xb80005) AM_READ(SMH_RAM ) // Layer 1 Control
|
||||
/**/AM_RANGE(0xc00000, 0xc00005) AM_READ(SMH_RAM ) // Layer 2 Control
|
||||
AM_RANGE(0xc80000, 0xc80001) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0xc80002, 0xc80003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
|
||||
AM_RANGE(0xc80000, 0xc80001) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0xc80002, 0xc80003) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
/**/AM_RANGE(0xf00000, 0xf07fff) AM_READ(SMH_RAM ) // Sprites
|
||||
/**/AM_RANGE(0xf08000, 0xf0ffff) AM_READ(SMH_RAM ) // Sprites?
|
||||
ADDRESS_MAP_END
|
||||
@ -867,14 +862,14 @@ static CUSTOM_INPUT( korokoro_hopper_r )
|
||||
|
||||
static ADDRESS_MAP_START( korokoro_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_READ( SMH_ROM ) // ROM
|
||||
// AM_RANGE(0x100000, 0x107fff) AM_READ( SMH_RAM ) // Layer 0
|
||||
// AM_RANGE(0x140000, 0x140005) AM_READ( SMH_RAM ) // Layer 0 Control
|
||||
// AM_RANGE(0x180000, 0x187fff) AM_READ( SMH_RAM ) // Sprites
|
||||
// AM_RANGE(0x100000, 0x107fff) AM_READ( SMH_RAM ) // Layer 0
|
||||
// AM_RANGE(0x140000, 0x140005) AM_READ( SMH_RAM ) // Layer 0 Control
|
||||
// AM_RANGE(0x180000, 0x187fff) AM_READ( SMH_RAM ) // Sprites
|
||||
AM_RANGE(0x1c0000, 0x1c0007) AM_READ( cave_irq_cause_r ) // IRQ Cause
|
||||
// AM_RANGE(0x200000, 0x207fff) AM_READ( SMH_RAM ) // Palette
|
||||
// AM_RANGE(0x240000, 0x240003) AM_READ( cave_sound_r ) // YMZ280
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ( input_port_0_word_r ) // Inputs + ???
|
||||
AM_RANGE(0x280002, 0x280003) AM_READ( input_port_1_word_r ) // Inputs + EEPROM
|
||||
// AM_RANGE(0x200000, 0x207fff) AM_READ( SMH_RAM ) // Palette
|
||||
// AM_RANGE(0x240000, 0x240003) AM_READ( cave_sound_r ) // YMZ280
|
||||
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("IN0") // Inputs + ???
|
||||
AM_RANGE(0x280002, 0x280003) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
AM_RANGE(0x300000, 0x30ffff) AM_READ( SMH_RAM ) // RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -908,10 +903,10 @@ static ADDRESS_MAP_START( mazinger_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
/**/AM_RANGE(0x504000, 0x507fff) AM_READ(SMH_RAM ) // Layer 0
|
||||
/**/AM_RANGE(0x600000, 0x600005) AM_READ(SMH_RAM ) // Layer 1 Control
|
||||
/**/AM_RANGE(0x700000, 0x700005) AM_READ(SMH_RAM ) // Layer 0 Control
|
||||
AM_RANGE(0x800000, 0x800001) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0x800002, 0x800003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
|
||||
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
/**/AM_RANGE(0xc08000, 0xc0ffff) AM_READ(SMH_RAM ) // Palette
|
||||
AM_RANGE(0xd00000, 0xd7ffff) AM_READ(SMH_BANK1 ) // ROM
|
||||
AM_RANGE(0xd00000, 0xd7ffff) AM_READ(SMH_BANK1 ) // ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( mazinger_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
@ -941,7 +936,7 @@ static ADDRESS_MAP_START( metmqstr_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x100000, 0x17ffff) AM_READ(SMH_ROM ) // ROM
|
||||
AM_RANGE(0x200000, 0x27ffff) AM_READ(SMH_ROM ) // ROM
|
||||
AM_RANGE(0x408000, 0x408fff) AM_READ(SMH_RAM ) // Palette
|
||||
AM_RANGE(0x600000, 0x600001) AM_READ(watchdog_reset16_r ) // Watchdog?
|
||||
AM_RANGE(0x600000, 0x600001) AM_READ(watchdog_reset16_r ) // Watchdog?
|
||||
AM_RANGE(0x880000, 0x887fff) AM_READ(SMH_RAM ) // Layer 2
|
||||
AM_RANGE(0x888000, 0x88ffff) AM_READ(SMH_RAM ) //
|
||||
AM_RANGE(0x900000, 0x907fff) AM_READ(SMH_RAM ) // Layer 1
|
||||
@ -954,8 +949,8 @@ static ADDRESS_MAP_START( metmqstr_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
/**/AM_RANGE(0xb00000, 0xb00005) AM_READ(SMH_RAM ) // Layer 0 Control
|
||||
/**/AM_RANGE(0xb80000, 0xb80005) AM_READ(SMH_RAM ) // Layer 1 Control
|
||||
/**/AM_RANGE(0xc00000, 0xc00005) AM_READ(SMH_RAM ) // Layer 2 Control
|
||||
AM_RANGE(0xc80000, 0xc80001) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0xc80002, 0xc80003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
|
||||
AM_RANGE(0xc80000, 0xc80001) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0xc80002, 0xc80003) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
AM_RANGE(0xf00000, 0xf07fff) AM_READ(SMH_RAM ) // Sprites
|
||||
AM_RANGE(0xf08000, 0xf0ffff) AM_READ(SMH_RAM ) // RAM
|
||||
ADDRESS_MAP_END
|
||||
@ -1016,9 +1011,9 @@ static WRITE16_HANDLER( pwrinst2_vctrl_3_w ) { vctrl_w(cave_vctrl_3, offset, dat
|
||||
static ADDRESS_MAP_START( pwrinst2_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x1fffff) AM_READ(SMH_ROM ) // ROM
|
||||
AM_RANGE(0x400000, 0x40ffff) AM_READ(SMH_RAM ) // RAM
|
||||
AM_RANGE(0x500000, 0x500001) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0x500002, 0x500003) AM_READ(input_port_1_word_r ) //
|
||||
AM_RANGE(0x600000, 0x6fffff) AM_READ(SMH_ROM ) AM_REGION(REGION_USER1, 0) // extra data ROM space
|
||||
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("IN1") //
|
||||
AM_RANGE(0x600000, 0x6fffff) AM_READ(SMH_ROM) AM_REGION(REGION_USER1, 0) // extra data ROM space
|
||||
AM_RANGE(0x800000, 0x807fff) AM_READ(SMH_RAM ) // Layer 2
|
||||
AM_RANGE(0x880000, 0x887fff) AM_READ(SMH_RAM ) // Layer 0
|
||||
AM_RANGE(0x900000, 0x907fff) AM_READ(SMH_RAM ) // Layer 1
|
||||
@ -1094,7 +1089,7 @@ static ADDRESS_MAP_START( sailormn_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x508000, 0x50ffff) AM_READ(SMH_RAM ) // Sprites?
|
||||
AM_RANGE(0x510000, 0x510001) AM_READ(SMH_RAM ) // (agallet)
|
||||
AM_RANGE(0x600000, 0x600001) AM_READ(sailormn_input0_r ) // Inputs + Watchdog!
|
||||
AM_RANGE(0x600002, 0x600003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
|
||||
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
AM_RANGE(0x800000, 0x887fff) AM_READ(SMH_RAM ) // Layer 0
|
||||
AM_RANGE(0x880000, 0x887fff) AM_READ(SMH_RAM ) // Layer 1
|
||||
AM_RANGE(0x900000, 0x907fff) AM_READ(SMH_RAM ) // Layer 2
|
||||
@ -1146,8 +1141,8 @@ static ADDRESS_MAP_START( uopoko_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x600000, 0x600007) AM_READ(cave_irq_cause_r ) // IRQ Cause
|
||||
/**/AM_RANGE(0x700000, 0x700005) AM_READ(SMH_RAM ) // Layer 0 Control
|
||||
/**/AM_RANGE(0x800000, 0x80ffff) AM_READ(SMH_RAM ) // Palette
|
||||
AM_RANGE(0x900000, 0x900001) AM_READ(input_port_0_word_r ) // Inputs
|
||||
AM_RANGE(0x900002, 0x900003) AM_READ(input_port_1_word_r ) // Inputs + EEPROM
|
||||
AM_RANGE(0x900000, 0x900001) AM_READ_PORT("IN0") // Inputs
|
||||
AM_RANGE(0x900002, 0x900003) AM_READ_PORT("IN1") // Inputs + EEPROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( uopoko_writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
@ -1477,40 +1472,40 @@ ADDRESS_MAP_END
|
||||
/* Most games use this */
|
||||
static INPUT_PORTS_START( cave )
|
||||
PORT_START_TAG("IN0") // IN0 - Player 1
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
|
||||
PORT_SERVICE_NO_TOGGLE(0x0200, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) // sw? exit service mode
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) // sw? enter & exit service mode
|
||||
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_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0200, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) // sw? exit service mode
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) // sw? enter & exit service mode
|
||||
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_START_TAG("IN1") // IN1 - Player 2
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
|
||||
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_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
|
||||
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 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Gaia Crusaders, no EEPROM. Has DIPS */
|
||||
@ -1518,110 +1513,105 @@ static INPUT_PORTS_START( gaia )
|
||||
PORT_INCLUDE( cave )
|
||||
|
||||
PORT_MODIFY("IN0") // IN0 - Player 1 + 2
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) 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_BUTTON4 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) 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_BUTTON4 ) PORT_PLAYER(2)
|
||||
|
||||
PORT_MODIFY("IN1") // IN1 - Coins
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
|
||||
PORT_SERVICE_NO_TOGGLE(0x0004, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START_TAG("DSW1") // Dips bank 1
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Japanese ) )
|
||||
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,6")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, "2 Coins/1 Credit (1 to continue)" )
|
||||
PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x18, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:8")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Japanese ) )
|
||||
PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,6")
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x0000, "2 Coins/1 Credit (1 to continue)" )
|
||||
PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x0018, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:7")
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:8")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( On ) )
|
||||
|
||||
PORT_START_TAG("DSW2") // Dips bank 2
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x01, "1" )
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x03, "3" )
|
||||
PORT_DIPSETTING( 0x02, "4" )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, "150k/300k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0xc0)
|
||||
PORT_DIPSETTING( 0x04, "150k/350k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0xa0)
|
||||
PORT_DIPSETTING( 0x04, "150k/350k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0xe0)
|
||||
PORT_DIPSETTING( 0x04, "150k/400k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x60)
|
||||
PORT_DIPSETTING( 0x04, "150k/400k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x80)
|
||||
PORT_DIPSETTING( 0x04, "150k/400k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x20)
|
||||
PORT_DIPSETTING( 0x04, "200k/500k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x40)
|
||||
PORT_DIPSETTING( 0x04, "200k/500k" ) PORT_CONDITION("DSW2",0xe0,PORTCOND_EQUALS,0x00)
|
||||
PORT_DIPNAME( 0x18, 0x18, "Damage" ) PORT_DIPLOCATION("SW2:4,5")
|
||||
PORT_DIPSETTING( 0x18, "+0" )
|
||||
PORT_DIPSETTING( 0x10, "+1" )
|
||||
PORT_DIPSETTING( 0x08, "+2" )
|
||||
PORT_DIPSETTING( 0x00, "+3" )
|
||||
PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7,8")
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Very_Easy ) )
|
||||
PORT_DIPSETTING( 0xa0, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0xe0, DEF_STR( Medium ) )
|
||||
PORT_DIPSETTING( 0x60, "Medium Hard" )
|
||||
PORT_DIPSETTING( 0x80, "Hard 1" )
|
||||
PORT_DIPSETTING( 0x20, "Hard 2" )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Very_Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x0100, "1" )
|
||||
PORT_DIPSETTING( 0x0000, "2" )
|
||||
PORT_DIPSETTING( 0x0300, "3" )
|
||||
PORT_DIPSETTING( 0x0200, "4" )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0400, "150k/300k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0xc000)
|
||||
PORT_DIPSETTING( 0x0400, "150k/350k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0xa000)
|
||||
PORT_DIPSETTING( 0x0400, "150k/350k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0xe000)
|
||||
PORT_DIPSETTING( 0x0400, "150k/400k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0x6000)
|
||||
PORT_DIPSETTING( 0x0400, "150k/400k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0x8000)
|
||||
PORT_DIPSETTING( 0x0400, "150k/400k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0x2000)
|
||||
PORT_DIPSETTING( 0x0400, "200k/500k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0x4000)
|
||||
PORT_DIPSETTING( 0x0400, "200k/500k" ) PORT_CONDITION("DSW", 0xe000, PORTCOND_EQUALS, 0x0000)
|
||||
PORT_DIPNAME( 0x1800, 0x1800, "Damage" ) PORT_DIPLOCATION("SW2:4,5")
|
||||
PORT_DIPSETTING( 0x1800, "+0" )
|
||||
PORT_DIPSETTING( 0x1000, "+1" )
|
||||
PORT_DIPSETTING( 0x0800, "+2" )
|
||||
PORT_DIPSETTING( 0x0000, "+3" )
|
||||
PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7,8")
|
||||
PORT_DIPSETTING( 0xc000, DEF_STR( Very_Easy ) )
|
||||
PORT_DIPSETTING( 0xa000, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0xe000, DEF_STR( Medium ) )
|
||||
PORT_DIPSETTING( 0x6000, "Medium Hard" )
|
||||
PORT_DIPSETTING( 0x8000, "Hard 1" )
|
||||
PORT_DIPSETTING( 0x2000, "Hard 2" )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Very_Hard ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( theroes )
|
||||
PORT_INCLUDE( gaia )
|
||||
|
||||
PORT_MODIFY("DSW1")
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x04, "Chinese" )
|
||||
|
||||
PORT_MODIFY("DSW2")
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, "150k/300k" ) PORT_CONDITION("DSW2",0xc0,PORTCOND_EQUALS,0x80)
|
||||
PORT_DIPSETTING( 0x04, "150k/350k" ) PORT_CONDITION("DSW2",0xc0,PORTCOND_EQUALS,0xc0)
|
||||
PORT_DIPSETTING( 0x04, "150k/400k" ) PORT_CONDITION("DSW2",0xc0,PORTCOND_EQUALS,0x40)
|
||||
PORT_DIPSETTING( 0x04, "200k/500k" ) PORT_CONDITION("DSW2",0xc0,PORTCOND_EQUALS,0x00)
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Very_Easy ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Medium ) )
|
||||
PORT_DIPSETTING( 0x40, "Medium Hard" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_MODIFY("DSW")
|
||||
PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x0004, "Chinese" )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0400, "150k/300k" ) PORT_CONDITION("DSW", 0xc000, PORTCOND_EQUALS, 0x8000)
|
||||
PORT_DIPSETTING( 0x0400, "150k/350k" ) PORT_CONDITION("DSW", 0xc000, PORTCOND_EQUALS, 0xc000)
|
||||
PORT_DIPSETTING( 0x0400, "150k/400k" ) PORT_CONDITION("DSW", 0xc000, PORTCOND_EQUALS, 0x4000)
|
||||
PORT_DIPSETTING( 0x0400, "200k/500k" ) PORT_CONDITION("DSW", 0xc000, PORTCOND_EQUALS, 0x0000)
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x2000, 0x2000, "SW2:6" )
|
||||
PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Very_Easy ) )
|
||||
PORT_DIPSETTING( 0xc000, DEF_STR( Medium ) )
|
||||
PORT_DIPSETTING( 0x4000, "Medium Hard" )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Mazinger Z (has region stored in Eeprom) */
|
||||
@ -1653,88 +1643,88 @@ static INPUT_PORTS_START( metmqstr )
|
||||
PORT_INCLUDE( cave )
|
||||
|
||||
PORT_MODIFY("IN0") // IN0 - Player 1
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||
|
||||
PORT_MODIFY("IN1") // IN1 - Player 2
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Different layout */
|
||||
static INPUT_PORTS_START( guwange )
|
||||
PORT_START_TAG("IN0") // IN0 - Player 1 & 2
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
|
||||
PORT_START_TAG("IN1") // IN1 - Coins
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
|
||||
PORT_SERVICE_NO_TOGGLE(0x0004, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(6)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( korokoro )
|
||||
PORT_START_TAG("IN0") // IN0
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(10) // bit 0x0010 of leds (coin)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(10) // bit 0x0020 of leds (does coin sound)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(10) // bit 0x0080 of leds
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) // round button (choose)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) // square button (select in service mode / medal out in game)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE2) // service medal out?
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(10) // bit 0x0010 of leds (coin)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(10) // bit 0x0020 of leds (does coin sound)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(10) // bit 0x0080 of leds
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) // round button (choose)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) // square button (select in service mode / medal out in game)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE2 ) // service medal out?
|
||||
PORT_SERVICE( 0x2000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1) // service coin
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SPECIAL) PORT_CUSTOM(korokoro_hopper_r, NULL) // motor / hopper status ???
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 ) // service coin
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(korokoro_hopper_r, NULL) // motor / hopper status ???
|
||||
|
||||
PORT_START_TAG("IN1") // IN1
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
|
||||
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_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -101,13 +101,13 @@ static ADDRESS_MAP_START( cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
|
||||
AM_RANGE(0x0000, 0x03ff) AM_READ(cball_wram_r) AM_MASK(0x7f)
|
||||
AM_RANGE(0x0400, 0x07ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x1001, 0x1001) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0x1003, 0x1003) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x1020, 0x1020) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0x1040, 0x1040) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0x1060, 0x1060) AM_READ(input_port_4_r)
|
||||
AM_RANGE(0x1001, 0x1001) AM_READ_PORT("1001")
|
||||
AM_RANGE(0x1003, 0x1003) AM_READ_PORT("1003")
|
||||
AM_RANGE(0x1020, 0x1020) AM_READ_PORT("1020")
|
||||
AM_RANGE(0x1040, 0x1040) AM_READ_PORT("1040")
|
||||
AM_RANGE(0x1060, 0x1060) AM_READ_PORT("1060")
|
||||
AM_RANGE(0x2000, 0x2001) AM_NOP
|
||||
AM_RANGE(0x2800, 0x2800) AM_READ(input_port_5_r)
|
||||
AM_RANGE(0x2800, 0x2800) AM_READ_PORT("2800")
|
||||
|
||||
AM_RANGE(0x0000, 0x03ff) AM_WRITE(cball_wram_w) AM_MASK(0x7f)
|
||||
AM_RANGE(0x0400, 0x07ff) AM_WRITE(cball_vram_w) AM_BASE(&cball_video_ram)
|
||||
@ -124,36 +124,34 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( cball )
|
||||
|
||||
PORT_START /* 1001 */
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coinage ))
|
||||
PORT_START_TAG("1001")
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x00, "2 Coins each" )
|
||||
PORT_DIPSETTING( 0xc0, "1 Coin each" )
|
||||
PORT_DIPSETTING( 0x80, "1 Coin 1 Game" )
|
||||
PORT_DIPSETTING( 0x40, "1 Coin 2 Games" )
|
||||
|
||||
PORT_START /* 1003 */
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ))
|
||||
PORT_START_TAG("1003")
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0xc0, "3" )
|
||||
PORT_DIPSETTING( 0x80, "5" )
|
||||
PORT_DIPSETTING( 0x40, "7" )
|
||||
PORT_DIPSETTING( 0x00, "9" )
|
||||
|
||||
PORT_START /* 1020 */
|
||||
PORT_START_TAG("1020")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_START /* 1040 */
|
||||
PORT_START_TAG("1040")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
|
||||
PORT_START /* 1060 */
|
||||
PORT_START_TAG("1060")
|
||||
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START /* 2800 */
|
||||
PORT_START_TAG("2800")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -149,16 +149,16 @@ static ADDRESS_MAP_START( cbasebal_portmap, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x07, 0x07) AM_WRITE(YM2413_data_port_0_w)
|
||||
AM_RANGE(0x08, 0x09) AM_WRITE(cbasebal_scrollx_w)
|
||||
AM_RANGE(0x0a, 0x0b) AM_WRITE(cbasebal_scrolly_w)
|
||||
AM_RANGE(0x10, 0x10) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0x11, 0x11) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x12, 0x12) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0x10, 0x10) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x11, 0x11) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x12, 0x12) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x13, 0x13) AM_WRITE(cbasebal_gfxctrl_w)
|
||||
AM_RANGE(0x14, 0x14) AM_WRITE(cbasebal_coinctrl_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( cbasebal )
|
||||
PORT_START
|
||||
PORT_START_TAG("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
@ -168,7 +168,7 @@ static INPUT_PORTS_START( cbasebal )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
|
||||
PORT_START /* IN2 */
|
||||
PORT_START_TAG("P2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
@ -178,7 +178,7 @@ static INPUT_PORTS_START( cbasebal )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
|
||||
|
||||
PORT_START /* IN0 */
|
||||
PORT_START_TAG("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
|
@ -11,6 +11,9 @@
|
||||
|
||||
Emulation by Bryan McPhail, mish@tendril.co.uk
|
||||
|
||||
2008-07
|
||||
Dip locations and settings verified with manual (JPN version)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
@ -88,10 +91,10 @@ static READ16_HANDLER( twocrude_control_r )
|
||||
switch (offset<<1)
|
||||
{
|
||||
case 0: /* Player 1 & Player 2 joysticks & fire buttons */
|
||||
return (input_port_read(machine, "P1") + (input_port_read(machine, "P2") << 8));
|
||||
return input_port_read(machine, "P1_P2");
|
||||
|
||||
case 2: /* Dip Switches */
|
||||
return (input_port_read(machine, "DSW1") + (input_port_read(machine, "DSW2") << 8));
|
||||
return input_port_read(machine, "DSW");
|
||||
|
||||
case 4: /* Protection */
|
||||
logerror("%04x : protection control read at 30c000 %d\n",activecpu_get_pc(),offset);
|
||||
@ -201,25 +204,23 @@ ADDRESS_MAP_END
|
||||
/******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( twocrude )
|
||||
PORT_START_TAG("P1") /* Player 1 controls */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_START_TAG("P2") /* Player 2 controls */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_START_TAG("P1_P2")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
|
||||
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_START2 )
|
||||
|
||||
PORT_START_TAG("COINS") /* Credits */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -231,55 +232,48 @@ static INPUT_PORTS_START( twocrude )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START_TAG("DSW1") /* Dip switch bank 1 */
|
||||
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:4,5,6")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x0018, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) /* Manual says OFF "Don't Change" */
|
||||
|
||||
PORT_START_TAG("DSW2") /* Dip switch bank 2 */
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x01, "2" )
|
||||
PORT_DIPSETTING( 0x03, "3" )
|
||||
PORT_DIPSETTING( 0x02, "4" )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x0100, "1" )
|
||||
PORT_DIPSETTING( 0x0000, "2" )
|
||||
PORT_DIPSETTING( 0x0300, "3" )
|
||||
PORT_DIPSETTING( 0x0200, "4" )
|
||||
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x1000, 0x1000, "SW2:5" ) /* Manual says OFF "Don't Change" */
|
||||
PORT_DIPUNUSED_DIPLOC( 0x2000, 0x2000, "SW2:6" ) /* Manual says OFF "Don't Change" */
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/******************************************************************************/
|
||||
|
@ -33,7 +33,7 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x00ffff) AM_ROM
|
||||
AM_RANGE(0x040000, 0x04000f) AM_READWRITE(ptm6840_0_lsb_r,ptm6840_0_lsb_w)
|
||||
AM_RANGE(0x050000, 0x050001) AM_WRITE(cchasm_refresh_control_w)
|
||||
AM_RANGE(0x060000, 0x060001) AM_READWRITE(input_port_0_word_r,cchasm_led_w)
|
||||
AM_RANGE(0x060000, 0x060001) AM_READ_PORT("DSW") AM_WRITE(cchasm_led_w)
|
||||
AM_RANGE(0x070000, 0x070001) AM_WRITE(watchdog_reset16_w)
|
||||
AM_RANGE(0xf80000, 0xf800ff) AM_READWRITE(cchasm_io_r,cchasm_io_w)
|
||||
AM_RANGE(0xffb000, 0xffffff) AM_RAM AM_BASE(&cchasm_ram)
|
||||
@ -116,7 +116,7 @@ static INPUT_PORTS_START( cchasm )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Test 1") PORT_CODE(KEYCODE_F1)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Test 1") PORT_CODE(KEYCODE_F1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test 2, not used in cchasm */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test 3, not used in cchasm */
|
||||
INPUT_PORTS_END
|
||||
|
@ -186,6 +186,11 @@ TODO:
|
||||
[5f2c2a78] h4 bottom board bad dump / [1d9e3325] (8307-A)
|
||||
[ce3afe26] j4 bottom board
|
||||
|
||||
----
|
||||
|
||||
2008-07
|
||||
Dip location verified from manual for: cclimber, guzzler, swimmer
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
@ -276,13 +281,13 @@ static ADDRESS_MAP_START( cclimber_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x98dc, 0x98df) AM_RAM AM_BASE(&cclimber_bigsprite_control)
|
||||
AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
|
||||
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_BASE(&cclimber_colorram)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READWRITE(input_port_0_r, interrupt_enable_w)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)
|
||||
AM_RANGE(0xa001, 0xa002) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_flip_screen)
|
||||
AM_RANGE(0xa003, 0xa003) AM_WRITE(interrupt_enable_w) //used by Crazy Kong Bootleg with alt levels and speed up
|
||||
AM_RANGE(0xa004, 0xa004) AM_WRITE(cclimber_sample_trigger_w)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READWRITE(input_port_1_r, cclimber_sample_rate_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READWRITE(input_port_2_r, cclimber_sample_volume_w)
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2") AM_WRITE(cclimber_sample_rate_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW") AM_WRITE(cclimber_sample_volume_w)
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("SYSTEM")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( cannonb_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
@ -291,7 +296,7 @@ static ADDRESS_MAP_START( cannonb_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x6000, 0x6bff) AM_RAM
|
||||
AM_RANGE(0x8000, 0x83ff) AM_RAM
|
||||
AM_RANGE(0x8800, 0x88ff) AM_READWRITE(SMH_NOP, SMH_RAM) AM_BASE(&cclimber_bigsprite_videoram) /* must not return what's written (game will reset after coin insert if it returns 0xff)*/
|
||||
//AM_RANGE(0x8900, 0x8bff) AM_WRITE(SMH_RAM) /* not used, but initialized */
|
||||
// AM_RANGE(0x8900, 0x8bff) AM_WRITE(SMH_RAM) /* not used, but initialized */
|
||||
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM AM_BASE(&cclimber_videoram)
|
||||
/* 9800-9bff and 9c00-9fff share the same RAM, interleaved */
|
||||
/* (9800-981f for scroll, 9c20-9c3f for color RAM, and so on) */
|
||||
@ -300,12 +305,12 @@ static ADDRESS_MAP_START( cannonb_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x98dc, 0x98df) AM_RAM AM_BASE(&cclimber_bigsprite_control)
|
||||
AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
|
||||
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_BASE(&cclimber_colorram)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READWRITE(input_port_0_r, interrupt_enable_w)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)
|
||||
AM_RANGE(0xa001, 0xa002) AM_WRITE(cannonb_flip_screen_w) AM_BASE(&cclimber_flip_screen)
|
||||
AM_RANGE(0xa004, 0xa004) AM_WRITE(cclimber_sample_trigger_w)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READWRITE(input_port_1_r, cclimber_sample_rate_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READWRITE(input_port_2_r, cclimber_sample_volume_w)
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2") AM_WRITE(cclimber_sample_rate_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW") AM_WRITE(cclimber_sample_volume_w)
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("SYSTEM")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( swimmer_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
@ -317,14 +322,14 @@ static ADDRESS_MAP_START( swimmer_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x9880, 0x989f) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_spriteram)
|
||||
AM_RANGE(0x98fc, 0x98ff) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_bigsprite_control)
|
||||
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_BASE(&cclimber_colorram)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READWRITE(input_port_0_r, interrupt_enable_w)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P2") AM_WRITE(interrupt_enable_w)
|
||||
AM_RANGE(0xa001, 0xa002) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_flip_screen)
|
||||
AM_RANGE(0xa003, 0xa003) AM_WRITE(SMH_RAM) AM_BASE(&swimmer_side_background_enabled)
|
||||
AM_RANGE(0xa004, 0xa004) AM_WRITE(SMH_RAM) AM_BASE(&swimmer_palettebank)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READWRITE(input_port_1_r, swimmer_sh_soundlatch_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0xb800, 0xb800) AM_READWRITE(input_port_3_r, SMH_RAM) AM_BASE(&swimmer_background_color)
|
||||
AM_RANGE(0xb880, 0xb880) AM_READ(input_port_4_r)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P1") AM_WRITE(swimmer_sh_soundlatch_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW2") AM_WRITE(SMH_RAM) AM_BASE(&swimmer_background_color)
|
||||
AM_RANGE(0xb880, 0xb880) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM /* ??? used by Guzzler */
|
||||
AM_RANGE(0xe000, 0xffff) AM_ROM /* Guzzler only */
|
||||
ADDRESS_MAP_END
|
||||
@ -343,12 +348,12 @@ static ADDRESS_MAP_START( yamato_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x98dc, 0x98df) AM_RAM AM_BASE(&cclimber_bigsprite_control)
|
||||
AM_RANGE(0x9800, 0x9bff) AM_RAM /* not used, but initialized */
|
||||
AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(cclimber_colorram_w) AM_BASE(&cclimber_colorram)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READWRITE(input_port_0_r, interrupt_enable_w)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)
|
||||
AM_RANGE(0xa001, 0xa002) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_flip_screen)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0xba00, 0xba00) AM_READ(input_port_4_r) /* IN3 (maybe a mirror of b800) */
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2")
|
||||
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("COIN")
|
||||
AM_RANGE(0xba00, 0xba00) AM_READ_PORT("START") /* maybe a mirror of b800 */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( toprollr_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
@ -362,13 +367,13 @@ static ADDRESS_MAP_START( toprollr_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x9880, 0x995f) AM_RAM AM_BASE(&cclimber_spriteram)
|
||||
AM_RANGE(0x99dc, 0x99df) AM_RAM AM_BASE(&cclimber_bigsprite_control)
|
||||
AM_RANGE(0x9c00, 0x9fff) AM_RAM AM_BASE(&cclimber_colorram)
|
||||
AM_RANGE(0xa000, 0xa000) AM_WRITE(interrupt_enable_w) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)
|
||||
AM_RANGE(0xa001, 0xa002) AM_WRITE(SMH_RAM) AM_BASE(&cclimber_flip_screen)
|
||||
AM_RANGE(0xa004, 0xa004) AM_WRITE(cclimber_sample_trigger_w)
|
||||
AM_RANGE(0xa005, 0xa006) AM_WRITE(toprollr_rombank_w)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READWRITE(input_port_1_r, cclimber_sample_rate_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READWRITE(input_port_2_r, cclimber_sample_volume_w)
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2") AM_WRITE(cclimber_sample_rate_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW") AM_WRITE(cclimber_sample_volume_w)
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0xc000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -419,137 +424,79 @@ static ADDRESS_MAP_START( yamato_audio_portmap, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
#define CCIN0\
|
||||
PORT_START_TAG("IN0")\
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP ) PORT_8WAY\
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY\
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY\
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY\
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY\
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY\
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY\
|
||||
static INPUT_PORTS_START( cclimber )
|
||||
PORT_START_TAG("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY
|
||||
|
||||
#define CCIN1\
|
||||
PORT_START_TAG("IN1")\
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_START_TAG("P2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
|
||||
#define CCIN2\
|
||||
PORT_START_TAG("IN2")\
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )\
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )\
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )\
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )\
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )\
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )\
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )\
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
static INPUT_PORTS_START( cclimber )
|
||||
CCIN0
|
||||
CCIN1
|
||||
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW:!1,!2")
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
PORT_DIPSETTING( 0x02, "5" )
|
||||
PORT_DIPSETTING( 0x03, "6" )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) // Look code at 0x03c4 : 0x8076 is never tested !
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, "Rack Test (Cheat)" ) PORT_CODE(KEYCODE_F1)
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x00, "SW:!3" ) // Look code at 0x03c4 : 0x8076 is never tested !
|
||||
PORT_DIPNAME( 0x08, 0x00, "Rack Test (Cheat)" ) PORT_CODE(KEYCODE_F1) PORT_DIPLOCATION("SW:!4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) )
|
||||
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW:!5,!6")
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) // Also "Bonus Life" due to code at 0x03d4
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) // Bonus life : 30000 points
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) // Bonus life : 50000 points
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) // Bonus life : 30000 points
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) // Bonus life : 50000 points
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW:!7,!8") // Also "Bonus Life" due to code at 0x03d4
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) // Bonus life : 30000 points
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) // Bonus life : 50000 points
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) // Bonus life : 30000 points
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) // Bonus life : 50000 points
|
||||
|
||||
CCIN2
|
||||
PORT_START_TAG("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Same as 'cclimber' but correct "Bonus Life" Dip Switch */
|
||||
static INPUT_PORTS_START( cclimbrj )
|
||||
CCIN0
|
||||
CCIN1
|
||||
PORT_INCLUDE( cclimber )
|
||||
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
PORT_DIPSETTING( 0x02, "5" )
|
||||
PORT_DIPSETTING( 0x03, "6" )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
|
||||
PORT_MODIFY("DSW")
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW:!3")
|
||||
PORT_DIPSETTING( 0x00, "30000" )
|
||||
PORT_DIPSETTING( 0x04, "50000" )
|
||||
PORT_DIPNAME( 0x08, 0x00, "Rack Test (Cheat)" ) PORT_CODE(KEYCODE_F1)
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
|
||||
|
||||
CCIN2
|
||||
INPUT_PORTS_END
|
||||
|
||||
#define CKONGIN0\
|
||||
PORT_START_TAG("IN0")\
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )\
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )\
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY\
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY\
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY\
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
|
||||
#define CKONGIN1\
|
||||
PORT_START_TAG("IN1")\
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )\
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL\
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
|
||||
#define CKONGIN2\
|
||||
PORT_START_TAG("IN2")\
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )\
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )\
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )\
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )\
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
static INPUT_PORTS_START( cannonb )
|
||||
PORT_START_TAG("IN0")
|
||||
static INPUT_PORTS_START( ckong )
|
||||
PORT_START_TAG("P1")
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_START_TAG("P2")
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
@ -558,6 +505,61 @@ static INPUT_PORTS_START( cannonb )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
PORT_DIPSETTING( 0x02, "5" )
|
||||
PORT_DIPSETTING( 0x03, "6" )
|
||||
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, "7000" )
|
||||
PORT_DIPSETTING( 0x04, "10000" )
|
||||
PORT_DIPSETTING( 0x08, "15000" )
|
||||
PORT_DIPSETTING( 0x0c, "20000" )
|
||||
PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) )
|
||||
PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
|
||||
PORT_START_TAG("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Similar to normal Crazy Kong except for the lives per game */
|
||||
static INPUT_PORTS_START( ckongb )
|
||||
PORT_INCLUDE( ckong )
|
||||
|
||||
PORT_MODIFY("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x01, "2" )
|
||||
PORT_DIPSETTING( 0x02, "3" )
|
||||
PORT_DIPSETTING( 0x03, "4" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( cannonb )
|
||||
PORT_INCLUDE( ckong )
|
||||
|
||||
PORT_MODIFY("P1")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
|
||||
PORT_MODIFY("P2")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
|
||||
PORT_MODIFY("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Display" )
|
||||
PORT_DIPSETTING( 0x03, "Scores and Progession Bars" )
|
||||
PORT_DIPSETTING( 0x01, "Scores only" )
|
||||
@ -575,85 +577,19 @@ static INPUT_PORTS_START( cannonb )
|
||||
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
|
||||
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_MODIFY("SYSTEM")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME( "Start" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME( "Select" )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( ckong )
|
||||
CKONGIN0
|
||||
CKONGIN1
|
||||
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
PORT_DIPSETTING( 0x02, "5" )
|
||||
PORT_DIPSETTING( 0x03, "6" )
|
||||
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, "7000" )
|
||||
PORT_DIPSETTING( 0x04, "10000" )
|
||||
PORT_DIPSETTING( 0x08, "15000" )
|
||||
PORT_DIPSETTING( 0x0c, "20000" )
|
||||
PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) )
|
||||
PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
|
||||
CKONGIN2
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Similar to normal Crazy Kong except for the lives per game */
|
||||
static INPUT_PORTS_START( ckongb )
|
||||
CKONGIN0
|
||||
CKONGIN1
|
||||
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x01, "2" )
|
||||
PORT_DIPSETTING( 0x02, "3" )
|
||||
PORT_DIPSETTING( 0x03, "4" )
|
||||
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, "7000" )
|
||||
PORT_DIPSETTING( 0x04, "10000" )
|
||||
PORT_DIPSETTING( 0x08, "15000" )
|
||||
PORT_DIPSETTING( 0x0c, "20000" )
|
||||
PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) )
|
||||
PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
|
||||
CKONGIN2
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( rpatrol )
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_START_TAG("P1") /* P2 controls but we use cclimber tags */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x3e, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_START_TAG("P2") /* P1 controls but we use cclimber tags */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x3e, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
|
||||
@ -683,7 +619,7 @@ static INPUT_PORTS_START( rpatrol )
|
||||
PORT_DIPSETTING( 0x00, "Retry on Error" )
|
||||
PORT_DIPSETTING( 0x80, "Stop on Error" )
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_START_TAG("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
@ -691,111 +627,80 @@ static INPUT_PORTS_START( rpatrol )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
#define SWIMIN0\
|
||||
PORT_START_TAG("IN0")\
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL\
|
||||
static INPUT_PORTS_START( swimmer )
|
||||
PORT_START_TAG("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
#define SWIMIN1\
|
||||
PORT_START_TAG("IN1")\
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY\
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY\
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY\
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY\
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )\
|
||||
PORT_START_TAG("P2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
#define SWIMDSW1\
|
||||
PORT_START_TAG("DSW1")\
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )\
|
||||
PORT_DIPSETTING( 0x00, "3" )\
|
||||
PORT_DIPSETTING( 0x01, "4" )\
|
||||
PORT_DIPSETTING( 0x02, "5" )\
|
||||
PORT_DIPSETTING( 0x03, "Infinite (Cheat)")\
|
||||
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )\
|
||||
PORT_DIPSETTING( 0x00, "10000" )\
|
||||
PORT_DIPSETTING( 0x04, "20000" )\
|
||||
PORT_DIPSETTING( 0x08, "30000" )\
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( None ) )\
|
||||
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) )\
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )\
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )\
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )\
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_3C ) )\
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) )\
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )\
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )\
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )\
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW A:!1,!2")
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
PORT_DIPSETTING( 0x02, "5" )
|
||||
PORT_DIPSETTING( 0x03, "Infinite (Cheat)")
|
||||
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW A:!3,!4")
|
||||
PORT_DIPSETTING( 0x00, "10000" )
|
||||
PORT_DIPSETTING( 0x04, "20000" )
|
||||
PORT_DIPSETTING( 0x08, "30000" )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( None ) )
|
||||
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW A:!5,!6")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW A:!7,!8")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) )
|
||||
|
||||
#define SWIMIN4\
|
||||
PORT_START_TAG("IN4")\
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )\
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )\
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
static INPUT_PORTS_START( swimmer )
|
||||
SWIMIN0
|
||||
SWIMIN1
|
||||
SWIMDSW1
|
||||
|
||||
PORT_START_TAG("IN3") /* DSW2 */
|
||||
PORT_START_TAG("DSW2")
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW B:!1")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW B:!2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW B:!3,!4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) // labeled this way for similarities with 'swimmerb'
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) // labeled this way for similarities with 'swimmerb'
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Harder ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) )
|
||||
|
||||
SWIMIN4
|
||||
PORT_START_TAG("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Same as 'swimmer' but different "Difficulty" Dip Switch */
|
||||
static INPUT_PORTS_START( swimmerb )
|
||||
SWIMIN0
|
||||
SWIMIN1
|
||||
SWIMDSW1
|
||||
PORT_INCLUDE( swimmer )
|
||||
|
||||
PORT_START_TAG("IN3") /* DSW2 */
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
|
||||
PORT_MODIFY("DSW2")
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW B:!3")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
SWIMIN4
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // SW B:!4
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( guzzler )
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_START_TAG("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
|
||||
@ -803,43 +708,51 @@ static INPUT_PORTS_START( guzzler )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START_TAG("DSW0")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_START_TAG("P2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW A:!1,!2")
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
PORT_DIPSETTING( 0x02, "5" )
|
||||
PORT_DIPSETTING( 0x03, "Infinite (Cheat)")
|
||||
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW A:!3,!4")
|
||||
PORT_DIPSETTING( 0x04, "20K, every 50K" )
|
||||
PORT_DIPSETTING( 0x00, "30K, every 100K" )
|
||||
PORT_DIPSETTING( 0x08, "30K only" )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( None ) )
|
||||
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) )
|
||||
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW A:!5,!6")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW A:!7,!8")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) )
|
||||
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_START_TAG("DSW2")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW B:!1")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, "High Score Names" )
|
||||
PORT_DIPNAME( 0x20, 0x00, "High Score Names" ) PORT_DIPLOCATION("SW B:!2")
|
||||
PORT_DIPSETTING( 0x20, "3 Letters" )
|
||||
PORT_DIPSETTING( 0x00, "10 Letters" )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW B:!3,!4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Medium ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) )
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_START_TAG("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
@ -848,7 +761,7 @@ static INPUT_PORTS_START( guzzler )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( yamato )
|
||||
PORT_START
|
||||
PORT_START_TAG("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
@ -858,7 +771,7 @@ static INPUT_PORTS_START( yamato )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("P2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
@ -868,7 +781,7 @@ static INPUT_PORTS_START( yamato )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
@ -893,7 +806,7 @@ static INPUT_PORTS_START( yamato )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) /* set 1 only */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
@ -903,7 +816,7 @@ static INPUT_PORTS_START( yamato )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* IN3 */
|
||||
PORT_START_TAG("START")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
@ -915,21 +828,21 @@ static INPUT_PORTS_START( yamato )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( toprollr )
|
||||
PORT_START
|
||||
PORT_START_TAG("P1")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("P2")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("DSW")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
@ -954,7 +867,7 @@ static INPUT_PORTS_START( toprollr )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
|
||||
PORT_START
|
||||
PORT_START_TAG("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
@ -859,164 +859,153 @@ ADDRESS_MAP_END
|
||||
/* The input ports are identical for the real one and the bootleg one, except
|
||||
that one of the languages is Italian in the bootleg one instead of Spanish */
|
||||
|
||||
#define PORTS(GAMENAME, FOURTH_LANGUAGE) \
|
||||
\
|
||||
static INPUT_PORTS_START( GAMENAME ) \
|
||||
PORT_START_TAG("IN0") /* IN0 */ \
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */ \
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet )) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright )) \
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Cocktail )) \
|
||||
PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) \
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK ) \
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */ \
|
||||
\
|
||||
PORT_START_TAG("IN1") /* IN1 */ \
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) \
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) \
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) \
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL \
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT ) \
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) \
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) \
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) \
|
||||
\
|
||||
PORT_START_TAG("IN2") /* IN2 */ \
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */ \
|
||||
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */ \
|
||||
\
|
||||
PORT_START_TAG("IN3") /* IN3 */ \
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL \
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL \
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL \
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL \
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY \
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY \
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY \
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY \
|
||||
\
|
||||
PORT_START_TAG("DSW1") /* IN4 */ \
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("N9:1,2") \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) ) \
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( German ) ) \
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( French ) ) \
|
||||
PORT_DIPSETTING( 0x03, FOURTH_LANGUAGE ) \
|
||||
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives )) PORT_DIPLOCATION("N9:3,4") \
|
||||
PORT_DIPSETTING( 0x00, "2" ) \
|
||||
PORT_DIPSETTING( 0x04, "3" ) \
|
||||
PORT_DIPSETTING( 0x08, "4" ) \
|
||||
PORT_DIPSETTING( 0x0c, "5" ) \
|
||||
PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life )) PORT_DIPLOCATION("N9:5,6")\
|
||||
PORT_DIPSETTING( 0x00, "10000" ) \
|
||||
PORT_DIPSETTING( 0x10, "12000" ) \
|
||||
PORT_DIPSETTING( 0x20, "15000" ) \
|
||||
PORT_DIPSETTING( 0x30, "20000" ) \
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty )) PORT_DIPLOCATION("N9:7") \
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) \
|
||||
PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("N9:8") \
|
||||
PORT_DIPSETTING( 0x00, "1" ) \
|
||||
PORT_DIPSETTING( 0x80, "2" ) \
|
||||
\
|
||||
PORT_START_TAG("DSW2") /* IN5 */ \
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage )) PORT_DIPLOCATION("N8:1,2") \
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C )) \
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C )) \
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C )) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play )) \
|
||||
PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("N8:3,4") \
|
||||
PORT_DIPSETTING( 0x00, "*1" ) \
|
||||
PORT_DIPSETTING( 0x04, "*4" ) \
|
||||
PORT_DIPSETTING( 0x08, "*5" ) \
|
||||
PORT_DIPSETTING( 0x0c, "*6" ) \
|
||||
PORT_DIPNAME( 0x10, 0x00, "Left Coin" ) PORT_DIPLOCATION("N8:5") \
|
||||
PORT_DIPSETTING( 0x00, "*1" ) \
|
||||
PORT_DIPSETTING( 0x10, "*2" ) \
|
||||
PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("N8:6,7,8") \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( None ) ) \
|
||||
PORT_DIPSETTING( 0x20, "3 credits/2 coins" ) \
|
||||
PORT_DIPSETTING( 0x40, "5 credits/4 coins" ) \
|
||||
PORT_DIPSETTING( 0x60, "6 credits/4 coins" ) \
|
||||
PORT_DIPSETTING( 0x80, "6 credits/5 coins" ) \
|
||||
PORT_DIPSETTING( 0xa0, "4 credits/3 coins" ) \
|
||||
\
|
||||
PORT_START_TAG("TRACK0_X") /* IN6, fake trackball input port. */ \
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE \
|
||||
\
|
||||
PORT_START_TAG("TRACK0_Y") /* IN7, fake trackball input port. */ \
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) \
|
||||
\
|
||||
PORT_START_TAG("TRACK1_X") /* IN8, fake trackball input port. */ \
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_COCKTAIL \
|
||||
\
|
||||
PORT_START_TAG("TRACK1_Y") /* IN9, fake trackball input port. */ \
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_COCKTAIL \
|
||||
INPUT_PORTS_END
|
||||
|
||||
PORTS(centiped, DEF_STR( Spanish ))
|
||||
PORTS(caterplr, DEF_STR( Italian ))
|
||||
|
||||
|
||||
static INPUT_PORTS_START( centtime )
|
||||
PORT_START_TAG("IN0") /* IN0 */
|
||||
static INPUT_PORTS_START( centiped )
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Cocktail ) )
|
||||
PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
|
||||
|
||||
PORT_START_TAG("IN1") /* IN1 */
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
|
||||
PORT_START_TAG("IN2") /* IN2 */
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
|
||||
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
|
||||
|
||||
PORT_START_TAG("IN3") /* IN3 */
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_START_TAG("IN3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
|
||||
PORT_START_TAG("DSW1") /* IN4 */
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("N9:1,2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( German ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( French ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Spanish ) )
|
||||
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("N9:3,4")
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x08, "4" )
|
||||
PORT_DIPSETTING( 0x0c, "5" )
|
||||
PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("N9:5,6")
|
||||
PORT_DIPSETTING( 0x00, "10000" )
|
||||
PORT_DIPSETTING( 0x10, "12000" )
|
||||
PORT_DIPSETTING( 0x20, "15000" )
|
||||
PORT_DIPSETTING( 0x30, "20000" )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("N9:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("N9:8")
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x80, "2" )
|
||||
|
||||
PORT_START_TAG("DSW2")
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("N8:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("N8:3,4")
|
||||
PORT_DIPSETTING( 0x00, "*1" )
|
||||
PORT_DIPSETTING( 0x04, "*4" )
|
||||
PORT_DIPSETTING( 0x08, "*5" )
|
||||
PORT_DIPSETTING( 0x0c, "*6" )
|
||||
PORT_DIPNAME( 0x10, 0x00, "Left Coin" ) PORT_DIPLOCATION("N8:5")
|
||||
PORT_DIPSETTING( 0x00, "*1" )
|
||||
PORT_DIPSETTING( 0x10, "*2" )
|
||||
PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" ) PORT_DIPLOCATION("N8:6,7,8") \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
|
||||
PORT_DIPSETTING( 0x20, "3 credits/2 coins" )
|
||||
PORT_DIPSETTING( 0x40, "5 credits/4 coins" )
|
||||
PORT_DIPSETTING( 0x60, "6 credits/4 coins" )
|
||||
PORT_DIPSETTING( 0x80, "6 credits/5 coins" )
|
||||
PORT_DIPSETTING( 0xa0, "4 credits/3 coins" )
|
||||
|
||||
PORT_START_TAG("TRACK0_X") /* IN6, fake trackball input port. */
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE
|
||||
|
||||
PORT_START_TAG("TRACK0_Y") /* IN7, fake trackball input port. */
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
|
||||
|
||||
PORT_START_TAG("TRACK1_X") /* IN8, fake trackball input port. */
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_COCKTAIL
|
||||
|
||||
PORT_START_TAG("TRACK1_Y") /* IN9, fake trackball input port. */
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_COCKTAIL
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( caterplr )
|
||||
PORT_INCLUDE( centiped )
|
||||
|
||||
PORT_MODIFY("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("N9:1,2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( German ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( French ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Italian ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( centtime )
|
||||
PORT_INCLUDE( centiped )
|
||||
|
||||
PORT_MODIFY("IN0")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_MODIFY("IN1")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_MODIFY("IN3")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_MODIFY("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:1,2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( German ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( French ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Spanish ) )
|
||||
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives )) PORT_DIPLOCATION("SW1:3,4")
|
||||
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:3,4")
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x08, "4" )
|
||||
PORT_DIPSETTING( 0x0c, "5" )
|
||||
PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life )) PORT_DIPLOCATION("SW1:5,6")
|
||||
PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:5,6")
|
||||
PORT_DIPSETTING( 0x00, "10000" )
|
||||
PORT_DIPSETTING( 0x10, "12000" )
|
||||
PORT_DIPSETTING( 0x20, "15000" )
|
||||
PORT_DIPSETTING( 0x30, "20000" )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty )) PORT_DIPLOCATION("SW1:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("SW1:8")
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x80, "2" )
|
||||
|
||||
PORT_START_TAG("DSW2") /* IN5 */
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage )) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
|
||||
PORT_MODIFY("DSW2")
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Game_Time ) ) PORT_DIPLOCATION("SW2:3,4,5")
|
||||
PORT_DIPSETTING( 0x00, "Untimed" )
|
||||
PORT_DIPSETTING( 0x04, "1 Minute" )
|
||||
@ -1034,54 +1023,30 @@ static INPUT_PORTS_START( centtime )
|
||||
PORT_DIPSETTING( 0x80, "6 credits/5 coins" )
|
||||
PORT_DIPSETTING( 0xa0, "4 credits/3 coins" )
|
||||
|
||||
PORT_START_TAG("TRACK0_X") /* IN6, fake trackball input port. */
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE
|
||||
|
||||
PORT_START_TAG("TRACK0_Y") /* IN7, fake trackball input port. */
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
|
||||
|
||||
PORT_START_TAG("TRACK1_X") /* IN8, place for cocktail trackball (not used) */
|
||||
PORT_MODIFY("TRACK1_X") /* IN8, place for cocktail trackball (not used) */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START_TAG("TRACK1_Y") /* IN9, place for cocktail trackball (not used) */
|
||||
PORT_MODIFY("TRACK1_Y") /* IN9, place for cocktail trackball (not used) */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( magworm )
|
||||
PORT_START_TAG("IN0") /* IN0 */
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ))
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Cocktail ))
|
||||
PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
|
||||
PORT_INCLUDE( centiped )
|
||||
|
||||
PORT_START_TAG("IN1") /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_MODIFY("IN1")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
|
||||
PORT_START_TAG("IN2") /* IN2 */
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
|
||||
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
|
||||
|
||||
PORT_START_TAG("IN3") /* IN3 */
|
||||
PORT_MODIFY("IN3")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START_TAG("DSW1") /* IN4 */
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage )) PORT_DIPLOCATION("SW1:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
|
||||
PORT_MODIFY("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("SW1:3,4")
|
||||
PORT_DIPSETTING( 0x00, "*3" )
|
||||
PORT_DIPSETTING( 0x04, "*7" )
|
||||
@ -1092,13 +1057,13 @@ static INPUT_PORTS_START( magworm )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( German ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( French ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( Spanish ) )
|
||||
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives )) PORT_DIPLOCATION("SW1:7,8")
|
||||
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:7,8")
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x40, "3" )
|
||||
PORT_DIPSETTING( 0x80, "4" )
|
||||
PORT_DIPSETTING( 0xc0, "5" )
|
||||
|
||||
PORT_START_TAG("DSW2") /* IN5 */
|
||||
PORT_MODIFY("DSW2")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Left Coin" ) PORT_DIPLOCATION("SW2:1")
|
||||
PORT_DIPSETTING( 0x00, "*1" )
|
||||
PORT_DIPSETTING( 0x01, "*2" )
|
||||
@ -1109,34 +1074,22 @@ static INPUT_PORTS_START( magworm )
|
||||
PORT_DIPSETTING( 0x06, "6 credits/4 coins" )
|
||||
PORT_DIPSETTING( 0x08, "6 credits/5 coins" )
|
||||
PORT_DIPSETTING( 0x0a, "4 credits/3 coins" )
|
||||
PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life )) PORT_DIPLOCATION("SW2:5,6")
|
||||
PORT_DIPNAME( 0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6")
|
||||
PORT_DIPSETTING( 0x00, "10000" )
|
||||
PORT_DIPSETTING( 0x10, "12000" )
|
||||
PORT_DIPSETTING( 0x20, "15000" )
|
||||
PORT_DIPSETTING( 0x30, "20000" )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty )) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("SW2:8")
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x80, "2" )
|
||||
|
||||
PORT_START_TAG("TRACK0_X") /* IN6, fake trackball input port. */
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE
|
||||
|
||||
PORT_START_TAG("TRACK0_Y") /* IN7, fake trackball input port. */
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
|
||||
|
||||
PORT_START_TAG("TRACK1_X") /* IN8, fake trackball input port. */
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_COCKTAIL
|
||||
|
||||
PORT_START_TAG("TRACK1_Y") /* IN9, fake trackball input port. */
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_COCKTAIL
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( milliped )
|
||||
PORT_START_TAG("IN0") /* IN0 $2000 */ /* see port 6 for x trackball */
|
||||
PORT_START_TAG("IN0") /* $2000 */ /* see port 6 for x trackball */
|
||||
PORT_DIPNAME(0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("P8:1,2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( German ) )
|
||||
@ -1147,62 +1100,62 @@ static INPUT_PORTS_START( milliped )
|
||||
PORT_DIPSETTING( 0x04, "0 1x" )
|
||||
PORT_DIPSETTING( 0x08, "0 1x 2x" )
|
||||
PORT_DIPSETTING( 0x0c, "0 1x 2x 3x" )
|
||||
PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
|
||||
|
||||
PORT_START_TAG("IN1") /* IN1 $2001 */ /* see port 7 for y trackball */
|
||||
PORT_START_TAG("IN1") /* $2001 */ /* see port 7 for y trackball */
|
||||
/* these bits are unused */
|
||||
PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_DIPNAME(0x04, 0x00, "Credit Minimum" ) PORT_DIPLOCATION("P8:7")
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x04, "2" )
|
||||
PORT_DIPNAME(0x08, 0x00, "Coin Counters" ) PORT_DIPLOCATION("P8:8")
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x08, "2" )
|
||||
PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
|
||||
|
||||
PORT_START_TAG("IN2") /* IN2 $2010 */
|
||||
PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_START_TAG("IN2") /* $2010 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
|
||||
PORT_START_TAG("IN3") /* IN3 $2011 */
|
||||
PORT_START_TAG("IN3") /* $2011 */
|
||||
/* Note, joystick X input for player 2 are bad in software */
|
||||
PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_DIPNAME(0x20, 0x20, DEF_STR( Cabinet ))
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Upright ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ))
|
||||
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_DIPNAME(0x20, 0x20, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START_TAG("DSW1") /* 4 */ /* DSW1 $0408 */
|
||||
PORT_START_TAG("DSW1") /* $0408 */
|
||||
PORT_DIPNAME(0x01, 0x00, "Millipede Head" ) PORT_DIPLOCATION("D5:1")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
|
||||
PORT_DIPNAME(0x02, 0x00, "Beetle" ) PORT_DIPLOCATION("D5:2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
|
||||
PORT_DIPNAME(0x0c, 0x04, DEF_STR( Lives )) PORT_DIPLOCATION("D5:3,4")
|
||||
PORT_DIPNAME(0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("D5:3,4")
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x08, "4" )
|
||||
PORT_DIPSETTING( 0x0c, "5" )
|
||||
PORT_DIPNAME(0x30, 0x10, DEF_STR( Bonus_Life )) PORT_DIPLOCATION("D5:5,6")
|
||||
PORT_DIPNAME(0x30, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("D5:5,6")
|
||||
PORT_DIPSETTING( 0x00, "12000" )
|
||||
PORT_DIPSETTING( 0x10, "15000" )
|
||||
PORT_DIPSETTING( 0x20, "20000" )
|
||||
@ -1211,15 +1164,15 @@ static INPUT_PORTS_START( milliped )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
|
||||
PORT_DIPNAME(0x80, 0x00, "Starting Score Select" ) PORT_DIPLOCATION("D5:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ))
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START_TAG("DSW2") /* 5 */ /* DSW2 $0808 */
|
||||
PORT_DIPNAME(0x03, 0x02, DEF_STR( Coinage )) PORT_DIPLOCATION("B5:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
|
||||
PORT_START_TAG("DSW2") /* $0808 */
|
||||
PORT_DIPNAME(0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("B5:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME(0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("B5:3,4")
|
||||
PORT_DIPSETTING( 0x00, "*1" )
|
||||
PORT_DIPSETTING( 0x04, "*4" )
|
||||
@ -1252,18 +1205,18 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( warlords )
|
||||
PORT_START_TAG("IN0") /* IN0 */
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x10, 0x00, "Diag Step" ) /* Not referenced */
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ))
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x80, "Upright (overlay)" )
|
||||
PORT_DIPSETTING( 0x00, "Cocktail (no overlay)" )
|
||||
|
||||
PORT_START_TAG("IN1") /* IN1 */
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
|
||||
@ -1273,7 +1226,7 @@ static INPUT_PORTS_START( warlords )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
|
||||
PORT_START_TAG("DSW1") /* IN2 */
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("J2:1,2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( French ) )
|
||||
@ -1288,12 +1241,12 @@ static INPUT_PORTS_START( warlords )
|
||||
PORT_DIPSETTING( 0x10, "1p = 1, 2p = 2" )
|
||||
PORT_DIPSETTING( 0x20, "1p/2p = 2 credits" )
|
||||
|
||||
PORT_START_TAG("DSW2") /* IN3 */
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage )) PORT_DIPLOCATION("M2:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
|
||||
PORT_START_TAG("DSW2")
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("M2:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME( 0x0c, 0x00, "Right Coin" ) PORT_DIPLOCATION("M2:3,4")
|
||||
PORT_DIPSETTING( 0x00, "*1" )
|
||||
PORT_DIPSETTING( 0x04, "*4" )
|
||||
@ -1325,33 +1278,33 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( mazeinv )
|
||||
PORT_START_TAG("IN0") /* IN0 */
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ))
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( German ))
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( French ))
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Spanish ))
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ))
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( German ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( French ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Spanish ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, "Minimum credits" )
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x40, "2" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
|
||||
PORT_START_TAG("IN1") /* IN1 */
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START_TAG("IN2") /* IN2 */
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
@ -1361,7 +1314,7 @@ static INPUT_PORTS_START( mazeinv )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON4 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
|
||||
PORT_START_TAG("IN3") /* IN3 */
|
||||
PORT_START_TAG("IN3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
@ -1371,13 +1324,13 @@ static INPUT_PORTS_START( mazeinv )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START_TAG("DSW1") /* IN4 */
|
||||
PORT_START_TAG("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x00, "Doors for bonus" )
|
||||
PORT_DIPSETTING( 0x00, "10" )
|
||||
PORT_DIPSETTING( 0x01, "12" )
|
||||
PORT_DIPSETTING( 0x02, "14" )
|
||||
PORT_DIPSETTING( 0x03, "16" )
|
||||
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ))
|
||||
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x08, "4" )
|
||||
@ -1387,18 +1340,18 @@ static INPUT_PORTS_START( mazeinv )
|
||||
PORT_DIPSETTING( 0x10, "25000" )
|
||||
PORT_DIPSETTING( 0x20, "30000" )
|
||||
PORT_DIPSETTING( 0x30, "Never" )
|
||||
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Easier ))
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Easy ))
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Hard ))
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Harder ))
|
||||
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Easier ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Harder ) )
|
||||
|
||||
PORT_START_TAG("DSW2") /* IN5 */
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ))
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
|
||||
PORT_START_TAG("DSW2")
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
PORT_DIPNAME( 0x0c, 0x00, "Right Coin" )
|
||||
PORT_DIPSETTING( 0x00, "*1" )
|
||||
PORT_DIPSETTING( 0x04, "*4" )
|
||||
@ -1408,7 +1361,7 @@ static INPUT_PORTS_START( mazeinv )
|
||||
PORT_DIPSETTING( 0x00, "*1" )
|
||||
PORT_DIPSETTING( 0x10, "*2" )
|
||||
PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( None ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
|
||||
PORT_DIPSETTING( 0x20, "3 credits/2 coins" )
|
||||
PORT_DIPSETTING( 0x40, "5 credits/4 coins" )
|
||||
PORT_DIPSETTING( 0x60, "6 credits/4 coins" )
|
||||
@ -1419,22 +1372,24 @@ static INPUT_PORTS_START( mazeinv )
|
||||
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_Y ) PORT_MINMAX(0x40, 0xbf) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(1)
|
||||
|
||||
PORT_START_TAG("STICK1")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START_TAG("STICK2")
|
||||
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_X ) PORT_MINMAX(0x40, 0xbf) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
|
||||
PORT_START_TAG("STICK3")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( bullsdrt )
|
||||
PORT_START_TAG("IN0") /* IN0 */
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
|
||||
PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
|
||||
|
||||
PORT_START_TAG("IN1") /* IN1 */
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
@ -1444,7 +1399,7 @@ static INPUT_PORTS_START( bullsdrt )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
|
||||
PORT_START_TAG("IN2") /* IN2 */
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball data */
|
||||
PORT_BIT( 0x70, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* trackball sign bit */
|
||||
@ -1509,8 +1464,10 @@ static INPUT_PORTS_START( bullsdrt )
|
||||
|
||||
/* 2008-06 FP: was bullsdrt available as cocktail? If not, these can be removed */
|
||||
PORT_START_TAG("TRACK1_X")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START_TAG("TRACK1_Y")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user