Made some fixes/additions to the input system [kanikani]

* Added the possibility to press contradictory direction digital
joystick input at the same time (i.e. up-down, left-right);
* Added the possibility to set an arbitrary value for coin impulses;
* fixed a bug with loop lever routine
* fixed a bug with analog joystick routine


Various fixes in tnzs.c driver [kanikani]
* Plump Pop
  - update DIPSW item (collision between each players' child)
  - added DIPLOCATION
* Extermination
* Arkanoid Revenge of DOH
* Dr.Toppel
* Kageki
* Chuka Taisen
* The Newzealand Story
  - added DIPLOCATION
* Kabuki Z
  - fixed difficulty DIPSW (EASY and MEDIUM is reversed)
  - added DIPLOCATION
* Insector X
  - fixed difficulty DIPSW (based on manual)
  - added DIPLOCATION
  

Various fixes in tmnt.c driver [kanikani]
* T.M.N.T.
  - fixed visible area (garbage on each side is correct (verified on PCB))
  - fixed DIPSW
  - added DIPLOCATION
* Golfing Greats
  - fixed inputs
  - fixed DIPSW
  - added DIPLOCATION
* Trigon
* Cuebrick
* M.I.A.
* Punk Shot
  - fixed DIPSW
  - added DIPLOCATION
* Premiere Soccer
  - added DIPLOCATION


Various fixes in ninjaw.c driver [kanikani]
* Ninja Warriors
  - added DIPSW notes
* Darius II
  - fixed DIPSW
  - fixed game description


Various fixes in twin16.c driver [kanikani]
* Majuu no Oukoku
  - fixed inputs
  - fixed DIPSW
  - added DIPLOCATION
* Gradius II
* Hard Puncher
* M.I.A.
* Cuebrick
  - fixed DIPSW
  - added DIPLOCATION


Fixed DIPSW in Darius II [kanikani]

Fixed DIPSW in Ninja Ryuukenden / Ninja Gaiden [kanikani]

Fixed inputs and DIPSW in toaplan1.c, toaplan2.c, twincobr.c, wardner.c drivers [kanikani]


Various fixes in galaga.c driver [kanikani]
* Bosconian
  - fixed DIPSW
  - fixed DIPLOCATION
* Galaga
* Xevious
* DigDug
  - fixed DIPLOCATION


Fixed DIPSW and DIPLOCATION in segas24.c driver [kanikani]


Fixed DIPSW and DIPLOCATION in segas18.c driver [kanikani]


Fixed DIPSW in segag80r.c driver [kanikani]


Fixed DIPSW in segag80v.c driver [kanikani]


Fixed DIPSW in segald.c driver [kanikani]


Fixed DIPSW in Ninjakun and Penguin-Kun Wars [kanikani]


Various fixes in dec0.c driver [kanikani]
* Heavy Barrel
  - fixed DIPSW
  - fixed DIPLOCATION
* Birdie Try
* Dragon Ninja
* Fighting Fantasy
* Midnight Resistance
  - fixed DIPSW
* Robocop
  - fixed DIPLOCATION


Fixed coinage DIPSW using Sega common setting in segaybd.c,
segaorun.c, segaxbd.c, segahang.c, segae.c, segac2.c, segas16a.c
and segas16b.c drivers [kanikani]


Fixed coinage DIPSW using Konami common setting in chqflag.c, pooyan.c
and rockrage.c drivers [kanikani]

Various fixes in sega16b.c driver [kanikani]
* Ace Attacker
  - added I/O board read routine
* Dunk Shot
  - fixed DIPLOCATION
* Sukeban Janshi Ryuko
  - added DIPSW
* Time Scanner
  - fixed DIPSW

Various fixes in sega16a.c driver [kanikani]
* Ace Attacker
  - changed to use analog device
* Sukeban Janshi Ryuko
  - added DIPSW
* Time Scanner
  - fixed DIPSW


Fixed / added comments in ninjakd2.c driver [kanikani]


Made some video optimizations in toypop.c driver [kanikani]


Fixed inputs and DIPSW in djmain.c driver [kanikani]


Fixed DIPLOCATION in Pop'n Stage [kanikani]
This commit is contained in:
Angelo Salese 2011-10-23 13:29:16 +00:00
parent 3d42b012fd
commit 43a482c6eb
42 changed files with 7811 additions and 6073 deletions

View File

@ -161,6 +161,8 @@ const options_entry emu_options::s_option_entries[] =
{ OPTION_JOYSTICK_DEADZONE ";joy_deadzone;jdz", "0.3", OPTION_FLOAT, "center deadzone range for joystick where change is ignored (0.0 center, 1.0 end)" },
{ OPTION_JOYSTICK_SATURATION ";joy_saturation;jsat", "0.85", OPTION_FLOAT, "end of axis saturation range for joystick where change is ignored (0.0 center, 1.0 end)" },
{ OPTION_NATURAL_KEYBOARD ";nat", "0", OPTION_BOOLEAN, "specifies whether to use a natural keyboard or not" },
{ OPTION_JOYSTICK_CONTRADICTORY, "0", OPTION_BOOLEAN, "enable contradictory direction digital joystick input at the same time" },
{ OPTION_COIN_IMPULSE, "0", OPTION_INTEGER, "set coin impulse time (n<0 disable impulse, n==0 obey driver, 0<n set time n)" },
// input autoenable options
{ NULL, NULL, OPTION_HEADER, "CORE INPUT AUTOMATIC ENABLE OPTIONS" },

View File

@ -167,6 +167,8 @@ enum
#define OPTION_JOYSTICK_DEADZONE "joystick_deadzone"
#define OPTION_JOYSTICK_SATURATION "joystick_saturation"
#define OPTION_NATURAL_KEYBOARD "natural"
#define OPTION_JOYSTICK_CONTRADICTORY "joystick_contradictory"
#define OPTION_COIN_IMPULSE "coin_impulse"
// input autoenable options
#define OPTION_PADDLE_DEVICE "paddle_device"
@ -327,6 +329,8 @@ public:
bool steadykey() const { return bool_value(OPTION_STEADYKEY); }
bool offscreen_reload() const { return bool_value(OPTION_OFFSCREEN_RELOAD); }
bool natural_keyboard() const { return bool_value(OPTION_NATURAL_KEYBOARD); }
bool joystick_contradictory() const { return bool_value(OPTION_JOYSTICK_CONTRADICTORY); }
int coin_impulse() const { return int_value(OPTION_COIN_IMPULSE); }
// core debugging options
bool verbose() const { return bool_value(OPTION_VERBOSE); }

View File

@ -723,20 +723,23 @@ void info_xml_creator::output_input(const ioport_list &portlist)
// enumerated list of control types
enum
{
ANALOG_TYPE_PADDLE,
ANALOG_TYPE_PEDAL,
ANALOG_TYPE_JOYSTICK,
ANALOG_TYPE_POSITIONAL,
ANALOG_TYPE_LIGHTGUN,
ANALOG_TYPE_DIAL,
ANALOG_TYPE_TRACKBALL,
ANALOG_TYPE_PADDLE,
ANALOG_TYPE_LIGHTGUN,
ANALOG_TYPE_PEDAL,
ANALOG_TYPE_MOUSE,
ANALOG_TYPE_COUNT
};
// directions
const UINT8 DIR_LEFTRIGHT = 0x01;
const UINT8 DIR_UPDOWN = 0x02;
const UINT8 DIR_4WAY = 0x04;
const UINT8 DIR_DUAL = 0x08;
const UINT8 DIR_UP = 0x01;
const UINT8 DIR_DOWN = 0x02;
const UINT8 DIR_LEFT = 0x04;
const UINT8 DIR_RIGHT = 0x08;
const UINT8 DIR_4WAY = 0x10;
// initialize the list of control types
struct
@ -757,11 +760,14 @@ void info_xml_creator::output_input(const ioport_list &portlist)
int nplayer = 0;
int nbutton = 0;
int ncoin = 0;
UINT8 joytype = 0;
UINT8 joytype[3] = { 0,0,0 };
bool service = false;
bool tilt = false;
bool keypad = false;
bool keyboard = false;
bool mahjong = false;
bool hanafuda = false;
bool gambling = false;
// iterate over the ports
for (input_port_config *port = portlist.first(); port != NULL; port = port->next())
@ -777,49 +783,37 @@ void info_xml_creator::output_input(const ioport_list &portlist)
switch (field->type)
{
// map which joystick directions are present
case IPT_JOYSTICKRIGHT_LEFT:
case IPT_JOYSTICKRIGHT_RIGHT:
case IPT_JOYSTICKLEFT_LEFT:
case IPT_JOYSTICKLEFT_RIGHT:
joytype |= DIR_DUAL;
// fall through...
case IPT_JOYSTICK_UP: joytype[0] |= DIR_UP | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICK_DOWN: joytype[0] |= DIR_DOWN | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICK_LEFT: joytype[0] |= DIR_LEFT | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICK_RIGHT: joytype[0] |= DIR_RIGHT | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICK_LEFT:
case IPT_JOYSTICK_RIGHT:
joytype |= DIR_LEFTRIGHT | ((field->way == 4) ? DIR_4WAY : 0);
break;
case IPT_JOYSTICKLEFT_UP: joytype[1] |= DIR_UP | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICKLEFT_DOWN: joytype[1] |= DIR_DOWN | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICKLEFT_LEFT: joytype[1] |= DIR_LEFT | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICKLEFT_RIGHT: joytype[1] |= DIR_RIGHT | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICKRIGHT_UP:
case IPT_JOYSTICKRIGHT_DOWN:
case IPT_JOYSTICKLEFT_UP:
case IPT_JOYSTICKLEFT_DOWN:
joytype |= DIR_DUAL;
// fall through...
case IPT_JOYSTICK_UP:
case IPT_JOYSTICK_DOWN:
joytype |= DIR_UPDOWN | ((field->way == 4) ? DIR_4WAY : 0);
break;
case IPT_JOYSTICKRIGHT_UP: joytype[2] |= DIR_UP | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICKRIGHT_DOWN: joytype[2] |= DIR_DOWN | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICKRIGHT_LEFT: joytype[2] |= DIR_LEFT | ((field->way == 4) ? DIR_4WAY : 0); break;
case IPT_JOYSTICKRIGHT_RIGHT: joytype[2] |= DIR_RIGHT | ((field->way == 4) ? DIR_4WAY : 0); break;
// mark as an analog input, and get analog stats after switch
case IPT_AD_STICK_X:
case IPT_AD_STICK_Y:
case IPT_AD_STICK_Z:
control_info[analogtype = ANALOG_TYPE_JOYSTICK].type = "stick";
break;
case IPT_PADDLE:
case IPT_PADDLE_V:
control_info[analogtype = ANALOG_TYPE_PADDLE].type = "paddle";
break;
case IPT_DIAL:
control_info[analogtype = ANALOG_TYPE_DIAL].type = "dial";
analogtype = ANALOG_TYPE_DIAL;
break;
case IPT_TRACKBALL_X:
case IPT_TRACKBALL_Y:
control_info[analogtype = ANALOG_TYPE_TRACKBALL].type = "trackball";
analogtype = ANALOG_TYPE_TRACKBALL;
break;
case IPT_AD_STICK_X:
case IPT_AD_STICK_Y:
control_info[analogtype = ANALOG_TYPE_JOYSTICK].type = "stick";
case IPT_PEDAL:
case IPT_PEDAL2:
case IPT_PEDAL3:
control_info[analogtype = ANALOG_TYPE_PEDAL].type = "pedal";
break;
case IPT_LIGHTGUN_X:
@ -827,10 +821,24 @@ void info_xml_creator::output_input(const ioport_list &portlist)
control_info[analogtype = ANALOG_TYPE_LIGHTGUN].type = "lightgun";
break;
case IPT_PEDAL:
case IPT_PEDAL2:
case IPT_PEDAL3:
control_info[analogtype = ANALOG_TYPE_PEDAL].type = "pedal";
case IPT_POSITIONAL:
case IPT_POSITIONAL_V:
control_info[analogtype = ANALOG_TYPE_POSITIONAL].type = "positional";
break;
case IPT_DIAL:
case IPT_DIAL_V:
control_info[analogtype = ANALOG_TYPE_DIAL].type = "dial";
break;
case IPT_TRACKBALL_X:
case IPT_TRACKBALL_Y:
control_info[analogtype = ANALOG_TYPE_TRACKBALL].type = "trackball";
break;
case IPT_MOUSE_X:
case IPT_MOUSE_Y:
control_info[analogtype = ANALOG_TYPE_MOUSE].type = "mouse";
break;
// track maximum button index
@ -882,6 +890,15 @@ void info_xml_creator::output_input(const ioport_list &portlist)
case IPT_TILT:
tilt = true;
break;
default:
if (field->type >= __ipt_mahjong_start && field->type <= __ipt_mahjong_end)
mahjong = true;
else if (field->type >= __ipt_hanafuda_start && field->type <= __ipt_hanafuda_end)
hanafuda = true;
else if (field->type >= __ipt_gambling_start && field->type <= __ipt_gambling_end)
gambling = true;
break;
}
// get the analog stats
@ -914,12 +931,47 @@ void info_xml_creator::output_input(const ioport_list &portlist)
fprintf(m_output, ">\n");
// output the joystick types
if (joytype != 0)
if (joytype[1]==0 && joytype[2]!=0) { joytype[1] = joytype[2]; joytype[2] = 0; }
if (joytype[0]==0 && joytype[1]!=0) { joytype[0] = joytype[1]; joytype[1] = 0; }
if (joytype[1]==0 && joytype[2]!=0) { joytype[1] = joytype[2]; joytype[2] = 0; }
if (joytype[0] != 0)
{
const char *vertical = ((joytype & DIR_LEFTRIGHT) == 0) ? "v" : "";
const char *doubletype = ((joytype & DIR_DUAL) != 0) ? "doublejoy" : "joy";
const char *way = ((joytype & DIR_LEFTRIGHT) == 0 || (joytype & DIR_UPDOWN) == 0) ? "2way" : ((joytype & DIR_4WAY) != 0) ? "4way" : "8way";
fprintf(m_output, "\t\t\t<control type=\"%s%s%s\"/>\n", vertical, doubletype, way);
const char *joys = (joytype[2]!=0) ? "triple" : (joytype[1]!=0) ? "double" : "";
fprintf(m_output, "\t\t\t<control type=\"%sjoy\"", joys);
for (int lp=0; lp<3 && joytype[lp]!=0; lp++)
{
const char *plural = (lp==2) ? "3" : (lp==1) ? "2" : "";
const char *ways;
switch (joytype[lp] & (DIR_UP | DIR_DOWN | DIR_LEFT | DIR_RIGHT))
{
case DIR_UP | DIR_DOWN | DIR_LEFT | DIR_RIGHT:
ways = ((joytype[lp] & DIR_4WAY) != 0) ? "4" : "8";
break;
case DIR_LEFT | DIR_RIGHT:
ways = "2";
break;
case DIR_UP | DIR_DOWN:
ways = "vertical2";
break;
case DIR_UP:
case DIR_DOWN:
case DIR_LEFT:
case DIR_RIGHT:
ways = "1";
break;
case DIR_UP | DIR_DOWN | DIR_LEFT:
case DIR_UP | DIR_DOWN | DIR_RIGHT:
case DIR_UP | DIR_LEFT | DIR_RIGHT:
case DIR_DOWN | DIR_LEFT | DIR_RIGHT:
ways = ((joytype[lp] & DIR_4WAY) != 0) ? "3 (half4)" : "5 (half8)";
break;
default:
ways = "strange2";
break;
}
fprintf(m_output, " ways%s=\"%s\"", plural,ways);
}
fprintf(m_output, "/>\n");
}
// output analog types
@ -948,6 +1000,14 @@ void info_xml_creator::output_input(const ioport_list &portlist)
if (keyboard)
fprintf(m_output, "\t\t\t<control type=\"keyboard\"/>\n");
// misc
if (mahjong)
fprintf(m_output, "\t\t\t<control type=\"mahjong\"/>\n");
if (hanafuda)
fprintf(m_output, "\t\t\t<control type=\"hanafuda\"/>\n");
if (gambling)
fprintf(m_output, "\t\t\t<control type=\"gambling\"/>\n");
fprintf(m_output, "\t\t</input>\n");
}

View File

@ -637,40 +637,129 @@ static const struct
{ INPUT_STRING_Coinage, "Coinage" },
{ INPUT_STRING_Coin_A, "Coin A" },
{ INPUT_STRING_Coin_B, "Coin B" },
// { INPUT_STRING_20C_1C, "20 Coins/1 Credit" },
// { INPUT_STRING_15C_1C, "15 Coins/1 Credit" },
// { INPUT_STRING_10C_1C, "10 Coins/1 Credit" },
// __input_string_coinage_start
{ INPUT_STRING_9C_1C, "9 Coins/1 Credit" },
{ INPUT_STRING_8C_1C, "8 Coins/1 Credit" },
{ INPUT_STRING_7C_1C, "7 Coins/1 Credit" },
{ INPUT_STRING_6C_1C, "6 Coins/1 Credit" },
// { INPUT_STRING_10C_2C, "10 Coins/2 Credits" },
{ INPUT_STRING_5C_1C, "5 Coins/1 Credit" },
// { INPUT_STRING_9C_2C, "9 Coins/2 Credits" },
// { INPUT_STRING_8C_2C, "8 Coins/2 Credits" },
{ INPUT_STRING_4C_1C, "4 Coins/1 Credit" },
// { INPUT_STRING_7C_2C, "7 Coins/2 Credits" },
// { INPUT_STRING_10C_3C, "10 Coins/3 Credits" },
// { INPUT_STRING_9C_3C, "9 Coins/3 Credits" },
// { INPUT_STRING_6C_2C, "6 Coins/2 Credits" },
{ INPUT_STRING_3C_1C, "3 Coins/1 Credit" },
{ INPUT_STRING_8C_3C, "8 Coins/3 Credits" },
// { INPUT_STRING_10C_4C, "10 Coins/4 Credits" },
// { INPUT_STRING_5C_2C, "5 Coins/2 Credits" },
// { INPUT_STRING_7C_3C, "7 Coins/3 Credits" },
// { INPUT_STRING_9C_4C, "9 Coins/4 Credits" },
// { INPUT_STRING_10C_5C, "10 Coins/5 Credits" },
// { INPUT_STRING_8C_4C, "8 Coins/4 Credits" },
// { INPUT_STRING_6C_3C, "6 Coins/3 Credits" },
{ INPUT_STRING_4C_2C, "4 Coins/2 Credits" },
{ INPUT_STRING_2C_1C, "2 Coins/1 Credit" },
// { INPUT_STRING_9C_5C, "9 Coins/5 Credits" },
// { INPUT_STRING_7C_4C, "7 Coins/4 Credits" },
// { INPUT_STRING_10C_6C, "10 Coins/6 Credits" },
{ INPUT_STRING_5C_3C, "5 Coins/3 Credits" },
// { INPUT_STRING_8C_5C, "8 Coins/5 Credits" },
// { INPUT_STRING_9C_6C, "9 Coins/6 Credits" },
// { INPUT_STRING_6C_4C, "6 Coins/4 Credits" },
{ INPUT_STRING_3C_2C, "3 Coins/2 Credits" },
// { INPUT_STRING_10C_7C, "10 Coins/7 Credits" },
// { INPUT_STRING_7C_5C, "7 Coins/5 Credits" },
// { INPUT_STRING_8C_6C, "8 Coins/6 Credits" },
{ INPUT_STRING_4C_3C, "4 Coins/3 Credits" },
// { INPUT_STRING_9C_7C, "9 Coins/7 Credits" },
// { INPUT_STRING_10C_8C, "10 Coins/8 Credits" },
// { INPUT_STRING_5C_4C, "5 Coins/4 Credits" },
// { INPUT_STRING_6C_5C, "6 Coins/5 Credits" },
// { INPUT_STRING_7C_6C, "7 Coins/6 Credits" },
// { INPUT_STRING_8C_7C, "8 Coins/7 Credits" },
// { INPUT_STRING_9C_8C, "9 Coins/8 Credits" },
// { INPUT_STRING_10C_9C, "10 Coins/9 Credits" },
// { INPUT_STRING_10C_10C, "10 Coins/10 Credits" },
// { INPUT_STRING_9C_9C, "9 Coins/9 Credits" },
// { INPUT_STRING_8C_8C, "8 Coins/8 Credits" },
// { INPUT_STRING_7C_7C, "7 Coins/7 Credits" },
// { INPUT_STRING_6C_6C, "6 Coins/6 Credits" },
// { INPUT_STRING_5C_5C, "5 Coins/5 Credits" },
{ INPUT_STRING_4C_4C, "4 Coins/4 Credits" },
{ INPUT_STRING_3C_3C, "3 Coins/3 Credits" },
{ INPUT_STRING_2C_2C, "2 Coins/2 Credits" },
{ INPUT_STRING_1C_1C, "1 Coin/1 Credit" },
// { INPUT_STRING_9C_10C, "9 Coins/10 Credits" },
// { INPUT_STRING_8C_9C, "8 Coins/9 Credits" },
// { INPUT_STRING_7C_8C, "7 Coins/8 Credits" },
// { INPUT_STRING_6C_7C, "6 Coins/7 Credits" },
// { INPUT_STRING_5C_6C, "5 Coins/6 Credits" },
// { INPUT_STRING_8C_10C, "8 Coins/10 Credits" },
{ INPUT_STRING_4C_5C, "4 Coins/5 Credits" },
// { INPUT_STRING_7C_9C, "7 Coins/9 Credits" },
// { INPUT_STRING_6C_8C, "6 Coins/8 Credits" },
{ INPUT_STRING_3C_4C, "3 Coins/4 Credits" },
// { INPUT_STRING_5C_7C, "5 Coins/7 Credits" },
// { INPUT_STRING_7C_10C, "7 Coins/10 Credits" },
// { INPUT_STRING_6C_9C, "6 Coins/9 Credits" },
// { INPUT_STRING_4C_6C, "4 Coins/6 Credits" },
{ INPUT_STRING_2C_3C, "2 Coins/3 Credits" },
// { INPUT_STRING_5C_8C, "5 Coins/8 Credits" },
// { INPUT_STRING_6C_10C, "6 Coins/10 Credits" },
// { INPUT_STRING_3C_5C, "3 Coins/5 Credits" },
{ INPUT_STRING_4C_7C, "4 Coins/7 Credits" },
// { INPUT_STRING_5C_9C, "5 Coins/9 Credits" },
// { INPUT_STRING_5C_10C, "5 Coins/10 Credits" },
// { INPUT_STRING_4C_8C, "4 Coins/8 Credits" },
// { INPUT_STRING_3C_6C, "3 Coins/6 Credits" },
{ INPUT_STRING_2C_4C, "2 Coins/4 Credits" },
{ INPUT_STRING_1C_2C, "1 Coin/2 Credits" },
// { INPUT_STRING_4C_9C, "4 Coins/9 Credits" },
// { INPUT_STRING_3C_7C, "3 Coins/7 Credits" },
// { INPUT_STRING_4C_10C, "4 Coins/10 Credits" },
{ INPUT_STRING_2C_5C, "2 Coins/5 Credits" },
// { INPUT_STRING_3C_8C, "3 Coins/8 Credits" },
// { INPUT_STRING_3C_9C, "3 Coins/9 Credits" },
{ INPUT_STRING_2C_6C, "2 Coins/6 Credits" },
{ INPUT_STRING_1C_3C, "1 Coin/3 Credits" },
// { INPUT_STRING_3C_10C, "3 Coins/10 Credits" },
{ INPUT_STRING_2C_7C, "2 Coins/7 Credits" },
{ INPUT_STRING_2C_8C, "2 Coins/8 Credits" },
{ INPUT_STRING_1C_4C, "1 Coin/4 Credits" },
// { INPUT_STRING_2C_9C, "2 Coins/9 Credits" },
// { INPUT_STRING_2C_10C, "2 Coins/10 Credits" },
{ INPUT_STRING_1C_5C, "1 Coin/5 Credits" },
{ INPUT_STRING_1C_6C, "1 Coin/6 Credits" },
{ INPUT_STRING_1C_7C, "1 Coin/7 Credits" },
{ INPUT_STRING_1C_8C, "1 Coin/8 Credits" },
{ INPUT_STRING_1C_9C, "1 Coin/9 Credits" },
// __input_string_coinage_end
// { INPUT_STRING_1C_10C, "1 Coin/10 Credits" },
// { INPUT_STRING_1C_11C, "1 Coin/11 Credits" },
// { INPUT_STRING_1C_12C, "1 Coin/12 Credits" },
// { INPUT_STRING_1C_13C, "1 Coin/13 Credits" },
// { INPUT_STRING_1C_14C, "1 Coin/14 Credits" },
// { INPUT_STRING_1C_15C, "1 Coin/15 Credits" },
// { INPUT_STRING_1C_20C, "1 Coin/20 Credits" },
// { INPUT_STRING_1C_25C, "1 Coin/25 Credits" },
// { INPUT_STRING_1C_30C, "1 Coin/30 Credits" },
// { INPUT_STRING_1C_40C, "1 Coin/40 Credits" },
// { INPUT_STRING_1C_50C, "1 Coin/50 Credits" },
// { INPUT_STRING_1C_99C, "1 Coin/99 Credits" },
// { INPUT_STRING_1C_100C, "1 Coin/100 Credits" },
// { INPUT_STRING_1C_120C, "1 Coin/120 Credits" },
// { INPUT_STRING_1C_125C, "1 Coin/125 Credits" },
// { INPUT_STRING_1C_150C, "1 Coin/150 Credits" },
// { INPUT_STRING_1C_200C, "1 Coin/200 Credits" },
// { INPUT_STRING_1C_250C, "1 Coin/250 Credits" },
// { INPUT_STRING_1C_500C, "1 Coin/500 Credits" },
// { INPUT_STRING_1C_1000C, "1 Coin/1000 Credits" },
{ INPUT_STRING_Free_Play, "Free Play" },
{ INPUT_STRING_Cabinet, "Cabinet" },
{ INPUT_STRING_Upright, "Upright" },
@ -732,15 +821,25 @@ static const struct
{ INPUT_STRING_Continues, "Continues" },
{ INPUT_STRING_Allow_Continue, "Allow Continue" },
{ INPUT_STRING_Level_Select, "Level Select" },
// { INPUT_STRING_Allow, "Allow" },
// { INPUT_STRING_Forbid, "Forbid" },
// { INPUT_STRING_Enable, "Enable" },
// { INPUT_STRING_Disable, "Disable" },
{ INPUT_STRING_Infinite, "Infinite" },
// { INPUT_STRING_Invincibility, "Invincibility" },
// { INPUT_STRING_Invulnerability, "Invulnerability" },
{ INPUT_STRING_Stereo, "Stereo" },
{ INPUT_STRING_Mono, "Mono" },
{ INPUT_STRING_Unused, "Unused" },
{ INPUT_STRING_Unknown, "Unknown" },
// { INPUT_STRING_Undefined, "Undefined" },
{ INPUT_STRING_Standard, "Standard" },
{ INPUT_STRING_Reverse, "Reverse" },
{ INPUT_STRING_Alternate, "Alternate" },
{ INPUT_STRING_None, "None" }
// { INPUT_STRING_Reserve, "Reserve" },
// { INPUT_STRING_Spare, "Spare" },
// { INPUT_STRING_Invalid, "Invalid" },
{ INPUT_STRING_None, "None" },
};
@ -838,20 +937,12 @@ INLINE INT32 apply_analog_min_max(const analog_field_state *analog, INT32 value)
/* for relative devices, wrap around when we go past the edge */
else
{
INT32 adj1 = APPLY_INVERSE_SENSITIVITY(INPUT_RELATIVE_PER_PIXEL, analog->sensitivity);
INT32 range = adjmax - adjmin + adj1;
INT32 range = adjmax - adjmin;
/* rolls to other end when 1 position past end. */
adjmax += adj1;
adjmin -= adj1;
while (value >= adjmax)
{
value -= range;
}
while (value <= adjmin)
{
value = (value - adjmin) % range;
if (value < 0)
value += range;
}
value += adjmin;
}
return value;
@ -1637,7 +1728,11 @@ static INT32 apply_analog_settings(INT32 value, analog_field_state *analog)
/* apply reversal if needed */
if (analog->reverse)
{
value = analog->reverse_val - value;
if (analog->wraps)
value--;
}
else if (analog->single_scale)
/* it's a pedal or the default value is equal to min/max */
/* so we need to adjust the center to the minimum */
@ -1654,7 +1749,6 @@ static INT32 apply_analog_settings(INT32 value, analog_field_state *analog)
}
/***************************************************************************
PORT WRITING
***************************************************************************/
@ -1769,8 +1863,6 @@ int input_condition_true(running_machine &machine, const input_condition *condit
const char *input_port_string_from_token(const char *string)
{
int index;
/* 0 is an invalid index */
if (string == NULL)
return NULL;
@ -1779,11 +1871,22 @@ const char *input_port_string_from_token(const char *string)
if (FPTR(string) >= INPUT_STRING_COUNT)
return string;
#if FALSE // Set TRUE, If you want to take care missing-token or wrong-sorting
/* otherwise, scan the list for a matching string and return it */
{
int index;
for (index = 0; index < ARRAY_LENGTH(input_port_default_strings); index++)
if (input_port_default_strings[index].id == FPTR(string))
return input_port_default_strings[index].string;
}
return "(Unknown Default)";
#else
return input_port_default_strings[FPTR(string)-1].string;
#endif
}
@ -2041,13 +2144,13 @@ static void init_port_state(running_machine &machine)
}
/* handle autoselection of devices */
init_autoselect_devices(machine, IPT_PADDLE, IPT_PADDLE_V, 0, OPTION_PADDLE_DEVICE, "paddle");
init_autoselect_devices(machine, IPT_AD_STICK_X, IPT_AD_STICK_Y, IPT_AD_STICK_Z, OPTION_ADSTICK_DEVICE, "analog joystick");
init_autoselect_devices(machine, IPT_LIGHTGUN_X, IPT_LIGHTGUN_Y, 0, OPTION_LIGHTGUN_DEVICE, "lightgun");
init_autoselect_devices(machine, IPT_PADDLE, IPT_PADDLE_V, 0, OPTION_PADDLE_DEVICE, "paddle");
init_autoselect_devices(machine, IPT_PEDAL, IPT_PEDAL2, IPT_PEDAL3, OPTION_PEDAL_DEVICE, "pedal");
init_autoselect_devices(machine, IPT_LIGHTGUN_X, IPT_LIGHTGUN_Y, 0, OPTION_LIGHTGUN_DEVICE, "lightgun");
init_autoselect_devices(machine, IPT_POSITIONAL, IPT_POSITIONAL_V, 0, OPTION_POSITIONAL_DEVICE, "positional");
init_autoselect_devices(machine, IPT_DIAL, IPT_DIAL_V, 0, OPTION_DIAL_DEVICE, "dial");
init_autoselect_devices(machine, IPT_TRACKBALL_X, IPT_TRACKBALL_Y, 0, OPTION_TRACKBALL_DEVICE, "trackball");
init_autoselect_devices(machine, IPT_POSITIONAL, IPT_POSITIONAL_V, 0, OPTION_POSITIONAL_DEVICE, "positional");
init_autoselect_devices(machine, IPT_MOUSE_X, IPT_MOUSE_Y, 0, OPTION_MOUSE_DEVICE, "mouse");
/* look for 4-way joysticks and change the default map if we find any */
@ -2179,17 +2282,6 @@ static analog_field_state *init_field_analog_state(const input_field_config *fie
/* set basic parameters based on the configured type */
switch (field->type)
{
/* pedals start at and autocenter to the min range */
case IPT_PEDAL:
case IPT_PEDAL2:
case IPT_PEDAL3:
state->center = INPUT_ABSOLUTE_MIN;
state->accum = APPLY_INVERSE_SENSITIVITY(state->center, state->sensitivity);
state->absolute = TRUE;
state->autocenter = TRUE;
state->interpolate = TRUE;
break;
/* paddles and analog joysticks are absolute and autocenter */
case IPT_AD_STICK_X:
case IPT_AD_STICK_Y:
@ -2201,6 +2293,17 @@ static analog_field_state *init_field_analog_state(const input_field_config *fie
state->interpolate = TRUE;
break;
/* pedals start at and autocenter to the min range */
case IPT_PEDAL:
case IPT_PEDAL2:
case IPT_PEDAL3:
state->center = INPUT_ABSOLUTE_MIN;
state->accum = APPLY_INVERSE_SENSITIVITY(state->center, state->sensitivity);
state->absolute = TRUE;
state->autocenter = TRUE;
state->interpolate = TRUE;
break;
/* lightguns are absolute as well, but don't autocenter and don't interpolate their values */
case IPT_LIGHTGUN_X:
case IPT_LIGHTGUN_Y:
@ -2209,22 +2312,7 @@ static analog_field_state *init_field_analog_state(const input_field_config *fie
state->interpolate = FALSE;
break;
/* dials, mice and trackballs are relative devices */
/* these have fixed "min" and "max" values based on how many bits are in the port */
/* in addition, we set the wrap around min/max values to 512 * the min/max values */
/* this takes into account the mapping that one mouse unit ~= 512 analog units */
case IPT_DIAL:
case IPT_DIAL_V:
case IPT_MOUSE_X:
case IPT_MOUSE_Y:
case IPT_TRACKBALL_X:
case IPT_TRACKBALL_Y:
state->absolute = FALSE;
state->wraps = TRUE;
state->interpolate = TRUE;
break;
/* positional devices are abolute, but can also wrap like relative devices */
/* positional devices are absolute, but can also wrap like relative devices */
/* set each position to be 512 units */
case IPT_POSITIONAL:
case IPT_POSITIONAL_V:
@ -2235,6 +2323,21 @@ static analog_field_state *init_field_analog_state(const input_field_config *fie
state->autocenter = !state->wraps;
break;
/* dials, mice and trackballs are relative devices */
/* these have fixed "min" and "max" values based on how many bits are in the port */
/* in addition, we set the wrap around min/max values to 512 * the min/max values */
/* this takes into account the mapping that one mouse unit ~= 512 analog units */
case IPT_DIAL:
case IPT_DIAL_V:
case IPT_TRACKBALL_X:
case IPT_TRACKBALL_Y:
case IPT_MOUSE_X:
case IPT_MOUSE_Y:
state->absolute = FALSE;
state->wraps = TRUE;
state->interpolate = TRUE;
break;
default:
fatalerror("Unknown analog port type -- don't know if it is absolute or not");
break;
@ -2287,6 +2390,9 @@ static analog_field_state *init_field_analog_state(const input_field_config *fie
/* adjust for signed */
state->adjmin = -state->adjmin;
if (state->wraps)
state->adjmax++;
state->minimum = (state->adjmin - state->adjdefvalue) * INPUT_RELATIVE_PER_PIXEL;
state->maximum = (state->adjmax - state->adjdefvalue) * INPUT_RELATIVE_PER_PIXEL;
@ -2301,9 +2407,9 @@ static analog_field_state *init_field_analog_state(const input_field_config *fie
/* positional controls reverse from their max range */
state->reverse_val = state->maximum + state->minimum;
/* relative controls reverse from 1 past their max range */
if (state->positionalscale == 0)
state->reverse_val += INPUT_RELATIVE_PER_PIXEL;
// /* relative controls reverse from 1 past their max range */
// if (state->positionalscale == 0)
// state->reverse_val += INPUT_RELATIVE_PER_PIXEL;
}
}
@ -2606,9 +2712,9 @@ static void frame_update_analog_field(running_machine &machine, analog_field_sta
/* if we got an absolute input, it overrides everything else */
if (itemclass == ITEM_CLASS_ABSOLUTE)
{
if (analog->previousanalog != rawvalue)
if ((analog->previousanalog != rawvalue) || (analog->absolute && analog->autocenter && analog->centerdelta != 0 && rawvalue != 0))
{
/* only update if analog value changed */
/* update if analog value changed or out the deadzone of autocenter device */
analog->previousanalog = rawvalue;
/* apply the inverse of the sensitivity to the raw value so that */
@ -2635,7 +2741,7 @@ static void frame_update_analog_field(running_machine &machine, analog_field_sta
/* sensitivity adjustment is allowed for this mode */
analog->accum += rawvalue;
analog->lastdigital = 0;
analog->lastdigital = FALSE;
/* do not bother with other control types if the analog data is changing */
return;
}
@ -2652,7 +2758,7 @@ static void frame_update_analog_field(running_machine &machine, analog_field_sta
if (itemclass == ITEM_CLASS_RELATIVE && rawvalue != 0)
{
delta = rawvalue;
analog->lastdigital = 0;
analog->lastdigital = FALSE;
}
keyscale = (analog->accum >= 0) ? analog->keyscalepos : analog->keyscaleneg;
@ -2737,6 +2843,7 @@ static int frame_get_digital_field_state(const input_field_config *field, int mo
{
int curstate = mouse_down || field->machine().input().seq_pressed(input_field_seq(field, SEQ_TYPE_STANDARD));
int changed = FALSE;
int temp_field_impulse;
/* if the state changed, look for switch down/switch up */
if (curstate != field->state->last)
@ -2748,12 +2855,25 @@ static int frame_get_digital_field_state(const input_field_config *field, int mo
if (field->type == IPT_KEYBOARD && ui_get_use_natural_keyboard(field->machine()))
return FALSE;
/* coin impulse option */
{
int temp_option_impulse = field->machine().options().coin_impulse();
temp_field_impulse = field->impulse;
if ( temp_option_impulse != 0)
{
if (temp_option_impulse < 0)
temp_field_impulse = 0;
else if ((field->type >= IPT_COIN1 && field->type <= IPT_COIN12) || field->impulse != 0)
temp_field_impulse = temp_option_impulse;
}
}
/* if this is a switch-down event, handle impulse and toggle */
if (changed && curstate)
{
/* impluse controls: reset the impulse counter */
if (field->impulse != 0 && field->state->impulse == 0)
field->state->impulse = field->impulse;
if (temp_field_impulse != 0 && field->state->impulse == 0)
field->state->impulse = temp_field_impulse;
/* toggle controls: flip the toggle state or advance to the next setting */
if (field->flags & FIELD_FLAG_TOGGLE)
@ -2766,7 +2886,7 @@ static int frame_get_digital_field_state(const input_field_config *field, int mo
}
/* update the current state with the impulse state */
if (field->impulse != 0)
if (temp_field_impulse != 0)
{
if (field->state->impulse != 0)
{
@ -2783,7 +2903,7 @@ static int frame_get_digital_field_state(const input_field_config *field, int mo
curstate = FALSE;
/* additional logic to restrict digital joysticks */
if (curstate && !mouse_down && field->state->joystick != NULL && field->way != 16)
if (curstate && !mouse_down && field->state->joystick != NULL && field->way != 16 && !field->machine().options().joystick_contradictory())
{
UINT8 mask = (field->way == 4) ? field->state->joystick->current4way : field->state->joystick->current;
if (!(mask & (1 << field->state->joydir)))
@ -2791,16 +2911,23 @@ static int frame_get_digital_field_state(const input_field_config *field, int mo
}
/* skip locked-out coin inputs */
if (curstate && field->type >= IPT_COIN1 && field->type <= IPT_COIN12 && coin_lockout_get_state(field->machine(), field->type - IPT_COIN1) && field->machine().options().coin_lockout())
if (curstate && field->type >= IPT_COIN1 && field->type <= IPT_COIN12 && coin_lockout_get_state(field->machine(), field->type - IPT_COIN1))
{
int verbose = field->machine().options().verbose();
#ifdef MAME_DEBUG
verbose = 1;
#endif
if (verbose)
ui_popup_time(3, "Coinlock disabled %s.", input_field_name(field));
return FALSE;
if (field->machine().options().coin_lockout())
{
if (verbose)
ui_popup_time(3, "Coinlock disabled %s.", input_field_name(field));
return FALSE; /* curstate = FALSE; */
}
else
if (verbose)
ui_popup_time(3, "Coinlock disabled, but broken through %s.", input_field_name(field));
}
return curstate;
}

View File

@ -199,6 +199,7 @@ enum
IPT_BUTTON16,
/* mahjong inputs */
#define __ipt_mahjong_start IPT_MAHJONG_A
IPT_MAHJONG_A,
IPT_MAHJONG_B,
IPT_MAHJONG_C,
@ -219,7 +220,7 @@ enum
IPT_MAHJONG_KAN,
IPT_MAHJONG_PON,
IPT_MAHJONG_CHI,
IPT_MAHJONG_REACH,
IPT_MAHJONG_REACH, //IPT_MAHJONG_RIICHI, // REACH is Japanglish
IPT_MAHJONG_RON,
IPT_MAHJONG_BET,
IPT_MAHJONG_LAST_CHANCE,
@ -228,8 +229,10 @@ enum
IPT_MAHJONG_FLIP_FLOP,
IPT_MAHJONG_BIG,
IPT_MAHJONG_SMALL,
#define __ipt_mahjong_end IPT_MAHJONG_SMALL
/* hanafuda inputs */
#define __ipt_hanafuda_start IPT_HANAFUDA_A
IPT_HANAFUDA_A,
IPT_HANAFUDA_B,
IPT_HANAFUDA_C,
@ -240,22 +243,46 @@ enum
IPT_HANAFUDA_H,
IPT_HANAFUDA_YES,
IPT_HANAFUDA_NO,
#define __ipt_hanafuda_end IPT_HANAFUDA_NO
#define __ipt_gambling_start IPT_GAMBLE_HIGH
/* gambling inputs */
IPT_GAMBLE_HIGH,
IPT_GAMBLE_LOW,
IPT_GAMBLE_HALF,
IPT_GAMBLE_DEAL,
IPT_GAMBLE_D_UP,
IPT_GAMBLE_TAKE,
IPT_GAMBLE_STAND,
IPT_GAMBLE_BET,
IPT_GAMBLE_KEYIN,
IPT_GAMBLE_KEYOUT,
IPT_GAMBLE_PAYOUT,
IPT_GAMBLE_DOOR,
IPT_GAMBLE_SERVICE,
IPT_GAMBLE_BOOK,
IPT_GAMBLE_KEYIN, // attendant
IPT_GAMBLE_KEYOUT, // attendant
IPT_GAMBLE_SERVICE, // attendant
IPT_GAMBLE_BOOK, // attendant
IPT_GAMBLE_DOOR, // attendant
// IPT_GAMBLE_DOOR2, // many gambling games have several doors.
// IPT_GAMBLE_DOOR3,
// IPT_GAMBLE_DOOR4,
// IPT_GAMBLE_DOOR5,
IPT_GAMBLE_HIGH, // player
IPT_GAMBLE_LOW, // player
IPT_GAMBLE_HALF, // player
IPT_GAMBLE_DEAL, // player
IPT_GAMBLE_D_UP, // player
IPT_GAMBLE_TAKE, // player
IPT_GAMBLE_STAND, // player
IPT_GAMBLE_BET, // player
IPT_GAMBLE_PAYOUT, // player
// IPT_GAMBLE_BUTTON1, // player
// IPT_GAMBLE_BUTTON2, // many many gambling games have multi-games and/or multi-function-buttons
// IPT_GAMBLE_BUTTON3, // I suggest to eliminate specific names
// IPT_GAMBLE_BUTTON4,
// IPT_GAMBLE_BUTTON5,
// IPT_GAMBLE_BUTTON6,
// IPT_GAMBLE_BUTTON7,
// IPT_GAMBLE_BUTTON8,
// IPT_GAMBLE_BUTTON9,
// IPT_GAMBLE_BUTTON10,
// IPT_GAMBLE_BUTTON11,
// IPT_GAMBLE_BUTTON12,
// IPT_GAMBLE_BUTTON13,
// IPT_GAMBLE_BUTTON14,
// IPT_GAMBLE_BUTTON15,
// IPT_GAMBLE_BUTTON16,
/* poker-specific inputs */
IPT_POKER_HOLD1,
@ -273,29 +300,31 @@ enum
IPT_SLOT_STOP4,
IPT_SLOT_STOP_ALL,
#define __ipt_gambling_end IPT_SLOT_STOP_ALL
/* analog inputs */
#define __ipt_analog_start IPT_PADDLE
#define __ipt_analog_absolute_start IPT_PADDLE
IPT_PADDLE, /* absolute */
IPT_PADDLE_V, /* absolute */
IPT_AD_STICK_X, /* absolute */
IPT_AD_STICK_Y, /* absolute */
IPT_AD_STICK_Z, /* absolute */
IPT_LIGHTGUN_X, /* absolute */
IPT_LIGHTGUN_Y, /* absolute */
IPT_PEDAL, /* absolute */
IPT_PEDAL2, /* absolute */
IPT_PEDAL3, /* absolute */
IPT_POSITIONAL, /* absolute */
IPT_POSITIONAL_V, /* absolute */
#define __ipt_analog_start IPT_AD_STICK_X
#define __ipt_analog_absolute_start IPT_AD_STICK_X
IPT_AD_STICK_X, // absolute // autocenter
IPT_AD_STICK_Y, // absolute // autocenter
IPT_AD_STICK_Z, // absolute // autocenter
IPT_PADDLE, // absolute // autocenter
IPT_PADDLE_V, // absolute // autocenter
IPT_PEDAL, // absolute // autocenter
IPT_PEDAL2, // absolute // autocenter
IPT_PEDAL3, // absolute // autocenter
IPT_LIGHTGUN_X, // absolute
IPT_LIGHTGUN_Y, // absolute
IPT_POSITIONAL, // absolute // autocenter if not wraps
IPT_POSITIONAL_V, // absolute // autocenter if not wraps
#define __ipt_analog_absolute_end IPT_POSITIONAL_V
IPT_DIAL, /* relative */
IPT_DIAL_V, /* relative */
IPT_TRACKBALL_X, /* relative */
IPT_TRACKBALL_Y, /* relative */
IPT_MOUSE_X, /* relative */
IPT_MOUSE_Y, /* relative */
IPT_DIAL, // relative
IPT_DIAL_V, // relative
IPT_TRACKBALL_X, // relative
IPT_TRACKBALL_Y, // relative
IPT_MOUSE_X, // relative
IPT_MOUSE_Y, // relative
#define __ipt_analog_end IPT_MOUSE_Y
/* analog adjuster support */
@ -386,40 +415,129 @@ enum
INPUT_STRING_Coinage,
INPUT_STRING_Coin_A,
INPUT_STRING_Coin_B,
INPUT_STRING_9C_1C,
INPUT_STRING_8C_1C,
INPUT_STRING_7C_1C,
INPUT_STRING_6C_1C,
INPUT_STRING_5C_1C,
INPUT_STRING_4C_1C,
INPUT_STRING_3C_1C,
INPUT_STRING_8C_3C,
INPUT_STRING_4C_2C,
INPUT_STRING_2C_1C,
INPUT_STRING_5C_3C,
INPUT_STRING_3C_2C,
INPUT_STRING_4C_3C,
INPUT_STRING_4C_4C,
INPUT_STRING_3C_3C,
INPUT_STRING_2C_2C,
INPUT_STRING_1C_1C,
INPUT_STRING_4C_5C,
INPUT_STRING_3C_4C,
INPUT_STRING_2C_3C,
INPUT_STRING_4C_7C,
INPUT_STRING_2C_4C,
INPUT_STRING_1C_2C,
INPUT_STRING_2C_5C,
INPUT_STRING_2C_6C,
INPUT_STRING_1C_3C,
INPUT_STRING_2C_7C,
INPUT_STRING_2C_8C,
INPUT_STRING_1C_4C,
INPUT_STRING_1C_5C,
INPUT_STRING_1C_6C,
INPUT_STRING_1C_7C,
INPUT_STRING_1C_8C,
INPUT_STRING_1C_9C,
// INPUT_STRING_20C_1C, // 0.050000
// INPUT_STRING_15C_1C, // 0.066667
// INPUT_STRING_10C_1C, // 0.100000
#define __input_string_coinage_start INPUT_STRING_9C_1C
INPUT_STRING_9C_1C, // 0.111111
INPUT_STRING_8C_1C, // 0.125000
INPUT_STRING_7C_1C, // 0.142857
INPUT_STRING_6C_1C, // 0.166667
// INPUT_STRING_10C_2C, // 0.200000
INPUT_STRING_5C_1C, // 0.200000
// INPUT_STRING_9C_2C, // 0.222222
// INPUT_STRING_8C_2C, // 0.250000
INPUT_STRING_4C_1C, // 0.250000
// INPUT_STRING_7C_2C, // 0.285714
// INPUT_STRING_10C_3C, // 0.300000
// INPUT_STRING_9C_3C, // 0.333333
// INPUT_STRING_6C_2C, // 0.333333
INPUT_STRING_3C_1C, // 0.333333
INPUT_STRING_8C_3C, // 0.375000
// INPUT_STRING_10C_4C, // 0.400000
// INPUT_STRING_5C_2C, // 0.400000
// INPUT_STRING_7C_3C, // 0.428571
// INPUT_STRING_9C_4C, // 0.444444
// INPUT_STRING_10C_5C, // 0.500000
// INPUT_STRING_8C_4C, // 0.500000
// INPUT_STRING_6C_3C, // 0.500000
INPUT_STRING_4C_2C, // 0.500000
INPUT_STRING_2C_1C, // 0.500000
// INPUT_STRING_9C_5C, // 0.555556
// INPUT_STRING_7C_4C, // 0.571429
// INPUT_STRING_10C_6C, // 0.600000
INPUT_STRING_5C_3C, // 0.600000
// INPUT_STRING_8C_5C, // 0.625000
// INPUT_STRING_9C_6C, // 0.666667
// INPUT_STRING_6C_4C, // 0.666667
INPUT_STRING_3C_2C, // 0.666667
// INPUT_STRING_10C_7C, // 0.700000
// INPUT_STRING_7C_5C, // 0.714286
// INPUT_STRING_8C_6C, // 0.750000
INPUT_STRING_4C_3C, // 0.750000
// INPUT_STRING_9C_7C, // 0.777778
// INPUT_STRING_10C_8C, // 0.800000
// INPUT_STRING_5C_4C, // 0.800000
// INPUT_STRING_6C_5C, // 0.833333
// INPUT_STRING_7C_6C, // 0.857143
// INPUT_STRING_8C_7C, // 0.875000
// INPUT_STRING_9C_8C, // 0.888889
// INPUT_STRING_10C_9C, // 0.900000
// INPUT_STRING_10C_10C, // 1.000000
// INPUT_STRING_9C_9C, // 1.000000
// INPUT_STRING_8C_8C, // 1.000000
// INPUT_STRING_7C_7C, // 1.000000
// INPUT_STRING_6C_6C, // 1.000000
// INPUT_STRING_5C_5C, // 1.000000
INPUT_STRING_4C_4C, // 1.000000
INPUT_STRING_3C_3C, // 1.000000
INPUT_STRING_2C_2C, // 1.000000
INPUT_STRING_1C_1C, // 1.000000
// INPUT_STRING_9C_10C, // 1.111111
// INPUT_STRING_8C_9C, // 1.125000
// INPUT_STRING_7C_8C, // 1.142857
// INPUT_STRING_6C_7C, // 1.166667
// INPUT_STRING_5C_6C, // 1.200000
// INPUT_STRING_8C_10C, // 1.250000
INPUT_STRING_4C_5C, // 1.250000
// INPUT_STRING_7C_9C, // 1.285714
// INPUT_STRING_6C_8C, // 1.333333
INPUT_STRING_3C_4C, // 1.333333
// INPUT_STRING_5C_7C, // 1.400000
// INPUT_STRING_7C_10C, // 1.428571
// INPUT_STRING_6C_9C, // 1.500000
// INPUT_STRING_4C_6C, // 1.500000
INPUT_STRING_2C_3C, // 1.500000
// INPUT_STRING_5C_8C, // 1.600000
// INPUT_STRING_6C_10C, // 1.666667
// INPUT_STRING_3C_5C, // 1.666667
INPUT_STRING_4C_7C, // 1.750000
// INPUT_STRING_5C_9C, // 1.800000
// INPUT_STRING_5C_10C, // 2.000000
// INPUT_STRING_4C_8C, // 2.000000
// INPUT_STRING_3C_6C, // 2.000000
INPUT_STRING_2C_4C, // 2.000000
INPUT_STRING_1C_2C, // 2.000000
// INPUT_STRING_4C_9C, // 2.250000
// INPUT_STRING_3C_7C, // 2.333333
// INPUT_STRING_4C_10C, // 2.500000
INPUT_STRING_2C_5C, // 2.500000
// INPUT_STRING_3C_8C, // 2.666667
// INPUT_STRING_3C_9C, // 3.000000
INPUT_STRING_2C_6C, // 3.000000
INPUT_STRING_1C_3C, // 3.000000
// INPUT_STRING_3C_10C, // 3.333333
INPUT_STRING_2C_7C, // 3.500000
INPUT_STRING_2C_8C, // 4.000000
INPUT_STRING_1C_4C, // 4.000000
// INPUT_STRING_2C_9C, // 4.500000
// INPUT_STRING_2C_10C, // 5.000000
INPUT_STRING_1C_5C, // 5.000000
INPUT_STRING_1C_6C, // 6.000000
INPUT_STRING_1C_7C, // 7.000000
INPUT_STRING_1C_8C, // 8.000000
INPUT_STRING_1C_9C, // 9.000000
#define __input_string_coinage_end INPUT_STRING_1C_9C
// INPUT_STRING_1C_10C, // 10.000000
// INPUT_STRING_1C_11C, // 11.000000
// INPUT_STRING_1C_12C, // 12.000000
// INPUT_STRING_1C_13C, // 13.000000
// INPUT_STRING_1C_14C, // 14.000000
// INPUT_STRING_1C_15C, // 15.000000
// INPUT_STRING_1C_20C, // 20.000000
// INPUT_STRING_1C_25C, // 25.000000
// INPUT_STRING_1C_30C, // 30.000000
// INPUT_STRING_1C_40C, // 40.000000
// INPUT_STRING_1C_50C, // 50.000000
// INPUT_STRING_1C_99C, // 99.000000
// INPUT_STRING_1C_100C, // 100.000000
// INPUT_STRING_1C_120C, // 120.000000
// INPUT_STRING_1C_125C, // 125.000000
// INPUT_STRING_1C_150C, // 150.000000
// INPUT_STRING_1C_200C, // 200.000000
// INPUT_STRING_1C_250C, // 250.000000
// INPUT_STRING_1C_500C, // 500.000000
// INPUT_STRING_1C_1000C, // 1000.000000
INPUT_STRING_Free_Play,
INPUT_STRING_Cabinet,
INPUT_STRING_Upright,
@ -481,14 +599,24 @@ enum
INPUT_STRING_Continues,
INPUT_STRING_Allow_Continue,
INPUT_STRING_Level_Select,
// INPUT_STRING_Allow,
// INPUT_STRING_Forbid,
// INPUT_STRING_Enable,
// INPUT_STRING_Disable,
INPUT_STRING_Infinite,
// INPUT_STRING_Invincibility,
// INPUT_STRING_Invulnerability,
INPUT_STRING_Stereo,
INPUT_STRING_Mono,
INPUT_STRING_Unused,
INPUT_STRING_Unknown,
// INPUT_STRING_Undefined,
INPUT_STRING_Standard,
INPUT_STRING_Reverse,
INPUT_STRING_Alternate,
// INPUT_STRING_Reserve,
// INPUT_STRING_Spare,
// INPUT_STRING_Invalid,
INPUT_STRING_None,
INPUT_STRING_COUNT
@ -515,6 +643,7 @@ enum
#define UCHAR_SHIFT_BEGIN (UCHAR_SHIFT_1)
#define UCHAR_SHIFT_END (UCHAR_SHIFT_2)
/***************************************************************************
TYPE DEFINITIONS
***************************************************************************/

View File

@ -2242,7 +2242,8 @@ static void menu_settings_populate(running_machine &machine, ui_menu *menu, sett
dip->mask = dip->state = 0;
*diplist_tailptr = dip;
diplist_tailptr = &dip->next;
dipcount++;
if (mame_stricmp(dip->name, "INVISIBLE") != 0)
dipcount++;
}
/* apply the bits */
@ -2284,18 +2285,21 @@ static void menu_settings_custom_render(running_machine &machine, ui_menu *menu,
/* iterate over DIP switches */
for (dip = menustate->diplist; dip != NULL; dip = dip->next)
{
const input_field_diplocation *diploc;
UINT32 selectedmask = 0;
if (mame_stricmp(dip->name, "INVISIBLE") != 0)
{
const input_field_diplocation *diploc;
UINT32 selectedmask = 0;
/* determine the mask of selected bits */
if (field != NULL)
for (diploc = field->diploclist().first(); diploc != NULL; diploc = diploc->next())
if (strcmp(dip->name, diploc->swname) == 0)
selectedmask |= 1 << (diploc->swnum - 1);
/* determine the mask of selected bits */
if (field != NULL)
for (diploc = field->diploclist().first(); diploc != NULL; diploc = diploc->next())
if (strcmp(dip->name, diploc->swname) == 0)
selectedmask |= 1 << (diploc->swnum - 1);
/* draw one switch */
menu_settings_custom_render_one(menu->container, x1, y1, x2, y1 + DIP_SWITCH_HEIGHT, dip, selectedmask);
y1 += (float)(DIP_SWITCH_SPACING + DIP_SWITCH_HEIGHT);
/* draw one switch */
menu_settings_custom_render_one(menu->container, x1, y1, x2, y1 + DIP_SWITCH_HEIGHT, dip, selectedmask);
y1 += (float)(DIP_SWITCH_SPACING + DIP_SWITCH_HEIGHT);
}
}
}
@ -2467,14 +2471,14 @@ static void menu_analog_populate(running_machine &machine, ui_menu *menu)
if (field->flags & ANALOG_FLAG_WRAPS)
break;
case IPT_PEDAL:
case IPT_PEDAL2:
case IPT_PEDAL3:
case IPT_PADDLE:
case IPT_PADDLE_V:
case IPT_AD_STICK_X:
case IPT_AD_STICK_Y:
case IPT_AD_STICK_Z:
case IPT_PADDLE:
case IPT_PADDLE_V:
case IPT_PEDAL:
case IPT_PEDAL2:
case IPT_PEDAL3:
use_autocenter = TRUE;
break;
}

View File

@ -873,7 +873,7 @@ static void validate_dip_settings(input_field_config *field, const game_driver &
{
const char *demo_sounds = input_port_string_from_index(INPUT_STRING_Demo_Sounds);
const char *flipscreen = input_port_string_from_index(INPUT_STRING_Flip_Screen);
UINT8 coin_list[INPUT_STRING_1C_9C + 1 - INPUT_STRING_9C_1C] = { 0 };
UINT8 coin_list[__input_string_coinage_end + 1 - __input_string_coinage_start] = { 0 };
const input_setting_config *setting;
int coin_error = FALSE;
@ -883,8 +883,8 @@ static void validate_dip_settings(input_field_config *field, const game_driver &
int strindex = get_defstr_index(defstr_map, setting->name, driver, error);
/* note any coinage strings */
if (strindex >= INPUT_STRING_9C_1C && strindex <= INPUT_STRING_1C_9C)
coin_list[strindex - INPUT_STRING_9C_1C] = 1;
if (strindex >= __input_string_coinage_start && strindex <= __input_string_coinage_end)
coin_list[strindex - __input_string_coinage_start] = 1;
/* make sure demo sounds default to on */
if (field->name == demo_sounds && strindex == INPUT_STRING_On && field->defvalue != setting->value)
@ -934,7 +934,7 @@ static void validate_dip_settings(input_field_config *field, const game_driver &
}
/* check for proper coin ordering */
else if (strindex >= INPUT_STRING_9C_1C && strindex <= INPUT_STRING_1C_9C && next_strindex >= INPUT_STRING_9C_1C && next_strindex <= INPUT_STRING_1C_9C &&
else if (strindex >= __input_string_coinage_start && strindex <= __input_string_coinage_end && next_strindex >= __input_string_coinage_start && next_strindex <= __input_string_coinage_end &&
strindex >= next_strindex && memcmp(&setting->condition, &setting->next()->condition, sizeof(setting->condition)) == 0)
{
mame_printf_error("%s: %s has unsorted coinage %s > %s\n", driver.source_file, driver.name, setting->name, setting->next()->name);
@ -951,7 +951,7 @@ static void validate_dip_settings(input_field_config *field, const game_driver &
mame_printf_error("%s: %s proper coin sort order should be:\n", driver.source_file, driver.name);
for (entry = 0; entry < ARRAY_LENGTH(coin_list); entry++)
if (coin_list[entry])
mame_printf_error("%s\n", input_port_string_from_index(INPUT_STRING_9C_1C + entry));
mame_printf_error("%s\n", input_port_string_from_index(__input_string_coinage_start + entry));
}
}

View File

@ -19,6 +19,7 @@
#include "sound/2151intf.h"
#include "sound/k007232.h"
#include "includes/chqflag.h"
#include "includes/konamipt.h"
#include "chqflag.lh"
@ -200,48 +201,15 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( chqflag )
PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 3C_4C ) )
PORT_DIPSETTING( 0x07, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x30, DEF_STR( 3C_4C ) )
PORT_DIPSETTING( 0x70, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, "Invalid" )
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "Invalid", SW1)
/* Invalid = both coin slots disabled */
PORT_START("DSW2")
PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW2:1" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW2:2" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" ) /* Manual says it's not used */
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
@ -253,7 +221,7 @@ static INPUT_PORTS_START( chqflag )
PORT_START("IN0")
PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW3:4" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW3:4" ) /* Manual says it's not used */
PORT_START("IN1")
/* COINSW + STARTSW */
@ -263,7 +231,7 @@ static INPUT_PORTS_START( chqflag )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
/* DIPSW #3 */
PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW3:1" ) /* Manual says it's not used */
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW3:1" ) /* Manual says it's not used */
PORT_DIPNAME( 0x40, 0x40, "Title" ) PORT_DIPLOCATION("SW3:2")
PORT_DIPSETTING( 0x40, "Chequered Flag" )
PORT_DIPSETTING( 0x00, "Checkered Flag" )
@ -282,6 +250,17 @@ static INPUT_PORTS_START( chqflag )
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x10,0xef) PORT_SENSITIVITY(80) PORT_KEYDELTA(8)
INPUT_PORTS_END
static INPUT_PORTS_START( chqflagj )
PORT_INCLUDE( chqflag )
PORT_MODIFY("DSW1")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), " 1 Coin/1 Credit", SW1)
// Manual says 1-5, 1-6, 1-7 and 1-8 are not used, but they work
PORT_MODIFY("IN1")
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW3:2" ) /* Manual says it's not used */
INPUT_PORTS_END
static void chqflag_ym2151_irq_w( device_t *device, int data )
@ -497,5 +476,6 @@ ROM_START( chqflagj )
ROM_END
GAMEL( 1988, chqflag, 0, chqflag, chqflag, 0, ROT90, "Konami", "Chequered Flag", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_chqflag )
GAMEL( 1988, chqflagj, chqflag, chqflag, chqflag, 0, ROT90, "Konami", "Chequered Flag (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_chqflag )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
GAMEL( 1988, chqflag, 0, chqflag, chqflag, 0, ROT90, "Konami", "Chequered Flag", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_chqflag )
GAMEL( 1988, chqflagj, chqflag, chqflag, chqflagj, 0, ROT90, "Konami", "Chequered Flag (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_chqflag )

View File

@ -755,19 +755,19 @@ static INPUT_PORTS_START( hbarrel )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_3C ) )
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW )
PORT_SERVICE_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, 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_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) // Always OFF
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0100, "1" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0200, "5" )
PORT_DIPSETTING( 0x0100, "1" )
PORT_DIPSETTING( 0x0000, "Infinite (Cheat)")
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
@ -782,7 +782,7 @@ static INPUT_PORTS_START( hbarrel )
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, DEF_STR( No ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW1:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW1:8" ) // Always OFF
PORT_START("AN0") /* player 1 12-way rotary control - converted in controls_r() */
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE PORT_FULL_TURN_COUNT(12)
@ -796,23 +796,23 @@ static INPUT_PORTS_START( birdtry )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:5")
PORT_SERVICE_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, 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_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) // Always OFF
PORT_DIPNAME( 0x0300, 0x0300, "Difficulty (Extend)" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0300, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x0c00, 0x0c00, "Difficulty (Course)" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
@ -827,6 +827,21 @@ static INPUT_PORTS_START( birdtry )
PORT_DIPSETTING( 0x4000, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x0000, "Type C - Upright" )
/* "Difficulty (Extend)"
Easy Normal Hard Hardest
(Start) (5) (3) (3) (3)
Hole in one +5 +5 +2 +1
Albatross +3 +3 +1 0
Eagle +2 +2 +1 0
Birdie +1 +1 +1 0
Par 0 0 0 0
Bogey -1 -1 -1 -1
Double bogey -2 -2 -2 -1
Triple bogey -3 -3 -3 -1
Quadruple bogey -4 -4 -4 -1
Give up -5 -5 -4 -2
*/
PORT_START("AN0") /* player 1 12-way rotary control - converted in controls_r() */
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE PORT_FULL_TURN_COUNT(12)
@ -839,19 +854,23 @@ static INPUT_PORTS_START( baddudes )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:5")
PORT_SERVICE_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, 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_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) // Always OFF
/* "SW1:8"
English "Bad Dudes" manual says "Dont Change"
Japanese "Dragonninja" manual says "Control Panel / Off=Table / On=Upright", but maybe not work
*/
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0200, "5" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0100, "1" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0200, "5" )
PORT_DIPSETTING( 0x0000, "Infinite (Cheat)")
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
@ -861,9 +880,9 @@ static INPUT_PORTS_START( baddudes )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x1000, DEF_STR( No ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x2000, 0x2000, "SW2:6" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x4000, 0x4000, "SW2:7" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW2:6" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW2:7" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" ) // Always OFF
PORT_START("AN0") /* player 1 12-way rotary control - converted in controls_r() */
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused */
@ -872,12 +891,24 @@ static INPUT_PORTS_START( baddudes )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused */
INPUT_PORTS_END
static INPUT_PORTS_START( drgninja )
PORT_INCLUDE( baddudes )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0100, "2" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0200, "4" )
PORT_DIPSETTING( 0x0000, "Infinite (Cheat)")
INPUT_PORTS_END
static INPUT_PORTS_START( robocop )
PORT_INCLUDE( dec0 )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" ) // Always OFF
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
@ -904,10 +935,14 @@ static INPUT_PORTS_START( robocop )
PORT_DIPNAME( 0x2000, 0x2000, "Bonus Stage Energy" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Low ) )
PORT_DIPSETTING( 0x2000, DEF_STR( High ) )
PORT_DIPNAME( 0x4000, 0x4000, "Brink Time" )
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) ) PORT_DIPLOCATION("SW2:7") /* not mentioned in manual */
PORT_DIPNAME( 0x4000, 0x4000, "Brink Time" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0000, "Less" )
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
/* "SW2:7"
English manual says "Always Off"
Japanese manual says "Invulnerable Brink Time On Continue / Off=Long / On=Short"
*/
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" ) // Always OFF
INPUT_PORTS_END
static INPUT_PORTS_START( hippodrm )
@ -915,14 +950,14 @@ static INPUT_PORTS_START( hippodrm )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" ) // Always OFF
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, 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_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) // Always OFF
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0100, "1" )
@ -935,26 +970,36 @@ static INPUT_PORTS_START( hippodrm )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x3000, 0x3000, "Player & Enemy Energy" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x3000, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Low ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Very_Low ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Low ) )
PORT_DIPSETTING( 0x3000, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x0000, DEF_STR( High ) )
PORT_DIPNAME( 0x4000, 0x4000, "Enemy Power Decrease on Continue" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, "2 Dots" ) // 2 Dots less
PORT_DIPSETTING( 0x0000, "3 Dots" ) // 3 Dots less
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" ) // Always OFF
PORT_START("VBLANK")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_VBLANK )
INPUT_PORTS_END
static INPUT_PORTS_START( ffantasy )
PORT_INCLUDE( hippodrm )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x4000, 0x4000, "Enemy Power Decrease on Continue" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, "2 Dots" ) // 2 Dots less
PORT_DIPSETTING( 0x0000, DEF_STR( None ) ) // 0 Dot less
INPUT_PORTS_END
static INPUT_PORTS_START( slyspy )
PORT_INCLUDE( dec1 )
/* if you set VBLANK as ACTIVE_LOW, you obtain screwed up colors */
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:5")
PORT_SERVICE_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
@ -978,9 +1023,9 @@ static INPUT_PORTS_START( slyspy )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x2000, 0x2000, "SW2:6" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x4000, 0x4000, "SW2:7" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW2:6" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW2:7" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" ) // Always OFF
INPUT_PORTS_END
static INPUT_PORTS_START( midres )
@ -988,14 +1033,14 @@ static INPUT_PORTS_START( midres )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" ) // Always OFF
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, 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_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) // Always OFF
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "3" )
@ -1007,16 +1052,16 @@ static INPUT_PORTS_START( midres )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:5") /* manual mentions Extra Lives - Default OFF */
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6") /* manual mentions Extra Lives - Default OFF */
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:5" ) /* manual mentions Extra Lives - Default OFF */
PORT_DIPUNUSED_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW2:6" ) /* manual mentions Extra Lives - Default OFF */
/* "SW2:5,6"
English manual says "Extra Lives / OFF OFF" ( missing "ON OFF", "OFF ON" and "ON ON" ) , but maybe not work
Japanese manual says "Never Touch"
*/
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, DEF_STR( No ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" ) // Always OFF
PORT_START("AN0") /* player 1 12-way rotary control - converted in controls_r() */
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE PORT_FULL_TURN_COUNT(12)
@ -1025,40 +1070,48 @@ static INPUT_PORTS_START( midres )
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2) PORT_REVERSE PORT_FULL_TURN_COUNT(12)
INPUT_PORTS_END
static INPUT_PORTS_START( midresu )
PORT_INCLUDE( midres )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0100, "1" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0200, "5" )
PORT_DIPSETTING( 0x0000, "Infinite (Cheat)")
INPUT_PORTS_END
static INPUT_PORTS_START( midresb )
PORT_INCLUDE( dec0 )
PORT_START("DSW")
DEC0_COIN_SETTING
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" ) // Always OFF
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, 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_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) // Always OFF
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0100, "1" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0200, "4" )
PORT_DIPSETTING( 0x0100, "5" )
PORT_DIPSETTING( 0x0200, "5" )
PORT_DIPSETTING( 0x0000, "Infinite (Cheat)")
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0800, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:5") /* manual mentions Extra Lives - Default OFF */
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6") /* manual mentions Extra Lives - Default OFF */
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:5" ) /* manual mentions Extra Lives - Default OFF */
PORT_DIPUNUSED_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW2:6" ) /* manual mentions Extra Lives - Default OFF */
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x4000, DEF_STR( No ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" ) // Always OFF
PORT_START("AN0") /* player 1 12-way rotary control - converted in controls_r() */
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE PORT_FULL_TURN_COUNT(12)
@ -1110,7 +1163,7 @@ static INPUT_PORTS_START( bouldash )
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPUNUSED_DIPLOC( 0x1000, 0x1000, "SW2:5" ) // Always OFF
PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:5" ) // Always OFF
PORT_DIPNAME( 0x2000, 0x2000, "Game Change Mode" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x2000, "Part 1" )
PORT_DIPSETTING( 0x0000, "Part 2" )
@ -2978,30 +3031,31 @@ static DRIVER_INIT( midresb )
/******************************************************************************/
GAME( 1987, hbarrel, 0, hbarrel, hbarrel, hbarrel, ROT270, "Data East USA", "Heavy Barrel (US)", 0 )
GAME( 1987, hbarrelw, hbarrel, hbarrel, hbarrel, hbarrel, ROT270, "Data East Corporation", "Heavy Barrel (World)", 0 )
GAME( 1988, baddudes, 0, baddudes, baddudes, baddudes, ROT0, "Data East USA", "Bad Dudes vs. Dragonninja (US)", 0 )
GAME( 1988, drgninja, baddudes, baddudes, baddudes, baddudes, ROT0, "Data East Corporation", "Dragonninja (Japan)", 0 )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1987, hbarrel, 0, hbarrel, hbarrel, hbarrel, ROT270, "Data East USA", "Heavy Barrel (US)", 0 )
GAME( 1987, hbarrelw, hbarrel, hbarrel, hbarrel, hbarrel, ROT270, "Data East Corporation", "Heavy Barrel (World)", 0 )
GAME( 1988, baddudes, 0, baddudes, baddudes, baddudes, ROT0, "Data East USA", "Bad Dudes vs. Dragonninja (US)", 0 )
GAME( 1988, drgninja, baddudes, baddudes, drgninja, baddudes, ROT0, "Data East Corporation", "Dragonninja (Japan)", 0 )
/* A Bad Dudes bootleg with 68705 like the midres and ffantasy ones exists, but is not dumped */
GAME( 1988, birdtry, 0, birdtry, birdtry, birdtry, ROT270, "Data East Corporation", "Birdie Try (Japan)", GAME_UNEMULATED_PROTECTION )
GAME( 1988, robocop, 0, robocop, robocop, robocop, ROT0, "Data East Corporation", "Robocop (World revision 4)", 0 )
GAME( 1988, robocopw, robocop, robocop, robocop, robocop, ROT0, "Data East Corporation", "Robocop (World revision 3)", 0 )
GAME( 1988, robocopj, robocop, robocop, robocop, robocop, ROT0, "Data East Corporation", "Robocop (Japan)", 0 )
GAME( 1988, robocopu, robocop, robocop, robocop, robocop, ROT0, "Data East USA", "Robocop (US revision 1)", 0 )
GAME( 1988, robocopu0,robocop, robocop, robocop, robocop, ROT0, "Data East USA", "Robocop (US revision 0)", 0 )
GAME( 1988, robocopb, robocop, robocopb, robocop, robocop, ROT0, "bootleg", "Robocop (World bootleg)", 0)
GAME( 1988, automat, robocop, automat, robocop, robocop, ROT0, "bootleg", "Automat (bootleg of Robocop)", GAME_NOT_WORKING )
GAME( 1989, hippodrm, 0, hippodrm, hippodrm, hippodrm, ROT0, "Data East USA", "Hippodrome (US)", 0 )
GAME( 1989, ffantasy, hippodrm, hippodrm, hippodrm, hippodrm, ROT0, "Data East Corporation", "Fighting Fantasy (Japan revision 2)", 0 )
GAME( 1989, ffantasya,hippodrm, hippodrm, hippodrm, hippodrm, ROT0, "Data East Corporation", "Fighting Fantasy (Japan)", 0 )
GAME( 1989, ffantasybl,hippodrm,midres, midres, 0, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", GAME_NOT_WORKING ) // 68705 not dumped, might be the same as midresb
GAME( 1989, slyspy, 0, slyspy, slyspy, slyspy, ROT0, "Data East USA", "Sly Spy (US revision 3)", 0 )
GAME( 1989, slyspy2, slyspy, slyspy, slyspy, slyspy, ROT0, "Data East USA", "Sly Spy (US revision 2)", 0 )
GAME( 1989, secretag, slyspy, slyspy, slyspy, slyspy, ROT0, "Data East Corporation", "Secret Agent (World)", 0 )
GAME( 1989, secretab, slyspy, secretab, slyspy, slyspy, ROT0, "bootleg", "Secret Agent (bootleg)", GAME_NOT_WORKING )
GAME( 1989, midres, 0, midres, midres, 0, ROT0, "Data East Corporation", "Midnight Resistance (World)", 0 )
GAME( 1989, midresu, midres, midres, midres, 0, ROT0, "Data East USA", "Midnight Resistance (US)", 0 )
GAME( 1989, midresj, midres, midres, midres, 0, ROT0, "Data East Corporation", "Midnight Resistance (Japan)", 0 )
GAME( 1989, midresb, midres, midresb, midresb, midresb, ROT0, "bootleg", "Midnight Resistance (bootleg with 68705)", 0 ) // need to hook up 68705?
GAME( 1990, bouldash, 0, slyspy, bouldash, slyspy, ROT0, "Data East Corporation (licensed from First Star)", "Boulder Dash / Boulder Dash Part 2 (World)", 0 )
GAME( 1990, bouldashj,bouldash, slyspy, bouldash, slyspy, ROT0, "Data East Corporation (licensed from First Star)", "Boulder Dash / Boulder Dash Part 2 (Japan)", 0 )
GAME( 1988, birdtry, 0, birdtry, birdtry, birdtry, ROT270, "Data East Corporation", "Birdie Try (Japan)", GAME_UNEMULATED_PROTECTION )
GAME( 1988, robocop, 0, robocop, robocop, robocop, ROT0, "Data East Corporation", "Robocop (World revision 4)", 0 )
GAME( 1988, robocopw, robocop, robocop, robocop, robocop, ROT0, "Data East Corporation", "Robocop (World revision 3)", 0 )
GAME( 1988, robocopj, robocop, robocop, robocop, robocop, ROT0, "Data East Corporation", "Robocop (Japan)", 0 )
GAME( 1988, robocopu, robocop, robocop, robocop, robocop, ROT0, "Data East USA", "Robocop (US revision 1)", 0 )
GAME( 1988, robocopu0, robocop, robocop, robocop, robocop, ROT0, "Data East USA", "Robocop (US revision 0)", 0 )
GAME( 1988, robocopb, robocop, robocopb, robocop, robocop, ROT0, "bootleg", "Robocop (World bootleg)", 0)
GAME( 1988, automat, robocop, automat, robocop, robocop, ROT0, "bootleg", "Automat (bootleg of Robocop)", GAME_NOT_WORKING )
GAME( 1989, hippodrm, 0, hippodrm, hippodrm, hippodrm, ROT0, "Data East USA", "Hippodrome (US)", 0 )
GAME( 1989, ffantasy, hippodrm, hippodrm, ffantasy, hippodrm, ROT0, "Data East Corporation", "Fighting Fantasy (Japan revision 2)", 0 )
GAME( 1989, ffantasya, hippodrm, hippodrm, ffantasy, hippodrm, ROT0, "Data East Corporation", "Fighting Fantasy (Japan)", 0 )
GAME( 1989, ffantasybl, hippodrm, midres, midres, 0, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", GAME_NOT_WORKING ) // 68705 not dumped, might be the same as midresb
GAME( 1989, slyspy, 0, slyspy, slyspy, slyspy, ROT0, "Data East USA", "Sly Spy (US revision 3)", 0 )
GAME( 1989, slyspy2, slyspy, slyspy, slyspy, slyspy, ROT0, "Data East USA", "Sly Spy (US revision 2)", 0 )
GAME( 1989, secretag, slyspy, slyspy, slyspy, slyspy, ROT0, "Data East Corporation", "Secret Agent (World)", 0 )
GAME( 1989, secretab, slyspy, secretab, slyspy, slyspy, ROT0, "bootleg", "Secret Agent (bootleg)", GAME_NOT_WORKING )
GAME( 1989, midres, 0, midres, midres, 0, ROT0, "Data East Corporation", "Midnight Resistance (World)", 0 )
GAME( 1989, midresu, midres, midres, midresu, 0, ROT0, "Data East USA", "Midnight Resistance (US)", 0 )
GAME( 1989, midresj, midres, midres, midresu, 0, ROT0, "Data East Corporation", "Midnight Resistance (Japan)", 0 )
GAME( 1989, midresb, midres, midresb, midresb, midresb, ROT0, "bootleg", "Midnight Resistance (bootleg with 68705)", 0 ) // need to hook up 68705?
GAME( 1990, bouldash, 0, slyspy, bouldash, slyspy, ROT0, "Data East Corporation (licensed from First Star)", "Boulder Dash / Boulder Dash Part 2 (World)", 0 )
GAME( 1990, bouldashj, bouldash, slyspy, bouldash, slyspy, ROT0, "Data East Corporation (licensed from First Star)", "Boulder Dash / Boulder Dash Part 2 (Japan)", 0 )

File diff suppressed because it is too large Load Diff

View File

@ -525,17 +525,20 @@ static INPUT_PORTS_START( common )
PORT_DIPSETTING( 0x3000, "3" )
PORT_DIPSETTING( 0x1000, "4" )
PORT_DIPSETTING( 0x2000, "5" )
PORT_DIPUNKNOWN_DIPLOC( 0x0800, 0x0800, "SWB:5" )
PORT_DIPUNKNOWN_DIPLOC( 0x0400, 0x0400, "SWB:6" )
PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SWB:7" )
PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SWB:8" )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:6,5")
PORT_DIPSETTING( 0x0c00, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0400, "TBL 1" )
PORT_DIPSETTING( 0x0800, "TBL 2" )
PORT_DIPSETTING( 0x0000, "TBL 3" )
PORT_DIPUNUSED_DIPLOC( 0x0200, 0x0200, "SWB:7" )
PORT_DIPUNUSED_DIPLOC( 0x0100, 0x0100, "SWB:8" )
INPUT_PORTS_END
static INPUT_PORTS_START( drgnbowl )
PORT_INCLUDE( common )
PORT_MODIFY("DSW")
PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SWA:7" ) /* No Flip Screen */
PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SWA:7" ) /* No Flip Screen */
INPUT_PORTS_END
static INPUT_PORTS_START( wildfang )
@ -568,9 +571,9 @@ static INPUT_PORTS_START( tknight )
PORT_INCLUDE( wildfang )
PORT_MODIFY("DSW")
PORT_DIPUNKNOWN_DIPLOC( 0x2000, 0x2000, "SWB:3" ) /* No separate difficulty option like parent set */
PORT_DIPUNKNOWN_DIPLOC( 0x1000, 0x1000, "SWB:4" ) /* No separate difficulty option like parent set */
PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SWB:8" ) /* No title change option */
PORT_DIPUNUSED_DIPLOC( 0x2000, 0x2000, "SWB:3" ) /* No separate difficulty option like parent set */
PORT_DIPUNUSED_DIPLOC( 0x1000, 0x1000, "SWB:4" ) /* No separate difficulty option like parent set */
PORT_DIPUNUSED_DIPLOC( 0x0100, 0x0100, "SWB:8" ) /* No title change option */
INPUT_PORTS_END
static INPUT_PORTS_START( raiga )
@ -619,7 +622,7 @@ static INPUT_PORTS_START( raiga )
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNKNOWN_DIPLOC( 0x4000, 0x4000, "SWB:2" )
PORT_DIPUNUSED_DIPLOC( 0x4000, 0x4000, "SWB:2" )
PORT_DIPNAME( 0x3000, 0x1000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:4,3")
PORT_DIPSETTING( 0x3000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Normal ) )
@ -1619,15 +1622,16 @@ static DRIVER_INIT(mastninj)
DRIVER_INIT_CALL(shadoww);
}
GAME( 1988, shadoww, 0, shadoww, common, shadoww, ROT0, "Tecmo", "Shadow Warriors (World, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1988, shadowwa, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Shadow Warriors (World, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1988, gaiden, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Ninja Gaiden (US)", GAME_SUPPORTS_SAVE )
GAME( 1989, ryukendn, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Ninja Ryukenden (Japan, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, ryukendna,shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Ninja Ryukenden (Japan, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1989, mastninj, shadoww, mastninj,common, mastninj, ROT0, "bootleg", "Master Ninja (bootleg of Shadow Warriors / Ninja Gaiden)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // sprites need fixing, sound and yscroll too.
GAME( 1989, wildfang, 0, shadoww, wildfang, wildfang, ROT0, "Tecmo", "Wild Fang / Tecmo Knight", GAME_SUPPORTS_SAVE )
GAME( 1989, wildfangs,wildfang, shadoww, tknight, wildfang, ROT0, "Tecmo", "Wild Fang", GAME_SUPPORTS_SAVE )
GAME( 1989, tknight, wildfang, shadoww, tknight, wildfang, ROT0, "Tecmo", "Tecmo Knight", GAME_SUPPORTS_SAVE )
GAME( 1991, stratof, 0, raiga, raiga, raiga, ROT0, "Tecmo", "Raiga - Strato Fighter (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, raiga, stratof, raiga, raiga, raiga, ROT0, "Tecmo", "Raiga - Strato Fighter (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1992, drgnbowl, 0, drgnbowl,drgnbowl, drgnbowl, ROT0, "Nics", "Dragon Bowl", GAME_SUPPORTS_SAVE )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1988, shadoww, 0, shadoww, common, shadoww, ROT0, "Tecmo", "Shadow Warriors (World, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1988, shadowwa, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Shadow Warriors (World, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1988, gaiden, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Ninja Gaiden (US)", GAME_SUPPORTS_SAVE )
GAME( 1989, ryukendn, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Ninja Ryukenden (Japan, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, ryukendna, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Ninja Ryukenden (Japan, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1989, mastninj, shadoww, mastninj, common, mastninj, ROT0, "bootleg", "Master Ninja (bootleg of Shadow Warriors / Ninja Gaiden)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // sprites need fixing, sound and yscroll too.
GAME( 1989, wildfang, 0, shadoww, wildfang, wildfang, ROT0, "Tecmo", "Wild Fang / Tecmo Knight", GAME_SUPPORTS_SAVE )
GAME( 1989, wildfangs, wildfang, shadoww, tknight, wildfang, ROT0, "Tecmo", "Wild Fang", GAME_SUPPORTS_SAVE )
GAME( 1989, tknight, wildfang, shadoww, tknight, wildfang, ROT0, "Tecmo", "Tecmo Knight", GAME_SUPPORTS_SAVE )
GAME( 1991, stratof, 0, raiga, raiga, raiga, ROT0, "Tecmo", "Raiga - Strato Fighter (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, raiga, stratof, raiga, raiga, raiga, ROT0, "Tecmo", "Raiga - Strato Fighter (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1992, drgnbowl, 0, drgnbowl, drgnbowl, drgnbowl, ROT0, "Nics", "Dragon Bowl", GAME_SUPPORTS_SAVE )

View File

@ -1042,30 +1042,28 @@ static INPUT_PORTS_START( bosco )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_START("DSWA")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:1,2")
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x03, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hardest ) )
PORT_DIPSETTING( 0x00, "Auto" )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4")
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x04, DEF_STR( Yes ) ) // factory default = "Yes"
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Freeze" ) PORT_DIPLOCATION("SW1:5")
PORT_DIPNAME( 0x10, 0x10, "Freeze" ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x20, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWB:6" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
PORT_START("DSWB")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2,3")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SWA:1,2,3")
PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
@ -1074,17 +1072,17 @@ static INPUT_PORTS_START( bosco )
PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
/* TODO: bonus scores are different for 5 lives */
PORT_DIPNAME( 0x38, 0x08, "Bonus Fighter" ) PORT_DIPLOCATION("SW2:4,5,6")
PORT_DIPSETTING( 0x30, "15K and 50K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0) /* Began with 1, 2 or 3 fighters */
/* bonus scores are different for 5 lives */
PORT_DIPNAME( 0x38, 0x20, "Bonus Fighter" ) PORT_DIPLOCATION("SWA:4,5,6")
PORT_DIPSETTING( 0x30, "15K and 50K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0) /* Began with 1, 2 or 3 fighters */
PORT_DIPSETTING( 0x38, "20K and 70K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x08, "10K, 50K, Every 50K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x10, "15K, 50K, Every 50K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x18, "15K, 70K, Every 70K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x20, "20K, 70K, Every 70K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x20, "20K, 70K, Every 70K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0) // factory default = "20K, 70K, Every70K"
PORT_DIPSETTING( 0x28, "30K, 100K, Every 100K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x30, "30K, 100K, Every 100K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0) /* Began with 5 fighters */
PORT_DIPSETTING( 0x30, "30K, 100K, Every 100K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0) /* Began with 5 fighters */
PORT_DIPSETTING( 0x38, "30K, 120K, Every 120K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x08, "15K and 70K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x10, "20K and 70K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
@ -1092,10 +1090,10 @@ static INPUT_PORTS_START( bosco )
PORT_DIPSETTING( 0x20, "30K and 120K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x28, "30K, 80K, Every 80K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWA:7,8")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x40, "2" )
PORT_DIPSETTING( 0x80, "3" )
PORT_DIPSETTING( 0x80, "3" ) // factory default = "3"
PORT_DIPSETTING( 0xc0, "5" )
INPUT_PORTS_END
@ -1103,21 +1101,21 @@ static INPUT_PORTS_START( boscomd )
PORT_INCLUDE( bosco )
PORT_MODIFY("DSWA")
PORT_DIPNAME( 0x01, 0x01, "2 Credits Game" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPNAME( 0x01, 0x01, "2 Credits Game" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x00, "1 Player" )
PORT_DIPSETTING( 0x01, "2 Players" )
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:2,3")
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:2,3")
PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x06, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x04, DEF_STR( Hardest ) )
PORT_DIPSETTING( 0x00, "Auto" )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:4")
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x08, DEF_STR( Yes ) )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:5")
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, "Freeze" ) PORT_DIPLOCATION("SW1:6")
PORT_DIPNAME( 0x20, 0x20, "Freeze" ) PORT_DIPLOCATION("SWB:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
@ -1149,28 +1147,28 @@ static INPUT_PORTS_START( galaga )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
PORT_START("DSWA")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:1,2")
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x00, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hardest ) )
PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW1:3" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4")
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWB:3" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Freeze" ) PORT_DIPLOCATION("SW1:5")
PORT_DIPNAME( 0x10, 0x10, "Freeze" ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, "Rack Test" ) PORT_DIPLOCATION("SW1:6")
PORT_DIPNAME( 0x20, 0x20, "Rack Test" ) PORT_DIPLOCATION("SWB:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" ) /* Listed as "Unused" */
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
PORT_START("DSWB")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2,3")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SWA:1,2,3")
PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_1C ) )
@ -1179,16 +1177,16 @@ static INPUT_PORTS_START( galaga )
PORT_DIPSETTING( 0x03, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x38, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,5,6")
PORT_DIPSETTING( 0x20, "20K, 60K, Every 60K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0) /* Began with 2, 3 or 4 fighters */
PORT_DIPNAME( 0x38, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWA:4,5,6")
PORT_DIPSETTING( 0x20, "20K, 60K, Every 60K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0) /* Began with 2, 3 or 4 fighters */
PORT_DIPSETTING( 0x18, "20K and 60K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x10, "20K, 70K, Every 70K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x10, "20K, 70K, Every 70K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0) // factory default = "20K, 70K, Every70K"
PORT_DIPSETTING( 0x30, "20K, 80K, Every 80K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x38, "30K and 80K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x08, "30K, 100K, Every 100K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x28, "30K, 120K, Every 120K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_CONDITION("DSWB",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x20, "30K, 100K, Every 100K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0) /* Began with 5 fighters */
PORT_DIPSETTING( 0x20, "30K, 100K, Every 100K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0) /* Began with 5 fighters */
PORT_DIPSETTING( 0x18, "30K and 150K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x10, "30K, 120K, Every 120K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x30, "30K, 150K, Every 150K" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
@ -1196,9 +1194,9 @@ static INPUT_PORTS_START( galaga )
PORT_DIPSETTING( 0x08, "30K and 100K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x28, "30K and 120K Only" ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_CONDITION("DSWB",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWA:7,8")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x80, "3" )
PORT_DIPSETTING( 0x80, "3" ) // factory default = "3"
PORT_DIPSETTING( 0x40, "4" )
PORT_DIPSETTING( 0xc0, "5" )
INPUT_PORTS_END
@ -1207,10 +1205,10 @@ static INPUT_PORTS_START( galagamw )
PORT_INCLUDE( galaga )
PORT_MODIFY("DSWA")
PORT_DIPNAME( 0x01, 0x01, "2 Credits Game" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPNAME( 0x01, 0x01, "2 Credits Game" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x00, "1 Player" )
PORT_DIPSETTING( 0x01, "2 Players" )
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:2,3")
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:2,3")
PORT_DIPSETTING( 0x06, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x00, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
@ -1261,16 +1259,16 @@ static INPUT_PORTS_START( xevious )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_START("DSWA")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:1,2")
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:3,4,5")
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWA:3,4,5")
PORT_DIPSETTING( 0x18, "10K, 40K, Every 40K" ) PORT_CONDITION("DSWA",0x60,PORTCOND_NOTEQUALS,0x00)
PORT_DIPSETTING( 0x14, "10K, 50K, Every 50K" ) PORT_CONDITION("DSWA",0x60,PORTCOND_NOTEQUALS,0x00)
PORT_DIPSETTING( 0x10, "20K, 50K, Every 50K" ) PORT_CONDITION("DSWA",0x60,PORTCOND_NOTEQUALS,0x00)
PORT_DIPSETTING( 0x1c, "20K, 60K, Every 60K" ) PORT_CONDITION("DSWA",0x60,PORTCOND_NOTEQUALS,0x00)
PORT_DIPSETTING( 0x1c, "20K, 60K, Every 60K" ) PORT_CONDITION("DSWA",0x60,PORTCOND_NOTEQUALS,0x00) // factory default = "20K, 60K, Every60K"
PORT_DIPSETTING( 0x0c, "20K, 70K, Every 70K" ) PORT_CONDITION("DSWA",0x60,PORTCOND_NOTEQUALS,0x00)
PORT_DIPSETTING( 0x08, "20K, 80K, Every 80K" ) PORT_CONDITION("DSWA",0x60,PORTCOND_NOTEQUALS,0x00)
PORT_DIPSETTING( 0x04, "20K and 60K Only" ) PORT_CONDITION("DSWA",0x60,PORTCOND_NOTEQUALS,0x00)
@ -1283,32 +1281,32 @@ static INPUT_PORTS_START( xevious )
PORT_DIPSETTING( 0x08, "30K, 100K, Every 100K" ) PORT_CONDITION("DSWA",0x60,PORTCOND_EQUALS,0x00)
PORT_DIPSETTING( 0x04, "20K and 80K Only" ) PORT_CONDITION("DSWA",0x60,PORTCOND_EQUALS,0x00)
PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_CONDITION("DSWA",0x60,PORTCOND_EQUALS,0x00)
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:6,7")
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWA:6,7")
PORT_DIPSETTING( 0x40, "1" )
PORT_DIPSETTING( 0x20, "2" )
PORT_DIPSETTING( 0x60, "3" )
PORT_DIPSETTING( 0x60, "3" ) // factory default = "3"
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWA:8")
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
PORT_START("DSWB")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_DIPNAME( 0x02, 0x02, "Flags Award Bonus Life" ) PORT_DIPLOCATION("SW2:2")
PORT_DIPNAME( 0x02, 0x02, "Flags Award Bonus Life" ) PORT_DIPLOCATION("SWB:2")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x02, DEF_STR( Yes ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWB:3,4")
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:6,7")
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x60, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
@ -1318,13 +1316,13 @@ static INPUT_PORTS_START( xeviousa )
PORT_INCLUDE( xevious )
PORT_MODIFY("DSWB")
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWB:3,4")
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
/* when switch is on Namco, high score names are 10 letters long */
PORT_DIPNAME( 0x80, 0x80, "Copyright" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPNAME( 0x80, 0x80, "Copyright" ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x00, "Namco" )
PORT_DIPSETTING( 0x80, "Atari/Namco" )
INPUT_PORTS_END
@ -1335,7 +1333,7 @@ static INPUT_PORTS_START( xeviousb )
PORT_MODIFY("DSWB")
/* when switch is on Namco, high score names are 10 letters long */
PORT_DIPNAME( 0x80, 0x80, "Copyright" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPNAME( 0x80, 0x80, "Copyright" ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x00, "Namco" )
PORT_DIPSETTING( 0x80, "Atari/Namco" )
INPUT_PORTS_END
@ -1345,12 +1343,12 @@ static INPUT_PORTS_START( sxevious )
PORT_INCLUDE( xevious )
PORT_MODIFY("DSWB")
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWB:3,4")
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
PORT_DIPNAME( 0x80, 0x00, "Freeze" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPNAME( 0x80, 0x00, "Freeze" ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
@ -1382,7 +1380,7 @@ static INPUT_PORTS_START( digdug )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
PORT_START("DSWA")
PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:1,2,3")
PORT_DIPSETTING( 0x07, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
@ -1391,51 +1389,51 @@ static INPUT_PORTS_START( digdug )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_7C ) )
PORT_DIPNAME( 0x38, 0x18, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4,5,6")
PORT_DIPSETTING( 0x20, "10K, 40K, Every 40K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x10, "10K, 50K, Every 50K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x30, "20K, 60K, Every 60K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x08, "20K, 70K, Every 70K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x28, "10K and 40K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x18, "20K and 60K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x38, "10K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x20, "20K, 60K, Every 60K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x10, "30K, 80K, Every 80K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x30, "20K and 50K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x08, "20K and 60K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x28, "30K and 70K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x18, "20K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x38, "30K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:7,8")
PORT_DIPNAME( 0x38, 0x18, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWA:4,5,6")
PORT_DIPSETTING( 0x20, "10K, 40K, Every 40K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0) // Atari factory default = "10K, 40K, Every40K"
PORT_DIPSETTING( 0x10, "10K, 50K, Every 50K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x30, "20K, 60K, Every 60K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x08, "20K, 70K, Every 70K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x28, "10K and 40K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x18, "20K and 60K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0) // Namco factory default = "20K, 60K"
PORT_DIPSETTING( 0x38, "10K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_CONDITION("DSWA",0xc0,PORTCOND_NOTEQUALS,0xc0)
PORT_DIPSETTING( 0x20, "20K, 60K, Every 60K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x10, "30K, 80K, Every 80K" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x30, "20K and 50K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x08, "20K and 60K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x28, "30K and 70K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x18, "20K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x38, "30K Only" ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPSETTING( 0x00, DEF_STR( None ) ) PORT_CONDITION("DSWA",0xc0,PORTCOND_EQUALS,0xc0)
PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWA:7,8")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x40, "2" )
PORT_DIPSETTING( 0x80, "3" )
PORT_DIPSETTING( 0x80, "3" ) // factory default = "3"
PORT_DIPSETTING( 0xc0, "5" )
PORT_START("DSWA_HI")
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(shifted_port_r, "DSWA")
PORT_START("DSWB")
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_START("DSWB") // reverse order against SWA
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWB:1,2")
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
PORT_DIPNAME( 0x20, 0x20, "Freeze" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPNAME( 0x20, 0x20, "Freeze" ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x08, DEF_STR( No ) )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x08, DEF_STR( No ) ) // factory default = "No"
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWB:6")
PORT_DIPSETTING( 0x04, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x02, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
@ -1445,6 +1443,62 @@ static INPUT_PORTS_START( digdug )
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(shifted_port_r, "DSWB")
INPUT_PORTS_END
/*
static INPUT_PORTS_START( digdugja ) // Namco older?
PORT_INCLUDE( digdug )
PORT_MODIFY("DSWB") // same order as SWA
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:2,1")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x02, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x03, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( No ) ) // Namco factory default = "No"
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Freeze" ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x60, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWB:7,6")
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
INPUT_PORTS_END
static INPUT_PORTS_START( digdugus ) // Atari older?
PORT_INCLUDE( digdug )
PORT_MODIFY("DSWB") // reverse order against SWA
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWB:1,2")
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
PORT_DIPNAME( 0x20, 0x20, "Freeze" ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x08, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) // Atari factory default = "Yes"
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:6,7")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x04, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x06, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x01, 0x01, "Number Of Coin Counter(s)" ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x01, "Two Coin Counters" )
PORT_DIPSETTING( 0x00, "One Coin Counter" )
INPUT_PORTS_END
*/
static const gfx_layout charlayout_2bpp =
@ -3262,37 +3316,38 @@ static DRIVER_INIT( battles )
/* Original Namco hardware, with Namco Customs */
GAME( 1981, bosco, 0, bosco, bosco, 0, ROT0, "Namco", "Bosconian (new version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, boscoo, bosco, bosco, bosco, 0, ROT0, "Namco", "Bosconian (old version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, boscoo2, bosco, bosco, bosco, 0, ROT0, "Namco", "Bosconian (older version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, boscomd, bosco, bosco, boscomd, 0, ROT0, "Namco (Midway license)", "Bosconian (Midway, new version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, boscomdo, bosco, bosco, boscomd, 0, ROT0, "Namco (Midway license)", "Bosconian (Midway, old version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1981, bosco, 0, bosco, bosco, 0, ROT0, "Namco", "Bosconian (new version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, boscoo, bosco, bosco, bosco, 0, ROT0, "Namco", "Bosconian (old version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, boscoo2, bosco, bosco, bosco, 0, ROT0, "Namco", "Bosconian (older version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, boscomd, bosco, bosco, boscomd, 0, ROT0, "Namco (Midway license)", "Bosconian (Midway, new version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, boscomdo, bosco, bosco, boscomd, 0, ROT0, "Namco (Midway license)", "Bosconian (Midway, old version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galaga, 0, galaga, galaga, galaga, ROT90, "Namco", "Galaga (Namco rev. B)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galagao, galaga, galaga, galaga, galaga, ROT90, "Namco", "Galaga (Namco)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galagamw, galaga, galaga, galagamw, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galagamk, galaga, galaga, galaga, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galagamf, galaga, galaga, galaga, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 1 with fast shoot hack)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galaga, 0, galaga, galaga, galaga, ROT90, "Namco", "Galaga (Namco rev. B)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galagao, galaga, galaga, galaga, galaga, ROT90, "Namco", "Galaga (Namco)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galagamw, galaga, galaga, galagamw, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galagamk, galaga, galaga, galaga, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1981, galagamf, galaga, galaga, galaga, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 1 with fast shoot hack)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
GAME( 1982, xevious, 0, xevious, xevious, xevious, ROT90, "Namco", "Xevious (Namco)", GAME_SUPPORTS_SAVE )
GAME( 1982, xeviousa, xevious, xevious, xeviousa, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari, harder)", GAME_SUPPORTS_SAVE )
GAME( 1982, xeviousb, xevious, xevious, xeviousb, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari)", GAME_SUPPORTS_SAVE )
GAME( 1982, xeviousc, xevious, xevious, xeviousa, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari, Namco PCB)", GAME_SUPPORTS_SAVE )
GAME( 1984, sxevious, xevious, xevious, sxevious, xevious, ROT90, "Namco", "Super Xevious", GAME_SUPPORTS_SAVE )
GAME( 1984, sxeviousj,xevious, xevious, sxevious, xevious, ROT90, "Namco", "Super Xevious (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1982, xevious, 0, xevious, xevious, xevious, ROT90, "Namco", "Xevious (Namco)", GAME_SUPPORTS_SAVE )
GAME( 1982, xeviousa, xevious, xevious, xeviousa, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari, harder)", GAME_SUPPORTS_SAVE )
GAME( 1982, xeviousb, xevious, xevious, xeviousb, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari)", GAME_SUPPORTS_SAVE )
GAME( 1982, xeviousc, xevious, xevious, xeviousa, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari, Namco PCB)", GAME_SUPPORTS_SAVE )
GAME( 1984, sxevious, xevious, xevious, sxevious, xevious, ROT90, "Namco", "Super Xevious", GAME_SUPPORTS_SAVE )
GAME( 1984, sxeviousj, xevious, xevious, sxevious, xevious, ROT90, "Namco", "Super Xevious (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1982, digdug, 0, digdug, digdug, 0, ROT90, "Namco", "Dig Dug (rev 2)", GAME_SUPPORTS_SAVE )
GAME( 1982, digdug1, digdug, digdug, digdug, 0, ROT90, "Namco", "Dig Dug (rev 1)", GAME_SUPPORTS_SAVE )
GAME( 1982, digdugat, digdug, digdug, digdug, 0, ROT90, "Namco (Atari license)", "Dig Dug (Atari, rev 2)", GAME_SUPPORTS_SAVE )
GAME( 1982, digdugat1,digdug, digdug, digdug, 0, ROT90, "Namco (Atari license)", "Dig Dug (Atari, rev 1)", GAME_SUPPORTS_SAVE )
GAME( 1982, digsid, digdug, digdug, digdug, 0, ROT90, "Namco (Sidam license)", "Dig Dug (manufactured by Sidam)", GAME_SUPPORTS_SAVE )
GAME( 1982, digdug, 0, digdug, digdug, 0, ROT90, "Namco", "Dig Dug (rev 2)", GAME_SUPPORTS_SAVE )
GAME( 1982, digdug1, digdug, digdug, digdug, 0, ROT90, "Namco", "Dig Dug (rev 1)", GAME_SUPPORTS_SAVE )
GAME( 1982, digdugat, digdug, digdug, digdug, 0, ROT90, "Namco (Atari license)", "Dig Dug (Atari, rev 2)", GAME_SUPPORTS_SAVE )
GAME( 1982, digdugat1, digdug, digdug, digdug, 0, ROT90, "Namco (Atari license)", "Dig Dug (Atari, rev 1)", GAME_SUPPORTS_SAVE )
GAME( 1982, digsid, digdug, digdug, digdug, 0, ROT90, "Namco (Sidam license)", "Dig Dug (manufactured by Sidam)", GAME_SUPPORTS_SAVE )
/* Bootlegs with replacement I/O chips */
GAME( 1981, gallag, galaga, galagab, galaga, galaga, ROT90, "bootleg", "Gallag", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1984, gatsbee, galaga, galagab, gatsbee, gatsbee, ROT90, "hack", "Gatsbee", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1981, gallag, galaga, galagab, galaga, galaga, ROT90, "bootleg", "Gallag", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1984, gatsbee, galaga, galagab, gatsbee, gatsbee, ROT90, "hack", "Gatsbee", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1982, xevios, xevious, xevious, xevious, xevios, ROT90, "bootleg", "Xevios", GAME_SUPPORTS_SAVE )
GAME( 1982, battles, xevious, battles, xevious, battles, ROT90, "bootleg", "Battles", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1982, xevios, xevious, xevious, xevious, xevios, ROT90, "bootleg", "Xevios", GAME_SUPPORTS_SAVE )
GAME( 1982, battles, xevious, battles, xevious, battles, ROT90, "bootleg", "Battles", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1982, dzigzag, digdug, dzigzag, digdug, 0, ROT90, "bootleg", "Zig Zag (Dig Dug hardware)", GAME_SUPPORTS_SAVE )
GAME( 1982, dzigzag, digdug, dzigzag, digdug, 0, ROT90, "bootleg", "Zig Zag (Dig Dug hardware)", GAME_SUPPORTS_SAVE )

View File

@ -8,7 +8,8 @@ The peculiar feature of this hardware is the ability to disable clearing of the
sprite framebuffer, therefore overdrawing new sprites on top of the ones drawn
in the previous frames.
When sprite overdrawing is enabled, not all sprites leave trails: only the ones
using color codes C, D, and E.
using specific color codes. and the other ones clear the sprite framebuffer like
an eraser. (See notes)
Game Board
@ -94,6 +95,16 @@ Notes:
Atomic Robo-Kid definitely doesn't have the DAC and counters. The other boards
have not been verified.
- The "credit service" in Ninja Kid II gives "extra credit(s)".
5C_1C -> 5C_1C 10C_2C 15C_4C# 20C_5C 25C_6C 30C_8C# 35C_9C 40C_10C 45C_12C#
4C_1C -> 4C_1C 8C_2C 12C_4C# 16C_5C 20C_6C 24C_8C# 28C_9C 32C_10C 36C_12C#
3C_1C -> 3C_1C 6C_2C 9C_4C# 12C_5C 15C_6C 18C_8C# 21C_9C 24C_10C 27C_12C#
2C_1C -> 2C_1C 4C_2C 6C_4C# 8C_5C 10C_6C 12C_8C# 14C_9C 16C_10C 18C_12C#
1C_1C -> 1C_1C 2C_2C 3C_4C# 4C_5C 5C_6C 6C_8C# 7C_9C 8C_10C 9C_12C#
1C_2C -> 1C_2C 2C_6C# 3C_10C# 4C_12C
1C_3C -> 1C_3C 2C_6C 3C_12C#
1C_4C -> 1C_4C 2C_8C 3C_12C '#' = added extra credit(s)
- Ark Area has no explicit copyright year on the title screen, however it was
reportedly released in December 1987.
Text in the ROM says:
@ -111,7 +122,7 @@ Notes:
Codes are given on the continue screen after Act 5.
- Omega Fighter has some unknown protection device interfacing with the player
and dip switche inputs. There isn't enough evidence to determine what the
and dip switch inputs. There isn't enough evidence to determine what the
device does, so it is roughly simulated just enough to get the game running.
Most of the time the device just passes over the inputs. It is interrogated
for protection check only on startup.
@ -121,9 +132,18 @@ Notes:
three bits of the returned value ar ORed with register B, and some code is
executed if the result is not 0. Nothing obvious happens either way.
- Overdrawing color codes
OVERDRAW STENCIL UNKNOWN
NINJAKD2 023459ABCDE F 1678
MNIGHT 0134568ABCDE F 279
ARKAREA 012345679BDE 8ACF
ROBOKID EF 01236 45789ABCD
OMEGAF - - - (unused)
TODO:
-----
- What does the "credit service" dip switch do in Ninja Kid II?
- Find out how to sort color codes enabled overdrawing.
******************************************************************************/
@ -594,23 +614,35 @@ static INPUT_PORTS_START( ninjakd2 )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x02, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x04, 0x00, "Credit Service" ) PORT_DIPLOCATION("SW2:6") // manual says "Credit_Mode Off=Service On=Normal", What does it mean?
PORT_DIPNAME( 0x04, 0x04, "Credit Service" ) PORT_DIPLOCATION("SW2:6") // extra credit(s)
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW2:5,4")
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x18, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00, "2 Coins/1 Credit, 6/4" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0x18, "1 Coin/1 Credit, 3/4" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0x10, "1 Coin/2 Credits, 2/6, 3/10" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0x08, "1 Coin/3 Credits, 3/12" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPSETTING( 0x18, DEF_STR( 1C_1C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW2:3,2,1")
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x00, "5 Coins/1 Credit, 15/4" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0x20, "4 Coins/1 Credit, 12/4" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0x40, "3 Coins/1 Credit, 9/4" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0x60, "2 Coins/1 Credit, 6/4" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0xe0, "1 Coin/1 Credit, 3/4" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0xc0, "1 Coin/2 Credits, 2/6, 3/10" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0xa0, "1 Coin/3 Credits, 3/12" ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_NOTEQUALS, 0x00)
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) PORT_CONDITION("DIPSW2", 0x04, PORTCOND_EQUALS, 0x00)
INPUT_PORTS_END
static INPUT_PORTS_START( rdaction )
@ -1463,14 +1495,15 @@ static DRIVER_INIT(mnight)
*
*************************************/
GAME( 1987, ninjakd2, 0, ninjakd2, ninjakd2, ninjakd2, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 1)", 0 )
GAME( 1987, ninjakd2a,ninjakd2, ninjakd2, ninjakd2, bootleg, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 2, bootleg?)", 0 )
GAME( 1987, ninjakd2b,ninjakd2, ninjakd2, rdaction, bootleg, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 3, bootleg?)", 0 )
GAME( 1987, rdaction, ninjakd2, ninjakd2, rdaction, ninjakd2, ROT0, "UPL (World Games license)", "Rad Action / NinjaKun Ashura no Shou", 0 )
GAME( 1987, mnight, 0, mnight, mnight, mnight, ROT0, "UPL (Kawakus license)", "Mutant Night", 0 )
GAME( 1988, arkarea, 0, arkarea, arkarea, mnight, ROT0, "UPL", "Ark Area", 0 )
GAME( 1988, robokid, 0, robokid, robokid, 0, ROT0, "UPL", "Atomic Robo-kid", 0 )
GAME( 1988, robokidj, robokid, robokid, robokidj, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 1)", 0 )
GAME( 1988, robokidj2,robokid, robokid, robokidj, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 2)", 0 )
GAME( 1989, omegaf, 0, omegaf, omegaf, 0, ROT270, "UPL", "Omega Fighter", 0 )
GAME( 1989, omegafs, omegaf, omegaf, omegaf, 0, ROT270, "UPL", "Omega Fighter Special", 0 )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1987, ninjakd2, 0, ninjakd2, ninjakd2, ninjakd2, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 1)", 0 )
GAME( 1987, ninjakd2a, ninjakd2, ninjakd2, ninjakd2, bootleg, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 2, bootleg?)", 0 )
GAME( 1987, ninjakd2b, ninjakd2, ninjakd2, rdaction, bootleg, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 3, bootleg?)", 0 )
GAME( 1987, rdaction, ninjakd2, ninjakd2, rdaction, ninjakd2, ROT0, "UPL (World Games license)", "Rad Action / NinjaKun Ashura no Shou", 0 )
GAME( 1987, mnight, 0, mnight, mnight, mnight, ROT0, "UPL (Kawakus license)", "Mutant Night", 0 )
GAME( 1988, arkarea, 0, arkarea, arkarea, mnight, ROT0, "UPL", "Ark Area", 0 )
GAME( 1988, robokid, 0, robokid, robokid, 0, ROT0, "UPL", "Atomic Robo-kid", 0 )
GAME( 1988, robokidj, robokid, robokid, robokidj, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 1)", 0 )
GAME( 1988, robokidj2, robokid, robokid, robokidj, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 2)", 0 )
GAME( 1989, omegaf, 0, omegaf, omegaf, 0, ROT270, "UPL", "Omega Fighter", 0 )
GAME( 1989, omegafs, omegaf, omegaf, omegaf, 0, ROT270, "UPL", "Omega Fighter Special", 0 )

View File

@ -252,6 +252,7 @@ Stephh's notes (based on the game M68000 code and some tests) :
* 0x0003 (World) and 0x0004 (licensed to xxx) use TAITO_COINAGE_WORLD
- Notice screen only if region = 0x0000
- According to the manual, DSWB bit 6 determines continue pricing :
("Not Used" on Japanese manual)
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Continue_Price ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
@ -572,9 +573,9 @@ static INPUT_PORTS_START( darius2 )
/* 0x200000 (port 0) -> 0x0c2002 (-$5ffe,A5) and 0x0c2006 (-$5ffa,A5) */
PORT_MODIFY("DSWA")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1") /* code at 0x00c20e */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x01, 0x01, "Difficulty Enhancement" ) PORT_DIPLOCATION("SW1:1") /* code at 0x00c20e */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) // Easy Medium Hard Hardest // Japan factory default = "Off"
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // Easy- Medium+ Hard+ Hardest+ // "Easy-" is easier than "Easy". "Medium+","Hard+" and "hardest+" are harder than "Medium","Hard" and "hardest".
PORT_DIPNAME( 0x02, 0x02, "Auto Fire" ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x00, "Fast" )
@ -1131,6 +1132,7 @@ ROM_END
/* Working Games */
GAME( 1987, ninjaw, 0, ninjaw, ninjaw, 0, ROT0, "Taito Corporation Japan", "The Ninja Warriors (World)", 0 )
GAME( 1987, ninjawj, ninjaw, ninjaw, ninjawj, 0, ROT0, "Taito Corporation", "The Ninja Warriors (Japan)", 0 )
GAME( 1989, darius2, 0, darius2, darius2, 0, ROT0, "Taito Corporation", "Darius II (Japan)", 0 )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1987, ninjaw, 0, ninjaw, ninjaw, 0, ROT0, "Taito Corporation Japan", "The Ninja Warriors (World)", 0 )
GAME( 1987, ninjawj, ninjaw, ninjaw, ninjawj, 0, ROT0, "Taito Corporation", "The Ninja Warriors (Japan)", 0 )
GAME( 1989, darius2, 0, darius2, darius2, 0, ROT0, "Taito Corporation", "Darius II (triple screen) (Japan)", 0 )

View File

@ -387,32 +387,32 @@ static INPUT_PORTS_START( ninjakun )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ninjakun_io_A002_ctrl_r, NULL)
PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:1")
PORT_START("DSW1") // printed "SW 2"
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x06, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:2,3")
PORT_DIPNAME( 0x06, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:2,3")
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x04, "3" ) // factory default = "3"
PORT_DIPSETTING( 0x06, "4" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x08, 0x08, "First Bonus" ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x08, "30000" )
PORT_DIPNAME( 0x08, 0x08, "First Bonus" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, "30000" ) // factory default = "30000"
PORT_DIPSETTING( 0x00, "40000" )
PORT_DIPNAME( 0x30, 0x30, "Second Bonus" ) PORT_DIPLOCATION("SW1:5,6")
PORT_DIPNAME( 0x30, 0x20, "Second Bonus" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x00, "No Bonus" )
PORT_DIPSETTING( 0x10, "Every 30000" )
PORT_DIPSETTING( 0x30, "Every 50000" )
PORT_DIPSETTING( 0x20, "Every 70000" )
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x20, "Every 70000" ) // factory default = "70000"
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
PORT_START("DSW2")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2,3")
PORT_START("DSW2") // printed "SW 1"
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 4C_2C ) )
@ -421,17 +421,17 @@ static INPUT_PORTS_START( ninjakun )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_2C ) )
PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 1C_2C ) )
PORT_DIPNAME( 0x08, 0x08, "High Score Names" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPNAME( 0x08, 0x08, "High Score Names" ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x00, "3 Letters" )
PORT_DIPSETTING( 0x08, "8 Letters" )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x10, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:6" )
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, "Infinite Lives (If Free Play)" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPNAME( 0x80, 0x80, "Infinite Lives (If Free Play)" ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
@ -458,14 +458,14 @@ static INPUT_PORTS_START( pkunwar )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_START("IN2")
PORT_DIPUNKNOWN_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:1" )
PORT_DIPUNKNOWN_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:2" )
PORT_DIPUNKNOWN_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:3" )
PORT_DIPUNKNOWN_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW1:4" )
PORT_DIPUNKNOWN_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW1:5" )
PORT_DIPUNKNOWN_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:6" )
PORT_DIPUNKNOWN_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:7" )
PORT_DIPUNKNOWN_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:8" )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW1:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW1:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:8" )
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2")
@ -553,7 +553,7 @@ static INPUT_PORTS_START( raiders5 )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x10, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:7") // Unused in manual
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -1036,10 +1036,11 @@ static DRIVER_INIT( raiders5 )
*
*************************************/
GAME( 1983, nova2001, 0, nova2001, nova2001, 0, ROT0, "UPL", "Nova 2001 (Japan)", 0 )
GAME( 1983, nova2001u,nova2001, nova2001, nova2001, 0, ROT0, "UPL (Universal license)", "Nova 2001 (US)", 0 )
GAME( 1984, ninjakun, 0, ninjakun, ninjakun, 0, ROT0, "UPL (Taito license)", "Ninjakun Majou no Bouken", 0 )
GAME( 1985, pkunwar, 0, pkunwar, pkunwar, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (US)", 0 )
GAME( 1985, pkunwarj, pkunwar, pkunwar, pkunwar, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (Japan)", 0 )
GAME( 1985, raiders5, 0, raiders5, raiders5, raiders5, ROT0, "UPL", "Raiders5", 0 )
GAME( 1985, raiders5t,raiders5, raiders5, raiders5, raiders5, ROT0, "UPL (Taito license)", "Raiders5 (Japan)", 0 )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1983, nova2001, 0, nova2001, nova2001, 0, ROT0, "UPL", "Nova 2001 (Japan)", 0 )
GAME( 1983, nova2001u, nova2001, nova2001, nova2001, 0, ROT0, "UPL (Universal license)", "Nova 2001 (US)", 0 )
GAME( 1984, ninjakun, 0, ninjakun, ninjakun, 0, ROT0, "UPL (Taito license)", "Ninjakun Majou no Bouken", 0 )
GAME( 1985, pkunwar, 0, pkunwar, pkunwar, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (US)", 0 )
GAME( 1985, pkunwarj, pkunwar, pkunwar, pkunwar, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (Japan)", 0 )
GAME( 1985, raiders5, 0, raiders5, raiders5, raiders5, ROT0, "UPL", "Raiders5", 0 )
GAME( 1985, raiders5t, raiders5, raiders5, raiders5, raiders5, ROT0, "UPL (Taito license)", "Raiders5 (Japan)", 0 )

View File

@ -12,6 +12,7 @@
#include "cpu/z80/z80.h"
#include "audio/timeplt.h"
#include "includes/pooyan.h"
#include "includes/konamipt.h"
#define MASTER_CLOCK XTAL_18_432MHz
@ -100,40 +101,7 @@ static INPUT_PORTS_START( pooyan )
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DSW0")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 3C_4C ) )
PORT_DIPSETTING( 0x07, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x30, DEF_STR( 3C_4C ) )
PORT_DIPSETTING( 0x70, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, "Invalid" )
KONAMI_COINAGE(DEF_STR( Free_Play ), "Invalid" )
/* Invalid = both coin slots disabled */
PORT_START("DSW1")
@ -341,6 +309,7 @@ ROM_END
*
*************************************/
GAME( 1982, pooyan, 0, pooyan, pooyan, 0, ROT90, "Konami", "Pooyan", GAME_SUPPORTS_SAVE )
GAME( 1982, pooyans, pooyan, pooyan, pooyan, 0, ROT90, "Konami (Stern Electronics license)", "Pooyan (Stern Electronics)", GAME_SUPPORTS_SAVE )
GAME( 1982, pootan, pooyan, pooyan, pooyan, 0, ROT90, "bootleg", "Pootan", GAME_SUPPORTS_SAVE )
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1982, pooyan, 0, pooyan, pooyan, 0, ROT90, "Konami", "Pooyan", GAME_SUPPORTS_SAVE )
GAME( 1982, pooyans, pooyan, pooyan, pooyan, 0, ROT90, "Konami (Stern Electronics license)", "Pooyan (Stern Electronics)", GAME_SUPPORTS_SAVE )
GAME( 1982, pootan, pooyan, pooyan, pooyan, 0, ROT90, "bootleg", "Pootan", GAME_SUPPORTS_SAVE )

View File

@ -54,6 +54,7 @@ Notes:
#include "sound/vlm5030.h"
#include "video/konicdev.h"
#include "includes/rockrage.h"
#include "includes/konamipt.h"
static INTERRUPT_GEN( rockrage_interrupt )
@ -132,40 +133,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( rockrage )
PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 3C_4C ) )
PORT_DIPSETTING( 0x07, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x30, DEF_STR( 3C_4C ) )
PORT_DIPSETTING( 0x70, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, "Invalid" )
KONAMI_COINAGE(DEF_STR( Free_Play ), "Invalid" )
/* Invalid = both coin slots disabled */
PORT_START("DSW2")
@ -348,7 +316,7 @@ ROM_START( rockrage )
ROM_LOAD( "620q01.16c", 0x08000, 0x08000, CRC(0ddb5ef5) SHA1(71b38c9f957858371f0ac95720d3c6d07339e5c5) ) /* fixed ROM */
ROM_LOAD( "620q02.15c", 0x10000, 0x10000, CRC(b4f6e346) SHA1(43fded4484836ff315dd6e40991f909dad73f1ed) ) /* banked ROM */
ROM_REGION( 0x10000 , "audiocpu", 0 ) /* 64k for the sound CPU */
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the sound CPU */
ROM_LOAD( "620k03.11c", 0x08000, 0x08000, CRC(9fbefe82) SHA1(ab42b7e519a0dd08f2249dad0819edea0976f39a) )
ROM_REGION( 0x040000, "gfx1", 0 )
@ -373,7 +341,7 @@ ROM_START( rockragea )
ROM_LOAD( "620n01.16c", 0x08000, 0x10000, CRC(f89f56ea) SHA1(64ba2575e09af257b242d913eab69130f7341894) ) /* fixed ROM */
ROM_LOAD( "620n02.15c", 0x10000, 0x10000, CRC(5bc1f1cf) SHA1(d5bb9971d778449e0c01495f9888c0da7ac617a7) ) /* banked ROM */
ROM_REGION( 0x10000 , "audiocpu", 0 ) /* 64k for the sound CPU */
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the sound CPU */
ROM_LOAD( "620k03.11c", 0x08000, 0x08000, CRC(9fbefe82) SHA1(ab42b7e519a0dd08f2249dad0819edea0976f39a) ) /* Same rom but labeled as ver "G" */
ROM_REGION( 0x040000, "gfx1", 0 )
@ -402,7 +370,7 @@ ROM_START( rockragej )
ROM_LOAD( "620k01.16c", 0x08000, 0x08000, CRC(4f5171f7) SHA1(5bce9e3f9d01c113c697853763cd891b91297eb2) ) /* fixed ROM */
ROM_LOAD( "620k02.15c", 0x10000, 0x10000, CRC(04c4d8f7) SHA1(2a1a024fc38bb934c454092b0aed74d0f1d1c4af) ) /* banked ROM */
ROM_REGION( 0x10000 , "audiocpu", 0 ) /* 64k for the sound CPU */
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the sound CPU */
ROM_LOAD( "620k03.11c", 0x08000, 0x08000, CRC(9fbefe82) SHA1(ab42b7e519a0dd08f2249dad0819edea0976f39a) )
ROM_REGION( 0x040000, "gfx1", 0 )
@ -428,6 +396,7 @@ ROM_END
***************************************************************************/
GAME( 1986, rockrage, 0, rockrage, rockrage, 0, ROT0, "Konami", "Rock'n Rage (World)", GAME_SUPPORTS_SAVE )
GAME( 1986, rockragea,rockrage, rockrage, rockrage, 0, ROT0, "Konami", "Rock'n Rage (prototype?)", GAME_SUPPORTS_SAVE )
GAME( 1986, rockragej,rockrage, rockrage, rockrage, 0, ROT0, "Konami", "Koi no Hotrock (Japan)", GAME_SUPPORTS_SAVE )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1986, rockrage, 0, rockrage, rockrage, 0, ROT0, "Konami", "Rock'n Rage (World)", GAME_SUPPORTS_SAVE )
GAME( 1986, rockragea, rockrage, rockrage, rockrage, 0, ROT0, "Konami", "Rock'n Rage (prototype?)", GAME_SUPPORTS_SAVE )
GAME( 1986, rockragej, rockrage, rockrage, rockrage, 0, ROT0, "Konami", "Koi no Hotrock (Japan)", GAME_SUPPORTS_SAVE )

View File

@ -74,6 +74,7 @@
#include "sound/sn76496.h"
#include "sound/2612intf.h"
#include "sound/upd7759.h"
#include "includes/segaipt.h"
#include "includes/megadriv.h"
@ -631,25 +632,25 @@ ADDRESS_MAP_END
******************************************************************************/
static INPUT_PORTS_START( systemc_generic )
PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
PORT_START("PORTC")
PORT_BIT( 0x3f, IP_ACTIVE_LOW, IPT_UNUSED )
@ -660,76 +661,27 @@ static INPUT_PORTS_START( systemc_generic )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("SERVICE")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("COINAGE")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin A too) or 1/1" )
SEGA_COINAGE_LOC(SW1)
PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
PORT_START("PORTH")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
@ -740,84 +692,94 @@ static INPUT_PORTS_START( columns )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
/* The first level increase (from 0 to 1) is always after destroying
35 jewels. Then, the level gets 1 level more every : */
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x00, DEF_STR( Easiest ) ) // 50 jewels
PORT_DIPSETTING( 0x10, DEF_STR( Easy ) ) // 40 jewels
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) ) // 35 jewels
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) ) // 25 jewels
//"SW2:3" unused
//"SW2:4" unused
/* The first level increase (from 0 to 1) is always after destroying
35 jewels. Then, the level gets 1 level more every : */
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x00, DEF_STR( Easiest ) ) // 50 jewels
PORT_DIPSETTING( 0x10, DEF_STR( Easy ) ) // 40 jewels
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) ) // 35 jewels
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) ) // 25 jewels
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
static INPUT_PORTS_START( columnsu )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x00, "Background Music" ) /* listed in the manual, ON by default */
//"SW2:3" unused
PORT_DIPNAME( 0x04, 0x00, "Background Music" ) PORT_DIPLOCATION("SW2:3") /* listed in the manual, ON by default */
PORT_DIPSETTING( 0x04, "BGM #1" )
PORT_DIPSETTING( 0x00, "BGM #2" )
/* The first level increase (from 0 to 1) is always after destroying
35 jewels. Then, the level gets 1 level more every : */
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x00, DEF_STR( Easiest ) ) // 50 jewels
PORT_DIPSETTING( 0x10, DEF_STR( Easy ) ) // 40 jewels
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) ) // 35 jewels
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) ) // 25 jewels
/* The first level increase (from 0 to 1) is always after destroying
35 jewels. Then, the level gets 1 level more every : */
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x00, DEF_STR( Easiest ) ) // 50 jewels
PORT_DIPSETTING( 0x10, DEF_STR( Easy ) ) // 40 jewels
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) ) // 35 jewels
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) ) // 25 jewels
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
static INPUT_PORTS_START( columns2 )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, "VS. Mode Credits/Match" )
PORT_DIPNAME( 0x0c, 0x0c, "VS. Mode Credits/Match" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c, "1" )
PORT_DIPSETTING( 0x08, "2" )
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x00, "4" )
PORT_DIPNAME( 0x30, 0x30, "Flash Mode Difficulty" )
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x30, 0x30, "Flash Mode Difficulty" ) PORT_DIPLOCATION("SW2:5,6") // rising up height per a skull
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) ) // 1
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) ) // 2
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) ) // 3
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) // 4
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -825,31 +787,31 @@ static INPUT_PORTS_START( borench )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" )
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, "Lives 1P Mode" )
PORT_DIPNAME( 0x0c, 0x0c, "Lives 1P Mode" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x0c, "2" )
PORT_DIPSETTING( 0x08, "3" )
PORT_DIPSETTING( 0x04, "4" )
PORT_DIPNAME( 0x30, 0x30, "Lives 2P Mode" )
PORT_DIPNAME( 0x30, 0x30, "Lives 2P Mode" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x20, "4" )
PORT_DIPSETTING( 0x10, "5" )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Medium ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
INPUT_PORTS_END
@ -859,25 +821,25 @@ static INPUT_PORTS_START( tfrceac )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" )
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x10, "10k, 70k, 150k" )
PORT_DIPSETTING( 0x30, "20k, 100k, 200k" )
PORT_DIPSETTING( 0x20, "40k, 150k, 300k" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x10, "10k, 70k, 150k" )
PORT_DIPSETTING( 0x30, "20k, 100k, 200k" )
PORT_DIPSETTING( 0x20, "40k, 150k, 300k" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Medium ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
INPUT_PORTS_END
@ -897,23 +859,25 @@ static INPUT_PORTS_START( twinsqua )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" )
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "Buy In" )
PORT_DIPNAME( 0x04, 0x04, "Buy In" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x18, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x18, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x20, 0x20, "Seat Type" )
PORT_DIPNAME( 0x20, 0x20, "Seat Type" ) PORT_DIPLOCATION("SW2:6") // Sega cabinet "MEGALO 50" has "MOVING SEAT"
PORT_DIPSETTING( 0x20, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x00, "Moving" )
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -921,32 +885,34 @@ static INPUT_PORTS_START( ribbit )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 1 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 1 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 1 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 1 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" )
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) )
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x08, "1" )
PORT_DIPSETTING( 0x0c, "2" )
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -954,26 +920,29 @@ static INPUT_PORTS_START( puyo )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "VS. Mode Credits/Match" )
PORT_DIPNAME( 0x04, 0x04, "VS. Mode Credits/Match" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, "1" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPNAME( 0x18, 0x18, "1P Mode Difficulty" )
PORT_DIPNAME( 0x18, 0x18, "1P Mode Difficulty" ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x18, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x18, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x80, 0x80, "Moving Seat" )
//"SW2:6" unused
//"SW2:7" unused
PORT_DIPNAME( 0x80, 0x80, "Moving Seat" ) PORT_DIPLOCATION("SW2:8") // Sega cabinet "MEGALO 50" has "MOVING SEAT"
PORT_DIPSETTING( 0x80, "No Use" )
PORT_DIPSETTING( 0x00, "In Use" )
INPUT_PORTS_END
@ -983,23 +952,27 @@ static INPUT_PORTS_START( stkclmns )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x03, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x03, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "Match Mode Price" )
PORT_DIPNAME( 0x08, 0x08, "Match Mode Price" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, "1" )
PORT_DIPSETTING( 0x00, "2" )
//"SW2:5" unused
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -1007,35 +980,35 @@ static INPUT_PORTS_START( potopoto )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" )
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "Coin Chute Type" )
PORT_DIPNAME( 0x04, 0x04, "Coin Chute Type" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, "Common" )
PORT_DIPSETTING( 0x00, "Individual" )
PORT_DIPNAME( 0x08, 0x08, "Credits to Continue" )
PORT_DIPNAME( 0x08, 0x08, "Credits to Continue" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x10, 0x10, "Buy-In" )
PORT_DIPNAME( 0x10, 0x10, "Buy-In" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x10, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x60, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x60, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x80, 0x80, "Moving Seat" )
PORT_DIPNAME( 0x80, 0x80, "Moving Seat" ) PORT_DIPLOCATION("SW2:8") // Sega cabinet "MEGALO 50" has "MOVING SEAT"
PORT_DIPSETTING( 0x80, "No Use" )
PORT_DIPSETTING( 0x00, "In Use" )
INPUT_PORTS_END
@ -1045,26 +1018,29 @@ static INPUT_PORTS_START( zunkyou )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Game Difficulty 1" )
PORT_DIPSETTING( 0x01, DEF_STR( Medium ) )
PORT_DIPNAME( 0x01, 0x01, "Game Difficulty 1" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
PORT_DIPNAME( 0x02, 0x02, "Game Difficulty 2" )
PORT_DIPSETTING( 0x02, DEF_STR( Medium ) )
PORT_DIPNAME( 0x02, 0x02, "Game Difficulty 2" ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x08, "1" )
PORT_DIPSETTING( 0x04, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -1072,22 +1048,27 @@ static INPUT_PORTS_START( ichir )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x04, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x06, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:2,3")
PORT_DIPSETTING( 0x04, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x06, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
//"SW2:4" unused
//"SW2:5" unused
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -1095,23 +1076,28 @@ static INPUT_PORTS_START( bloxeedc )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "VS Mode Price" )
PORT_DIPSETTING( 0x00, "Same as Ordinary" )
PORT_DIPSETTING( 0x01, "Double as Ordinary" )
PORT_DIPNAME( 0x02, 0x02, "Credits to Start" )
PORT_DIPSETTING( 0x02, "1" )
PORT_DIPNAME( 0x01, 0x01, "VS Mode Price" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x00, "Same as Ordinary" )
PORT_DIPSETTING( 0x01, "Double as Ordinary" )
PORT_DIPNAME( 0x02, 0x02, "Credits to Start" ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
//"SW2:3" unused
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:5" unused
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -1119,34 +1105,34 @@ static INPUT_PORTS_START( puyopuy2 )
PORT_INCLUDE( systemc_generic )
PORT_MODIFY("P1")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("P2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Rannyu Off Button" )
PORT_DIPSETTING( 0x01, "Use" )
PORT_DIPSETTING( 0x00, "No Use" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPNAME( 0x01, 0x01, "Rannyu Off Button" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "Use" )
PORT_DIPSETTING( 0x00, "No Use" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "Turn Direction" )
PORT_DIPSETTING( 0x04, "1:Right 2:Left" )
PORT_DIPSETTING( 0x00, "1:Left 2:Right")
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x18, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPNAME( 0x04, 0x04, "Turn Direction" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, "1:Right 2:Left" )
PORT_DIPSETTING( 0x00, "1:Left 2:Right")
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x18, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x60, 0x60, "VS Mode Match/1 Play" )
PORT_DIPSETTING( 0x60, "1" )
PORT_DIPSETTING( 0x40, "2" )
PORT_DIPSETTING( 0x20, "3" )
PORT_DIPSETTING( 0x00, "4" )
PORT_DIPNAME( 0x80, 0x80, "Battle Start credit" )
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x80, "2" )
PORT_DIPNAME( 0x60, 0x60, "VS Mode Match/1 Play" ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, "1" )
PORT_DIPSETTING( 0x40, "2" )
PORT_DIPSETTING( 0x20, "3" )
PORT_DIPSETTING( 0x00, "4" )
PORT_DIPNAME( 0x80, 0x80, "Battle Start credit" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x80, "2" )
INPUT_PORTS_END
@ -1155,10 +1141,10 @@ static INPUT_PORTS_START( pclub )
PORT_MODIFY("P1")
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Probably Unused */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Ok")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Cancel")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Ok")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Cancel")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
PORT_MODIFY("P2")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Probably Unused */
@ -1167,56 +1153,32 @@ static INPUT_PORTS_START( pclub )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Probably Unused */
PORT_MODIFY("COINAGE")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW4:1,2,3")
PORT_DIPSETTING( 0x00, DEF_STR( 7C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x07, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x07, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x06, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x08, 0x08, "Unknown 4-4" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Unknown 4-5" )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, "Unknown 4-6" )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Unknown 4-7" )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "Unknown 4-8" )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPSETTING( 0x06, DEF_STR( Free_Play ) )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW4:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW4:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW4:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW4:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW4:8" )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Unknown 5-1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "Unknown 5-2" )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "Unknown 5-3" )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "Unknown 5-4" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Unknown 5-5" )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ))
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW5:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW5:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW5:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW5:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW5:5" )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds )) PORT_DIPLOCATION("SW5:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Unknown 5-7" )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "Unknown 5-8" )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW5:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW5:8" )
INPUT_PORTS_END
@ -1237,56 +1199,30 @@ static INPUT_PORTS_START( pclubjv2 )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Probably Unused */
PORT_MODIFY("COINAGE")
PORT_DIPNAME( 0x07, 0x07, "Coins per Credit (Normal / Alternate)" )
PORT_DIPNAME( 0x07, 0x07, "Coins per Credit (Normal / Alternate)" ) PORT_DIPLOCATION("SW4:1,2,3")
PORT_DIPSETTING( 0x00, "25 / 30" ) //7C1C
PORT_DIPSETTING( 0x01, "6 / 7" ) //6C1C
PORT_DIPSETTING( 0x02, "10 / 12" ) //5C1C
PORT_DIPSETTING( 0x03, "1 / 2" ) //4C1C
PORT_DIPSETTING( 0x07, "3 / Free Play" ) //3C1C
PORT_DIPSETTING( 0x07, "3 / Free Play" ) //3C1C
PORT_DIPSETTING( 0x04, "15 / 20" ) //2C1C
PORT_DIPSETTING( 0x05, "4 / 5" ) //1C1C
PORT_DIPSETTING( 0x06, "8 / 9" ) //FP
PORT_DIPNAME( 0x08, 0x08, "Alternate Coinage" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Unknown 4-5" )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, "Unknown 4-6" )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Unknown 4-7" )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "Unknown 4-8" )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x06, "8 / 9" ) //FP
PORT_DIPNAME( 0x08, 0x08, "Alternate Coinage" ) PORT_DIPLOCATION("SW4:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Unknown 5-1" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "Unknown 5-2" )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "Unknown 5-3" )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "Unknown 5-4" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Unknown 5-5" )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ))
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW5:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW5:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW5:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW5:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW5:5" )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds )) PORT_DIPLOCATION("SW5:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Unknown 5-7" )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "Unknown 5-8" )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW5:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW5:8" )
INPUT_PORTS_END
/******************************************************************************
@ -2225,43 +2161,44 @@ static DRIVER_INIT( pclubjv5 )
******************************************************************************/
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* System C Games */
GAME( 1989, bloxeedc, bloxeed, segac, bloxeedc, bloxeedc, ROT0, "Sega / Elorg", "Bloxeed (World, C System)", 0 )
GAME( 1989, bloxeedu, bloxeed, segac, bloxeedc, bloxeedc, ROT0, "Sega / Elorg", "Bloxeed (US, C System)", 0 )
GAME( 1990, columns, 0, segac, columns, columns, ROT0, "Sega", "Columns (World)", 0 )
GAME( 1990, columnsu, columns, segac, columnsu, columns, ROT0, "Sega", "Columns (US, cocktail)", 0 ) // has cocktail mode dsw
GAME( 1990, columnsj, columns, segac, columns, columns, ROT0, "Sega", "Columns (Japan)", 0 )
GAME( 1990, columns2, 0, segac, columns2, columns2, ROT0, "Sega", "Columns II: The Voyage Through Time (World)", 0 )
GAME( 1990, column2j, columns2, segac, columns2, columns2, ROT0, "Sega", "Columns II: The Voyage Through Time (Japan)", 0 )
GAME( 1989, bloxeedc, bloxeed, segac, bloxeedc, bloxeedc, ROT0, "Sega / Elorg", "Bloxeed (World, C System)", 0 )
GAME( 1989, bloxeedu, bloxeed, segac, bloxeedc, bloxeedc, ROT0, "Sega / Elorg", "Bloxeed (US, C System)", 0 )
GAME( 1990, columns, 0, segac, columns, columns, ROT0, "Sega", "Columns (World)", 0 )
GAME( 1990, columnsu, columns, segac, columnsu, columns, ROT0, "Sega", "Columns (US, cocktail)", 0 ) // has cocktail mode dsw
GAME( 1990, columnsj, columns, segac, columns, columns, ROT0, "Sega", "Columns (Japan)", 0 )
GAME( 1990, columns2, 0, segac, columns2, columns2, ROT0, "Sega", "Columns II: The Voyage Through Time (World)", 0 )
GAME( 1990, column2j, columns2, segac, columns2, columns2, ROT0, "Sega", "Columns II: The Voyage Through Time (Japan)", 0 )
/* System C-2 Games */
GAME( 1990, tfrceac, 0, segac2, tfrceac, tfrceac, ROT0, "Sega / Technosoft", "ThunderForce AC", 0 )
GAME( 1990, tfrceacj, tfrceac, segac2, tfrceac, tfrceac, ROT0, "Sega / Technosoft", "ThunderForce AC (Japan)", 0 )
GAME( 1990, tfrceacb, tfrceac, segac2, tfrceac, tfrceacb, ROT0, "bootleg", "ThunderForce AC (bootleg)", 0 )
GAME( 1990, borench, 0, segac2, borench, borench, ROT0, "Sega", "Borench", 0 )
GAME( 1991, twinsqua, 0, segac2, twinsqua, twinsqua, ROT0, "Sega", "Twin Squash", 0 )
GAME( 1991, ribbit, 0, segac2, ribbit, ribbit, ROT0, "Sega", "Ribbit!", 0 )
GAME( 1992, puyo, 0, segac2, puyo, puyo, ROT0, "Sega / Compile", "Puyo Puyo (World)", 0 )
GAME( 1992, puyobl, puyo, segac2, puyo, puyo, ROT0, "bootleg", "Puyo Puyo (World, bootleg)", 0 )
GAME( 1992, puyoj, puyo, segac2, puyo, puyo, ROT0, "Sega / Compile", "Puyo Puyo (Japan, Rev B)", 0 )
GAME( 1992, puyoja, puyo, segac2, puyo, puyo, ROT0, "Sega / Compile", "Puyo Puyo (Japan, Rev A)", 0 )
GAME( 1992, tantr, 0, segac2, ichir, tantr, ROT0, "Sega", "Puzzle & Action: Tant-R (Japan)", 0 )
GAME( 1993, tantrkor, tantr, segac2, ichir, tantrkor, ROT0, "Sega", "Puzzle & Action: Tant-R (Korea)", 0 )
GAME( 1992, tantrbl, tantr, segac2, ichir, c2boot, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 1)", 0 )
GAME( 1994, tantrbl2, tantr, segac, ichir, tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 2)", 0 ) // Common bootleg in Europe, C board, no samples
GAME( 1994, tantrbl3, tantr, segac, ichir, tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 3)", 0 ) // Common bootleg in Europe, C board, no samples
GAME( 1994, potopoto, 0, segac2, potopoto, potopoto, ROT0, "Sega", "Poto Poto (Japan)", 0 )
GAME( 1994, stkclmns, 0, segac2, stkclmns, stkclmns, ROT0, "Sega", "Stack Columns (World)", 0 )
GAME( 1994, stkclmnsj,stkclmns, segac2, stkclmns, stkclmnj, ROT0, "Sega", "Stack Columns (Japan)", 0 )
GAME( 1994, ichir, 0, segac2, ichir, ichir, ROT0, "Sega", "Puzzle & Action: Ichidant-R (World)", 0 )
GAME( 1994, ichirk, ichir, segac2, ichir, ichirk, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Korea)", 0 )
GAME( 1994, ichirj, ichir, segac2, ichir, ichirj, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Japan)", 0 )
GAME( 1994, ichirjbl, ichir, segac, ichir, ichirjbl, ROT0, "bootleg", "Puzzle & Action: Ichidant-R (Japan) (bootleg)", 0 ) // C board, no samples
GAME( 1994, puyopuy2, 0, segac2, puyopuy2, puyopuy2, ROT0, "Compile (Sega license)", "Puyo Puyo 2 (Japan)", 0 )
GAME( 1994, zunkyou, 0, segac2, zunkyou, zunkyou, ROT0, "Sega", "Zunzunkyou No Yabou (Japan)", 0 )
GAME( 1990, tfrceac, 0, segac2, tfrceac, tfrceac, ROT0, "Sega / Technosoft", "ThunderForce AC", 0 )
GAME( 1990, tfrceacj, tfrceac, segac2, tfrceac, tfrceac, ROT0, "Sega / Technosoft", "ThunderForce AC (Japan)", 0 )
GAME( 1990, tfrceacb, tfrceac, segac2, tfrceac, tfrceacb, ROT0, "bootleg", "ThunderForce AC (bootleg)", 0 )
GAME( 1990, borench, 0, segac2, borench, borench, ROT0, "Sega", "Borench", 0 )
GAME( 1991, twinsqua, 0, segac2, twinsqua, twinsqua, ROT0, "Sega", "Twin Squash", 0 )
GAME( 1991, ribbit, 0, segac2, ribbit, ribbit, ROT0, "Sega", "Ribbit!", 0 )
GAME( 1992, puyo, 0, segac2, puyo, puyo, ROT0, "Sega / Compile", "Puyo Puyo (World)", 0 )
GAME( 1992, puyobl, puyo, segac2, puyo, puyo, ROT0, "bootleg", "Puyo Puyo (World, bootleg)", 0 )
GAME( 1992, puyoj, puyo, segac2, puyo, puyo, ROT0, "Sega / Compile", "Puyo Puyo (Japan, Rev B)", 0 )
GAME( 1992, puyoja, puyo, segac2, puyo, puyo, ROT0, "Sega / Compile", "Puyo Puyo (Japan, Rev A)", 0 )
GAME( 1992, tantr, 0, segac2, ichir, tantr, ROT0, "Sega", "Puzzle & Action: Tant-R (Japan)", 0 )
GAME( 1993, tantrkor, tantr, segac2, ichir, tantrkor, ROT0, "Sega", "Puzzle & Action: Tant-R (Korea)", 0 )
GAME( 1992, tantrbl, tantr, segac2, ichir, c2boot, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 1)", 0 )
GAME( 1994, tantrbl2, tantr, segac, ichir, tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 2)", 0 ) // Common bootleg in Europe, C board, no samples
GAME( 1994, tantrbl3, tantr, segac, ichir, tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 3)", 0 ) // Common bootleg in Europe, C board, no samples
GAME( 1994, potopoto, 0, segac2, potopoto, potopoto, ROT0, "Sega", "Poto Poto (Japan)", 0 )
GAME( 1994, stkclmns, 0, segac2, stkclmns, stkclmns, ROT0, "Sega", "Stack Columns (World)", 0 )
GAME( 1994, stkclmnsj, stkclmns, segac2, stkclmns, stkclmnj, ROT0, "Sega", "Stack Columns (Japan)", 0 )
GAME( 1994, ichir, 0, segac2, ichir, ichir, ROT0, "Sega", "Puzzle & Action: Ichidant-R (World)", 0 )
GAME( 1994, ichirk, ichir, segac2, ichir, ichirk, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Korea)", 0 )
GAME( 1994, ichirj, ichir, segac2, ichir, ichirj, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Japan)", 0 )
GAME( 1994, ichirjbl, ichir, segac, ichir, ichirjbl, ROT0, "bootleg", "Puzzle & Action: Ichidant-R (Japan) (bootleg)", 0 ) // C board, no samples
GAME( 1994, puyopuy2, 0, segac2, puyopuy2, puyopuy2, ROT0, "Compile (Sega license)", "Puyo Puyo 2 (Japan)", 0 )
GAME( 1994, zunkyou, 0, segac2, zunkyou, zunkyou, ROT0, "Sega", "Zunzunkyou No Yabou (Japan)", 0 )
/* Atlus Print Club 'Games' (C-2 Hardware, might not be possible to support them because they use camera + printer, really just put here for reference) */
GAME( 1995, pclubj, 0, segac2, pclub, pclub, ROT0, "Atlus", "Print Club (Japan Vol.1)", GAME_NOT_WORKING )
GAME( 1995, pclubjv2, pclubj, segac2, pclubjv2, pclubjv2, ROT0, "Atlus", "Print Club (Japan Vol.2)", GAME_NOT_WORKING )
GAME( 1996, pclubjv4, pclubj, segac2, pclubjv2, pclubjv4, ROT0, "Atlus", "Print Club (Japan Vol.4)", GAME_NOT_WORKING )
GAME( 1996, pclubjv5, pclubj, segac2, pclubjv2, pclubjv5, ROT0, "Atlus", "Print Club (Japan Vol.5)", GAME_NOT_WORKING )
GAME( 1995, pclubj, 0, segac2, pclub, pclub, ROT0, "Atlus", "Print Club (Japan Vol.1)", GAME_NOT_WORKING )
GAME( 1995, pclubjv2, pclubj, segac2, pclubjv2, pclubjv2, ROT0, "Atlus", "Print Club (Japan Vol.2)", GAME_NOT_WORKING )
GAME( 1996, pclubjv4, pclubj, segac2, pclubjv2, pclubjv4, ROT0, "Atlus", "Print Club (Japan Vol.4)", GAME_NOT_WORKING )
GAME( 1996, pclubjv5, pclubj, segac2, pclubjv2, pclubjv5, ROT0, "Atlus", "Print Club (Japan Vol.5)", GAME_NOT_WORKING )

View File

@ -53,10 +53,11 @@
0xe0 r/o Inputs (Coins, Start Btns)
0xe1 r/o Controls (Transformer)
0xe2 r/o Controls P2 (Opa Opa)
0xf2 - 0xf3 r/o Dipswitches
0xf8 r/o Analog Input (Hang On Jr)
0xf8 r/o Analog Input (Hang On Jr, Riddle of Pythagoras)
0x7e r/o V Counter (vertical beam pos in scanlines)
0x7f r/o H Counter (horizontal beam pos in 'pixel clock cycles')
@ -303,6 +304,7 @@ covert megatech / megaplay drivers to use new code etc. etc.
#include "machine/mc8123.h"
#include "machine/segacrp2.h"
#include "includes/segamsys.h"
#include "includes/segaipt.h"
/****************************************************************************************
Memory Maps
@ -424,80 +426,29 @@ static DRIVER_INIT( segasyse )
(in fact, the only playable game that use it is
Riddle of Pythagoras) */
#define SEGA_COIN_A \
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4") \
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) ) \
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" ) \
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit, 4/3" ) \
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit, 5/6" ) \
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit, 4/5" ) \
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit, 2/3" ) \
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) ) \
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) ) \
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) ) \
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
#define SEGA_COIN_B \
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8") \
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" ) \
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit, 4/3" ) \
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit, 5/6" ) \
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit, 4/5" ) \
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit, 2/3" ) \
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) ) \
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) ) \
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) ) \
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
static INPUT_PORTS_START( transfrm ) /* Used By Transformer */
static INPUT_PORTS_START( segae_joy1_generic )
PORT_START("f2") /* Read from Port 0xf2 */
SEGA_COIN_A
SEGA_COIN_B
SEGA_COINAGE_NO_FREE_LOC(SW1)
PORT_START("f3") /* Read from Port 0xf3 */
PORT_DIPNAME( 0x01, 0x00, "1 Player Only" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPSETTING( 0x00, "Infinite (Cheat)")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, "10k, 30k, 50k and 70k" )
PORT_DIPSETTING( 0x30, "20k, 60k, 100k and 140k" )
PORT_DIPSETTING( 0x10, "30k, 80k, 130k and 180k" )
PORT_DIPSETTING( 0x00, "50k, 150k and 250k" )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
PORT_START("e0") /* Read from Port 0xe0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) // spare
PORT_START("e1") /* Read from Port 0xe1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
@ -510,92 +461,37 @@ static INPUT_PORTS_START( transfrm ) /* Used By Transformer */
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("e2") /* Read from Port 0xe2 */
//PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( fantzn2 ) /* Used By Fantasy Zone 2 */
static INPUT_PORTS_START( segae_joy2_generic )
PORT_START("f2") /* Read from Port 0xf2 */
SEGA_COIN_A
SEGA_COIN_B
SEGA_COINAGE_NO_FREE_LOC(SW1)
PORT_START("f3") /* Read from Port 0xf3 */
PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW2:1" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPNAME( 0x30, 0x30, "Timer" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, "90" ) /* 210 seconds */
PORT_DIPSETTING( 0x30, "80" ) /* 180 seconds */
PORT_DIPSETTING( 0x10, "70" ) /* 150 seconds */
PORT_DIPSETTING( 0x00, "60" ) /* 120 seconds */
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
PORT_START("e0") /* Read from Port 0xe0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
PORT_START("e1") /* Read from Port 0xe1 */
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_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("e2") /* Read from Port 0xe2 */
INPUT_PORTS_END
static INPUT_PORTS_START( opaopa ) /* Used By Opa Opa */
PORT_START("f2") /* Read from Port 0xf2 */
SEGA_COIN_A
SEGA_COIN_B
PORT_START("f3") /* Read from Port 0xf3 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x30, "0x30 Unknown" )
PORT_DIPSETTING( 0x20, "0x20 Unknown" )
PORT_DIPSETTING( 0x10, "0x10 Unknown" )
PORT_DIPSETTING( 0x00, "0x00 Unknown" )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_START("e0") /* Read from Port 0xe0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
@ -620,73 +516,19 @@ static INPUT_PORTS_START( opaopa ) /* Used By Opa Opa */
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( tetrisse ) /* Used By Tetris */
static INPUT_PORTS_START( segae_hangonjr_generic )
PORT_START("f2") /* Read from Port 0xf2 */
SEGA_COIN_A
SEGA_COIN_B
SEGA_COINAGE_NO_FREE_LOC(SW1)
PORT_START("f3") /* Read from Port 0xf3 */
PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW2:1" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )
PORT_START("e0") /* Read from Port 0xe0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
PORT_START("e1") /* Read from Port 0xe1 */
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_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("e2") /* Read from Port 0xe2 */
INPUT_PORTS_END
static INPUT_PORTS_START( hangonjr ) /* Used By Hang On Jr */
PORT_START("f2") /* Read from Port 0xf2 */
SEGA_COIN_A
SEGA_COIN_B
PORT_START("f3") /* Read from Port 0xf3 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1") /* Supose to be demo sound but has no effect */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x06, 0x06, "Enemies" ) PORT_DIPLOCATION("SW2:2,3")
PORT_DIPSETTING( 0x06, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x04, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x18, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x10, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) /* These three dips seems to be unused */
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
PORT_START("e0") /* Read from Port 0xe0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@ -694,21 +536,29 @@ static INPUT_PORTS_START( hangonjr ) /* Used By Hang On Jr */
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("e1") /* Read from Port 0xe1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
//PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("e2") /* Read from Port 0xe2 */
//PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN2") /* Read from Port 0xf8 */
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4)
@ -717,52 +567,49 @@ static INPUT_PORTS_START( hangonjr ) /* Used By Hang On Jr */
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00,0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(20)
INPUT_PORTS_END
static INPUT_PORTS_START( ridleofp ) /* Used By Riddle Of Pythagoras */
static INPUT_PORTS_START( segae_ridleofp_generic )
PORT_START("f2") /* Read from Port 0xf2 */
SEGA_COIN_A
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
SEGA_COIN_B
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
SEGA_COINAGE_EASY_FREE_LOC(SW1)
PORT_START("f3") /* Read from Port 0xf3 */
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "3" )
PORT_DIPSETTING( 0x02, "4" )
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x00, "100 (Cheat)")
PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" )
PORT_DIPNAME( 0x08, 0x08, "Ball Speed" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) // difficult (on datasheet)
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" )
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:6,7") /* Values came from an original dipsheet */
PORT_DIPSETTING( 0x60, "50K 100K 200K 1M 2M 10M 20M 50M" )
PORT_DIPSETTING( 0x40, "100K 200K 1M 2M 10M 20M 50M" )
PORT_DIPSETTING( 0x20, "200K 1M 2M 10M 20M 50M" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
PORT_START("e0") /* Read from Port 0xe0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // Would Be IPT_START2 but the code doesn't use it
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) // Would Be IPT_START2 but the code doesn't use it
PORT_START("e1") /* Port 0xe1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("e1") /* Read from Port 0xe1 */
//PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("e2") /* Read from Port 0xe2 */
//PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
//PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN2") /* Read from Port 0xf8 */
PORT_BIT( 0x0fff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(60) PORT_KEYDELTA(125)
@ -780,6 +627,147 @@ static INPUT_PORTS_START( ridleofp ) /* Used By Riddle Of Pythagoras */
INPUT_PORTS_END
static INPUT_PORTS_START( transfrm ) /* Used By Transformer */
PORT_INCLUDE( segae_joy1_generic )
PORT_MODIFY("f3") /* Read from Port 0xf3 */
PORT_DIPNAME( 0x01, 0x00, "1 Player Only" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPSETTING( 0x00, "Infinite (Cheat)")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, "10k, 30k, 50k and 70k" )
PORT_DIPSETTING( 0x30, "20k, 60k, 100k and 140k" )
PORT_DIPSETTING( 0x10, "30k, 80k, 130k and 180k" )
PORT_DIPSETTING( 0x00, "50k, 150k and 250k" )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
INPUT_PORTS_END
static INPUT_PORTS_START( fantzn2 ) /* Used By Fantasy Zone 2 */
PORT_INCLUDE( segae_joy1_generic )
PORT_MODIFY("f3") /* Read from Port 0xf3 */
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPNAME( 0x30, 0x30, "Timer" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, "90" ) /* 210 seconds */
PORT_DIPSETTING( 0x30, "80" ) /* 180 seconds */
PORT_DIPSETTING( 0x10, "70" ) /* 150 seconds */
PORT_DIPSETTING( 0x00, "60" ) /* 120 seconds */
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
INPUT_PORTS_END
static INPUT_PORTS_START( opaopa ) /* Used By Opa Opa */
PORT_INCLUDE( segae_joy2_generic )
PORT_MODIFY("f3") /* Read from Port 0xf3 */
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6") // Bonus life egg appearance
PORT_DIPSETTING( 0x20, "25k, 45k and 70k" )
PORT_DIPSETTING( 0x30, "40k, 60k and 90k" )
PORT_DIPSETTING( 0x10, "50k and 90k" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
INPUT_PORTS_END
static INPUT_PORTS_START( tetrisse ) /* Used By Tetris */
PORT_INCLUDE( segae_joy1_generic )
PORT_MODIFY("f3") /* Read from Port 0xf3 */
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:3" unused
//"SW2:4" unused
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
static INPUT_PORTS_START( hangonjr ) /* Used By Hang On Jr */
PORT_INCLUDE( segae_hangonjr_generic )
PORT_MODIFY("f3") /* Read from Port 0xf3 */
//"SW2:1" unused //Japanese manual says "DIP SW 2:1 / Sounds After Game Over / Off=No / On=Yes", but no effect
PORT_DIPNAME( 0x06, 0x06, "Enemies" ) PORT_DIPLOCATION("SW2:2,3") // Enemies appearance frequency
PORT_DIPSETTING( 0x06, DEF_STR( Easy ) ) // Japanese manual says "Normal"
PORT_DIPSETTING( 0x04, DEF_STR( Medium ) ) // "Medium" = "Normal" * 130%
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) // "Hard" = "Normal" * 160%
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) // "Hardest" = "Normal" * 190%
PORT_DIPNAME( 0x18, 0x18, "Time Adj." ) PORT_DIPLOCATION("SW2:4,5") // time limit per stage // Stage 1 2 3 4 5 6 7 8 9 10
PORT_DIPSETTING( 0x18, DEF_STR( Easy ) ) // Japanese manual says // Normal 65 57 55 55 55 65 55 56 55 55
PORT_DIPSETTING( 0x10, DEF_STR( Medium ) ) // Medium 65 54 56 55 55 65 54 55 55 55
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) ) // Hard 60 56 56 56 55 60 56 56 55 55
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) // Hardest 60 54 56 55 55 60 54 55 55 55
//"SW2:6" unused // Japanese manual says "DIP SW 2:6,7,8 NOT USED"
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
static INPUT_PORTS_START( ridleofp ) /* Used By Riddle Of Pythagoras */
PORT_INCLUDE( segae_ridleofp_generic )
PORT_MODIFY("f3") /* Read from Port 0xf3 */
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "3" )
PORT_DIPSETTING( 0x02, "4" )
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x00, "100 (Cheat)")
//"SW2:3" unused
PORT_DIPNAME( 0x08, 0x08, "Ball Speed" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x00, DEF_STR( Difficult ) ) // "Difficult" on datasheet, not "Hard"
//"SW2:5" unused
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:6,7") /* Values came from an original dipsheet */
PORT_DIPSETTING( 0x60, "50K 100K 200K 1M 2M 10M 20M 50M" )
PORT_DIPSETTING( 0x40, "100K 200K 1M 2M 10M 20M 50M" )
PORT_DIPSETTING( 0x20, "200K 1M 2M 10M 20M 50M" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
//"SW2:8" unused
INPUT_PORTS_END
ROM_START( hangonjr )
ROM_REGION( 0x30000, "maincpu", 0 )
@ -1002,11 +990,12 @@ static DRIVER_INIT( astrofl )
sega_315_5177_decode(machine, "maincpu");
}
GAME( 1985, hangonjr, 0, systeme, hangonjr, hangonjr, ROT0, "Sega", "Hang-On Jr.", 0 )
GAME( 1986, transfrm, 0, systeme, transfrm, segasyse, ROT0, "Sega", "Transformer", 0 )
GAME( 1986, astrofl, transfrm, systeme, transfrm, astrofl, ROT0, "Sega", "Astro Flash (Japan)", 0 )
GAME( 1986, ridleofp, 0, systeme, ridleofp, ridleofp, ROT90, "Sega / Nasco", "Riddle of Pythagoras (Japan)", 0 )
GAME( 1987, opaopa, 0, systeme, opaopa, opaopa, ROT0, "Sega", "Opa Opa (MC-8123, 317-0042)", 0 )
GAME( 1988, fantzn2, 0, systeme, fantzn2, fantzn2, ROT0, "Sega", "Fantasy Zone 2 (MC-8123, 317-0057)", 0 )
GAME( 1988, tetrisse, 0, systeme, tetrisse, segasyse, ROT0, "Sega", "Tetris (Japan, System E)", 0 )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1985, hangonjr, 0, systeme, hangonjr, hangonjr, ROT0, "Sega", "Hang-On Jr.", 0 )
GAME( 1986, transfrm, 0, systeme, transfrm, segasyse, ROT0, "Sega", "Transformer", 0 )
GAME( 1986, astrofl, transfrm, systeme, transfrm, astrofl, ROT0, "Sega", "Astro Flash (Japan)", 0 )
GAME( 1986, ridleofp, 0, systeme, ridleofp, ridleofp, ROT90, "Sega / Nasco", "Riddle of Pythagoras (Japan)", 0 )
GAME( 1987, opaopa, 0, systeme, opaopa, opaopa, ROT0, "Sega", "Opa Opa (MC-8123, 317-0042)", 0 )
GAME( 1988, fantzn2, 0, systeme, fantzn2, fantzn2, ROT0, "Sega", "Fantasy Zone 2 (MC-8123, 317-0057)", 0 )
GAME( 1988, tetrisse, 0, systeme, tetrisse, segasyse, ROT0, "Sega", "Tetris (Japan, System E)", 0 )

View File

@ -429,16 +429,16 @@ static INPUT_PORTS_START( g80r_generic )
PORT_DIPNAME( 0x0f, 0x03, DEF_STR( Coin_A )) PORT_DIPLOCATION("SW2:8,7,6,5")
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ))
PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ))
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ))
PORT_DIPSETTING( 0x09, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x0a, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ))
PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ))
PORT_DIPSETTING( 0x0b, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x0c, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x0d, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ))
PORT_DIPSETTING( 0x0f, "1 Coin/2 Credits 4/9" )
PORT_DIPSETTING( 0x0e, "1 Coin/2 Credits 5/11" )
PORT_DIPSETTING( 0x0f, "1 Coin/2 Credits 4/9" )
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ))
PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ))
PORT_DIPSETTING( 0x07, DEF_STR( 1C_5C ))
@ -446,16 +446,16 @@ static INPUT_PORTS_START( g80r_generic )
PORT_DIPNAME( 0xf0, 0x30, DEF_STR( Coin_B )) PORT_DIPLOCATION("SW2:4,3,2,1")
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ))
PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ))
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ))
PORT_DIPSETTING( 0x90, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0xa0, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ))
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ))
PORT_DIPSETTING( 0xb0, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0xc0, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0xd0, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ))
PORT_DIPSETTING( 0xf0, "1 Coin/2 Credits 4/9" )
PORT_DIPSETTING( 0xe0, "1 Coin/2 Credits 5/11" )
PORT_DIPSETTING( 0xf0, "1 Coin/2 Credits 4/9" )
PORT_DIPSETTING( 0x50, DEF_STR( 1C_3C ))
PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ))
PORT_DIPSETTING( 0x70, DEF_STR( 1C_5C ))
@ -739,9 +739,9 @@ static INPUT_PORTS_START( sindbadm )
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3" )
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ))
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ))
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ))
PORT_DIPSETTING( 0x00, "1 Coin/2 Credits 5/11" )
@ -756,9 +756,9 @@ static INPUT_PORTS_START( sindbadm )
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3" )
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ))
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ))
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ))
PORT_DIPSETTING( 0x00, "1 Coin/2 Credits 5/11" )
@ -1575,22 +1575,23 @@ static DRIVER_INIT( sindbadm )
*
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* basic G-80 system with: CPU board, PROM board, Video I board, custom sound boards */
GAME( 1981, astrob, 0, astrob, astrob, astrob, ROT270, "Sega", "Astro Blaster (version 3)", GAME_IMPERFECT_SOUND )
GAME( 1981, astrob2, astrob, astrob, astrob2, astrob, ROT270, "Sega", "Astro Blaster (version 2)", GAME_IMPERFECT_SOUND )
GAME( 1981, astrob2a, astrob, astrob, astrob2, astrob, ROT270, "Sega", "Astro Blaster (version 2a)", GAME_IMPERFECT_SOUND )
GAME( 1981, astrob1, astrob, astrob, astrob, astrob, ROT270, "Sega", "Astro Blaster (version 1)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) // instant death if you start game with 1 credit, protection?, bad dump?
GAME( 1981, astrobg, astrob, astrob, astrob, astrob, ROT270, "Sega", "Astro Blaster (German)", GAME_IMPERFECT_SOUND )
GAME( 1981, 005, 0, 005, 005, 005, ROT270, "Sega", "005", GAME_IMPERFECT_SOUND )
GAME( 1981, astrob, 0, astrob, astrob, astrob, ROT270, "Sega", "Astro Blaster (version 3)", GAME_IMPERFECT_SOUND )
GAME( 1981, astrob2, astrob, astrob, astrob2, astrob, ROT270, "Sega", "Astro Blaster (version 2)", GAME_IMPERFECT_SOUND )
GAME( 1981, astrob2a, astrob, astrob, astrob2, astrob, ROT270, "Sega", "Astro Blaster (version 2a)", GAME_IMPERFECT_SOUND )
GAME( 1981, astrob1, astrob, astrob, astrob, astrob, ROT270, "Sega", "Astro Blaster (version 1)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) // instant death if you start game with 1 credit, protection?, bad dump?
GAME( 1981, astrobg, astrob, astrob, astrob, astrob, ROT270, "Sega", "Astro Blaster (German)", GAME_IMPERFECT_SOUND )
GAME( 1981, 005, 0, 005, 005, 005, ROT270, "Sega", "005", GAME_IMPERFECT_SOUND )
/* basic G-80 system with individual background boards */
GAME( 1981, spaceod, 0, spaceod, spaceod, spaceod, ROT270, "Sega", "Space Odyssey (version 2)", GAME_IMPERFECT_SOUND )
GAME( 1981, spaceod2, spaceod, spaceod, spaceod, spaceod, ROT270, "Sega", "Space Odyssey (version 1)", GAME_IMPERFECT_SOUND )
GAME( 1982, monsterb, 0, monsterb, monsterb, monsterb, ROT270, "Sega", "Monster Bash", GAME_IMPERFECT_SOUND )
GAME( 1981, spaceod, 0, spaceod, spaceod, spaceod, ROT270, "Sega", "Space Odyssey (version 2)", GAME_IMPERFECT_SOUND )
GAME( 1981, spaceod2, spaceod, spaceod, spaceod, spaceod, ROT270, "Sega", "Space Odyssey (version 1)", GAME_IMPERFECT_SOUND )
GAME( 1982, monsterb, 0, monsterb, monsterb, monsterb, ROT270, "Sega", "Monster Bash", GAME_IMPERFECT_SOUND )
/* 2-board G-80 system */
GAME( 1982, monsterb2,monsterb,monsterb, monsterb, monster2, ROT270, "Sega", "Monster Bash (2 board version)", GAME_IMPERFECT_SOUND )
GAME( 1983, pignewt, 0, pignewt, pignewt, pignewt, ROT270, "Sega", "Pig Newton (version C)", GAME_IMPERFECT_SOUND )
GAME( 1983, pignewta, pignewt, pignewt, pignewta, pignewt, ROT270, "Sega", "Pig Newton (version A)", GAME_IMPERFECT_SOUND )
GAME( 1983, sindbadm, 0, sindbadm, sindbadm, sindbadm, ROT270, "Sega", "Sindbad Mystery", 0 )
GAME( 1982, monsterb2, monsterb, monsterb, monsterb, monster2, ROT270, "Sega", "Monster Bash (2 board version)", GAME_IMPERFECT_SOUND )
GAME( 1983, pignewt, 0, pignewt, pignewt, pignewt, ROT270, "Sega", "Pig Newton (version C)", GAME_IMPERFECT_SOUND )
GAME( 1983, pignewta, pignewt, pignewt, pignewta, pignewt, ROT270, "Sega", "Pig Newton (version A)", GAME_IMPERFECT_SOUND )
GAME( 1983, sindbadm, 0, sindbadm, sindbadm, sindbadm, ROT270, "Sega", "Sindbad Mystery", 0 )

View File

@ -431,14 +431,14 @@ static INPUT_PORTS_START( g80v_generic )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) /* P1.21 */
PORT_START("D3D2")
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW1:8" )
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW1:7" )
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW1:6" )
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW1:5" )
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x01, "SW1:4" )
PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x02, "SW1:3" )
PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x04, "SW1:2" )
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x08, "SW1:1" )
PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW1:8" )
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:7" )
PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW1:6" )
PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW1:5" )
PORT_DIPUNUSED_DIPLOC( 0x10, 0x01, "SW1:4" )
PORT_DIPUNUSED_DIPLOC( 0x20, 0x02, "SW1:3" )
PORT_DIPUNUSED_DIPLOC( 0x40, 0x04, "SW1:2" )
PORT_DIPUNUSED_DIPLOC( 0x80, 0x08, "SW1:1" )
PORT_START("D1D0")
PORT_DIPNAME( 0x0f, 0x03, DEF_STR( Coin_A )) PORT_DIPLOCATION("SW2:8,7,6,5")
@ -516,7 +516,7 @@ static INPUT_PORTS_START( elim2 )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet )) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x01, DEF_STR( Upright )) // This switch is not documented in the manual
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ))
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:7" ) // Unused according to manual
//"SW1:7" unused // Unused according to manual
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives )) PORT_DIPLOCATION("SW1:6,5")
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x08, "4" )
@ -579,7 +579,7 @@ static INPUT_PORTS_START( elim4 )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet )) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x01, DEF_STR( Upright )) // This switch is not documented in the manual
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ))
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:7" ) // This switch is not documented in the manual
//"SW1:7" unused // This switch is not documented in the manual
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives )) PORT_DIPLOCATION("SW1:6,5")
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x08, "4" )
@ -596,11 +596,11 @@ static INPUT_PORTS_START( elim4 )
PORT_DIPSETTING( 0x00, "30000" )
PORT_MODIFY("D1D0")
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW2:8" )
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW2:7" )
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW2:6" )
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW2:5" )
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW2:8" )
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:4" )
PORT_DIPNAME( 0xe0, 0x00, DEF_STR( Coin_A )) PORT_DIPLOCATION("SW2:3,2,1")
PORT_DIPSETTING( 0xe0, DEF_STR( 8C_1C ))
PORT_DIPSETTING( 0xc0, DEF_STR( 7C_1C ))
@ -1422,14 +1422,15 @@ static DRIVER_INIT( startrek )
*
*************************************/
GAME( 1981, elim2, 0, elim2, elim2, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, set 1)", GAME_IMPERFECT_SOUND )
GAME( 1981, elim2a, elim2, elim2, elim2, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, set 2)", GAME_IMPERFECT_SOUND )
GAME( 1981, elim2c, elim2, elim2, elim2c, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, cocktail)", GAME_IMPERFECT_SOUND )
GAME( 1981, elim4, elim2, elim2, elim4, elim4, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (4 Players)", GAME_IMPERFECT_SOUND )
GAME( 1981, elim4p, elim2, elim2, elim4, elim4, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (4 Players, prototype)", GAME_IMPERFECT_SOUND )
GAME( 1981, spacfury, 0, spacfury, spacfury, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision C)", GAME_IMPERFECT_SOUND )
GAME( 1981, spacfurya,spacfury, spacfury, spacfury, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision A)", GAME_IMPERFECT_SOUND )
GAME( 1981, spacfuryb,spacfury, spacfury, spacfury, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision B)", GAME_IMPERFECT_SOUND )
GAME( 1982, zektor, 0, zektor, zektor, zektor, ORIENTATION_FLIP_Y, "Sega", "Zektor (revision B)", GAME_IMPERFECT_SOUND )
GAME( 1982, tacscan, 0, tacscan, tacscan, tacscan, ORIENTATION_FLIP_X ^ ROT270, "Sega", "Tac/Scan", GAME_IMPERFECT_SOUND )
GAME( 1982, startrek, 0, startrek, startrek, startrek, ORIENTATION_FLIP_Y, "Sega", "Star Trek", GAME_IMPERFECT_SOUND )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY,FULLNAME,FLAGS
GAME( 1981, elim2, 0, elim2, elim2, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, set 1)", GAME_IMPERFECT_SOUND )
GAME( 1981, elim2a, elim2, elim2, elim2, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, set 2)", GAME_IMPERFECT_SOUND )
GAME( 1981, elim2c, elim2, elim2, elim2c, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, cocktail)", GAME_IMPERFECT_SOUND )
GAME( 1981, elim4, elim2, elim2, elim4, elim4, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (4 Players)", GAME_IMPERFECT_SOUND )
GAME( 1981, elim4p, elim2, elim2, elim4, elim4, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (4 Players, prototype)", GAME_IMPERFECT_SOUND )
GAME( 1981, spacfury, 0, spacfury, spacfury, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision C)", GAME_IMPERFECT_SOUND )
GAME( 1981, spacfurya, spacfury, spacfury, spacfury, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision A)", GAME_IMPERFECT_SOUND )
GAME( 1981, spacfuryb, spacfury, spacfury, spacfury, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision B)", GAME_IMPERFECT_SOUND )
GAME( 1982, zektor, 0, zektor, zektor, zektor, ORIENTATION_FLIP_Y, "Sega", "Zektor (revision B)", GAME_IMPERFECT_SOUND )
GAME( 1982, tacscan, 0, tacscan, tacscan, tacscan, ORIENTATION_FLIP_X ^ ROT270, "Sega", "Tac/Scan", GAME_IMPERFECT_SOUND )
GAME( 1982, startrek, 0, startrek, startrek, startrek, ORIENTATION_FLIP_Y, "Sega", "Star Trek", GAME_IMPERFECT_SOUND )

View File

@ -26,6 +26,7 @@
#include "sound/2151intf.h"
#include "sound/segapcm.h"
#include "video/segaic16.h"
#include "includes/segaipt.h"
#define MASTER_CLOCK_25MHz (25174800)
@ -544,66 +545,17 @@ static INPUT_PORTS_START( hangon_generic )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("COINAGE")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin A too) or 1/1" )
SEGA_COINAGE_LOC(SWA)
PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
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( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWB:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SWB:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWB:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SWB:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWB:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
PORT_START("UNKNOWN")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -625,66 +577,17 @@ static INPUT_PORTS_START( sharrier_generic )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("COINAGE")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin A too) or 1/1" )
SEGA_COINAGE_LOC(SWA)
PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
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( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWB:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SWB:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWB:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SWB:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWB:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
INPUT_PORTS_END
@ -699,20 +602,20 @@ static INPUT_PORTS_START( hangon )
PORT_INCLUDE( hangon_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:2,3")
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:2,3") // Other Bike's Appearance Frequency
PORT_DIPSETTING( 0x04, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x06, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x18, 0x18, "Time Adj." ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPNAME( 0x18, 0x18, "Time Adj." ) PORT_DIPLOCATION("SWB:4,5")
PORT_DIPSETTING( 0x18, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x20, 0x20, "Play Music" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPNAME( 0x20, 0x20, "Play Music" ) PORT_DIPLOCATION("SWB:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
@ -734,15 +637,15 @@ static INPUT_PORTS_START( shangupb )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Supercharger") PORT_CODE(KEYCODE_LSHIFT)
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:2,3")
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:2,3") // Other Bike's Appearance Frequency
PORT_DIPSETTING( 0x04, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x06, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x18, 0x18, "Time Adj." ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPNAME( 0x18, 0x18, "Time Adj." ) PORT_DIPLOCATION("SWB:4,5")
PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x18, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
@ -777,24 +680,24 @@ static INPUT_PORTS_START( sharrier )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, "Moving" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:3,4")
PORT_DIPSETTING( 0x08, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x04, "4" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5")
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x10, "5000000" )
PORT_DIPSETTING( 0x00, "7000000" )
PORT_DIPNAME( 0x20, 0x20, "Trial Time" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPNAME( 0x20, 0x20, "Trial Time" ) PORT_DIPLOCATION("SWB: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_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
@ -816,25 +719,25 @@ static INPUT_PORTS_START( enduror )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, "Wheelie" )
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:2,3")
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:2,3")
PORT_DIPSETTING( 0x04, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x06, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x18, 0x18, "Time Adjust" ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPNAME( 0x18, 0x18, "Time Adjust" ) PORT_DIPLOCATION("SWB:4,5")
PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x18, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x60, 0x60, "Time Control" ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPNAME( 0x60, 0x60, "Time Control" ) PORT_DIPLOCATION("SWB:6,7")
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x60, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -1896,14 +1799,15 @@ static DRIVER_INIT( shangonro )
*
*************************************/
GAME( 1985, hangon, 0, hangon, hangon, hangon, ROT0, "Sega", "Hang-On (Rev A)", 0 )
GAME( 1985, hangon1, hangon, hangon, hangon, hangon, ROT0, "Sega", "Hang-On", 0 )
GAME( 1987, shangonro, shangon, shangupb, shangonro,shangonro,ROT0, "Sega", "Super Hang-On (ride-on, Japan, FD1094 317-0038)", 0 )
GAME( 1992, shangonrb, shangon, shangupb, shangupb, hangon, ROT0, "bootleg", "Super Hang-On (bootleg)", 0 )
GAME( 1985, sharrier, 0, sharrier, sharrier, sharrier, ROT0, "Sega", "Space Harrier (Rev A, 8751 315-5163A)", 0 )
GAME( 1985, sharrier1, sharrier, sharrier, sharrier, sharrier, ROT0, "Sega", "Space Harrier (8751 315-5163)", 0 )
GAME( 1986, enduror, 0, enduror, enduror, enduror, ROT0, "Sega", "Enduro Racer (YM2151, FD1089B 317-0013A)", 0 )
GAME( 1986, enduror1, enduror, enduror1, enduror, enduror, ROT0, "Sega", "Enduro Racer (YM2203, FD1089B 317-0013A)", 0 )
GAME( 1986, endurobl, enduror, enduror1, enduror, endurobl, ROT0, "bootleg", "Enduro Racer (bootleg set 1)", 0 )
GAME( 1986, endurob2, enduror, endurob2, enduror, endurob2, ROT0, "bootleg", "Enduro Racer (bootleg set 2)", GAME_NOT_WORKING )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1985, hangon, 0, hangon, hangon, hangon, ROT0, "Sega", "Hang-On (Rev A)", 0 )
GAME( 1985, hangon1, hangon, hangon, hangon, hangon, ROT0, "Sega", "Hang-On", 0 )
GAME( 1987, shangonro, shangon, shangupb, shangonro, shangonro, ROT0, "Sega", "Super Hang-On (ride-on, Japan, FD1094 317-0038)", 0 )
GAME( 1992, shangonrb, shangon, shangupb, shangupb, hangon, ROT0, "bootleg", "Super Hang-On (bootleg)", 0 )
GAME( 1985, sharrier, 0, sharrier, sharrier, sharrier, ROT0, "Sega", "Space Harrier (Rev A, 8751 315-5163A)", 0 )
GAME( 1985, sharrier1, sharrier, sharrier, sharrier, sharrier, ROT0, "Sega", "Space Harrier (8751 315-5163)", 0 )
GAME( 1986, enduror, 0, enduror, enduror, enduror, ROT0, "Sega", "Enduro Racer (YM2151, FD1089B 317-0013A)", 0 )
GAME( 1986, enduror1, enduror, enduror1, enduror, enduror, ROT0, "Sega", "Enduro Racer (YM2203, FD1089B 317-0013A)", 0 )
GAME( 1986, endurobl, enduror, enduror1, enduror, endurobl, ROT0, "bootleg", "Enduro Racer (bootleg set 1)", 0 )
GAME( 1986, endurob2, enduror, endurob2, enduror, endurob2, ROT0, "bootleg", "Enduro Racer (bootleg set 2)", GAME_NOT_WORKING )

View File

@ -277,8 +277,8 @@ static INPUT_PORTS_START( astron )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0xc0, "1C/1C 2C/1C 3C/3C 4C/4C 5C/6C" )
PORT_DIPSETTING( 0x40, "1C/1C 2C/1C 3C/3C 4C/5C" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x80, "1C/1C 2C/3C" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x00, "1C/2C 2C/4C 3C/6C 4C/8C 5C/11C" )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) )
@ -294,8 +294,8 @@ static INPUT_PORTS_START( astron )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0c, "1C/1C 2C/1C 3C/3C 4C/4C 5C/6C" )
PORT_DIPSETTING( 0x04, "1C/1C 2C/1C 3C/3C 4C/5C" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x08, "1C/1C 2C/3C" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x00, "1C/2C 2C/4C 3C/6C 4C/8C 5C/11C" )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) )
@ -323,9 +323,7 @@ static INPUT_PORTS_START( astron )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:8" )
PORT_START("IN0")
PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) /* SW0 = nonJAMMA pin 15 = coin1 & coin2 (?) */
@ -338,14 +336,14 @@ static INPUT_PORTS_START( astron )
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) /* SW7 = nonJAMMA pin 19 = unused? */
PORT_START("IN1")
PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) /* SW8 = nonJAMMA pin 9 = right */
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) /* SW9 = nonJAMMA pin 10 = left */
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) /* SW10 = nonJAMMA pin 11 = up */
PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) /* SW11 = nonJAMMA pin 12 = down */
PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* SW12 = nonJAMMA pin 13 = fire */
PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) /* SW13 = nonJAMMA pin 14 = unused? */
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) /* SW14 = nonJAMMA pin V = unused? */
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) /* SW15 = nonJAMMA pin W = unused? */
PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) /* SW8 = nonJAMMA pin 9 = right */
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) /* SW9 = nonJAMMA pin 10 = left */
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) /* SW10 = nonJAMMA pin 11 = up */
PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) /* SW11 = nonJAMMA pin 12 = down */
PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* SW12 = nonJAMMA pin 13 = fire */
PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) /* SW13 = nonJAMMA pin 14 = unused? */
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) /* SW14 = nonJAMMA pin V = unused? */
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) /* SW15 = nonJAMMA pin W = unused? */
INPUT_PORTS_END
static GFXDECODE_START( segald )
@ -601,10 +599,10 @@ static DRIVER_INIT( astron )
}
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS) */
GAME( 1983, astron, 0, astron, astron, astron, ROT0, "Sega", "Astron Belt", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1983, astronp, astron, astron, astron, astron, ROT0, "Sega", "Astron Belt (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1983, cobraseg, astron, astron, astron, astron, ROT0, "Sega", "Cobra Command (Sega LaserDisc Hardware)", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1983, galaxyr, 0, astron, astron, astron, ROT0, "Sega", "Galaxy Ranger", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1983, galaxyrp, galaxyr, astron, astron, astron, ROT0, "Sega", "Galaxy Ranger (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1983, sblazerp, galaxyr, astron, astron, astron, ROT0, "Sega", "Star Blazer (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1983, astron, 0, astron, astron, astron, ROT0, "Sega", "Astron Belt", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1983, astronp, astron, astron, astron, astron, ROT0, "Sega", "Astron Belt (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1983, cobraseg, astron, astron, astron, astron, ROT0, "Sega", "Cobra Command (Sega LaserDisc Hardware)", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1983, galaxyr, 0, astron, astron, astron, ROT0, "Sega", "Galaxy Ranger", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1983, galaxyrp, galaxyr, astron, astron, astron, ROT0, "Sega", "Galaxy Ranger (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1983, sblazerp, galaxyr, astron, astron, astron, ROT0, "Sega", "Star Blazer (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)

View File

@ -279,6 +279,7 @@ Notes:
#include "sound/2151intf.h"
#include "sound/segapcm.h"
#include "video/segaic16.h"
#include "includes/segaipt.h"
#include "outrun.lh"
@ -855,54 +856,15 @@ static INPUT_PORTS_START( outrun_generic )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("COINAGE")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin A too) or 1/1" )
SEGA_COINAGE_LOC(SWA)
PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWB:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SWB:2" )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
PORT_DIPNAME( 0x30, 0x30, "Time Adj." ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
@ -2215,17 +2177,18 @@ static DRIVER_INIT( shangon3 )
*
*************************************/
GAMEL(1986, outrun, 0, outrun, outrun, outrun, ROT0, "Sega", "Out Run (sitdown/upright, Rev B)", 0, layout_outrun ) /* Upright/Sitdown determined by dipswitch settings */
GAMEL(1986, outrunra, outrun, outrun, outrun, outrun, ROT0, "Sega", "Out Run (sitdown/upright, Rev A)", 0, layout_outrun ) /* Upright/Sitdown determined by dipswitch settings */
GAMEL(1986, outruno, outrun, outrun, outrun, outrun, ROT0, "Sega", "Out Run (sitdown/upright)", 0, layout_outrun ) /* Upright/Sitdown determined by dipswitch settings */
GAMEL(1986, outrundx, outrun, outrundx, outrundx, outrun, ROT0, "Sega", "Out Run (deluxe sitdown)", 0, layout_outrun )
GAMEL(1986, outrunb, outrun, outrun, outrun, outrunb, ROT0, "bootleg", "Out Run (bootleg)", 0, layout_outrun )
GAME( 1987, shangon, 0, shangon, shangon, shangon, ROT0, "Sega", "Super Hang-On (sitdown/upright, unprotected)", 0 )
GAME( 1987, shangon3, shangon, shangon, shangon, shangon3, ROT0, "Sega", "Super Hang-On (sitdown/upright, FD1089B 317-0034)", 0 )
GAME( 1987, shangon2, shangon, shangon, shangon, shangon3, ROT0, "Sega", "Super Hang-On (mini ride-on, Rev A, FD1089B 317-0034)", 0 )
GAME( 1987, shangon1, shangon, shangon, shangon, shangon3, ROT0, "Sega", "Super Hang-On (mini ride-on?, FD1089B 317-0034)", GAME_NOT_WORKING ) /* bad program rom */
GAME( 1991, shangonle,shangon, shangon, shangon, shangon, ROT0, "Sega", "Limited Edition Hang-On", 0 )
GAMEL(1989, toutrun, 0, outrun, toutrun, outrun, ROT0, "Sega", "Turbo Out Run (Out Run upgrade, FD1094 317-0118)" , 0, layout_outrun ) /* Cabinet determined by dipswitch settings */
GAMEL(1989, toutrun3, toutrun, outrun, toutrunc, outrun, ROT0, "Sega", "Turbo Out Run (upright, FD1094 317-unknown)", 0, layout_outrun )
GAMEL(1989, toutrun2, toutrun, outrun, toutrun, outrun, ROT0, "Sega", "Turbo Out Run (cockpit, FD1094 317-unknown)", GAME_NOT_WORKING, layout_outrun ) /* FD1094 CPU not decrypted */
GAMEL(1989, toutrun1, toutrun, outrun, toutrunm, outrun, ROT0, "Sega", "Turbo Out Run (deluxe cockpit, FD1094 317-0109)", 0, layout_outrun )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS, LAYOUT
GAMEL(1986, outrun, 0, outrun, outrun, outrun, ROT0, "Sega", "Out Run (sitdown/upright, Rev B)", 0, layout_outrun ) /* Upright/Sitdown determined by dipswitch settings */
GAMEL(1986, outrunra, outrun, outrun, outrun, outrun, ROT0, "Sega", "Out Run (sitdown/upright, Rev A)", 0, layout_outrun ) /* Upright/Sitdown determined by dipswitch settings */
GAMEL(1986, outruno, outrun, outrun, outrun, outrun, ROT0, "Sega", "Out Run (sitdown/upright)", 0, layout_outrun ) /* Upright/Sitdown determined by dipswitch settings */
GAMEL(1986, outrundx, outrun, outrundx, outrundx, outrun, ROT0, "Sega", "Out Run (deluxe sitdown)", 0, layout_outrun )
GAMEL(1986, outrunb, outrun, outrun, outrun, outrunb, ROT0, "bootleg", "Out Run (bootleg)", 0, layout_outrun )
GAME( 1987, shangon, 0, shangon, shangon, shangon, ROT0, "Sega", "Super Hang-On (sitdown/upright, unprotected)", 0 )
GAME( 1987, shangon3, shangon, shangon, shangon, shangon3, ROT0, "Sega", "Super Hang-On (sitdown/upright, FD1089B 317-0034)", 0 )
GAME( 1987, shangon2, shangon, shangon, shangon, shangon3, ROT0, "Sega", "Super Hang-On (mini ride-on, Rev A, FD1089B 317-0034)", 0 )
GAME( 1987, shangon1, shangon, shangon, shangon, shangon3, ROT0, "Sega", "Super Hang-On (mini ride-on?, FD1089B 317-0034)", GAME_NOT_WORKING ) /* bad program rom */
GAME( 1991, shangonle,shangon, shangon, shangon, shangon, ROT0, "Sega", "Limited Edition Hang-On", 0 )
GAMEL(1989, toutrun, 0, outrun, toutrun, outrun, ROT0, "Sega", "Turbo Out Run (Out Run upgrade, FD1094 317-0118)", 0, layout_outrun ) /* Cabinet determined by dipswitch settings */
GAMEL(1989, toutrun3, toutrun, outrun, toutrunc, outrun, ROT0, "Sega", "Turbo Out Run (upright, FD1094 317-unknown)", 0, layout_outrun )
GAMEL(1989, toutrun2, toutrun, outrun, toutrun, outrun, ROT0, "Sega", "Turbo Out Run (cockpit, FD1094 317-unknown)", GAME_NOT_WORKING, layout_outrun ) /* FD1094 CPU not decrypted */
GAMEL(1989, toutrun1, toutrun, outrun, toutrunm, outrun, ROT0, "Sega", "Turbo Out Run (deluxe cockpit, FD1094 317-0109)", 0, layout_outrun )

View File

@ -157,6 +157,7 @@ Tetris - - - - EPR12169 EPR12170 -
#include "sound/dac.h"
#include "sound/2151intf.h"
#include "video/segaic16.h"
#include "includes/segaipt.h"
/*************************************
@ -633,25 +634,27 @@ static READ16_HANDLER( aceattaa_custom_io_r )
{
switch (state->m_video_control & 0xf)
{
case 0x00: return input_port_read(space->machine(), "P1");
case 0x04: return input_port_read(space->machine(), "ANALOGX1");
case 0x08: return input_port_read(space->machine(), "ANALOGY1");
case 0x0c: return input_port_read(space->machine(), "UNUSED");
case 0x00: return input_port_read(space->machine(), "P1"); // "HANDX1"
case 0x04: return input_port_read(space->machine(), "TRACKX1");
case 0x08: return input_port_read(space->machine(), "TRACKY1");
case 0x0c: return input_port_read(space->machine(), "HANDY1");
}
break;
}
case 0x02:
return input_port_read(space->machine(), "DIAL1") | (input_port_read(space->machine(), "DIAL2") << 4);
// low nibble: Sega 56pin Edge "16"-"19" // rotary switch 10positions 4bit-binary-pinout
// high nibble: Sega 56pin Edge "T"-"W" // ditto
case 0x03:
{
switch (state->m_video_control & 0xf)
{
case 0x00: return input_port_read(space->machine(), "P2");
case 0x04: return input_port_read(space->machine(), "ANALOGX2");
case 0x08: return input_port_read(space->machine(), "ANALOGY2");
case 0x0c: return input_port_read(space->machine(), "POW2");
case 0x00: return input_port_read(space->machine(), "P2"); // "HANDX2"
case 0x04: return input_port_read(space->machine(), "TRACKX2");
case 0x08: return input_port_read(space->machine(), "TRACKY2");
case 0x0c: return input_port_read(space->machine(), "HANDY2");
}
break;
}
@ -1111,50 +1114,17 @@ static INPUT_PORTS_START( system16a_generic )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin A too) or 1/1" )
SEGA_COINAGE_LOC(SW1)
PORT_START("DSW2")
PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW2:8" )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
INPUT_PORTS_END
@ -1165,47 +1135,22 @@ INPUT_PORTS_END
*************************************/
static INPUT_PORTS_START( aceattaa )
#define TMP_PL1HAND 2
#define TMP_PL1BALL 1
#define TMP_PL2HAND 4
#define TMP_PL2BALL 3
PORT_INCLUDE( system16a_generic )
PORT_MODIFY("SERVICE")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* Block Switch */
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* Block Switch */
/* This is the direction control of the "hand" device for player 1 */
/* I'm sure there is a better way to do this but I don't fully understand how the device works yet */
PORT_MODIFY("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON6 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON9 )
PORT_MODIFY("P1") // "P1" multiplexer(1of4) // direction of "hand" device
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL1HAND)
/* This is the power control of the "hand" device for player 1 */
PORT_MODIFY("UNUSED")
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON10 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON11 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON12 )
/* This is the direction control of the "hand" device for player 2 */
/* I'm sure there is a better way to do this but I don't fully understand how the device works yet */
PORT_MODIFY("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_PLAYER(2)
/* This is the power control of the "hand" device for player 2 */
PORT_START("POW2")
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON10 ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON11 ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON12 ) PORT_PLAYER(2)
PORT_MODIFY("P2") // "P2" multiplexer(1of4) // direction of "hand" device
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL2HAND)
PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
@ -1231,23 +1176,41 @@ static INPUT_PORTS_START( aceattaa )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_START("ANALOGX1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_REVERSE
PORT_START("TRACKX1") // "P1" multiplexer(2of4)
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL1BALL) PORT_REVERSE
PORT_START("ANALOGY1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5)
PORT_START("TRACKY1") // "P1" multiplexer(3of4)
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL1BALL)
PORT_START("DIAL1")
PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15)
PORT_START("HANDY1") // "P1" multiplexer(4of4) // power of "hand" device
PORT_BIT( 0x7f, 0x40, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_CENTERDELTA(30) PORT_PLAYER(TMP_PL1HAND)
// maybe, read 8 bits, and masked 0x70
PORT_START("ANALOGX2")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_REVERSE
PORT_START("DIAL1") // toss formation
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(10) PORT_WRAPS PORT_SENSITIVITY(10) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_PLAYER(1) PORT_INVERT PORT_FULL_TURN_COUNT(10)
// AUTOMATIC 1 / 2 3 \ AUTOMATIC 2
// LEFT SIDE / 1 4 \ RIGHT SIDE // (out of range)
// B QUICK | 0 5 | D QUICK // 10 A QUICK 13 A QUICK
// A QUICK \ 9 6 / C QUICK // 11 (buggy blank) 14 B QUICK
// CENTER \ 8 7 / BACK ATTACK // 12 A QUICK 15 A QUICK
PORT_START("ANALOGY2")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5)
PORT_START("TRACKX2") // "P2" multiplexer(2of4)
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL2BALL) PORT_REVERSE
PORT_START("DIAL2")
PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15)
PORT_START("TRACKY2") // "P2" multiplexer(3of4)
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL2BALL)
PORT_START("HANDY2") // "P2" multiplexer(4of4) // power of "hand" device
PORT_BIT( 0x7f, 0x40, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_CENTERDELTA(30) PORT_PLAYER(TMP_PL2HAND)
// maybe, read 8 bits, and masked 0x70
PORT_START("DIAL2") // toss formation
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(10) PORT_WRAPS PORT_SENSITIVITY(10) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2) PORT_INVERT PORT_FULL_TURN_COUNT(10)
#undef TMP_PL1HAND
#undef TMP_PL1BALL
#undef TMP_PL2HAND
#undef TMP_PL2BALL
INPUT_PORTS_END
static INPUT_PORTS_START( afighter )
@ -1311,6 +1274,7 @@ static INPUT_PORTS_START( aliensyn )
PORT_INCLUDE( system16a_generic )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -1336,6 +1300,7 @@ static INPUT_PORTS_START( aliensynj )
PORT_INCLUDE( system16a_generic )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -1361,6 +1326,7 @@ static INPUT_PORTS_START( bodyslam )
PORT_INCLUDE( system16a_generic )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -1369,6 +1335,8 @@ static INPUT_PORTS_START( bodyslam )
PORT_DIPSETTING( 0x08, "Slow" )
PORT_DIPSETTING( 0x04, "Fast" )
PORT_DIPSETTING( 0x00, "Fastest" )
//"SW2:5" unused
//"SW2:6" unused
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
@ -1433,15 +1401,9 @@ static INPUT_PORTS_START( mjleague )
PORT_DIPNAME( 0x10, 0x10, "Team Select" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6") //??? something to do with cocktail mode?
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:6" unused //??? something to do with cocktail mode?
//"SW2:7" unused
//"SW2:8" unused
PORT_START("ANALOGX1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5)
@ -1634,6 +1596,9 @@ static INPUT_PORTS_START( quart2 )
PORT_DIPSETTING( 0x18, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -1738,6 +1703,57 @@ static INPUT_PORTS_START( sjryuko )
PORT_MODIFY("P2")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x05, DEF_STR( None ) )
PORT_DIPSETTING( 0x04, DEF_STR( None ) )
PORT_DIPSETTING( 0x03, DEF_STR( None ) )
PORT_DIPSETTING( 0x02, DEF_STR( None ) )
PORT_DIPSETTING( 0x01, DEF_STR( None ) )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x50, DEF_STR( None ) )
PORT_DIPSETTING( 0x40, DEF_STR( None ) )
PORT_DIPSETTING( 0x30, DEF_STR( None ) )
PORT_DIPSETTING( 0x20, DEF_STR( None ) )
PORT_DIPSETTING( 0x10, DEF_STR( None ) )
PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x03, 0x03, "CPU Level" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "Weak" )
PORT_DIPSETTING( 0x02, "Medium Weak" )
PORT_DIPSETTING( 0x01, "Medium Strong" )
PORT_DIPSETTING( 0x00, "Strong" )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:4" unused
//"SW2:5" unused
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
PORT_START("MJ0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_B )
@ -1794,14 +1810,19 @@ static INPUT_PORTS_START( tetris )
/* SW2:1,3,4,7,8 Unused according to manual.
From the code SW2:3,4 looks like some kind of difficulty level,
but all 4 levels points to the same place so it doesn't actually change anything!! */
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:3" unused
//"SW2:4" unused
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -1815,20 +1836,28 @@ static INPUT_PORTS_START( timescan )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWE:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "Out Lane Pin" ) PORT_DIPLOCATION("SWE:2")
PORT_DIPNAME( 0x02, 0x02, "Out Lane Pin" ) PORT_DIPLOCATION("SWE:2") // Distance between out-lane-pins
PORT_DIPSETTING( 0x02, "Near" )
PORT_DIPSETTING( 0x00, "Far" )
PORT_DIPNAME( 0x0c, 0x0c, "Special" ) PORT_DIPLOCATION("SWE:3,4")
PORT_DIPSETTING( 0x08, "7 Credits" )
PORT_DIPSETTING( 0x0c, "3 Credits" )
PORT_DIPNAME( 0x0c, 0x0c, "Special" ) PORT_DIPLOCATION("SWE:3,4") // SPECIAL-stage clear bonus
PORT_DIPSETTING( 0x08, "3 Credits" )
PORT_DIPSETTING( 0x0c, "2 Credits" )
PORT_DIPSETTING( 0x04, "1 Credit" )
PORT_DIPSETTING( 0x00, "2000000 Points" )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWE:5")
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWE:5")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x10, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SWE:6" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SWE:7" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SWE:8" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWE:6" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWE:7" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWE:8" ) /* Listed as "Unused" */
//"SWE:1" = "EXT.SW1" = Sega 56pin Edge "16"
//"SWE:2" = "EXT.SW2" = "17"
//"SWE:3" = "EXT.SW3" = "18"
//"SWE:4" = "EXT.SW4" = "19"
//"SWE:5" = "EXT.SW5" = "T"
//"SWE:6" = "EXT.SW6" = "U"
//"SWE:7" = "EXT.SW7" = "V"
//"SWE:8" = "EXT.SW8" = "W"
PORT_MODIFY("P2")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
@ -1857,7 +1886,7 @@ static INPUT_PORTS_START( timescan )
PORT_DIPNAME( 0x20, 0x20, "Number Match" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x20, DEF_STR( Yes ) )
PORT_DIPNAME( 0x40, 0x40, "Pin Rebound" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPNAME( 0x40, 0x40, "Pin Rebound" ) PORT_DIPLOCATION("SW2:7") // Rebounding strength of out-lane-pins
PORT_DIPSETTING( 0x40, "Well" )
PORT_DIPSETTING( 0x00, "A Little" )
/*
@ -1875,6 +1904,7 @@ static INPUT_PORTS_START( wb3 )
PORT_INCLUDE( system16a_generic )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -1892,7 +1922,8 @@ static INPUT_PORTS_START( wb3 )
PORT_DIPNAME( 0x40, 0x40, "Test Mode" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( No ) ) /* Normal game */
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) /* Levels are selectable / Player is Invincible */
/* Swtches 1 & 8 are listed as "Always off" */
//"SW2:8" unused
/* Switches 1 & 8 are listed as "Always off" */
INPUT_PORTS_END
@ -3508,36 +3539,37 @@ static DRIVER_INIT( sjryukoa )
*
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* "Pre-System 16" */
GAME( 1986, bodyslam, 0, system16a_8751, bodyslam, generic_16a, ROT0, "Sega", "Body Slam (8751 317-0015)", GAME_SUPPORTS_SAVE )
GAME( 1986, dumpmtmt, bodyslam, system16a_8751, bodyslam, dumpmtmt, ROT0, "Sega", "Dump Matsumoto (Japan, 8751 317-0011a)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1985, mjleague, 0, system16a, mjleague, mjleague, ROT270, "Sega", "Major League", GAME_SUPPORTS_SAVE )
GAME( 1986, quartet, 0, system16a_8751, quartet, quartet, ROT0, "Sega", "Quartet (Rev A, 8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1986, quarteta, quartet, system16a_8751, quartet, quartet, ROT0, "Sega", "Quartet (8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1986, quartet2, quartet, system16a_8751, quart2, generic_16a, ROT0, "Sega", "Quartet 2 (8751 317-0010)", GAME_SUPPORTS_SAVE )
GAME( 1986, quartet2a, quartet, system16a, quart2, generic_16a, ROT0, "Sega", "Quartet 2 (unprotected)", GAME_SUPPORTS_SAVE )
GAME( 1986, bodyslam, 0, system16a_8751, bodyslam, generic_16a, ROT0, "Sega", "Body Slam (8751 317-0015)", GAME_SUPPORTS_SAVE )
GAME( 1986, dumpmtmt, bodyslam, system16a_8751, bodyslam, dumpmtmt, ROT0, "Sega", "Dump Matsumoto (Japan, 8751 317-0011a)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1985, mjleague, 0, system16a, mjleague, mjleague, ROT270, "Sega", "Major League", GAME_SUPPORTS_SAVE )
GAME( 1986, quartet, 0, system16a_8751, quartet, quartet, ROT0, "Sega", "Quartet (Rev A, 8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1986, quarteta, quartet, system16a_8751, quartet, quartet, ROT0, "Sega", "Quartet (8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1986, quartet2, quartet, system16a_8751, quart2, generic_16a, ROT0, "Sega", "Quartet 2 (8751 317-0010)", GAME_SUPPORTS_SAVE )
GAME( 1986, quartet2a, quartet, system16a, quart2, generic_16a, ROT0, "Sega", "Quartet 2 (unprotected)", GAME_SUPPORTS_SAVE )
/* System 16A */
GAME( 1987, aliensyn5, aliensyn, system16a, aliensyn, fd1089b_16a, ROT0, "Sega", "Alien Syndrome (set 5, System 16A, FD1089B 317-0037)", GAME_SUPPORTS_SAVE )
GAME( 1987, aliensyn2, aliensyn, system16a, aliensyn, fd1089a_16a, ROT0, "Sega", "Alien Syndrome (set 2, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
GAME( 1987, aliensynjo, aliensyn, system16a, aliensynj, fd1089a_16a, ROT0, "Sega", "Alien Syndrome (set 1, Japan, old, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
GAME( 1988, aceattaca, aceattac, system16a , aceattaa, aceattaa, ROT270, "Sega", "Ace Attacker (Japan, System 16A, FD1094 317-0060)", GAME_SUPPORTS_SAVE )
GAME( 1986, afighter, 0, system16a_no7751, afighter, fd1089a_16a, ROT270, "Sega", "Action Fighter (FD1089A 317-0018)", GAME_SUPPORTS_SAVE )
GAME( 1986, alexkidd, 0, system16a, alexkidd, generic_16a, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 2, unprotected)", GAME_SUPPORTS_SAVE )
GAME( 1986, alexkidd1, alexkidd, system16a, alexkidd, fd1089a_16a, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 1, FD1089A 317-0021)", GAME_SUPPORTS_SAVE )
GAME( 1986, fantzone, 0, system16a_no7751, fantzone, generic_16a, ROT0, "Sega", "Fantasy Zone (Rev A, unprotected)", GAME_SUPPORTS_SAVE )
GAME( 1986, fantzone1, fantzone, system16a_no7751, fantzone, generic_16a, ROT0, "Sega", "Fantasy Zone (unprotected)", GAME_SUPPORTS_SAVE )
GAME( 1986, fantzonep, fantzone, system16a_no7751, fantzone, fantzonep, ROT0, "Sega", "Fantasy Zone (317-5000)", GAME_SUPPORTS_SAVE )
GAME( 1988, passsht16a, passsht, system16a, passsht16a, passsht16a, ROT270, "Sega", "Passing Shot (Japan, 4 Players, System 16A, FD1094 317-0071)", GAME_SUPPORTS_SAVE )
GAME( 1987, sdi, 0, system16a_no7751, sdi, sdi, ROT0, "Sega", "SDI - Strategic Defense Initiative (Japan, old, System 16A, FD1089B 317-0027)", GAME_SUPPORTS_SAVE )
GAME( 1987, shinobi, 0, system16a, shinobi, generic_16a, ROT0, "Sega", "Shinobi (set 6, System 16A, unprotected)", GAME_SUPPORTS_SAVE )
GAME( 1987, shinobi1, shinobi, system16a, shinobi, generic_16a, ROT0, "Sega", "Shinobi (set 1, System 16A, FD1094 317-0050)", GAME_SUPPORTS_SAVE )
GAME( 1987, aliensyn5, aliensyn, system16a, aliensyn, fd1089b_16a, ROT0, "Sega", "Alien Syndrome (set 5, System 16A, FD1089B 317-0037)", GAME_SUPPORTS_SAVE )
GAME( 1987, aliensyn2, aliensyn, system16a, aliensyn, fd1089a_16a, ROT0, "Sega", "Alien Syndrome (set 2, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
GAME( 1987, aliensynjo, aliensyn, system16a, aliensynj, fd1089a_16a, ROT0, "Sega", "Alien Syndrome (set 1, Japan, old, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
GAME( 1988, aceattaca, aceattac, system16a, aceattaa, aceattaa, ROT270, "Sega", "Ace Attacker (Japan, System 16A, FD1094 317-0060)", GAME_SUPPORTS_SAVE )
GAME( 1986, afighter, 0, system16a_no7751, afighter, fd1089a_16a, ROT270, "Sega", "Action Fighter (FD1089A 317-0018)", GAME_SUPPORTS_SAVE )
GAME( 1986, alexkidd, 0, system16a, alexkidd, generic_16a, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 2, unprotected)", GAME_SUPPORTS_SAVE )
GAME( 1986, alexkidd1, alexkidd, system16a, alexkidd, fd1089a_16a, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 1, FD1089A 317-0021)", GAME_SUPPORTS_SAVE )
GAME( 1986, fantzone, 0, system16a_no7751, fantzone, generic_16a, ROT0, "Sega", "Fantasy Zone (Rev A, unprotected)", GAME_SUPPORTS_SAVE )
GAME( 1986, fantzone1, fantzone, system16a_no7751, fantzone, generic_16a, ROT0, "Sega", "Fantasy Zone (unprotected)", GAME_SUPPORTS_SAVE )
GAME( 1986, fantzonep, fantzone, system16a_no7751, fantzone, fantzonep, ROT0, "Sega", "Fantasy Zone (317-5000)", GAME_SUPPORTS_SAVE )
GAME( 1988, passsht16a, passsht, system16a, passsht16a, passsht16a, ROT270, "Sega", "Passing Shot (Japan, 4 Players, System 16A, FD1094 317-0071)", GAME_SUPPORTS_SAVE )
GAME( 1987, sdi, 0, system16a_no7751, sdi, sdi, ROT0, "Sega", "SDI - Strategic Defense Initiative (Japan, old, System 16A, FD1089B 317-0027)", GAME_SUPPORTS_SAVE )
GAME( 1987, shinobi, 0, system16a, shinobi, generic_16a, ROT0, "Sega", "Shinobi (set 6, System 16A, unprotected)", GAME_SUPPORTS_SAVE )
GAME( 1987, shinobi1, shinobi, system16a, shinobi, generic_16a, ROT0, "Sega", "Shinobi (set 1, System 16A, FD1094 317-0050)", GAME_SUPPORTS_SAVE )
GAME( 1987, shinobls, shinobi, system16a, shinobi, generic_16a, ROT0, "bootleg (Star)", "Shinobi (Star bootleg, System 16A)", GAME_SUPPORTS_SAVE )
GAME( 1987, shinoblb, shinobi, system16a, shinobi, generic_16a, ROT0, "bootleg (Beta)", "Shinobi (Beta bootleg)", GAME_SUPPORTS_SAVE ) // should have different sound hw? using original ATM
GAME( 1987, sjryuko1, sjryuko, system16a, sjryuko, sjryukoa, ROT0, "White Board", "Sukeban Jansi Ryuko (set 1, System 16A, FD1089B 317-5021)", GAME_SUPPORTS_SAVE )
GAME( 1988, tetris, 0, system16a_no7751, tetris, generic_16a, ROT0, "Sega", "Tetris (set 4, Japan, System 16A, FD1094 317-0093)", GAME_SUPPORTS_SAVE )
GAME( 1988, tetris3, tetris, system16a_no7751, tetris, generic_16a, ROT0, "Sega", "Tetris (set 3, Japan, System 16A, FD1094 317-0093a)", GAME_SUPPORTS_SAVE )
GAME( 1987, timescan1, timescan, system16a, timescan, fd1089b_16a, ROT270, "Sega", "Time Scanner (set 1, System 16A, FD1089B 317-0024)", GAME_SUPPORTS_SAVE )
GAME( 1987, sjryuko1, sjryuko, system16a, sjryuko, sjryukoa, ROT0, "White Board", "Sukeban Jansi Ryuko (set 1, System 16A, FD1089B 317-5021)", GAME_SUPPORTS_SAVE )
GAME( 1988, tetris, 0, system16a_no7751, tetris, generic_16a, ROT0, "Sega", "Tetris (set 4, Japan, System 16A, FD1094 317-0093)", GAME_SUPPORTS_SAVE )
GAME( 1988, tetris3, tetris, system16a_no7751, tetris, generic_16a, ROT0, "Sega", "Tetris (set 3, Japan, System 16A, FD1094 317-0093a)", GAME_SUPPORTS_SAVE )
GAME( 1987, timescan1, timescan, system16a, timescan, fd1089b_16a, ROT270, "Sega", "Time Scanner (set 1, System 16A, FD1089B 317-0024)", GAME_SUPPORTS_SAVE )
GAME( 1988, wb31, wb3, system16a_no7751, wb3, generic_16a, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 1, System 16A, FD1094 317-0084)", GAME_SUPPORTS_SAVE )
GAME( 1988, wb35, wb3, system16a_no7751, wb3, fd1089a_16a, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 5, System 16A, FD1089A 317-xxxx, bad dump?)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
GAME( 1988, wb35a, wb3, system16a_no7751, wb3, fd1089a_16a, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 6, System 16A, FD1089A 317-xxxx)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )

View File

@ -882,6 +882,7 @@ CPU - 317-0092 |--------------------------------------------------------------
#include "sound/2413intf.h"
#include "sound/upd7759.h"
#include "video/segaic16.h"
#include "includes/segaipt.h"
/*************************************
@ -1582,6 +1583,50 @@ static void wb3_i8751_sim(running_machine &machine)
/*************************************
*
* Ace Attacker custom I/O
*
*************************************/
static READ16_HANDLER( aceattac_custom_io_r )
{
switch (offset & (0x3000/2))
{
case 0x1000/2:
switch (offset & 3)
{
case 0x01:
return input_port_read(space->machine(), "P1");
case 0x02:
return input_port_read(space->machine(), "DIAL1") | (input_port_read(space->machine(), "DIAL2") << 4);
// low nibble: Sega 56pin Edge "16"-"19" // rotary switch 10positions 4bit-binary-pinout
// high nibble: Sega 56pin Edge "T"-"W" // ditto
case 0x03:
return input_port_read(space->machine(), "P2");
}
break;
case 0x3000/2:
switch (offset & 3)
{
case 0: return input_port_read(space->machine(), "HANDX1");
case 1: return input_port_read(space->machine(), "TRACKX1");
case 2: return input_port_read(space->machine(), "TRACKY1");
case 3: return input_port_read(space->machine(), "HANDY1");
case 4: return input_port_read(space->machine(), "HANDX2");
case 5: return input_port_read(space->machine(), "TRACKX2");
case 6: return input_port_read(space->machine(), "TRACKY2");
case 7: return input_port_read(space->machine(), "HANDY2");
}
break;
}
return standard_io_r(space, offset, mem_mask);
}
/*************************************
*
* Atomic Point custom sound
@ -1879,50 +1924,17 @@ static INPUT_PORTS_START( system16b_generic )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_START("DSW2")
PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW2:8" )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin A too) or 1/1" )
SEGA_COINAGE_LOC(SW1)
INPUT_PORTS_END
@ -1940,47 +1952,26 @@ INPUT_PORTS_END
*************************************/
static INPUT_PORTS_START( aceattac )
#define TMP_PL1HAND 2
#define TMP_PL1BALL 1
#define TMP_PL2HAND 4
#define TMP_PL2BALL 3
PORT_INCLUDE( system16b_generic )
PORT_MODIFY("SERVICE")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* Block Switch */
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* Block Switch */
/* This is the direction control of the "hand" device for player 1 */
/* I'm sure there is a better way to do this but I don't fully understand how the device works yet */
PORT_MODIFY("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON6 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON9 )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
// on System16A, "P1" reads 4 analog devices via multiplexer
// but on System16B, "P1" is connected nothing (analog devices are read via I/O sub-board)
/* This is the power control of the "hand" device for player 1 */
PORT_MODIFY("UNUSED")
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON10 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON11 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON12 )
/* This is the direction control of the "hand" device for player 2 */
/* I'm sure there is a better way to do this but I don't fully understand how the device works yet */
PORT_MODIFY("P2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_PLAYER(2)
/* This is the power control of the "hand" device for player 2 */
PORT_START("POW2")
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON10 ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON11 ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON12 ) PORT_PLAYER(2)
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
// on System16A, "P2" reads 4 analog devices via multiplexer
// but on System16B, "P2" is connected nothing (analog devices are read via I/O sub-board)
PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
@ -2006,29 +1997,54 @@ static INPUT_PORTS_START( aceattac )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_START("ANALOGX1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_REVERSE
PORT_START("HANDX1") // direction of "hand" device
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL1HAND)
PORT_START("ANALOGY1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5)
PORT_START("TRACKX1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL1BALL) PORT_REVERSE
PORT_START("DIAL1")
PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15)
PORT_START("TRACKY1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL1BALL)
PORT_START("ANALOGX2")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_REVERSE
PORT_START("HANDY1") // power of "hand" device
PORT_BIT( 0x7f, 0x40, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_CENTERDELTA(30) PORT_PLAYER(TMP_PL1HAND)
// maybe, read 8 bits, and masked 0x70
PORT_START("ANALOGY2")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5)
PORT_START("DIAL1") // toss formation
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(10) PORT_WRAPS PORT_SENSITIVITY(10) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_PLAYER(1) PORT_INVERT PORT_FULL_TURN_COUNT(10)
// AUTOMATIC 1 / 2 3 \ AUTOMATIC 2
// LEFT SIDE / 1 4 \ RIGHT SIDE // (out of range)
// B QUICK | 0 5 | D QUICK // 10 A QUICK 13 A QUICK
// A QUICK \ 9 6 / C QUICK // 11 (buggy blank) 14 B QUICK
// CENTER \ 8 7 / BACK ATTACK // 12 A QUICK 15 A QUICK
PORT_START("DIAL2")
PORT_BIT( 0x0f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(15)
PORT_START("HANDX2") // direction of "hand" device
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL2HAND)
PORT_START("TRACKX2")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL2BALL) PORT_REVERSE
PORT_START("TRACKY2")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(TMP_PL2BALL)
PORT_START("HANDY2") // power of "hand" device
PORT_BIT( 0x7f, 0x40, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_CENTERDELTA(30) PORT_PLAYER(TMP_PL2HAND)
// maybe, read 8 bits, and masked 0x70
PORT_START("DIAL2") // toss formation
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(10) PORT_WRAPS PORT_SENSITIVITY(10) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2) PORT_INVERT PORT_FULL_TURN_COUNT(10)
#undef TMP_PL1HAND
#undef TMP_PL1BALL
#undef TMP_PL2HAND
#undef TMP_PL2BALL
INPUT_PORTS_END
static INPUT_PORTS_START( aliensyn )
PORT_INCLUDE( system16b_generic )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -2054,6 +2070,7 @@ static INPUT_PORTS_START( aliensynj )
PORT_INCLUDE( system16b_generic )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -2210,6 +2227,10 @@ static INPUT_PORTS_START( bullet )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
//"SW2:5" unused
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -2230,6 +2251,9 @@ static INPUT_PORTS_START( cotton )
PORT_DIPSETTING( 0x18, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -2255,6 +2279,7 @@ static INPUT_PORTS_START( ddux )
PORT_DIPSETTING( 0x60, "200k" )
PORT_DIPSETTING( 0x20, "300k" )
PORT_DIPSETTING( 0x00, "400k" )
//"SW2:8" unused
/* Switch #8 is listed as "NOT USED" and "Always OFF" */
INPUT_PORTS_END
@ -2280,10 +2305,11 @@ static INPUT_PORTS_START( dunkshot )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, "VS Time" )
PORT_DIPNAME( 0x0c, 0x0c, "VS Time" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x08, "2P 1:30/ 3P 2:00/ 4P 2:30" )
PORT_DIPSETTING( 0x0c, "2P 2:00/ 3P 2:30/ 4P 3:00" )
PORT_DIPSETTING( 0x04, "2P 2:30/ 3P 3:00/ 4P 3:30" )
@ -2296,6 +2322,7 @@ static INPUT_PORTS_START( dunkshot )
PORT_DIPNAME( 0x40, 0x40, "CPU Starts With +6 Pts." ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:8" unused
PORT_START("ANALOGX1") /* fake analog X */
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_PLAYER(1) PORT_REVERSE
@ -2433,9 +2460,12 @@ static INPUT_PORTS_START( fpoint )
PORT_INCLUDE( system16b_generic )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:3" unused
//"SW2:4" unused
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
@ -2483,6 +2513,8 @@ static INPUT_PORTS_START( goldnaxe )
PORT_DIPSETTING( 0x10, "4" )
PORT_DIPSETTING( 0x00, "5" )
*/
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -2496,6 +2528,7 @@ static INPUT_PORTS_START( hwchamp )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -2828,6 +2861,57 @@ static INPUT_PORTS_START( sjryuko )
PORT_MODIFY("P2")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x05, DEF_STR( None ) )
PORT_DIPSETTING( 0x04, DEF_STR( None ) )
PORT_DIPSETTING( 0x03, DEF_STR( None ) )
PORT_DIPSETTING( 0x02, DEF_STR( None ) )
PORT_DIPSETTING( 0x01, DEF_STR( None ) )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x50, DEF_STR( None ) )
PORT_DIPSETTING( 0x40, DEF_STR( None ) )
PORT_DIPSETTING( 0x30, DEF_STR( None ) )
PORT_DIPSETTING( 0x20, DEF_STR( None ) )
PORT_DIPSETTING( 0x10, DEF_STR( None ) )
PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x03, 0x03, "CPU Level" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "Weak" )
PORT_DIPSETTING( 0x02, "Medium Weak" )
PORT_DIPSETTING( 0x01, "Medium Strong" )
PORT_DIPSETTING( 0x00, "Strong" )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:4" unused
//"SW2:5" unused
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
PORT_START("MJ0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_B )
@ -2913,14 +2997,19 @@ static INPUT_PORTS_START( tetris )
/* SW2:1,3,4,7,8 Unused according to manual.
From the code SW2:3,4 looks like some kind of difficulty level,
but all 4 levels points to the same place so it doesn't actually change anything!! */
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:3" unused
//"SW2:4" unused
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -2937,20 +3026,28 @@ static INPUT_PORTS_START( timescan )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWE:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "Out Lane Pin" ) PORT_DIPLOCATION("SWE:2")
PORT_DIPNAME( 0x02, 0x02, "Out Lane Pin" ) PORT_DIPLOCATION("SWE:2") // Distance between out-lane-pins
PORT_DIPSETTING( 0x02, "Near" )
PORT_DIPSETTING( 0x00, "Far" )
PORT_DIPNAME( 0x0c, 0x0c, "Special" ) PORT_DIPLOCATION("SWE:3,4")
PORT_DIPSETTING( 0x08, "7 Credits" )
PORT_DIPSETTING( 0x0c, "3 Credits" )
PORT_DIPNAME( 0x0c, 0x0c, "Special" ) PORT_DIPLOCATION("SWE:3,4") // SPECIAL-stage clear bonus
PORT_DIPSETTING( 0x08, "3 Credits" )
PORT_DIPSETTING( 0x0c, "2 Credits" )
PORT_DIPSETTING( 0x04, "1 Credit" )
PORT_DIPSETTING( 0x00, "2000000 Points" )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWE:5")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x10, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SWE:6" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SWE:7" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SWE:8" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWE:6" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWE:7" ) /* Listed as "Unused" */
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWE:8" ) /* Listed as "Unused" */
//"SWE:1" = "EXT.SW1" = Sega 56pin Edge "16"
//"SWE:2" = "EXT.SW2" = "17"
//"SWE:3" = "EXT.SW3" = "18"
//"SWE:4" = "EXT.SW4" = "19"
//"SWE:5" = "EXT.SW5" = "T"
//"SWE:6" = "EXT.SW6" = "U"
//"SWE:7" = "EXT.SW7" = "V"
//"SWE:8" = "EXT.SW8" = "W"
PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:1")
@ -2976,7 +3073,7 @@ static INPUT_PORTS_START( timescan )
PORT_DIPNAME( 0x20, 0x20, "Number Match" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x20, DEF_STR( Yes ) )
PORT_DIPNAME( 0x40, 0x40, "Pin Rebound" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPNAME( 0x40, 0x40, "Pin Rebound" ) PORT_DIPLOCATION("SW2:7") // Rebounding strength of out-lane-pins
PORT_DIPSETTING( 0x40, "Well" )
PORT_DIPSETTING( 0x00, "A Little" )
/*
@ -2997,6 +3094,9 @@ static INPUT_PORTS_START( toryumon )
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:2" unused
//"SW2:3" unused
//"SW2:4" unused
PORT_DIPNAME( 0x10, 0x10, "VS Play Mode" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x10, "1 Set" )
PORT_DIPSETTING( 0x00, "3 Set" )
@ -3044,6 +3144,7 @@ static INPUT_PORTS_START( wb3 )
PORT_INCLUDE( system16b_generic )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -3061,6 +3162,7 @@ static INPUT_PORTS_START( wb3 )
PORT_DIPNAME( 0x40, 0x40, "Test Mode" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( No ) ) /* Normal game */
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) /* Levels are selectable / Player is Invincible */
//"SW2:8" unused
/* Switches 1 & 8 are listed as "Always off" */
INPUT_PORTS_END
@ -3069,6 +3171,7 @@ static INPUT_PORTS_START( wrestwar )
PORT_INCLUDE( system16b_generic )
PORT_MODIFY("DSW2")
//"SW2:1" unused
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -3077,6 +3180,7 @@ static INPUT_PORTS_START( wrestwar )
PORT_DIPSETTING( 0x0c, "110" )
PORT_DIPSETTING( 0x08, "120" )
PORT_DIPSETTING( 0x04, "130" )
//"SW2:5" unused
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x20, DEF_STR( Yes ) )
@ -3207,27 +3311,15 @@ static INPUT_PORTS_START( snapper )
PORT_DIPSETTING( 0x00, "5" )
PORT_START("P2") /* DSW1 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW1:4" )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:7" )
PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:8" )
PORT_START("DSW2") /* DUMMY */
@ -6359,6 +6451,15 @@ static DRIVER_INIT( generic_5797 )
*
*************************************/
static DRIVER_INIT( aceattac_5358 )
{
segas1x_state *state = machine.driver_data<segas1x_state>();
DRIVER_INIT_CALL(generic_5358);
state->m_custom_io_r = aceattac_custom_io_r;
}
static DRIVER_INIT( aliensy3_5358 )
{
DRIVER_INIT_CALL(generic_5358);
@ -6573,107 +6674,108 @@ static DRIVER_INIT( snapper )
*
*************************************/
GAME( 1988, aceattac, 0, system16b, aceattac, generic_5358, ROT0, "Sega", "Ace Attacker (FD1094 317-0059)", GAME_NOT_WORKING )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1988, aceattac, 0, system16b, aceattac, aceattac_5358, ROT0, "Sega", "Ace Attacker (FD1094 317-0059)", GAME_NOT_WORKING )
GAME( 1987, aliensyn, 0, system16b, aliensyn, generic_5358, ROT0, "Sega", "Alien Syndrome (set 4, System 16B, unprotected)", 0 )
GAME( 1987, aliensyn3, aliensyn, system16b, aliensyn, aliensy3_5358, ROT0, "Sega", "Alien Syndrome (set 3, System 16B, FD1089A 317-0033)", 0 )
GAME( 1987, aliensynj, aliensyn, system16b, aliensynj,aliensy3_5358, ROT0, "Sega", "Alien Syndrome (set 6, Japan, new, System 16B, FD1089A 317-0033)", 0 )
GAME( 1987, aliensyn, 0, system16b, aliensyn, generic_5358, ROT0, "Sega", "Alien Syndrome (set 4, System 16B, unprotected)", 0 )
GAME( 1987, aliensyn3, aliensyn, system16b, aliensyn, aliensy3_5358, ROT0, "Sega", "Alien Syndrome (set 3, System 16B, FD1089A 317-0033)", 0 )
GAME( 1987, aliensynj, aliensyn, system16b, aliensynj,aliensy3_5358, ROT0, "Sega", "Alien Syndrome (set 6, Japan, new, System 16B, FD1089A 317-0033)", 0 )
GAME( 1988, altbeast, 0, system16b_8751, altbeast, altbeast_5521, ROT0, "Sega", "Altered Beast (set 8, 8751 317-0078)", 0 )
GAME( 1988, altbeastj, altbeast, system16b_8751, altbeast, altbeasj_5521, ROT0, "Sega", "Juuouki (set 7, Japan, 8751 317-0077)", 0 )
GAME( 1988, altbeast5, altbeast, system16b_8751, altbeast, altbeas5_5521, ROT0, "Sega", "Altered Beast (set 6, 8751 317-0076)", 0 )
GAME( 1988, altbeast4, altbeast, system16b, altbeast, altbeas4_5521, ROT0, "Sega", "Altered Beast (set 4, MC-8123B 317-0066)", 0 )
GAME( 1988, altbeastj3, altbeast, system16b, altbeast, generic_5521, ROT0, "Sega", "Juuouki (set 3, Japan, FD1094 317-0068)", 0 )
GAME( 1988, altbeast2, altbeast, system16b, altbeast, altbeas4_5521, ROT0, "Sega", "Altered Beast (set 2, MC-8123B 317-0066)", 0 )
GAME( 1988, altbeastj1, altbeast, system16b, altbeast, generic_5521, ROT0, "Sega", "Juuouki (set 1, Japan, FD1094 317-0065)", GAME_NOT_WORKING ) /* No CPU decrypt key */
GAME( 1988, altbeastj2, altbeast, system16b, altbeast, generic_5521, ROT0, "Sega", "Juuouki (set 5, Japan, FD1094 317-0069)", GAME_NOT_WORKING ) /* No CPU decrypt key */
GAME( 1988, altbeast, 0, system16b_8751, altbeast, altbeast_5521, ROT0, "Sega", "Altered Beast (set 8, 8751 317-0078)", 0 )
GAME( 1988, altbeastj, altbeast, system16b_8751, altbeast, altbeasj_5521, ROT0, "Sega", "Juuouki (set 7, Japan, 8751 317-0077)", 0 )
GAME( 1988, altbeast5, altbeast, system16b_8751, altbeast, altbeas5_5521, ROT0, "Sega", "Altered Beast (set 6, 8751 317-0076)", 0 )
GAME( 1988, altbeast4, altbeast, system16b, altbeast, altbeas4_5521, ROT0, "Sega", "Altered Beast (set 4, MC-8123B 317-0066)", 0 )
GAME( 1988, altbeastj3, altbeast, system16b, altbeast, generic_5521, ROT0, "Sega", "Juuouki (set 3, Japan, FD1094 317-0068)", 0 )
GAME( 1988, altbeast2, altbeast, system16b, altbeast, altbeas4_5521, ROT0, "Sega", "Altered Beast (set 2, MC-8123B 317-0066)", 0 )
GAME( 1988, altbeastj1, altbeast, system16b, altbeast, generic_5521, ROT0, "Sega", "Juuouki (set 1, Japan, FD1094 317-0065)", GAME_NOT_WORKING ) /* No CPU decrypt key */
GAME( 1988, altbeastj2, altbeast, system16b, altbeast, generic_5521, ROT0, "Sega", "Juuouki (set 5, Japan, FD1094 317-0069)", GAME_NOT_WORKING ) /* No CPU decrypt key */
GAME( 1990, aurail, 0, system16b, aurail, generic_5704, ROT0, "Sega / Westone", "Aurail (set 3, US, unprotected)", 0 )
GAME( 1990, aurail1, aurail, system16b, aurail, aurail1_5704, ROT0, "Sega / Westone", "Aurail (set 2, World, FD1089B 317-0168)", 0 )
GAME( 1990, aurailj, aurail, system16b, aurail, aurailj_5704, ROT0, "Sega / Westone", "Aurail (set 1, Japan, FD1089A 317-0167)", 0 )
GAME( 1990, aurail, 0, system16b, aurail, generic_5704, ROT0, "Sega / Westone", "Aurail (set 3, US, unprotected)", 0 )
GAME( 1990, aurail1, aurail, system16b, aurail, aurail1_5704, ROT0, "Sega / Westone", "Aurail (set 2, World, FD1089B 317-0168)", 0 )
GAME( 1990, aurailj, aurail, system16b, aurail, aurailj_5704, ROT0, "Sega / Westone", "Aurail (set 1, Japan, FD1089A 317-0167)", 0 )
GAME( 1989, bayroute, 0, system16b, bayroute, generic_5704, ROT0, "Sunsoft / Sega", "Bay Route (set 3, World, FD1094 317-0116)", 0 )
GAME( 1989, bayroutej, bayroute, system16b, bayroute, generic_5704, ROT0, "Sunsoft / Sega", "Bay Route (set 2, Japan, FD1094 317-0115)", 0 )
GAME( 1989, bayroute1, bayroute, system16b, bayroute, generic_5358, ROT0, "Sunsoft / Sega", "Bay Route (set 1, US, unprotected)", 0 )
GAME( 1989, bayroute, 0, system16b, bayroute, generic_5704, ROT0, "Sunsoft / Sega", "Bay Route (set 3, World, FD1094 317-0116)", 0 )
GAME( 1989, bayroutej, bayroute, system16b, bayroute, generic_5704, ROT0, "Sunsoft / Sega", "Bay Route (set 2, Japan, FD1094 317-0115)", 0 )
GAME( 1989, bayroute1, bayroute, system16b, bayroute, generic_5358, ROT0, "Sunsoft / Sega", "Bay Route (set 1, US, unprotected)", 0 )
GAME( 1987, bullet, 0, system16b, bullet, generic_5358_small, ROT0, "Sega", "Bullet (FD1094 317-0041)", 0 )
GAME( 1987, bullet, 0, system16b, bullet, generic_5358_small, ROT0, "Sega", "Bullet (FD1094 317-0041)", 0 )
/* Charon */
GAME( 1991, cotton, 0, system16b, cotton, generic_5704, ROT0, "Sega / Success", "Cotton (set 3, World, FD1094 317-0181a)", 0 )
GAME( 1991, cottonu, cotton, system16b, cotton, generic_5704, ROT0, "Sega / Success", "Cotton (set 2, US, FD1094 317-0180)", 0 )
GAME( 1991, cottonj, cotton, system16b, cotton, generic_5704, ROT0, "Sega / Success", "Cotton (set 1, Japan, FD1094 317-0179a)", 0 )
GAME( 1991, cotton, 0, system16b, cotton, generic_5704, ROT0, "Sega / Success", "Cotton (set 3, World, FD1094 317-0181a)", 0 )
GAME( 1991, cottonu, cotton, system16b, cotton, generic_5704, ROT0, "Sega / Success", "Cotton (set 2, US, FD1094 317-0180)", 0 )
GAME( 1991, cottonj, cotton, system16b, cotton, generic_5704, ROT0, "Sega / Success", "Cotton (set 1, Japan, FD1094 317-0179a)", 0 )
GAME( 1988, ddux, 0, system16b, ddux, generic_5521, ROT0, "Sega", "Dynamite Dux (set 2, FD1094 317-0096)", 0 )
GAME( 1988, ddux1, ddux, system16b_8751, ddux, ddux_5704, ROT0, "Sega", "Dynamite Dux (set 1, 8751 317-0095)", 0 )
GAME( 1988, ddux, 0, system16b, ddux, generic_5521, ROT0, "Sega", "Dynamite Dux (set 2, FD1094 317-0096)", 0 )
GAME( 1988, ddux1, ddux, system16b_8751, ddux, ddux_5704, ROT0, "Sega", "Dynamite Dux (set 1, 8751 317-0095)", 0 )
GAME( 1986, dunkshot, 0, timescan, dunkshot, dunkshot_5358, ROT0, "Sega", "Dunk Shot (FD1089A 317-0022)", 0 )
GAME( 1986, dunkshot, 0, timescan, dunkshot, dunkshot_5358, ROT0, "Sega", "Dunk Shot (FD1089A 317-0022)", 0 )
GAME( 1989, eswat, 0, system16b_5248, eswat, generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 3, World, FD1094 317-0130)", 0 )
GAME( 1989, eswatu, eswat, system16b_5248, eswat, generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 2, US, FD1094 317-0129)", 0 )
GAME( 1989, eswatj, eswat, system16b_5248, eswat, generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 1, Japan, FD1094 317-0128)", 0 )
GAME( 1989, eswat, 0, system16b_5248, eswat, generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 3, World, FD1094 317-0130)", 0 )
GAME( 1989, eswatu, eswat, system16b_5248, eswat, generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 2, US, FD1094 317-0129)", 0 )
GAME( 1989, eswatj, eswat, system16b_5248, eswat, generic_5797, ROT0, "Sega", "E-Swat - Cyber Police (set 1, Japan, FD1094 317-0128)", 0 )
GAME( 1988, exctleag, 0, system16b, exctleag, exctleag_5358, ROT0, "Sega", "Excite League (FD1094 317-0079)", 0 )
GAME( 1988, exctleag, 0, system16b, exctleag, exctleag_5358, ROT0, "Sega", "Excite League (FD1094 317-0079)", 0 )
GAME( 1989, fpoint, 0, system16b, fpoint, generic_5358, ROT0, "Sega", "Flash Point (set 2, Japan, FD1094 317-0127A)", 0 )
GAME( 1989, fpoint1, fpoint, system16b, fpoint, generic_5704, ROT0, "Sega", "Flash Point (set 1, Japan, FD1094 317-0127A)", 0 )
GAME( 1989, fpoint, 0, system16b, fpoint, generic_5358, ROT0, "Sega", "Flash Point (set 2, Japan, FD1094 317-0127A)", 0 )
GAME( 1989, fpoint1, fpoint, system16b, fpoint, generic_5704, ROT0, "Sega", "Flash Point (set 1, Japan, FD1094 317-0127A)", 0 )
GAME( 1989, goldnaxe, 0, system16b_8751_5248, goldnaxe, goldnaxe_5797, ROT0, "Sega", "Golden Axe (set 6, US, 8751 317-123A)", 0 )
GAME( 1989, goldnaxeu, goldnaxe, system16b_5248, goldnaxe, generic_5797, ROT0, "Sega", "Golden Axe (set 5, US, FD1094 317-0122)", 0 )
GAME( 1989, goldnaxej, goldnaxe, system16b, goldnaxe, generic_5704, ROT0, "Sega", "Golden Axe (set 4, Japan, FD1094 317-0121)", 0 )
GAME( 1989, goldnaxe3, goldnaxe, system16b, goldnaxe, generic_5704, ROT0, "Sega", "Golden Axe (set 3, World, FD1094 317-0120)" , 0)
GAME( 1989, goldnaxe2, goldnaxe, system16b_8751, goldnaxe, goldnaxe_5704, ROT0, "Sega", "Golden Axe (set 2, US, 8751 317-0112)", 0 )
GAME( 1989, goldnaxe1, goldnaxe, system16b_5248, goldnaxe, generic_5797, ROT0, "Sega", "Golden Axe (set 1, World, FD1094 317-0110)", 0 )
GAME( 1989, goldnaxe, 0, system16b_8751_5248, goldnaxe, goldnaxe_5797, ROT0, "Sega", "Golden Axe (set 6, US, 8751 317-123A)", 0 )
GAME( 1989, goldnaxeu, goldnaxe, system16b_5248, goldnaxe, generic_5797, ROT0, "Sega", "Golden Axe (set 5, US, FD1094 317-0122)", 0 )
GAME( 1989, goldnaxej, goldnaxe, system16b, goldnaxe, generic_5704, ROT0, "Sega", "Golden Axe (set 4, Japan, FD1094 317-0121)", 0 )
GAME( 1989, goldnaxe3, goldnaxe, system16b, goldnaxe, generic_5704, ROT0, "Sega", "Golden Axe (set 3, World, FD1094 317-0120)", 0)
GAME( 1989, goldnaxe2, goldnaxe, system16b_8751, goldnaxe, goldnaxe_5704, ROT0, "Sega", "Golden Axe (set 2, US, 8751 317-0112)", 0 )
GAME( 1989, goldnaxe1, goldnaxe, system16b_5248, goldnaxe, generic_5797, ROT0, "Sega", "Golden Axe (set 1, World, FD1094 317-0110)", 0 )
GAME( 1987, hwchamp, 0, system16b, hwchamp, hwchamp_5521, ROT0, "Sega", "Heavyweight Champ", 0 )
GAME( 1987, hwchampj, hwchamp, system16b, hwchamp, hwchamp_5521, ROT0, "Sega", "Heavyweight Champ (Japan, FD1094 317-0046)", 0 )
GAME( 1987, hwchamp, 0, system16b, hwchamp, hwchamp_5521, ROT0, "Sega", "Heavyweight Champ", 0 )
GAME( 1987, hwchampj, hwchamp, system16b, hwchamp, hwchamp_5521, ROT0, "Sega", "Heavyweight Champ (Japan, FD1094 317-0046)", 0 )
GAME( 1989, mvp, 0, system16b_5248, mvp, generic_5797, ROT0, "Sega", "MVP (set 2, US, FD1094 317-0143)", 0 )
GAME( 1989, mvpj, mvp, system16b, mvp, generic_5704, ROT0, "Sega", "MVP (set 1, Japan, FD1094 317-0142)", 0 )
GAME( 1989, mvp, 0, system16b_5248, mvp, generic_5797, ROT0, "Sega", "MVP (set 2, US, FD1094 317-0143)", 0 )
GAME( 1989, mvpj, mvp, system16b, mvp, generic_5704, ROT0, "Sega", "MVP (set 1, Japan, FD1094 317-0142)", 0 )
GAME( 1988, passsht, 0, system16b, passsht, generic_5358, ROT270, "Sega", "Passing Shot (World, 2 Players, FD1094 317-0080)", 0 )
GAME( 1988, passshta, passsht, system16b, passshtj, passshtj_5358, ROT270, "Sega", "Passing Shot (World, 4 Players, FD1094 317-0074)", 0 )
GAME( 1988, passshtj, passsht, system16b, passshtj, passshtj_5358, ROT270, "Sega", "Passing Shot (Japan, 4 Players, FD1094 317-0070)", 0 )
GAME( 1988, passsht, 0, system16b, passsht, generic_5358, ROT270, "Sega", "Passing Shot (World, 2 Players, FD1094 317-0080)", 0 )
GAME( 1988, passshta, passsht, system16b, passshtj, passshtj_5358, ROT270, "Sega", "Passing Shot (World, 4 Players, FD1094 317-0074)", 0 )
GAME( 1988, passshtj, passsht, system16b, passshtj, passshtj_5358, ROT270, "Sega", "Passing Shot (Japan, 4 Players, FD1094 317-0070)", 0 )
GAME( 1991, riotcity, 0, system16b, riotcity, generic_5704, ROT0, "Sega / Westone", "Riot City (Japan)", 0 )
GAME( 1991, riotcity, 0, system16b, riotcity, generic_5704, ROT0, "Sega / Westone", "Riot City (Japan)", 0 )
GAME( 1990, ryukyu, 0, system16b, ryukyu, generic_5704, ROT0, "Success / Sega", "RyuKyu (Japan, FD1094 317-5023)", 0 )
GAME( 1990, ryukyu, 0, system16b, ryukyu, generic_5704, ROT0, "Success / Sega", "RyuKyu (Japan, FD1094 317-5023)", 0 )
GAME( 1987, defense, sdi, system16b, sdi, defense_5358, ROT0, "Sega", "Defense (System 16B, FD1089A 317-0028)", 0 )
GAME( 1987, sdib, sdi, system16b, sdi, defense_5358, ROT0, "Sega", "SDI - Strategic Defense Initiative (System 16B, FD1089A 317-0028)", 0 )
GAME( 1987, sdibl, sdi, system16b, sdi, sdi_5358, ROT0, "bootleg", "SDI - Strategic Defense Initiative (bootleg)", 0 )
GAME( 1987, defense, sdi, system16b, sdi, defense_5358, ROT0, "Sega", "Defense (System 16B, FD1089A 317-0028)", 0 )
GAME( 1987, sdib, sdi, system16b, sdi, defense_5358, ROT0, "Sega", "SDI - Strategic Defense Initiative (System 16B, FD1089A 317-0028)", 0 )
GAME( 1987, sdibl, sdi, system16b, sdi, sdi_5358, ROT0, "bootleg", "SDI - Strategic Defense Initiative (bootleg)", 0 )
GAME( 1987, shinobi5, shinobi, system16b, shinobi, generic_5521, ROT0, "Sega", "Shinobi (set 5, System 16B, unprotected)", 0 )
GAME( 1987, shinobi4, shinobi, system16b, shinobi, shinobi4_5521, ROT0, "Sega", "Shinobi (set 4, System 16B, MC-8123B 317-0054)", 0 )
GAME( 1987, shinobi3, shinobi, system16b, shinobi, shinobi3_5358, ROT0, "Sega", "Shinobi (set 3, System 16B, MC-8123B 317-0054)", 0 )
GAME( 1987, shinobi2, shinobi, system16b, shinobi, generic_5358, ROT0, "Sega", "Shinobi (set 2, System 16B, FD1094 317-0049)", 0 )
GAME( 1987, shinobi5, shinobi, system16b, shinobi, generic_5521, ROT0, "Sega", "Shinobi (set 5, System 16B, unprotected)", 0 )
GAME( 1987, shinobi4, shinobi, system16b, shinobi, shinobi4_5521, ROT0, "Sega", "Shinobi (set 4, System 16B, MC-8123B 317-0054)", 0 )
GAME( 1987, shinobi3, shinobi, system16b, shinobi, shinobi3_5358, ROT0, "Sega", "Shinobi (set 3, System 16B, MC-8123B 317-0054)", 0 )
GAME( 1987, shinobi2, shinobi, system16b, shinobi, generic_5358, ROT0, "Sega", "Shinobi (set 2, System 16B, FD1094 317-0049)", 0 )
GAME( 1987, sonicbom, 0, system16b, sonicbom, generic_5358, ROT270, "Sega", "Sonic Boom (FD1094 317-0053)", 0 )
GAME( 1987, sonicbom, 0, system16b, sonicbom, generic_5358, ROT270, "Sega", "Sonic Boom (FD1094 317-0053)", 0 )
GAME( 1988, sjryuko, 0, timescan, sjryuko, sjryuko_5358, ROT0, "White Board", "Sukeban Jansi Ryuko (set 2, System 16B, FD1089B 317-5021)", 0 )
GAME( 1988, sjryuko, 0, timescan, sjryuko, sjryuko_5358, ROT0, "White Board", "Sukeban Jansi Ryuko (set 2, System 16B, FD1089B 317-5021)", 0 )
GAME( 1987, suprleag, 0, system16b, exctleag, exctleag_5358, ROT0, "Sega", "Super League (FD1094 317-0045)", 0 )
GAME( 1987, suprleag, 0, system16b, exctleag, exctleag_5358, ROT0, "Sega", "Super League (FD1094 317-0045)", 0 )
GAME( 1988, tetris2, tetris, system16b, tetris, generic_5704, ROT0, "Sega", "Tetris (set 2, Japan, System 16B, FD1094 317-0092)", 0 )
GAME( 1988, tetris1, tetris, system16b, tetris, generic_5358, ROT0, "Sega", "Tetris (set 1, Japan, System 16B, FD1094 317-0091)", 0 )
GAME( 1988, tetris2, tetris, system16b, tetris, generic_5704, ROT0, "Sega", "Tetris (set 2, Japan, System 16B, FD1094 317-0092)", 0 )
GAME( 1988, tetris1, tetris, system16b, tetris, generic_5358, ROT0, "Sega", "Tetris (set 1, Japan, System 16B, FD1094 317-0091)", 0 )
GAME( 1987, timescan, 0, timescan, timescan, generic_5358, ROT270, "Sega", "Time Scanner (set 2, System 16B)", 0 )
GAME( 1987, timescan, 0, timescan, timescan, generic_5358, ROT270, "Sega", "Time Scanner (set 2, System 16B)", 0 )
GAME( 1994, toryumon, 0, system16b_5248, toryumon, generic_5797, ROT0, "Sega", "Toryumon", 0 )
GAME( 1994, toryumon, 0, system16b_5248, toryumon, generic_5797, ROT0, "Sega", "Toryumon", 0 )
GAME( 1989, tturf, 0, system16b_8751, tturf, tturf_5704, ROT0, "Sega / Sunsoft", "Tough Turf (set 2, Japan, 8751 317-0104)", GAME_NO_SOUND /* due to missing ROM only */)
GAME( 1989, tturfu, tturf, system16b_8751, tturf, generic_5358, ROT0, "Sega / Sunsoft", "Tough Turf (set 1, US, 8751 317-0099)", 0)
GAME( 1989, tturf, 0, system16b_8751, tturf, tturf_5704, ROT0, "Sega / Sunsoft", "Tough Turf (set 2, Japan, 8751 317-0104)", GAME_NO_SOUND /* due to missing ROM only */)
GAME( 1989, tturfu, tturf, system16b_8751, tturf, generic_5358, ROT0, "Sega / Sunsoft", "Tough Turf (set 1, US, 8751 317-0099)", 0)
GAME( 1988, wb3, 0, system16b_8751, wb3, wb3_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 5, World, System 16B, 8751 317-0098)", 0 )
GAME( 1988, wb34, wb3, system16b, wb3, generic_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 4, Japan, System 16B, FD1094 317-0087)", 0 )
GAME( 1988, wb33, wb3, system16b, wb3, generic_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 3, World, System 16B, FD1094 317-0089)", 0 )
GAME( 1988, wb32, wb3, system16b, wb3, generic_5358, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 2, Japan, System 16B, FD1094 317-0085)", 0 )
GAME( 1988, wb3, 0, system16b_8751, wb3, wb3_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 5, World, System 16B, 8751 317-0098)", 0 )
GAME( 1988, wb34, wb3, system16b, wb3, generic_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 4, Japan, System 16B, FD1094 317-0087)", 0 )
GAME( 1988, wb33, wb3, system16b, wb3, generic_5704, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 3, World, System 16B, FD1094 317-0089)", 0 )
GAME( 1988, wb32, wb3, system16b, wb3, generic_5358, ROT0, "Sega / Westone", "Wonder Boy III - Monster Lair (set 2, Japan, System 16B, FD1094 317-0085)", 0 )
GAME( 1989, wrestwar, 0, system16b_8751, wrestwar, generic_5704, ROT270, "Sega", "Wrestle War (set 3, World, 8751 317-0103)", 0 )
GAME( 1989, wrestwar2, wrestwar, system16b, wrestwar, generic_5704, ROT270, "Sega", "Wrestle War (set 2, World, FD1094 317-0102)", 0 )
GAME( 1989, wrestwar1, wrestwar, system16b, wrestwar, generic_5704, ROT270, "Sega", "Wrestle War (set 1, Japan, FD1094 317-0090)", 0 )
GAME( 1989, wrestwar, 0, system16b_8751, wrestwar, generic_5704, ROT270, "Sega", "Wrestle War (set 3, World, 8751 317-0103)", 0 )
GAME( 1989, wrestwar2, wrestwar, system16b, wrestwar, generic_5704, ROT270, "Sega", "Wrestle War (set 2, World, FD1094 317-0102)", 0 )
GAME( 1989, wrestwar1, wrestwar, system16b, wrestwar, generic_5704, ROT270, "Sega", "Wrestle War (set 1, Japan, FD1094 317-0090)", 0 )
/* Custom Korean Board - these probably belong with the bootlegs... */
GAME( 1990, atomicp, 0, atomicp, atomicp, atomicp, ROT0, "Philko", "Atomic Point (Korea)" , 0) // korean clone board..
GAME( 1990, snapper, 0, atomicp, snapper, snapper, ROT0, "Philko", "Snapper (Korea)" , 0) // korean clone board..
GAME( 1990, atomicp, 0, atomicp, atomicp, atomicp, ROT0, "Philko", "Atomic Point (Korea)", 0) // korean clone board..
GAME( 1990, snapper, 0, atomicp, snapper, snapper, ROT0, "Philko", "Snapper (Korea)", 0) // korean clone board..
@ -7022,28 +7124,28 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( isgsm )
PORT_INCLUDE( system16b_generic )
PORT_MODIFY("DSW2")
PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW2:8" )
//PORT_MODIFY("DSW2")
//"SW2:1" unused
//"SW2:2" unused
//"SW2:3" unused
//"SW2:4" unused
//"SW2:5" unused
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
PORT_MODIFY("UNUSED")
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_MODIFY("DSW1")
PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW1:1" )
PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW1:2" )
PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW1:3" )
PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:4" )
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" )
PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" )
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW1:7" )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW1:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW1:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:8" )
PORT_START("CARDDSW") // on the gamecard..
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
@ -7051,15 +7153,13 @@ INPUT_PORTS_END
static INPUT_PORTS_START( shinfz )
PORT_INCLUDE( system16b_generic )
PORT_INCLUDE( isgsm )
PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:2" unused
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x08, "2" )
PORT_DIPSETTING( 0x0c, "3" )
@ -7076,20 +7176,17 @@ static INPUT_PORTS_START( shinfz )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_MODIFY("UNUSED")
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
//PORT_MODIFY("DSW1")
//"SW1:1" unused
//"SW1:2" unused
//"SW1:3" unused
//"SW1:4" unused
//"SW1:5" unused
//"SW1:6" unused
//"SW1:7" unused
//"SW1:8" unused
PORT_MODIFY("DSW1")
PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW1:1" )
PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW1:2" )
PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW1:3" )
PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:4" )
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" )
PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" )
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW1:7" )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" )
PORT_START("CARDDSW") // on the gamecard..
PORT_MODIFY("CARDDSW") // on the gamecard..
PORT_DIPNAME( 0x0003, 0x0000, "Game Type" )
PORT_DIPSETTING( 0x0000, "Shinobi Ninja Game" )
PORT_DIPSETTING( 0x0001, "FZ-2006 Game I" )
@ -7099,32 +7196,29 @@ static INPUT_PORTS_START( shinfz )
INPUT_PORTS_END
static INPUT_PORTS_START( tetrbx )
PORT_INCLUDE( system16b_generic )
PORT_INCLUDE( isgsm )
PORT_MODIFY("DSW2")
PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW2:8" )
//PORT_MODIFY("DSW2")
//"SW2:1" unused
//"SW2:2" unused
//"SW2:3" unused
//"SW2:4" unused
//"SW2:5" unused
//"SW2:6" unused
//"SW2:7" unused
//"SW2:8" unused
PORT_MODIFY("UNUSED")
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
//PORT_MODIFY("DSW1")
//"SW1:1" unused
//"SW1:2" unused
//"SW1:3" unused
//"SW1:4" unused
//"SW1:5" unused
//"SW1:6" unused
//"SW1:7" unused
//"SW1:8" unused
PORT_MODIFY("DSW1")
PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW1:1" )
PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW1:2" )
PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW1:3" )
PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:4" )
PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" )
PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" )
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW1:7" )
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" )
PORT_START("CARDDSW") // on the gamecard..
PORT_MODIFY("CARDDSW") // on the gamecard..
PORT_DIPNAME( 0x0003, 0x0000, "Game Type" )
PORT_DIPSETTING( 0x0000, "Tetris" )
PORT_DIPSETTING( 0x0001, "Tetris II (Blox)" )
@ -7258,10 +7352,12 @@ ROM_END
GAME( 2006, isgsm, 0, isgsm, isgsm, isgsm, ROT0, "ISG", "ISG Selection Master Type 2006 BIOS", GAME_IS_BIOS_ROOT )
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 2006, isgsm, 0, isgsm, isgsm, isgsm, ROT0, "ISG", "ISG Selection Master Type 2006 BIOS", GAME_IS_BIOS_ROOT )
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* 01 */ // ?? unknown
/* 02 */ GAME( 2006, tetrbx, isgsm, isgsm, tetrbx, tetrbx, ROT0, "ISG", "Tetris / Bloxeed (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 )
/* 03 */ GAME( 2008, shinfz, isgsm, isgsm, shinfz, shinfz, ROT0, "ISG", "Shinobi / FZ-2006 (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 ) // claims it's released in 2006, but set includes the PS2/S16 remake of Fantasy Zone II which is clearly from 2008
/* 02 */ GAME( 2006, tetrbx, isgsm, isgsm, tetrbx, tetrbx, ROT0, "ISG", "Tetris / Bloxeed (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 )
/* 03 */ GAME( 2008, shinfz, isgsm, isgsm, shinfz, shinfz, ROT0, "ISG", "Shinobi / FZ-2006 (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 ) // claims it's released in 2006, but set includes the PS2/S16 remake of Fantasy Zone II which is clearly from 2008

View File

@ -39,6 +39,7 @@
#include "sound/2612intf.h"
#include "sound/rf5c68.h"
#include "video/segaic16.h"
#include "includes/segaipt.h"
/*************************************
@ -697,66 +698,17 @@ static INPUT_PORTS_START( system18_generic )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("COINAGE")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin A too) or 1/1" )
SEGA_COINAGE_LOC(SW1)
PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
PORT_START("PORTH")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
@ -789,13 +741,13 @@ static INPUT_PORTS_START( astorm )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:3,4,5")
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4,5")
PORT_DIPSETTING( 0x04, DEF_STR( Easiest ) )
PORT_DIPSETTING( 0x08, DEF_STR( Easier ) )
PORT_DIPSETTING( 0x0c, DEF_STR( Easy ) )
@ -804,15 +756,11 @@ static INPUT_PORTS_START( astorm )
PORT_DIPSETTING( 0x14, DEF_STR( Harder ) )
PORT_DIPSETTING( 0x18, DEF_STR( Hardest ) )
PORT_DIPSETTING( 0x00, "Special" )
PORT_DIPNAME( 0x20, 0x20, "Coin Chutes" ) PORT_DIPLOCATION("SWB:6")
PORT_DIPNAME( 0x20, 0x20, "Coin Chutes" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x20, "3" )
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -821,13 +769,13 @@ static INPUT_PORTS_START( astorm2p )
PORT_INCLUDE( system18_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:3,4,5")
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4,5")
PORT_DIPSETTING( 0x04, DEF_STR( Easiest ) )
PORT_DIPSETTING( 0x08, DEF_STR( Easier ) )
PORT_DIPSETTING( 0x0c, DEF_STR( Easy ) )
@ -836,15 +784,11 @@ static INPUT_PORTS_START( astorm2p )
PORT_DIPSETTING( 0x14, DEF_STR( Harder ) )
PORT_DIPSETTING( 0x18, DEF_STR( Hardest ) )
PORT_DIPSETTING( 0x00, "Special" )
PORT_DIPNAME( 0x20, 0x20, "Coin Chutes" ) PORT_DIPLOCATION("SWB:6")
PORT_DIPNAME( 0x20, 0x20, "Coin Chutes" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x20, "2" )
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
@ -856,23 +800,24 @@ static INPUT_PORTS_START( bloxeed )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x03, 0x03, "Price Type" ) PORT_DIPLOCATION("SWB:1,2") /* Normal game | VS Mode */
PORT_DIPNAME( 0x03, 0x03, "Price Type" ) PORT_DIPLOCATION("SW2:1,2") /* Normal game | VS Mode */
PORT_DIPSETTING( 0x03, "A" ) /* 1 Start / 1 Continue | 2 Start / 1 Continue */
PORT_DIPSETTING( 0x02, "B" ) /* 1 Start / 1 Continue | 1 Start / 1 Continue */
PORT_DIPSETTING( 0x01, "C" ) /* 2 Start / 1 Continue | 4 Start / 2 Continue */
PORT_DIPSETTING( 0x00, "D" ) /* 2 Start / 1 Continue | 2 Start / 2 Continue */
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:4")
//"SW2:3" unused
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x80, 0x00, "High Speed Mode" ) PORT_DIPLOCATION("SWB:8")
//"SW2:7" unused
PORT_DIPNAME( 0x80, 0x00, "High Speed Mode" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
/* Switches 3 & 7 are listed as "NOT USED" */
INPUT_PORTS_END
@ -880,23 +825,23 @@ static INPUT_PORTS_START( cltchitr )
PORT_INCLUDE( system18_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, "Game Time P1" ) PORT_DIPLOCATION("SWB:3,4")
PORT_DIPNAME( 0x0c, 0x0c, "Game Time P1" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x04, "2 Credits 18 Outcounts 14 Min." )
PORT_DIPSETTING( 0x00, "1 Credit 6 Outcounts 7 Min." )
PORT_DIPSETTING( 0x08, "1 Credit 12 Outcounts 12 Min." )
PORT_DIPSETTING( 0x0c, "1Credit 6 Outcounts 8M./2Credits 18 Outcounts 14M." )
PORT_DIPNAME( 0x30, 0x30, "Game Time P2" ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, "Game Time P2" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x10, "4 Credits 18 Outcounts 16 Min." )
PORT_DIPSETTING( 0x00, "2 Credits 6 Outcounts 8 Min." )
PORT_DIPSETTING( 0x20, "2 Credits 12 Outcounts 14 Min." )
PORT_DIPSETTING( 0x30, "2Credits 6 Outcounts 8M./4Credits 18 Outcounts 16M." )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x40, DEF_STR( Easiest ) )
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
@ -908,24 +853,24 @@ static INPUT_PORTS_START( ddcrew )
PORT_INCLUDE( system18_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Credits needed" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "Credits needed" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1 to start, 1 to continue" )
PORT_DIPSETTING( 0x00, "2 to start, 1 to continue" )
PORT_DIPNAME( 0x02, 0x02, "Switch to Start" ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x02, "Switch to Start" ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, "Start" )
PORT_DIPSETTING( 0x00, "Attack" )
PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SWB:3")
PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, "Common" )
PORT_DIPSETTING( 0x00, "Individual" )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x30, 0x30, "Player Start/Continue" ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, "Player Start/Continue" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x30, "3/3" )
PORT_DIPSETTING( 0x20, "2/3" )
PORT_DIPSETTING( 0x10, "2/2" )
PORT_DIPSETTING( 0x00, "3/4" )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
@ -964,24 +909,24 @@ static INPUT_PORTS_START( ddcrew2p )
PORT_INCLUDE( system18_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Credits needed" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "Credits needed" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1 to start, 1 to continue" )
PORT_DIPSETTING( 0x00, "2 to start, 1 to continue" )
PORT_DIPNAME( 0x02, 0x02, "Switch to Start" ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x02, "Switch to Start" ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, "Start" )
PORT_DIPSETTING( 0x00, "Attack" )
PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SWB:3")
PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, "Common" )
PORT_DIPSETTING( 0x00, "Individual" )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x30, 0x30, "Player Start/Continue" ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, "Player Start/Continue" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x30, "3/3" )
PORT_DIPSETTING( 0x20, "2/3" )
PORT_DIPSETTING( 0x10, "2/2" )
PORT_DIPSETTING( 0x00, "3/4" )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
@ -1014,25 +959,23 @@ static INPUT_PORTS_START( desertbr )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3) // individual mode
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "Play Mode" ) PORT_DIPLOCATION("SWB:4")
//"SW2:3" unused
PORT_DIPNAME( 0x08, 0x08, "Play Mode" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x00, "2 players" )
PORT_DIPSETTING( 0x08, "3 players" )
PORT_DIPNAME( 0x10, 0x10, "Coin Chute" ) PORT_DIPLOCATION("SWB:5")
PORT_DIPNAME( 0x10, 0x10, "Coin Chute" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x10, "Common" )
PORT_DIPSETTING( 0x00, "Individual" )
PORT_DIPNAME( 0x20, 0x20, "Start Button" ) PORT_DIPLOCATION("SWB:6")
PORT_DIPNAME( 0x20, 0x20, "Start Button" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x20, "Use" )
PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
@ -1070,13 +1013,13 @@ static INPUT_PORTS_START( lghost )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:3,4,5")
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4,5")
PORT_DIPSETTING( 0x0c, DEF_STR( Easiest ) )
PORT_DIPSETTING( 0x14, DEF_STR( Easier ) )
PORT_DIPSETTING( 0x18, DEF_STR( Easy ) )
@ -1085,15 +1028,13 @@ static INPUT_PORTS_START( lghost )
PORT_DIPSETTING( 0x04, DEF_STR( Harder ) )
PORT_DIPSETTING( 0x08, DEF_STR( Hardest ) )
PORT_DIPSETTING( 0x00, "Extra Hardest" )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:6")
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x20, DEF_STR( Yes ) )
PORT_DIPNAME( 0x40, 0x40, "Coin Chute" ) PORT_DIPLOCATION("SWB:7")
PORT_DIPNAME( 0x40, 0x40, "Coin Chute" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x00, "Common" )
PORT_DIPSETTING( 0x40, "Individual" )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:8" unused
PORT_START("GUNX1")
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(5)
@ -1139,25 +1080,25 @@ static INPUT_PORTS_START( mwalk )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) // individual mode
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, "2" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPNAME( 0x08, 0x00, "Player Vitality" ) PORT_DIPLOCATION("SWB:4")
PORT_DIPNAME( 0x08, 0x00, "Player Vitality" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Low ) )
PORT_DIPSETTING( 0x00, DEF_STR( High ) )
PORT_DIPNAME( 0x10, 0x00, "Play Mode" ) PORT_DIPLOCATION("SWB:5")
PORT_DIPNAME( 0x10, 0x00, "Play Mode" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x10, "2 Players" )
PORT_DIPSETTING( 0x00, "3 Players" )
PORT_DIPNAME( 0x20, 0x00, "Coin Chute" ) PORT_DIPLOCATION("SWB:6")
PORT_DIPNAME( 0x20, 0x00, "Coin Chute" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x20, "Common" )
PORT_DIPSETTING( 0x00, "Individual" )
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
@ -1168,12 +1109,18 @@ static INPUT_PORTS_START( mwalka )
PORT_INCLUDE( mwalk )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x10, 0x10, "Play Mode" )
//"SW2:1" not divert from "mwalk"
//"SW2:2" not divert from "mwalk"
//"SW2:3" not divert from "mwalk"
//"SW2:4" not divert from "mwalk"
PORT_DIPNAME( 0x10, 0x10, "Play Mode" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x00, "2 Players" )
PORT_DIPSETTING( 0x10, "3 Players" )
PORT_DIPNAME( 0x20, 0x20, "Coin Chute" )
PORT_DIPNAME( 0x20, 0x20, "Coin Chute" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x00, "Common" )
PORT_DIPSETTING( 0x20, "Individual" )
//"SW2:7" not divert from "mwalk"
//"SW2:8" not divert from "mwalk"
INPUT_PORTS_END
@ -1181,23 +1128,23 @@ static INPUT_PORTS_START( shdancer )
PORT_INCLUDE( system18_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:3,4")
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0xc0, 0xc0, "Time Adjust" ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, "Time Adjust" ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x00, "2.20" )
PORT_DIPSETTING( 0x40, "2.40" )
PORT_DIPSETTING( 0xc0, "3.00" )
@ -1209,20 +1156,23 @@ static INPUT_PORTS_START( wwally )
PORT_INCLUDE( system18_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SWB:3")
PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, "Common" )
PORT_DIPSETTING( 0x00, "Individual" )
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:6,7")
//"SW2:4" unused
//"SW2:5" unused
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x60, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
//"SW2:8" unused
PORT_START("TRACKX1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_REVERSE
@ -1737,6 +1687,7 @@ ROM_END
D.D. Crew, Sega System 18
CPU: FD1094 (317-0182 for 2P version, 317-0185 for 4P version, 317-0188 for 3P version)
ROM Board: 171-5987A
(4th Player on Sega System 18,24) I/O Board: 837-7968
*/
ROM_START( ddcrewj )
ROM_REGION( 0x300000, "maincpu", 0 ) /* 68000 code */
@ -2307,28 +2258,29 @@ static DRIVER_INIT( wwally )
*
*************************************/
GAME( 1990, astorm, 0, system18, astorm2p, generic_5874, ROT0, "Sega", "Alien Storm (World, 2 Players, FD1094 317-0154)", 0 )
GAME( 1990, astorm3, astorm, system18, astorm, generic_5874, ROT0, "Sega", "Alien Storm (World, 3 Players, FD1094 317-0148)", 0 )
GAME( 1990, astormu, astorm, system18, astorm, generic_5874, ROT0, "Sega", "Alien Storm (US, 3 Players, FD1094 317-0147)", 0 )
GAME( 1990, astormj, astorm, system18, astorm2p, generic_5874, ROT0, "Sega", "Alien Storm (Japan, 2 Players, FD1094 317-0146)", 0 )
GAME( 1989, bloxeed, 0, system18, bloxeed, generic_5874, ROT0, "Sega", "Bloxeed (Japan, FD1094 317-0139)", 0 )
GAME( 1991, cltchitr, 0, system18, cltchitr, generic_5987, ROT0, "Sega", "Clutch Hitter (US, FD1094 317-0176)", 0 )
GAME( 1991, cltchitrj,cltchitr, system18, cltchitr, generic_5987, ROT0, "Sega", "Clutch Hitter (Japan, FD1094 317-0175)", 0 )
GAME( 1992, desertbr, 0, system18, desertbr, generic_5987, ROT270, "Sega", "Desert Breaker (World, FD1094 317-0196)", 0 )
GAME( 1992, desertbrj,desertbr, system18, desertbr, generic_5987, ROT270, "Sega", "Desert Breaker (Japan, FD1094 317-0194)", 0 )
GAME( 1991, ddcrew, 0, system18, ddcrew, ddcrew, ROT0, "Sega", "D. D. Crew (World, 3 Player, FD1094 317-0190)", 0 )
GAME( 1991, ddcrewu, ddcrew, system18, ddcrew, ddcrew, ROT0, "Sega", "D. D. Crew (US, 4 Player, FD1094 317-0186)", 0 )
GAME( 1991, ddcrew2, ddcrew, system18, ddcrew2p, ddcrew, ROT0, "Sega", "D. D. Crew (World, 2 Player, FD1094 317-0184)", 0 )
GAME( 1991, ddcrew1, ddcrew, system18, ddcrew, ddcrew, ROT0, "Sega", "D. D. Crew (World, 4 Player, FD1094 317-0187)", 0 )
GAME( 1991, ddcrewj, ddcrew, system18, ddcrew2p, ddcrew, ROT0, "Sega", "D. D. Crew (Japan, 2 Player, FD1094 317-0182)", 0 )
GAME( 1990, lghost, 0, system18, lghost, lghost, ROT0, "Sega", "Laser Ghost (World, 317-0166)", 0 )
GAME( 1990, lghostu, lghost, system18, lghost, lghost, ROT0, "Sega", "Laser Ghost (US, 317-0165)", 0 )
GAME( 1990, mwalk, 0, system18_8751, mwalk, generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (World, FD1094/8751 317-0159)", 0 )
GAME( 1990, mwalku, mwalk, system18_8751, mwalka, generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (US, FD1094/8751 317-0158)", 0 )
GAME( 1990, mwalkj, mwalk, system18_8751, mwalk, generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (Japan, FD1094/8751 317-0157)", 0 )
GAME( 1989, pontoon, 0, system18, shdancer, generic_5874, ROT0, "Sega", "Pontoon", GAME_NOT_WORKING )
GAME( 1989, shdancer, 0, system18, shdancer, generic_shad, ROT0, "Sega", "Shadow Dancer (World)" , 0 )
GAME( 1989, shdancerj,shdancer, system18, shdancer, generic_shad, ROT0, "Sega", "Shadow Dancer (Japan)", 0 )
GAME( 1989, shdancer1,shdancer, system18, shdancer, generic_shad, ROT0, "Sega", "Shadow Dancer (US)", 0 )
GAME( 1992, wwallyj, 0, system18, wwally, wwally, ROT0, "Sega", "Wally wo Sagase! (rev B, Japan, FD1094 317-0197B)" , 0) /* the roms do contain an english logo so maybe there is a world / us set too */
GAME( 1992, wwallyja, wwallyj, system18, wwally, wwally, ROT0, "Sega", "Wally wo Sagase! (rev A, Japan, FD1094 317-0197A)", 0 )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1990, astorm, 0, system18, astorm2p, generic_5874, ROT0, "Sega", "Alien Storm (World, 2 Players, FD1094 317-0154)", 0 )
GAME( 1990, astorm3, astorm, system18, astorm, generic_5874, ROT0, "Sega", "Alien Storm (World, 3 Players, FD1094 317-0148)", 0 )
GAME( 1990, astormu, astorm, system18, astorm, generic_5874, ROT0, "Sega", "Alien Storm (US, 3 Players, FD1094 317-0147)", 0 )
GAME( 1990, astormj, astorm, system18, astorm2p, generic_5874, ROT0, "Sega", "Alien Storm (Japan, 2 Players, FD1094 317-0146)", 0 )
GAME( 1989, bloxeed, 0, system18, bloxeed, generic_5874, ROT0, "Sega", "Bloxeed (Japan, FD1094 317-0139)", 0 )
GAME( 1991, cltchitr, 0, system18, cltchitr, generic_5987, ROT0, "Sega", "Clutch Hitter (US, FD1094 317-0176)", 0 )
GAME( 1991, cltchitrj, cltchitr, system18, cltchitr, generic_5987, ROT0, "Sega", "Clutch Hitter (Japan, FD1094 317-0175)", 0 )
GAME( 1992, desertbr, 0, system18, desertbr, generic_5987, ROT270, "Sega", "Desert Breaker (World, FD1094 317-0196)", 0 )
GAME( 1992, desertbrj, desertbr, system18, desertbr, generic_5987, ROT270, "Sega", "Desert Breaker (Japan, FD1094 317-0194)", 0 )
GAME( 1991, ddcrew, 0, system18, ddcrew, ddcrew, ROT0, "Sega", "D. D. Crew (World, 3 Players, FD1094 317-0190)", 0 )
GAME( 1991, ddcrewu, ddcrew, system18, ddcrew, ddcrew, ROT0, "Sega", "D. D. Crew (US, 4 Players, FD1094 317-0186)", 0 )
GAME( 1991, ddcrew2, ddcrew, system18, ddcrew2p, ddcrew, ROT0, "Sega", "D. D. Crew (World, 2 Players, FD1094 317-0184)", 0 )
GAME( 1991, ddcrew1, ddcrew, system18, ddcrew, ddcrew, ROT0, "Sega", "D. D. Crew (World, 4 Players, FD1094 317-0187)", 0 )
GAME( 1991, ddcrewj, ddcrew, system18, ddcrew2p, ddcrew, ROT0, "Sega", "D. D. Crew (Japan, 2 Players, FD1094 317-0182)", 0 )
GAME( 1990, lghost, 0, system18, lghost, lghost, ROT0, "Sega", "Laser Ghost (World, 317-0166)", 0 )
GAME( 1990, lghostu, lghost, system18, lghost, lghost, ROT0, "Sega", "Laser Ghost (US, 317-0165)", 0 )
GAME( 1990, mwalk, 0, system18_8751, mwalk, generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (World, FD1094/8751 317-0159)", 0 )
GAME( 1990, mwalku, mwalk, system18_8751, mwalka, generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (US, FD1094/8751 317-0158)", 0 )
GAME( 1990, mwalkj, mwalk, system18_8751, mwalk, generic_5874, ROT0, "Sega", "Michael Jackson's Moonwalker (Japan, FD1094/8751 317-0157)", 0 )
GAME( 1989, pontoon, 0, system18, shdancer, generic_5874, ROT0, "Sega", "Pontoon", GAME_NOT_WORKING )
GAME( 1989, shdancer, 0, system18, shdancer, generic_shad, ROT0, "Sega", "Shadow Dancer (World)", 0 )
GAME( 1989, shdancerj, shdancer, system18, shdancer, generic_shad, ROT0, "Sega", "Shadow Dancer (Japan)", 0 )
GAME( 1989, shdancer1, shdancer, system18, shdancer, generic_shad, ROT0, "Sega", "Shadow Dancer (US)", 0 )
GAME( 1992, wwallyj, 0, system18, wwally, wwally, ROT0, "Sega", "Wally wo Sagase! (rev B, Japan, FD1094 317-0197B)", 0) /* the roms do contain an english logo so maybe there is a world / us set too */
GAME( 1992, wwallyja, wwallyj, system18, wwally, wwally, ROT0, "Sega", "Wally wo Sagase! (rev A, Japan, FD1094 317-0197A)", 0 )

View File

@ -341,6 +341,7 @@ Notes:
#include "machine/nvram.h"
#include "video/segaic24.h"
#include "includes/segas24.h"
#include "includes/segaipt.h"
#define MASTER_CLOCK XTAL_20MHz
#define VIDEO_CLOCK XTAL_32MHz
@ -1278,66 +1279,17 @@ INPUT_PORTS_END
static INPUT_PORTS_START( system24_DSW )
PORT_START("COINAGE")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin A too) or 1/1" )
SEGA_COINAGE_LOC(SW1)
PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
INPUT_PORTS_END
static INPUT_PORTS_START( system24_generic )
@ -1376,13 +1328,18 @@ static INPUT_PORTS_START( hotrod )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x20, 0x20, "Start Credit" ) PORT_DIPLOCATION("SWB:6")
//"SW2:1" unused
//"SW2:2" unused
//"SW2:3" unused
//"SW2:4" unused
//"SW2:5" unused
PORT_DIPNAME( 0x20, 0x20, "Start Credit" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x20, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x40, 0x40, "Coin Chute" ) PORT_DIPLOCATION("SWB:7")
PORT_DIPNAME( 0x40, 0x40, "Coin Chute" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, "Separate" )
PORT_DIPSETTING( 0x00, "Common" )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -1415,42 +1372,46 @@ static INPUT_PORTS_START( hotrodj )
PORT_INCLUDE( hotrod )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x04, 0x04, "Start Credit" ) PORT_DIPLOCATION("SWB:3")
//"SW2:1" unused
//"SW2:2" unused
PORT_DIPNAME( 0x04, 0x04, "Start Credit" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x08, 0x08, "Play Mode" ) PORT_DIPLOCATION("SWB:4")
PORT_DIPNAME( 0x08, 0x08, "Play Mode" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, "4 Player" )
PORT_DIPSETTING( 0x00, "2 Player" )
PORT_DIPNAME( 0x10, 0x10, "Game Style" ) PORT_DIPLOCATION("SWB:5")
PORT_DIPNAME( 0x10, 0x10, "Game Style" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x10, "4 Sides" )
PORT_DIPSETTING( 0x00, "2 Sides" )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Language ) ) PORT_DIPLOCATION("SWB:6")
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Language ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x20, DEF_STR( Japanese ) )
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
//"SW2:7" not divert from "hotrod"
//"SW2:8" not divert from "hotrod"
INPUT_PORTS_END
static INPUT_PORTS_START( bnzabros )
PORT_INCLUDE( system24_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "Start Credit" ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x02, "Start Credit" ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SWB:3")
PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, "Common" )
PORT_DIPSETTING( 0x00, "Individual" )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x40, "2" )
PORT_DIPSETTING( 0xc0, "3" )
@ -1461,10 +1422,16 @@ static INPUT_PORTS_START( crkdown )
PORT_INCLUDE( system24_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x40, 0x40, "Coin Chute" ) PORT_DIPLOCATION("SWB:7")
PORT_DIPSETTING( 0x40, "Common" )
PORT_DIPSETTING( 0x00, "Separate" )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:8")
//"SW2:1" unused
//"SW2:2" unused
//"SW2:3" unused
//"SW2:4" unused
//"SW2:5" unused
//"SW2:6" unused
PORT_DIPNAME( 0x40, 0x40, "Coin Chute" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, "Common" ) // Japanese manual says "Single"
PORT_DIPSETTING( 0x00, "Separate" ) // Japanese manual says "Twin"
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
@ -1473,27 +1440,27 @@ static INPUT_PORTS_START( roughrac )
PORT_INCLUDE( system24_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Start Credit" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "Start Credit" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "Game Instruction" ) PORT_DIPLOCATION("SWB:4")
PORT_DIPNAME( 0x08, 0x08, "Game Instruction" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x40, 0x40, "Start Money" ) PORT_DIPLOCATION("SWB:7")
PORT_DIPNAME( 0x40, 0x40, "Start Money" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, "15000" )
PORT_DIPSETTING( 0x00, "20000" )
PORT_DIPNAME( 0x80, 0x80, "Start Intro" ) PORT_DIPLOCATION("SWB:8")
PORT_DIPNAME( 0x80, 0x80, "Start Intro" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, "10" )
PORT_DIPSETTING( 0x00, "15" )
@ -1508,23 +1475,23 @@ static INPUT_PORTS_START( sspirits )
PORT_INCLUDE( system24_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:3,4")
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, "500K" )
PORT_DIPSETTING( 0x30, "600K" )
PORT_DIPSETTING( 0x10, "800K" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
@ -1535,43 +1502,46 @@ static INPUT_PORTS_START( qgh )
PORT_INCLUDE( system24_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:3,4")
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x10, "3" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x20, "4" )
PORT_DIPSETTING( 0x30, "5" )
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
static INPUT_PORTS_START( qsww )
PORT_INCLUDE( system24_generic )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Start Credit" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "Start Credit" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
//"SW2:4" unused
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x10, "2" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x30, "4" )
PORT_DIPSETTING( 0x20, "5" )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
@ -1588,25 +1558,25 @@ static INPUT_PORTS_START( dcclub ) /* In the Japan set missing angle input */
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Start Credit" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "Start Credit" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "Timing Meter" ) PORT_DIPLOCATION("SWB:4")
PORT_DIPNAME( 0x08, 0x08, "Timing Meter" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
PORT_DIPNAME( 0x10, 0x10, "Initial Balls" ) PORT_DIPLOCATION("SWB:5")
PORT_DIPNAME( 0x10, 0x10, "Initial Balls" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x10, "2" )
PORT_DIPNAME( 0x20, 0x20, "Balls Limit" ) PORT_DIPLOCATION("SWB:6")
PORT_DIPNAME( 0x20, 0x20, "Balls Limit" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x20, "4" )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
@ -1631,36 +1601,42 @@ static INPUT_PORTS_START( sgmast )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, "Start Credit" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x01, "Start Credit" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "Gameplay" ) PORT_DIPLOCATION("SWB:4")
PORT_DIPNAME( 0x08, 0x08, "Gameplay" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, "1 Hole 1 Credit" )
PORT_DIPSETTING( 0x00, "Lose Ball Game Over" )
PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:6,7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easiest ) )
PORT_DIPSETTING( 0xa0, DEF_STR( Easier ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xe0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x60, "Little Hard" )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x20, DEF_STR( Harder ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
//"SW2:5" unused
PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7,8") // MeterWidth WindVelocity MeterSpeed
PORT_DIPSETTING( 0x80, DEF_STR( Easiest ) ) // 64% 30% 50%
PORT_DIPSETTING( 0xa0, DEF_STR( Easier ) ) // 64% 50% 75%
PORT_DIPSETTING( 0xc0, DEF_STR( Easy ) ) // 100% 75% 75%
PORT_DIPSETTING( 0xe0, DEF_STR( Normal ) ) // 100% 100% 100%
PORT_DIPSETTING( 0x60, "Little Hard" ) // 118% 75% 100%
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) // 118% 100% 100%
PORT_DIPSETTING( 0x20, DEF_STR( Harder ) ) // 136% 75% 100%
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) // 136% 100% 100%
INPUT_PORTS_END
static INPUT_PORTS_START( sgmastj )
PORT_INCLUDE( sgmast )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
//"SW2:1" not divert from "sgmast"
//"SW2:2" not divert from "sgmast"
//"SW2:3" not divert from "sgmast"
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
//"SW2:5" unused
//"SW2:6" not divert from "sgmast"
//"SW2:7" not divert from "sgmast"
//"SW2:8" not divert from "sgmast"
PORT_START("DIAL1")
PORT_BIT( 0xfff, 0x000, IPT_DIAL ) PORT_MINMAX(0x000,0xfff) PORT_SENSITIVITY(25) PORT_KEYDELTA(15) PORT_PLAYER(2)
@ -1693,24 +1669,24 @@ static INPUT_PORTS_START( quizmeku )
PORT_INCLUDE( system24_DSW )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, "Play Mode" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x00, "Play Mode" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "2 Player" )
PORT_DIPSETTING( 0x00, "4 Player" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:3,4")
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x08, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x04, "4" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x10, 0x10, "Answer Counts" ) PORT_DIPLOCATION("SWB:5")
PORT_DIPNAME( 0x10, 0x10, "Answer Counts" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x10, "Every" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:6")
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) 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("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
@ -1759,24 +1735,22 @@ static INPUT_PORTS_START( qrouka )
PORT_INCLUDE( system24_DSW )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, "Play Mode" ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x00, "Play Mode" ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, "2 Player" )
PORT_DIPSETTING( 0x00, "4 Player" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "Coin Chute" ) PORT_DIPLOCATION("SWB:4")
//"SW2:3" unused
PORT_DIPNAME( 0x08, 0x08, "Coin Chute" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, "Common" )
PORT_DIPSETTING( 0x00, "Separate" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x10, "2" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x30, "4" )
PORT_DIPSETTING( 0x20, "5" )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
@ -1832,22 +1806,24 @@ static INPUT_PORTS_START( mahmajn )
PORT_INCLUDE( system24_DSW )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "Start Score" ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x02, "Start Score" ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x00, "2000" )
PORT_DIPSETTING( 0x02, "3000" )
PORT_DIPNAME( 0x0c, 0x0c, "Difficulty (computer)" ) PORT_DIPLOCATION("SWB:3,4")
PORT_DIPNAME( 0x0c, 0x0c, "Difficulty (computer)" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x30, 0x30, "Difficulty (player)" ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPNAME( 0x30, 0x30, "Difficulty (player)" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
//"SW2:7" unused
//"SW2:8" unused
INPUT_PORTS_END
static INPUT_PORTS_START( gground )
@ -1867,13 +1843,16 @@ static INPUT_PORTS_START( gground )
PORT_INCLUDE( system24_DSW )
PORT_MODIFY("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:1")
// Here is known problem.
// Service mode works as I hoped.
// But game mode doesn't. It works as all dipswitches are On.
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:3,4,5")
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4,5")
PORT_DIPSETTING( 0x00, DEF_STR( Easiest ) )
PORT_DIPSETTING( 0x10, DEF_STR( Easier ) )
PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
@ -1882,12 +1861,12 @@ static INPUT_PORTS_START( gground )
PORT_DIPSETTING( 0x0c, "Little Hard" )
PORT_DIPSETTING( 0x14, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x04, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x60, 0x60, "Time Limit Per Stage" ) PORT_DIPLOCATION("SWB:6,7")
PORT_DIPNAME( 0x60, 0x60, "Time Limit Per Stage" ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x20, DEF_STR( Easiest ) )
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x60, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
PORT_DIPNAME( 0x80, 0x80, "Clock Of Time Limit" ) PORT_DIPLOCATION("SWB:8")
PORT_DIPNAME( 0x80, 0x80, "Clock Of Time Limit" ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, "1.00 sec" )
PORT_DIPSETTING( 0x00, "0.80 sec" )
INPUT_PORTS_END
@ -2481,27 +2460,29 @@ static DRIVER_INIT( roughrac )
*
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* Disk Based Games */
/* 01 */GAME( 1988, hotrod, 0, system24_floppy, hotrod, hotrod, ROT0, "Sega", "Hot Rod (World, 3 Players, Turbo set 1, Floppy Based)", 0 )
/* 01 */GAME( 1988, hotroda, hotrod, system24_floppy, hotrod, hotrod, ROT0, "Sega", "Hot Rod (World, 3 Players, Turbo set 2, Floppy Based)", 0 )
/* 01 */GAME( 1988, hotrodj, hotrod, system24_floppy, hotrodj, hotrod, ROT0, "Sega", "Hot Rod (Japan, 4 Players, Floppy Based)", 0 )
/* 02 */GAME( 1988, sspirits, 0, system24_floppy, sspirits, sspirits, ROT270, "Sega", "Scramble Spirits (World, Floppy Based)", 0 )
/* 02 */GAME( 1988, sspiritj, sspirits, system24_floppy, sspirits, sspiritj, ROT270, "Sega", "Scramble Spirits (Japan, Floppy DS3-5000-02-REV-A Based)", 0 )
/* 02 */GAME( 1988, sspirtfc, sspirits, system24_floppy, sspirits, sspirits, ROT270, "Sega", "Scramble Spirits (World, Floppy Based, FD1094 317-0058-02c)",GAME_NOT_WORKING ) /* MISSING disk image */
/* 03 */GAME( 1988, gground, 0, system24_floppy, gground, gground, ROT270, "Sega", "Gain Ground (World, 3 Players, Floppy Based, FD1094 317-0058-03d Rev A)", 0 )
/* 03 */GAME( 1988, ggroundj, gground, system24_floppy, gground, gground, ROT270, "Sega", "Gain Ground (Japan, 2 Players, Floppy Based, FD1094 317-0058-03b)", 0 )
/* 04 */GAME( 1989, crkdown, 0, system24_floppy, crkdown, crkdown, ROT0, "Sega", "Crack Down (World, Floppy Based, FD1094 317-0058-04c)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
/* 04 */GAME( 1989, crkdownu, crkdown, system24_floppy, crkdown, crkdown, ROT0, "Sega", "Crack Down (US, Floppy Based, FD1094 317-0058-04d)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
/* 04 */GAME( 1989, crkdownj, crkdown, system24_floppy, crkdown, crkdown, ROT0, "Sega", "Crack Down (Japan, Floppy Based, FD1094 317-0058-04b Rev A)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
/* 05 */GAME( 1989, sgmast, 0, system24_floppy, sgmast, sgmast, ROT0, "Sega", "Super Masters Golf (World?, Floppy Based, FD1094 317-0058-05d?)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION ) // NOT decrypted
/* 05 */GAME( 1989, sgmastc, sgmast, system24_floppy, sgmast, sgmast, ROT0, "Sega", "Jumbo Ozaki Super Masters Golf (World, Floppy Based, FD1094 317-0058-05c)", GAME_IMPERFECT_GRAPHICS ) // some gfx offset / colour probs?
/* 05 */GAME( 1989, sgmastj, sgmast, system24_floppy, sgmastj, sgmast, ROT0, "Sega", "Jumbo Ozaki Super Masters Golf (Japan, Floppy Based, FD1094 317-0058-05b)", GAME_IMPERFECT_GRAPHICS ) // some gfx offset / colour probs?
/* 06 */GAME( 1990, roughrac, 0, system24_floppy, roughrac, roughrac, ROT0, "Sega", "Rough Racer (Japan, Floppy Based, FD1094 317-0058-06b)", 0 )
/* 07 */GAME( 1990, bnzabros, 0, system24_floppy, bnzabros, bnzabros, ROT0, "Sega", "Bonanza Bros (US, Floppy DS3-5000-07d? Based)", 0 )
/* 07 */GAME( 1990, bnzabrosj,bnzabros, system24_floppy, bnzabros, bnzabros, ROT0, "Sega", "Bonanza Bros (Japan, Floppy DS3-5000-07b Based)", 0 )
/* 08 */GAME( 1991, qsww, 0, system24_floppy, qsww, qsww, ROT0, "Sega", "Quiz Syukudai wo Wasuremashita (Japan, Floppy Based, FD1094 317-0058-08b)", GAME_IMPERFECT_GRAPHICS ) // wrong bg colour on title
/* 09 */GAME( 1991, dcclubfd, dcclub, system24_floppy, dcclub, dcclubfd, ROT0, "Sega", "Dynamic Country Club (US, Floppy Based, FD1094 317-0058-09d)", 0 )
/* 01 */GAME( 1988, hotrod, 0, system24_floppy, hotrod, hotrod, ROT0, "Sega", "Hot Rod (World, 3 Players, Turbo set 1, Floppy Based)", 0 )
/* 01 */GAME( 1988, hotroda, hotrod, system24_floppy, hotrod, hotrod, ROT0, "Sega", "Hot Rod (World, 3 Players, Turbo set 2, Floppy Based)", 0 )
/* 01 */GAME( 1988, hotrodj, hotrod, system24_floppy, hotrodj, hotrod, ROT0, "Sega", "Hot Rod (Japan, 4 Players, Floppy Based)", 0 )
/* 02 */GAME( 1988, sspirits, 0, system24_floppy, sspirits, sspirits, ROT270, "Sega", "Scramble Spirits (World, Floppy Based)", 0 )
/* 02 */GAME( 1988, sspiritj, sspirits, system24_floppy, sspirits, sspiritj, ROT270, "Sega", "Scramble Spirits (Japan, Floppy DS3-5000-02-REV-A Based)", 0 )
/* 02 */GAME( 1988, sspirtfc, sspirits, system24_floppy, sspirits, sspirits, ROT270, "Sega", "Scramble Spirits (World, Floppy Based, FD1094 317-0058-02c)", GAME_NOT_WORKING ) /* MISSING disk image */
/* 03 */GAME( 1988, gground, 0, system24_floppy, gground, gground, ROT270, "Sega", "Gain Ground (World, 3 Players, Floppy Based, FD1094 317-0058-03d Rev A)", 0 )
/* 03 */GAME( 1988, ggroundj, gground, system24_floppy, gground, gground, ROT270, "Sega", "Gain Ground (Japan, 2 Players, Floppy Based, FD1094 317-0058-03b)", 0 )
/* 04 */GAME( 1989, crkdown, 0, system24_floppy, crkdown, crkdown, ROT0, "Sega", "Crack Down (World, Floppy Based, FD1094 317-0058-04c)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
/* 04 */GAME( 1989, crkdownu, crkdown, system24_floppy, crkdown, crkdown, ROT0, "Sega", "Crack Down (US, Floppy Based, FD1094 317-0058-04d)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
/* 04 */GAME( 1989, crkdownj, crkdown, system24_floppy, crkdown, crkdown, ROT0, "Sega", "Crack Down (Japan, Floppy Based, FD1094 317-0058-04b Rev A)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
/* 05 */GAME( 1989, sgmast, 0, system24_floppy, sgmast, sgmast, ROT0, "Sega", "Super Masters Golf (World?, Floppy Based, FD1094 317-0058-05d?)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION ) // NOT decrypted
/* 05 */GAME( 1989, sgmastc, sgmast, system24_floppy, sgmast, sgmast, ROT0, "Sega", "Jumbo Ozaki Super Masters Golf (World, Floppy Based, FD1094 317-0058-05c)", GAME_IMPERFECT_GRAPHICS ) // some gfx offset / colour probs?
/* 05 */GAME( 1989, sgmastj, sgmast, system24_floppy, sgmastj, sgmast, ROT0, "Sega", "Jumbo Ozaki Super Masters Golf (Japan, Floppy Based, FD1094 317-0058-05b)", GAME_IMPERFECT_GRAPHICS ) // some gfx offset / colour probs?
/* 06 */GAME( 1990, roughrac, 0, system24_floppy, roughrac, roughrac, ROT0, "Sega", "Rough Racer (Japan, Floppy Based, FD1094 317-0058-06b)", 0 )
/* 07 */GAME( 1990, bnzabros, 0, system24_floppy, bnzabros, bnzabros, ROT0, "Sega", "Bonanza Bros (US, Floppy DS3-5000-07d? Based)", 0 )
/* 07 */GAME( 1990, bnzabrosj, bnzabros, system24_floppy, bnzabros, bnzabros, ROT0, "Sega", "Bonanza Bros (Japan, Floppy DS3-5000-07b Based)", 0 )
/* 08 */GAME( 1991, qsww, 0, system24_floppy, qsww, qsww, ROT0, "Sega", "Quiz Syukudai wo Wasuremashita (Japan, Floppy Based, FD1094 317-0058-08b)", GAME_IMPERFECT_GRAPHICS ) // wrong bg colour on title
/* 09 */GAME( 1991, dcclubfd, dcclub, system24_floppy, dcclub, dcclubfd, ROT0, "Sega", "Dynamic Country Club (US, Floppy Based, FD1094 317-0058-09d)", 0 )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* ROM Based */
GAME( 1991, dcclub, 0, system24, dcclub, dcclub, ROT0, "Sega", "Dynamic Country Club (World, ROM Based)", 0 )
GAME( 1991, dcclubj, dcclub, system24, dcclub, dcclub, ROT0, "Sega", "Dynamic Country Club (Japan, ROM Based)", 0 )

View File

@ -214,7 +214,7 @@ Sticker: 834-7112
| 315-5337 |
| |
| 16MHz 6264 |
| epr-12587.14 |
| epr-12587.14 |
| MB89372P-SH Z80E MB8421 |
|---------------------------------------|
Notes:
@ -223,7 +223,7 @@ Notes:
6264 : 8k x8 SRAM
MB8421 : Fujitsu 2k x8 Dual-Port SRAM (SDIP52)
MB89372 : ?, Manufactured by Fujitsu, SDIP64
epr-12587 : 27C256 EPROM
epr-12587: 27C256 EPROM
***************************************************************************/
@ -237,6 +237,7 @@ Notes:
#include "sound/2151intf.h"
#include "sound/segapcm.h"
#include "video/segaic16.h"
#include "includes/segaipt.h"
#define MASTER_CLOCK 50000000
@ -844,64 +845,17 @@ static INPUT_PORTS_START( xboard_generic )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IO1PORTC")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, "6 Coins/4 Credits" )
PORT_DIPSETTING( 0x04, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x03, "5 Coins/6 Credits" )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_5C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x50, "6 Coins/4 Credits" )
PORT_DIPSETTING( 0x40, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x30, "5 Coins/6 Credits" )
PORT_DIPSETTING( 0x20, DEF_STR( 4C_5C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin A too) or 1/1" )
SEGA_COINAGE_LOC(SWA)
PORT_START("IO1PORTD")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWB:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SWB:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWB:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SWB:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWB:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
INPUT_PORTS_END
@ -924,13 +878,14 @@ static INPUT_PORTS_START( aburner )
PORT_DIPSETTING( 0x03, "Moving Deluxe" )
PORT_DIPSETTING( 0x02, "Moving Standard" )
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
// According to the manual, SWB:4 sets 3 or 4 lives, but it doesn't actually do that.
// However, it does on Afterburner II. Maybe there's another version of Afterburner
// that behaves as the manual suggests.
// In the Japanese manual "DIP SW B:4 / NOT USED"
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x10, "3" )
PORT_DIPSETTING( 0x00, "3x Credits" )
@ -1188,7 +1143,7 @@ static INPUT_PORTS_START( smgp )
PORT_DIPSETTING( 0xc0, "Deluxe" )
PORT_DIPSETTING( 0x80, "Cockpit" )
PORT_DIPSETTING( 0x40, DEF_STR( Upright ) )
// PORT_DIPSETTING( 0x00, "Deluxe" )
// PORT_DIPSETTING( 0x00, "Deluxe" )
PORT_START("ADC0") /* steering */
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x38,0xc8) PORT_SENSITIVITY(100) PORT_KEYDELTA(4)
@ -1247,11 +1202,11 @@ static INPUT_PORTS_START( gprider )
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWB:1,2")
PORT_DIPSETTING( 0x03, "Ride On" )
PORT_DIPSETTING( 0x02, DEF_STR( Upright ) )
// PORT_DIPSETTING( 0x01, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x01, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
PORT_DIPNAME( 0x08, 0x08, "ID No." ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, "Main" )
PORT_DIPSETTING( 0x00, "Slave" )
PORT_DIPSETTING( 0x08, "Main" ) // Player 1 (Blue)
PORT_DIPSETTING( 0x00, "Slave" ) // Player 2 (Red)
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
@ -2844,22 +2799,23 @@ static DRIVER_INIT( gprider )
*
*************************************/
GAME( 1987, aburner2, 0, xboard, aburner2, aburner2, ROT0, "Sega", "After Burner II", 0 )
GAME( 1987, aburner, aburner2, xboard, aburner, aburner, ROT0, "Sega", "After Burner (Japan)", 0 )
GAME( 1987, thndrbld, 0, xboard, thndrbld, generic_xboard, ROT0, "Sega", "Thunder Blade (upright, FD1094 317-0056)", 0 )
GAME( 1987, thndrbld1,thndrbld, xboard, thndrbd1, generic_xboard, ROT0, "Sega", "Thunder Blade (deluxe/standing, unprotected)", 0 )
GAME( 1989, loffire, 0, xboard, loffire, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (World, FD1094 317-0136)", 0 )
GAME( 1989, loffireu, loffire, xboard, loffire, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (US, FD1094 317-0135)", 0 )
GAME( 1989, loffirej, loffire, xboard, loffire, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (Japan, FD1094 317-0134)", 0 )
GAME( 1989, rachero, 0, xboard, rachero, generic_xboard, ROT0, "Sega", "Racing Hero (FD1094 317-0144)", 0 )
GAME( 1989, smgp, 0, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (World, Rev B, 'Twin', FD1094 317-0126a)", 0 )
GAME( 1989, smgp6, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (World, Rev A, FD1094 317-0126a)", 0 )
GAME( 1989, smgp5, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (World, 'Air Drive Cabinet', FD1094 317-0126)", 0 )
GAME( 1989, smgpu, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev C, FD1094 317-0125a)", 0 )
GAME( 1989, smgpu1, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev B, FD1094 317-0125a)", 0 )
GAME( 1989, smgpu2, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev A, FD1094 317-0125a)", 0 )
GAME( 1989, smgpj, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (Japan, Rev B, FD1094 317-0124a)", 0 )
GAME( 1989, smgpja, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (Japan, Rev A, FD1094 317-0124a)", 0 )
GAME( 1990, abcop, 0, xboard, abcop, generic_xboard, ROT0, "Sega", "A.B. Cop (FD1094 317-0169b)", 0 )
GAME( 1990, gprider, 0, xboard, gprider, gprider, ROT0, "Sega", "GP Rider (World, FD1094 317-0163)", 0 )
GAME( 1990, gprider1, gprider, xboard, gprider, gprider, ROT0, "Sega", "GP Rider (US, FD1094 317-0162)", 0 )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1987, aburner2, 0, xboard, aburner2, aburner2, ROT0, "Sega", "After Burner II", 0 )
GAME( 1987, aburner, aburner2, xboard, aburner, aburner, ROT0, "Sega", "After Burner (Japan)", 0 )
GAME( 1987, thndrbld, 0, xboard, thndrbld, generic_xboard, ROT0, "Sega", "Thunder Blade (upright, FD1094 317-0056)", 0 )
GAME( 1987, thndrbld1,thndrbld, xboard, thndrbd1, generic_xboard, ROT0, "Sega", "Thunder Blade (deluxe/standing, unprotected)", 0 )
GAME( 1989, loffire, 0, xboard, loffire, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (World, FD1094 317-0136)", 0 )
GAME( 1989, loffireu, loffire, xboard, loffire, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (US, FD1094 317-0135)", 0 )
GAME( 1989, loffirej, loffire, xboard, loffire, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (Japan, FD1094 317-0134)", 0 )
GAME( 1989, rachero, 0, xboard, rachero, generic_xboard, ROT0, "Sega", "Racing Hero (FD1094 317-0144)", 0 )
GAME( 1989, smgp, 0, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (World, Rev B, 'Twin', FD1094 317-0126a)", 0 )
GAME( 1989, smgp6, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (World, Rev A, FD1094 317-0126a)", 0 )
GAME( 1989, smgp5, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (World, 'Air Drive Cabinet', FD1094 317-0126)", 0 )
GAME( 1989, smgpu, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev C, FD1094 317-0125a)", 0 )
GAME( 1989, smgpu1, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev B, FD1094 317-0125a)", 0 )
GAME( 1989, smgpu2, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev A, FD1094 317-0125a)", 0 )
GAME( 1989, smgpj, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (Japan, Rev B, FD1094 317-0124a)", 0 )
GAME( 1989, smgpja, smgp, smgp, smgp, smgp, ROT0, "Sega", "Super Monaco GP (Japan, Rev A, FD1094 317-0124a)", 0 )
GAME( 1990, abcop, 0, xboard, abcop, generic_xboard, ROT0, "Sega", "A.B. Cop (FD1094 317-0169b)", 0 )
GAME( 1990, gprider, 0, xboard, gprider, gprider, ROT0, "Sega", "GP Rider (World, FD1094 317-0163)", 0 )
GAME( 1990, gprider1, gprider, xboard, gprider, gprider, ROT0, "Sega", "GP Rider (US, FD1094 317-0162)", 0 )

View File

@ -31,6 +31,7 @@ Known games currently not dumped:
#include "sound/2151intf.h"
#include "sound/segapcm.h"
#include "video/segaic16.h"
#include "includes/segaipt.h"
#include "pdrift.lh"
@ -518,66 +519,17 @@ static INPUT_PORTS_START( yboard_generic )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWB:1" )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SWB:2" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWB:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SWB:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWB:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
PORT_START("COINAGE")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:1,2,3,4")
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:5,6,7,8")
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" )
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" )
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" )
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" )
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin A too) or 1/1" )
SEGA_COINAGE_LOC(SWA)
PORT_START("PORTH")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
@ -653,7 +605,7 @@ static INPUT_PORTS_START( gloc )
PORT_DIPSETTING( 0x18, "Moving" )
PORT_DIPSETTING( 0x10, "Cockpit" )
PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:6")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x20, DEF_STR( Yes ) )
@ -687,7 +639,7 @@ static INPUT_PORTS_START( glocr360 )
PORT_DIPSETTING( 0x02, "Fighting Only" )
PORT_DIPSETTING( 0x03, "Fight/Experience" )
PORT_DIPSETTING( 0x01, "Experience Only" )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -704,23 +656,23 @@ static INPUT_PORTS_START( glocr360 )
PORT_DIPSETTING( 0x90, "8" )
PORT_DIPSETTING( 0x80, "10" )
PORT_DIPSETTING( 0x70, "12" )
// PORT_DIPSETTING( 0x00, "1" )
// PORT_DIPSETTING( 0x10, "1" )
// PORT_DIPSETTING( 0x20, "1" )
// PORT_DIPSETTING( 0x30, "1" )
// PORT_DIPSETTING( 0x40, "1" )
// PORT_DIPSETTING( 0x50, "1" )
// PORT_DIPSETTING( 0x60, "1" )
// PORT_DIPSETTING( 0x00, "1" )
// PORT_DIPSETTING( 0x10, "1" )
// PORT_DIPSETTING( 0x20, "1" )
// PORT_DIPSETTING( 0x30, "1" )
// PORT_DIPSETTING( 0x40, "1" )
// PORT_DIPSETTING( 0x50, "1" )
// PORT_DIPSETTING( 0x60, "1" )
PORT_MODIFY("COINAGE")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:1,2,3,4")
// PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x05, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x04, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x05, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x04, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) )
@ -731,13 +683,13 @@ static INPUT_PORTS_START( glocr360 )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_8C ) )
PORT_DIPSETTING( 0x00, "Free Play (if Coin B too) or 1/1" )
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:5,6,7,8")
// PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x50, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x10, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x20, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x70, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x50, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x10, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x20, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) )
@ -773,7 +725,7 @@ static INPUT_PORTS_START( pdrift )
PORT_DIPSETTING( 0x03, "Moving" )
PORT_DIPSETTING( 0x02, "Upright/Sit Down" )
PORT_DIPSETTING( 0x01, "Mini Upright" )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@ -810,13 +762,11 @@ static INPUT_PORTS_START( pdrifte )
PORT_DIPSETTING( 0x03, "Moving" )
PORT_DIPSETTING( 0x02, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, "Mini Upright" )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
PORT_DIPNAME( 0x10, 0x00, "Initial Credit" ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x10, "2" )
@ -839,13 +789,11 @@ static INPUT_PORTS_START( pdriftj )
PORT_DIPSETTING( 0x03, "Moving" )
PORT_DIPSETTING( 0x02, "Upright/Sit Down" )
PORT_DIPSETTING( 0x01, "Mini Upright" )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWB:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
PORT_DIPNAME( 0x10, 0x00, "Initial Credit" ) PORT_DIPLOCATION("SWB:5")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x10, "2" )
@ -956,7 +904,7 @@ static INPUT_PORTS_START( strkfgtr )
PORT_DIPSETTING( 0xc0, "Moving" )
PORT_DIPSETTING( 0x80, "Cockpit" )
PORT_DIPSETTING( 0x40, DEF_STR( Upright ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
INPUT_PORTS_END
@ -2256,15 +2204,16 @@ static DRIVER_INIT( rchase )
*
*************************************/
GAME( 1988, gforce2, 0, yboard, gforce2, gforce2, ROT0, "Sega", "Galaxy Force 2" , GAME_SUPPORTS_SAVE )
GAME( 1988, gforce2j, gforce2, yboard, gforce2, gforce2, ROT0, "Sega", "Galaxy Force 2 (Japan)" , GAME_SUPPORTS_SAVE )
GAME( 1988, gforce2ja, gforce2, yboard, gforce2, gforce2, ROT0, "Sega", "Galaxy Force 2 (Japan, Rev A)" , GAME_SUPPORTS_SAVE )
GAME( 1990, gloc, 0, yboard, gloc, gloc, ROT0, "Sega", "G-LOC Air Battle (US)" , GAME_SUPPORTS_SAVE )
GAME( 1990, glocr360, gloc, yboard, glocr360, r360, ROT0, "Sega", "G-LOC R360", GAME_SUPPORTS_SAVE )
GAMEL(1988, pdrift, 0, yboard, pdrift, pdrift, ROT0, "Sega", "Power Drift (World, Rev A)", GAME_SUPPORTS_SAVE, layout_pdrift )
GAMEL(1988, pdrifta, pdrift, yboard, pdrift, pdrift, ROT0, "Sega", "Power Drift (World)", GAME_SUPPORTS_SAVE, layout_pdrift )
GAMEL(1988, pdrifte, pdrift, yboard, pdrifte, pdrift, ROT0, "Sega", "Power Drift (World, Earlier)", GAME_SUPPORTS_SAVE, layout_pdrift )
GAMEL(1988, pdriftj, pdrift, yboard, pdriftj, pdrift, ROT0, "Sega", "Power Drift (Japan)", GAME_SUPPORTS_SAVE, layout_pdrift )
GAME( 1991, rchase, 0, yboard, rchase, rchase, ROT0, "Sega", "Rail Chase (World)", GAME_SUPPORTS_SAVE )
GAME( 1991, rchasej, rchase, yboard, rchase, rchase, ROT0, "Sega", "Rail Chase (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1991, strkfgtr, 0, yboard, strkfgtr, gloc, ROT0, "Sega", "Strike Fighter (Japan)", GAME_SUPPORTS_SAVE )
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS, LAYOUT
GAME( 1988, gforce2, 0, yboard, gforce2, gforce2, ROT0, "Sega", "Galaxy Force 2", GAME_SUPPORTS_SAVE )
GAME( 1988, gforce2j, gforce2, yboard, gforce2, gforce2, ROT0, "Sega", "Galaxy Force 2 (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1988, gforce2ja, gforce2, yboard, gforce2, gforce2, ROT0, "Sega", "Galaxy Force 2 (Japan, Rev A)", GAME_SUPPORTS_SAVE )
GAME( 1990, gloc, 0, yboard, gloc, gloc, ROT0, "Sega", "G-LOC Air Battle (US)", GAME_SUPPORTS_SAVE )
GAME( 1990, glocr360, gloc, yboard, glocr360, r360, ROT0, "Sega", "G-LOC R360", GAME_SUPPORTS_SAVE )
GAMEL(1988, pdrift, 0, yboard, pdrift, pdrift, ROT0, "Sega", "Power Drift (World, Rev A)", GAME_SUPPORTS_SAVE, layout_pdrift )
GAMEL(1988, pdrifta, pdrift, yboard, pdrift, pdrift, ROT0, "Sega", "Power Drift (World)", GAME_SUPPORTS_SAVE, layout_pdrift )
GAMEL(1988, pdrifte, pdrift, yboard, pdrifte, pdrift, ROT0, "Sega", "Power Drift (World, Earlier)", GAME_SUPPORTS_SAVE, layout_pdrift )
GAMEL(1988, pdriftj, pdrift, yboard, pdriftj, pdrift, ROT0, "Sega", "Power Drift (Japan)", GAME_SUPPORTS_SAVE, layout_pdrift )
GAME( 1991, rchase, 0, yboard, rchase, rchase, ROT0, "Sega", "Rail Chase (World)", GAME_SUPPORTS_SAVE )
GAME( 1991, rchasej, rchase, yboard, rchase, rchase, ROT0, "Sega", "Rail Chase (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1991, strkfgtr, 0, yboard, strkfgtr, gloc, ROT0, "Sega", "Strike Fighter (Japan)", GAME_SUPPORTS_SAVE )

View File

@ -1234,40 +1234,39 @@ static INPUT_PORTS_START( cuebrick )
PORT_START("P2")
KONAMI16_LSB( 2, IPT_BUTTON3, IPT_UNUSED )
PORT_START("DSW2")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "Invalid", SW1)
/* "Invalid" = both coin slots disabled */
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x00, "7" )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x18, 0x10, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x18, "30K 80K" )
PORT_DIPSETTING( 0x10, "50K 100K" )
PORT_DIPSETTING( 0x08, "50K" )
PORT_DIPSETTING( 0x00, "100K" )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" ) // manual says "not used"
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" ) // manual says "not used"
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x18, 0x08, "Machine Name" ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x18, DEF_STR( None ) )
PORT_DIPSETTING( 0x10, "Lewis" )
PORT_DIPSETTING( 0x08, "Johnson" ) // Japan factory default = "Johnson"
PORT_DIPSETTING( 0x00, "George" )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) // Japan factory default = "Normal"
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW2")
KONAMI_COINAGE(DEF_STR( Free_Play ), "Invalid")
/* "Invalid" = both coin slots disabled */
PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "VRAM Character Check" )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x02, 0x00, "Upright Controls" ) PORT_DIPLOCATION("SW3:2")
PORT_DIPSETTING( 0x02, DEF_STR( Single ) )
PORT_DIPSETTING( 0x00, DEF_STR( Dual ) )
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW3:4" )
INPUT_PORTS_END
static INPUT_PORTS_START( mia )
@ -1288,39 +1287,39 @@ static INPUT_PORTS_START( mia )
KONAMI16_LSB( 2, IPT_BUTTON3, IPT_UNUSED )
PORT_START("DSW1")
KONAMI_COINAGE(DEF_STR( Free_Play ), "Invalid")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "Invalid", SW1)
/* "Invalid" = both coin slots disabled */
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x02, "3" ) // US and Japan factory default = "3"
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x00, "7" )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x18, 0x10, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x18, "30K 80K" )
PORT_DIPSETTING( 0x10, "50K 100K" )
PORT_DIPSETTING( 0x08, "50K" )
PORT_DIPSETTING( 0x00, "100K" )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPNAME( 0x18, 0x08, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x18, "30K, Every 80K" ) // Japan factory default = "30K, Every 80K"
PORT_DIPSETTING( 0x10, "50K, Every 100K" )
PORT_DIPSETTING( 0x08, "50K Only" ) // US factory default = "50K Only" (struck off "50K, Every 100K")
PORT_DIPSETTING( 0x00, "100K Only" )
PORT_DIPNAME( 0x60, 0x20, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) // Japan factory default = "Normal"
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) ) // US factory default = "Difficult" (struck off "Normal")
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "VRAM Character Check" )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x02, 0x02, "VRAM Character Check" ) PORT_DIPLOCATION("SW3:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) // US manual says "VRAM Character Check"
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // Japanese manual says "not used"
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW3:4" )
INPUT_PORTS_END
static INPUT_PORTS_START( tmnt )
@ -1347,7 +1346,7 @@ static INPUT_PORTS_START( tmnt )
KONAMI16_LSB( 4, IPT_UNKNOWN, IPT_UNKNOWN )
PORT_START("DSW1")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coinage ) )
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
@ -1364,42 +1363,36 @@ static INPUT_PORTS_START( tmnt )
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW1:5" ) // manual says "not used", but doesn't "should be kept OFF"
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:6" ) // ditto
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:7" ) // ditto
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:8" ) // ditto
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "1" )
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" ) // manual says "not used", but doesn't "should be kept OFF"
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" ) // ditto
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" ) // ditto
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW3:2" ) // manual says "not used and should be kept OFF"
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW3:4" ) // ditto
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
@ -1427,183 +1420,54 @@ static INPUT_PORTS_START( tmnt2p )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DSW1")
KONAMI_COINAGE(DEF_STR( Free_Play ), "No Coin B")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
/* "No Coin B" = coins produce sound, but no effect on coin counter */
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "1" )
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x02, "2" ) // US and Japan factory default = "2"
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" ) // manual says "not used", but doesn't "should be kept OFF"
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" ) // ditto
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" ) // ditto
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) // US and Japan factory default = "Normal"
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW3:2" ) // manual says "not used and should be kept OFF"
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW3:4" ) // ditto
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( punkshot )
static INPUT_PORTS_START( punkshtj ) // Japan 2 Players
PORT_START("DSW1/DSW2")
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 3C_4C ) )
PORT_DIPSETTING( 0x0007, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 2C_5C ) )
PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x000b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x0009, DEF_STR( 1C_7C ) )
PORT_DIPNAME( 0x0010, 0x0010, "Continue" )
PORT_DIPSETTING( 0x0010, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0000, "1 Coin" )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0300, 0x0300, "Energy" )
PORT_DIPSETTING( 0x0300, "30" )
PORT_DIPSETTING( 0x0200, "40" )
PORT_DIPSETTING( 0x0100, "50" )
PORT_DIPSETTING( 0x0000, "60" )
PORT_DIPNAME( 0x0c00, 0x0c00, "Period Length" )
PORT_DIPSETTING( 0x0c00, "2 Minutes" )
PORT_DIPSETTING( 0x0800, "3 Minutes" )
PORT_DIPSETTING( 0x0400, "4 Minutes" )
PORT_DIPSETTING( 0x0000, "5 Minutes" )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x6000, 0x6000, DEF_STR( Difficulty ) )
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
PORT_DIPUNUSED_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:1" ) // manual says "not used", but doesn't "should be kept OFF"
PORT_DIPUNUSED_DIPLOC( 0x0200, IP_ACTIVE_LOW, "SW2:2" ) // manual says "not used", but doesn't "should be kept OFF"
PORT_DIPNAME( 0x0c00, 0x0800, "Period Length" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c00, "1 Minutes" )
PORT_DIPSETTING( 0x0800, "2 Minutes" ) // Japan factory default = "2 Minutes"
PORT_DIPSETTING( 0x0400, "3 Minutes" )
PORT_DIPSETTING( 0x0000, "4 Minutes" )
PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:5" ) // manual says "not used", but doesn't "should be kept OFF"
PORT_DIPNAME( 0x6000, 0x4000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x6000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("COINS/DSW3")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN4 )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE2 )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE3 )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SERVICE4 )
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_DIPNAME( 0x1000, 0x1000, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_SERVICE( 0x4000, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x8000, 0x8000, "Freeze" )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("P1/P2")
KONAMI16_LSB( 1, IPT_UNKNOWN, IPT_UNKNOWN )
KONAMI16_MSB( 2, IPT_UNKNOWN, IPT_UNKNOWN )
PORT_START("P3/P4")
KONAMI16_LSB( 3, IPT_UNKNOWN, IPT_UNKNOWN )
KONAMI16_MSB( 4, IPT_UNKNOWN, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( punksht2 )
PORT_START("DSW1/DSW2")
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 3C_4C ) )
PORT_DIPSETTING( 0x0007, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 2C_5C ) )
PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x000b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x0009, DEF_STR( 1C_7C ) )
PORT_DIPNAME( 0x0010, 0x0010, "Continue" )
PORT_DIPSETTING( 0x0010, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0000, "1 Coin" )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0300, 0x0300, "Energy" )
PORT_DIPSETTING( 0x0300, "40" )
PORT_DIPSETTING( 0x0200, "50" )
PORT_DIPSETTING( 0x0100, "60" )
PORT_DIPSETTING( 0x0000, "70" )
PORT_DIPNAME( 0x0c00, 0x0c00, "Period Length" )
PORT_DIPSETTING( 0x0c00, "3 Minutes" )
PORT_DIPSETTING( 0x0800, "4 Minutes" )
PORT_DIPSETTING( 0x0400, "5 Minutes" )
PORT_DIPSETTING( 0x0000, "6 Minutes" )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x6000, 0x6000, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x6000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) ) // Japan factory default = "Normal"
PORT_DIPSETTING( 0x2000, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@ -1620,14 +1484,12 @@ static INPUT_PORTS_START( punksht2 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_SERVICE( 0x4000, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x8000, 0x8000, "Freeze" )
PORT_DIPUNUSED_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW3:2" ) // manual says "not used and should be kept OFF"
PORT_SERVICE_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPNAME( 0x8000, 0x8000, "Freeze" ) PORT_DIPLOCATION("SW3:4") // manual says "not used and should be kept OFF"
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@ -1639,6 +1501,152 @@ static INPUT_PORTS_START( punksht2 )
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( punkshtj4 ) // FICTITIOUS Japan 4 Players
PORT_INCLUDE( punkshtj )
PORT_MODIFY("COINS/DSW3")
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN4 )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE2 )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE3 )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SERVICE4 )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_MODIFY("P3/P4")
KONAMI16_LSB( 3, IPT_UNKNOWN, IPT_UNKNOWN )
KONAMI16_MSB( 4, IPT_UNKNOWN, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( punksht_us_coinage )
PORT_MODIFY("DSW1/DSW2")
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 4C_3C ) )
PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 3C_4C ) )
PORT_DIPSETTING( 0x0007, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 2C_5C ) )
PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x000b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x0009, DEF_STR( 1C_7C ) )
PORT_DIPNAME( 0x0010, 0x0010, "Continue" ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x0010, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0000, "1 Coin" )
PORT_DIPUNUSED_DIPLOC( 0x0020, IP_ACTIVE_LOW, "SW1:6" )
PORT_DIPUNUSED_DIPLOC( 0x0040, IP_ACTIVE_LOW, "SW1:7" )
PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
// US manual says
// Set No. 5, 6, 7, 8 OFF in Dip Switch No. 1
// Put Dip Switch No. 5 to ON to give
// "1 coin = CONTINUE"
INPUT_PORTS_END
static INPUT_PORTS_START( punkshot ) // US 4 Players set1
PORT_INCLUDE( punkshtj4 )
PORT_INCLUDE( punksht_us_coinage )
PORT_MODIFY("DSW1/DSW2")
PORT_DIPNAME( 0x0300, 0x0300, "Energy" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "30" ) // US set1 factory default = "30"
PORT_DIPSETTING( 0x0200, "40" )
PORT_DIPSETTING( 0x0100, "50" )
PORT_DIPSETTING( 0x0000, "60" )
PORT_DIPNAME( 0x0c00, 0x0800, "Period Length" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c00, "2 Minutes" )
PORT_DIPSETTING( 0x0800, "3 Minutes" ) // US set1 factory default = "3 Minutes"
PORT_DIPSETTING( 0x0400, "4 Minutes" )
PORT_DIPSETTING( 0x0000, "5 Minutes" )
PORT_DIPNAME( 0x6000, 0x6000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x6000, DEF_STR( Easy ) ) // US factory default = "Easy"
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Difficult ) )
INPUT_PORTS_END
/*
static INPUT_PORTS_START( punkshot2o ) // US 2 Players set1
PORT_INCLUDE( punkshtj )
PORT_INCLUDE( punksht_us_coinage )
PORT_MODIFY("DSW1/DSW2")
PORT_DIPNAME( 0x0300, 0x0300, "Energy" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "30" ) // US set1 factory default = "30"
PORT_DIPSETTING( 0x0200, "40" )
PORT_DIPSETTING( 0x0100, "50" )
PORT_DIPSETTING( 0x0000, "60" )
PORT_DIPNAME( 0x0c00, 0x0800, "Period Length" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c00, "2 Minutes" )
PORT_DIPSETTING( 0x0800, "3 Minutes" ) // US set1 factory default = "3 Minutes"
PORT_DIPSETTING( 0x0400, "4 Minutes" )
PORT_DIPSETTING( 0x0000, "5 Minutes" )
PORT_DIPNAME( 0x6000, 0x6000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x6000, DEF_STR( Easy ) ) // US set1 factory default = "Easy"
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Difficult ) )
INPUT_PORTS_END
*/
/*
static INPUT_PORTS_START( punksht4n ) // US 4 Players set2
PORT_INCLUDE( punkshtj4 )
PORT_INCLUDE( punksht_us_coinage )
PORT_MODIFY("DSW1/DSW2")
PORT_DIPNAME( 0x0300, 0x0300, "Energy" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "40" )
PORT_DIPSETTING( 0x0200, "50" )
PORT_DIPSETTING( 0x0100, "60" )
PORT_DIPSETTING( 0x0000, "70" )
PORT_DIPNAME( 0x0c00, 0x0c00, "Period Length" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c00, "3 Minutes" )
PORT_DIPSETTING( 0x0800, "4 Minutes" )
PORT_DIPSETTING( 0x0400, "5 Minutes" )
PORT_DIPSETTING( 0x0000, "6 Minutes" )
PORT_DIPNAME( 0x6000, 0x6000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x6000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Difficult ) )
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
*/
static INPUT_PORTS_START( punksht2 ) // US 2 Players set2
PORT_INCLUDE( punkshtj )
PORT_INCLUDE( punksht_us_coinage )
PORT_MODIFY("DSW1/DSW2")
PORT_DIPNAME( 0x0300, 0x0300, "Energy" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "40" )
PORT_DIPSETTING( 0x0200, "50" )
PORT_DIPSETTING( 0x0100, "60" )
PORT_DIPSETTING( 0x0000, "70" )
PORT_DIPNAME( 0x0c00, 0x0c00, "Period Length" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c00, "3 Minutes" )
PORT_DIPSETTING( 0x0800, "4 Minutes" )
PORT_DIPSETTING( 0x0400, "5 Minutes" )
PORT_DIPSETTING( 0x0000, "6 Minutes" )
PORT_DIPNAME( 0x6000, 0x6000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x6000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Difficult ) )
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
static INPUT_PORTS_START( lgtnfght )
PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@ -1656,47 +1664,54 @@ static INPUT_PORTS_START( lgtnfght )
PORT_START("P2")
KONAMI16_LSB( 2, IPT_BUTTON3, IPT_UNKNOWN )
PORT_START("DSW2")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
/* "No Coin B" = coins produce sound, but no effect on coin counter */
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x02, "3" ) // US and Japan factory default = "3"
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x00, "7" )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x18, "100000 400000" )
PORT_DIPSETTING( 0x10, "150000 500000" )
PORT_DIPSETTING( 0x08, "200000" )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" ) // manual says "not used"
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x18, "100K, 400K" ) // US factory default = "100K, 400K"
PORT_DIPSETTING( 0x10, "150K, 500K" ) // Japan factory default = "150K, 500K"
PORT_DIPSETTING( 0x08, "200K Only" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) // US and Japan factory default = "Normal"
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW2")
KONAMI_COINAGE(DEF_STR( Free_Play ), "No Coin B")
/* "No Coin B" = coins produce sound, but no effect on coin counter */
PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, "Sound" )
PORT_DIPNAME( 0x02, 0x00, "Sound" ) PORT_DIPLOCATION("SW3:2")
PORT_DIPSETTING( 0x02, DEF_STR( Mono ) )
PORT_DIPSETTING( 0x00, DEF_STR( Stereo ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW3:4" ) // manual says "not used"
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
static INPUT_PORTS_START( trigon )
PORT_INCLUDE( lgtnfght )
PORT_MODIFY("DSW1")
PORT_DIPNAME( 0x18, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x18, "100K, 400K" ) // US factory default = "100K, 400K"
PORT_DIPSETTING( 0x10, "150K, 500K" ) // Japan factory default = "150K, 500K"
PORT_DIPSETTING( 0x08, "200K Only" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
INPUT_PORTS_END
static INPUT_PORTS_START( blswhstl )
PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@ -1727,27 +1742,27 @@ INPUT_PORTS_END
static INPUT_PORTS_START( glfgreat )
PORT_START("DSW1/DSW2")
KONAMI_COINAGE(DEF_STR( Free_Play ), "No Coin B")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
/* "No Coin B" = coins produce sound, but no effect on coin counter */
PORT_DIPNAME( 0x0300, 0x0100, "Players/Controllers" )
PORT_DIPSETTING( 0x0300, "4/1" )
PORT_DIPSETTING( 0x0200, "4/2" )
PORT_DIPSETTING( 0x0100, "4/4" )
PORT_DIPSETTING( 0x0000, "3/3" )
PORT_DIPNAME( 0x0400, 0x0000, "Sound" )
PORT_DIPNAME( 0x0300, 0x0100, "Players/Controllers" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "4/1" ) // Upright
PORT_DIPSETTING( 0x0200, "4/2" ) // Upright (P1&P3=1stCtrl P2&P4=2ndCtrl)
PORT_DIPSETTING( 0x0100, "4/4" ) // Upright
PORT_DIPSETTING( 0x0000, "3/3" ) // Upright
PORT_DIPNAME( 0x0400, 0x0000, "Sound" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x0400, DEF_STR( Mono ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Stereo ) )
PORT_DIPNAME( 0x1800, 0x1800, "Initial/Maximum Credit" )
PORT_DIPNAME( 0x1800, 0x1800, "Initial/Maximum Credit" ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x1800, "2/3" )
PORT_DIPSETTING( 0x1000, "2/4" )
PORT_DIPSETTING( 0x0800, "2/5" )
PORT_DIPSETTING( 0x0000, "3/5" )
PORT_DIPNAME( 0x6000, 0x4000, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x6000, 0x4000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x6000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Normal ) ) // Japan factory default = "Normal"
PORT_DIPSETTING( 0x2000, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@ -1762,21 +1777,16 @@ static INPUT_PORTS_START( glfgreat )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
PORT_SERVICE_NO_TOGGLE( 0x0400, IP_ACTIVE_LOW )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_SERVICE2) PORT_NAME(DEF_STR(Test))
PORT_DIPNAME( 0x0800, 0x0000, "Freeze" ) /* ?? VBLANK ?? */
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0800, DEF_STR( On ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
// PORT_SERVICE( 0x4000, IP_ACTIVE_LOW )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW3:2" ) // manual says "not used"
PORT_SERVICE_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW3:4" ) // manual says "not used"
PORT_START("P1/P2")
KONAMI16_LSB( 1, IPT_BUTTON3, IPT_BUTTON4 )
@ -1787,6 +1797,59 @@ static INPUT_PORTS_START( glfgreat )
KONAMI16_MSB( 4, IPT_BUTTON3, IPT_BUTTON4 ) PORT_PLAYER(4)
INPUT_PORTS_END
static INPUT_PORTS_START( glfgreatj )
PORT_INCLUDE( glfgreat )
PORT_MODIFY("DSW1/DSW2")
PORT_DIPNAME( 0x0300, 0x0100, "Players/Controllers" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "2/1" ) // Upright
PORT_DIPSETTING( 0x0200, "2/2" ) // Upright
PORT_DIPSETTING( 0x0100, "4/2" ) // Cocktail (P1&P3 <-> P2&P4)
PORT_DIPSETTING( 0x0000, "4/4" ) // Cocktail (P1&P2 <-> P3&P4)
PORT_DIPNAME( 0x1800, 0x1000, "Initial/Maximum Credit" ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x1800, "2/2" )
PORT_DIPSETTING( 0x1000, "2/3" ) // Japan factory default = "Maximum 3"
PORT_DIPSETTING( 0x0800, "2/4" )
PORT_DIPSETTING( 0x0000, "2/5" )
PORT_MODIFY("P1/P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_NAME("Spare (P1 Left)")
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_NAME("Spare (P1 Right)")
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_NAME("P1 Stance Select")
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_NAME("Spare (P1 Down)")
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Right Direction")
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Left Direction")
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Club Select")
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME("Spare (P1 Button 4)") // shown in service mode DIP SW1:9, SW2:9 and SW3:5
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_NAME("Spare (P2 Left)")
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_NAME("Spare (P2 Right)")
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_NAME("P2 Stance Select")
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_NAME("Spare (P2 Down)")
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Right Direction")
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Left Direction")
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Club Select")
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("Spare (P2 Button 4)")
PORT_MODIFY("P3/P4")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3) PORT_NAME("Spare (P3 Left)")
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3) PORT_NAME("Spare (P3 Right)")
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(3) PORT_NAME("P3 Stance Select")
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3) PORT_NAME("Spare (P3 Down)")
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) PORT_NAME("P3 Right Direction")
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) PORT_NAME("P3 Left Direction")
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) PORT_NAME("P3 Club Select")
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(3) PORT_NAME("Spare (P3 Button 4)")
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4) PORT_NAME("Spare (P4 Left)")
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4) PORT_NAME("Spare (P4 Right)")
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(4) PORT_NAME("P4 Stance Select")
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(4) PORT_NAME("Spare (P4 Down)")
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) PORT_NAME("P4 Right Direction")
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4) PORT_NAME("P4 Left Direction")
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4) PORT_NAME("P4 Club Select")
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(4) PORT_NAME("Spare (P4 Button 4)")
INPUT_PORTS_END
static INPUT_PORTS_START( ssriders )
PORT_START("COINS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@ -2028,18 +2091,12 @@ static INPUT_PORTS_START( prmrsocr )
PORT_SERVICE_NO_TOGGLE( 0x0200, IP_ACTIVE_LOW )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_DIPNAME( 0x1000, 0x0000, "Sound" )
PORT_DIPNAME( 0x1000, 0x0000, "Sound" ) PORT_DIPLOCATION("SW:1")
PORT_DIPSETTING( 0x1000, DEF_STR( Mono ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Stereo ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW:2" ) // manual says "not used"
PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW:3" ) // manual says "not used"
PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW:4" ) // manual says "not used"
PORT_START("P2/EEPROM")
KONAMI16_LSB( 2, IPT_UNKNOWN, IPT_START2 )
@ -2384,8 +2441,10 @@ static MACHINE_CONFIG_START( tmnt, tmnt_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(13*8, (64-13)*8-1, 2*8, 30*8-1 )
//MCFG_SCREEN_VISIBLE_AREA(13*8, (64-13)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_VISIBLE_AREA(13*8-8, (64-13)*8-1+8, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE(tmnt)
// We see something strange in the left 8 pixels and the right 8 pixels, but it is same as real PCB.
MCFG_PALETTE_LENGTH(1024)
@ -4302,60 +4361,61 @@ static DRIVER_INIT( cuebrick )
machine.device<nvram_device>("nvram")->set_base(state->m_cuebrick_nvram, sizeof(state->m_cuebrick_nvram));
}
GAME( 1989, cuebrick, 0, cuebrick, cuebrick, cuebrick, ROT0, "Konami", "Cue Brick (World version D)", GAME_SUPPORTS_SAVE )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1989, cuebrick, 0, cuebrick, cuebrick, cuebrick, ROT0, "Konami", "Cue Brick (World version D)", GAME_SUPPORTS_SAVE )
GAME( 1989, mia, 0, mia, mia, mia, ROT0, "Konami", "M.I.A. - Missing in Action (version T)", GAME_SUPPORTS_SAVE )
GAME( 1989, mia2, mia, mia, mia, mia, ROT0, "Konami", "M.I.A. - Missing in Action (version S)", GAME_SUPPORTS_SAVE )
GAME( 1989, mia, 0, mia, mia, mia, ROT0, "Konami", "M.I.A. - Missing in Action (version T)", GAME_SUPPORTS_SAVE )
GAME( 1989, mia2, mia, mia, mia, mia, ROT0, "Konami", "M.I.A. - Missing in Action (version S)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmnt, 0, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (World 4 Players)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmntu, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (US 4 Players, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmntua, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (US 4 Players, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmht, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 4 Players, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmhta, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 4 Players, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1990, tmntj, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Japan 4 Players)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmht2p, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 2 Players, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmht2pa, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 2 Players, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1990, tmnt2pj, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Japan 2 Players)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmnt2po, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Oceania 2 Players)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmnt, 0, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (World 4 Players)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmntu, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (US 4 Players, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmntua, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (US 4 Players, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmht, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 4 Players, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmhta, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 4 Players, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1990, tmntj, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Japan 4 Players)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmht2p, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 2 Players, set 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmht2pa, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 2 Players, set 2)", GAME_SUPPORTS_SAVE )
GAME( 1990, tmnt2pj, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Japan 2 Players)", GAME_SUPPORTS_SAVE )
GAME( 1989, tmnt2po, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Oceania 2 Players)", GAME_SUPPORTS_SAVE )
GAME( 1990, punkshot, 0, punkshot, punkshot, 0, ROT0, "Konami", "Punk Shot (US 4 Players)", GAME_SUPPORTS_SAVE )
GAME( 1990, punkshot2, punkshot, punkshot, punksht2, 0, ROT0, "Konami", "Punk Shot (US 2 Players)", GAME_SUPPORTS_SAVE )
GAME( 1990, punkshotj, punkshot, punkshot, punksht2, 0, ROT0, "Konami", "Punk Shot (Japan 2 Players)", GAME_SUPPORTS_SAVE )
GAME( 1990, punkshot, 0, punkshot, punkshot, 0, ROT0, "Konami", "Punk Shot (US 4 Players)", GAME_SUPPORTS_SAVE )
GAME( 1990, punkshot2, punkshot, punkshot, punksht2, 0, ROT0, "Konami", "Punk Shot (US 2 Players)", GAME_SUPPORTS_SAVE )
GAME( 1990, punkshotj, punkshot, punkshot, punkshtj, 0, ROT0, "Konami", "Punk Shot (Japan 2 Players)", GAME_SUPPORTS_SAVE )
GAME( 1990, lgtnfght, 0, lgtnfght, lgtnfght, 0, ROT90, "Konami", "Lightning Fighters (World)", GAME_SUPPORTS_SAVE )
GAME( 1990, lgtnfghta, lgtnfght, lgtnfght, lgtnfght, 0, ROT90, "Konami", "Lightning Fighters (Asia)", GAME_SUPPORTS_SAVE )
GAME( 1990, lgtnfghtu, lgtnfght, lgtnfght, lgtnfght, 0, ROT90, "Konami", "Lightning Fighters (US)", GAME_SUPPORTS_SAVE )
GAME( 1990, trigon, lgtnfght, lgtnfght, lgtnfght, 0, ROT90, "Konami", "Trigon (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1990, lgtnfght, 0, lgtnfght, lgtnfght, 0, ROT90, "Konami", "Lightning Fighters (World)", GAME_SUPPORTS_SAVE )
GAME( 1990, lgtnfghta, lgtnfght, lgtnfght, lgtnfght, 0, ROT90, "Konami", "Lightning Fighters (Asia)", GAME_SUPPORTS_SAVE )
GAME( 1990, lgtnfghtu, lgtnfght, lgtnfght, lgtnfght, 0, ROT90, "Konami", "Lightning Fighters (US)", GAME_SUPPORTS_SAVE )
GAME( 1990, trigon, lgtnfght, lgtnfght, trigon, 0, ROT90, "Konami", "Trigon (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1991, blswhstl, 0, blswhstl, blswhstl, 0, ROT90, "Konami", "Bells & Whistles (Version L)", GAME_SUPPORTS_SAVE )
GAME( 1991, detatwin, blswhstl, blswhstl, blswhstl, 0, ROT90, "Konami", "Detana!! Twin Bee (Japan ver. J)", GAME_SUPPORTS_SAVE )
GAME( 1991, blswhstl, 0, blswhstl, blswhstl, 0, ROT90, "Konami", "Bells & Whistles (Version L)", GAME_SUPPORTS_SAVE )
GAME( 1991, detatwin, blswhstl, blswhstl, blswhstl, 0, ROT90, "Konami", "Detana!! Twin Bee (Japan ver. J)", GAME_SUPPORTS_SAVE )
GAME( 1991, glfgreat, 0, glfgreat, glfgreat, 0, ROT0, "Konami", "Golfing Greats", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1991, glfgreatj, glfgreat, glfgreat, glfgreat, 0, ROT0, "Konami", "Golfing Greats (Japan)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1991, glfgreat, 0, glfgreat, glfgreat, 0, ROT0, "Konami", "Golfing Greats", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1991, glfgreatj, glfgreat, glfgreat, glfgreatj,0, ROT0, "Konami", "Golfing Greats (Japan)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1991, tmnt2, 0, tmnt2, ssridr4p, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (4 Players ver UAA)", GAME_SUPPORTS_SAVE ) // ver. UAA
GAME( 1991, tmnt2a, tmnt2, tmnt2, ssrid4ps, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (4 Players ver ADA)", GAME_SUPPORTS_SAVE ) // ver. ADA
GAME( 1991, tmht22pe, tmnt2, tmnt2, ssriders, 0, ROT0, "Konami", "Teenage Mutant Hero Turtles - Turtles in Time (2 Players ver EBA)", GAME_SUPPORTS_SAVE ) // ver. EBA
GAME( 1991, tmnt22pu, tmnt2, tmnt2, ssriders, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (2 Players ver UDA)", GAME_SUPPORTS_SAVE ) // ver. UDA
GAME( 1991, tmnt2, 0, tmnt2, ssridr4p, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (4 Players ver UAA)", GAME_SUPPORTS_SAVE ) // ver. UAA
GAME( 1991, tmnt2a, tmnt2, tmnt2, ssrid4ps, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (4 Players ver ADA)", GAME_SUPPORTS_SAVE ) // ver. ADA
GAME( 1991, tmht22pe, tmnt2, tmnt2, ssriders, 0, ROT0, "Konami", "Teenage Mutant Hero Turtles - Turtles in Time (2 Players ver EBA)", GAME_SUPPORTS_SAVE ) // ver. EBA
GAME( 1991, tmnt22pu, tmnt2, tmnt2, ssriders, 0, ROT0, "Konami", "Teenage Mutant Ninja Turtles - Turtles in Time (2 Players ver UDA)", GAME_SUPPORTS_SAVE ) // ver. UDA
GAME( 1993, qgakumon, 0, tmnt2, qgakumon, 0, ROT0, "Konami", "Quiz Gakumon no Susume (Japan ver. JA2 Type L)", GAME_SUPPORTS_SAVE )
GAME( 1993, qgakumon, 0, tmnt2, qgakumon, 0, ROT0, "Konami", "Quiz Gakumon no Susume (Japan ver. JA2 Type L)", GAME_SUPPORTS_SAVE )
GAME( 1991, ssriders, 0, ssriders, ssridr4p, 0, ROT0, "Konami", "Sunset Riders (4 Players ver EAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersebd, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver EBD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersebc, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver EBC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersuda, ssriders, ssriders, ssrid4ps, 0, ROT0, "Konami", "Sunset Riders (4 Players ver UDA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssriderseaa, ssriders, ssriders, ssrid4ps, 0, ROT0, "Konami", "Sunset Riders (4 Players ver EAA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersuac, ssriders, ssriders, ssridr4p, 0, ROT0, "Konami", "Sunset Riders (4 Players ver UAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersubc, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver UBC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersabd, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver ABD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersadd, ssriders, ssriders, ssrid4ps, 0, ROT0, "Konami", "Sunset Riders (4 Players ver ADD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersjbd, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver JBD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersb, ssriders, sunsetbl, sunsetbl, 0, ROT0, "bootleg","Sunset Riders (bootleg 4 Players ver ADD)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssriders2, ssriders, sunsetbl, sunsetbl, 0, ROT0, "bootleg","Sunset Riders 2 (bootleg 4 Players ver ADD)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssriders, 0, ssriders, ssridr4p, 0, ROT0, "Konami", "Sunset Riders (4 Players ver EAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersebd, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver EBD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersebc, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver EBC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersuda, ssriders, ssriders, ssrid4ps, 0, ROT0, "Konami", "Sunset Riders (4 Players ver UDA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssriderseaa, ssriders, ssriders, ssrid4ps, 0, ROT0, "Konami", "Sunset Riders (4 Players ver EAA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersuac, ssriders, ssriders, ssridr4p, 0, ROT0, "Konami", "Sunset Riders (4 Players ver UAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersubc, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver UBC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersabd, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver ABD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersadd, ssriders, ssriders, ssrid4ps, 0, ROT0, "Konami", "Sunset Riders (4 Players ver ADD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersjbd, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver JBD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssridersb, ssriders, sunsetbl, sunsetbl, 0, ROT0, "bootleg","Sunset Riders (bootleg 4 Players ver ADD)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, ssriders2, ssriders, sunsetbl, sunsetbl, 0, ROT0, "bootleg","Sunset Riders 2 (bootleg 4 Players ver ADD)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1991, thndrx2, 0, thndrx2, thndrx2, 0, ROT0, "Konami", "Thunder Cross II (World)", GAME_SUPPORTS_SAVE )
GAME( 1991, thndrx2a, thndrx2, thndrx2, thndrx2, 0, ROT0, "Konami", "Thunder Cross II (Asia)", GAME_SUPPORTS_SAVE )
GAME( 1991, thndrx2j, thndrx2, thndrx2, thndrx2, 0, ROT0, "Konami", "Thunder Cross II (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1991, thndrx2, 0, thndrx2, thndrx2, 0, ROT0, "Konami", "Thunder Cross II (World)", GAME_SUPPORTS_SAVE )
GAME( 1991, thndrx2a, thndrx2, thndrx2, thndrx2, 0, ROT0, "Konami", "Thunder Cross II (Asia)", GAME_SUPPORTS_SAVE )
GAME( 1991, thndrx2j, thndrx2, thndrx2, thndrx2, 0, ROT0, "Konami", "Thunder Cross II (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1993, prmrsocr, 0, prmrsocr, prmrsocr, 0, ROT0, "Konami", "Premier Soccer (ver EAB)", GAME_SUPPORTS_SAVE )
GAME( 1993, prmrsocrj, prmrsocr, prmrsocr, prmrsocr, 0, ROT0, "Konami", "Premier Soccer (ver JAB)", GAME_SUPPORTS_SAVE )
GAME( 1993, prmrsocr, 0, prmrsocr, prmrsocr, 0, ROT0, "Konami", "Premier Soccer (ver EAB)", GAME_SUPPORTS_SAVE )
GAME( 1993, prmrsocrj, prmrsocr, prmrsocr, prmrsocr, 0, ROT0, "Konami", "Premier Soccer (ver JAB)", GAME_SUPPORTS_SAVE )

View File

@ -457,10 +457,10 @@ it succeed is as follows:
- set dip switch 2 to 10101010
- set dip switch 2 to 11111111
- speaker should now output a tone
- press 5 (coin 1) , to confirm that OPN works
- press 5 (coin 1) , to confirm that SSGCH1 works
- press 5 (coin 1) , to confirm that SSGCH2 works
- press 5 (coin 1) , to confirm that SSGCH3 works
- press 5 (coin 1), to confirm that OPN works
- press 5 (coin 1), to confirm that SSGCH1 works
- press 5 (coin 1), to confirm that SSGCH2 works
- press 5 (coin 1), to confirm that SSGCH3 works
- finished ("CHECK ALL OK!")
****************************************************************************
@ -949,29 +949,27 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( plumppop )
/* 0xb001 (CPU1) port 0 -> 0xef0e (shared RAM) */
PORT_START("DSWA")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) /* code at 0x6e99 - is it ever called ? */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
TAITO_DSWA_BITS_1_TO_3
TAITO_COINAGE_JAPAN_OLD
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWA:1" ) /* code at 0x6e99 - is it ever called ? */
TAITO_DSWA_BITS_1_TO_3_LOC(SWA)
TAITO_COINAGE_JAPAN_OLD_LOC(SWA)
/* 0xb001 (CPU1) port 1 -> 0xef0f (shared RAM) */
PORT_START("DSWB")
TAITO_DIFFICULTY
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) /* table at 0x2b86 */
TAITO_DIFFICULTY_LOC(SWB)
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:3,4") /* table at 0x2b86 */
PORT_DIPSETTING( 0x08, "50k 200k 150k+" )
PORT_DIPSETTING( 0x0c, "50k 250k 200k+" )
PORT_DIPSETTING( 0x04, "100k 300k 200k+" )
PORT_DIPSETTING( 0x00, "100k 400k 300k+" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPSETTING( 0x20, "2" )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x10, "4" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) /* code at 0x3dcc */
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x40, 0x40, "P1 & P2 Children Collision" ) PORT_DIPLOCATION("SWB:7") /* code at 0x3dcc */
PORT_DIPSETTING( 0x40, DEF_STR( No ) ) // both players' children collide with each other / Off=No / On=Yes
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
@ -1019,22 +1017,22 @@ INPUT_PORTS_END
static INPUT_PORTS_START( extrmatn )
/* 0xb001 (CPU1) port 0 -> 0xef0e (shared RAM) */
PORT_START("DSWA")
PORT_DIPUNUSED( 0x01, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWA:1" )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWA:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )
TAITO_COINAGE_JAPAN_OLD
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWA:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWA:4" )
TAITO_COINAGE_JAPAN_OLD_LOC(SWA)
/* 0xb001 (CPU1) port 1 -> 0xef0f (shared RAM) */
PORT_START("DSWB")
TAITO_DIFFICULTY
PORT_DIPUNUSED( 0x04, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
PORT_DIPNAME( 0xc0, 0xc0, "Damage Multiplier" )
TAITO_DIFFICULTY_LOC(SWB)
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWB:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SWB:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWB:6" )
PORT_DIPNAME( 0xc0, 0xc0, "Damage Multiplier" ) PORT_DIPLOCATION("SWB:7,8")
PORT_DIPSETTING( 0xc0, "*1" )
PORT_DIPSETTING( 0x80, "*1.5" )
PORT_DIPSETTING( 0x40, "*2" )
@ -1055,24 +1053,24 @@ INPUT_PORTS_END
static INPUT_PORTS_START( arknoid2 )
/* 0xb001 (CPU1) port 0 -> 0xe001 (shared RAM) */
PORT_START("DSWA")
TAITO_MACHINE_COCKTAIL
TAITO_COINAGE_WORLD
TAITO_MACHINE_COCKTAIL_LOC(SWA)
TAITO_COINAGE_WORLD_LOC(SWA)
/* 0xb001 (CPU1) port 1 -> 0xe002 (shared RAM) */
PORT_START("DSWB")
TAITO_DIFFICULTY
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) /* table at 0x6f1e (W and J) or 0x6f1b (Romstar) */
TAITO_DIFFICULTY_LOC(SWB)
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:3,4") /* table at 0x6f1e (W and J) or 0x6f1b (Romstar) */
PORT_DIPSETTING( 0x00, "50k 150k 150k+" )
PORT_DIPSETTING( 0x0c, "100k 200k 200k+" )
PORT_DIPSETTING( 0x04, "50k only" )
PORT_DIPSETTING( 0x08, "100k only" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPSETTING( 0x20, "2" )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x10, "4" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Allow_Continue ) )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
@ -1109,31 +1107,31 @@ static INPUT_PORTS_START( arknid2u )
PORT_INCLUDE( arknoid2 )
PORT_MODIFY("DSWA")
TAITO_COINAGE_JAPAN_OLD
TAITO_COINAGE_JAPAN_OLD_LOC(SWA)
INPUT_PORTS_END
static INPUT_PORTS_START( drtoppel )
/* 0xb001 (CPU1) port 0 -> 0xe042 (shared RAM) */
PORT_START("DSWA")
TAITO_MACHINE_COCKTAIL
TAITO_COINAGE_WORLD
TAITO_MACHINE_COCKTAIL_LOC(SWA)
TAITO_COINAGE_WORLD_LOC(SWA)
/* 0xb001 (CPU1) port 1 -> 0xe043 (shared RAM) */
PORT_START("DSWB")
TAITO_DIFFICULTY
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) /* table at 0x256d (4 * 9 bytes) */
PORT_DIPSETTING( 0x0c, "30k 100k 200k 100k+" ) /* 30k 100k 200k 300k 400k 500k 600k 700k */
PORT_DIPSETTING( 0x00, "50k 100k 200k 200k+" ) /* 50k 100k 200k 400k 600k 800k 1000k 1200k */
TAITO_DIFFICULTY_LOC(SWB)
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:3,4") /* table at 0x256d (4 * 9 bytes) */
PORT_DIPSETTING( 0x0c, "30k 100k 200k 100k+" ) /* 30k 100k 200k 300k 400k 500k 600k 700k */
PORT_DIPSETTING( 0x00, "50k 100k 200k 200k+" ) /* 50k 100k 200k 400k 600k 800k 1000k 1200k */
PORT_DIPSETTING( 0x04, "30k 100k" )
PORT_DIPSETTING( 0x08, "30k only" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPSETTING( 0x20, "2" )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x10, "4" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
PORT_START("IN0")
TAITO_JOY_LRUD_2_BUTTONS_START( 1 )
@ -1150,25 +1148,25 @@ static INPUT_PORTS_START( drtopplu )
PORT_INCLUDE( drtoppel )
PORT_MODIFY("DSWA")
TAITO_COINAGE_JAPAN_OLD
TAITO_COINAGE_JAPAN_OLD_LOC(SWA)
INPUT_PORTS_END
static INPUT_PORTS_START( kageki )
/* special (see kageki_csport_* handlers) -> 0xe03b (shared RAM) */
PORT_START("DSWA")
TAITO_MACHINE_NO_COCKTAIL /* see notes */
TAITO_COINAGE_JAPAN_OLD
TAITO_MACHINE_NO_COCKTAIL_LOC(SWA) /* see notes */
TAITO_COINAGE_JAPAN_OLD_LOC(SWA)
/* special (see kageki_csport_* handlers) -> 0xe03c (shared RAM) */
PORT_START("DSWB")
TAITO_DIFFICULTY
PORT_DIPUNUSED( 0x04, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) )
TAITO_DIFFICULTY_LOC(SWB)
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWB:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SWB:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWB:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
@ -1193,31 +1191,31 @@ static INPUT_PORTS_START( kagekij )
PORT_INCLUDE( kageki )
PORT_MODIFY("DSWA")
TAITO_MACHINE_COCKTAIL /* see notes */
TAITO_MACHINE_COCKTAIL_LOC(SWA) /* see notes */
INPUT_PORTS_END
static INPUT_PORTS_START( chukatai )
/* 0xb001 (CPU1) port 0 -> 0xe015 (shared RAM) */
PORT_START("DSWA")
TAITO_MACHINE_COCKTAIL
TAITO_COINAGE_WORLD
TAITO_MACHINE_COCKTAIL_LOC(SWA)
TAITO_COINAGE_WORLD_LOC(SWA)
/* 0xb001 (CPU1) port 1 -> 0xe016 (shared RAM) */
PORT_START("DSWB")
TAITO_DIFFICULTY
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) /* tables : 1st at 0xb070 (bank = 0x02) and inc. at 0x09df */
TAITO_DIFFICULTY_LOC(SWB)
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:3,4") /* tables : 1st at 0xb070 (bank = 0x02) and inc. at 0x09df */
PORT_DIPSETTING( 0x08, "40k 240k 200k+" )
PORT_DIPSETTING( 0x0c, "60k 360k 300k+" )
PORT_DIPSETTING( 0x04, "100k 500k 400k+" )
PORT_DIPSETTING( 0x00, "150k 650k 500k+" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x10, "2" )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x20, "4" )
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
PORT_START("IN0")
TAITO_JOY_LRUD_2_BUTTONS_START( 1 )
@ -1234,42 +1232,42 @@ static INPUT_PORTS_START( chukatau )
PORT_INCLUDE( chukatai )
PORT_MODIFY("DSWA")
TAITO_COINAGE_JAPAN_OLD
TAITO_COINAGE_JAPAN_OLD_LOC(SWA)
INPUT_PORTS_END
static INPUT_PORTS_START( tnzs )
/* 0xb002 (CPU1) -> 0xef0e (shared RAM) */
PORT_START("DSWA")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWA:1")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWA:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x08, 0x08, "Invulnerability (Debug)" ) // see notes
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWA:3" )
PORT_DIPNAME( 0x08, 0x08, "Invulnerability (Debug)" ) PORT_DIPLOCATION("SWA:4") // see notes
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
TAITO_COINAGE_WORLD
TAITO_COINAGE_WORLD_LOC(SWA)
/* 0xb003 (CPU1) -> 0xef0f (shared RAM) */
PORT_START("DSWB")
TAITO_DIFFICULTY
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) /* table at 0x09c84 */
TAITO_DIFFICULTY_LOC(SWB)
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:3,4") /* table at 0x09c84 */
PORT_DIPSETTING( 0x00, "50k 150k 150k+" )
PORT_DIPSETTING( 0x0c, "70k 200k 200k+" )
PORT_DIPSETTING( 0x04, "100k 250k 250k+" )
PORT_DIPSETTING( 0x08, "200k 300k 300k+" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPSETTING( 0x20, "2" )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x00, "4" )
PORT_DIPSETTING( 0x10, "5" )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:7")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
PORT_START("IN0")
TAITO_JOY_LRUD_2_BUTTONS_START( 1 )
@ -1292,41 +1290,41 @@ static INPUT_PORTS_START( tnzsj )
PORT_INCLUDE( tnzs )
PORT_MODIFY("DSWA")
TAITO_COINAGE_JAPAN_OLD
TAITO_COINAGE_JAPAN_OLD_LOC(SWA)
INPUT_PORTS_END
static INPUT_PORTS_START( tnzsjo )
/* 0xb001 (CPU1) port 0 -> 0xef0e (shared RAM) */
PORT_START("DSWA")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWA:1")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWA:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x08, 0x08, "Invulnerability (Debug)" ) // see notes
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWA:3" )
PORT_DIPNAME( 0x08, 0x08, "Invulnerability (Debug)" ) PORT_DIPLOCATION("SWA:4") // see notes
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
TAITO_COINAGE_JAPAN_OLD
TAITO_COINAGE_JAPAN_OLD_LOC(SWA)
/* 0xb001 (CPU1) port 1 -> 0xef0f (shared RAM) */
PORT_START("DSWB")
TAITO_DIFFICULTY
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) /* table at 0x09caf */
TAITO_DIFFICULTY_LOC(SWB)
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:3,4") /* table at 0x09caf */
PORT_DIPSETTING( 0x00, "50k 150k 150k+" )
PORT_DIPSETTING( 0x0c, "70k 200k 200k+" )
PORT_DIPSETTING( 0x04, "100k 250k 250k+" )
PORT_DIPSETTING( 0x08, "200k 300k 300k+" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPSETTING( 0x20, "2" )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x00, "4" )
PORT_DIPSETTING( 0x10, "5" )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:7")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
PORT_START("IN0")
TAITO_JOY_LRUD_2_BUTTONS_START( 1 )
@ -1343,11 +1341,11 @@ static INPUT_PORTS_START( tnzsop )
PORT_INCLUDE( tnzsjo )
PORT_MODIFY("DSWA")
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) /* value read at 0x356b but not tested nor stored elsewhere */
TAITO_COINAGE_WORLD
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWA:4" ) /* value read at 0x356b but not tested nor stored elsewhere */
TAITO_COINAGE_WORLD_LOC(SWA)
PORT_MODIFY("DSWB")
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) /* table at 0x09afb */
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:3,4") /* table at 0x09afb */
PORT_DIPSETTING( 0x00, "10k 100k 100k+" )
PORT_DIPSETTING( 0x0c, "10k 150k 150k+" )
PORT_DIPSETTING( 0x04, "10k 200k 200k+" )
@ -1358,20 +1356,24 @@ INPUT_PORTS_END
static INPUT_PORTS_START( kabukiz )
/* 0xb002 (CPU1) */
PORT_START("DSWA")
TAITO_MACHINE_COCKTAIL
PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) )
TAITO_MACHINE_COCKTAIL_LOC(SWA)
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SWA:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWA:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWA:7" )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWA:8")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
/* 0xb003 (CPU1) */
PORT_START("DSWB")
TAITO_DIFFICULTY
PORT_DIPUNUSED( 0x04, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )
TAITO_COINAGE_WORLD
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:1,2") // different from many other taito
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) ) // other taito : [ On Off ] < [ Off Off ] < [ Off On ] < [ On On ]
PORT_DIPSETTING( 0x02, DEF_STR( Medium ) ) // kabukiz : [ Off Off ] < [ On Off ] < [ Off On ] < [ On On ]
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWB:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
TAITO_COINAGE_WORLD_LOC(SWB)
PORT_START("IN0")
TAITO_JOY_LRUD_2_BUTTONS_START( 1 )
@ -1394,35 +1396,35 @@ static INPUT_PORTS_START( kabukizj )
PORT_INCLUDE( kabukiz )
PORT_MODIFY("DSWB")
TAITO_COINAGE_JAPAN_OLD
TAITO_COINAGE_JAPAN_OLD_LOC(SWB)
INPUT_PORTS_END
static INPUT_PORTS_START( insectx )
/* 0xb001 (CPU1) port 0 -> 0xec06 (shared RAM) */
PORT_START("DSWA")
TAITO_MACHINE_COCKTAIL
TAITO_COINAGE_WORLD
TAITO_MACHINE_COCKTAIL_LOC(SWA)
TAITO_COINAGE_WORLD_LOC(SWA)
/* 0xb001 (CPU1) port 1 -> 0xec07 (shared RAM) */
PORT_START("DSWB")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) /* see notes */
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x03, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:1,2") /* see notes */
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) ) // other taito : [ On Off ] < [ Off Off ] < [ Off On ] < [ On On ]
PORT_DIPSETTING( 0x03, DEF_STR( Medium ) ) // notes : [ Off On ] < [ Off Off ] < [ On Off ] < [ On On ]
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) // manual : [ Off Off ] < [ On Off ] < [ Off On ] < [ On On ]
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) /* code at 0xaacc - bank = 0x02 */
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:3,4") /* code at 0xaacc - bank = 0x02 */
PORT_DIPSETTING( 0x08, "40k 240k 200k+" )
PORT_DIPSETTING( 0x0c, "60k 360k 300k+" )
PORT_DIPSETTING( 0x04, "100k 500k 400k+" )
PORT_DIPSETTING( 0x00, "150k 650k 500k+" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x10, "2" )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x20, "4" )
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
PORT_START("IN0")
TAITO_JOY_LRUD_2_BUTTONS_START( 1 )
@ -1445,39 +1447,37 @@ static INPUT_PORTS_START( insectxj )
PORT_INCLUDE( insectx )
PORT_MODIFY("DSWA")
TAITO_COINAGE_JAPAN_OLD
TAITO_COINAGE_JAPAN_OLD_LOC(SWA)
INPUT_PORTS_END
static INPUT_PORTS_START( jpopnics )
/* 0xc600 (CPU1) -> 0xef0e (shared RAM) */
PORT_START("DSWA")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) /* code at 0x6e99 - is it ever called ? */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWA:1" ) /* code at 0x6e99 - is it ever called ? */
TAITO_DSWA_BITS_1_TO_3
PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW ) /* see notes */
PORT_DIPUNUSED( 0x20, IP_ACTIVE_LOW ) /* see notes */
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW ) /* see notes */
PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) /* see notes */
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SWA:5" ) /* see notes */
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWA:6" ) /* see notes */
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWA:7" ) /* see notes */
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWA:8" ) /* see notes */
/* 0xc601 (CPU1) -> 0xef0f (shared RAM) */
PORT_START("DSWB")
TAITO_DIFFICULTY
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) /* table at 0x2b86 */
TAITO_DIFFICULTY_LOC(SWB)
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:3,4") /* table at 0x2b86 */
PORT_DIPSETTING( 0x08, "50k 200k 150k+" )
PORT_DIPSETTING( 0x0c, "50k 250k 200k+" )
PORT_DIPSETTING( 0x04, "100k 300k 200k+" )
PORT_DIPSETTING( 0x00, "100k 400k 300k+" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
PORT_DIPSETTING( 0x20, "2" )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x10, "4" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) /* code at 0x3dcc */
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x40, 0x40, "P1 & P2 Children Collision" ) PORT_DIPLOCATION("SWB:7") /* code at 0x3dcc */
PORT_DIPSETTING( 0x40, DEF_STR( No ) ) // both players' children collide with each other / Off=No / On=Yes
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SWB:8")
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
@ -1705,7 +1705,7 @@ static MACHINE_CONFIG_START( tnzs, tnzs_state )
MCFG_CPU_PROGRAM_MAP(sub_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
MCFG_CPU_ADD("mcu", I8742 ,12000000/2) /* 400KHz ??? - Main board Crystal is 12MHz */
MCFG_CPU_ADD("mcu", I8742, 12000000/2) /* 400KHz ??? - Main board Crystal is 12MHz */
MCFG_CPU_IO_MAP(i8742_io_map)
MCFG_QUANTUM_PERFECT_CPU("maincpu")
@ -2719,30 +2719,30 @@ ROM_START( insectxj )
ROM_END
/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS ) */
GAME( 1987, plumppop, 0, drtoppel, plumppop, plumpop, ROT0, "Taito Corporation", "Plump Pop (Japan)", 0 )
GAME( 1987, extrmatn, 0, arknoid2, extrmatn, extrmatn, ROT270, "Taito Corporation Japan", "Extermination (World)", 0 )
GAME( 1987, extrmatnu,extrmatn, arknoid2, extrmatn, extrmatn, ROT270, "Taito (World Games license)", "Extermination (US)", 0 )
GAME( 1987, extrmatnj,extrmatn, arknoid2, extrmatn, extrmatn, ROT270, "Taito Corporation", "Extermination (Japan)", 0 )
GAME( 1987, arknoid2, 0, arknoid2, arknoid2, arknoid2, ROT270, "Taito Corporation Japan", "Arkanoid - Revenge of DOH (World)", 0 )
GAME( 1987, arknoid2u,arknoid2, arknoid2, arknid2u, arknoid2, ROT270, "Taito America Corporation (Romstar license)", "Arkanoid - Revenge of DOH (US)", 0 )
GAME( 1987, arknoid2j,arknoid2, arknoid2, arknid2u, arknoid2, ROT270, "Taito Corporation", "Arkanoid - Revenge of DOH (Japan)", 0 )
GAME( 1987, drtoppel, 0, drtoppel, drtoppel, drtoppel, ROT90, "Kaneko / Taito Corporation Japan", "Dr. Toppel's Adventure (World)", 0 ) /* Possible region hack */
GAME( 1987, drtoppelu,drtoppel, drtoppel, drtopplu, drtoppel, ROT90, "Kaneko / Taito America Corporation", "Dr. Toppel's Adventure (US)", 0 ) /* Possible region hack */
GAME( 1987, drtoppelj,drtoppel, drtoppel, drtopplu, drtoppel, ROT90, "Kaneko / Taito Corporation", "Dr. Toppel's Tankentai (Japan)", 0 )
GAME( 1988, kageki, 0, kageki, kageki, kageki, ROT90, "Kaneko / Taito America Corporation (Romstar license)", "Kageki (US)", 0 )
GAME( 1988, kagekij, kageki, kageki, kagekij, kageki, ROT90, "Kaneko / Taito Corporation", "Kageki (Japan)", 0 )
GAME( 1992, kagekih, kageki, kageki, kageki, kageki, ROT90, "hack", "Kageki (hack)", 0 ) // date is hacked at least, might also be a Japan set hacked to show english
GAME( 1988, chukatai, 0, tnzs, chukatai, chukatai, ROT0, "Taito Corporation Japan", "Chuka Taisen (World)", 0 ) /* Possible region hack */
GAME( 1988, chukataiu,chukatai, tnzs, chukatau, chukatai, ROT0, "Taito America Corporation", "Chuka Taisen (US)", 0 ) /* Possible region hack */
GAME( 1988, chukataij,chukatai, tnzs, chukatau, chukatai, ROT0, "Taito Corporation", "Chuka Taisen (Japan)", 0 )
GAME( 1988, tnzs, 0, tnzsb, tnzs, tnzsb, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, new version) (newer PCB)", 0 )
GAME( 1988, tnzsj, tnzs, tnzsb, tnzsj, tnzsb, ROT0, "Taito Corporation", "The NewZealand Story (Japan, new version) (newer PCB)", 0 )
GAME( 1988, tnzsjo, tnzs, tnzs, tnzsjo, tnzs, ROT0, "Taito Corporation", "The NewZealand Story (Japan, old version) (older PCB)", 0 )
GAME( 1988, tnzso, tnzs, tnzs, tnzsop, tnzs, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, old version) (older PCB)", 0 )
GAME( 1988, tnzsop, tnzs, tnzs, tnzsop, tnzs, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, prototype?) (older PCB)", 0 )
GAME( 1988, kabukiz, 0, kabukiz, kabukiz, kabukiz, ROT0, "Kaneko / Taito Corporation Japan", "Kabuki-Z (World)", 0 )
GAME( 1988, kabukizj, kabukiz, kabukiz, kabukizj, kabukiz, ROT0, "Kaneko / Taito Corporation", "Kabuki-Z (Japan)", 0 )
GAME( 1989, insectx, 0, insectx, insectx, insectx, ROT0, "Taito Corporation Japan", "Insector X (World)", 0 )
GAME( 1989, insectxj, insectx, insectx, insectxj, insectx, ROT0, "Taito Corporation", "Insector X (Japan)", 0 )
GAME( 1992, jpopnics, 0, jpopnics, jpopnics, 0, ROT0, "bootleg (Nics)", "Jumping Pop (Nics, Korean bootleg of Plump Pop)", GAME_IMPERFECT_GRAPHICS )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1987, plumppop, 0, drtoppel, plumppop, plumpop, ROT0, "Taito Corporation", "Plump Pop (Japan)", 0 )
GAME( 1987, extrmatn, 0, arknoid2, extrmatn, extrmatn, ROT270, "Taito Corporation Japan", "Extermination (World)", 0 )
GAME( 1987, extrmatnu, extrmatn, arknoid2, extrmatn, extrmatn, ROT270, "Taito (World Games license)", "Extermination (US)", 0 )
GAME( 1987, extrmatnj, extrmatn, arknoid2, extrmatn, extrmatn, ROT270, "Taito Corporation", "Extermination (Japan)", 0 )
GAME( 1987, arknoid2, 0, arknoid2, arknoid2, arknoid2, ROT270, "Taito Corporation Japan", "Arkanoid - Revenge of DOH (World)", 0 )
GAME( 1987, arknoid2u, arknoid2, arknoid2, arknid2u, arknoid2, ROT270, "Taito America Corporation (Romstar license)", "Arkanoid - Revenge of DOH (US)", 0 )
GAME( 1987, arknoid2j, arknoid2, arknoid2, arknid2u, arknoid2, ROT270, "Taito Corporation", "Arkanoid - Revenge of DOH (Japan)", 0 )
GAME( 1987, drtoppel, 0, drtoppel, drtoppel, drtoppel, ROT90, "Kaneko / Taito Corporation Japan", "Dr. Toppel's Adventure (World)", 0 ) /* Possible region hack */
GAME( 1987, drtoppelu, drtoppel, drtoppel, drtopplu, drtoppel, ROT90, "Kaneko / Taito America Corporation", "Dr. Toppel's Adventure (US)", 0 ) /* Possible region hack */
GAME( 1987, drtoppelj, drtoppel, drtoppel, drtopplu, drtoppel, ROT90, "Kaneko / Taito Corporation", "Dr. Toppel's Tankentai (Japan)", 0 )
GAME( 1988, kageki, 0, kageki, kageki, kageki, ROT90, "Kaneko / Taito America Corporation (Romstar license)", "Kageki (US)", 0 )
GAME( 1988, kagekij, kageki, kageki, kagekij, kageki, ROT90, "Kaneko / Taito Corporation", "Kageki (Japan)", 0 )
GAME( 1992, kagekih, kageki, kageki, kageki, kageki, ROT90, "hack", "Kageki (hack)", 0 ) // date is hacked at least, might also be a Japan set hacked to show english
GAME( 1988, chukatai, 0, tnzs, chukatai, chukatai, ROT0, "Taito Corporation Japan", "Chuka Taisen (World)", 0 ) /* Possible region hack */
GAME( 1988, chukataiu, chukatai, tnzs, chukatau, chukatai, ROT0, "Taito America Corporation", "Chuka Taisen (US)", 0 ) /* Possible region hack */
GAME( 1988, chukataij, chukatai, tnzs, chukatau, chukatai, ROT0, "Taito Corporation", "Chuka Taisen (Japan)", 0 )
GAME( 1988, tnzs, 0, tnzsb, tnzs, tnzsb, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, new version) (newer PCB)", 0 )
GAME( 1988, tnzsj, tnzs, tnzsb, tnzsj, tnzsb, ROT0, "Taito Corporation", "The NewZealand Story (Japan, new version) (newer PCB)", 0 )
GAME( 1988, tnzsjo, tnzs, tnzs, tnzsjo, tnzs, ROT0, "Taito Corporation", "The NewZealand Story (Japan, old version) (older PCB)", 0 )
GAME( 1988, tnzso, tnzs, tnzs, tnzsop, tnzs, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, old version) (older PCB)", 0 )
GAME( 1988, tnzsop, tnzs, tnzs, tnzsop, tnzs, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, prototype?) (older PCB)", 0 )
GAME( 1988, kabukiz, 0, kabukiz, kabukiz, kabukiz, ROT0, "Kaneko / Taito Corporation Japan", "Kabuki-Z (World)", 0 )
GAME( 1988, kabukizj, kabukiz, kabukiz, kabukizj, kabukiz, ROT0, "Kaneko / Taito Corporation", "Kabuki-Z (Japan)", 0 )
GAME( 1989, insectx, 0, insectx, insectx, insectx, ROT0, "Taito Corporation Japan", "Insector X (World)", 0 )
GAME( 1989, insectxj, insectx, insectx, insectxj, insectx, ROT0, "Taito Corporation", "Insector X (Japan)", 0 )
GAME( 1992, jpopnics, 0, jpopnics, jpopnics, 0, ROT0, "bootleg (Nics)", "Jumping Pop (Nics, Korean bootleg of Plump Pop)", GAME_IMPERFECT_GRAPHICS )

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -667,7 +667,6 @@ ROM_START( toypop )
ROM_LOAD( "tp1-6.3d", 0x0000, 0x0100, CRC(16a9166a) SHA1(847cbaf7c88616576c410177e066ae1d792ac0ba) )
ROM_END
GAME( 1983, liblrabl, 0, liblrabl, liblrabl, 0, ROT0, "Namco", "Libble Rabble", 0 )
GAME( 1986, toypop, 0, toypop, toypop, 0, ROT0, "Namco", "Toypop", 0 )
// YEAR, NAME, PARENT,MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1983, liblrabl, 0, liblrabl, liblrabl, 0, ROT0, "Namco", "Libble Rabble", 0 )
GAME( 1986, toypop, 0, toypop, toypop, 0, ROT0, "Namco", "Toypop", 0 )

View File

@ -304,7 +304,7 @@ static INPUT_PORTS_START( devilw )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE4 ) // map, advance through tests
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Map") // map, advance through tests
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
@ -320,32 +320,34 @@ static INPUT_PORTS_START( devilw )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DSW1")
KONAMI_COINAGE(DEF_STR( Free_Play ), "Invalid")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "Invalid", SW1)
/* "Invalid" = both coin slots disabled */
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x02, "3" ) // Japan factory default = "3"
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x00, "7" )
PORT_BIT( 0x1c, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) // Japan factory default = "Normal"
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW3") /* 0xa0019 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW3:2" )
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW3:4" )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
@ -354,7 +356,7 @@ static INPUT_PORTS_START( darkadv )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE4 ) // map, advance through tests
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Map") // map, advance through tests
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
@ -371,7 +373,7 @@ static INPUT_PORTS_START( darkadv )
KONAMI8_B123_UNK(3)
PORT_START("DSW1") /* Coinage */
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coinage ) )
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
@ -388,31 +390,36 @@ static INPUT_PORTS_START( darkadv )
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x00, "Invalid" )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW1:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:6" )
PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:8" )
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x00, "7" )
PORT_BIT( 0x1c, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW3") /* 0xa0019 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW3:2" )
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW3:4" )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
@ -437,41 +444,41 @@ static INPUT_PORTS_START( vulcan )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DSW1")
KONAMI_COINAGE(DEF_STR( Free_Play ), DEF_STR( None ))
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), DEF_STR( None ), SW1)
/* "None" = coin slot B disabled */
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x02, "3" ) // Japan factory default = "3"
PORT_DIPSETTING( 0x01, "4" )
PORT_DIPSETTING( 0x00, "7" )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x18, "20K 70K" )
PORT_DIPSETTING( 0x10, "30K 80K" )
PORT_DIPSETTING( 0x08, "20K" )
PORT_DIPSETTING( 0x00, "70K" )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x18, "20K, Every 70K" ) // Japan factory default = "20K, Every 70K"
PORT_DIPSETTING( 0x10, "30K, Every 80K" )
PORT_DIPSETTING( 0x08, "20K Only" )
PORT_DIPSETTING( 0x00, "70K Only" )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) // Japan factory default = "Normal"
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW3") /* 0xa0018 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, "Upright Controls" )
PORT_DIPNAME( 0x02, 0x00, "Upright Controls" ) PORT_DIPLOCATION("SW3:2")
PORT_DIPSETTING( 0x02, DEF_STR( Single ) )
PORT_DIPSETTING( 0x00, DEF_STR( Dual ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW3:4" )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
@ -480,11 +487,11 @@ static INPUT_PORTS_START( gradius2 ) // same as vulcan, different bonus
PORT_INCLUDE( vulcan )
PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x18, 0x18, DEF_STR (Bonus_Life ) )
PORT_DIPSETTING( 0x18, "20K 150K" )
PORT_DIPSETTING( 0x10, "30K 200K" )
PORT_DIPSETTING( 0x08, "20K" )
PORT_DIPSETTING( 0x00, "70K" )
PORT_DIPNAME( 0x18, 0x18, DEF_STR (Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x18, "20K, Every 150K" ) // Japan factory default = "20K, Every 150K"
PORT_DIPSETTING( 0x10, "30K, Every 200K" )
PORT_DIPSETTING( 0x08, "20K Only" )
PORT_DIPSETTING( 0x00, "70K Only" )
INPUT_PORTS_END
static INPUT_PORTS_START( fround )
@ -508,32 +515,34 @@ static INPUT_PORTS_START( fround )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DSW1")
KONAMI_COINAGE(DEF_STR( Free_Play ), "No Coin B")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "No Coin B", SW1)
/* "No Coin B" = coins produce sound, but no effect on coin counter */
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, "Energy" )
PORT_DIPNAME( 0x03, 0x02, "Energy" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "18" )
PORT_DIPSETTING( 0x02, "20" )
PORT_DIPSETTING( 0x02, "20" ) // US and Japan factory default = "20"
PORT_DIPSETTING( 0x01, "22" )
PORT_DIPSETTING( 0x00, "24" )
PORT_BIT( 0x1c, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" ) // manual says "not used"
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" ) // ditto
PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" ) // ditto
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) // US and Japan factory default = "Normal"
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW3") /* 0xa0018 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW3:2" ) // manual says "not used"
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW3:4" ) // ditto
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
@ -558,39 +567,37 @@ static INPUT_PORTS_START( miaj )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DSW1")
KONAMI_COINAGE(DEF_STR( Free_Play ), "Invalid")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "Invalid", SW1)
/* "Invalid" = both coin slots disabled */
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x02, "3" ) // US and Japan factory default = "3"
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x00, "7" )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x18, 0x10, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x18, "30K 80K" )
PORT_DIPSETTING( 0x10, "50K 100K" )
PORT_DIPSETTING( 0x08, "50K" )
PORT_DIPSETTING( 0x00, "100K" )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x18, "30K, Every 80K" ) // Japan factory default = "30K, Every 80K"
PORT_DIPSETTING( 0x10, "50K, Every 100K" )
PORT_DIPSETTING( 0x08, "50K Only" ) // US factory default = "50K Only" (struck off "50K, Every 100K")
PORT_DIPSETTING( 0x00, "100K Only" )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) // Japan factory default = "Normal"
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) ) // US factory default = "Difficult" (struck off "Normal")
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW3") /* 0xa0018 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "VRAM Character Check" )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW3:2" )
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW3:4" )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
@ -615,43 +622,40 @@ static INPUT_PORTS_START( cuebrickj )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DSW1")
KONAMI_COINAGE(DEF_STR( Free_Play ), "Invalid")
KONAMI_COINAGE_LOC(DEF_STR( Free_Play ), "Invalid", SW1)
/* "Invalid" = both coin slots disabled */
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x03, "1" )
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x00, "4" )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" ) // manual says "not used"
PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" ) // manual says "not used"
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x18, 0x18, "Machine Name" )
PORT_DIPNAME( 0x18, 0x08, "Machine Name" ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x18, DEF_STR( None ) )
PORT_DIPSETTING( 0x10, "Lewis" )
PORT_DIPSETTING( 0x08, "Johnson" )
PORT_DIPSETTING( 0x08, "Johnson" ) // Japan factory default = "Johnson"
PORT_DIPSETTING( 0x00, "George" )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
PORT_DIPSETTING( 0x60, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) // Japan factory default = "Normal"
PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW3") /* 0xa0018 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, "Upright Controls" )
PORT_DIPNAME( 0x02, 0x00, "Upright Controls" ) PORT_DIPLOCATION("SW3:2")
PORT_DIPSETTING( 0x02, DEF_STR( Single ) )
PORT_DIPSETTING( 0x00, DEF_STR( Dual ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x08, 0x08, "Mode" )
PORT_DIPSETTING( 0x08, "3" )
PORT_DIPSETTING( 0x00, "4" )
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
PORT_DIPNAME( 0x08, 0x08, "Stop Time" ) PORT_DIPLOCATION("SW3:4") // old coding [ Title="Mode" Off="3" On="4" Default="3" ] What did it mean?
PORT_DIPSETTING( 0x08, "200" ) // Japan factory default = "200"
PORT_DIPSETTING( 0x00, "150" )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
@ -961,7 +965,7 @@ ROM_START( vulcan )
ROM_REGION( 0x40000, "sub", 0 ) // 68000 code (CPU B)
ROM_LOAD16_BYTE( "785_p07.10n", 0x00000, 0x10000, CRC(686d549d) SHA1(9687be801c4fb963bf6b0199e2ae9f5051213f7a) )
ROM_LOAD16_BYTE( "785_p06.8n" , 0x00001, 0x10000, CRC(70c94bee) SHA1(951e00ca4d3a47a21b4db05bcdc8ead45b42c3f1) )
ROM_LOAD16_BYTE( "785_p06.8n", 0x00001, 0x10000, CRC(70c94bee) SHA1(951e00ca4d3a47a21b4db05bcdc8ead45b42c3f1) )
ROM_LOAD16_BYTE( "785_p13.10s", 0x20000, 0x10000, CRC(478fdb0a) SHA1(2e285ad6dcfc67f3e24d231e0e1be19036ce64d2) )
ROM_LOAD16_BYTE( "785_p12.8s", 0x20001, 0x10000, CRC(38ea402a) SHA1(90ff2bd71435988cde967704ce3b1401de206683) )
@ -995,7 +999,7 @@ ROM_START( vulcana )
ROM_REGION( 0x40000, "sub", 0 ) // 68000 code (CPU B)
ROM_LOAD16_BYTE( "785_p07.10n", 0x00000, 0x10000, CRC(686d549d) SHA1(9687be801c4fb963bf6b0199e2ae9f5051213f7a) )
ROM_LOAD16_BYTE( "785_p06.8n" , 0x00001, 0x10000, CRC(70c94bee) SHA1(951e00ca4d3a47a21b4db05bcdc8ead45b42c3f1) )
ROM_LOAD16_BYTE( "785_p06.8n", 0x00001, 0x10000, CRC(70c94bee) SHA1(951e00ca4d3a47a21b4db05bcdc8ead45b42c3f1) )
ROM_LOAD16_BYTE( "785_p13.10s", 0x20000, 0x10000, CRC(478fdb0a) SHA1(2e285ad6dcfc67f3e24d231e0e1be19036ce64d2) )
ROM_LOAD16_BYTE( "785_p12.8s", 0x20001, 0x10000, CRC(38ea402a) SHA1(90ff2bd71435988cde967704ce3b1401de206683) )
@ -1029,7 +1033,7 @@ ROM_START( vulcanb )
ROM_REGION( 0x40000, "sub", 0 ) // 68000 code (CPU B)
ROM_LOAD16_BYTE( "785_g07.10n", 0x00000, 0x10000, CRC(ee09dd5d) SHA1(9b6fb12c2cb7930df12d9876810811540fd560ee) ) /* requires older CPU B code compared to other sets */
ROM_LOAD16_BYTE( "785_g06.8n" , 0x00001, 0x10000, CRC(85ab7af7) SHA1(5cb36918a5cdfd16611da76f07450ae1d115f2c7) )
ROM_LOAD16_BYTE( "785_g06.8n", 0x00001, 0x10000, CRC(85ab7af7) SHA1(5cb36918a5cdfd16611da76f07450ae1d115f2c7) )
ROM_LOAD16_BYTE( "785_g13.10s", 0x20000, 0x10000, CRC(274f325d) SHA1(1076efa204eff0fc8a8788706b17b9a128023d35) )
ROM_LOAD16_BYTE( "785_g12.8s", 0x20001, 0x10000, CRC(1625f933) SHA1(3f25d7396af46e75e3ae8456414e31935de43d34) )
@ -1063,7 +1067,7 @@ ROM_START( gradius2 )
ROM_REGION( 0x40000, "sub", 0 ) // 68000 code (CPU B)
ROM_LOAD16_BYTE( "785_p07.10n", 0x00000, 0x10000, CRC(686d549d) SHA1(9687be801c4fb963bf6b0199e2ae9f5051213f7a) )
ROM_LOAD16_BYTE( "785_p06.8n" , 0x00001, 0x10000, CRC(70c94bee) SHA1(951e00ca4d3a47a21b4db05bcdc8ead45b42c3f1) )
ROM_LOAD16_BYTE( "785_p06.8n", 0x00001, 0x10000, CRC(70c94bee) SHA1(951e00ca4d3a47a21b4db05bcdc8ead45b42c3f1) )
ROM_LOAD16_BYTE( "785_p13.10s", 0x20000, 0x10000, CRC(478fdb0a) SHA1(2e285ad6dcfc67f3e24d231e0e1be19036ce64d2) )
ROM_LOAD16_BYTE( "785_p12.8s", 0x20001, 0x10000, CRC(38ea402a) SHA1(90ff2bd71435988cde967704ce3b1401de206683) )
@ -1102,7 +1106,7 @@ ROM_START( gradius2a )
ROM_REGION( 0x40000, "sub", 0 ) // 68000 code (CPU B)
ROM_LOAD16_BYTE( "785_p07.10n", 0x00000, 0x10000, CRC(686d549d) SHA1(9687be801c4fb963bf6b0199e2ae9f5051213f7a) )
ROM_LOAD16_BYTE( "785_p06.8n" , 0x00001, 0x10000, CRC(70c94bee) SHA1(951e00ca4d3a47a21b4db05bcdc8ead45b42c3f1) )
ROM_LOAD16_BYTE( "785_p06.8n", 0x00001, 0x10000, CRC(70c94bee) SHA1(951e00ca4d3a47a21b4db05bcdc8ead45b42c3f1) )
ROM_LOAD16_BYTE( "785_p13.10s", 0x20000, 0x10000, CRC(478fdb0a) SHA1(2e285ad6dcfc67f3e24d231e0e1be19036ce64d2) )
ROM_LOAD16_BYTE( "785_p12.8s", 0x20001, 0x10000, CRC(38ea402a) SHA1(90ff2bd71435988cde967704ce3b1401de206683) )
@ -1136,7 +1140,7 @@ ROM_START( gradius2b )
ROM_REGION( 0x40000, "sub", 0 ) // 68000 code (CPU B)
ROM_LOAD16_BYTE( "785_p07.10n", 0x00000, 0x10000, CRC(686d549d) SHA1(9687be801c4fb963bf6b0199e2ae9f5051213f7a) )
ROM_LOAD16_BYTE( "785_p06.8n" , 0x00001, 0x10000, CRC(70c94bee) SHA1(951e00ca4d3a47a21b4db05bcdc8ead45b42c3f1) )
ROM_LOAD16_BYTE( "785_p06.8n", 0x00001, 0x10000, CRC(70c94bee) SHA1(951e00ca4d3a47a21b4db05bcdc8ead45b42c3f1) )
ROM_LOAD16_BYTE( "785_p13.10s", 0x20000, 0x10000, CRC(478fdb0a) SHA1(2e285ad6dcfc67f3e24d231e0e1be19036ce64d2) )
ROM_LOAD16_BYTE( "785_p12.8s", 0x20001, 0x10000, CRC(38ea402a) SHA1(90ff2bd71435988cde967704ce3b1401de206683) )
@ -1347,18 +1351,19 @@ static DRIVER_INIT( cuebrickj )
/* Game Drivers */
GAME( 1987, devilw, 0, devilw, devilw, twin16, ROT0, "Konami", "Devil World", GAME_SUPPORTS_SAVE )
GAME( 1987, majuu, devilw, devilw, devilw, twin16, ROT0, "Konami", "Majuu no Ohkoku", GAME_SUPPORTS_SAVE )
GAME( 1987, darkadv, devilw, devilw, darkadv, twin16, ROT0, "Konami", "Dark Adventure", GAME_SUPPORTS_SAVE )
GAME( 1988, vulcan, 0, twin16, vulcan, twin16, ROT0, "Konami", "Vulcan Venture (New)", GAME_SUPPORTS_SAVE )
GAME( 1988, vulcana, vulcan, twin16, gradius2, twin16, ROT0, "Konami", "Vulcan Venture (Old)", GAME_SUPPORTS_SAVE )
GAME( 1988, vulcanb, vulcan, twin16, gradius2, twin16, ROT0, "Konami", "Vulcan Venture (Oldest)", GAME_SUPPORTS_SAVE )
GAME( 1988, gradius2, vulcan, twin16, gradius2, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan New Ver.)", GAME_SUPPORTS_SAVE )
GAME( 1988, gradius2a,vulcan, twin16, vulcan, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Old Ver.)", GAME_SUPPORTS_SAVE )
GAME( 1988, gradius2b,vulcan, twin16, vulcan, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Older Ver.)", GAME_SUPPORTS_SAVE )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1987, devilw, 0, devilw, devilw, twin16, ROT0, "Konami", "Devil World", GAME_SUPPORTS_SAVE )
GAME( 1987, majuu, devilw, devilw, devilw, twin16, ROT0, "Konami", "Majuu no Ohkoku", GAME_SUPPORTS_SAVE )
GAME( 1987, darkadv, devilw, devilw, darkadv, twin16, ROT0, "Konami", "Dark Adventure", GAME_SUPPORTS_SAVE )
GAME( 1988, vulcan, 0, twin16, vulcan, twin16, ROT0, "Konami", "Vulcan Venture (New)", GAME_SUPPORTS_SAVE )
GAME( 1988, vulcana, vulcan, twin16, gradius2, twin16, ROT0, "Konami", "Vulcan Venture (Old)", GAME_SUPPORTS_SAVE )
GAME( 1988, vulcanb, vulcan, twin16, gradius2, twin16, ROT0, "Konami", "Vulcan Venture (Oldest)", GAME_SUPPORTS_SAVE )
GAME( 1988, gradius2, vulcan, twin16, gradius2, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan New Ver.)", GAME_SUPPORTS_SAVE )
GAME( 1988, gradius2a, vulcan, twin16, vulcan, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Old Ver.)", GAME_SUPPORTS_SAVE )
GAME( 1988, gradius2b, vulcan, twin16, vulcan, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Older Ver.)", GAME_SUPPORTS_SAVE )
GAME( 1988, fround, 0, fround, fround, fround, ROT0, "Konami", "The Final Round (version M)", GAME_SUPPORTS_SAVE )
GAME( 1988, froundl, fround, fround, fround, fround, ROT0, "Konami", "The Final Round (version L)", GAME_SUPPORTS_SAVE )
GAME( 1988, hpuncher, fround, twin16, fround, twin16, ROT0, "Konami", "Hard Puncher (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1989, miaj, mia, miaj, miaj, twin16, ROT0, "Konami", "M.I.A. - Missing in Action (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1989, cuebrickj,cuebrick, cuebrickj, cuebrickj,cuebrickj,ROT0, "Konami", "Cue Brick (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1988, fround, 0, fround, fround, fround, ROT0, "Konami", "The Final Round (version M)", GAME_SUPPORTS_SAVE )
GAME( 1988, froundl, fround, fround, fround, fround, ROT0, "Konami", "The Final Round (version L)", GAME_SUPPORTS_SAVE )
GAME( 1988, hpuncher, fround, twin16, fround, twin16, ROT0, "Konami", "Hard Puncher (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1989, miaj, mia, miaj, miaj, twin16, ROT0, "Konami", "M.I.A. - Missing in Action (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1989, cuebrickj, cuebrick, cuebrickj, cuebrickj, cuebrickj, ROT0, "Konami", "Cue Brick (Japan)", GAME_SUPPORTS_SAVE )

View File

@ -54,23 +54,25 @@ Stephh's notes (based on the games M68000 and Z80 code and some tests) :
- There is no real "test mode" : only a grid with colors ("Cross Hatch Pattern")
is displayed. There is a specific "Show Dip Switches Settings".
- Test switch on JAMMA connector works to enter "Cross Hatch Pattern".
- "Service 1" uses COIN A coinage
1a) 'twincobr'
- No notice screen.
- Game uses TOAPLAN_COINAGE_WORLD (code at 0x0bfd in CPU1).
- Game uses TOAPLAN_COINAGE_EUROPE (code at 0x0bfd in CPU1).
- Press any players buttons on startup to skip some tests (code at 0x025ed8).
1b) 'twincobru'
- "FOR USE IN U.S.A. ONLY" notice screen.
- Game uses TOAPLAN_COINAGE_JAPAN_OLD (code at 0x0bfd in CPU1).
- Game uses TOAPLAN_COINAGE_JAPAN (code at 0x0bfd in CPU1).
- Press any players buttons on startup to skip some tests (code at 0x025ed6).
1c) 'ktiger'
- "FOR USE IN JAPAN ONLY" notice screen.
- Game uses TOAPLAN_COINAGE_JAPAN_OLD (code at 0x0bfd in CPU1 - same as in 'twincobru').
- Game uses TOAPLAN_COINAGE_JAPAN (code at 0x0bfd in CPU1 - same as in 'twincobru').
- Press any players buttons on startup to skip some tests (code at 0x0259d0).
- "Bonus Lives" settings are different than the ones in the other sets.
- See other differences with 'twincobr' and 'twincobru' above.
@ -78,8 +80,8 @@ Stephh's notes (based on the games M68000 and Z80 code and some tests) :
1d) 'gulfwar2'
- No notice screen.
- Game uses TOAPLAN_COINAGE_JAPAN_OLD (code at 0x0bfd in CPU1 - same as in 'twincobru').
Surprisingly, when Dip Switches are displayed, it shows TOAPLAN_COINAGE_WORLD.
- Game uses TOAPLAN_COINAGE_JAPAN (code at 0x0bfd in CPU1 - same as in 'twincobru').
Surprisingly, when Dip Switches are displayed, it shows TOAPLAN_COINAGE_EUROPE.
- Press any players buttons on startup to skip some tests (code at 0x025ed8).
- VBLANK bit is inverted (ACTIVE_LOW instead of ACTIVE_HIGH).
@ -88,11 +90,13 @@ Stephh's notes (based on the games M68000 and Z80 code and some tests) :
- There is no real "test mode" : only a grid with colors ("Cross Hatch Pattern")
is displayed. There is a specific "Show Dip Switches Settings".
- Test switch on JAMMA connector doesn't work to enter "test mode", but works to reset CPU.
- "Service 1" uses COIN A coinage
2a) 'fshark'
- No notice screen.
- Game uses TOAPLAN_COINAGE_WORLD.
- Game uses TOAPLAN_COINAGE_EUROPE.
- When cabinet set to "Upright", you can use joystick and buttons from both players
(code at 0x002434).
@ -106,7 +110,7 @@ Stephh's notes (based on the games M68000 and Z80 code and some tests) :
2c) 'hishouza'
- "FOR USE IN JAPAN ONLY" notice screen.
- Game uses TOAPLAN_COINAGE_JAPAN_OLD.
- Game uses TOAPLAN_COINAGE_JAPAN.
- When cabinet set to "Upright", you can use joystick and buttons from both players
(code at 0x002456).
@ -133,13 +137,11 @@ read:
78005 Player 1 Joystick and Buttons input port
78007 Player 2 Joystick and Buttons input port
78009 bit 7 vblank, coin and control/service inputs (Flying shark)
Flying Shark implements Tilt as 'freeze system' and also has
a reset button, but its not implelemted here (not needed)
7e000-7e005 read data from video RAM (see below)
write:
60000-60003 CRTC HD6845 or UM6845B. 0 = register offset , 2 = register data
60000-60003 CRTC HD6845 or UM6845B. 0 = register offset, 2 = register data
70000-70001 scroll y for character page (centre normally 0x01c9)
70002-70003 scroll < x > for character page (centre normally 0x00e2)
70004-70005 offset in character page to write character (7e000)
@ -267,6 +269,16 @@ Shark Zame
#include "sound/3812intf.h"
/***************************** debugging flags ******************************/
#define DEBUG_FREE_ALL_DIPSW FALSE
#define DEBUG_DONT_HIDE_DUP_DIPSETTING TRUE
/* Set TRUE and you may find unknown easter eggs */
/**************************** customizing flags *****************************/
/* nothing */
/***************************** 68000 Memory Map *****************************/
@ -346,74 +358,140 @@ ADDRESS_MAP_END
Input Port definitions
*****************************************************************************/
/* verified from M68000 and Z80 code */
static INPUT_PORTS_START( twincobr )
PORT_START("DSWA")
TOAPLAN_MACHINE_NO_COCKTAIL
TOAPLAN_COINAGE_WORLD /* tables at 0x0c30 (COIN1) and 0x0c38 (COIN2) in CPU1 */
static INPUT_PORTS_START( fshark_generic )
PORT_START("DSWA") /* in 0x078001(M68000) */ /* DIP SW 1 */
TOAPLAN_DIP_1_SPARE(SW1)
TOAPLAN_DIP_2_SPARE(SW1)
TOAPLAN_DIP_3_SPARE(SW1)
TOAPLAN_DIP_4_SPARE(SW1)
TOAPLAN_DIP_5_SPARE(SW1)
TOAPLAN_DIP_6_SPARE(SW1)
TOAPLAN_DIP_7_SPARE(SW1)
TOAPLAN_DIP_8_SPARE(SW1)
PORT_START("DSWB")
TOAPLAN_DIFFICULTY
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) /* table at 0x020988 ('twincobr' and 'twincobru') */
PORT_DIPSETTING( 0x00, "50k 200k 150k+" )
PORT_DIPSETTING( 0x04, "70k 270k 200k+" )
PORT_DIPSETTING( 0x08, "50k Only" )
PORT_DIPSETTING( 0x0c, "100k Only" )
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x30, "2" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x20, "4" )
PORT_DIPSETTING( 0x10, "5" )
PORT_DIPNAME( 0x40, 0x00, "Show Dip Switches Settings" )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )
PORT_START("DSWB") /* in 0x078003(M68000) */ /* DIP SW 2 */
TOAPLAN_DIP_1_SPARE(SW2)
TOAPLAN_DIP_2_SPARE(SW2)
TOAPLAN_DIP_3_SPARE(SW2)
TOAPLAN_DIP_4_SPARE(SW2)
TOAPLAN_DIP_5_SPARE(SW2)
TOAPLAN_DIP_6_SPARE(SW2)
TOAPLAN_DIP_7_SPARE(SW2)
TOAPLAN_DIP_8_SPARE(SW2)
PORT_START("P1")
TOAPLAN_JOY_UDLR_2_BUTTONS( 1 )
PORT_START("P1") /* in 0x078005(M68000) */ /* Player 1 controls */
TOAPLAN_JOY_UDLR_2_BUTTONS(1)
PORT_START("P2")
TOAPLAN_JOY_UDLR_2_BUTTONS( 2 )
PORT_START("P2") /* in 0x078007(M68000) */ /* Player 2 controls */
TOAPLAN_JOY_UDLR_2_BUTTONS(2)
PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* uses COIN1 coinage */
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_TILT )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* same effect as the DSWA bit 2 */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
/* Port name kept to fit other games in the driver - it doesn't even exist */
PORT_BIT(0xff, TOAPLAN_IP_ACTIVE_LEVEL, IPT_UNUSED)
PORT_START("VBLANK")
PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
PORT_START("VBLANK") /* in 0x078009(M68000) */ /* VBlank and coin-in/start inputs */
/* Port name kept to fit other games in the driver - it shall be "SYSTEM" */
TOAPLAN_SYSTEM_INPUT_WITH_VBLANK
PORT_MODIFY("VBLANK")
TOAPLAN_TEST_SWITCH_RENAME("Test (Reset CPU)")
/* When some users see "reset", they may think that is a bug of MAME.
To avoid the doubt, describe the function "Reset CPU" */
INPUT_PORTS_END
static INPUT_PORTS_START( twincobr_generic )
PORT_START("DSWA") /* in 0x40(Z80) */ /* DIP SW 1 */
TOAPLAN_DIP_1_SPARE(SW1)
TOAPLAN_DIP_2_SPARE(SW1)
TOAPLAN_DIP_3_SPARE(SW1)
TOAPLAN_DIP_4_SPARE(SW1)
TOAPLAN_DIP_5_SPARE(SW1)
TOAPLAN_DIP_6_SPARE(SW1)
TOAPLAN_DIP_7_SPARE(SW1)
TOAPLAN_DIP_8_SPARE(SW1)
PORT_START("DSWB") /* in 0x50(Z80) */ /* DIP SW 2 */
TOAPLAN_DIP_1_SPARE(SW2)
TOAPLAN_DIP_2_SPARE(SW2)
TOAPLAN_DIP_3_SPARE(SW2)
TOAPLAN_DIP_4_SPARE(SW2)
TOAPLAN_DIP_5_SPARE(SW2)
TOAPLAN_DIP_6_SPARE(SW2)
TOAPLAN_DIP_7_SPARE(SW2)
TOAPLAN_DIP_8_SPARE(SW2)
PORT_START("P1") /* in 0x078005(M68000) */ /* Player 1 controls */
TOAPLAN_JOY_UDLR_2_BUTTONS(1)
PORT_START("P2") /* in 0x078007(M68000) */ /* Player 2 controls */
TOAPLAN_JOY_UDLR_2_BUTTONS(2)
PORT_START("SYSTEM") /* in 0x10(Z80) */ /* coin-in/start inputs */
TOAPLAN_SYSTEM_INPUT_WITHOUT_VBLANK
PORT_START("VBLANK") /* in 0x078009(M68000) */ /* VBlank */
TOAPLAN_VBLANK_INPUT_8BITS
INPUT_PORTS_END
/* verified from M68000 and Z80 code */
static INPUT_PORTS_START( twincobr )
PORT_INCLUDE( twincobr_generic )
#if ! DEBUG_FREE_ALL_DIPSW
PORT_MODIFY("DSWA")
//DIP_A1_SPARE (divert from 'twincobr_generic')
TOAPLAN_DIP_A2_FLIP_SCREEN(SW1)
TOAPLAN_DIP_A3_SERVICE_MODE(SW1)
TOAPLAN_DIP_A4_DEMO_SOUNDS(SW1)
TOAPLAN_DIP_A5678_COINAGE_EUROPE(SW1) /* tables at 0x0c30 (COIN1) and 0x0c38 (COIN2) in CPU1 */
PORT_MODIFY("DSWB")
TOAPLAN_DIP_B12_DIFFICULTY(SW2)
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") /* table at 0x020988 ('twincobr' and 'twincobru') */
PORT_DIPSETTING( 0x00, "50k 200k 150k+" )
PORT_DIPSETTING( 0x04, "70k 270k 200k+" )
PORT_DIPSETTING( 0x08, "50k Only" )
PORT_DIPSETTING( 0x0c, "100k Only" )
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6")
PORT_DIPSETTING( 0x30, "2" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x20, "4" )
PORT_DIPSETTING( 0x10, "5" )
TOAPLAN_DIP_B7_SHOW_DIPSW_SETTINGS(SW2)
//DIP_B8_SPARE (divert from 'twincobr_generic')
#endif
INPUT_PORTS_END
/* verified from M68000 and Z80 code */
static INPUT_PORTS_START( twincobru )
PORT_INCLUDE( twincobr )
PORT_MODIFY("DSWA")
TOAPLAN_COINAGE_JAPAN_OLD /* table at 0x0c20 (COIN1 AND COIN2) in CPU1 */
#if ! DEBUG_FREE_ALL_DIPSW
PORT_MODIFY("DSWA")
TOAPLAN_DIP_A5678_COINAGE_JAPAN(SW1) /* table at 0x0c20 (COIN1 AND COIN2) in CPU1 */
#endif
INPUT_PORTS_END
/* verified from M68000 and Z80 code */
static INPUT_PORTS_START( ktiger )
PORT_INCLUDE( twincobru )
PORT_MODIFY("DSWA")
TOAPLAN_MACHINE_COCKTAIL
#if ! DEBUG_FREE_ALL_DIPSW
PORT_MODIFY("DSWA")
TOAPLAN_DIP_A1_CABINET(SW1)
PORT_MODIFY("DSWB")
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) /* table at 0x0208d0 */
PORT_DIPSETTING( 0x04, "50k 200k 150k+" )
PORT_DIPSETTING( 0x00, "70k 270k 200k+" )
PORT_DIPSETTING( 0x08, "100k Only" )
PORT_DIPSETTING( 0x0c, DEF_STR( None ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) /* additional code at 0x020b3c */
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
PORT_MODIFY("DSWB")
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") /* table at 0x0208d0 */
PORT_DIPSETTING( 0x04, "50k 200k 150k+" )
PORT_DIPSETTING( 0x00, "70k 270k 200k+" )
PORT_DIPSETTING( 0x08, "100k Only" )
PORT_DIPSETTING( 0x0c, DEF_STR( None ) )
TWINCOBR_DIP_B8_ALLOW_CONTINUE_OFF_NO(SW2) /* additional code at 0x020b3c */
/* Many TOAPLAN "Allow Continue" = OFF YES
but TWINCOBR = ON YES */
#endif
INPUT_PORTS_END
/* verified from M68000 and Z80 code */
@ -421,79 +499,87 @@ static INPUT_PORTS_START( gulfwar2 )
PORT_INCLUDE( twincobru )
PORT_MODIFY("VBLANK")
PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK )
PORT_BIT( 0x7f, TOAPLAN_IP_INVERTED_ACTIVE_LEVEL, IPT_UNKNOWN )
PORT_BIT( 0x80, TOAPLAN_IP_INVERTED_ACTIVE_LEVEL, IPT_VBLANK )
INPUT_PORTS_END
/* verified from M68000 code */
static INPUT_PORTS_START( fshark )
PORT_START("DSWA")
TOAPLAN_MACHINE_COCKTAIL
TOAPLAN_COINAGE_WORLD /* tables at 0x00031c (COIN1) and 0x00032c (COIN2) */
PORT_INCLUDE( fshark_generic )
PORT_START("DSWB")
TOAPLAN_DIFFICULTY
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) /* table at 0x000b96 (fshark), 0x000b80 (skyshark) or 0x000b7e (hishouza) */
PORT_DIPSETTING( 0x00, "50k 200k 150k+" )
PORT_DIPSETTING( 0x04, "70k 270k 200k+" )
PORT_DIPSETTING( 0x08, "50k Only" )
PORT_DIPSETTING( 0x0c, "100k Only" )
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x20, "1" )
PORT_DIPSETTING( 0x30, "2" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x10, "5" )
PORT_DIPNAME( 0x40, 0x00, "Show Dip Switches Settings" )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
#if ! DEBUG_FREE_ALL_DIPSW
PORT_MODIFY("DSWA")
TOAPLAN_DIP_A1_CABINET(SW1)
TOAPLAN_DIP_A2_FLIP_SCREEN(SW1)
TOAPLAN_DIP_A3_SERVICE_MODE(SW1)
TOAPLAN_DIP_A4_DEMO_SOUNDS(SW1)
TOAPLAN_DIP_A5678_COINAGE_EUROPE(SW1) /* tables at 0x00031c (COIN1) and 0x00032c (COIN2) */
PORT_START("P1")
TOAPLAN_JOY_UDLR_2_BUTTONS( 1 )
PORT_START("P2")
TOAPLAN_JOY_UDLR_2_BUTTONS( 2 )
PORT_START("SYSTEM") /* Port name kept to fit other games in the driver - it doesn't even exist */
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("VBLANK") /* Port name kept to fit other games in the driver - it shall be "SYSTEM" */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) /* uses COIN1 coinage */
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_TILT )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* reset button */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
PORT_MODIFY("DSWB")
TOAPLAN_DIP_B12_DIFFICULTY(SW2)
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!3,!4") /* table at 0x000b96 (fshark), 0x000b80 (skyshark) or 0x000b7e (hishouza) */
PORT_DIPSETTING( 0x00, "50k 200k 150k+" )
PORT_DIPSETTING( 0x04, "70k 270k 200k+" )
PORT_DIPSETTING( 0x08, "50k Only" )
PORT_DIPSETTING( 0x0c, "100k Only" )
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!5,!6")
PORT_DIPSETTING( 0x20, "1" )
PORT_DIPSETTING( 0x30, "2" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x10, "5" )
TOAPLAN_DIP_B7_SHOW_DIPSW_SETTINGS(SW2)
TWINCOBR_DIP_B8_ALLOW_CONTINUE_OFF_NO(SW2)
/* Many TOAPLAN "Allow Continue" = OFF YES
but FSHARK = ON YES */
#endif
INPUT_PORTS_END
/* verified from M68000 code */
static INPUT_PORTS_START( skyshark )
PORT_INCLUDE( fshark )
PORT_MODIFY("DSWA")
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) /* table at 0x000316 */
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_2C ) ) /* duplicated setting */
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) /* table at 0x000316 */
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
// PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) ) /* duplicated setting */
#if ! DEBUG_FREE_ALL_DIPSW
PORT_MODIFY("DSWA")
#if ! DEBUG_DONT_HIDE_DUP_DIPSETTING
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:!5,!6") /* table at 0x000316 */
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_2C ) ) /* duplicated setting */
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:!7,!8") /* table at 0x000316 */
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
//PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) ) /* duplicated setting */
#else
/* Current(0.143) MAME doesn't allow duplicated settins about coinage
(see function "validate_dip_settings()" in file "src\emu\validity.c")
We can not write "PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )"
But we can write "PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" )" */
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:!5,!6") /* table at 0x000316 */
PORT_DIPSETTING( 0x10, " 2 Coins/1 Credit" )
PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" )
PORT_DIPSETTING( 0x20, " 1 Coin/2 Credits" )
PORT_DIPSETTING( 0x30, " 1 Coin/2 Credits" ) /* duplicated setting */
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:!7,!8") /* table at 0x000316 */
PORT_DIPSETTING( 0x40, " 2 Coins/1 Credit" )
PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" )
PORT_DIPSETTING( 0x80, " 1 Coin/2 Credits" )
PORT_DIPSETTING( 0xc0, " 1 Coin/2 Credits" ) /* duplicated setting */
/* ^ Don't delete these spaces (to pass function "get_defstr_index()") */
#endif
#endif
INPUT_PORTS_END
/* verified from M68000 code */
static INPUT_PORTS_START( hishouza )
PORT_INCLUDE( fshark )
PORT_MODIFY("DSWA")
TOAPLAN_COINAGE_JAPAN_OLD /* table at 0x000316 (COIN1 AND COIN2) */
#if ! DEBUG_FREE_ALL_DIPSW
PORT_MODIFY("DSWA")
TOAPLAN_DIP_A5678_COINAGE_JAPAN(SW1) /* table at 0x000316 (COIN1 AND COIN2) */
#endif
INPUT_PORTS_END
@ -1015,6 +1101,7 @@ static DRIVER_INIT( twincobr )
}
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1987, fshark, 0, twincobr, fshark, twincobr, ROT270, "Toaplan / Taito Corporation", "Flying Shark (World)", 0 )
GAME( 1987, skyshark, fshark, twincobr, skyshark, twincobr, ROT270, "Toaplan / Taito America Corporation (Romstar license)", "Sky Shark (US)", 0 )
GAME( 1987, hishouza, fshark, twincobr, hishouza, twincobr, ROT270, "Toaplan / Taito Corporation", "Hishou Zame (Japan)", 0 )

View File

@ -11,7 +11,7 @@ Supported games:
Taito Game Number: B25
Wardners Forest (World)
Pyros (USA)
Wardna no Mori (Japan)
Wardner no Mori (Japan)
Notes:
Basically the same video and machine hardware as Flying shark,
@ -19,7 +19,7 @@ Notes:
See twincobr.c machine and video drivers to complete the
hardware setup.
To enter the "test mode", press START1 when the grid is displayed.
Press F1 (initially P1 button 3) on startup to skip some video RAM tests
Press unused P1 button 3 on startup to skip some video RAM tests
(code at 0x6d25 in 'wardner', 0x6d2f in 'wardnerj' or 0x6d2c in 'pyros').
**************************** Memory & I/O Maps *****************************
@ -132,6 +132,26 @@ out:
#include "includes/twincobr.h"
/***************************** debugging flags ******************************/
#define DEBUG_FREE_ALL_DIPSW FALSE
/* Set TRUE and you may find unknown easter eggs */
/**************************** customizing flags *****************************/
#define WARDNER_P1_BUTTON_3_DESCRIBE_LEVEL FALSE
/* Wardner's "P1 Button 3" has an easter egg. */
/* If you want to rename it, set 1 or 2.
0 = "Spare (P1 Button 3)"
1 = "Spare (P1 Button 3) (Skip Video RAM Tests)"
2 = "(Skip Video RAM Tests)" */
#define WARDNER_P1_BUTTON_3_MOVE_TO_F1 FALSE
/* If you want to move it to "F1", set TRUE. */
/****************************************************************************/
class wardner_state : public twincobr_state
{
public:
@ -273,78 +293,110 @@ ADDRESS_MAP_END
*****************************************************************************/
/* verified from Z80 code */
static INPUT_PORTS_START( wardner_generic )
PORT_START("DSWA")
TOAPLAN_MACHINE_COCKTAIL
TOAPLAN_COINAGE_WORLD
PORT_START("DSWA") /* in 0x50 */ /* DIP SW A */
TOAPLAN_DIP_1_SPARE(SWA)
TOAPLAN_DIP_2_SPARE(SWA)
TOAPLAN_DIP_3_SPARE(SWA)
TOAPLAN_DIP_4_SPARE(SWA)
TOAPLAN_DIP_5_SPARE(SWA)
TOAPLAN_DIP_6_SPARE(SWA)
TOAPLAN_DIP_7_SPARE(SWA)
TOAPLAN_DIP_8_SPARE(SWA)
PORT_START("DSWB")
TOAPLAN_DIFFICULTY
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) /* table at 0x13ce ('wardner') or 0x13de ('wardnerj') */
PORT_DIPSETTING( 0x00, "30k 80k 50k+" )
PORT_DIPSETTING( 0x04, "50k 100k 50k+" )
PORT_DIPSETTING( 0x08, "30k Only" )
PORT_DIPSETTING( 0x0c, "50k Only" )
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x30, "1" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x10, "4" )
PORT_DIPSETTING( 0x20, "5" )
PORT_DIPUNUSED( 0x40, IP_ACTIVE_HIGH )
PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )
PORT_START("DSWB") /* in 0x52 */ /* DIP SW B */
TOAPLAN_DIP_1_SPARE(SWB)
TOAPLAN_DIP_2_SPARE(SWB)
TOAPLAN_DIP_3_SPARE(SWB)
TOAPLAN_DIP_4_SPARE(SWB)
TOAPLAN_DIP_5_SPARE(SWB)
TOAPLAN_DIP_6_SPARE(SWB)
TOAPLAN_DIP_7_SPARE(SWB)
TOAPLAN_DIP_8_SPARE(SWB)
PORT_START("P1")
TOAPLAN_JOY_UDLR_2_BUTTONS( 1 ) /* buttons 3 & 4 named "SHOTC" and "SHOTD" in "test mode" */
PORT_START("P1") /* in 0x54 */ /* Player 1 controls */
TOAPLAN_JOY_UDLR_2_BUTTONS(1)
PORT_START("P2")
TOAPLAN_JOY_UDLR_2_BUTTONS( 2 ) /* buttons 3 & 4 named "SHOTC" and "SHOTD" in "test mode" */
PORT_START("P2") /* in 0x56 */ /* Player 2 controls */
TOAPLAN_JOY_UDLR_2_BUTTONS(2)
PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_TILT )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* "TEST" in "test mode" - no effect outside */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK ) /* "V-BLANKING" in "test mode" */
PORT_START("SYSTEM") /* in 0x58 */ /* VBlank and coin-in/start inputs */
TOAPLAN_SYSTEM_INPUT_WITH_VBLANK
INPUT_PORTS_END
/* verified from Z80 code */
static INPUT_PORTS_START( wardner )
PORT_INCLUDE( wardner_generic )
#if ! DEBUG_FREE_ALL_DIPSW
PORT_MODIFY("DSWA")
TOAPLAN_DIP_A1_CABINET(SWA)
TOAPLAN_DIP_A2_FLIP_SCREEN(SWA)
TOAPLAN_DIP_A3_SERVICE_MODE(SWA)
TOAPLAN_DIP_A4_DEMO_SOUNDS(SWA)
TOAPLAN_DIP_A5678_COINAGE_EUROPE(SWA)
PORT_MODIFY("DSWB")
TOAPLAN_DIP_B12_DIFFICULTY(SWB)
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:!3,!4") /* table at 0x13ce ('wardner') or 0x13de ('wardnerj') */
PORT_DIPSETTING( 0x00, "30k 80k 50k+" )
PORT_DIPSETTING( 0x04, "50k 100k 50k+" )
PORT_DIPSETTING( 0x08, "30k Only" )
PORT_DIPSETTING( 0x0c, "50k Only" )
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:!5,!6")
PORT_DIPSETTING( 0x30, "1" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x10, "4" )
PORT_DIPSETTING( 0x20, "5" )
//DIP_B78_SPARE
#endif
PORT_MODIFY("P1")
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Skip Video RAM Tests") PORT_CODE(KEYCODE_F1)
#if WARDNER_P1_BUTTON_3_DESCRIBE_LEVEL == 1
PORT_BIT(0x40, TOAPLAN_IP_ACTIVE_LEVEL, IPT_BUTTON3) PORT_PLAYER(1) PORT_NAME("Spare (P1 Button 3) (Skip Video RAM Tests)") /* JAMMA "P1 button 3" */
#elif WARDNER_P1_BUTTON_3_DESCRIBE_LEVEL == 2
PORT_BIT(0x40, TOAPLAN_IP_ACTIVE_LEVEL, IPT_BUTTON3) PORT_PLAYER(1) PORT_NAME("(Skip Video RAM Tests)")
#endif
#if WARDNER_P1_BUTTON_3_MOVE_TO_F1
PORT_CODE(KEYCODE_F1)
#endif
/* code at 0x6d25 ('wardner'), 0x6d2f ('wardnerj') or 0x6d2c ('pyros') */
PORT_MODIFY("SYSTEM")
TOAPLAN_TEST_SWITCH_SPARE
INPUT_PORTS_END
/* verified from Z80 code */
static INPUT_PORTS_START( wardnerj )
PORT_INCLUDE( wardner )
PORT_MODIFY("DSWA")
TOAPLAN_COINAGE_JAPAN_OLD
#if ! DEBUG_FREE_ALL_DIPSW
PORT_MODIFY("DSWA")
TOAPLAN_DIP_A5678_COINAGE_JAPAN(SWA)
#endif
INPUT_PORTS_END
/* verified from Z80 code */
static INPUT_PORTS_START( pyros )
PORT_INCLUDE( wardnerj )
PORT_MODIFY("DSWB")
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) /* table at 0x13ce */
PORT_DIPSETTING( 0x00, "30k 80k 50k+" )
PORT_DIPSETTING( 0x04, "50k 100k 50k+" )
PORT_DIPSETTING( 0x08, "50k Only" )
PORT_DIPSETTING( 0x0c, "100k Only" )
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Allow_Continue ) ) /* additional code at 0x6037 */
PORT_DIPSETTING( 0x40, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
#if ! DEBUG_FREE_ALL_DIPSW
PORT_MODIFY("DSWB")
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:!3,!4") /* table at 0x13ce */
PORT_DIPSETTING( 0x00, "30k 80k 50k+" )
PORT_DIPSETTING( 0x04, "50k 100k 50k+" )
PORT_DIPSETTING( 0x08, "50k Only" )
PORT_DIPSETTING( 0x0c, "100k Only" )
WARDNER_DIP_B7_ALLOW_CONTINUE_OFF_YES(SWB) /* additional code at 0x6037 */
/* Many TOAPLAN "Allow Continue" = B:8
but WARDNER = B:7 */
#endif
INPUT_PORTS_END
static const gfx_layout charlayout =
{
8,8, /* 8*8 characters */
@ -618,6 +670,7 @@ static DRIVER_INIT( wardner )
GAME( 1987, wardner, 0, wardner, wardner, wardner, ROT0, "Toaplan / Taito Corporation Japan", "Wardner (World)", GAME_SUPPORTS_SAVE )
GAME( 1987, pyros, wardner, wardner, pyros, wardner, ROT0, "Toaplan / Taito America Corporation", "Pyros (US)", GAME_SUPPORTS_SAVE )
GAME( 1987, wardnerj, wardner, wardner, wardnerj, wardner, ROT0, "Toaplan / Taito Corporation", "Wardner no Mori (Japan)", GAME_SUPPORTS_SAVE )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1987, wardner, 0, wardner, wardner, wardner, ROT0, "Toaplan / Taito Corporation Japan", "Wardner (World)", GAME_SUPPORTS_SAVE )
GAME( 1987, pyros, wardner, wardner, pyros, wardner, ROT0, "Toaplan / Taito America Corporation", "Pyros (US)", GAME_SUPPORTS_SAVE )
GAME( 1987, wardnerj, wardner, wardner, wardnerj, wardner, ROT0, "Toaplan / Taito Corporation", "Wardner no Mori (Japan)", GAME_SUPPORTS_SAVE )

View File

@ -286,9 +286,9 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( darius2d )
/* 0x800000 -> 0x109e16 ($1e16,A5) and 0x109e1a ($1e1a,A5) */
PORT_START("DSWA")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1") /* code at 0x0170f2 ('darius2d') or 0x01705c ('drius2do') */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x01, 0x01, "Difficulty Enhancement" ) PORT_DIPLOCATION("SW1:1") /* code at 0x0170f2 ('darius2d') or 0x01705c ('drius2do') */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) // Easy Medium Hard Hardest // Japan factory default = "Off"
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // Easy- Medium+ Hard+ Hardest+ // "Easy-" is easier than "Easy". "Medium+","Hard+" and "hardest+" are harder than "Medium","Hard" and "hardest".
PORT_DIPNAME( 0x02, 0x02, "Auto Fire" ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x00, "Fast" )
@ -341,6 +341,11 @@ static INPUT_PORTS_START( sagaia )
PORT_INCLUDE(darius2d)
PORT_MODIFY("DSWA")
PORT_DIPNAME( 0x01, 0x00, "Difficulty Enhancement" ) PORT_DIPLOCATION("SW1:1") /* code at 0x0170f2 ('darius2d') or 0x01705c ('drius2do') */
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) // Easy Medium Hard Hardest
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // Easy- Medium+ Hard+ Hardest+
// MAME 0.143u7 SW1:1="Unknown / Off / On" default="On"
// I don't have World manual. Is it written "Unused : Must be kept On" ?
TAITO_COINAGE_WORLD_LOC(SW1)
INPUT_PORTS_END
@ -892,7 +897,8 @@ ROM_END
/* Working Games */
GAME( 1989, sagaia, darius2, darius2d, sagaia, 0, ROT0, "Taito Corporation Japan", "Sagaia (dual screen) (World)", 0 )
GAME( 1989, darius2d, darius2, darius2d, darius2d, 0, ROT0, "Taito Corporation", "Darius II (dual screen) (Japan, Rev 2)", 0 )
GAME( 1989, darius2do, darius2, darius2d, darius2d, 0, ROT0, "Taito Corporation", "Darius II (dual screen) (Japan, Rev 1)", 0 )
GAME( 1991, warriorb, 0, warriorb, warriorb, 0, ROT0, "Taito Corporation", "Warrior Blade - Rastan Saga Episode III (Japan)", 0 )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS
GAME( 1989, sagaia, darius2, darius2d, sagaia, 0, ROT0, "Taito Corporation Japan", "Sagaia (dual screen) (World)", 0 )
GAME( 1989, darius2d, darius2, darius2d, darius2d, 0, ROT0, "Taito Corporation", "Darius II (dual screen) (Japan, Rev 2)", 0 )
GAME( 1989, darius2do, darius2, darius2d, darius2d, 0, ROT0, "Taito Corporation", "Darius II (dual screen) (Japan, Rev 1)", 0 )
GAME( 1991, warriorb, 0, warriorb, warriorb, 0, ROT0, "Taito Corporation", "Warrior Blade - Rastan Saga Episode III (Japan)", 0 )

View File

@ -5,346 +5,585 @@
*******************************************************************************/
#ifndef __TOAPLIPT_H__
#define __TOAPLIPT_H__
/**************************** Machine Dip Switches ****************************/
/******************************* Active Level *********************************/
/* with location */
#define TOAPLAN_DSWA_BITS_2_TO_3_LOC(DIPBANK) \
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_HIGH, #DIPBANK":3" ) \
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION(#DIPBANK":4") \
#define TOAPLAN_IP_ACTIVE_LEVEL IP_ACTIVE_HIGH
#define TOAPLAN_IP_INVERTED_ACTIVE_LEVEL IP_ACTIVE_LOW
/************************** Unused or Unknown Bits ****************************/
/* Toaplan generic fill unknown or unused */
#define TOAPLAN_INPUT_GENERIC_FILL_UNKNOWN(MASK) \
PORT_BIT(MASK, TOAPLAN_IP_ACTIVE_LEVEL, IPT_UNKNOWN )
#define TOAPLAN_INPUT_GENERIC_FILL_UNUSED(MASK) \
PORT_BIT(MASK, TOAPLAN_IP_ACTIVE_LEVEL, IPT_UNUSED )
/********************* Unused, Unknown or Spare Dip Switch *********************/
#define TOAPLAN_DIP_1_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x01, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!1")
#define TOAPLAN_DIP_2_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x02, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!2")
#define TOAPLAN_DIP_3_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x04, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!3")
#define TOAPLAN_DIP_4_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x08, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!4")
#define TOAPLAN_DIP_5_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x10, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!5")
#define TOAPLAN_DIP_6_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x20, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!6")
#define TOAPLAN_DIP_7_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x40, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!7")
#define TOAPLAN_DIP_8_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x80, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!8")
#define TOAPLAN_DIP_1_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x01, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!1")
#define TOAPLAN_DIP_2_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x02, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!2")
#define TOAPLAN_DIP_3_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x04, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!3")
#define TOAPLAN_DIP_4_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x08, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!4")
#define TOAPLAN_DIP_5_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x10, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!5")
#define TOAPLAN_DIP_6_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x20, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!6")
#define TOAPLAN_DIP_7_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x40, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!7")
#define TOAPLAN_DIP_8_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x80, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!8")
#define TOAPLAN_DIP_1_UNKNOWN_HIGH(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x0100, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!1")
#define TOAPLAN_DIP_2_UNKNOWN_HIGH(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x0200, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!2")
#define TOAPLAN_DIP_3_UNKNOWN_HIGH(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x0400, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!3")
#define TOAPLAN_DIP_4_UNKNOWN_HIGH(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x0800, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!4")
#define TOAPLAN_DIP_5_UNKNOWN_HIGH(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x1000, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!5")
#define TOAPLAN_DIP_6_UNKNOWN_HIGH(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x2000, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!6")
#define TOAPLAN_DIP_7_UNKNOWN_HIGH(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x4000, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!7")
#define TOAPLAN_DIP_8_UNKNOWN_HIGH(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x8000, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!8")
#define TOAPLAN_DIP_1_UNUSED_HIGH(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x0100, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!1")
#define TOAPLAN_DIP_2_UNUSED_HIGH(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x0200, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!2")
#define TOAPLAN_DIP_3_UNUSED_HIGH(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x0400, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!3")
#define TOAPLAN_DIP_4_UNUSED_HIGH(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x0800, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!4")
#define TOAPLAN_DIP_5_UNUSED_HIGH(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x1000, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!5")
#define TOAPLAN_DIP_6_UNUSED_HIGH(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x2000, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!6")
#define TOAPLAN_DIP_7_UNUSED_HIGH(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x4000, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!7")
#define TOAPLAN_DIP_8_UNUSED_HIGH(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x8000, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!8")
#define TOAPLAN_DIP_X_SPARE(MASK, DIPBANK, DIPNUMBER) \
PORT_DIPNAME( MASK, 0, "Spare" ) PORT_DIPLOCATION(#DIPBANK":!"#DIPNUMBER) \
PORT_DIPSETTING( 0, DEF_STR( Off ) ) \
PORT_DIPSETTING( MASK, DEF_STR( On ) )
#define TOAPLAN_DIP_1_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x01, DIPBANK, 1)
#define TOAPLAN_DIP_2_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x02, DIPBANK, 2)
#define TOAPLAN_DIP_3_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x04, DIPBANK, 3)
#define TOAPLAN_DIP_4_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x08, DIPBANK, 4)
#define TOAPLAN_DIP_5_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x10, DIPBANK, 5)
#define TOAPLAN_DIP_6_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x20, DIPBANK, 6)
#define TOAPLAN_DIP_7_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x40, DIPBANK, 7)
#define TOAPLAN_DIP_8_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x80, DIPBANK, 8)
#define TOAPLAN_DIP_1_SPARE_HIGH(DIPBANK) TOAPLAN_DIP_X_SPARE(0x0100, DIPBANK, 1)
#define TOAPLAN_DIP_2_SPARE_HIGH(DIPBANK) TOAPLAN_DIP_X_SPARE(0x0200, DIPBANK, 2)
#define TOAPLAN_DIP_3_SPARE_HIGH(DIPBANK) TOAPLAN_DIP_X_SPARE(0x0400, DIPBANK, 3)
#define TOAPLAN_DIP_4_SPARE_HIGH(DIPBANK) TOAPLAN_DIP_X_SPARE(0x0800, DIPBANK, 4)
#define TOAPLAN_DIP_5_SPARE_HIGH(DIPBANK) TOAPLAN_DIP_X_SPARE(0x1000, DIPBANK, 5)
#define TOAPLAN_DIP_6_SPARE_HIGH(DIPBANK) TOAPLAN_DIP_X_SPARE(0x2000, DIPBANK, 6)
#define TOAPLAN_DIP_7_SPARE_HIGH(DIPBANK) TOAPLAN_DIP_X_SPARE(0x4000, DIPBANK, 7)
#define TOAPLAN_DIP_8_SPARE_HIGH(DIPBANK) TOAPLAN_DIP_X_SPARE(0x8000, DIPBANK, 8)
/********************* Unused, Unknown or Spare Jumper *********************/
/* reverse order to DIPSW */
#define TOAPLAN_JMPR_4_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x01, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!4")
#define TOAPLAN_JMPR_3_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x02, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!3")
#define TOAPLAN_JMPR_2_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x04, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!2")
#define TOAPLAN_JMPR_1_UNKNOWN(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x08, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!1")
#define TOAPLAN_JMPR_4_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x01, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!4")
#define TOAPLAN_JMPR_3_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x02, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!3")
#define TOAPLAN_JMPR_2_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x04, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!2")
#define TOAPLAN_JMPR_1_UNUSED(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x08, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!1")
#define TOAPLAN_JMPR_4_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x01, DIPBANK, 4)
#define TOAPLAN_JMPR_3_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x02, DIPBANK, 3)
#define TOAPLAN_JMPR_2_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x04, DIPBANK, 2)
#define TOAPLAN_JMPR_1_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x08, DIPBANK, 1)
#define TOAPLAN_JMPR_4_UNKNOWN_HIGH_NIBBLE(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x10, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!4")
#define TOAPLAN_JMPR_3_UNKNOWN_HIGH_NIBBLE(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x20, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!3")
#define TOAPLAN_JMPR_2_UNKNOWN_HIGH_NIBBLE(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x40, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!2")
#define TOAPLAN_JMPR_1_UNKNOWN_HIGH_NIBBLE(DIPBANK) PORT_DIPUNKNOWN_DIPLOC(0x80, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!1")
#define TOAPLAN_JMPR_4_UNUSED_HIGH_NIBBLE(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x10, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!4")
#define TOAPLAN_JMPR_3_UNUSED_HIGH_NIBBLE(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x20, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!3")
#define TOAPLAN_JMPR_2_UNUSED_HIGH_NIBBLE(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x40, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!2")
#define TOAPLAN_JMPR_1_UNUSED_HIGH_NIBBLE(DIPBANK) PORT_DIPUNUSED_DIPLOC(0x80, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!1")
#define TOAPLAN_JMPR_4_SPARE_HIGH_NIBBLE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x10, DIPBANK, 4)
#define TOAPLAN_JMPR_3_SPARE_HIGH_NIBBLE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x20, DIPBANK, 3)
#define TOAPLAN_JMPR_2_SPARE_HIGH_NIBBLE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x40, DIPBANK, 2)
#define TOAPLAN_JMPR_1_SPARE_HIGH_NIBBLE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x80, DIPBANK, 1)
/* snowbro2 --- another bit */
#define SNOWBRO2_JMPR_4_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x0400, DIPBANK, 4) /* printed "JP20" */
#define SNOWBRO2_JMPR_3_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x0800, DIPBANK, 3) /* printed "JP19" */
#define SNOWBRO2_JMPR_2_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x1000, DIPBANK, 2) /* printed "JP18" */
#define SNOWBRO2_JMPR_1_SPARE(DIPBANK) TOAPLAN_DIP_X_SPARE(0x2000, DIPBANK, 1) /* printed "JP17" */
/**************************** Dip Switch A ****************************/
#define TOAPLAN_DIP_A1_CABINET(DIPBANK) \
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION(#DIPBANK":!1") \
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
/* grindstm --- inverted active level */
#define GRINDSTM_DIP_A1_CABINET(DIPBANK) \
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION(#DIPBANK":!1") \
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) \
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
#define TOAPLAN_DIP_A2_FLIP_SCREEN(DIPBANK) \
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION(#DIPBANK":!2") \
PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
#define TOAPLAN_DIP_A3_SERVICE_MODE(DIPBANK) \
PORT_SERVICE_DIPLOC( 0x04, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!3" )
#define TOAPLAN_DIP_A4_DEMO_SOUNDS(DIPBANK) \
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION(#DIPBANK":!4") \
PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
#define TOAPLAN_DSWA_BITS_1_TO_3_LOC(DIPBANK) \
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION(#DIPBANK":2") \
PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x02, DEF_STR( On ) ) \
TOAPLAN_DSWA_BITS_2_TO_3_LOC(DIPBANK)
/*
#define TOAPLAN_DIP_A56_COINAGE_A(DIPBANK) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":!5,!6") \
PORT_DIPSETTING( 0x00, ? ) \
PORT_DIPSETTING( 0x10, ? ) \
PORT_DIPSETTING( 0x20, ? ) \
PORT_DIPSETTING( 0x30, ? )
*/
#define TOAPLAN_MACHINE_COCKTAIL_LOC(DIPBANK) \
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION(#DIPBANK":1") \
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) \
TOAPLAN_DSWA_BITS_1_TO_3_LOC(DIPBANK)
/*
#define TOAPLAN_DIP_A78_COINAGE_B(DIPBANK) \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":!7,!8") \
PORT_DIPSETTING( 0x00, ? ) \
PORT_DIPSETTING( 0x40, ? ) \
PORT_DIPSETTING( 0x80, ? ) \
PORT_DIPSETTING( 0xc0, ? )
*/
#define TOAPLAN_MACHINE_NO_COCKTAIL_LOC(DIPBANK) \
PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_HIGH, #DIPBANK":1" ) \
TOAPLAN_DSWA_BITS_1_TO_3_LOC(DIPBANK)
/* RAIZING --- another bit */
#define RAIZING_DIP_A1_SERVICE_MODE(DIPBANK) \
PORT_SERVICE_DIPLOC( 0x01, TOAPLAN_IP_ACTIVE_LEVEL, #DIPBANK":!1" )
#define RAIZING_DIP_A2_CREDITS_TO_START(DIPBANK) \
PORT_DIPNAME( 0x02, 0x00, "Credits to Start" ) PORT_DIPLOCATION(#DIPBANK":!2") \
PORT_DIPSETTING( 0x00, "1" ) \
PORT_DIPSETTING( 0x02, "2" )
/* without location */
#define TOAPLAN_DSWA_BITS_2_TO_3 \
PORT_SERVICE( 0x04, IP_ACTIVE_HIGH ) \
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) \
PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
/**************************** Dip Switch B ****************************/
#define TOAPLAN_DSWA_BITS_1_TO_3 \
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Flip_Screen ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x02, DEF_STR( On ) ) \
TOAPLAN_DSWA_BITS_2_TO_3
#define TOAPLAN_DIP_B12_DIFFICULTY(DIPBANK) \
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION(#DIPBANK":!1,!2") \
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) \
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) \
PORT_DIPSETTING( 0x03, DEF_STR( Very_Hard ) )
#define TOAPLAN_MACHINE_COCKTAIL \
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) \
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) \
TOAPLAN_DSWA_BITS_1_TO_3
/*
#define TOAPLAN_DIP_B34_BONUS_LIFE(DIPBANK) \
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION(#DIPBANK":!3,!4") \
PORT_DIPSETTING( 0x00, ? ) \
PORT_DIPSETTING( 0x04, ? ) \
PORT_DIPSETTING( 0x08, ? ) \
PORT_DIPSETTING( 0x0c, ? )
*/
#define TOAPLAN_MACHINE_NO_COCKTAIL \
PORT_DIPUNUSED( 0x01, IP_ACTIVE_HIGH ) \
TOAPLAN_DSWA_BITS_1_TO_3
/*
#define TOAPLAN_DIP_B56_LIVES(DIPBANK) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION(#DIPBANK":!5,!6") \
PORT_DIPSETTING( 0x00, ? ) \
PORT_DIPSETTING( 0x10, ? ) \
PORT_DIPSETTING( 0x20, ? ) \
PORT_DIPSETTING( 0x30, ? )
*/
#define TOAPLAN_DIP_B7_SHOW_DIPSW_SETTINGS(DIPBANK) \
PORT_DIPNAME( 0x40, 0x00, "Show Dip Switches Settings" ) PORT_DIPLOCATION(#DIPBANK":!7") \
PORT_DIPSETTING( 0x00, DEF_STR( No ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
#define TOAPLAN_DIP_B7_INVULNERABILITY(DIPBANK) \
PORT_DIPNAME( 0x40, 0x00, "Invulnerability (Cheat)" ) PORT_DIPLOCATION(#DIPBANK":!7") \
PORT_DIPSETTING( 0x00, DEF_STR( No ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
#define TOAPLAN_DIP_B8_ALLOW_CONTINUE_OFF_YES(DIPBANK) \
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION(#DIPBANK":!8") \
PORT_DIPSETTING( 0x80, DEF_STR( No ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
/* twincobr, fshark --- inverted active level */
#define TWINCOBR_DIP_B8_ALLOW_CONTINUE_OFF_NO(DIPBANK) \
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION(#DIPBANK":!8") \
PORT_DIPSETTING( 0x00, DEF_STR( No ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
/* wardner --- another bit */
#define WARDNER_DIP_B7_ALLOW_CONTINUE_OFF_YES(DIPBANK) \
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION(#DIPBANK":!7") \
PORT_DIPSETTING( 0x40, DEF_STR( No ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
/**************************** Coinage Dip Swicthes ****************************/
/* with location */
#define TOAPLAN_COINAGE_JAPAN_OLD_COIN_A_LOC(DIPBANK) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":5,6") \
#define TOAPLAN_DIP_A56_COINAGE_A_JAPAN(DIPBANK) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":!5,!6") \
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x30, DEF_STR( 2C_3C ) ) \
PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) )
//Very similar to TAITO JAPAN OLD A (but active level is different)
#define TOAPLAN_COINAGE_JAPAN_OLD_COIN_B_LOC(DIPBANK) \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":7,8") \
#define TOAPLAN_DIP_A78_COINAGE_B_JAPAN(DIPBANK) \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":!7,!8") \
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_3C ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
//Very similar to TAITO JAPAN OLD B (but active level is different)
#define TOAPLAN_COINAGE_JAPAN_NEW_COIN_A_LOC(DIPBANK) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":5,6") \
PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) )
#define TOAPLAN_COINAGE_JAPAN_NEW_COIN_B_LOC(DIPBANK) \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":7,8") \
PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
#define TOAPLAN_COINAGE_WORLD_COIN_A_LOC(DIPBANK) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":5,6") \
#define TOAPLAN_DIP_A56_COINAGE_A_EUROPE(DIPBANK) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":!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 ) )
//Very similar to TAITO WORLD A (but active level is different)
#define TOAPLAN_COINAGE_WORLD_COIN_B_LOC(DIPBANK) \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":7,8") \
#define TOAPLAN_DIP_A78_COINAGE_B_EUROPE(DIPBANK) \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":!7,!8") \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) \
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) )
//Very similar to TAITO WORLD B (but active level is different)
#define TOAPLAN_COINAGE_US_COIN_START_LOC(DIPBANK) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION(#DIPBANK":5,6") \
PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) ) \
PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) \
#define TOAPLAN_DIP_A5678_COINAGE_JAPAN(DIPBANK) \
TOAPLAN_DIP_A56_COINAGE_A_JAPAN(DIPBANK) \
TOAPLAN_DIP_A78_COINAGE_B_JAPAN(DIPBANK)
#define TOAPLAN_DIP_A5678_COINAGE_EUROPE(DIPBANK) \
TOAPLAN_DIP_A56_COINAGE_A_EUROPE(DIPBANK) \
TOAPLAN_DIP_A78_COINAGE_B_EUROPE(DIPBANK)
#define TOAPLAN_DIP_A5678_COINAGE_DUAL_FORM(COMPAREPORT, MASK, VALUE, DIPBANK, TRUECOND, FALSECOND) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":!5,!6") \
PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) ) PORT_CONDITION(#COMPAREPORT,MASK,TRUECOND,VALUE) \
PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) PORT_CONDITION(#COMPAREPORT,MASK,TRUECOND,VALUE) \
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_CONDITION(#COMPAREPORT,MASK,TRUECOND,VALUE) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_CONDITION(#COMPAREPORT,MASK,TRUECOND,VALUE) \
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_CONDITION(#COMPAREPORT,MASK,FALSECOND,VALUE) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_CONDITION(#COMPAREPORT,MASK,FALSECOND,VALUE) \
PORT_DIPSETTING( 0x30, DEF_STR( 2C_3C ) ) PORT_CONDITION(#COMPAREPORT,MASK,FALSECOND,VALUE) \
PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) ) PORT_CONDITION(#COMPAREPORT,MASK,FALSECOND,VALUE) \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":!7,!8") \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) PORT_CONDITION(#COMPAREPORT,MASK,TRUECOND,VALUE) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_CONDITION(#COMPAREPORT,MASK,TRUECOND,VALUE) \
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) PORT_CONDITION(#COMPAREPORT,MASK,TRUECOND,VALUE) \
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) ) PORT_CONDITION(#COMPAREPORT,MASK,TRUECOND,VALUE) \
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) PORT_CONDITION(#COMPAREPORT,MASK,FALSECOND,VALUE) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_CONDITION(#COMPAREPORT,MASK,FALSECOND,VALUE) \
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_3C ) ) PORT_CONDITION(#COMPAREPORT,MASK,FALSECOND,VALUE) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_CONDITION(#COMPAREPORT,MASK,FALSECOND,VALUE)
#define TOAPLAN_DIP_A5678_COINAGE_DUAL(COMPAREPORT, MASK, VALUE, DIPBANK) \
TOAPLAN_DIP_A5678_COINAGE_DUAL_FORM(COMPAREPORT, MASK, VALUE, DIPBANK, PORTCOND_EQUALS, PORTCOND_NOTEQUALS)
/* If EQUAL then same as COINAGE_EUROPE
else same as COINAGE_JAPAN */
#define TOAPLAN_DIP_A5678_COINAGE_DUAL_GREATERTHAN(COMPAREPORT, MASK, VALUE, DIPBANK) \
TOAPLAN_DIP_A5678_COINAGE_DUAL_FORM(COMPAREPORT, MASK, VALUE, DIPBANK, PORTCOND_GREATERTHAN, PORTCOND_NOTGREATERTHAN)
/* If GREATERTHAN then same as COINAGE_EUROPE
else same as COINAGE_JAPAN */
/* RAIZING */
#define RAIZING_DIP_A345_COINAGE_A(DIPBANK) \
PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":!3,!4,!5") \
PORT_DIPSETTING( 0x18, DEF_STR( 4C_1C ) ) \
PORT_DIPSETTING( 0x14, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
#define TOAPLAN_COINAGE_US_COIN_CONT_LOC(DIPBANK) \
PORT_DIPNAME( 0xc0, 0x00, "Price to Continue" ) PORT_DIPLOCATION(#DIPBANK":7,8") \
PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x00, "Same as Start" )
#define TOAPLAN_COINAGE_JAPAN_OLD_LOC(DIPBANK) \
TOAPLAN_COINAGE_JAPAN_OLD_COIN_A_LOC(DIPBANK) \
TOAPLAN_COINAGE_JAPAN_OLD_COIN_B_LOC(DIPBANK)
#define TOAPLAN_COINAGE_JAPAN_NEW_LOC(DIPBANK) \
TOAPLAN_COINAGE_JAPAN_NEW_COIN_A_LOC(DIPBANK) \
TOAPLAN_COINAGE_JAPAN_NEW_COIN_B_LOC(DIPBANK)
#define TOAPLAN_COINAGE_WORLD_LOC(DIPBANK) \
TOAPLAN_COINAGE_WORLD_COIN_A_LOC(DIPBANK) \
TOAPLAN_COINAGE_WORLD_COIN_B_LOC(DIPBANK)
#define TOAPLAN_COINAGE_US_LOC(DIPBANK) \
TOAPLAN_COINAGE_US_COIN_START_LOC(DIPBANK) \
TOAPLAN_COINAGE_US_COIN_CONT_LOC(DIPBANK)
#define TOAPLAN_COINAGE_DUAL_LOC(DIP, MASK, WORLD, DIPBANK) \
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(#DIPBANK":5,6") \
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION(#DIPBANK":7,8") \
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD)
/* without location */
#define TOAPLAN_COINAGE_JAPAN_OLD_COIN_A \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) \
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x30, DEF_STR( 2C_3C ) ) \
PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) ) \
PORT_DIPSETTING( 0x1c, DEF_STR( Free_Play ) )
#define TOAPLAN_COINAGE_JAPAN_OLD_COIN_B \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_3C ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
#define RAIZING_DIP_A678_COINAGE_B_IF_A_ISNT_FREE(COMPAREPORT, DIPBANK) \
PORT_DIPNAME( 0xe0, 0x00, DEF_STR( Coin_B ) ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION(#DIPBANK":!6,!7,!8") \
PORT_DIPSETTING( 0xc0, DEF_STR( 4C_1C ) ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
/* PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) */ \
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
#define TOAPLAN_COINAGE_JAPAN_NEW_COIN_A \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) \
PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) )
#define TOAPLAN_COINAGE_JAPAN_NEW_COIN_B \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) \
PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
#define TOAPLAN_COINAGE_WORLD_COIN_A \
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 ) )
#define TOAPLAN_COINAGE_WORLD_COIN_B \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) \
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) )
#define TOAPLAN_COINAGE_US_COIN_START \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coinage ) ) \
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 ) )
#define TOAPLAN_COINAGE_US_COIN_CONT \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Continue_Price ) ) \
PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x00, "Same as Start" )
#define TOAPLAN_COINAGE_JAPAN_OLD \
TOAPLAN_COINAGE_JAPAN_OLD_COIN_A \
TOAPLAN_COINAGE_JAPAN_OLD_COIN_B
#define TOAPLAN_COINAGE_JAPAN_NEW \
TOAPLAN_COINAGE_JAPAN_NEW_COIN_A \
TOAPLAN_COINAGE_JAPAN_NEW_COIN_B
#define TOAPLAN_COINAGE_WORLD \
TOAPLAN_COINAGE_WORLD_COIN_A \
TOAPLAN_COINAGE_WORLD_COIN_B
#define TOAPLAN_COINAGE_US \
TOAPLAN_COINAGE_US_COIN_START \
TOAPLAN_COINAGE_US_COIN_CONT
#define TOAPLAN_COINAGE_DUAL(DIP, MASK, WORLD) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) ) \
PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x30, DEF_STR( 2C_3C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_3C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_NOTEQUALS,WORLD) \
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD) \
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) ) PORT_CONDITION(#DIP,MASK,PORTCOND_EQUALS,WORLD)
#define RAIZING_DIP_A678_COINAGE_B_IF_A_ISNT_FREE_DUP(COMPAREPORT, DIPBANK) \
PORT_DIPNAME( 0xe0, 0x00, DEF_STR( Coin_B ) ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) PORT_DIPLOCATION(#DIPBANK":!6,!7,!8") \
PORT_DIPSETTING( 0xc0, " 4 Coins/1 Credit" ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0xa0, " 3 Coins/1 Credit" ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0x80, " 2 Coins/1 Credit" ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0xe0, " 1 Coin/1 Credit" ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) /* duplicated setting */ \
PORT_DIPSETTING( 0x20, " 1 Coin/2 Credits" ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0x40, " 1 Coin/3 Credits" ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c) \
PORT_DIPSETTING( 0x60, " 1 Coin/4 Credits" ) PORT_CONDITION(#COMPAREPORT, 0x001c, PORTCOND_NOTEQUALS, 0x001c)
/* Current(0.141) MAME doesn't allow duplicated settins about coinage
(see function "validate_dip_settings()" in file "src\emu\validity.c")
We can not write "PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )"
But we can write "PORT_DIPSETTING( 0x00, " 1 Coin/1 Credit" )"
^ Don't delete this space (to pass function "get_defstr_index()") */
/************************** Difficulty Dip Switches ***************************/
/* with location */
#define TOAPLAN_DIFFICULTY_LOC(DIPBANK) \
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION(#DIPBANK":1,2") \
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Medium ) ) \
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) \
PORT_DIPSETTING( 0x03, DEF_STR( Hardest ) )
/* without location */
#define TOAPLAN_DIFFICULTY \
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) \
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Medium ) ) \
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) \
PORT_DIPSETTING( 0x03, DEF_STR( Hardest ) )
/************************** Joysticks and buttons *****************************/
/************************** Joysticks *****************************/
/* generic (might be moved elsewhere) */
#define INPUT_GENERIC_JOY_LOW_NIBBLE(PL, STATE, WAY, B01, B02, B04, B08) \
PORT_BIT( 0x01, STATE, IPT_JOYSTICK_##B01 ) WAY PORT_PLAYER(PL) \
PORT_BIT( 0x02, STATE, IPT_JOYSTICK_##B02 ) WAY PORT_PLAYER(PL) \
PORT_BIT( 0x04, STATE, IPT_JOYSTICK_##B04 ) WAY PORT_PLAYER(PL) \
PORT_BIT( 0x08, STATE, IPT_JOYSTICK_##B08 ) WAY PORT_PLAYER(PL)
#define INPUT_GENERIC_JOY_NIBBLE(PL, LOWZERO, STATE, WAY, BIT0, BIT1, BIT2, BIT3) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_JOYSTICK_##BIT0) WAY PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_JOYSTICK_##BIT1) WAY PORT_PLAYER(PL) \
PORT_BIT(0x4##LOWZERO, STATE, IPT_JOYSTICK_##BIT2) WAY PORT_PLAYER(PL) \
PORT_BIT(0x8##LOWZERO, STATE, IPT_JOYSTICK_##BIT3) WAY PORT_PLAYER(PL)
/* Toaplan generic joysticks */
#define TOAPLAN_INPUT_GENERIC_JOY_UDLR(PL) \
INPUT_GENERIC_JOY_NIBBLE(PL, , TOAPLAN_IP_ACTIVE_LEVEL, PORT_8WAY, UP, DOWN, LEFT, RIGHT)
#define TOAPLAN_INPUT_GENERIC_JOY_UDLR_HIGH(PL) \
INPUT_GENERIC_JOY_NIBBLE(PL, 00, TOAPLAN_IP_ACTIVE_LEVEL, PORT_8WAY, UP, DOWN, LEFT, RIGHT)
/* Toaplan generic (more might be needed) */
#define TOAPLAN_GENERIC_JOY_MONO_UDLR(PL) \
INPUT_GENERIC_JOY_LOW_NIBBLE(PL, IP_ACTIVE_HIGH, PORT_8WAY, UP, DOWN, LEFT, RIGHT)
/************************** Buttons *****************************/
/* generic (might be moved elsewhere) */
/*
#define INPUT_GENERIC_BUTTONS_NIBBLE(PL, LOWZERO, STATE, BIT0, BIT1, BIT2, BIT3) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_##BIT0) PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_##BIT1) PORT_PLAYER(PL) \
PORT_BIT(0x4##LOWZERO, STATE, IPT_##BIT2) PORT_PLAYER(PL) \
PORT_BIT(0x8##LOWZERO, STATE, IPT_##BIT3) PORT_PLAYER(PL)
*/
/* Toaplan generic buttons (more might be needed) */
#define TOAPLAN_INPUT_GENERIC_1_BUTTON_NIBBLE(PL, LOWZERO, STATE) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_BUTTON1) PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_BUTTON2) PORT_PLAYER(PL) PORT_NAME("Spare (P"#PL" Button 2)") \
PORT_BIT(0x4##LOWZERO, STATE, IPT_BUTTON3) PORT_PLAYER(PL) PORT_NAME("Spare (P"#PL" Button 3)") \
PORT_BIT(0x8##LOWZERO, STATE, IPT_BUTTON4) PORT_PLAYER(PL) PORT_NAME("Spare (P"#PL" Button 4)")
#define TOAPLAN_INPUT_GENERIC_2_BUTTONS_NIBBLE(PL, LOWZERO, STATE) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_BUTTON1) PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_BUTTON2) PORT_PLAYER(PL) \
PORT_BIT(0x4##LOWZERO, STATE, IPT_BUTTON3) PORT_PLAYER(PL) PORT_NAME("Spare (P"#PL" Button 3)") \
PORT_BIT(0x8##LOWZERO, STATE, IPT_BUTTON4) PORT_PLAYER(PL) PORT_NAME("Spare (P"#PL" Button 4)")
#define TOAPLAN_INPUT_GENERIC_3_BUTTONS_NIBBLE(PL, LOWZERO, STATE) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_BUTTON1) PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_BUTTON2) PORT_PLAYER(PL) \
PORT_BIT(0x4##LOWZERO, STATE, IPT_BUTTON3) PORT_PLAYER(PL) \
PORT_BIT(0x8##LOWZERO, STATE, IPT_BUTTON4) PORT_PLAYER(PL) PORT_NAME("Spare (P"#PL" Button 4)")
#define TOAPLAN_INPUT_GENERIC_4_BUTTONS_NIBBLE(PL, LOWZERO, STATE) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_BUTTON1) PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_BUTTON2) PORT_PLAYER(PL) \
PORT_BIT(0x4##LOWZERO, STATE, IPT_BUTTON3) PORT_PLAYER(PL) \
PORT_BIT(0x8##LOWZERO, STATE, IPT_BUTTON4) PORT_PLAYER(PL)
#define TOAPLAN_INPUT_GENERIC_1_BUTTON_INCLUDING_START_NIBBLE(PL, LOWZERO, STATE) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_BUTTON1) PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_BUTTON2) PORT_PLAYER(PL) PORT_NAME("Spare (P"#PL" Button 2)") \
PORT_BIT(0x4##LOWZERO, STATE, IPT_START##PL ) \
PORT_BIT(0x8##LOWZERO, STATE, IPT_UNKNOWN )
#define TOAPLAN_INPUT_GENERIC_2_BUTTONS_INCLUDING_START_NIBBLE(PL, LOWZERO, STATE) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_BUTTON1) PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_BUTTON2) PORT_PLAYER(PL) \
PORT_BIT(0x4##LOWZERO, STATE, IPT_START##PL ) \
PORT_BIT(0x8##LOWZERO, STATE, IPT_UNKNOWN )
/*
#define TOAPLAN_INPUT_GENERIC_1_BUTTON_INCLUDING_START_NIBBLE(PL, LOWZERO, STATE) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_BUTTON1) PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_BUTTON2) PORT_PLAYER(PL) PORT_NAME("Spare (P"#PL" Button 2)") \
PORT_BIT(0x4##LOWZERO, STATE, IPT_START##PL ) \
PORT_BIT(0x8##LOWZERO, STATE, IPT_BUTTON4) PORT_PLAYER(PL) PORT_NAME("Spare (P"#PL" Button 4)")
#define TOAPLAN_INPUT_GENERIC_2_BUTTONS_INCLUDING_START_NIBBLE(PL, LOWZERO, STATE) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_BUTTON1) PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_BUTTON2) PORT_PLAYER(PL) \
PORT_BIT(0x4##LOWZERO, STATE, IPT_START##PL ) \
PORT_BIT(0x8##LOWZERO, STATE, IPT_BUTTON4) PORT_PLAYER(PL) PORT_NAME("Spare (P"#PL" Button 4)")
#define TOAPLAN_INPUT_GENERIC_3_BUTTONS_INCLUDING_START_NIBBLE(PL, LOWZERO, STATE) \
PORT_BIT(0x1##LOWZERO, STATE, IPT_BUTTON1) PORT_PLAYER(PL) \
PORT_BIT(0x2##LOWZERO, STATE, IPT_BUTTON2) PORT_PLAYER(PL) \
PORT_BIT(0x4##LOWZERO, STATE, IPT_START##PL ) \
PORT_BIT(0x8##LOWZERO, STATE, IPT_BUTTON4) PORT_PLAYER(PL)
*/
/* Assign 8bits or low_of_16bits */
#define TOAPLAN_INPUT_GENERIC_1_BUTTON(PL) \
TOAPLAN_INPUT_GENERIC_1_BUTTON_NIBBLE(PL, 0, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_INPUT_GENERIC_2_BUTTONS(PL) \
TOAPLAN_INPUT_GENERIC_2_BUTTONS_NIBBLE(PL, 0, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_INPUT_GENERIC_3_BUTTONS(PL) \
TOAPLAN_INPUT_GENERIC_3_BUTTONS_NIBBLE(PL, 0, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_INPUT_GENERIC_4_BUTTONS(PL) \
TOAPLAN_INPUT_GENERIC_4_BUTTONS_NIBBLE(PL, 0, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_INPUT_GENERIC_1_BUTTON_START(PL) \
TOAPLAN_INPUT_GENERIC_1_BUTTON_INCLUDING_START_NIBBLE(PL, 0, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_INPUT_GENERIC_2_BUTTONS_START(PL) \
TOAPLAN_INPUT_GENERIC_2_BUTTONS_INCLUDING_START_NIBBLE(PL, 0, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_INPUT_GENERIC_3_BUTTONS_START(PL) \
TOAPLAN_INPUT_GENERIC_3_BUTTONS_INCLUDING_START_NIBBLE(PL, 0, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_GENERIC_BUTTONS_HIGH_NIBBLE(PL, STATE, BUTTON_A, BUTTON_B) \
PORT_BIT( 0x10, STATE, IPT_##BUTTON_A ) PORT_PLAYER(PL) \
PORT_BIT( 0x20, STATE, IPT_##BUTTON_B ) PORT_PLAYER(PL) \
/* DO NOT fill bit 6 as it may be defined as START button ! */
/* Assign high_of_16bits */
#define TOAPLAN_INPUT_GENERIC_1_BUTTON_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_1_BUTTON_NIBBLE(PL, 000, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_GENERIC_1_BUTTON(PL) \
TOAPLAN_GENERIC_BUTTONS_HIGH_NIBBLE(PL, IP_ACTIVE_HIGH, BUTTON1, UNKNOWN) \
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
#define TOAPLAN_INPUT_GENERIC_2_BUTTONS_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_2_BUTTONS_NIBBLE(PL, 000, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_GENERIC_2_BUTTONS(PL) \
TOAPLAN_GENERIC_BUTTONS_HIGH_NIBBLE(PL, IP_ACTIVE_HIGH, BUTTON1, BUTTON2) \
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
#define TOAPLAN_INPUT_GENERIC_3_BUTTONS_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_3_BUTTONS_NIBBLE(PL, 000, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_GENERIC_3_BUTTONS(PL) \
TOAPLAN_GENERIC_BUTTONS_HIGH_NIBBLE(PL, IP_ACTIVE_HIGH, BUTTON1, BUTTON2) \
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(PL) \
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
#define TOAPLAN_INPUT_GENERIC_4_BUTTONS_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_4_BUTTONS_NIBBLE(PL, 000, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_GENERIC_1_BUTTON_START(PL) \
TOAPLAN_GENERIC_BUTTONS_HIGH_NIBBLE(PL, IP_ACTIVE_HIGH, BUTTON1, UNKNOWN) \
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START##PL ) \
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
#define TOAPLAN_INPUT_GENERIC_1_BUTTON_START_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_1_BUTTON_INCLUDING_START_NIBBLE(PL, 000, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_GENERIC_2_BUTTONS_START(PL) \
TOAPLAN_GENERIC_BUTTONS_HIGH_NIBBLE(PL, IP_ACTIVE_HIGH, BUTTON1, BUTTON2) \
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START##PL ) \
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
#define TOAPLAN_INPUT_GENERIC_2_BUTTONS_START_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_2_BUTTONS_INCLUDING_START_NIBBLE(PL, 000, TOAPLAN_IP_ACTIVE_LEVEL)
#define TOAPLAN_INPUT_GENERIC_3_BUTTONS_START_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_3_BUTTONS_INCLUDING_START_NIBBLE(PL, 000, TOAPLAN_IP_ACTIVE_LEVEL)
/* Toaplan games (more might be needed) */
/************************** Merge Joysticks And Buttons *****************************/
#define TOAPLAN_JOY_UDLR_1_BUTTON(PL) \
TOAPLAN_GENERIC_JOY_MONO_UDLR(PL) \
TOAPLAN_GENERIC_1_BUTTON(PL)
TOAPLAN_INPUT_GENERIC_JOY_UDLR(PL) \
TOAPLAN_INPUT_GENERIC_1_BUTTON(PL)
#define TOAPLAN_JOY_UDLR_2_BUTTONS(PL) \
TOAPLAN_GENERIC_JOY_MONO_UDLR(PL) \
TOAPLAN_GENERIC_2_BUTTONS(PL)
TOAPLAN_INPUT_GENERIC_JOY_UDLR(PL) \
TOAPLAN_INPUT_GENERIC_2_BUTTONS(PL)
#define TOAPLAN_JOY_UDLR_3_BUTTONS(PL) \
TOAPLAN_GENERIC_JOY_MONO_UDLR(PL) \
TOAPLAN_GENERIC_3_BUTTONS(PL)
TOAPLAN_INPUT_GENERIC_JOY_UDLR(PL) \
TOAPLAN_INPUT_GENERIC_3_BUTTONS(PL)
#define TOAPLAN_JOY_UDLR_4_BUTTONS(PL) \
TOAPLAN_INPUT_GENERIC_JOY_UDLR(PL) \
TOAPLAN_INPUT_GENERIC_4_BUTTONS(PL)
#define TOAPLAN_JOY_UDLR_1_BUTTON_START(PL) \
TOAPLAN_GENERIC_JOY_MONO_UDLR(PL) \
TOAPLAN_GENERIC_1_BUTTON_START(PL)
TOAPLAN_INPUT_GENERIC_JOY_UDLR(PL) \
TOAPLAN_INPUT_GENERIC_1_BUTTON_START(PL)
#define TOAPLAN_JOY_UDLR_2_BUTTONS_START(PL) \
TOAPLAN_GENERIC_JOY_MONO_UDLR(PL) \
TOAPLAN_GENERIC_2_BUTTONS_START(PL)
TOAPLAN_INPUT_GENERIC_JOY_UDLR(PL) \
TOAPLAN_INPUT_GENERIC_2_BUTTONS_START(PL)
#define TOAPLAN_JOY_UDLR_3_BUTTONS_START(PL) \
TOAPLAN_INPUT_GENERIC_JOY_UDLR(PL) \
TOAPLAN_INPUT_GENERIC_3_BUTTONS_START(PL)
#define TOAPLAN_JOY_UDLR_1_BUTTON_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_JOY_UDLR_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_1_BUTTON_HIGH(PL)
#define TOAPLAN_JOY_UDLR_2_BUTTONS_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_JOY_UDLR_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_2_BUTTONS_HIGH(PL)
#define TOAPLAN_JOY_UDLR_3_BUTTONS_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_JOY_UDLR_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_3_BUTTONS_HIGH(PL)
#define TOAPLAN_JOY_UDLR_4_BUTTONS_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_JOY_UDLR_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_4_BUTTONS_HIGH(PL)
#define TOAPLAN_JOY_UDLR_1_BUTTON_START_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_JOY_UDLR_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_1_BUTTON_START_HIGH(PL)
#define TOAPLAN_JOY_UDLR_2_BUTTONS_START_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_JOY_UDLR_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_2_BUTTONS_START_HIGH(PL)
#define TOAPLAN_JOY_UDLR_3_BUTTONS_START_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_JOY_UDLR_HIGH(PL) \
TOAPLAN_INPUT_GENERIC_3_BUTTONS_START_HIGH(PL)
/******************************* Test switch **********************************/
/******************************* System switchs **********************************/
/* Set to 0 if you want to see the "TEST" switch as a standard input
Set to 1 if you want to see the "TEST" switch as a fake Dip Switch */
#define TOAPLAN_SYSTEM_INPUT \
PORT_BIT(0x01, TOAPLAN_IP_ACTIVE_LEVEL, IPT_SERVICE1) \
PORT_BIT(0x02, TOAPLAN_IP_ACTIVE_LEVEL, IPT_TILT) \
PORT_BIT(0x04, TOAPLAN_IP_ACTIVE_LEVEL, IPT_SERVICE2) PORT_NAME(DEF_STR(Test)) /* JAMMA "Test" */ \
PORT_BIT(0x08, TOAPLAN_IP_ACTIVE_LEVEL, IPT_COIN1) \
PORT_BIT(0x10, TOAPLAN_IP_ACTIVE_LEVEL, IPT_COIN2) \
PORT_BIT(0x20, TOAPLAN_IP_ACTIVE_LEVEL, IPT_START1) \
PORT_BIT(0x40, TOAPLAN_IP_ACTIVE_LEVEL, IPT_START2)
/* "Service Coin 2" is substitute for "Test".
The right JAMMA connecter doesn't have "Service Coin 2". */
#define SHOW_TEST_AS_DIP 1
#define TOAPLAN_SYSTEM_INPUT_WITHOUT_VBLANK \
TOAPLAN_SYSTEM_INPUT \
PORT_BIT(0x80, TOAPLAN_IP_ACTIVE_LEVEL, IPT_UNKNOWN)
#if SHOW_TEST_AS_DIP
#define TOAPLAN_TEST_SWITCH(MASK, STATE) \
PORT_DIPNAME( MASK, MASK & STATE, "Test Switch" ) PORT_CODE(KEYCODE_F1) PORT_TOGGLE \
PORT_DIPSETTING( MASK & STATE, DEF_STR( Off ) ) \
PORT_DIPSETTING( MASK & ~STATE, DEF_STR( On ) )
#else
#define TOAPLAN_TEST_SWITCH(MASK, STATE) \
PORT_BIT( MASK, MASK & STATE, IPT_SPECIAL ) PORT_NAME("Test Switch") PORT_CODE(KEYCODE_F1)
#endif
#define TOAPLAN_SYSTEM_INPUT_WITH_VBLANK \
TOAPLAN_SYSTEM_INPUT \
PORT_BIT(0x80, TOAPLAN_IP_ACTIVE_LEVEL, IPT_VBLANK)
#define TOAPLAN_VBLANK_INPUT_8BITS \
PORT_BIT(0x7f, TOAPLAN_IP_ACTIVE_LEVEL, IPT_UNKNOWN) \
PORT_BIT(0x80, TOAPLAN_IP_ACTIVE_LEVEL, IPT_VBLANK)
#define TOAPLAN_VBLANK_INPUT_16BITS \
PORT_BIT(0x0001, TOAPLAN_IP_ACTIVE_LEVEL, IPT_VBLANK) \
PORT_BIT(0xfffe, TOAPLAN_IP_ACTIVE_LEVEL, IPT_UNKNOWN)
/******************************* Modify Test Switch **********************************/
#define TOAPLAN_TEST_SWITCH_RENAME(_name) \
PORT_BIT(0x04, TOAPLAN_IP_ACTIVE_LEVEL, IPT_SERVICE2) PORT_NAME(_name)
#define TOAPLAN_TEST_SWITCH_TOGGLE_RENAME(_name) \
TOAPLAN_TEST_SWITCH_RENAME(_name) PORT_TOGGLE
#define TOAPLAN_TEST_SWITCH_TOGGLE \
TOAPLAN_TEST_SWITCH_TOGGLE_RENAME("Test (Toggle Switch)")
/* If toggle_switch is more convenient than push_switch, set and describe it. */
#define TOAPLAN_TEST_SWITCH_SPARE \
TOAPLAN_TEST_SWITCH_RENAME("Spare (Test)")
/* No effect is found.
Don't set "Unused" or you seal up the unknown easter eggs. */
/*******************************************************************************/
#endif /* __TOAPLIPT_H__ */

View File

@ -407,25 +407,21 @@ static void draw_sprites(running_machine& machine, bitmap_t* bitmap)
code ^= flipy << big_yshift;
}
for (int y = 0; y <= big; ++y)
{
int y;
for (y = 0; y <= big; ++y)
for (int x = 0; x <= big; ++x)
{
int x;
for (x = 0; x <= big; ++x)
{
int const tile = code ^ (x << big_xshift) ^ (y << big_yshift);
int const tile = code ^ (x << big_xshift) ^ (y << big_yshift);
drawgfx_transpen(bitmap, 0, gfx,
tile,
color,
flipx,flipy,
sx + 16*x, sy + 16*y, 15);
drawgfx_transpen(bitmap, 0, gfx,
tile,
color,
flipx,flipy,
sx + 16*x, sy + 16*y, TRANSPARENTCODE);
++sprites_drawn;
if (sprites_drawn >= 96)
return;
}
++sprites_drawn;
if (sprites_drawn >= 96)
return;
}
}
}
@ -463,19 +459,15 @@ static void erase_sprites(running_machine& machine, bitmap_t* bitmap, const rect
if (!state->m_next_sprite_overdraw_enabled)
bitmap_fill(state->m_sp_bitmap, cliprect, TRANSPARENTCODE);
else
{
int y;
for (y = 0; y < state->m_sp_bitmap->height; ++y)
for (int y = 0; y < state->m_sp_bitmap->height; ++y)
{
int x;
for (x = 0; x < state->m_sp_bitmap->width; ++x)
for (int x = 0; x < state->m_sp_bitmap->width; ++x)
{
UINT16* const ptr = BITMAP_ADDR16(state->m_sp_bitmap, y, x);
if ( (*state->m_stencil_compare_function)(*ptr) ) *ptr = TRANSPARENTCODE ;
}
}
}
}

View File

@ -20,12 +20,10 @@
PALETTE_INIT( toypop )
{
int i;
/* allocate the colortable */
machine.colortable = colortable_alloc(machine, 256);
for (i = 0;i < 256;i++)
for (int i = 0;i < 256;i++)
{
int bit0,bit1,bit2,bit3,r,g,b;
@ -51,7 +49,7 @@ PALETTE_INIT( toypop )
colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r,g,b));
}
for (i = 0;i < 256;i++)
for (int i = 0;i < 256;i++)
{
UINT8 entry;
@ -62,7 +60,7 @@ PALETTE_INIT( toypop )
entry = color_prom[i + 0x500];
colortable_entry_set_value(machine.colortable, i + 2*256, entry);
}
for (i = 0;i < 16;i++)
for (int i = 0;i < 16;i++)
{
// background
colortable_entry_set_value(machine.colortable, i + 3*256 + 0*16, 0x60 + i);
@ -177,17 +175,16 @@ WRITE16_HANDLER( toypop_merged_background_w )
static void draw_background(running_machine &machine, bitmap_t *bitmap)
{
toypop_state *state = machine.driver_data<toypop_state>();
int offs, x, y;
pen_t pen_base = 0x300 + 0x10*state->m_palettebank;
// copy the background image from RAM (0x190200-0x19FDFF) to bitmap
if (state->m_bitmapflip)
{
offs = 0xFDFE/2;
for (y = 0; y < 224; y++)
int offs = 0xFDFE/2;
for (int y = 0; y < 224; y++)
{
UINT16 *scanline = BITMAP_ADDR16(bitmap, y, 0);
for (x = 0; x < 288; x+=2)
for (int x = 0; x < 288; x+=2)
{
UINT16 data = state->m_bg_image[offs];
scanline[x] = pen_base | (data & 0x0f);
@ -198,11 +195,11 @@ static void draw_background(running_machine &machine, bitmap_t *bitmap)
}
else
{
offs = 0x200/2;
for (y = 0; y < 224; y++)
int offs = 0x200/2;
for (int y = 0; y < 224; y++)
{
UINT16 *scanline = BITMAP_ADDR16(bitmap, y, 0);
for (x = 0; x < 288; x+=2)
for (int x = 0; x < 288; x+=2)
{
UINT16 data = state->m_bg_image[offs];
scanline[x] = pen_base | (data >> 8);
@ -227,10 +224,9 @@ void draw_sprites(running_machine &machine, bitmap_t *bitmap, const rectangle *c
UINT8 *spriteram = spriteram_base + 0x780;
UINT8 *spriteram_2 = spriteram + 0x800;
UINT8 *spriteram_3 = spriteram_2 + 0x800;
int offs;
enum { xoffs = -31, yoffs = -8 };
for (offs = 0;offs < 0x80;offs += 2)
for (int offs = 0;offs < 0x80;offs += 2)
{
/* is it on? */
if ((spriteram_3[offs+1] & 2) == 0)
@ -248,7 +244,6 @@ void draw_sprites(running_machine &machine, bitmap_t *bitmap, const rectangle *c
int flipy = (spriteram_3[offs] & 0x02) >> 1;
int sizex = (spriteram_3[offs] & 0x04) >> 2;
int sizey = (spriteram_3[offs] & 0x08) >> 3;
int x,y;
sprite &= ~sizex;
sprite &= ~(sizey << 1);
@ -263,12 +258,12 @@ void draw_sprites(running_machine &machine, bitmap_t *bitmap, const rectangle *c
sy += 40;
}
for (y = 0;y <= sizey;y++)
for (int y = 0;y <= sizey;y++)
{
for (x = 0;x <= sizex;x++)
for (int x = 0;x <= sizex;x++)
{
drawgfx_transmask(bitmap,cliprect,machine.gfx[1],
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
sprite + gfx_offs[y ^ (sizey & flipy)][x ^ (sizex & flipx)],
color,
flipx,flipy,
sx + 16*x,sy + 16*y,