diff options
author | Michaël Banaan Ananas <happppp@users.noreply.github.com> | 2013-02-09 00:45:41 +0000 |
---|---|---|
committer | Michaël Banaan Ananas <happppp@users.noreply.github.com> | 2013-02-09 00:45:41 +0000 |
commit | a1e1b987abdb3de9fe0de7110e7c0cbd96055921 (patch) | |
tree | ba19833982deb78529ddcf477ed524301eaf33e0 | |
parent | 7cbc98fb7f129161b91582b8b201ca605121dce4 (diff) |
(small cleanup 2: port bits and diplocations)
-rw-r--r-- | src/mame/drivers/namcos22.c | 634 | ||||
-rw-r--r-- | src/mame/includes/namcos22.h | 10 |
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); |