summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/unico.c
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-08-28 08:53:17 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-08-28 08:53:17 +0000
commitb554d33448605bdae37423c39d8a6c4f7821fee2 (patch)
tree129bee1d1c755ce7433f93dba10b85a600f83e83 /src/mame/drivers/unico.c
parentf8f967838707a269a1302b378d7a92c4e580391c (diff)
From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Subject: few more patches Hi, enclosed please find a few patches: TV_1.diff -> TV_4.diff: clean up of input ports for drivers starting with T,U,V eeprom.diff: some remaining eeprom_bit_r made CUSTOM_PORT stv_fix.diff: a small missing bit in my previous stv fix for bug 650. this patch assumes the previous has been applied and removes duplication of button 4 also from batmanfr (somehow I think I sent an outdated version of stv.diff previously) That's all folks Regards, Fabio
Diffstat (limited to 'src/mame/drivers/unico.c')
-rw-r--r--src/mame/drivers/unico.c316
1 files changed, 155 insertions, 161 deletions
diff --git a/src/mame/drivers/unico.c b/src/mame/drivers/unico.c
index 9c7fd05fa02..931b8232b9c 100644
--- a/src/mame/drivers/unico.c
+++ b/src/mame/drivers/unico.c
@@ -64,10 +64,10 @@ static WRITE16_HANDLER( burglarx_sound_bank_w )
static ADDRESS_MAP_START( readmem_burglarx, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM
AM_RANGE(0xff0000, 0xffffff) AM_READ(SMH_RAM ) // RAM
- AM_RANGE(0x800000, 0x800001) AM_READ(input_port_0_word_r ) // P1 + P2
- AM_RANGE(0x800018, 0x800019) AM_READ(input_port_1_word_r ) // Buttons
- AM_RANGE(0x80001a, 0x80001b) AM_READ(input_port_2_word_r ) // DSW
- AM_RANGE(0x80001c, 0x80001d) AM_READ(input_port_3_word_r ) // DSW
+ AM_RANGE(0x800000, 0x800001) AM_READ_PORT("INPUTS")
+ AM_RANGE(0x800018, 0x800019) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1")
+ AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2")
AM_RANGE(0x800188, 0x800189) AM_READ(okim6295_status_0_lsb_r ) // Sound
AM_RANGE(0x80018c, 0x80018d) AM_READ(YM3812_status_port_0_msb_r ) //
/**/AM_RANGE(0x904000, 0x907fff) AM_READ(SMH_RAM ) // Layers
@@ -169,9 +169,9 @@ static READ16_HANDLER( unico_guny_1_msb_r )
static ADDRESS_MAP_START( readmem_zeropnt, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM
AM_RANGE(0xef0000, 0xefffff) AM_READ(SMH_RAM ) // RAM
- AM_RANGE(0x800018, 0x800019) AM_READ(input_port_0_word_r ) // Buttons
- AM_RANGE(0x80001a, 0x80001b) AM_READ(input_port_1_word_r ) // DSW
- AM_RANGE(0x80001c, 0x80001d) AM_READ(input_port_2_word_r ) // DSW
+ AM_RANGE(0x800018, 0x800019) AM_READ_PORT("INPUTS")
+ AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1")
+ AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2")
AM_RANGE(0x800170, 0x800171) AM_READ(unico_guny_0_msb_r ) // Light Guns
AM_RANGE(0x800174, 0x800175) AM_READ(unico_gunx_0_msb_r ) //
AM_RANGE(0x800178, 0x800179) AM_READ(unico_guny_1_msb_r ) //
@@ -214,11 +214,6 @@ ADDRESS_MAP_END
Zero Point 2
***************************************************************************/
-static READ32_HANDLER( zeropnt2_coins_r ) { return (input_port_read(machine, "IN0") << 16) | 0xffff; }
-static READ32_HANDLER( zeropnt2_dsw1_r ) { return (input_port_read(machine, "DSW1") << 16) | 0xffff; }
-static READ32_HANDLER( zeropnt2_dsw2_r ) { return (input_port_read(machine, "DSW2") << 16) | 0xffff; }
-static READ32_HANDLER( zeropnt2_buttons_r ) { return ((input_port_read(machine, "IN7") | ((eeprom_read_bit() & 0x01) << 7)) << 16) | 0xffff; }
-
static READ32_HANDLER( zeropnt2_gunx_0_msb_r ) { return (unico_gunx_0_msb_r(machine,0,0xffff)-0x0800) << 16; }
static READ32_HANDLER( zeropnt2_guny_0_msb_r ) { return (unico_guny_0_msb_r(machine,0,0xffff)+0x0800) << 16; }
static READ32_HANDLER( zeropnt2_gunx_1_msb_r ) { return (unico_gunx_1_msb_r(machine,0,0xffff)-0x0800) << 16; }
@@ -274,7 +269,7 @@ static WRITE32_HANDLER( zeropnt2_eeprom_w )
static ADDRESS_MAP_START( readmem_zeropnt2, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x1fffff) AM_READ(SMH_ROM ) // ROM
- AM_RANGE(0x800018, 0x80001b) AM_READ(zeropnt2_coins_r ) // Coins
+ AM_RANGE(0x800018, 0x80001b) AM_READ_PORT("SYSTEM")
AM_RANGE(0x800024, 0x800027) AM_READ(zeropnt2_oki0_r ) // Sound
AM_RANGE(0x80002c, 0x80002f) AM_READ(zeropnt2_ym2151_status_r ) //
AM_RANGE(0x800030, 0x800033) AM_READ(zeropnt2_oki1_r ) //
@@ -282,9 +277,9 @@ static ADDRESS_MAP_START( readmem_zeropnt2, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x800144, 0x800147) AM_READ(zeropnt2_gunx_0_msb_r ) //
AM_RANGE(0x800148, 0x80014b) AM_READ(zeropnt2_guny_1_msb_r ) //
AM_RANGE(0x80014c, 0x80014f) AM_READ(zeropnt2_gunx_1_msb_r ) //
- AM_RANGE(0x800150, 0x800153) AM_READ(zeropnt2_dsw1_r ) // DSW
- AM_RANGE(0x800154, 0x800157) AM_READ(zeropnt2_dsw2_r ) // DSW
- AM_RANGE(0x80015c, 0x80015f) AM_READ(zeropnt2_buttons_r ) // Buttons
+ AM_RANGE(0x800150, 0x800153) AM_READ_PORT("DSW1")
+ AM_RANGE(0x800154, 0x800157) AM_READ_PORT("DSW2")
+ AM_RANGE(0x80015c, 0x80015f) AM_READ_PORT("BUTTONS")
/**/AM_RANGE(0x904000, 0x907fff) AM_READ(SMH_RAM ) // Layers
/**/AM_RANGE(0x908000, 0x90bfff) AM_READ(SMH_RAM ) //
/**/AM_RANGE(0x90c000, 0x90ffff) AM_READ(SMH_RAM ) //
@@ -328,39 +323,38 @@ ADDRESS_MAP_END
***************************************************************************/
static INPUT_PORTS_START( burglarx )
-
- PORT_START("IN0") //$800000.w
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("IN1") //$800019.b
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE2 )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") //$80001a.b
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START("INPUTS") /* $800000.w */
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("SYSTEM") /* $800019.b */
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE2 )
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START1 )
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSW1") /* $80001a.b */
+ PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_SERVICE( 0x0100, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Free_Play ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
@@ -384,8 +378,8 @@ static INPUT_PORTS_START( burglarx )
PORT_DIPSETTING( 0xa000, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x8000, DEF_STR( 1C_4C ) )
- PORT_START("DSW2") //$80001c.b
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START("DSW2") /* $80001c.b */
+ PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x0200, DEF_STR( None ) )
PORT_DIPSETTING( 0x0300, "A" )
@@ -407,7 +401,6 @@ static INPUT_PORTS_START( burglarx )
PORT_DIPSETTING( 0xc000, "3" )
PORT_DIPSETTING( 0x4000, "4" )
PORT_DIPSETTING( 0x0000, "5" )
-
INPUT_PORTS_END
@@ -417,29 +410,28 @@ INPUT_PORTS_END
***************************************************************************/
static INPUT_PORTS_START( zeropnt )
-
- PORT_START("IN0") //$800018.w
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_HIGH)
- PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START2 )
- PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SERVICE1 )
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
-
- PORT_START("DSW1") //$80001a.b
- PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_START("INPUTS") /* $800018.w */
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_HIGH )
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_START1 )
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START2 )
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+
+ PORT_START("DSW1") /* $80001a.b */
+ PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
@@ -465,8 +457,8 @@ static INPUT_PORTS_START( zeropnt )
PORT_DIPSETTING( 0x4000, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x6000, DEF_STR( 1C_4C ) )
- PORT_START("DSW2") //$80001c.b
- PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_START("DSW2") /* $80001c.b */
+ PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
@@ -489,18 +481,17 @@ static INPUT_PORTS_START( zeropnt )
PORT_DIPSETTING( 0x8000, "4" )
PORT_DIPSETTING( 0xc000, "5" )
- PORT_START("Y0") //$800170.b
+ PORT_START("Y0") /* $800170.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
- PORT_START("X0") //$800174.b
+ PORT_START("X0") /* $800174.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
- PORT_START("Y1") //$800178.b
+ PORT_START("Y1") /* $800178.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
- PORT_START("X1") //$80017c.b
+ PORT_START("X1") /* $80017c.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
-
INPUT_PORTS_END
@@ -510,91 +501,95 @@ INPUT_PORTS_END
***************************************************************************/
static INPUT_PORTS_START( zeropnt2 )
- PORT_START("IN0") //$800019.b
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_HIGH)
- PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_START1 )
- PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START2 )
- PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SERVICE1 )
- PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START("DSW1") //$80001a.b
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Free_Play ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, "? Coins To Continue ?" )
- PORT_DIPSETTING( 0x0000, "1" )
- PORT_DIPSETTING( 0x0200, "2" )
- PORT_DIPNAME( 0x0c00, 0x0c00, "Gun Reloading" )
- PORT_DIPSETTING( 0x0800, DEF_STR(No) )
- PORT_DIPSETTING( 0x0400, DEF_STR(Yes) )
- PORT_DIPSETTING( 0x0c00, "Factory Setting" )
-// PORT_DIPSETTING( 0x0000, "unused?" )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Language ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( English ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Japanese ) )
- PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x4000, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x6000, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0xe000, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0xc000, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0xa000, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x8000, DEF_STR( 1C_4C ) )
-
- PORT_START("DSW2") //$80001c.b
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_DIPNAME( 0x0100, 0x0100, "Korean Language" )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1c00, 0x1c00, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x1000, "2" )
- PORT_DIPSETTING( 0x0c00, "3" )
- PORT_DIPSETTING( 0x1c00, "4" )
- PORT_DIPSETTING( 0x1800, "5" )
- PORT_DIPSETTING( 0x1400, "6" )
-// PORT_DIPSETTING( 0x0800, "4" )
-// PORT_DIPSETTING( 0x0400, "4" )
-// PORT_DIPSETTING( 0x0000, "4" )
- PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x8000, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0xc000, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x4000, DEF_STR( Harder ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
-
- PORT_START("Y0") //$800140.b
+ PORT_START("SYSTEM") /* $800019.b */
+ PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x00010000, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0x00020000, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_SERVICE_NO_TOGGLE( 0x00040000, IP_ACTIVE_HIGH )
+ PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_START1 )
+ PORT_BIT( 0x00200000, IP_ACTIVE_HIGH, IPT_START2 )
+ PORT_BIT( 0x00400000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0xff000000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("DSW1") /* $80001a.b */
+ PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Free_Play ) )
+ PORT_DIPSETTING( 0x01000000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02000000, 0x02000000, "? Coins To Continue ?" )
+ PORT_DIPSETTING( 0x00000000, "1" )
+ PORT_DIPSETTING( 0x02000000, "2" )
+ PORT_DIPNAME( 0x0c000000, 0x0c000000, "Gun Reloading" )
+ PORT_DIPSETTING( 0x08000000, DEF_STR(No) )
+ PORT_DIPSETTING( 0x04000000, DEF_STR(Yes) )
+ PORT_DIPSETTING( 0x0c000000, "Factory Setting" )
+// PORT_DIPSETTING( 0x00000000, "unused?" )
+ PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Language ) )
+ PORT_DIPSETTING( 0x10000000, DEF_STR( English ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( Japanese ) )
+ PORT_DIPNAME( 0xe0000000, 0xe0000000, DEF_STR( Coinage ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( 5C_1C ) )
+ PORT_DIPSETTING( 0x20000000, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x40000000, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x60000000, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0xe0000000, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0xc0000000, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0xa0000000, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x80000000, DEF_STR( 1C_4C ) )
+
+ PORT_START("DSW2") /* $80001c.b */
+ PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_DIPNAME( 0x01000000, 0x01000000, "Korean Language" )
+ PORT_DIPSETTING( 0x01000000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02000000, 0x00000000, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x1c000000, 0x1c000000, DEF_STR( Lives ) )
+ PORT_DIPSETTING( 0x10000000, "2" )
+ PORT_DIPSETTING( 0x0c000000, "3" )
+ PORT_DIPSETTING( 0x1c000000, "4" )
+ PORT_DIPSETTING( 0x18000000, "5" )
+ PORT_DIPSETTING( 0x14000000, "6" )
+// PORT_DIPSETTING( 0x08000000, "4" )
+// PORT_DIPSETTING( 0x04000000, "4" )
+// PORT_DIPSETTING( 0x00000000, "4" )
+ PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
+ PORT_DIPNAME( 0xc0000000, 0xc0000000, DEF_STR( Difficulty ) )
+ PORT_DIPSETTING( 0x80000000, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0xc0000000, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x40000000, DEF_STR( Harder ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( Hardest ) )
+
+ PORT_START("BUTTONS") /* $80015c.b */
+ PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) // EEPROM
+
+ PORT_START("Y0") /* $800140.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
- PORT_START("X0") //$800144.b
+ PORT_START("X0") /* $800144.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
- PORT_START("Y1") //$800148.b
+ PORT_START("Y1") /* $800148.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
- PORT_START("X1") //$80014c.b
+ PORT_START("X1") /* $80014c.b */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
-
- PORT_START("IN7") //$80015c.b
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) // EEPROM
INPUT_PORTS_END
@@ -1135,4 +1130,3 @@ GAME( 1997, burglarx, 0, burglarx, burglarx, 0, ROT0, "Unico", "Burglar X"
GAME( 1998, zeropnt, 0, zeropnt, zeropnt, 0, ROT0, "Unico", "Zero Point (set 1)", 0 )
GAME( 1998, zeropnta, zeropnt, zeropnt, zeropnt, 0, ROT0, "Unico", "Zero Point (set 2)", 0 )
GAME( 1999, zeropnt2, 0, zeropnt2, zeropnt2, 0, ROT0, "Unico", "Zero Point 2", 0 )
-