summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/namcos22.c634
-rw-r--r--src/mame/includes/namcos22.h10
2 files changed, 197 insertions, 447 deletions
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index 4951a79545d..14e481e9f96 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -1169,59 +1169,6 @@ static UINT8 nthbyte( const UINT32 *pSource, int offs )
/*********************************************************************************************/
/* TODO: REMOVE (THIS IS HANDLED BY "IOMCU") */
-static UINT16 AnalogAsDigital( running_machine &machine )
-{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- UINT16 inputs = state->ioport("INPUTS")->read_safe(0);
- UINT16 gas = state->ioport("GAS")->read_safe(0);
- UINT16 steer = state->ioport("STEER")->read_safe(0);
- UINT16 result = 0xffff;
-
- switch( state->m_gametype )
- {
- case NAMCOS22_RAVE_RACER:
- case NAMCOS22_RIDGE_RACER:
- case NAMCOS22_RIDGE_RACER2:
- if( gas == 0xff )
- {
- result ^= 0x0100; /* CHOOSE */
- }
- if( steer == 0x00 )
- {
- result ^= 0x0040; /* PREV */
- }
- else if( steer == 0xff )
- {
- result ^= 0x0080; /* NEXT */
- }
- return result;
-
- case NAMCOS22_ACE_DRIVER:
- case NAMCOS22_VICTORY_LAP:
- if( gas > 0xf0 )
- {
- result ^= (state->m_gametype == NAMCOS22_VICTORY_LAP) ? 0x0100 : 0x0001; /* CHOOSE */
- }
- inputs &= 3;
- if( inputs == 1 )
- {
- /* Stick Shift Up */
- result ^= 0x0040; /* PREV */
- }
- else if( inputs == 2 )
- {
- /* Stick Shift Down */
- result ^= 0x0080; /* NEXT */
- }
- return result;
-
- default:
- break;
- }
- return result;
-}
-
-/* TODO: REMOVE (THIS IS HANDLED BY "IOMCU") */
static void HandleCoinage(running_machine &machine, int slots, int address_is_odd)
{
namcos22_state *state = machine.driver_data<namcos22_state>();
@@ -2387,22 +2334,21 @@ WRITE32_MEMBER(namcos22_state::namcos22_keycus_w)
* Other values seem to be digital versions of analog ports, for example "the gas pedal is
* pressed" as a boolean flag. IO RAM supplies it as an analog value.
*/
-READ32_MEMBER(namcos22_state::namcos22_portbit_r)
+READ16_MEMBER(namcos22_state::namcos22_portbit_r)
{
- UINT32 data = m_Sys22PortBits;
- m_Sys22PortBits>>=1;
- return data&0x10001;
+ UINT16 ret = m_portbits[offset] & 1;
+ m_portbits[offset] = m_portbits[offset] >> 1 | 0x8000;
+ return ret;
}
-WRITE32_MEMBER(namcos22_state::namcos22_portbit_w)
+
+WRITE16_MEMBER(namcos22_state::namcos22_portbit_w)
{
- unsigned dat50000008 = AnalogAsDigital(machine());
- unsigned dat5000000a = 0xffff;
- m_Sys22PortBits = (dat50000008<<16)|dat5000000a;
+ m_portbits[offset] = ioport((offset == 0) ? "P1" : "P2")->read_safe(0xffff);
}
-READ32_MEMBER(namcos22_state::namcos22_dipswitch_r)
+READ16_MEMBER(namcos22_state::namcos22_dipswitch_r)
{
- return ioport("DSW0")->read()<<16;
+ return ioport("DSW0")->read();
}
READ32_MEMBER(namcos22_state::namcos22_mcuram_r)
@@ -2435,13 +2381,11 @@ READ32_MEMBER(namcos22_state::namcos22_gun_r)
}
}
-WRITE32_MEMBER(namcos22_state::namcos22_cpuleds_w)
+WRITE16_MEMBER(namcos22_state::namcos22_cpuleds_w)
{
- // 8 leds on cpu board, left to right:
- // GYRGYRGY green/yellow/red, 0=on 1=off
- if (ACCESSING_BITS_0_15) data &= 0xff;
- else data = (data>>16) & 0xff;
-
+ // 8 leds on cpu board, 0=on 1=off
+ // on system 22: two rows of 4 red leds
+ // on super system 22: GYRGYRGY green/yellow/red
for (int i = 0; i < 8; i++)
output_set_lamp_value(i, (~data<<i & 0x80) ? 0 : 1);
}
@@ -2495,9 +2439,8 @@ static ADDRESS_MAP_START( namcos22s_am, AS_PROGRAM, 32, namcos22_state )
AM_RANGE(0x400000, 0x40001f) AM_READWRITE(namcos22_keycus_r, namcos22_keycus_w)
AM_RANGE(0x410000, 0x413fff) AM_RAM /* C139 SCI buffer */
AM_RANGE(0x420000, 0x42000f) AM_READ(namcos22_C139_SCI_r) AM_WRITEONLY /* C139 SCI registers */
- AM_RANGE(0x430000, 0x430003) AM_WRITE(namcos22_cpuleds_w)
- AM_RANGE(0x440000, 0x440003) AM_READ(namcos22_dipswitch_r)
- AM_RANGE(0x450008, 0x45000b) AM_READWRITE(namcos22_portbit_r, namcos22_portbit_w)
+ AM_RANGE(0x440000, 0x440003) AM_READWRITE16(namcos22_dipswitch_r, namcos22_cpuleds_w, 0xffffffff)
+ AM_RANGE(0x450008, 0x45000b) AM_READWRITE16(namcos22_portbit_r, namcos22_portbit_w, 0xffffffff)
AM_RANGE(0x460000, 0x463fff) AM_RAM_WRITE(namcos22s_nvmem_w) AM_SHARE("nvmem")
AM_RANGE(0x700000, 0x70001f) AM_READWRITE(namcos22_system_controller_r, namcos22s_system_controller_w) AM_SHARE("syscontrol")
AM_RANGE(0x800000, 0x800003) AM_WRITE(namcos22s_chipselect_w)
@@ -2727,7 +2670,8 @@ void namcos22_state::machine_reset()
void namcos22_state::machine_start()
{
- ;
+ m_portbits[0] = 0xffff;
+ m_portbits[1] = 0xffff;
}
static MACHINE_CONFIG_START( namcos22s, namcos22_state )
@@ -3001,8 +2945,8 @@ static ADDRESS_MAP_START( namcos22_am, AS_PROGRAM, 32, namcos22_state )
* 0x50000000 - DIPSW3
* 0x50000001 - DIPSW2
*/
- AM_RANGE(0x50000000, 0x50000003) AM_READ(namcos22_dipswitch_r) AM_WRITENOP
- AM_RANGE(0x50000008, 0x5000000b) AM_READWRITE(namcos22_portbit_r, namcos22_portbit_w)
+ AM_RANGE(0x50000000, 0x50000003) AM_READWRITE16(namcos22_dipswitch_r, namcos22_cpuleds_w, 0xffffffff)
+ AM_RANGE(0x50000008, 0x5000000b) AM_READWRITE16(namcos22_portbit_r, namcos22_portbit_w, 0xffffffff)
/**
* EEPROM
@@ -4738,30 +4682,15 @@ CUSTOM_INPUT_MEMBER(namcos22_state::alpine_motor_read)
static INPUT_PORTS_START( alpiner )
PORT_START("DSW0")
- PORT_DIPNAME( 0x01, 0x01, "DIP4-1" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "DIP4-2" )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "DIP4-3" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "DIP4-4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "DIP4-5" )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "DIP4-6" )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "DIP4-7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DIP4-8" )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0001, "SW4:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW4:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW4:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW4:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW4:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW4:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW4:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW4:8" )
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -4786,30 +4715,15 @@ INPUT_PORTS_END
static INPUT_PORTS_START( airco22 )
PORT_START("DSW0")
- PORT_DIPNAME( 0x01, 0x01, "DIP4-1" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "DIP4-2" )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "DIP4-3" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "DIP4-4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "DIP4-5" )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "DIP4-6" )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "DIP4-7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DIP4-8" )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0001, "SW4:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW4:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW4:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW4:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW4:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW4:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW4:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW4:8" )
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -4836,30 +4750,17 @@ INPUT_PORTS_END
static INPUT_PORTS_START( cybrcycc )
PORT_START("DSW0")
- PORT_DIPNAME( 0x01, 0x01, "DIP4-1 (Test Mode)" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "DIP4-2" )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "DIP4-3" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "DIP4-4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "DIP4-5" )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "DIP4-6" )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "DIP4-7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DIP4-8" )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0001, 0x0001, "Test Mode?" ) PORT_DIPLOCATION("SW4:1")
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW4:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW4:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW4:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW4:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW4:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW4:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW4:8" )
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -4886,30 +4787,15 @@ INPUT_PORTS_END
static INPUT_PORTS_START( dirtdash )
PORT_START("DSW0")
- PORT_DIPNAME( 0x01, 0x01, "DIP4-1" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "DIP4-2" )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "DIP4-3" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "DIP4-4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "DIP4-5" )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "DIP4-6" )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "DIP4-7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DIP4-8" )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0001, "SW4:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW4:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW4:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW4:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW4:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW4:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW4:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW4:8" )
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -4918,7 +4804,7 @@ static INPUT_PORTS_START( dirtdash )
PORT_SERVICE( 0x08, IP_ACTIVE_LOW )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("View Change")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_NAME("Shift Up")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_NAME("Shift Down")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_NAME("Shift Down")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Motion-Stop")
PORT_START("MCUP5B")
@@ -4936,30 +4822,17 @@ INPUT_PORTS_END
static INPUT_PORTS_START( tokyowar )
PORT_START("DSW0")
- PORT_DIPNAME( 0x01, 0x01, "DIP4-1 (Test Mode)" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "DIP4-2" )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "DIP4-3" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "DIP4-4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "DIP4-5" )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "DIP4-6" )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "DIP4-7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DIP4-8" )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0001, 0x0001, "Test Mode?" ) PORT_DIPLOCATION("SW4:1")
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW4:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW4:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW4:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW4:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW4:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW4:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW4:8" )
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -4986,30 +4859,17 @@ INPUT_PORTS_END
static INPUT_PORTS_START( aquajet )
PORT_START("DSW0")
- PORT_DIPNAME( 0x01, 0x01, "DIP4-1 (Test Mode)" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "DIP4-2" )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "DIP4-3" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "DIP4-4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "DIP4-5" )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "DIP4-6" )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "DIP4-7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DIP4-8" )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0001, 0x0001, "Test Mode?" ) PORT_DIPLOCATION("SW4:1")
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW4:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW4:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW4:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW4:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW4:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW4:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW4:8" )
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -5036,31 +4896,27 @@ INPUT_PORTS_END
static INPUT_PORTS_START( adillor )
PORT_START("DSW0")
- PORT_DIPNAME( 0x01, 0x01, "DIP4-1 (Test Mode)" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "DIP4-2" )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "DIP4-3" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "DIP4-4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "DIP4-5" )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "DIP4-6" )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "DIP4-7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DIP4-8" )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
+ PORT_DIPNAME( 0x0001, 0x0001, "Test Mode?" ) PORT_DIPLOCATION("SW4:1")
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW4:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW4:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW4:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW4:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW4:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW4:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW4:8" )
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("P1")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("Dev Service Enter")
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("Dev Service Exit")
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_NAME("Dev Service Left")
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_NAME("Dev Service Right") // when in normal testmode, press this to enter the extra testmode
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_NAME("Dev Service Up")
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_NAME("Dev Service Down")
+ PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
PORT_START("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -5083,31 +4939,16 @@ static INPUT_PORTS_START( adillor )
INPUT_PORTS_END
static INPUT_PORTS_START( propcycl )
- PORT_START("DSW0") /* DIP4 */
- PORT_DIPNAME( 0x01, 0x01, "DIP1" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "DIP2" )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "DIP3" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "DIP4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "DIP5" )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "DIP6" )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "DIP7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "DIP8" )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_START("DSW0")
+ PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0001, "SW4:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW4:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW4:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW4:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW4:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW4:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW4:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW4:8" )
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -5135,28 +4976,15 @@ INPUT_PORTS_END
static INPUT_PORTS_START( timecris )
PORT_START("DSW0")
- PORT_DIPNAME( 0x01, 0x01, "DIP4-1" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "DIP4-2" )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "DIP4-3" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "DIP4-4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "DIP4-5" )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "DIP4-6" )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "DIP4-7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0001, "SW4:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW4:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW4:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW4:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW4:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW4:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW4:7" )
+ PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW4:8")
+ PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("MCUP5A")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@@ -5214,55 +5042,23 @@ static INPUT_PORTS_START( cybrcomm )
PORT_START("STICKX2") /* VOLUME 0 */
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_X ) PORT_MINMAX(0x47,0xb7) /* range based on test mode */ PORT_CODE_DEC(KEYCODE_S) PORT_CODE_INC(KEYCODE_F) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(1) /* left joystick: horizontal */
- PORT_START("DSW0") /* DIP2 and DIP3 */
- PORT_DIPNAME( 0x0001, 0x0001, "DIP2-1" )
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, "DIP2-2" )
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0004, 0x0004, "DIP2-3" )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, "DIP2-4" )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0010, 0x0010, "DIP2-5" )
- PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0020, 0x0020, "DIP2-6" )
- PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0040, 0x0040, "DIP2-7" )
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, "DIP2-8" )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0100, 0x0100, "DIP3-1" )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, "DIP3-2" )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, "DIP3-3" )
- PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, "DIP3-4" )
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, "DIP3-5" )
- PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x2000, 0x2000, "DIP3-6" )
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, "DIP3-7" )
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x8000, 0x8000, "DIP3-8" )
- PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_START("DSW0")
+ PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0001, "SW2:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW2:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW2:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW2:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW2:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW2:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW2:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW2:8" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SW3:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW3:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0400, 0x0400, "SW3:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0800, 0x0800, "SW3:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x1000, 0x1000, "SW3:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x2000, 0x2000, "SW3:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x4000, 0x4000, "SW3:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x8000, 0x8000, "SW3:8" )
INPUT_PORTS_END
static INPUT_PORTS_START( acedrvr )
@@ -5284,53 +5080,31 @@ static INPUT_PORTS_START( acedrvr )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Motion-Stop")
- PORT_START("DSW0") /* DIP2 and DIP3 */
- PORT_DIPNAME( 0x0001, 0x0001, "DIP2-1" )
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0002, "DIP2-2" )
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0004, 0x0004, "DIP2-3" )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, "DIP2-4" )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0010, 0x0010, "DIP2-5" )
- PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0020, 0x0020, "DIP2-6" )
- PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0040, 0x0040, "DIP2-7" )
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, "DIP2-8" )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0100, 0x0100, "DIP3-1" )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, "DIP3-2" )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, "DIP3-3" )
- PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, "DIP3-4" )
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, "DIP3-5" )
- PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x2000, 0x2000, "DIP3-6" )
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, "DIP3-7 (TEST MODE?)" )
+ PORT_START("P1")
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("Dev Service Enter")
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_NAME("Dev Service Up")
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_NAME("Dev Service Down")
+ PORT_BIT( 0xff3e, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSW0")
+ PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0001, "SW2:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW2:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW2:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW2:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW2:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW2:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW2:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW2:8" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SW3:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW3:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0400, 0x0400, "SW3:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0800, 0x0800, "SW3:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x1000, 0x1000, "SW3:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x2000, 0x2000, "SW3:6" )
+ PORT_DIPNAME( 0x4000, 0x4000, "Test Mode?" ) PORT_DIPLOCATION("SW3:7")
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x8000, 0x8000, "DIP3-8 (TEST MODE?)" )
+ PORT_DIPNAME( 0x8000, 0x8000, "Test Mode?" ) PORT_DIPLOCATION("SW3:8")
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -5344,6 +5118,16 @@ static INPUT_PORTS_START( acedrvr )
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel")
INPUT_PORTS_END
+static INPUT_PORTS_START( victlap )
+ PORT_INCLUDE( acedrvr )
+
+ PORT_MODIFY("P1")
+ PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_NAME("Dev Service Up")
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_NAME("Dev Service Down")
+ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("Dev Service Enter")
+ PORT_BIT( 0xfe3f, IP_ACTIVE_LOW, IPT_UNKNOWN )
+INPUT_PORTS_END
+
static INPUT_PORTS_START( ridgera )
PORT_START("INPUTS")
/* 1 3 5 When the cabinet is set to Deluxe, the stick shift is basically
@@ -5368,53 +5152,23 @@ static INPUT_PORTS_START( ridgera )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_START("DSW0") /* DIP2 and DIP3 */
- PORT_SERVICE( 0x0001, IP_ACTIVE_LOW ) PORT_NAME("DIP2-1 (Service Mode)")
- PORT_DIPNAME( 0x0002, 0x0002, "DIP2-2" )
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0004, 0x0004, "DIP2-3" )
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, "DIP2-4" )
- PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0010, 0x0010, "DIP2-5" )
- PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0020, 0x0020, "DIP2-6" )
- PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0040, 0x0040, "DIP2-7" )
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0080, 0x0080, "DIP2-8" )
- PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0100, 0x0100, "DIP3-1" )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, "DIP3-2" )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, "DIP3-3" )
- PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, "DIP3-4" )
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, "DIP3-5" )
- PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x2000, 0x2000, "DIP3-6" )
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, "DIP3-7" )
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x8000, 0x8000, "DIP3-8" )
- PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_START("DSW0")
+ PORT_SERVICE_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW2:1")
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0002, "SW2:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW2:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW2:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW2:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW2:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW2:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW2:8" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SW3:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW3:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0400, 0x0400, "SW3:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0800, 0x0800, "SW3:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x1000, 0x1000, "SW3:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x2000, 0x2000, "SW3:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x4000, 0x4000, "SW3:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x8000, 0x8000, "SW3:8" )
PORT_START("GAS")
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal")
@@ -5439,13 +5193,9 @@ static INPUT_PORTS_START( ridgeracf )
// DIP3-1 to DIP3-3 are for setting up the viewing angle (game used one board per screen?)
// Some of the other dipswitches are for debugging, like with Ridge Racer 2.
PORT_MODIFY("DSW0")
- PORT_DIPNAME( 0x0001, 0x0000, "DIP2-1" ) // always on?
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0002, 0x0000, "DIP2-2" ) // always on?
- PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x8000, 0x8000, "DIP3-8 (Test Mode)" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x0001, 0x0000, "SW2:1" ) // always on?
+ PORT_DIPUNKNOWN_DIPLOC( 0x0002, 0x0000, "SW2:2" ) // always on?
+ PORT_DIPNAME( 0x8000, 0x8000, "Test Mode" ) PORT_DIPLOCATION("SW3:8")
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
@@ -5468,7 +5218,7 @@ static INPUT_PORTS_START( ridgera2 )
3-7 : debug polygons
*/
PORT_MODIFY("DSW0")
- PORT_DIPNAME( 0x8000, 0x8000, "DIP3-8 (Test Mode)" )
+ PORT_DIPNAME( 0x8000, 0x8000, "Test Mode" ) PORT_DIPLOCATION("SW3:8")
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
@@ -5756,7 +5506,7 @@ GAME( 1995, raveracw, 0, namcos22, raveracw, namcos22_state, raveracw,
GAME( 1995, raveracj, raveracw, namcos22, raveracw, namcos22_state, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 07/16/95
GAME( 1995, raveracja, raveracw, namcos22, raveracw, namcos22_state, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 06/29/95
GAME( 1994, acedrvrw, 0, namcos22, acedrvr, namcos22_state, acedrvr, ROT0, "Namco", "Ace Driver: Racing Evolution (Rev. AD2)", GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 94/10/20 16:22:25
-GAME( 1996, victlapw, 0, namcos22, acedrvr, namcos22_state, victlap, ROT0, "Namco", "Ace Driver: Victory Lap (Rev. ADV2)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/02/13 17:50:06
+GAME( 1996, victlapw, 0, namcos22, victlap, namcos22_state, victlap, ROT0, "Namco", "Ace Driver: Victory Lap (Rev. ADV2)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/02/13 17:50:06
/* Super System22 games */
GAME( 1994, alpinerd, 0, namcos22s, alpiner, namcos22_state, alpiner, ROT0, "Namco", "Alpine Racer (Rev. AR2 Ver.D)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/includes/namcos22.h b/src/mame/includes/namcos22.h
index b455f3967b8..e07ac2e464a 100644
--- a/src/mame/includes/namcos22.h
+++ b/src/mame/includes/namcos22.h
@@ -92,7 +92,7 @@ public:
UINT16 m_SerialDataSlaveToMasterCurrent;
int m_RenderBufSize;
UINT16 m_RenderBufData[MAX_RENDER_CMD_SEQ];
- UINT32 m_Sys22PortBits;
+ UINT16 m_portbits[2];
int m_irq_state;
int m_DspUploadState;
int m_UploadDestIdx;
@@ -201,13 +201,13 @@ public:
DECLARE_WRITE32_MEMBER(namcos22_system_controller_w);
DECLARE_READ32_MEMBER(namcos22_keycus_r);
DECLARE_WRITE32_MEMBER(namcos22_keycus_w);
- DECLARE_READ32_MEMBER(namcos22_portbit_r);
- DECLARE_WRITE32_MEMBER(namcos22_portbit_w);
- DECLARE_READ32_MEMBER(namcos22_dipswitch_r);
+ DECLARE_READ16_MEMBER(namcos22_portbit_r);
+ DECLARE_WRITE16_MEMBER(namcos22_portbit_w);
+ DECLARE_READ16_MEMBER(namcos22_dipswitch_r);
DECLARE_READ32_MEMBER(namcos22_mcuram_r);
DECLARE_WRITE32_MEMBER(namcos22_mcuram_w);
DECLARE_READ32_MEMBER(namcos22_gun_r);
- DECLARE_WRITE32_MEMBER(namcos22_cpuleds_w);
+ DECLARE_WRITE16_MEMBER(namcos22_cpuleds_w);
DECLARE_READ32_MEMBER(alpinesa_prot_r);
DECLARE_WRITE32_MEMBER(alpinesa_prot_w);
DECLARE_WRITE32_MEMBER(namcos22s_nvmem_w);