mirror of
https://github.com/holub/mame
synced 2025-05-05 13:54:42 +03:00
modernization of some CUSTOM_INPUT's part 3 (no whatsnew)
This commit is contained in:
parent
aee1fd4cbe
commit
d1bd5be055
@ -1153,9 +1153,9 @@ MACHINE_CONFIG_END
|
||||
/* */
|
||||
/*******************************************************/
|
||||
|
||||
static CUSTOM_INPUT( sflush_80_r )
|
||||
CUSTOM_INPUT_MEMBER(_8080bw_state::sflush_80_r)
|
||||
{
|
||||
return (field.machine().primary_screen->vpos() & 0x80) ? 1 : 0;
|
||||
return (machine().primary_screen->vpos() & 0x80) ? 1 : 0;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( sflush_map, AS_PROGRAM, 8, _8080bw_state )
|
||||
@ -1197,7 +1197,7 @@ static INPUT_PORTS_START( sflush )
|
||||
PORT_DIPNAME( 0x40, 0x00, "Coinage Display" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(sflush_80_r, NULL) // 128V?
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, _8080bw_state,sflush_80_r, NULL) // 128V?
|
||||
|
||||
PORT_START("PADDLE")
|
||||
PORT_BIT( 0xff, 0x6a, IPT_PADDLE ) PORT_MINMAX(0x16,0xbf) PORT_SENSITIVITY(30) PORT_KEYDELTA(30) PORT_CENTERDELTA(0)
|
||||
|
@ -383,10 +383,9 @@ static void stonebal_protection(running_machine &machine)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( prot_r )
|
||||
CUSTOM_INPUT_MEMBER(artmagic_state::prot_r)
|
||||
{
|
||||
artmagic_state *state = field.machine().driver_data<artmagic_state>();
|
||||
return state->m_prot_output_bit;
|
||||
return m_prot_output_bit;
|
||||
}
|
||||
|
||||
|
||||
@ -629,7 +628,7 @@ static INPUT_PORTS_START( cheesech )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("30000a")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(prot_r, NULL) /* protection data */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, artmagic_state,prot_r, NULL) /* protection data */
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* protection ready */
|
||||
PORT_BIT( 0x00fc, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -821,7 +820,7 @@ static INPUT_PORTS_START( shtstar )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("3c000a")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(prot_r, NULL) /* protection data */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, artmagic_state,prot_r, NULL) /* protection data */
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* protection ready */
|
||||
PORT_BIT( 0x00fc, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
@ -306,16 +306,16 @@ ADDRESS_MAP_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( clock_r )
|
||||
CUSTOM_INPUT_MEMBER(asteroid_state::clock_r)
|
||||
{
|
||||
return (field.machine().device<cpu_device>("maincpu")->total_cycles() & 0x100) ? 1 : 0;
|
||||
return (machine().device<cpu_device>("maincpu")->total_cycles() & 0x100) ? 1 : 0;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( asteroid )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
/* Bit 2 is the 3 KHz source and Bit 3 the VG_HALT bit */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(clock_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, asteroid_state,clock_r, NULL)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(avgdvg_done_r, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_CODE(KEYCODE_SPACE) PORT_CODE(JOYCODE_BUTTON3) /* hyperspace */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1) /* fire */
|
||||
@ -397,7 +397,7 @@ static INPUT_PORTS_START( asterock )
|
||||
/* Bit 0 is VG_HALT and Bit 2 is the 3 KHz source */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(avgdvg_done_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(clock_r, NULL)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, asteroid_state,clock_r, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_SPACE) PORT_CODE(JOYCODE_BUTTON3) /* hyperspace */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1) /* fire */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Diagnostic Step") PORT_CODE(KEYCODE_F1)
|
||||
@ -437,7 +437,7 @@ static INPUT_PORTS_START( astdelux )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* According to schematics */
|
||||
/* Bit 2 is the 3 KHz source and Bit 3 the VG_HALT bit */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(clock_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, asteroid_state,clock_r, NULL)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(avgdvg_done_r, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_CODE(KEYCODE_SPACE) PORT_CODE(JOYCODE_BUTTON3) /* hyperspace */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1) /* fire */
|
||||
@ -525,7 +525,7 @@ static INPUT_PORTS_START( llander )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT )
|
||||
/* Of the rest, Bit 6 is the 3KHz source. 3,4 and 5 are unknown */
|
||||
PORT_BIT( 0x38, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(clock_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, asteroid_state,clock_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Diagnostic Step") PORT_CODE(KEYCODE_F1)
|
||||
|
||||
PORT_START("IN1")
|
||||
|
@ -253,11 +253,10 @@ WRITE8_MEMBER(astrocde_state::seawolf2_sound_2_w)// Port 41
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( ebases_trackball_r )
|
||||
CUSTOM_INPUT_MEMBER(astrocde_state::ebases_trackball_r)
|
||||
{
|
||||
astrocde_state *state = field.machine().driver_data<astrocde_state>();
|
||||
static const char *const names[] = { "TRACKX2", "TRACKY2", "TRACKX1", "TRACKY1" };
|
||||
return input_port_read(field.machine(), names[state->m_input_select]);
|
||||
return input_port_read(machine(), names[m_input_select]);
|
||||
}
|
||||
|
||||
|
||||
@ -480,11 +479,10 @@ READ8_MEMBER(astrocde_state::demndrgn_io_r)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( demndragn_joystick_r )
|
||||
CUSTOM_INPUT_MEMBER(astrocde_state::demndragn_joystick_r)
|
||||
{
|
||||
astrocde_state *state = field.machine().driver_data<astrocde_state>();
|
||||
static const char *const names[] = { "MOVEX", "MOVEY" };
|
||||
return input_port_read(field.machine(), names[state->m_input_select]);
|
||||
return input_port_read(machine(), names[m_input_select]);
|
||||
}
|
||||
|
||||
|
||||
@ -818,7 +816,7 @@ static INPUT_PORTS_START( ebases )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "S1:8" )
|
||||
|
||||
PORT_START("P4HANDLE")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ebases_trackball_r, NULL)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrocde_state,ebases_trackball_r, NULL)
|
||||
|
||||
PORT_START("TRACKX1")
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_RESET
|
||||
@ -1144,7 +1142,7 @@ static INPUT_PORTS_START( demndrgn )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("P2HANDLE")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(demndragn_joystick_r, NULL)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrocde_state,demndragn_joystick_r, NULL)
|
||||
|
||||
PORT_START("P3HANDLE")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
@ -120,41 +120,40 @@ static INPUT_CHANGED( service_coin_inserted )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( astrof_p1_controls_r )
|
||||
CUSTOM_INPUT_MEMBER(astrof_state::astrof_p1_controls_r)
|
||||
{
|
||||
return input_port_read(field.machine(), "P1");
|
||||
return input_port_read(machine(), "P1");
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( astrof_p2_controls_r )
|
||||
CUSTOM_INPUT_MEMBER(astrof_state::astrof_p2_controls_r)
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
/* on an upright cabinet, a single set of controls
|
||||
is connected to both sets of pins on the edge
|
||||
connector */
|
||||
if (input_port_read(field.machine(), "CAB"))
|
||||
ret = input_port_read(field.machine(), "P2");
|
||||
if (input_port_read(machine(), "CAB"))
|
||||
ret = input_port_read(machine(), "P2");
|
||||
else
|
||||
ret = input_port_read(field.machine(), "P1");
|
||||
ret = input_port_read(machine(), "P1");
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( tomahawk_controls_r )
|
||||
CUSTOM_INPUT_MEMBER(astrof_state::tomahawk_controls_r)
|
||||
{
|
||||
UINT32 ret;
|
||||
astrof_state *state = field.machine().driver_data<astrof_state>();
|
||||
|
||||
/* on a cocktail cabinet, two sets of controls are
|
||||
multiplexed on a single set of inputs
|
||||
(not verified on pcb) */
|
||||
|
||||
if (state->m_flipscreen)
|
||||
ret = input_port_read(field.machine(), "P2");
|
||||
if (m_flipscreen)
|
||||
ret = input_port_read(machine(), "P2");
|
||||
else
|
||||
ret = input_port_read(field.machine(), "P1");
|
||||
ret = input_port_read(machine(), "P1");
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -659,8 +658,8 @@ static INPUT_PORTS_START( astrof )
|
||||
PORT_START("IN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(astrof_p1_controls_r, NULL)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(astrof_p2_controls_r, NULL)
|
||||
PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrof_state,astrof_p1_controls_r, NULL)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrof_state,astrof_p2_controls_r, NULL)
|
||||
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
|
||||
@ -714,8 +713,8 @@ static INPUT_PORTS_START( abattle )
|
||||
PORT_START("IN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(astrof_p1_controls_r, NULL)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(astrof_p2_controls_r, NULL)
|
||||
PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrof_state,astrof_p1_controls_r, NULL)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrof_state,astrof_p2_controls_r, NULL)
|
||||
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
|
||||
@ -769,8 +768,8 @@ static INPUT_PORTS_START( spfghmk2 )
|
||||
PORT_START("IN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(astrof_p1_controls_r, NULL)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(astrof_p2_controls_r, NULL)
|
||||
PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrof_state,astrof_p1_controls_r, NULL)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrof_state,astrof_p2_controls_r, NULL)
|
||||
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
|
||||
@ -820,8 +819,8 @@ static INPUT_PORTS_START( spfghmk22 )
|
||||
PORT_START("IN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(astrof_p1_controls_r, NULL)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(astrof_p2_controls_r, NULL)
|
||||
PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrof_state,astrof_p1_controls_r, NULL)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrof_state,astrof_p2_controls_r, NULL)
|
||||
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
|
||||
@ -874,7 +873,7 @@ static INPUT_PORTS_START( tomahawk )
|
||||
PORT_INCLUDE( astrof_common )
|
||||
|
||||
PORT_START("IN")
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(tomahawk_controls_r, NULL)
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, astrof_state,tomahawk_controls_r, NULL)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
@ -55,14 +55,13 @@ static INTERRUPT_GEN( battlex_interrupt )
|
||||
device_set_input_line(device, 0, ASSERT_LINE);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( battlex_in0_b4_r )
|
||||
CUSTOM_INPUT_MEMBER(battlex_state::battlex_in0_b4_r)
|
||||
{
|
||||
battlex_state *state = field.machine().driver_data<battlex_state>();
|
||||
UINT32 ret = state->m_in0_b4;
|
||||
if (state->m_in0_b4)
|
||||
UINT32 ret = m_in0_b4;
|
||||
if (m_in0_b4)
|
||||
{
|
||||
cputag_set_input_line(field.machine(), "maincpu", 0, CLEAR_LINE);
|
||||
state->m_in0_b4 = 0;
|
||||
cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
|
||||
m_in0_b4 = 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
@ -119,7 +118,7 @@ static INPUT_PORTS_START( battlex )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(battlex_in0_b4_r, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, battlex_state,battlex_in0_b4_r, NULL)
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
|
@ -256,9 +256,9 @@ static INTERRUPT_GEN( bzone_interrupt )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( clock_r )
|
||||
CUSTOM_INPUT_MEMBER(bzone_state::clock_r)
|
||||
{
|
||||
return (field.machine().device<cpu_device>("maincpu")->total_cycles() & 0x100) ? 1 : 0;
|
||||
return (machine().device<cpu_device>("maincpu")->total_cycles() & 0x100) ? 1 : 0;
|
||||
}
|
||||
|
||||
|
||||
@ -359,7 +359,7 @@ ADDRESS_MAP_END
|
||||
/* per default (busy vector processor). */\
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(avgdvg_done_r, NULL)\
|
||||
/* bit 7 is tied to a 3kHz clock */\
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(clock_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, bzone_state,clock_r, NULL)
|
||||
|
||||
|
||||
#define BZONEDSW0\
|
||||
|
@ -696,10 +696,9 @@ static WRITE16_DEVICE_HANDLER( korokoro_eeprom_msb_w )
|
||||
}
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( korokoro_hopper_r )
|
||||
CUSTOM_INPUT_MEMBER(cave_state::korokoro_hopper_r)
|
||||
{
|
||||
cave_state *state = field.machine().driver_data<cave_state>();
|
||||
return state->m_hopper ? 1 : 0;
|
||||
return m_hopper ? 1 : 0;
|
||||
}
|
||||
|
||||
|
||||
@ -933,10 +932,9 @@ WRITE16_MEMBER(cave_state::tjumpman_leds_w)
|
||||
// popmessage("led %04X", data);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( tjumpman_hopper_r )
|
||||
CUSTOM_INPUT_MEMBER(cave_state::tjumpman_hopper_r)
|
||||
{
|
||||
cave_state *state = field.machine().driver_data<cave_state>();
|
||||
return (state->m_hopper && !(field.machine().primary_screen->frame_number() % 10)) ? 0 : 1;
|
||||
return (m_hopper && !(machine().primary_screen->frame_number() % 10)) ? 0 : 1;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( tjumpman_map, AS_PROGRAM, 16, cave_state )
|
||||
@ -1477,7 +1475,7 @@ static INPUT_PORTS_START( korokoro )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE2 ) // service medal out?
|
||||
PORT_SERVICE( 0x2000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 ) // service coin
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(korokoro_hopper_r, NULL) // motor / hopper status ???
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cave_state,korokoro_hopper_r, NULL) // motor / hopper status ???
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -1508,7 +1506,7 @@ static INPUT_PORTS_START( tjumpman )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( DEF_STR( Yes ) ) PORT_CODE(KEYCODE_Y) // suru ("do")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "1 Bet" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(tjumpman_hopper_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cave_state,tjumpman_hopper_r, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -1533,7 +1531,7 @@ static INPUT_PORTS_START( pacslot )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Pac-Man" ) PORT_CODE(KEYCODE_Y)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "Bet" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(tjumpman_hopper_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cave_state,tjumpman_hopper_r, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -171,11 +171,10 @@ static TIMER_CALLBACK( clock_irq )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( get_vblank )
|
||||
CUSTOM_INPUT_MEMBER(ccastles_state::get_vblank)
|
||||
{
|
||||
ccastles_state *state = field.machine().driver_data<ccastles_state>();
|
||||
int scanline = field.machine().primary_screen->vpos();
|
||||
return state->m_syncprom[scanline & 0xff] & 1;
|
||||
int scanline = machine().primary_screen->vpos();
|
||||
return m_syncprom[scanline & 0xff] & 1;
|
||||
}
|
||||
|
||||
|
||||
@ -366,7 +365,7 @@ static INPUT_PORTS_START( ccastles )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_SERVICE( 0x10, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_vblank, NULL)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ccastles_state,get_vblank, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* 1p Jump, non-cocktail start1 */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* 2p Jump, non-cocktail start2 */
|
||||
|
||||
|
@ -229,10 +229,9 @@ static UINT16 handle_joystick_potgor(running_machine &machine, UINT16 potgor)
|
||||
return potgor;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT(cubo_input)
|
||||
CUSTOM_INPUT_MEMBER(cd32_state::cubo_input)
|
||||
{
|
||||
cd32_state *state = field.machine().driver_data<cd32_state>();
|
||||
return handle_joystick_potgor(field.machine(), state->m_potgo_value) >> 10;
|
||||
return handle_joystick_potgor(machine(), m_potgo_value) >> 10;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( cd32 )
|
||||
@ -251,7 +250,7 @@ static INPUT_PORTS_START( cd32 )
|
||||
PORT_BIT( 0xfcfc, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("POTGO")
|
||||
PORT_BIT( 0x4400, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(cubo_input, 0)
|
||||
PORT_BIT( 0x4400, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cd32_state,cubo_input, 0)
|
||||
PORT_BIT( 0xbbff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("P1JOY")
|
||||
|
@ -120,10 +120,9 @@ WRITE8_MEMBER(champbas_state::champbas_watchdog_reset_w)
|
||||
m_watchdog_count = 0;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( champbas_watchdog_bit2 )
|
||||
CUSTOM_INPUT_MEMBER(champbas_state::champbas_watchdog_bit2)
|
||||
{
|
||||
champbas_state *state = field.machine().driver_data<champbas_state>();
|
||||
return BIT(state->m_watchdog_count, 2);
|
||||
return BIT(m_watchdog_count, 2);
|
||||
}
|
||||
|
||||
|
||||
@ -402,7 +401,7 @@ static INPUT_PORTS_START( talbot )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) )
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(champbas_watchdog_bit2, NULL) // bit 2 of the watchdog counter
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, champbas_state,champbas_watchdog_bit2, NULL) // bit 2 of the watchdog counter
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -449,7 +448,7 @@ static INPUT_PORTS_START( champbas )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hard ))
|
||||
PORT_DIPUNKNOWN( 0x40, 0x00 )
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(champbas_watchdog_bit2, NULL) // bit 2 of the watchdog counter
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, champbas_state,champbas_watchdog_bit2, NULL) // bit 2 of the watchdog counter
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( exctsccr )
|
||||
@ -475,7 +474,7 @@ static INPUT_PORTS_START( exctsccr )
|
||||
PORT_DIPSETTING( 0x00, "2 Min." )
|
||||
PORT_DIPSETTING( 0x60, "3 Min." )
|
||||
PORT_DIPSETTING( 0x40, "4 Min." )
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(champbas_watchdog_bit2, NULL) // bit 2 of the watchdog counter
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, champbas_state,champbas_watchdog_bit2, NULL) // bit 2 of the watchdog counter
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -270,11 +270,10 @@ ADDRESS_MAP_END
|
||||
|
||||
/* Input Ports */
|
||||
|
||||
static CUSTOM_INPUT( cdp1869_pcb_r )
|
||||
CUSTOM_INPUT_MEMBER(cidelsa_state::cdp1869_pcb_r)
|
||||
{
|
||||
cidelsa_state *state = field.machine().driver_data<cidelsa_state>();
|
||||
|
||||
return state->m_cdp1869_pcb;
|
||||
return m_cdp1869_pcb;
|
||||
}
|
||||
|
||||
static INPUT_CHANGED( ef_w )
|
||||
@ -291,7 +290,7 @@ static INPUT_PORTS_START( destryer )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) // LF
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) // FR
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(cdp1869_pcb_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cidelsa_state,cdp1869_pcb_r, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
|
||||
@ -331,7 +330,7 @@ static INPUT_PORTS_START( altair )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) // LF
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) // FR
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(cdp1869_pcb_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cidelsa_state,cdp1869_pcb_r, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
|
||||
@ -381,7 +380,7 @@ static INPUT_PORTS_START( draco )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(cdp1869_pcb_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cidelsa_state,cdp1869_pcb_r, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
|
||||
|
@ -140,11 +140,10 @@ static TIMER_CALLBACK( clock_irq )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( get_vblank )
|
||||
CUSTOM_INPUT_MEMBER(cloud9_state::get_vblank)
|
||||
{
|
||||
cloud9_state *state = field.machine().driver_data<cloud9_state>();
|
||||
int scanline = field.machine().primary_screen->vpos();
|
||||
return (~state->m_syncprom[scanline & 0xff] >> 1) & 1;
|
||||
int scanline = machine().primary_screen->vpos();
|
||||
return (~m_syncprom[scanline & 0xff] >> 1) & 1;
|
||||
}
|
||||
|
||||
|
||||
@ -302,7 +301,7 @@ static INPUT_PORTS_START( cloud9 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(get_vblank, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cloud9_state,get_vblank, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -343,7 +342,7 @@ static INPUT_PORTS_START( firebeas )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(get_vblank, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cloud9_state,get_vblank, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x07, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -95,10 +95,10 @@ READ8_MEMBER(cop01_state::cop01_sound_command_r)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( mightguy_area_r )
|
||||
CUSTOM_INPUT_MEMBER(cop01_state::mightguy_area_r)
|
||||
{
|
||||
int bit_mask = (FPTR)param;
|
||||
return (input_port_read(field.machine(), "FAKE") & bit_mask) ? 0x01 : 0x00;
|
||||
return (input_port_read(machine(), "FAKE") & bit_mask) ? 0x01 : 0x00;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(cop01_state::cop01_irq_ack_w)
|
||||
@ -326,7 +326,7 @@ static INPUT_PORTS_START( mightguy )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_SERVICE( 0x40, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(mightguy_area_r, (void *)0x04) // "Start Area" - see fake Dip Switch
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cop01_state,mightguy_area_r, (void *)0x04) // "Start Area" - see fake Dip Switch
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
|
||||
@ -344,8 +344,8 @@ static INPUT_PORTS_START( mightguy )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, "Invincibility")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(mightguy_area_r, (void *)0x01) // "Start Area" - see fake Dip Switch
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(mightguy_area_r, (void *)0x02) // "Start Area" - see fake Dip Switch
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cop01_state,mightguy_area_r, (void *)0x01) // "Start Area" - see fake Dip Switch
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, cop01_state,mightguy_area_r, (void *)0x02) // "Start Area" - see fake Dip Switch
|
||||
|
||||
PORT_START("FAKE") /* FAKE Dip Switch */
|
||||
PORT_DIPNAME( 0x07, 0x07, "Starting Area" )
|
||||
|
@ -67,18 +67,17 @@ WRITE8_MEMBER(crbaloon_state::pc3092_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( pc3092_r )
|
||||
CUSTOM_INPUT_MEMBER(crbaloon_state::pc3092_r)
|
||||
{
|
||||
crbaloon_state *state = field.machine().driver_data<crbaloon_state>();
|
||||
UINT32 ret;
|
||||
|
||||
/* enable coin & start input? Wild guess!!! */
|
||||
if (state->m_pc3092_data[1] & 0x02)
|
||||
ret = input_port_read(field.machine(), "PC3092");
|
||||
if (m_pc3092_data[1] & 0x02)
|
||||
ret = input_port_read(machine(), "PC3092");
|
||||
else
|
||||
ret = 0x00;
|
||||
|
||||
if (LOG_PC3092) logerror("%s: read PC3092 = 0x%02x\n", field.machine().describe_context(), ret);
|
||||
if (LOG_PC3092) logerror("%s: read PC3092 = 0x%02x\n", machine().describe_context(), ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -296,7 +295,7 @@ static INPUT_PORTS_START( crbaloon )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Name Reset")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(pc3092_r, NULL)
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, crbaloon_state,pc3092_r, NULL)
|
||||
|
||||
PORT_START("PC3092")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
@ -170,10 +170,9 @@ WRITE16_MEMBER(crshrace_state::sound_command_w)
|
||||
}
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( country_sndpending_r )
|
||||
CUSTOM_INPUT_MEMBER(crshrace_state::country_sndpending_r)
|
||||
{
|
||||
crshrace_state *state = field.machine().driver_data<crshrace_state>();
|
||||
return state->m_pending_command;
|
||||
return m_pending_command;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(crshrace_state::pending_command_clear_w)
|
||||
@ -364,7 +363,7 @@ static INPUT_PORTS_START( crshrace )
|
||||
PORT_DIPSETTING( 0x0e00, "5" )
|
||||
PORT_DIPSETTING( 0x0f00, "5" )
|
||||
*/
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(country_sndpending_r, NULL) /* pending sound command */
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, crshrace_state,country_sndpending_r, NULL) /* pending sound command */
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Same as 'crshrace', but additional "unknown" Dip Switch (see notes) */
|
||||
|
@ -117,10 +117,9 @@ static MACHINE_START( dcheese )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( sound_latch_state_r )
|
||||
CUSTOM_INPUT_MEMBER(dcheese_state::sound_latch_state_r)
|
||||
{
|
||||
dcheese_state *state = field.machine().driver_data<dcheese_state>();
|
||||
return state->m_soundlatch_full;
|
||||
return m_soundlatch_full;
|
||||
}
|
||||
|
||||
|
||||
@ -273,7 +272,7 @@ static INPUT_PORTS_START( dcheese )
|
||||
PORT_BIT( 0x001f, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* low 5 bits read as a unit */
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("ticket", ticket_dispenser_line_r)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* sound->main buffer status (0=empty) */
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(sound_latch_state_r, NULL)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, dcheese_state,sound_latch_state_r, NULL)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_VOLUME_DOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -322,7 +321,7 @@ static INPUT_PORTS_START( lottof2 )
|
||||
PORT_BIT( 0x001f, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* low 5 bits read as a unit */
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("ticket", ticket_dispenser_line_r)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* sound->main buffer status (0=empty) */
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(sound_latch_state_r, NULL)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, dcheese_state,sound_latch_state_r, NULL)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_VOLUME_DOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -369,7 +368,7 @@ static INPUT_PORTS_START( fredmem )
|
||||
PORT_BIT( 0x001f, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* low 5 bits read as a unit */
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("ticket", ticket_dispenser_line_r)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* sound->main buffer status (0=empty) */
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(sound_latch_state_r, NULL)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, dcheese_state,sound_latch_state_r, NULL)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_VOLUME_DOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
@ -355,10 +355,9 @@ static void irq_handler( device_t *device, int irq )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( sub_cpu_busy )
|
||||
CUSTOM_INPUT_MEMBER(ddragon_state::sub_cpu_busy)
|
||||
{
|
||||
ddragon_state *state = field.machine().driver_data<ddragon_state>();
|
||||
return state->m_dd_sub_cpu_busy;
|
||||
return m_dd_sub_cpu_busy;
|
||||
}
|
||||
|
||||
|
||||
@ -707,7 +706,7 @@ static INPUT_PORTS_START( ddragon )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(sub_cpu_busy, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ddragon_state,sub_cpu_busy, NULL)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -652,10 +652,9 @@ READ16_MEMBER(equites_state::hvoltage_debug_r)
|
||||
#endif
|
||||
|
||||
|
||||
static CUSTOM_INPUT( gekisou_unknown_status )
|
||||
CUSTOM_INPUT_MEMBER(equites_state::gekisou_unknown_status)
|
||||
{
|
||||
equites_state *state = field.machine().driver_data<equites_state>();
|
||||
return state->m_unknown_bit;
|
||||
return m_unknown_bit;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(equites_state::gekisou_unknown_0_w)
|
||||
@ -850,7 +849,7 @@ static INPUT_PORTS_START( gekisou )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gekisou_unknown_status, NULL)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, equites_state,gekisou_unknown_status, NULL)
|
||||
|
||||
/* this is actually a variable resistor */
|
||||
PORT_START(FRQ_ADJUSTER_TAG)
|
||||
|
@ -130,11 +130,10 @@ Stephh's notes (based on the games Z80 code and some tests) :
|
||||
*************************************/
|
||||
|
||||
/* Players inputs are muxed at 0xa000 */
|
||||
static CUSTOM_INPUT( exerion_controls_r )
|
||||
CUSTOM_INPUT_MEMBER(exerion_state::exerion_controls_r)
|
||||
{
|
||||
static const char *const inname[2] = { "P1", "P2" };
|
||||
exerion_state *state = field.machine().driver_data<exerion_state>();
|
||||
return input_port_read(field.machine(), inname[state->m_cocktail_flip]) & 0x3f;
|
||||
return input_port_read(machine(), inname[m_cocktail_flip]) & 0x3f;
|
||||
}
|
||||
|
||||
|
||||
@ -234,7 +233,7 @@ ADDRESS_MAP_END
|
||||
/* verified from Z80 code */
|
||||
static INPUT_PORTS_START( exerion )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x3f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(exerion_controls_r, (void *)0)
|
||||
PORT_BIT( 0x3f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exerion_state,exerion_controls_r, (void *)0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
|
||||
|
@ -155,22 +155,21 @@ Fax 1982 6502 FXL, FLA
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( teetert_input_r )
|
||||
CUSTOM_INPUT_MEMBER(exidy_state::teetert_input_r)
|
||||
{
|
||||
exidy_state *state = field.machine().driver_data<exidy_state>();
|
||||
UINT8 dial = input_port_read(field.machine(), "DIAL");
|
||||
UINT8 dial = input_port_read(machine(), "DIAL");
|
||||
int result = 0;
|
||||
|
||||
result = (dial != state->m_last_dial) << 4;
|
||||
result = (dial != m_last_dial) << 4;
|
||||
if (result != 0)
|
||||
{
|
||||
if (((dial - state->m_last_dial) & 0xff) < 0x80)
|
||||
if (((dial - m_last_dial) & 0xff) < 0x80)
|
||||
{
|
||||
result |= 1;
|
||||
state->m_last_dial++;
|
||||
m_last_dial++;
|
||||
}
|
||||
else
|
||||
state->m_last_dial--;
|
||||
m_last_dial--;
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -603,7 +602,7 @@ static INPUT_PORTS_START( teetert )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x44, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(teetert_input_r, NULL)
|
||||
PORT_BIT( 0x44, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy_state,teetert_input_r, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -267,24 +267,22 @@ static INPUT_CHANGED( coin_inserted )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( firq_beam_r )
|
||||
CUSTOM_INPUT_MEMBER(exidy440_state::firq_beam_r)
|
||||
{
|
||||
exidy440_state *state = field.machine().driver_data<exidy440_state>();
|
||||
return state->m_firq_beam;
|
||||
return m_firq_beam;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( firq_vblank_r )
|
||||
CUSTOM_INPUT_MEMBER(exidy440_state::firq_vblank_r)
|
||||
{
|
||||
exidy440_state *state = field.machine().driver_data<exidy440_state>();
|
||||
return state->m_firq_vblank;
|
||||
return m_firq_vblank;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( hitnmiss_button1_r )
|
||||
CUSTOM_INPUT_MEMBER(exidy440_state::hitnmiss_button1_r)
|
||||
{
|
||||
/* button 1 shows up in two bits */
|
||||
UINT32 button1 = input_port_read(field.machine(), "HITNMISS_BUTTON1");
|
||||
UINT32 button1 = input_port_read(machine(), "HITNMISS_BUTTON1");
|
||||
return (button1 << 1) | button1;
|
||||
}
|
||||
|
||||
@ -532,8 +530,8 @@ static INPUT_PORTS_START( crossbow )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
@ -573,8 +571,8 @@ static INPUT_PORTS_START( cheyenne )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
@ -614,8 +612,8 @@ static INPUT_PORTS_START( combat )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
@ -655,8 +653,8 @@ static INPUT_PORTS_START( catch22 )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
@ -698,8 +696,8 @@ static INPUT_PORTS_START( cracksht )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
@ -736,8 +734,8 @@ static INPUT_PORTS_START( claypign )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
@ -778,8 +776,8 @@ static INPUT_PORTS_START( chiller )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
@ -817,8 +815,8 @@ static INPUT_PORTS_START( topsecex )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
@ -854,7 +852,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( hitnmiss )
|
||||
PORT_START("IN0") /* player inputs and logic board dips */
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(hitnmiss_button1_r, NULL)
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,hitnmiss_button1_r, NULL)
|
||||
PORT_DIPNAME( 0x0c, 0x00, "Seconds" )
|
||||
PORT_DIPSETTING( 0x04, "20" )
|
||||
PORT_DIPSETTING( 0x00, "30" )
|
||||
@ -865,8 +863,8 @@ static INPUT_PORTS_START( hitnmiss )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
@ -898,7 +896,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( whodunit )
|
||||
PORT_START("IN0") /* player inputs and logic board dips */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x04, "2" )
|
||||
@ -910,8 +908,8 @@ static INPUT_PORTS_START( whodunit )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
@ -949,8 +947,8 @@ static INPUT_PORTS_START( showdown )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Hardest ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(firq_vblank_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_beam_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, exidy440_state,firq_vblank_r, NULL)
|
||||
|
||||
PORT_START("IN1") /* audio board dips */
|
||||
COINAGE
|
||||
|
@ -718,10 +718,10 @@ INPUT_PORTS_END
|
||||
Wheels Runner
|
||||
***************************************************************************/
|
||||
|
||||
static CUSTOM_INPUT( wheelrun_wheel_r )
|
||||
CUSTOM_INPUT_MEMBER(fantland_state::wheelrun_wheel_r)
|
||||
{
|
||||
int player = (FPTR)param;
|
||||
int delta = input_port_read(field.machine(), player ? "WHEEL1" : "WHEEL0");
|
||||
int delta = input_port_read(machine(), player ? "WHEEL1" : "WHEEL0");
|
||||
delta = (delta & 0x7f) - (delta & 0x80) + 4;
|
||||
|
||||
if (delta > 7) delta = 7;
|
||||
@ -737,7 +737,7 @@ static INPUT_PORTS_START( wheelrun )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(wheelrun_wheel_r, (void *)0)
|
||||
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, fantland_state,wheelrun_wheel_r, (void *)0)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("53001") /* 53001 */
|
||||
@ -745,7 +745,7 @@ static INPUT_PORTS_START( wheelrun )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(wheelrun_wheel_r, (void *)1)
|
||||
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, fantland_state,wheelrun_wheel_r, (void *)1)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("53002") /* 53002 */
|
||||
|
@ -103,9 +103,9 @@ READ8_MEMBER(fgoal_state::fgoal_analog_r)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( fgoal_80_r )
|
||||
CUSTOM_INPUT_MEMBER(fgoal_state::fgoal_80_r)
|
||||
{
|
||||
UINT8 ret = (field.machine().primary_screen->vpos() & 0x80) ? 1 : 0;
|
||||
UINT8 ret = (machine().primary_screen->vpos() & 0x80) ? 1 : 0;
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -257,7 +257,7 @@ static INPUT_PORTS_START( fgoal )
|
||||
/* extra credit score changes depending on player's performance */
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(fgoal_80_r, NULL) /* 128V */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, fgoal_state,fgoal_80_r, NULL) /* 128V */
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ))
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ))
|
||||
|
@ -195,54 +195,49 @@ READ8_MEMBER(firetrk_state::montecar_dip_r)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( steer_dir_r )
|
||||
CUSTOM_INPUT_MEMBER(firetrk_state::steer_dir_r)
|
||||
{
|
||||
firetrk_state *state = field.machine().driver_data<firetrk_state>();
|
||||
return state->m_steer_dir[(FPTR)param];
|
||||
return m_steer_dir[(FPTR)param];
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( steer_flag_r )
|
||||
CUSTOM_INPUT_MEMBER(firetrk_state::steer_flag_r)
|
||||
{
|
||||
firetrk_state *state = field.machine().driver_data<firetrk_state>();
|
||||
return state->m_steer_flag[(FPTR)param];
|
||||
return m_steer_flag[(FPTR)param];
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( skid_r )
|
||||
CUSTOM_INPUT_MEMBER(firetrk_state::skid_r)
|
||||
{
|
||||
firetrk_state *state = field.machine().driver_data<firetrk_state>();
|
||||
UINT32 ret;
|
||||
int which = (FPTR)param;
|
||||
|
||||
if (which != 2)
|
||||
ret = state->m_skid[which];
|
||||
ret = m_skid[which];
|
||||
else
|
||||
ret = state->m_skid[0] | state->m_skid[1];
|
||||
ret = m_skid[0] | m_skid[1];
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( crash_r )
|
||||
CUSTOM_INPUT_MEMBER(firetrk_state::crash_r)
|
||||
{
|
||||
firetrk_state *state = field.machine().driver_data<firetrk_state>();
|
||||
UINT32 ret;
|
||||
int which = (FPTR)param;
|
||||
|
||||
if (which != 2)
|
||||
ret = state->m_crash[which];
|
||||
ret = m_crash[which];
|
||||
else
|
||||
ret = state->m_crash[0] | state->m_crash[1];
|
||||
ret = m_crash[0] | m_crash[1];
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( gear_r )
|
||||
CUSTOM_INPUT_MEMBER(firetrk_state::gear_r)
|
||||
{
|
||||
firetrk_state *state = field.machine().driver_data<firetrk_state>();
|
||||
return (state->m_gear == (FPTR)param) ? 1 : 0;
|
||||
return (m_gear == (FPTR)param) ? 1 : 0;
|
||||
}
|
||||
|
||||
|
||||
@ -438,11 +433,11 @@ static INPUT_PORTS_START( firetrk )
|
||||
PORT_START("BIT_0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Gas") PORT_PLAYER(1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(steer_dir_r, (void *)0)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(steer_dir_r, (void *)1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,steer_dir_r, (void *)0)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,steer_dir_r, (void *)1)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Bell") PORT_PLAYER(2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_TILT )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(skid_r, (void *)2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,skid_r, (void *)2)
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Service_Mode ) ) PORT_CODE(KEYCODE_F2) PORT_TOGGLE PORT_CHANGED(service_mode_switch_changed, 0)
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
@ -462,11 +457,11 @@ static INPUT_PORTS_START( firetrk )
|
||||
PORT_START("BIT_7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(steer_flag_r, (void *)0)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(steer_flag_r, (void *)1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,steer_flag_r, (void *)0)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,steer_flag_r, (void *)1)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(crash_r, (void *)2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,crash_r, (void *)2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Diag Step") PORT_CODE(KEYCODE_F1)
|
||||
|
||||
PORT_START("HORN")
|
||||
@ -508,23 +503,23 @@ static INPUT_PORTS_START( superbug )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( German ) )
|
||||
|
||||
PORT_START("BIT_0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gear_r, (void *)1)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,gear_r, (void *)1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Gas")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(steer_dir_r, (void *)0)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,steer_dir_r, (void *)0)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Hiscore Reset") PORT_CODE(KEYCODE_H)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_SERVICE( 0x20, IP_ACTIVE_HIGH )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(skid_r, (void *)0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,skid_r, (void *)0)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_TILT )
|
||||
|
||||
PORT_START("BIT_7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gear_r, (void *)2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gear_r, (void *)0)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(steer_flag_r, (void *)0)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,gear_r, (void *)2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,gear_r, (void *)0)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,steer_flag_r, (void *)0)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(crash_r, (void *)0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,crash_r, (void *)0)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Track Select") PORT_CODE(KEYCODE_SPACE)
|
||||
|
||||
PORT_START("GEAR")
|
||||
@ -580,14 +575,14 @@ static INPUT_PORTS_START( montecar )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( German ) )
|
||||
|
||||
PORT_START("BIT_6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gear_r, (void *)0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gear_r, (void *)1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gear_r, (void *)2)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,gear_r, (void *)0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,gear_r, (void *)1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,gear_r, (void *)2)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Track Select") PORT_CODE(KEYCODE_SPACE)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Gas")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(steer_dir_r, (void *)0)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(skid_r, (void *)1)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,steer_dir_r, (void *)0)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,skid_r, (void *)1)
|
||||
|
||||
PORT_START("BIT_7")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
@ -596,8 +591,8 @@ static INPUT_PORTS_START( montecar )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(steer_flag_r, (void *)0)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(skid_r, (void *)0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,steer_flag_r, (void *)0)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, firetrk_state,skid_r, (void *)0)
|
||||
|
||||
PORT_START("GEAR")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Gear 1") PORT_CODE(KEYCODE_Z) PORT_CHANGED(gear_changed, (void *)0)
|
||||
|
@ -117,12 +117,11 @@ static ADDRESS_MAP_START( onna34ro_map, AS_PROGRAM, 8, flstory_state )
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(m_workram) /* work RAM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static CUSTOM_INPUT( victnine_mcu_status_bit01_r )
|
||||
CUSTOM_INPUT_MEMBER(flstory_state::victnine_mcu_status_bit01_r)
|
||||
{
|
||||
flstory_state *state = field.machine().driver_data<flstory_state>();
|
||||
address_space *space = state->m_maincpu->memory().space(AS_PROGRAM);
|
||||
address_space *space = m_maincpu->memory().space(AS_PROGRAM);
|
||||
|
||||
return (state->victnine_mcu_status_r(*space, 0) & 3);
|
||||
return (victnine_mcu_status_r(*space, 0) & 3);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( victnine_map, AS_PROGRAM, 8, flstory_state )
|
||||
@ -785,7 +784,7 @@ static INPUT_PORTS_START( victnine )
|
||||
/* bits 0,1 are MCU related:
|
||||
- bit 0: mcu is ready to receive data from main cpu
|
||||
- bit 1: mcu has sent data to the main cpu */
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(victnine_mcu_status_bit01_r, NULL)
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, flstory_state,victnine_mcu_status_bit01_r, NULL)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 )
|
||||
@ -928,7 +927,7 @@ static INPUT_PORTS_START( rumba )
|
||||
/* bits 0,1 are MCU related:
|
||||
- bit 0: mcu is ready to receive data from main cpu
|
||||
- bit 1: mcu has sent data to the main cpu */
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(victnine_mcu_status_bit01_r, NULL)
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, flstory_state,victnine_mcu_status_bit01_r, NULL)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -70,22 +70,19 @@ READ16_MEMBER(fromanc2_state::fromanc2_keymatrix_r)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( subcpu_int_r )
|
||||
CUSTOM_INPUT_MEMBER(fromanc2_state::subcpu_int_r)
|
||||
{
|
||||
fromanc2_state *state = field.machine().driver_data<fromanc2_state>();
|
||||
return state->m_subcpu_int_flag & 0x01;
|
||||
return m_subcpu_int_flag & 0x01;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( sndcpu_nmi_r )
|
||||
CUSTOM_INPUT_MEMBER(fromanc2_state::sndcpu_nmi_r)
|
||||
{
|
||||
fromanc2_state *state = field.machine().driver_data<fromanc2_state>();
|
||||
return state->m_sndcpu_nmi_flag & 0x01;
|
||||
return m_sndcpu_nmi_flag & 0x01;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( subcpu_nmi_r )
|
||||
CUSTOM_INPUT_MEMBER(fromanc2_state::subcpu_nmi_r)
|
||||
{
|
||||
fromanc2_state *state = field.machine().driver_data<fromanc2_state>();
|
||||
return state->m_subcpu_nmi_flag & 0x01;
|
||||
return m_subcpu_nmi_flag & 0x01;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(fromanc2_state::fromanc2_eeprom_w)
|
||||
@ -314,9 +311,9 @@ static INPUT_PORTS_START( fromanc2 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN4 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(subcpu_int_r, NULL) // SUBCPU INT FLAG
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(sndcpu_nmi_r, NULL) // SNDCPU NMI FLAG
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(subcpu_nmi_r, NULL) // SUBCPU NMI FLAG
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, fromanc2_state,subcpu_int_r, NULL) // SUBCPU INT FLAG
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, fromanc2_state,sndcpu_nmi_r, NULL) // SNDCPU NMI FLAG
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, fromanc2_state,subcpu_nmi_r, NULL) // SUBCPU NMI FLAG
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME( "Service Mode (1P)" ) PORT_CODE(KEYCODE_F2) // TEST (1P)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME( "Service Mode (2P)" ) PORT_CODE(KEYCODE_F2) // TEST (2P)
|
||||
@ -425,7 +422,7 @@ static INPUT_PORTS_START( fromanc4 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_COIN4 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(sndcpu_nmi_r, NULL) // SNDCPU NMI FLAG
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, fromanc2_state,sndcpu_nmi_r, NULL) // SNDCPU NMI FLAG
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
@ -414,11 +414,10 @@ WRITE16_MEMBER(gaelco3d_state::sound_status_w)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( analog_bit_r )
|
||||
CUSTOM_INPUT_MEMBER(gaelco3d_state::analog_bit_r)
|
||||
{
|
||||
gaelco3d_state *state = field.machine().driver_data<gaelco3d_state>();
|
||||
int which = (FPTR)param;
|
||||
return (state->m_analog_ports[which] >> 7) & 0x01;
|
||||
return (m_analog_ports[which] >> 7) & 0x01;
|
||||
}
|
||||
|
||||
|
||||
@ -877,10 +876,10 @@ static INPUT_PORTS_START( speedup )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) // checked after reading analog from port 1
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) // checked after reading analog from port 2
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) // checked after reading analog from port 3
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)0)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)1)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)2)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)3)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)0)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)1)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)2)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)3)
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN2 ) // verified
|
||||
@ -916,10 +915,10 @@ static INPUT_PORTS_START( surfplnt )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0800, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)0)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)1)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)2)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)3)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)0)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)1)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)2)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)3)
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -953,10 +952,10 @@ static INPUT_PORTS_START( radikalb )
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08000000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)0)
|
||||
PORT_BIT( 0x20000000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)1)
|
||||
PORT_BIT( 0x40000000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)2)
|
||||
PORT_BIT( 0x80000000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)3)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)0)
|
||||
PORT_BIT( 0x20000000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)1)
|
||||
PORT_BIT( 0x40000000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)2)
|
||||
PORT_BIT( 0x80000000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, gaelco3d_state,analog_bit_r, (void *)3)
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
@ -777,7 +777,7 @@ WRITE8_MEMBER(galaga_state::bosco_latch_w)
|
||||
}
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( shifted_port_r ) { return input_port_read(field.machine(), (const char *)param) >> 4; }
|
||||
CUSTOM_INPUT_MEMBER(galaga_state::shifted_port_r){ return input_port_read(machine(), (const char *)param) >> 4; }
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( out_0 )
|
||||
{
|
||||
@ -1416,7 +1416,7 @@ static INPUT_PORTS_START( digdug )
|
||||
PORT_DIPSETTING( 0xc0, "5" )
|
||||
|
||||
PORT_START("DSWA_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(shifted_port_r, "DSWA")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, bosco_state,shifted_port_r, "DSWA")
|
||||
|
||||
PORT_START("DSWB") // reverse order against SWA
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWB:1,2")
|
||||
@ -1443,7 +1443,7 @@ static INPUT_PORTS_START( digdug )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Hardest ) )
|
||||
|
||||
PORT_START("DSWB_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(shifted_port_r, "DSWB")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, bosco_state,shifted_port_r, "DSWB")
|
||||
INPUT_PORTS_END
|
||||
|
||||
/*
|
||||
|
@ -87,16 +87,14 @@ WRITE32_MEMBER(galastrm_state::galastrm_tc0610_1_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( frame_counter_r )
|
||||
CUSTOM_INPUT_MEMBER(galastrm_state::frame_counter_r)
|
||||
{
|
||||
galastrm_state *state = field.machine().driver_data<galastrm_state>();
|
||||
return state->m_frame_counter;
|
||||
return m_frame_counter;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( coin_word_r )
|
||||
CUSTOM_INPUT_MEMBER(galastrm_state::coin_word_r)
|
||||
{
|
||||
galastrm_state *state = field.machine().driver_data<galastrm_state>();
|
||||
return state->m_coin_word;
|
||||
return m_coin_word;
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(galastrm_state::galastrm_input_w)
|
||||
@ -202,7 +200,7 @@ static INPUT_PORTS_START( galastrm )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(frame_counter_r, NULL)
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galastrm_state,frame_counter_r, NULL)
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00001000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -228,7 +226,7 @@ static INPUT_PORTS_START( galastrm )
|
||||
PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(coin_word_r, NULL)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galastrm_state,coin_word_r, NULL)
|
||||
|
||||
PORT_START("STICKX")
|
||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(60) PORT_KEYDELTA(15) PORT_PLAYER(1)
|
||||
|
@ -726,15 +726,14 @@ static READ8_DEVICE_HANDLER( scramble_protection_r )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( scramble_protection_alt_r )
|
||||
CUSTOM_INPUT_MEMBER(galaxian_state::scramble_protection_alt_r)
|
||||
{
|
||||
galaxian_state *state = field.machine().driver_data<galaxian_state>();
|
||||
/*
|
||||
There are two additional bits that are derived from bit 7 of
|
||||
the protection result. This is just a guess but works well enough
|
||||
to boot scrambls.
|
||||
*/
|
||||
return (state->m_protection_result >> 7) & 1;
|
||||
return (m_protection_result >> 7) & 1;
|
||||
}
|
||||
|
||||
|
||||
@ -1102,13 +1101,12 @@ static INPUT_CHANGED( gmgalax_game_changed )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( gmgalax_port_r )
|
||||
CUSTOM_INPUT_MEMBER(galaxian_state::gmgalax_port_r)
|
||||
{
|
||||
galaxian_state *state = field.machine().driver_data<galaxian_state>();
|
||||
const char *portname = (const char *)param;
|
||||
if (state->m_gmgalax_selected_game != 0)
|
||||
if (m_gmgalax_selected_game != 0)
|
||||
portname += strlen(portname) + 1;
|
||||
return input_port_read(field.machine(), portname);
|
||||
return input_port_read(machine(), portname);
|
||||
}
|
||||
|
||||
|
||||
@ -1158,9 +1156,9 @@ static WRITE8_HANDLER( zigzag_ay8910_w )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( azurian_port_r )
|
||||
CUSTOM_INPUT_MEMBER(galaxian_state::azurian_port_r)
|
||||
{
|
||||
return (input_port_read(field.machine(), "FAKE") >> (FPTR)param) & 1;
|
||||
return (input_port_read(machine(), "FAKE") >> (FPTR)param) & 1;
|
||||
}
|
||||
|
||||
|
||||
@ -1171,20 +1169,19 @@ static CUSTOM_INPUT( azurian_port_r )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( kingball_muxbit_r )
|
||||
CUSTOM_INPUT_MEMBER(galaxian_state::kingball_muxbit_r)
|
||||
{
|
||||
galaxian_state *state = field.machine().driver_data<galaxian_state>();
|
||||
/* multiplex the service mode switch with a speech DIP switch */
|
||||
return (input_port_read(field.machine(), "FAKE") >> state->m_kingball_speech_dip) & 1;
|
||||
return (input_port_read(machine(), "FAKE") >> m_kingball_speech_dip) & 1;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( kingball_noise_r )
|
||||
CUSTOM_INPUT_MEMBER(galaxian_state::kingball_noise_r)
|
||||
{
|
||||
/* bit 5 is the NOISE line from the sound circuit. The code just verifies
|
||||
that it's working, doesn't actually use return value, so we can just use
|
||||
rand() */
|
||||
return field.machine().rand() & 1;
|
||||
return machine().rand() & 1;
|
||||
}
|
||||
|
||||
|
||||
|
@ -916,16 +916,16 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
/* Lives Dips are spread across two input ports */
|
||||
static CUSTOM_INPUT( vpool_lives_r )
|
||||
CUSTOM_INPUT_MEMBER(galaxold_state::vpool_lives_r)
|
||||
{
|
||||
int bit_mask = (FPTR)param;
|
||||
|
||||
switch (bit_mask)
|
||||
{
|
||||
case 0x40: /* vpool : IN1 (0xa800) bit 6 */
|
||||
return ((input_port_read(field.machine(), "LIVES") & bit_mask) >> 6);
|
||||
return ((input_port_read(machine(), "LIVES") & bit_mask) >> 6);
|
||||
case 0x01: /* vpool : DSW (0xb000) bit 0 */
|
||||
return ((input_port_read(field.machine(), "LIVES") & bit_mask) >> 0);
|
||||
return ((input_port_read(machine(), "LIVES") & bit_mask) >> 0);
|
||||
|
||||
default:
|
||||
logerror("vpool_lives_r : invalid %02X bit_mask\n",bit_mask);
|
||||
@ -952,11 +952,11 @@ static INPUT_PORTS_START( vpool )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vpool_lives_r, (void *)0x40)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxold_state,vpool_lives_r, (void *)0x40)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("DSW0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vpool_lives_r, (void *)0x01)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxold_state,vpool_lives_r, (void *)0x01)
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
@ -1063,21 +1063,21 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
/* Coinage Dips are spread across two input ports */
|
||||
static CUSTOM_INPUT( ckongg_coinage_r )
|
||||
CUSTOM_INPUT_MEMBER(galaxold_state::ckongg_coinage_r)
|
||||
{
|
||||
int bit_mask = (FPTR)param;
|
||||
|
||||
switch (bit_mask)
|
||||
{
|
||||
case 0x0c: /* ckongg : DSW (0xc800) bits 2 and 3 */
|
||||
return ((input_port_read(field.machine(), "COINAGE") & bit_mask) >> 2);
|
||||
return ((input_port_read(machine(), "COINAGE") & bit_mask) >> 2);
|
||||
case 0x40: /* ckongg : IN1 (0xc400) bit 6 */
|
||||
return ((input_port_read(field.machine(), "COINAGE") & bit_mask) >> 6);
|
||||
return ((input_port_read(machine(), "COINAGE") & bit_mask) >> 6);
|
||||
|
||||
case 0xc0: /* ckongmc : IN1 (0xa800) bits 6 and 7 */
|
||||
return ((input_port_read(field.machine(), "COINAGE") & bit_mask) >> 6);
|
||||
return ((input_port_read(machine(), "COINAGE") & bit_mask) >> 6);
|
||||
case 0x01: /* ckongmc : DSW (0xb000) bit 0 */
|
||||
return ((input_port_read(field.machine(), "COINAGE") & bit_mask) >> 0);
|
||||
return ((input_port_read(machine(), "COINAGE") & bit_mask) >> 0);
|
||||
|
||||
default:
|
||||
logerror("ckongg_coinage_r : invalid %02X bit_mask\n",bit_mask);
|
||||
@ -1104,7 +1104,7 @@ static INPUT_PORTS_START( ckongg )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ckongg_coinage_r, (void *)0x40)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxold_state,ckongg_coinage_r, (void *)0x40)
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
@ -1115,7 +1115,7 @@ static INPUT_PORTS_START( ckongg )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
PORT_DIPSETTING( 0x02, "5" )
|
||||
PORT_DIPSETTING( 0x03, "6" )
|
||||
PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ckongg_coinage_r, (void *)0x0c)
|
||||
PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxold_state,ckongg_coinage_r, (void *)0x0c)
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("COINAGE")
|
||||
@ -1149,10 +1149,10 @@ static INPUT_PORTS_START( ckongmc )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ckongg_coinage_r, (void *)0xc0)
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxold_state,ckongg_coinage_r, (void *)0xc0)
|
||||
|
||||
PORT_START("DSW")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ckongg_coinage_r, (void *)0x01)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxold_state,ckongg_coinage_r, (void *)0x01)
|
||||
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x02, "4" )
|
||||
@ -1431,16 +1431,16 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
/* Coinage Dips are spread across two input ports */
|
||||
static CUSTOM_INPUT( dkongjrm_coinage_r )
|
||||
CUSTOM_INPUT_MEMBER(galaxold_state::dkongjrm_coinage_r)
|
||||
{
|
||||
int bit_mask = (FPTR)param;
|
||||
|
||||
switch (bit_mask)
|
||||
{
|
||||
case 0xc0: /* dkongjrm : IN1 (0xa8??) bits 6 and 7 */
|
||||
return ((input_port_read(field.machine(), "COINAGE") & bit_mask) >> 6);
|
||||
return ((input_port_read(machine(), "COINAGE") & bit_mask) >> 6);
|
||||
case 0x01: /* dkongjrm : DSW (0xb0??) bit 0 */
|
||||
return ((input_port_read(field.machine(), "COINAGE") & bit_mask) >> 0);
|
||||
return ((input_port_read(machine(), "COINAGE") & bit_mask) >> 0);
|
||||
|
||||
default:
|
||||
logerror("dkongjrm_coinage_r : invalid %02X bit_mask\n",bit_mask);
|
||||
@ -1467,10 +1467,10 @@ static INPUT_PORTS_START( dkongjrm )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dkongjrm_coinage_r, (void *)0xc0)
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxold_state,dkongjrm_coinage_r, (void *)0xc0)
|
||||
|
||||
PORT_START("DSW")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dkongjrm_coinage_r, (void *)0x01)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxold_state,dkongjrm_coinage_r, (void *)0x01)
|
||||
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x02, "4" )
|
||||
|
@ -350,7 +350,7 @@ static INPUT_PORTS_START( azurian )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(azurian_port_r, (void *)0) /* "linked" with bit 2 of IN2 */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, azurian_port_r, (void *)0) /* "linked" with bit 2 of IN2 */
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x80, "5" )
|
||||
@ -362,7 +362,7 @@ static INPUT_PORTS_START( azurian )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, "5000" )
|
||||
PORT_DIPSETTING( 0x02, "7000" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(azurian_port_r, (void *)1) /* "linked" with bit 6 of IN1 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, azurian_port_r, (void *)1) /* "linked" with bit 6 of IN1 */
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
|
||||
@ -889,13 +889,13 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( gmgalax )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(gmgalax_port_r, "GMIN0\0GLIN0")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_port_r, "GMIN0\0GLIN0")
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(gmgalax_port_r, "GMIN1\0GLIN1")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_port_r, "GMIN1\0GLIN1")
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(gmgalax_port_r, "GMIN2\0GLIN2")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_port_r, "GMIN2\0GLIN2")
|
||||
|
||||
PORT_START("GMIN0") /* Ghost Muncher - IN0 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CONDITION("GAMESEL",0x01,PORTCOND_NOTEQUALS,0x01)
|
||||
@ -1619,14 +1619,14 @@ static INPUT_PORTS_START( kingball )
|
||||
PORT_INCLUDE(galaxian)
|
||||
|
||||
PORT_MODIFY("IN0")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(kingball_muxbit_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, kingball_muxbit_r, NULL)
|
||||
/* Relating to above port:Hack? - possibly multiplexed via writes to $b003 */
|
||||
//PORT_DIPNAME( 0x40, 0x40, "Speech" )
|
||||
//PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
//PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
|
||||
PORT_MODIFY("IN1")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(kingball_noise_r, NULL) /* NOISE line */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, kingball_noise_r, NULL) /* NOISE line */
|
||||
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
|
||||
@ -2055,9 +2055,9 @@ static INPUT_PORTS_START( scramble )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(scramble_protection_alt_r, (void *)0) /* protection bit */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, scramble_protection_alt_r, (void *)0) /* protection bit */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(scramble_protection_alt_r, (void *)1) /* protection bit */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, scramble_protection_alt_r, (void *)1) /* protection bit */
|
||||
|
||||
PORT_START("IN3") /* need for some PPI accesses */
|
||||
PORT_BIT( 0xff, 0x00, IPT_UNUSED )
|
||||
|
@ -290,13 +290,12 @@ static MACHINE_RESET( gottlieb )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( analog_delta_r )
|
||||
CUSTOM_INPUT_MEMBER(gottlieb_state::analog_delta_r)
|
||||
{
|
||||
gottlieb_state *state = field.machine().driver_data<gottlieb_state>();
|
||||
const char *string = (const char *)param;
|
||||
int which = string[0] - '0';
|
||||
|
||||
return input_port_read(field.machine(), &string[1]) - state->m_track[which];
|
||||
return input_port_read(machine(), &string[1]) - m_track[which];
|
||||
}
|
||||
|
||||
|
||||
@ -308,11 +307,10 @@ WRITE8_MEMBER(gottlieb_state::gottlieb_analog_reset_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( stooges_joystick_r )
|
||||
CUSTOM_INPUT_MEMBER(gottlieb_state::stooges_joystick_r)
|
||||
{
|
||||
gottlieb_state *state = field.machine().driver_data<gottlieb_state>();
|
||||
static const char *const joyport[] = { "P2JOY", "P3JOY", "P1JOY", NULL };
|
||||
return (joyport[state->m_joystick_select & 3] != NULL) ? input_port_read(field.machine(), joyport[state->m_joystick_select & 3]) : 0xff;
|
||||
return (joyport[m_joystick_select & 3] != NULL) ? input_port_read(machine(), joyport[m_joystick_select & 3]) : 0xff;
|
||||
}
|
||||
|
||||
|
||||
@ -778,10 +776,10 @@ static INPUT_PORTS_START( reactor )
|
||||
PORT_BIT ( 0xfc, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN2") /* trackball H */
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM(analog_delta_r, "0TRACKX")
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, gottlieb_state,analog_delta_r, "0TRACKX")
|
||||
|
||||
PORT_START("IN3") /* trackball V */
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM(analog_delta_r, "1TRACKY")
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, gottlieb_state,analog_delta_r, "1TRACKY")
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
@ -989,10 +987,10 @@ static INPUT_PORTS_START( argusg )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN2") /* trackball H */
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM(analog_delta_r, "0TRACKX")
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, gottlieb_state,analog_delta_r, "0TRACKX")
|
||||
|
||||
PORT_START("IN3") /* trackball V */
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM(analog_delta_r, "1TRACKY")
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, gottlieb_state,analog_delta_r, "1TRACKY")
|
||||
|
||||
/* NOTE: Buttons are shared for both players; are mirrored to each side of the controller */
|
||||
PORT_START("IN4")
|
||||
@ -1046,7 +1044,7 @@ static INPUT_PORTS_START( mplanets )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN3") /* trackball V (dial) */
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM(analog_delta_r, "1TRACKY")
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, gottlieb_state,analog_delta_r, "1TRACKY")
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
@ -1525,7 +1523,7 @@ static INPUT_PORTS_START( 3stooges )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN4") /* joystick inputs */
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(stooges_joystick_r, NULL)
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, gottlieb_state,stooges_joystick_r, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(3)
|
||||
@ -1637,7 +1635,7 @@ static INPUT_PORTS_START( wizwarz )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN3") /* trackball V is a dial input */
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM(analog_delta_r, "1TRACKY")
|
||||
PORT_BIT( 0xff, 0, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, gottlieb_state,analog_delta_r, "1TRACKY")
|
||||
|
||||
PORT_START("IN4") /* ? */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
|
@ -124,16 +124,14 @@ static const eeprom_interface groundfx_eeprom_interface =
|
||||
GAME INPUTS
|
||||
**********************************************************/
|
||||
|
||||
static CUSTOM_INPUT( frame_counter_r )
|
||||
CUSTOM_INPUT_MEMBER(groundfx_state::frame_counter_r)
|
||||
{
|
||||
groundfx_state *state = field.machine().driver_data<groundfx_state>();
|
||||
return state->m_frame_counter;
|
||||
return m_frame_counter;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( coin_word_r )
|
||||
CUSTOM_INPUT_MEMBER(groundfx_state::coin_word_r)
|
||||
{
|
||||
groundfx_state *state = field.machine().driver_data<groundfx_state>();
|
||||
return state->m_coin_word;
|
||||
return m_coin_word;
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(groundfx_state::groundfx_input_w)
|
||||
@ -240,7 +238,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( groundfx )
|
||||
PORT_START("BUTTONS")
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(frame_counter_r, NULL)
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, groundfx_state,frame_counter_r, NULL)
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -272,7 +270,7 @@ static INPUT_PORTS_START( groundfx )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(coin_word_r, NULL)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, groundfx_state,coin_word_r, NULL)
|
||||
|
||||
PORT_START("AN0") /* IN 2, steering wheel */
|
||||
PORT_BIT( 0xff, 0x7f, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1)
|
||||
|
@ -78,10 +78,9 @@ WRITE32_MEMBER(gunbustr_state::gunbustr_palette_w)
|
||||
palette_set_color_rgb(machine(),offset*2+1,pal5bit(a >> 10),pal5bit(a >> 5),pal5bit(a >> 0));
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( coin_word_r )
|
||||
CUSTOM_INPUT_MEMBER(gunbustr_state::coin_word_r)
|
||||
{
|
||||
gunbustr_state *state = field.machine().driver_data<gunbustr_state>();
|
||||
return state->m_coin_word;
|
||||
return m_coin_word;
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(gunbustr_state::gunbustr_input_w)
|
||||
@ -263,7 +262,7 @@ static INPUT_PORTS_START( gunbustr )
|
||||
PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(coin_word_r, NULL)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, gunbustr_state,coin_word_r, NULL)
|
||||
|
||||
/* Light gun inputs */
|
||||
|
||||
|
@ -62,9 +62,9 @@ static ADDRESS_MAP_START( homerun_memmap, AS_PROGRAM, 8, homerun_state )
|
||||
AM_RANGE(0xc000, 0xdfff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static CUSTOM_INPUT( homerun_40_r )
|
||||
CUSTOM_INPUT_MEMBER(homerun_state::homerun_40_r)
|
||||
{
|
||||
UINT8 ret = (field.machine().primary_screen->vpos() > 116) ? 1 : 0;
|
||||
UINT8 ret = (machine().primary_screen->vpos() > 116) ? 1 : 0;
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -97,7 +97,7 @@ static const ym2203_interface ym2203_config =
|
||||
static INPUT_PORTS_START( homerun )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(homerun_40_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, homerun_state,homerun_40_r, NULL)
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
@ -127,7 +127,7 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( dynashot )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(homerun_40_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, homerun_state,homerun_40_r, NULL)
|
||||
PORT_BIT( 0xb7, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN1")
|
||||
|
@ -111,10 +111,9 @@ WRITE8_MEMBER(inufuku_state::inufuku_soundrombank_w)
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
static CUSTOM_INPUT( soundflag_r )
|
||||
CUSTOM_INPUT_MEMBER(inufuku_state::soundflag_r)
|
||||
{
|
||||
inufuku_state *state = field.machine().driver_data<inufuku_state>();
|
||||
UINT16 soundflag = state->m_pending_command ? 0 : 1;
|
||||
UINT16 soundflag = m_pending_command ? 0 : 1;
|
||||
|
||||
return soundflag;
|
||||
}
|
||||
@ -232,7 +231,7 @@ static INPUT_PORTS_START( inufuku )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(soundflag_r, NULL) // pending sound command
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, inufuku_state,soundflag_r, NULL) // pending sound command
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
|
@ -464,13 +464,12 @@ static MACHINE_RESET( drivedge )
|
||||
*************************************/
|
||||
|
||||
|
||||
static CUSTOM_INPUT( special_port_r )
|
||||
CUSTOM_INPUT_MEMBER(itech32_state::special_port_r)
|
||||
{
|
||||
itech32_state *state = field.machine().driver_data<itech32_state>();
|
||||
if (state->m_sound_int_state)
|
||||
state->m_special_result ^= 1;
|
||||
if (m_sound_int_state)
|
||||
m_special_result ^= 1;
|
||||
|
||||
return state->m_special_result;
|
||||
return m_special_result;
|
||||
}
|
||||
|
||||
READ16_MEMBER(itech32_state::trackball_r)
|
||||
@ -1117,7 +1116,7 @@ static INPUT_PORTS_START( timekill )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0001, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_port_r, NULL)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech32_state,special_port_r, NULL)
|
||||
PORT_DIPNAME( 0x0010, 0x0000, "Video Sync" ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x0000, "-" )
|
||||
PORT_DIPSETTING( 0x0010, "+" )
|
||||
@ -1162,7 +1161,7 @@ static INPUT_PORTS_START( itech32_base_16bit )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0001, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_port_r, NULL)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech32_state,special_port_r, NULL)
|
||||
PORT_DIPNAME( 0x0010, 0x0000, "Video Sync" ) PORT_DIPLOCATION("SW1:4")
|
||||
PORT_DIPSETTING( 0x0000, "-" )
|
||||
PORT_DIPSETTING( 0x0010, "+" )
|
||||
@ -1365,7 +1364,7 @@ static INPUT_PORTS_START( itech32_base_32bit )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00010000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(special_port_r, NULL)
|
||||
PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech32_state,special_port_r, NULL)
|
||||
PORT_DIPNAME( 0x00100000, 0x00000000, "Video Sync" ) PORT_DIPLOCATION("SW1:4")
|
||||
PORT_DIPSETTING( 0x00000000, "-" )
|
||||
PORT_DIPSETTING( 0x00100000, "+" )
|
||||
|
@ -726,10 +726,9 @@ WRITE8_MEMBER(itech8_state::rimrockn_bank_w)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( special_r )
|
||||
CUSTOM_INPUT_MEMBER(itech8_state::special_r)
|
||||
{
|
||||
itech8_state *state = field.machine().driver_data<itech8_state>();
|
||||
return state->m_pia_portb_data & 0x01;
|
||||
return m_pia_portb_data & 0x01;
|
||||
}
|
||||
|
||||
|
||||
@ -993,7 +992,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( wfortune )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||
@ -1022,7 +1021,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( grmatch )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Adjustments Lockout" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
@ -1060,7 +1059,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( stratab )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||
@ -1095,16 +1094,16 @@ static INPUT_PORTS_START( stratab )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static CUSTOM_INPUT( gtg_mux )
|
||||
CUSTOM_INPUT_MEMBER(itech8_state::gtg_mux)
|
||||
{
|
||||
const char *tag1 = (const char *)param;
|
||||
const char *tag2 = tag1 + strlen(tag1) + 1;
|
||||
return input_port_read(field.machine(), tag1) & input_port_read(field.machine(), tag2);
|
||||
return input_port_read(machine(), tag1) & input_port_read(machine(), tag2);
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( gtg )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||
@ -1115,7 +1114,7 @@ static INPUT_PORTS_START( gtg )
|
||||
PORT_START("60")
|
||||
/* it is still unknown how the second player inputs are muxed in */
|
||||
/* currently we map both sets of controls to the same inputs */
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gtg_mux, "P1\0P2")
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,gtg_mux, "P1\0P2")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -1141,7 +1140,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( gtgt )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
@ -1168,7 +1167,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( gtg2t )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||
@ -1205,7 +1204,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( slikshot )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
@ -1232,7 +1231,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( dynobop )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
@ -1259,7 +1258,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( sstrike )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
@ -1286,7 +1285,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( pokrdice )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Lower Right") PORT_CODE(KEYCODE_3_PAD)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||
@ -1315,7 +1314,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( hstennis )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||
@ -1350,7 +1349,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( arlingtn )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) /* see code at e23c */
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
@ -1381,7 +1380,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( peggle )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
@ -1403,7 +1402,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( pegglet )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
@ -1425,7 +1424,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( neckneck )
|
||||
PORT_START("40")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) /* see code at e23c */
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
@ -1466,7 +1465,7 @@ static INPUT_PORTS_START( rimrockn )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN4 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(special_r, NULL) /* input from sound board */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, itech8_state,special_r, NULL) /* input from sound board */
|
||||
|
||||
PORT_START("80")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -78,12 +78,11 @@ WRITE8_MEMBER(jack_state::joinem_misc_w)
|
||||
m_joinem_snd_bit = data & 1;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( sound_check_r )
|
||||
CUSTOM_INPUT_MEMBER(jack_state::sound_check_r)
|
||||
{
|
||||
jack_state *state = field.machine().driver_data<jack_state>();
|
||||
UINT8 ret = 0;
|
||||
|
||||
if ((input_port_read(field.machine(), "IN2") & 0x80) && !state->m_joinem_snd_bit)
|
||||
if ((input_port_read(machine(), "IN2") & 0x80) && !m_joinem_snd_bit)
|
||||
ret = 1;
|
||||
|
||||
return ret;
|
||||
@ -574,7 +573,7 @@ static INPUT_PORTS_START( joinem )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x00, "SW2:!3" )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "SW2:!4" )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x00, "SW2:!5" )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(sound_check_r, NULL) // sound check
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, jack_state,sound_check_r, NULL) // sound check
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x00, "SW2:!7" )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Infinite Lives" ) PORT_DIPLOCATION("SW2:!8")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
|
@ -440,7 +440,7 @@ WRITE32_MEMBER(konamigx_state::esc_w)
|
||||
/**********************************************************************************/
|
||||
/* EEPROM handlers */
|
||||
|
||||
static CUSTOM_INPUT( gx_rdport1_3_r )
|
||||
CUSTOM_INPUT_MEMBER(konamigx_state::gx_rdport1_3_r)
|
||||
{
|
||||
return (gx_rdport1_3 >> 1);
|
||||
}
|
||||
@ -1369,7 +1369,7 @@ static INPUT_PORTS_START( common )
|
||||
|
||||
// note: racin' force expects bit 1 of the eeprom port to toggle
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x000000fe, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gx_rdport1_3_r, NULL)
|
||||
PORT_BIT( 0x000000fe, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, konamigx_state,gx_rdport1_3_r, NULL)
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -203,20 +203,20 @@ static INPUT_CHANGED( coin2_inserted )
|
||||
#define LADYBUG_P1_CONTROL_PORT_TAG ("CONTP1")
|
||||
#define LADYBUG_P2_CONTROL_PORT_TAG ("CONTP2")
|
||||
|
||||
static CUSTOM_INPUT( ladybug_p1_control_r )
|
||||
CUSTOM_INPUT_MEMBER(ladybug_state::ladybug_p1_control_r)
|
||||
{
|
||||
return input_port_read(field.machine(), LADYBUG_P1_CONTROL_PORT_TAG);
|
||||
return input_port_read(machine(), LADYBUG_P1_CONTROL_PORT_TAG);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( ladybug_p2_control_r )
|
||||
CUSTOM_INPUT_MEMBER(ladybug_state::ladybug_p2_control_r)
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
/* upright cabinet only uses a single set of controls */
|
||||
if (input_port_read(field.machine(), "DSW0") & 0x20)
|
||||
ret = input_port_read(field.machine(), LADYBUG_P2_CONTROL_PORT_TAG);
|
||||
if (input_port_read(machine(), "DSW0") & 0x20)
|
||||
ret = input_port_read(machine(), LADYBUG_P2_CONTROL_PORT_TAG);
|
||||
else
|
||||
ret = input_port_read(field.machine(), LADYBUG_P1_CONTROL_PORT_TAG);
|
||||
ret = input_port_read(machine(), LADYBUG_P1_CONTROL_PORT_TAG);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -224,13 +224,13 @@ static CUSTOM_INPUT( ladybug_p2_control_r )
|
||||
|
||||
static INPUT_PORTS_START( ladybug )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ladybug_p1_control_r, NULL)
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ladybug_state,ladybug_p1_control_r, NULL)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ladybug_p2_control_r, NULL)
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ladybug_state,ladybug_p2_control_r, NULL)
|
||||
/* This should be connected to the 4V clock. I don't think the game uses it. */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
/* Note that there are TWO VBlank inputs, one is active low, the other active */
|
||||
|
@ -159,9 +159,9 @@ Pin #11(+) | | R |
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( cclownz_paddle )
|
||||
CUSTOM_INPUT_MEMBER(lethalj_state::cclownz_paddle)
|
||||
{
|
||||
int value = input_port_read(field.machine(), "PADDLE");
|
||||
int value = input_port_read(machine(), "PADDLE");
|
||||
return ((value << 4) & 0xf00) | (value & 0x00f);
|
||||
}
|
||||
|
||||
@ -541,7 +541,7 @@ static INPUT_PORTS_START( cclownz )
|
||||
PORT_DIPSETTING( 0x0000, "3000" )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x0f0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(cclownz_paddle, NULL)
|
||||
PORT_BIT( 0x0f0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, lethalj_state,cclownz_paddle, NULL)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("ticket", ticket_dispenser_line_r)
|
||||
PORT_BIT( 0x0060, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
@ -287,10 +287,9 @@ WRITE16_MEMBER(m92_state::m92_bankswitch_w)
|
||||
}
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( m92_sprite_busy_r )
|
||||
CUSTOM_INPUT_MEMBER(m92_state::m92_sprite_busy_r)
|
||||
{
|
||||
m92_state *state = field.machine().driver_data<m92_state>();
|
||||
return state->m_sprite_buffer_busy;
|
||||
return m_sprite_buffer_busy;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
@ -420,7 +419,7 @@ static INPUT_PORTS_START( m92_2player )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(m92_sprite_busy_r, NULL)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, m92_state,m92_sprite_busy_r, NULL)
|
||||
/* DIP switch bank 3 */
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SW3:1" )
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW3:2" )
|
||||
|
@ -132,11 +132,10 @@ READ8_MEMBER(mainsnk_state::sound_ack_r)
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( mainsnk_sound_r )
|
||||
CUSTOM_INPUT_MEMBER(mainsnk_state::mainsnk_sound_r)
|
||||
{
|
||||
mainsnk_state *state = field.machine().driver_data<mainsnk_state>();
|
||||
|
||||
return (state->m_sound_cpu_busy) ? 0x01 : 0x00;
|
||||
return (m_sound_cpu_busy) ? 0x01 : 0x00;
|
||||
}
|
||||
|
||||
|
||||
@ -181,7 +180,7 @@ static INPUT_PORTS_START( mainsnk )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(mainsnk_sound_r, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mainsnk_state,mainsnk_sound_r, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
|
||||
@ -275,7 +274,7 @@ static INPUT_PORTS_START( canvas )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(mainsnk_sound_r, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mainsnk_state,mainsnk_sound_r, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
|
||||
|
@ -381,10 +381,9 @@ READ16_MEMBER(metro_state::metro_soundstatus_r)
|
||||
return (m_busy_sndcpu ? 0x00 : 0x01);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( custom_soundstatus_r )
|
||||
CUSTOM_INPUT_MEMBER(metro_state::custom_soundstatus_r)
|
||||
{
|
||||
metro_state *state = field.machine().driver_data<metro_state>();
|
||||
return (state->m_busy_sndcpu ? 0x01 : 0x00);
|
||||
return (m_busy_sndcpu ? 0x01 : 0x00);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(metro_state::metro_soundstatus_w)
|
||||
@ -1951,7 +1950,7 @@ ADDRESS_MAP_END
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START1 ) \
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 ) \
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN ) \
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(custom_soundstatus_r, NULL) /* From Sound CPU */
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, metro_state,custom_soundstatus_r, NULL) /* From Sound CPU */
|
||||
|
||||
|
||||
#define COINAGE_SERVICE_LOC(DIPBANK) \
|
||||
|
@ -317,10 +317,10 @@ ADDRESS_MAP_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( clock_r )
|
||||
CUSTOM_INPUT_MEMBER(mhavoc_state::clock_r)
|
||||
{
|
||||
/* 2.4kHz (divide 2.5MHz by 1024) */
|
||||
return (field.machine().device<cpu_device>("alpha")->total_cycles() & 0x400) ? 0 : 1;
|
||||
return (machine().device<cpu_device>("alpha")->total_cycles() & 0x400) ? 0 : 1;
|
||||
}
|
||||
|
||||
|
||||
@ -337,7 +337,7 @@ static INPUT_PORTS_START( mhavoc )
|
||||
/* Bit 1 = 2.4kHz (divide 2.5MHz by 1024) */
|
||||
/* Bit 0 = Vector generator halt flag */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(avgdvg_done_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(clock_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mhavoc_state,clock_r, NULL)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mhavoc_state,gamma_xmtd_r, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mhavoc_state,gamma_rcvd_r, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -436,7 +436,7 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( alphaone )
|
||||
PORT_START("IN0") /* alpha (player_1 = 0) */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(avgdvg_done_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(clock_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mhavoc_state,clock_r, NULL)
|
||||
PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
|
||||
|
@ -150,21 +150,21 @@ static WRITE8_DEVICE_HANDLER( yawdim_oki_bank_w )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( narc_talkback_strobe_r )
|
||||
CUSTOM_INPUT_MEMBER(midyunit_state::narc_talkback_strobe_r)
|
||||
{
|
||||
return (williams_narc_talkback_r(field.machine()) >> 8) & 1;
|
||||
return (williams_narc_talkback_r(machine()) >> 8) & 1;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( narc_talkback_data_r )
|
||||
CUSTOM_INPUT_MEMBER(midyunit_state::narc_talkback_data_r)
|
||||
{
|
||||
return williams_narc_talkback_r(field.machine()) & 0xff;
|
||||
return williams_narc_talkback_r(machine()) & 0xff;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( adpcm_irq_state_r )
|
||||
CUSTOM_INPUT_MEMBER(midyunit_state::adpcm_irq_state_r)
|
||||
{
|
||||
return williams_adpcm_sound_irq_r(field.machine()) & 1;
|
||||
return williams_adpcm_sound_irq_r(machine()) & 1;
|
||||
}
|
||||
|
||||
|
||||
@ -237,7 +237,7 @@ static INPUT_PORTS_START( narc )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_COIN4 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(narc_talkback_strobe_r, NULL)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, midyunit_state,narc_talkback_strobe_r, NULL)
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED ) /* memory protect interlock */
|
||||
PORT_BIT( 0x3000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xc000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -253,7 +253,7 @@ static INPUT_PORTS_START( narc )
|
||||
*/
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(narc_talkback_data_r, NULL)
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, midyunit_state,narc_talkback_data_r, NULL)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("DSW")
|
||||
@ -591,7 +591,7 @@ static INPUT_PORTS_START( mkla2 )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("P2 Block 2") PORT_PLAYER(2)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P1 Low Punch") PORT_PLAYER(1)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("P1 Low Kick") PORT_PLAYER(1)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(adpcm_irq_state_r, NULL)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, midyunit_state,adpcm_irq_state_r, NULL)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("P1 Block 2") PORT_PLAYER(1)
|
||||
|
||||
PORT_START("IN2")
|
||||
@ -683,7 +683,7 @@ static INPUT_PORTS_START( mkla4 )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("P2 Block 2") PORT_PLAYER(2)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P1 Low Punch") PORT_PLAYER(1)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("P1 Low Kick") PORT_PLAYER(1)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(adpcm_irq_state_r, NULL)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, midyunit_state,adpcm_irq_state_r, NULL)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("P1 Block 2") PORT_PLAYER(1)
|
||||
|
||||
PORT_START("IN2")
|
||||
@ -769,7 +769,7 @@ static INPUT_PORTS_START( term2 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x3000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(adpcm_irq_state_r, NULL)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, midyunit_state,adpcm_irq_state_r, NULL)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("DSW")
|
||||
@ -874,7 +874,7 @@ static INPUT_PORTS_START( totcarn )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED ) /* video freeze */
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
PORT_BIT( 0x3c00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(adpcm_irq_state_r, NULL)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, midyunit_state,adpcm_irq_state_r, NULL)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN2")
|
||||
|
@ -420,12 +420,12 @@ WRITE32_MEMBER(midzeus_state::tms32031_control_w)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( custom_49way_r )
|
||||
CUSTOM_INPUT_MEMBER(midzeus_state::custom_49way_r)
|
||||
{
|
||||
static const UINT8 translate49[7] = { 0x8, 0xc, 0xe, 0xf, 0x3, 0x1, 0x0 };
|
||||
const char *namex = (const char *)param;
|
||||
const char *namey = namex + strlen(namex) + 1;
|
||||
return (translate49[input_port_read(field.machine(), namey) >> 4] << 4) | translate49[input_port_read(field.machine(), namex) >> 4];
|
||||
return (translate49[input_port_read(machine(), namey) >> 4] << 4) | translate49[input_port_read(machine(), namex) >> 4];
|
||||
}
|
||||
|
||||
|
||||
@ -436,9 +436,9 @@ WRITE32_MEMBER(midzeus_state::keypad_select_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( keypad_r )
|
||||
CUSTOM_INPUT_MEMBER(midzeus_state::keypad_r)
|
||||
{
|
||||
UINT32 bits = input_port_read(field.machine(), (const char *)param);
|
||||
UINT32 bits = input_port_read(machine(), (const char *)param);
|
||||
UINT8 select = keypad_select;
|
||||
while ((select & 1) != 0)
|
||||
{
|
||||
@ -931,7 +931,7 @@ static INPUT_PORTS_START( crusnexo )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x0007, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM( keypad_r, "KEYPAD" )
|
||||
PORT_BIT( 0x0007, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, midzeus_state, keypad_r, "KEYPAD" )
|
||||
PORT_BIT( 0xfff8, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("KEYPAD")
|
||||
@ -1067,7 +1067,7 @@ static INPUT_PORTS_START( thegrid )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(custom_49way_r, "49WAYX\0" "49WAYY")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, midzeus_state,custom_49way_r, "49WAYX\0" "49WAYY")
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("49WAYX")
|
||||
|
@ -458,31 +458,29 @@ static READ32_HANDLER( videoctl_r )
|
||||
return (space->machine().primary_screen->frame_number() & 1) << 2;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( _1c00000_r )
|
||||
CUSTOM_INPUT_MEMBER(model2_state::_1c00000_r)
|
||||
{
|
||||
model2_state *state = field.machine().driver_data<model2_state>();
|
||||
UINT32 ret = input_port_read(field.machine(), "IN0");
|
||||
UINT32 ret = input_port_read(machine(), "IN0");
|
||||
|
||||
if(state->m_ctrlmode == 0)
|
||||
if(m_ctrlmode == 0)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
ret &= ~0x0030;
|
||||
return ret | 0x00d0 | (field.machine().device<eeprom_device>("eeprom")->read_bit() << 5);
|
||||
return ret | 0x00d0 | (machine().device<eeprom_device>("eeprom")->read_bit() << 5);
|
||||
}
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( _1c0001c_r )
|
||||
CUSTOM_INPUT_MEMBER(model2_state::_1c0001c_r)
|
||||
{
|
||||
model2_state *state = field.machine().driver_data<model2_state>();
|
||||
UINT32 iptval = 0x00ff;
|
||||
if(state->m_analog_channel < 4)
|
||||
if(m_analog_channel < 4)
|
||||
{
|
||||
static const char *const ports[] = { "ANA0", "ANA1", "ANA2", "ANA3" };
|
||||
iptval = input_port_read_safe(field.machine(), ports[state->m_analog_channel], 0);
|
||||
++state->m_analog_channel;
|
||||
iptval = input_port_read_safe(machine(), ports[m_analog_channel], 0);
|
||||
++m_analog_channel;
|
||||
}
|
||||
return iptval;
|
||||
}
|
||||
@ -558,7 +556,7 @@ static CUSTOM_INPUT( _1c0001c_r )
|
||||
*/
|
||||
|
||||
|
||||
static CUSTOM_INPUT( rchase2_devices_r )
|
||||
CUSTOM_INPUT_MEMBER(model2_state::rchase2_devices_r)
|
||||
{
|
||||
return 0xffff;
|
||||
}
|
||||
@ -1533,7 +1531,7 @@ ADDRESS_MAP_END
|
||||
static INPUT_PORTS_START( model2 )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(_1c00000_r, NULL)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c00000_r, NULL)
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(custom_port_read, "IN1")
|
||||
@ -1550,7 +1548,7 @@ static INPUT_PORTS_START( model2 )
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0x0000001a, IP_ACTIVE_HIGH, IPT_SPECIAL ) // these must be high
|
||||
PORT_BIT( 0x0000ffe5, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(_1c0001c_r, NULL)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c0001c_r, NULL)
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -1670,7 +1668,7 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( srallyc )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(_1c00000_r, NULL)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c00000_r, NULL)
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(custom_port_read, "IN1")
|
||||
@ -1687,7 +1685,7 @@ static INPUT_PORTS_START( srallyc )
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0x0000001a, IP_ACTIVE_HIGH, IPT_SPECIAL ) // these must be high
|
||||
PORT_BIT( 0x0000ffe5, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(_1c0001c_r, NULL)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c0001c_r, NULL)
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -1721,7 +1719,7 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( bel )
|
||||
PORT_START("1c00000")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(_1c00000_r, NULL)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c00000_r, NULL)
|
||||
|
||||
PORT_START("1c00004")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(custom_port_read, "IN1")
|
||||
@ -1738,7 +1736,7 @@ static INPUT_PORTS_START( bel )
|
||||
PORT_START("1c0001c")
|
||||
PORT_BIT( 0x0000001a, IP_ACTIVE_HIGH, IPT_SPECIAL ) // these must be high
|
||||
PORT_BIT( 0x0000ffe5, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(_1c0001c_r, NULL)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,_1c0001c_r, NULL)
|
||||
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -1769,7 +1767,7 @@ static INPUT_PORTS_START( rchase2 )
|
||||
PORT_BIT( 0xfffc, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_MODIFY("IN2")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(rchase2_devices_r, NULL)
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, model2_state,rchase2_devices_r, NULL)
|
||||
|
||||
/* FIXME: don't know yet if min max values are really correct, we'll see ... */
|
||||
PORT_START("ANA0")
|
||||
|
@ -176,27 +176,26 @@ Super Strong Warriors
|
||||
|
||||
/********** READ INPUTS **********/
|
||||
|
||||
static CUSTOM_INPUT( mahjong_ctrl_r )
|
||||
CUSTOM_INPUT_MEMBER(ms32_state::mahjong_ctrl_r)
|
||||
{
|
||||
ms32_state *state = field.machine().driver_data<ms32_state>();
|
||||
UINT32 mj_input;
|
||||
|
||||
switch (state->m_mahjong_input_select[0])
|
||||
switch (m_mahjong_input_select[0])
|
||||
{
|
||||
case 0x01:
|
||||
mj_input = input_port_read(field.machine(), "MJ0");
|
||||
mj_input = input_port_read(machine(), "MJ0");
|
||||
break;
|
||||
case 0x02:
|
||||
mj_input = input_port_read(field.machine(), "MJ1");
|
||||
mj_input = input_port_read(machine(), "MJ1");
|
||||
break;
|
||||
case 0x04:
|
||||
mj_input = input_port_read(field.machine(), "MJ2");
|
||||
mj_input = input_port_read(machine(), "MJ2");
|
||||
break;
|
||||
case 0x08:
|
||||
mj_input = input_port_read(field.machine(), "MJ3");
|
||||
mj_input = input_port_read(machine(), "MJ3");
|
||||
break;
|
||||
case 0x10:
|
||||
mj_input = input_port_read(field.machine(), "MJ4");
|
||||
mj_input = input_port_read(machine(), "MJ4");
|
||||
break;
|
||||
default:
|
||||
mj_input = 0;
|
||||
@ -624,7 +623,7 @@ static INPUT_PORTS_START( ms32_mahjong )
|
||||
PORT_INCLUDE( ms32 )
|
||||
|
||||
PORT_MODIFY("INPUTS")
|
||||
PORT_BIT( 0x000000ff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(mahjong_ctrl_r, NULL) // here we read mahjong keys
|
||||
PORT_BIT( 0x000000ff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ms32_state,mahjong_ctrl_r, NULL) // here we read mahjong keys
|
||||
PORT_BIT( 0x0000ff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
|
@ -313,10 +313,10 @@ WRITE8_MEMBER(mw8080bw_state::seawolf_periscope_lamp_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( seawolf_erase_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::seawolf_erase_input_r)
|
||||
{
|
||||
return input_port_read(field.machine(), SEAWOLF_ERASE_SW_PORT_TAG) &
|
||||
input_port_read(field.machine(), SEAWOLF_ERASE_DIP_PORT_TAG);
|
||||
return input_port_read(machine(), SEAWOLF_ERASE_SW_PORT_TAG) &
|
||||
input_port_read(machine(), SEAWOLF_ERASE_DIP_PORT_TAG);
|
||||
}
|
||||
|
||||
|
||||
@ -371,7 +371,7 @@ static INPUT_PORTS_START( seawolf )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(seawolf_erase_input_r, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,seawolf_erase_input_r, NULL)
|
||||
PORT_DIPNAME( 0xe0, 0x60, "Extended Time At" ) PORT_DIPLOCATION("G4:6,7,8")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
|
||||
PORT_DIPSETTING( 0x20, "2000" )
|
||||
@ -552,26 +552,26 @@ UINT8 tornbase_get_cabinet_type(running_machine &machine)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( tornbase_hit_left_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::tornbase_hit_left_input_r)
|
||||
{
|
||||
return input_port_read(field.machine(), TORNBASE_L_HIT_PORT_TAG);
|
||||
return input_port_read(machine(), TORNBASE_L_HIT_PORT_TAG);
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( tornbase_hit_right_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::tornbase_hit_right_input_r)
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
switch (tornbase_get_cabinet_type(field.machine()))
|
||||
switch (tornbase_get_cabinet_type(machine()))
|
||||
{
|
||||
case TORNBASE_CAB_TYPE_UPRIGHT_OLD:
|
||||
ret = input_port_read(field.machine(), TORNBASE_L_HIT_PORT_TAG);
|
||||
ret = input_port_read(machine(), TORNBASE_L_HIT_PORT_TAG);
|
||||
break;
|
||||
|
||||
case TORNBASE_CAB_TYPE_UPRIGHT_NEW:
|
||||
case TORNBASE_CAB_TYPE_COCKTAIL:
|
||||
default:
|
||||
ret = input_port_read(field.machine(), TORNBASE_R_HIT_PORT_TAG);
|
||||
ret = input_port_read(machine(), TORNBASE_R_HIT_PORT_TAG);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -579,20 +579,20 @@ static CUSTOM_INPUT( tornbase_hit_right_input_r )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( tornbase_pitch_left_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::tornbase_pitch_left_input_r)
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
switch (tornbase_get_cabinet_type(field.machine()))
|
||||
switch (tornbase_get_cabinet_type(machine()))
|
||||
{
|
||||
case TORNBASE_CAB_TYPE_UPRIGHT_OLD:
|
||||
case TORNBASE_CAB_TYPE_UPRIGHT_NEW:
|
||||
ret = input_port_read(field.machine(), TORNBASE_L_PITCH_PORT_TAG);
|
||||
ret = input_port_read(machine(), TORNBASE_L_PITCH_PORT_TAG);
|
||||
break;
|
||||
|
||||
case TORNBASE_CAB_TYPE_COCKTAIL:
|
||||
default:
|
||||
ret = input_port_read(field.machine(), TORNBASE_R_PITCH_PORT_TAG);
|
||||
ret = input_port_read(machine(), TORNBASE_R_PITCH_PORT_TAG);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -600,16 +600,16 @@ static CUSTOM_INPUT( tornbase_pitch_left_input_r )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( tornbase_pitch_right_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::tornbase_pitch_right_input_r)
|
||||
{
|
||||
return input_port_read(field.machine(), TORNBASE_L_PITCH_PORT_TAG);
|
||||
return input_port_read(machine(), TORNBASE_L_PITCH_PORT_TAG);
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( tornbase_score_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::tornbase_score_input_r)
|
||||
{
|
||||
return input_port_read(field.machine(), TORNBASE_SCORE_SW_PORT_TAG) &
|
||||
input_port_read(field.machine(), TORNBASE_SCORE_DIP_PORT_TAG);
|
||||
return input_port_read(machine(), TORNBASE_SCORE_SW_PORT_TAG) &
|
||||
input_port_read(machine(), TORNBASE_SCORE_DIP_PORT_TAG);
|
||||
}
|
||||
|
||||
|
||||
@ -641,21 +641,21 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( tornbase )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(tornbase_hit_left_input_r, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(tornbase_pitch_left_input_r, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,tornbase_hit_left_input_r, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,tornbase_pitch_left_input_r, NULL)
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unused ) ) PORT_CONDITION("IN2", 0x80, PORTCOND_EQUALS, 0x00) PORT_DIPLOCATION("B1:7")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(tornbase_hit_right_input_r, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(tornbase_pitch_right_input_r, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,tornbase_hit_right_input_r, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,tornbase_pitch_right_input_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED) /* not connected */
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* schematics shows it as "START", but not used by the software */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(tornbase_score_input_r, NULL)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,tornbase_score_input_r, NULL)
|
||||
PORT_DIPNAME( 0x78, 0x40, DEF_STR( Coinage ) ) PORT_CONDITION("IN2", 0x80, PORTCOND_EQUALS, 0x00) PORT_DIPLOCATION("B1:2,3,4,5")
|
||||
PORT_DIPSETTING( 0x18, "4 Coins/1 Inning" )
|
||||
PORT_DIPSETTING( 0x10, "3 Coins/1 Inning" )
|
||||
@ -1185,29 +1185,27 @@ static MACHINE_START( desertgu )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( desertgu_gun_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::desertgu_gun_input_r)
|
||||
{
|
||||
mw8080bw_state *state = field.machine().driver_data<mw8080bw_state>();
|
||||
UINT32 ret;
|
||||
|
||||
if (state->m_desertgun_controller_select)
|
||||
ret = input_port_read(field.machine(), DESERTGU_GUN_X_PORT_TAG);
|
||||
if (m_desertgun_controller_select)
|
||||
ret = input_port_read(machine(), DESERTGU_GUN_X_PORT_TAG);
|
||||
else
|
||||
ret = input_port_read(field.machine(), DESERTGU_GUN_Y_PORT_TAG);
|
||||
ret = input_port_read(machine(), DESERTGU_GUN_Y_PORT_TAG);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( desertgu_dip_sw_0_1_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::desertgu_dip_sw_0_1_r)
|
||||
{
|
||||
mw8080bw_state *state = field.machine().driver_data<mw8080bw_state>();
|
||||
UINT32 ret;
|
||||
|
||||
if (state->m_desertgun_controller_select)
|
||||
ret = input_port_read(field.machine(), DESERTGU_DIP_SW_0_1_SET_2_TAG);
|
||||
if (m_desertgun_controller_select)
|
||||
ret = input_port_read(machine(), DESERTGU_DIP_SW_0_1_SET_2_TAG);
|
||||
else
|
||||
ret = input_port_read(field.machine(), DESERTGU_DIP_SW_0_1_SET_1_TAG);
|
||||
ret = input_port_read(machine(), DESERTGU_DIP_SW_0_1_SET_1_TAG);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -1232,10 +1230,10 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( desertgu )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(desertgu_gun_input_r, NULL)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,desertgu_gun_input_r, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(desertgu_dip_sw_0_1_r, NULL)
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,desertgu_dip_sw_0_1_r, NULL)
|
||||
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Language ) ) PORT_CONDITION("IN1", 0x30, PORTCOND_NOTEQUALS, 0x30) PORT_DIPLOCATION("C2:5,6")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( German ) )
|
||||
@ -1316,22 +1314,22 @@ MACHINE_CONFIG_END
|
||||
#define DPLAY_CAB_TYPE_COCKTAIL (1)
|
||||
|
||||
|
||||
static CUSTOM_INPUT( dplay_pitch_left_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::dplay_pitch_left_input_r)
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
if (input_port_read(field.machine(), DPLAY_CAB_TYPE_PORT_TAG) == DPLAY_CAB_TYPE_UPRIGHT)
|
||||
ret = input_port_read(field.machine(), DPLAY_L_PITCH_PORT_TAG);
|
||||
if (input_port_read(machine(), DPLAY_CAB_TYPE_PORT_TAG) == DPLAY_CAB_TYPE_UPRIGHT)
|
||||
ret = input_port_read(machine(), DPLAY_L_PITCH_PORT_TAG);
|
||||
else
|
||||
ret = input_port_read(field.machine(), DPLAY_R_PITCH_PORT_TAG);
|
||||
ret = input_port_read(machine(), DPLAY_R_PITCH_PORT_TAG);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( dplay_pitch_right_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::dplay_pitch_right_input_r)
|
||||
{
|
||||
return input_port_read(field.machine(), DPLAY_L_PITCH_PORT_TAG);
|
||||
return input_port_read(machine(), DPLAY_L_PITCH_PORT_TAG);
|
||||
}
|
||||
|
||||
|
||||
@ -1354,12 +1352,12 @@ ADDRESS_MAP_END
|
||||
static INPUT_PORTS_START( dplay )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Hit") PORT_PLAYER(1)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dplay_pitch_left_input_r, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,dplay_pitch_left_input_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P2 Hit") PORT_PLAYER(2)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dplay_pitch_right_input_r, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,dplay_pitch_right_input_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
|
||||
PORT_START("IN2")
|
||||
@ -1418,12 +1416,12 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( einning )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Hit") PORT_PLAYER(1)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dplay_pitch_left_input_r, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,dplay_pitch_left_input_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P2 Hit") PORT_PLAYER(2)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dplay_pitch_right_input_r, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,dplay_pitch_right_input_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
|
||||
PORT_START("IN2")
|
||||
@ -1707,18 +1705,17 @@ static MACHINE_START( clowns )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( clowns_controller_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::clowns_controller_r)
|
||||
{
|
||||
mw8080bw_state *state = field.machine().driver_data<mw8080bw_state>();
|
||||
UINT32 ret;
|
||||
|
||||
if (state->m_clowns_controller_select)
|
||||
if (m_clowns_controller_select)
|
||||
{
|
||||
ret = input_port_read(field.machine(), CLOWNS_CONTROLLER_P2_TAG);
|
||||
ret = input_port_read(machine(), CLOWNS_CONTROLLER_P2_TAG);
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = input_port_read(field.machine(), CLOWNS_CONTROLLER_P1_TAG);
|
||||
ret = input_port_read(machine(), CLOWNS_CONTROLLER_P1_TAG);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@ -1744,7 +1741,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( clowns )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(clowns_controller_r, NULL)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,clowns_controller_r, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* not connected */
|
||||
@ -1793,7 +1790,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( clowns1 )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(clowns_controller_r, NULL)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,clowns_controller_r, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -1881,7 +1878,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( spacwalk )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(clowns_controller_r, NULL)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,clowns_controller_r, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2535,59 +2532,59 @@ static MACHINE_START( invaders )
|
||||
|
||||
|
||||
|
||||
static CUSTOM_INPUT( invaders_coin_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::invaders_coin_input_r)
|
||||
{
|
||||
UINT32 ret = input_port_read(field.machine(), INVADERS_COIN_INPUT_PORT_TAG);
|
||||
UINT32 ret = input_port_read(machine(), INVADERS_COIN_INPUT_PORT_TAG);
|
||||
|
||||
coin_counter_w(field.machine(), 0, !ret);
|
||||
coin_counter_w(machine(), 0, !ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( invaders_sw6_sw7_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::invaders_sw6_sw7_r)
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
/* upright PCB : switches visible
|
||||
cocktail PCB: HI */
|
||||
|
||||
if (invaders_is_cabinet_cocktail(field.machine()))
|
||||
if (invaders_is_cabinet_cocktail(machine()))
|
||||
ret = 0x03;
|
||||
else
|
||||
ret = input_port_read(field.machine(), INVADERS_SW6_SW7_PORT_TAG);
|
||||
ret = input_port_read(machine(), INVADERS_SW6_SW7_PORT_TAG);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( invaders_sw5_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::invaders_sw5_r)
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
/* upright PCB : switch visible
|
||||
cocktail PCB: HI */
|
||||
|
||||
if (invaders_is_cabinet_cocktail(field.machine()))
|
||||
if (invaders_is_cabinet_cocktail(machine()))
|
||||
ret = 0x01;
|
||||
else
|
||||
ret = input_port_read(field.machine(), INVADERS_SW5_PORT_TAG);
|
||||
ret = input_port_read(machine(), INVADERS_SW5_PORT_TAG);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( invaders_in0_control_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::invaders_in0_control_r)
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
/* upright PCB : P1 controls
|
||||
cocktail PCB: HI */
|
||||
|
||||
if (invaders_is_cabinet_cocktail(field.machine()))
|
||||
if (invaders_is_cabinet_cocktail(machine()))
|
||||
ret = 0x07;
|
||||
else
|
||||
ret = input_port_read(field.machine(), INVADERS_P1_CONTROL_PORT_TAG);
|
||||
ret = input_port_read(machine(), INVADERS_P1_CONTROL_PORT_TAG);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -2641,13 +2638,13 @@ static INPUT_PORTS_START( invaders )
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW:8")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||
PORT_BIT( 0x06, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(invaders_sw6_sw7_r, NULL)
|
||||
PORT_BIT( 0x06, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,invaders_sw6_sw7_r, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(invaders_in0_control_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(invaders_sw5_r, NULL)
|
||||
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,invaders_in0_control_r, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,invaders_sw5_r, NULL)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(invaders_coin_input_r, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,invaders_coin_input_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2742,11 +2739,11 @@ MACHINE_CONFIG_END
|
||||
#define BLUESHRK_COIN_INPUT_PORT_TAG ("COIN")
|
||||
|
||||
|
||||
static CUSTOM_INPUT( blueshrk_coin_input_r )
|
||||
CUSTOM_INPUT_MEMBER(mw8080bw_state::blueshrk_coin_input_r)
|
||||
{
|
||||
UINT32 ret = input_port_read(field.machine(), BLUESHRK_COIN_INPUT_PORT_TAG);
|
||||
UINT32 ret = input_port_read(machine(), BLUESHRK_COIN_INPUT_PORT_TAG);
|
||||
|
||||
coin_counter_w(field.machine(), 0, !ret);
|
||||
coin_counter_w(machine(), 0, !ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -2772,7 +2769,7 @@ static INPUT_PORTS_START( blueshrk )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(blueshrk_coin_input_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,blueshrk_coin_input_r, NULL)
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) PORT_CONDITION("IN1", 0x80, PORTCOND_EQUALS, 0x80) PORT_DIPLOCATION("SW:3")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
@ -2861,7 +2858,7 @@ static INPUT_PORTS_START( invad2ct )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(invaders_coin_input_r, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, mw8080bw_state,invaders_coin_input_r, NULL)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
@ -4762,10 +4762,9 @@ ROM_END
|
||||
|
||||
/*******************************************************************/
|
||||
|
||||
static CUSTOM_INPUT( alpine_motor_read )
|
||||
CUSTOM_INPUT_MEMBER(namcos22_state::alpine_motor_read)
|
||||
{
|
||||
namcos22_state *state = field.machine().driver_data<namcos22_state>();
|
||||
return state->m_motor_status >> (FPTR)param & 1;
|
||||
return m_motor_status >> (FPTR)param & 1;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( alpiner )
|
||||
@ -4803,7 +4802,7 @@ static INPUT_PORTS_START( alpiner )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START ) // Decision / View Change
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_16WAY // L Selection
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_16WAY // R Selection
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM(alpine_motor_read, (void *)0) // steps are free
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, namcos22_state,alpine_motor_read, (void *)0) // steps are free
|
||||
|
||||
PORT_START("SWING")
|
||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_NAME("Steps Swing")
|
||||
@ -4812,7 +4811,7 @@ static INPUT_PORTS_START( alpiner )
|
||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_NAME("Steps Edge")
|
||||
|
||||
PORT_START("MCUP5B")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM(alpine_motor_read, (void *)1) // steps are locked
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, namcos22_state,alpine_motor_read, (void *)1) // steps are locked
|
||||
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END /* Alpine Racer */
|
||||
|
||||
|
@ -9005,7 +9005,7 @@ static INPUT_PORTS_START( mjneogeo )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, "Freeze" ) PORT_DIPLOCATION("SW:8")
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(mahjong_controller_r, NULL)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,mahjong_controller_r, NULL)
|
||||
|
||||
STANDARD_IN1
|
||||
|
||||
@ -9064,7 +9064,7 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( irrmaze )
|
||||
PORT_START("IN0")
|
||||
STANDARD_DIPS
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(multiplexed_controller_r, (void *)0)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,multiplexed_controller_r, (void *)0)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x0fff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -9079,7 +9079,7 @@ static INPUT_PORTS_START( irrmaze )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_memcard_status, NULL)
|
||||
PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_memcard_status, NULL)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
STANDARD_IN3
|
||||
@ -9106,11 +9106,11 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( popbounc )
|
||||
PORT_START("IN0")
|
||||
STANDARD_DIPS
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(multiplexed_controller_r, (void *)0)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,multiplexed_controller_r, (void *)0)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(multiplexed_controller_r, (void *)1)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,multiplexed_controller_r, (void *)1)
|
||||
|
||||
STANDARD_IN2
|
||||
|
||||
@ -9166,13 +9166,13 @@ static INPUT_PORTS_START( vliner )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* this bit is used.. */
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* this bit is used.. */
|
||||
PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_memcard_status, NULL)
|
||||
PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_memcard_status, NULL)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_calendar_status, NULL)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_audio_result, NULL)
|
||||
PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_calendar_status, NULL)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_audio_result, NULL)
|
||||
|
||||
STANDARD_IN4
|
||||
|
||||
@ -9205,7 +9205,7 @@ static INPUT_PORTS_START( jockeygp )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Next Game") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* game freezes with this bit enabled */
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Previous Game") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_memcard_status, NULL)
|
||||
PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_memcard_status, NULL)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
STANDARD_IN3
|
||||
|
@ -377,9 +377,8 @@ static void select_controller( running_machine &machine, UINT8 data )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( multiplexed_controller_r )
|
||||
CUSTOM_INPUT_MEMBER(neogeo_state::multiplexed_controller_r)
|
||||
{
|
||||
neogeo_state *state = field.machine().driver_data<neogeo_state>();
|
||||
int port = (FPTR)param;
|
||||
|
||||
static const char *const cntrl[2][2] =
|
||||
@ -387,13 +386,12 @@ static CUSTOM_INPUT( multiplexed_controller_r )
|
||||
{ "IN0-0", "IN0-1" }, { "IN1-0", "IN1-1" }
|
||||
};
|
||||
|
||||
return input_port_read_safe(field.machine(), cntrl[port][state->m_controller_select & 0x01], 0x00);
|
||||
return input_port_read_safe(machine(), cntrl[port][m_controller_select & 0x01], 0x00);
|
||||
}
|
||||
|
||||
#if 1 // this needs to be added dynamically somehow
|
||||
static CUSTOM_INPUT( mahjong_controller_r )
|
||||
CUSTOM_INPUT_MEMBER(neogeo_state::mahjong_controller_r)
|
||||
{
|
||||
neogeo_state *state = field.machine().driver_data<neogeo_state>();
|
||||
UINT32 ret;
|
||||
|
||||
/*
|
||||
@ -403,14 +401,14 @@ cpu #0 (PC=00C18D54): unmapped memory word write to 00380000 = 0024 & 00FF
|
||||
cpu #0 (PC=00C18D6C): unmapped memory word write to 00380000 = 0009 & 00FF
|
||||
cpu #0 (PC=00C18C40): unmapped memory word write to 00380000 = 0000 & 00FF
|
||||
*/
|
||||
switch (state->m_controller_select)
|
||||
switch (m_controller_select)
|
||||
{
|
||||
default:
|
||||
case 0x00: ret = 0x0000; break; /* nothing? */
|
||||
case 0x09: ret = input_port_read(field.machine(), "MAHJONG1"); break;
|
||||
case 0x12: ret = input_port_read(field.machine(), "MAHJONG2"); break;
|
||||
case 0x1b: ret = input_port_read(field.machine(), "MAHJONG3"); break; /* player 1 normal inputs? */
|
||||
case 0x24: ret = input_port_read(field.machine(), "MAHJONG4"); break;
|
||||
case 0x09: ret = input_port_read(machine(), "MAHJONG1"); break;
|
||||
case 0x12: ret = input_port_read(machine(), "MAHJONG2"); break;
|
||||
case 0x1b: ret = input_port_read(machine(), "MAHJONG3"); break; /* player 1 normal inputs? */
|
||||
case 0x24: ret = input_port_read(machine(), "MAHJONG4"); break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
@ -472,10 +470,9 @@ READ16_MEMBER(neogeo_state::neogeo_unmapped_r)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( get_calendar_status )
|
||||
CUSTOM_INPUT_MEMBER(neogeo_state::get_calendar_status)
|
||||
{
|
||||
neogeo_state *state = field.machine().driver_data<neogeo_state>();
|
||||
return (upd4990a_databit_r(state->m_upd4990a, 0) << 1) | upd4990a_testbit_r(state->m_upd4990a, 0);
|
||||
return (upd4990a_databit_r(m_upd4990a, 0) << 1) | upd4990a_testbit_r(m_upd4990a, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -511,11 +508,11 @@ WRITE16_MEMBER(neogeo_state::save_ram_w)
|
||||
#define MEMCARD_SIZE 0x0800
|
||||
|
||||
|
||||
static CUSTOM_INPUT( get_memcard_status )
|
||||
CUSTOM_INPUT_MEMBER(neogeo_state::get_memcard_status)
|
||||
{
|
||||
/* D0 and D1 are memcard presence indicators, D2 indicates memcard
|
||||
write protect status (we are always write enabled) */
|
||||
return (memcard_present(field.machine()) == -1) ? 0x07 : 0x00;
|
||||
return (memcard_present(machine()) == -1) ? 0x07 : 0x00;
|
||||
}
|
||||
|
||||
|
||||
@ -608,12 +605,11 @@ WRITE8_MEMBER(neogeo_state::audio_result_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( get_audio_result )
|
||||
CUSTOM_INPUT_MEMBER(neogeo_state::get_audio_result)
|
||||
{
|
||||
neogeo_state *state = field.machine().driver_data<neogeo_state>();
|
||||
UINT32 ret = state->m_audio_result;
|
||||
UINT32 ret = m_audio_result;
|
||||
|
||||
// if (LOG_CPU_COMM) logerror("MAIN CPU PC %06x: audio_result_r %02x\n", cpu_get_pc(field.machine().device("maincpu")), ret);
|
||||
// if (LOG_CPU_COMM) logerror("MAIN CPU PC %06x: audio_result_r %02x\n", cpu_get_pc(machine().device("maincpu")), ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -1227,7 +1223,7 @@ static const ym2610_interface ym2610_config =
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Next Game") PORT_CODE(KEYCODE_7) \
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START2 ) \
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Previous Game") PORT_CODE(KEYCODE_8) \
|
||||
PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_memcard_status, NULL) \
|
||||
PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_memcard_status, NULL) \
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* In AES 'mode' nitd, kof2000, sengoku3, matrim and mslug5 check if this is ACTIVE_HIGH */
|
||||
|
||||
|
||||
@ -1239,8 +1235,8 @@ static const ym2610_interface ym2610_config =
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms; if ACTIVE_HIGH + IN4 bit 6 ACTIVE_HIGH = AES 'mode' */ \
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms; if ACTIVE_HIGH + IN4 bit 6 ACTIVE_HIGH = AES 'mode' */ \
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SPECIAL ) /* what is this? When ACTIVE_HIGH + IN4 bit 6 ACTIVE_LOW MVS-4 slot is detected */ \
|
||||
PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_calendar_status, NULL) \
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_audio_result, NULL)
|
||||
PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_calendar_status, NULL) \
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_audio_result, NULL)
|
||||
|
||||
|
||||
#define STANDARD_IN4 \
|
||||
|
@ -314,19 +314,18 @@ READ16_MEMBER(niyanpai_state::musobana_inputport_0_r)
|
||||
return (portdata);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( musobana_outcoin_flag_r )
|
||||
CUSTOM_INPUT_MEMBER(niyanpai_state::musobana_outcoin_flag_r)
|
||||
{
|
||||
niyanpai_state *state = field.machine().driver_data<niyanpai_state>();
|
||||
address_space *space = field.machine().device("maincpu")->memory().space(AS_PROGRAM);
|
||||
address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
|
||||
// tmp68301_parallel_interface[0x05]
|
||||
// bit 0 coin counter
|
||||
// bit 2 motor on
|
||||
// bit 3 coin lock
|
||||
|
||||
if (tmp68301_parallel_interface_r(space, 0x0005, 0x00ff) & 0x0004) state->m_musobana_outcoin_flag ^= 1;
|
||||
else state->m_musobana_outcoin_flag = 1;
|
||||
if (tmp68301_parallel_interface_r(space, 0x0005, 0x00ff) & 0x0004) m_musobana_outcoin_flag ^= 1;
|
||||
else m_musobana_outcoin_flag = 1;
|
||||
|
||||
return state->m_musobana_outcoin_flag & 0x01;
|
||||
return m_musobana_outcoin_flag & 0x01;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(niyanpai_state::musobana_inputport_w)
|
||||
@ -690,7 +689,7 @@ static INPUT_PORTS_START( musobana ) // I don't have manual for this game.
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START3 ) // CREDIT CLEAR
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(musobana_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, niyanpai_state,musobana_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE( 0x8000, IP_ACTIVE_LOW ) // TEST
|
||||
|
||||
@ -756,7 +755,7 @@ static INPUT_PORTS_START( 4psimasy ) // I don't have manual for this game.
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START3 ) // CREDIT CLEAR
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(musobana_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, niyanpai_state,musobana_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE( 0x8000, IP_ACTIVE_LOW ) // TEST
|
||||
|
||||
@ -822,7 +821,7 @@ static INPUT_PORTS_START( mhhonban ) // I don't have manual for this game.
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START3 ) // CREDIT CLEAR
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(musobana_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, niyanpai_state,musobana_outcoin_flag_r, NULL) // OUT COIN
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE( 0x8000, IP_ACTIVE_LOW ) // TEST
|
||||
|
||||
|
@ -132,10 +132,9 @@ e000 - e7ff R/W Work RAM
|
||||
*************************************/
|
||||
|
||||
|
||||
static CUSTOM_INPUT( ninjakun_io_A002_ctrl_r )
|
||||
CUSTOM_INPUT_MEMBER(nova2001_state::ninjakun_io_A002_ctrl_r)
|
||||
{
|
||||
nova2001_state *state = field.machine().driver_data<nova2001_state>();
|
||||
return state->m_ninjakun_io_a002_ctrl;
|
||||
return m_ninjakun_io_a002_ctrl;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(nova2001_state::ninjakun_cpu1_io_A002_w)
|
||||
@ -383,7 +382,7 @@ static INPUT_PORTS_START( ninjakun )
|
||||
|
||||
PORT_START("IN2") /* 0xa002 */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ninjakun_io_A002_ctrl_r, NULL)
|
||||
PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nova2001_state,ninjakun_io_A002_ctrl_r, NULL)
|
||||
|
||||
PORT_START("DSW1") // printed "SW 2"
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:1")
|
||||
|
@ -212,9 +212,9 @@ static INPUT_PORTS_START( pastelg )
|
||||
INPUT_PORTS_END
|
||||
|
||||
// stops the game hanging..
|
||||
static CUSTOM_INPUT( nb1413m3_hackbusyflag_r )
|
||||
CUSTOM_INPUT_MEMBER(pastelg_state::nb1413m3_hackbusyflag_r)
|
||||
{
|
||||
return field.machine().rand() & 3;
|
||||
return machine().rand() & 3;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( threeds )
|
||||
@ -369,7 +369,7 @@ static INPUT_PORTS_START( threeds )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(nb1413m3_hackbusyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, pastelg_state,nb1413m3_hackbusyflag_r, NULL) // DRAW BUSY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
|
||||
PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST
|
||||
|
@ -126,20 +126,20 @@ WRITE16_MEMBER(pirates_state::pirates_out_w)
|
||||
// logerror("%06x: out_w %04x\n",cpu_get_pc(&space.device()),data);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( prot_r )
|
||||
CUSTOM_INPUT_MEMBER(pirates_state::prot_r)
|
||||
{
|
||||
// static int prot = 0xa3;
|
||||
// offs_t pc;
|
||||
int bit;
|
||||
|
||||
// logerror("%s: IN1_r\n",field.machine().describe_context());
|
||||
// logerror("%s: IN1_r\n",machine().describe_context());
|
||||
|
||||
#if 0
|
||||
/* Pirates protection workaround. It more complicated than this... see code at
|
||||
602e and 62a6 */
|
||||
/* For Genix, see 6576 for setting values and 67c2,d3b4 and dbc2 for tests. */
|
||||
|
||||
pc = cpu_get_pc(field.machine().device("main"));
|
||||
pc = cpu_get_pc(machine().device("main"));
|
||||
if (pc == 0x6134)
|
||||
{
|
||||
bit = prot & 1;
|
||||
@ -212,7 +212,7 @@ static INPUT_PORTS_START( pirates )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) // EEPROM data
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // seems checked in "test mode"
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // seems checked in "test mode"
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM(prot_r, NULL) // protection
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, pirates_state,prot_r, NULL) // protection
|
||||
/* What do these bits do ? */
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
@ -340,12 +340,11 @@ WRITE16_MEMBER(polepos_state::polepos_z8002_nvi_enable_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( high_port_r ) { return input_port_read(field.machine(), (const char *)param) >> 4; }
|
||||
static CUSTOM_INPUT( low_port_r ) { return input_port_read(field.machine(), (const char *)param) & 0x0f; }
|
||||
static CUSTOM_INPUT( auto_start_r )
|
||||
CUSTOM_INPUT_MEMBER(polepos_state::high_port_r){ return input_port_read(field.machine(), (const char *)param) >> 4; }
|
||||
CUSTOM_INPUT_MEMBER(polepos_state::low_port_r){ return input_port_read(field.machine(), (const char *)param) & 0x0f; }
|
||||
CUSTOM_INPUT_MEMBER(polepos_state::auto_start_r)
|
||||
{
|
||||
polepos_state *state = field.machine().driver_data<polepos_state>();
|
||||
return state->m_auto_start_mask;
|
||||
return m_auto_start_mask;
|
||||
}
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( out_0 )
|
||||
@ -533,7 +532,7 @@ static INPUT_PORTS_START( polepos )
|
||||
PORT_START("IN0L")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Gear Change") PORT_CODE(KEYCODE_SPACE) POLEPOS_TOGGLE /* Gear */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(auto_start_r, NULL) // start 1, program controlled
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, polepos_state,auto_start_r, NULL) // start 1, program controlled
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN0H")
|
||||
@ -567,7 +566,7 @@ static INPUT_PORTS_START( polepos )
|
||||
PORT_DIPSETTING( 0x00, "4" )
|
||||
|
||||
PORT_START("DSWA_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(high_port_r, "DSWA")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, polepos_state,high_port_r, "DSWA")
|
||||
|
||||
PORT_START("DSWB")
|
||||
PORT_DIPNAME( 0x07, 0x07, "Extended Rank" )
|
||||
@ -596,7 +595,7 @@ static INPUT_PORTS_START( polepos )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSWB_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(high_port_r, "DSWB")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, polepos_state,high_port_r, "DSWB")
|
||||
|
||||
PORT_START("BRAKE")
|
||||
PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_MINMAX(0,0x90) PORT_SENSITIVITY(100) PORT_KEYDELTA(16)
|
||||
@ -675,10 +674,10 @@ static INPUT_PORTS_START( topracern )
|
||||
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START("IN0L")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(low_port_r, "IN0")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, polepos_state,low_port_r, "IN0")
|
||||
|
||||
PORT_START("IN0H")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(high_port_r, "IN0")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, polepos_state,high_port_r, "IN0")
|
||||
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
|
||||
@ -705,7 +704,7 @@ static INPUT_PORTS_START( topracern )
|
||||
PORT_DIPSETTING( 0x00, "4" )
|
||||
|
||||
PORT_START("DSWA_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(high_port_r, "DSWA")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, polepos_state,high_port_r, "DSWA")
|
||||
|
||||
/* FIXME: these dips don't work and may not even exist on this bootleg */
|
||||
PORT_START("DSWB")
|
||||
@ -735,7 +734,7 @@ static INPUT_PORTS_START( topracern )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSWB_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(high_port_r, "DSWB")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, polepos_state,high_port_r, "DSWB")
|
||||
|
||||
PORT_START("BRAKE")
|
||||
PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_MINMAX(0,0x90) PORT_SENSITIVITY(100) PORT_KEYDELTA(16)
|
||||
|
@ -178,9 +178,9 @@ WRITE32_MEMBER(policetr_state::policetr_bsmt2000_data_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( bsmt_status_r )
|
||||
CUSTOM_INPUT_MEMBER(policetr_state::bsmt_status_r)
|
||||
{
|
||||
return field.machine().device<bsmt2000_device>("bsmt")->read_status();
|
||||
return machine().device<bsmt2000_device>("bsmt")->read_status();
|
||||
}
|
||||
|
||||
|
||||
@ -321,7 +321,7 @@ static INPUT_PORTS_START( policetr )
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE( 0x00200000, IP_ACTIVE_LOW ) /* Not actually a dipswitch */
|
||||
PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(bsmt_status_r, NULL)
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, policetr_state,bsmt_status_r, NULL)
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
|
@ -77,27 +77,25 @@ This was pointed out by Bart Puype
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
static CUSTOM_INPUT( z80_nmi_r )
|
||||
CUSTOM_INPUT_MEMBER(psikyo_state::z80_nmi_r)
|
||||
{
|
||||
psikyo_state *state = field.machine().driver_data<psikyo_state>();
|
||||
int ret = 0x00;
|
||||
|
||||
if (state->m_z80_nmi)
|
||||
if (m_z80_nmi)
|
||||
{
|
||||
ret = 0x01;
|
||||
|
||||
/* main CPU might be waiting for sound CPU to finish NMI,
|
||||
so set a timer to give sound CPU a chance to run */
|
||||
field.machine().scheduler().synchronize();
|
||||
machine().scheduler().synchronize();
|
||||
// logerror("%s - Read coin port during Z80 NMI\n", machine.describe_context());
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( mcu_status_r )
|
||||
CUSTOM_INPUT_MEMBER(psikyo_state::mcu_status_r)
|
||||
{
|
||||
psikyo_state *state = field.machine().driver_data<psikyo_state>();
|
||||
int ret = 0x00;
|
||||
|
||||
/* Don't know exactly what this bit is, but s1945 and tengai
|
||||
@ -114,10 +112,10 @@ static CUSTOM_INPUT( mcu_status_r )
|
||||
|
||||
Interestingly, s1945jn has the code that spins on this bit,
|
||||
but said code is never reached. Prototype? */
|
||||
if (state->m_mcu_status)
|
||||
if (m_mcu_status)
|
||||
ret = 0x01;
|
||||
|
||||
state->m_mcu_status = !state->m_mcu_status; /* hack */
|
||||
m_mcu_status = !m_mcu_status; /* hack */
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -582,7 +580,7 @@ static INPUT_PORTS_START( samuraia )
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00200000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(z80_nmi_r, NULL) // From Sound CPU
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo_state,z80_nmi_r, NULL) // From Sound CPU
|
||||
PORT_BIT( 0xff000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused?
|
||||
|
||||
PORT_MODIFY("DSW") /* c00004 -> c00007 */
|
||||
@ -652,7 +650,7 @@ static INPUT_PORTS_START( btlkroad )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00000020, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(z80_nmi_r, NULL) // From Sound CPU
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo_state,z80_nmi_r, NULL) // From Sound CPU
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
|
||||
@ -739,7 +737,7 @@ static INPUT_PORTS_START( gunbird )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00000020, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(z80_nmi_r, NULL) // From Sound CPU
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo_state,z80_nmi_r, NULL) // From Sound CPU
|
||||
PORT_BIT( 0x0000ff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_MODIFY("DSW") /* c00004 -> c00007 */
|
||||
@ -803,12 +801,12 @@ static INPUT_PORTS_START( s1945 )
|
||||
PORT_MODIFY("P1_P2") /* c00000 -> c00003 */
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(mcu_status_r, NULL)
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo_state,mcu_status_r, NULL)
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00000020, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(z80_nmi_r, NULL) // From Sound CPU
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo_state,z80_nmi_r, NULL) // From Sound CPU
|
||||
PORT_BIT( 0x0000ff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_MODIFY("DSW") /* c00004 -> c00007 */
|
||||
@ -927,12 +925,12 @@ static INPUT_PORTS_START( tengai )
|
||||
PORT_MODIFY("P1_P2") /* c00000 -> c00003 */
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(mcu_status_r, NULL)
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo_state,mcu_status_r, NULL)
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00000020, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(z80_nmi_r, NULL) // From Sound CPU
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo_state,z80_nmi_r, NULL) // From Sound CPU
|
||||
PORT_BIT( 0x0000ff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_MODIFY("DSW") /* c00004 -> c00007 */
|
||||
|
@ -195,22 +195,21 @@ static INTERRUPT_GEN(psikyosh_interrupt)
|
||||
device_set_input_line(device, 4, HOLD_LINE);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( system_port_r )
|
||||
CUSTOM_INPUT_MEMBER(psikyo4_state::system_port_r)
|
||||
{
|
||||
return input_port_read(field.machine(), "SYSTEM");
|
||||
return input_port_read(machine(), "SYSTEM");
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( mahjong_ctrl_r ) /* used by hotgmck/hgkairak */
|
||||
CUSTOM_INPUT_MEMBER(psikyo4_state::mahjong_ctrl_r)/* used by hotgmck/hgkairak */
|
||||
{
|
||||
psikyo4_state *state = field.machine().driver_data<psikyo4_state>();
|
||||
int player = (FPTR)param;
|
||||
int sel = (state->m_io_select[0] & 0x0000ff00) >> 8;
|
||||
int sel = (m_io_select[0] & 0x0000ff00) >> 8;
|
||||
int ret = 0xff;
|
||||
|
||||
if (sel & 1) ret &= input_port_read(field.machine(), player ? "KEY4" : "KEY0" );
|
||||
if (sel & 2) ret &= input_port_read(field.machine(), player ? "KEY5" : "KEY1" );
|
||||
if (sel & 4) ret &= input_port_read(field.machine(), player ? "KEY6" : "KEY2" );
|
||||
if (sel & 8) ret &= input_port_read(field.machine(), player ? "KEY7" : "KEY3" );
|
||||
if (sel & 1) ret &= input_port_read(machine(), player ? "KEY4" : "KEY0" );
|
||||
if (sel & 2) ret &= input_port_read(machine(), player ? "KEY5" : "KEY1" );
|
||||
if (sel & 4) ret &= input_port_read(machine(), player ? "KEY6" : "KEY2" );
|
||||
if (sel & 8) ret &= input_port_read(machine(), player ? "KEY7" : "KEY3" );
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -379,14 +378,14 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( hotgmck )
|
||||
PORT_START("P1_P2")
|
||||
PORT_BIT( 0x000000ff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_CUSTOM(system_port_r, NULL)
|
||||
PORT_BIT( 0x000000ff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo4_state,system_port_r, NULL)
|
||||
PORT_BIT( 0x00ffff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xff000000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_CUSTOM(mahjong_ctrl_r, (void *)0)
|
||||
PORT_BIT( 0xff000000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo4_state,mahjong_ctrl_r, (void *)0)
|
||||
|
||||
PORT_START("P3_P4")
|
||||
PORT_BIT( 0x000000ff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_CUSTOM(system_port_r, NULL)
|
||||
PORT_BIT( 0x000000ff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo4_state,system_port_r, NULL)
|
||||
PORT_BIT( 0x00ffff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xff000000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_CUSTOM(mahjong_ctrl_r, (void *)1)
|
||||
PORT_BIT( 0xff000000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_CUSTOM_MEMBER(DEVICE_SELF, psikyo4_state,mahjong_ctrl_r, (void *)1)
|
||||
|
||||
PORT_START("JP4")/* jumper pads 'JP4' on the PCB */
|
||||
/* EEPROM is read here */
|
||||
|
@ -119,10 +119,10 @@ DIP locations verified for:
|
||||
#include "includes/punchout.h"
|
||||
|
||||
|
||||
static CUSTOM_INPUT( punchout_vlm5030_busy_r )
|
||||
CUSTOM_INPUT_MEMBER(punchout_state::punchout_vlm5030_busy_r)
|
||||
{
|
||||
/* bit 4 of DSW1 is busy pin level */
|
||||
return (vlm5030_bsy(field.machine().device("vlm"))) ? 0x00 : 0x01;
|
||||
return (vlm5030_bsy(machine().device("vlm"))) ? 0x00 : 0x01;
|
||||
}
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( punchout_speech_reset_w )
|
||||
@ -437,7 +437,7 @@ static INPUT_PORTS_START( punchout )
|
||||
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x07, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPSETTING( 0x0f, DEF_STR( Free_Play ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(punchout_vlm5030_busy_r, NULL) /* VLM5030 busy signal */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, punchout_state,punchout_vlm5030_busy_r, NULL) /* VLM5030 busy signal */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x40, 0x00, "R18:!1" ) /* Not documented, R18 resistor */
|
||||
PORT_DIPNAME( 0x80, 0x00, "Copyright" ) PORT_DIPLOCATION("R19:!1") /* Not documented, R19 resistor */
|
||||
@ -868,7 +868,7 @@ bit 3210 5432 L R C
|
||||
PORT_DIPSETTING( 0x0d, "1101" )
|
||||
PORT_DIPSETTING( 0x0e, "1110" )
|
||||
PORT_DIPSETTING( 0x0f, "1111" )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(punchout_vlm5030_busy_r, NULL) /* VLM5030 busy signal */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, punchout_state,punchout_vlm5030_busy_r, NULL) /* VLM5030 busy signal */
|
||||
PORT_DIPNAME( 0x40, 0x00, "Coin Slots" ) PORT_DIPLOCATION("R18:!1") /* R18 resistor */
|
||||
PORT_DIPSETTING( 0x40, "1" )
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
|
@ -37,15 +37,14 @@ GP1 HDD data contents:
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( inputs_r )
|
||||
CUSTOM_INPUT_MEMBER(qdrmfgp_state::inputs_r)
|
||||
{
|
||||
qdrmfgp_state *state = field.machine().driver_data<qdrmfgp_state>();
|
||||
const char *tag1 = (const char *)param;
|
||||
const char *tag2 = tag1 + strlen(tag1) + 1;
|
||||
return input_port_read(field.machine(), (state->m_control & 0x0080) ? tag1 : tag2);
|
||||
return input_port_read(machine(), (m_control & 0x0080) ? tag1 : tag2);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( battery_sensor_r )
|
||||
CUSTOM_INPUT_MEMBER(qdrmfgp_state::battery_sensor_r)
|
||||
{
|
||||
/* bit 0-1 battery power sensor: 3=good, 2=low, other=bad */
|
||||
return 0x0003;
|
||||
@ -385,7 +384,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( qdrmfgp )
|
||||
PORT_START("340000")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(inputs_r, "INPUTS\0DSW")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, qdrmfgp_state,inputs_r, "INPUTS\0DSW")
|
||||
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -460,7 +459,7 @@ static INPUT_PORTS_START( qdrmfgp )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )
|
||||
|
||||
PORT_START("SENSOR")
|
||||
PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(battery_sensor_r, NULL) /* battery power sensor */
|
||||
PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, qdrmfgp_state,battery_sensor_r, NULL) /* battery power sensor */
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE2 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE3 )
|
||||
PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -468,7 +467,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( qdrmfgp2 )
|
||||
PORT_START("340000")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(inputs_r, "INPUTS\0DSW")
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, qdrmfgp_state,inputs_r, "INPUTS\0DSW")
|
||||
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -543,7 +542,7 @@ static INPUT_PORTS_START( qdrmfgp2 )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )
|
||||
|
||||
PORT_START("SENSOR")
|
||||
PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(battery_sensor_r, NULL) /* battery power sensor */
|
||||
PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, qdrmfgp_state,battery_sensor_r, NULL) /* battery power sensor */
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE2 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE3 )
|
||||
PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
@ -593,20 +593,19 @@ READ8_MEMBER(renegade_state::mcu_r)
|
||||
}
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( mcu_status_r )
|
||||
CUSTOM_INPUT_MEMBER(renegade_state::mcu_status_r)
|
||||
{
|
||||
renegade_state *state = field.machine().driver_data<renegade_state>();
|
||||
UINT8 res = 0;
|
||||
|
||||
if (state->m_mcu_sim == TRUE)
|
||||
if (m_mcu_sim == TRUE)
|
||||
{
|
||||
res = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!state->m_main_sent)
|
||||
if (!m_main_sent)
|
||||
res |= 0x01;
|
||||
if (!state->m_mcu_sent)
|
||||
if (!m_mcu_sent)
|
||||
res |= 0x02;
|
||||
}
|
||||
|
||||
@ -717,7 +716,7 @@ static INPUT_PORTS_START( renegade )
|
||||
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) /* attack right */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) /* attack right */
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(mcu_status_r, NULL)
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, renegade_state,mcu_status_r, NULL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
|
||||
|
@ -144,9 +144,9 @@ static MACHINE_RESET( rpunch )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( hi_bits_r )
|
||||
CUSTOM_INPUT_MEMBER(rpunch_state::hi_bits_r)
|
||||
{
|
||||
return input_port_read(field.machine(), "SERVICE");
|
||||
return input_port_read(machine(), "SERVICE");
|
||||
}
|
||||
|
||||
|
||||
@ -275,7 +275,7 @@ static INPUT_PORTS_START( rpunch )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(hi_bits_r, NULL)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, rpunch_state,hi_bits_r, NULL)
|
||||
|
||||
PORT_START("P2") /* c001a lower 8 bits */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
|
||||
@ -285,7 +285,7 @@ static INPUT_PORTS_START( rpunch )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(hi_bits_r, NULL)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, rpunch_state,hi_bits_r, NULL)
|
||||
|
||||
PORT_START("SERVICE") /* c0018/c001a upper 8 bits */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
|
@ -472,10 +472,10 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
/* ckongs coinage DIPs are spread across two input ports */
|
||||
static CUSTOM_INPUT( ckongs_coinage_r )
|
||||
CUSTOM_INPUT_MEMBER(scramble_state::ckongs_coinage_r)
|
||||
{
|
||||
int bit_mask = (FPTR)param;
|
||||
return (input_port_read(field.machine(), "FAKE") & bit_mask) ? 0x01 : 0x00;
|
||||
return (input_port_read(machine(), "FAKE") & bit_mask) ? 0x01 : 0x00;
|
||||
}
|
||||
|
||||
|
||||
@ -491,8 +491,8 @@ static INPUT_PORTS_START( ckongs )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ckongs_coinage_r, (void *)0x01)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ckongs_coinage_r, (void *)0x02)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, scramble_state,ckongs_coinage_r, (void *)0x01)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, scramble_state,ckongs_coinage_r, (void *)0x02)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
@ -508,7 +508,7 @@ static INPUT_PORTS_START( ckongs )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x00, "4" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ckongs_coinage_r, (void *)0x04)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, scramble_state,ckongs_coinage_r, (void *)0x04)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
|
||||
|
@ -287,9 +287,9 @@ READ8_MEMBER(segag80v_state::spinner_input_r)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( elim4_joint_coin_r )
|
||||
CUSTOM_INPUT_MEMBER(segag80v_state::elim4_joint_coin_r)
|
||||
{
|
||||
return (input_port_read(field.machine(), "COINS") & 0xf) != 0xf;
|
||||
return (input_port_read(machine(), "COINS") & 0xf) != 0xf;
|
||||
}
|
||||
|
||||
|
||||
@ -555,7 +555,7 @@ static INPUT_PORTS_START( elim4 )
|
||||
PORT_INCLUDE( g80v_generic )
|
||||
|
||||
PORT_MODIFY("D7D6")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(elim4_joint_coin_r, NULL) /* combination of all four coin inputs */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, segag80v_state,elim4_joint_coin_r, NULL) /* combination of all four coin inputs */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
|
||||
|
@ -936,23 +936,22 @@ static READ32_HANDLER( spi_controls2_r )
|
||||
return 0xffffffff;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( ejsakura_keyboard_r )
|
||||
CUSTOM_INPUT_MEMBER(seibuspi_state::ejsakura_keyboard_r)
|
||||
{
|
||||
seibuspi_state *state = field.machine().driver_data<seibuspi_state>();
|
||||
switch(state->m_ejsakura_input_port)
|
||||
switch(m_ejsakura_input_port)
|
||||
{
|
||||
case 0x01:
|
||||
return input_port_read(field.machine(), "INPUT01");
|
||||
return input_port_read(machine(), "INPUT01");
|
||||
case 0x02:
|
||||
return input_port_read(field.machine(), "INPUT02");
|
||||
return input_port_read(machine(), "INPUT02");
|
||||
case 0x04:
|
||||
return input_port_read(field.machine(), "INPUT04");
|
||||
return input_port_read(machine(), "INPUT04");
|
||||
case 0x08:
|
||||
return input_port_read(field.machine(), "INPUT08");
|
||||
return input_port_read(machine(), "INPUT08");
|
||||
case 0x10:
|
||||
return input_port_read(field.machine(), "INPUT10");
|
||||
return input_port_read(machine(), "INPUT10");
|
||||
default:
|
||||
return input_port_read(field.machine(), "SYSTEM");
|
||||
return input_port_read(machine(), "SYSTEM");
|
||||
}
|
||||
return 0xffffffff;
|
||||
}
|
||||
@ -1295,10 +1294,10 @@ INPUT_PORTS_END
|
||||
Start - 000111 port 0
|
||||
*/
|
||||
|
||||
static CUSTOM_INPUT( ejanhs_encode )
|
||||
CUSTOM_INPUT_MEMBER(seibuspi_state::ejanhs_encode)
|
||||
{
|
||||
static const UINT8 encoding[] = { 0x02, 0x10, 0x03, 0x18, 0x04, 0x20, 0x05, 0x28, 0x06, 0x30, 0x07 };
|
||||
input_port_value state = input_port_read(field.machine(), (const char *)param);
|
||||
input_port_value state = input_port_read(machine(), (const char *)param);
|
||||
int bit;
|
||||
|
||||
for (bit = 0; bit < ARRAY_LENGTH(encoding); bit++)
|
||||
@ -1309,8 +1308,8 @@ static CUSTOM_INPUT( ejanhs_encode )
|
||||
|
||||
static INPUT_PORTS_START( spi_ejanhs )
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0x0000003f, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(ejanhs_encode, "IN0BITS")
|
||||
PORT_BIT( 0x00003f00, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(ejanhs_encode, "IN1BITS")
|
||||
PORT_BIT( 0x0000003f, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, seibuspi_state,ejanhs_encode, "IN0BITS")
|
||||
PORT_BIT( 0x00003f00, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, seibuspi_state,ejanhs_encode, "IN1BITS")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
@ -1358,7 +1357,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( spi_ejsakura )
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0xffffffff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(ejsakura_keyboard_r, NULL)
|
||||
PORT_BIT( 0xffffffff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, seibuspi_state,ejsakura_keyboard_r, NULL)
|
||||
|
||||
PORT_START("INPUT01")
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -329,11 +329,10 @@ READ8_MEMBER(snk_state::marvins_soundlatch_r)
|
||||
return soundlatch_r(space, 0);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( marvins_sound_busy )
|
||||
CUSTOM_INPUT_MEMBER(snk_state::marvins_sound_busy)
|
||||
{
|
||||
snk_state *state = field.machine().driver_data<snk_state>();
|
||||
|
||||
return state->m_marvins_sound_busy_flag;
|
||||
return m_marvins_sound_busy_flag;
|
||||
}
|
||||
|
||||
READ8_MEMBER(snk_state::marvins_sound_nmi_ack_r)
|
||||
@ -496,11 +495,10 @@ WRITE8_MEMBER(snk_state::snk_soundlatch_w)
|
||||
machine().scheduler().synchronize(FUNC(sndirq_update_callback), CMDIRQ_BUSY_ASSERT);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( snk_sound_busy )
|
||||
CUSTOM_INPUT_MEMBER(snk_state::snk_sound_busy)
|
||||
{
|
||||
snk_state *state = field.machine().driver_data<snk_state>();
|
||||
|
||||
return (state->m_sound_status & 4) ? 1 : 0;
|
||||
return (m_sound_status & 4) ? 1 : 0;
|
||||
}
|
||||
|
||||
|
||||
@ -739,29 +737,28 @@ hand, always returning 0xf inbetween valid values confuses the game.
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
static CUSTOM_INPUT( gwar_rotary )
|
||||
CUSTOM_INPUT_MEMBER(snk_state::gwar_rotary)
|
||||
{
|
||||
snk_state *state = field.machine().driver_data<snk_state>();
|
||||
static const char *const ports[] = { "P1ROT", "P2ROT" };
|
||||
int which = (int)(FPTR)param;
|
||||
int value = input_port_read(field.machine(), ports[which]);
|
||||
int value = input_port_read(machine(), ports[which]);
|
||||
|
||||
if ((state->m_last_value[which] == 0x5 && value == 0x6) || (state->m_last_value[which] == 0x6 && value == 0x5))
|
||||
if ((m_last_value[which] == 0x5 && value == 0x6) || (m_last_value[which] == 0x6 && value == 0x5))
|
||||
{
|
||||
if (!state->m_cp_count[which])
|
||||
if (!m_cp_count[which])
|
||||
value = 0xf;
|
||||
state->m_cp_count[which] = (state->m_cp_count[which] + 1) & 0x07;
|
||||
m_cp_count[which] = (m_cp_count[which] + 1) & 0x07;
|
||||
}
|
||||
state->m_last_value[which] = value;
|
||||
m_last_value[which] = value;
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( gwarb_rotary )
|
||||
CUSTOM_INPUT_MEMBER(snk_state::gwarb_rotary)
|
||||
{
|
||||
if (input_port_read(field.machine(), "JOYSTICK_MODE") == 1)
|
||||
if (input_port_read(machine(), "JOYSTICK_MODE") == 1)
|
||||
{
|
||||
return gwar_rotary(device, field, param);
|
||||
return gwar_rotary(field, param);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -805,38 +802,36 @@ WRITE8_MEMBER(snk_state::countryc_trackball_w)
|
||||
m_countryc_trackball = data & 1;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( countryc_trackball_x )
|
||||
CUSTOM_INPUT_MEMBER(snk_state::countryc_trackball_x)
|
||||
{
|
||||
snk_state *state = field.machine().driver_data<snk_state>();
|
||||
|
||||
return input_port_read(field.machine(), state->m_countryc_trackball ? "TRACKBALLX2" : "TRACKBALLX1");
|
||||
return input_port_read(machine(), m_countryc_trackball ? "TRACKBALLX2" : "TRACKBALLX1");
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( countryc_trackball_y )
|
||||
CUSTOM_INPUT_MEMBER(snk_state::countryc_trackball_y)
|
||||
{
|
||||
snk_state *state = field.machine().driver_data<snk_state>();
|
||||
|
||||
return input_port_read(field.machine(), state->m_countryc_trackball ? "TRACKBALLY2" : "TRACKBALLY1");
|
||||
return input_port_read(machine(), m_countryc_trackball ? "TRACKBALLY2" : "TRACKBALLY1");
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
|
||||
static CUSTOM_INPUT( snk_bonus_r )
|
||||
CUSTOM_INPUT_MEMBER(snk_state::snk_bonus_r)
|
||||
{
|
||||
int bit_mask = (FPTR)param;
|
||||
|
||||
switch (bit_mask)
|
||||
{
|
||||
case 0x01: /* older games : "Occurrence" Dip Switch (DSW2:1) */
|
||||
return ((input_port_read(field.machine(), "BONUS") & bit_mask) >> 0);
|
||||
return ((input_port_read(machine(), "BONUS") & bit_mask) >> 0);
|
||||
case 0xc0: /* older games : "Bonus Life" Dip Switches (DSW1:7,8) */
|
||||
return ((input_port_read(field.machine(), "BONUS") & bit_mask) >> 6);
|
||||
return ((input_port_read(machine(), "BONUS") & bit_mask) >> 6);
|
||||
|
||||
case 0x04: /* later games : "Occurrence" Dip Switch (DSW1:3) */
|
||||
return ((input_port_read(field.machine(), "BONUS") & bit_mask) >> 2);
|
||||
return ((input_port_read(machine(), "BONUS") & bit_mask) >> 2);
|
||||
case 0x30: /* later games : "Bonus Life" Dip Switches (DSW2:5,6) */
|
||||
return ((input_port_read(field.machine(), "BONUS") & bit_mask) >> 4);
|
||||
return ((input_port_read(machine(), "BONUS") & bit_mask) >> 4);
|
||||
|
||||
default:
|
||||
logerror("snk_bonus_r : invalid %02X bit_mask\n",bit_mask);
|
||||
@ -1518,7 +1513,7 @@ static INPUT_PORTS_START( marvins )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(marvins_sound_busy, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,marvins_sound_busy, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // service switch according to schematics, see code at 0x0453. Goes to garbage.
|
||||
|
||||
PORT_START("IN1")
|
||||
@ -1600,7 +1595,7 @@ static INPUT_PORTS_START( vangrd2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(marvins_sound_busy, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,marvins_sound_busy, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
@ -1684,8 +1679,8 @@ static INPUT_PORTS_START( madcrash )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(marvins_sound_busy, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(marvins_sound_busy, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,marvins_sound_busy, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,marvins_sound_busy, NULL) /* sound CPU status */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
|
||||
PORT_START("IN1")
|
||||
@ -1762,7 +1757,7 @@ static INPUT_PORTS_START( jcross )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
@ -1805,10 +1800,10 @@ static INPUT_PORTS_START( jcross )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
// PORT_DIPSETTING( 0x10, "INVALID !" ) /* settings table at 0x0378 is only 5 bytes wide */
|
||||
// PORT_DIPSETTING( 0x08, "INVALID !" ) /* settings table at 0x0378 is only 5 bytes wide */
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0xc0)
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0xc0)
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x01)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x01)
|
||||
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW2:2,3")
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Normal ) )
|
||||
@ -1847,7 +1842,7 @@ static INPUT_PORTS_START( sgladiat )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) /* code at 0x054e */
|
||||
|
||||
@ -1888,10 +1883,10 @@ static INPUT_PORTS_START( sgladiat )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0xc0)
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0xc0)
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x01)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x01)
|
||||
PORT_DIPNAME( 0x02, 0x02, "Time" ) PORT_DIPLOCATION("DSW2:2")
|
||||
PORT_DIPSETTING( 0x02, "More" ) /* Hazard race 2:30 / Chariot race 3:30 */
|
||||
PORT_DIPSETTING( 0x00, "Less" ) /* Hazard race 2:00 / Chariot race 3:00 */
|
||||
@ -1931,7 +1926,7 @@ static INPUT_PORTS_START( hal21 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
@ -1972,10 +1967,10 @@ static INPUT_PORTS_START( hal21 )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0xc0)
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0xc0)
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x01)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x01)
|
||||
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW2:2,3")
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Normal ) )
|
||||
@ -2014,7 +2009,7 @@ static INPUT_PORTS_START( aso )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* uses "Coinage" settings - code at 0x2e04 */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
@ -2057,10 +2052,10 @@ static INPUT_PORTS_START( aso )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0xc0)
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0xc0)
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x01)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x01)
|
||||
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW2:2,3")
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Normal ) )
|
||||
@ -2100,7 +2095,7 @@ static INPUT_PORTS_START( alphamis )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* uses "Coin A" settings - code at 0x2e17 */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
@ -2147,7 +2142,7 @@ static INPUT_PORTS_START( alphamis )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "DSW1:8" )
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x01)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x01)
|
||||
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW2:2,3")
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Normal ) )
|
||||
@ -2182,7 +2177,7 @@ static INPUT_PORTS_START( tnk3 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
@ -2229,10 +2224,10 @@ static INPUT_PORTS_START( tnk3 )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0xc0)
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0xc0)
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x01)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x01)
|
||||
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW2:2,3")
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Normal ) )
|
||||
@ -2266,7 +2261,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( athena )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* uses "Coin A" settings - code at 0x09d4 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -2303,7 +2298,7 @@ static INPUT_PORTS_START( athena )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) /* Single Controls */
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Cocktail ) )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x04)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x04)
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:4")
|
||||
PORT_DIPSETTING( 0x08, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
@ -2330,7 +2325,7 @@ static INPUT_PORTS_START( athena )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Freeze" ) PORT_DIPLOCATION("DSW2:4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x30)
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x30)
|
||||
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "DSW2:7" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Energy" ) PORT_DIPLOCATION("DSW2:8")
|
||||
PORT_DIPSETTING( 0x80, "12" )
|
||||
@ -2351,7 +2346,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( fitegolf )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* uses "Coin A" settings - code at 0x045b */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) /* reset */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) /* same as the dip switch */
|
||||
@ -2436,7 +2431,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( countryc )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* uses "Coin A" settings - code at 0x0450 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) /* reset */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) /* same as the dip switch */
|
||||
@ -2446,10 +2441,10 @@ static INPUT_PORTS_START( countryc )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(countryc_trackball_x, 0)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,countryc_trackball_x, 0)
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(countryc_trackball_y, 0)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,countryc_trackball_y, 0)
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2518,7 +2513,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( ikari )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* adds 1 credit - code at 0x0a15 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -2558,7 +2553,7 @@ static INPUT_PORTS_START( ikari )
|
||||
PORT_DIPNAME( 0x02, 0x02, "P1 & P2 Fire Buttons" ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x02, "Separate" )
|
||||
PORT_DIPSETTING( 0x00, "Common" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x04)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x04)
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:4")
|
||||
PORT_DIPSETTING( 0x08, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
@ -2584,7 +2579,7 @@ static INPUT_PORTS_START( ikari )
|
||||
PORT_DIPSETTING( 0x08, "Demo Sounds On" )
|
||||
PORT_DIPSETTING( 0x04, "Freeze" )
|
||||
PORT_DIPSETTING( 0x00, "Infinite Lives (Cheat)")
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x30)
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x30)
|
||||
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "DSW2:7" ) /* read at 0x07c4, but strange test at 0x07cc */
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("DSW2:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( No ) )
|
||||
@ -2613,7 +2608,7 @@ static INPUT_PORTS_START( ikaria )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* adds 1 credit - code at 0x0a00 */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT ) /* reset */
|
||||
INPUT_PORTS_END
|
||||
@ -2650,7 +2645,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( victroad )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* adds 1 credit - code at 0x0a19 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) /* reset */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -2690,7 +2685,7 @@ static INPUT_PORTS_START( victroad )
|
||||
PORT_DIPNAME( 0x02, 0x02, "P1 & P2 Fire Buttons" ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x02, "Separate" )
|
||||
PORT_DIPSETTING( 0x00, "Common" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x04)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x04)
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:4")
|
||||
PORT_DIPSETTING( 0x08, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
@ -2716,7 +2711,7 @@ static INPUT_PORTS_START( victroad )
|
||||
PORT_DIPSETTING( 0x08, "Demo Sounds On" )
|
||||
PORT_DIPSETTING( 0x00, "Freeze" )
|
||||
PORT_DIPSETTING( 0x04, "Infinite Lives (Cheat)")
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x30)
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x30)
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("DSW2:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||
@ -2754,7 +2749,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( bermudat )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* uses "Coin A" settings - code at 0x0a0a */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) /* reset */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -2792,7 +2787,7 @@ static INPUT_PORTS_START( bermudat )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x04)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x04)
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:4")
|
||||
PORT_DIPSETTING( 0x08, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
@ -2818,7 +2813,7 @@ static INPUT_PORTS_START( bermudat )
|
||||
PORT_DIPSETTING( 0x08, "Demo Sounds On" )
|
||||
PORT_DIPSETTING( 0x00, "Freeze" )
|
||||
PORT_DIPSETTING( 0x04, "Infinite Lives (Cheat)")
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x30)
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x30)
|
||||
PORT_DIPNAME( 0xc0, 0x80, "Game Style" ) PORT_DIPLOCATION("DSW2:7,8")
|
||||
PORT_DIPSETTING( 0xc0, "Normal without continue" )
|
||||
PORT_DIPSETTING( 0x80, "Normal with continue" )
|
||||
@ -2883,7 +2878,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( psychos )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) /* reset */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -2920,7 +2915,7 @@ static INPUT_PORTS_START( psychos )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x04)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x04)
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:4")
|
||||
PORT_DIPSETTING( 0x08, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
@ -2947,7 +2942,7 @@ static INPUT_PORTS_START( psychos )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Freeze" ) PORT_DIPLOCATION("DSW2:4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x30)
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x30)
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("DSW2:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||
@ -2968,7 +2963,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( gwar )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* uses "Coin A" settings - code at 0x08c8 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) /* reset */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
@ -2982,7 +2977,7 @@ static INPUT_PORTS_START( gwar )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gwar_rotary, (void*)0)
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,gwar_rotary, (void*)0)
|
||||
|
||||
PORT_START("P1ROT")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE PORT_FULL_TURN_COUNT(12)
|
||||
@ -2992,7 +2987,7 @@ static INPUT_PORTS_START( gwar )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gwar_rotary, (void*)1)
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,gwar_rotary, (void*)1)
|
||||
|
||||
PORT_START("P2ROT")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(15) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2) PORT_REVERSE PORT_FULL_TURN_COUNT(12)
|
||||
@ -3014,7 +3009,7 @@ static INPUT_PORTS_START( gwar )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x04)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x04)
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:4")
|
||||
PORT_DIPSETTING( 0x08, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
@ -3040,7 +3035,7 @@ static INPUT_PORTS_START( gwar )
|
||||
PORT_DIPSETTING( 0x08, "Demo Sounds On" )
|
||||
PORT_DIPSETTING( 0x00, "Freeze" )
|
||||
PORT_DIPSETTING( 0x04, "Infinite Lives (Cheat)")
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x30)
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x30)
|
||||
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "DSW2:7" )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "DSW2:8" )
|
||||
|
||||
@ -3063,10 +3058,10 @@ static INPUT_PORTS_START( gwarb )
|
||||
// connected. If rotary is not connected, player fires in the direction he's facing.
|
||||
|
||||
PORT_MODIFY("IN1")
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gwarb_rotary, (void*)0)
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,gwarb_rotary, (void*)0)
|
||||
|
||||
PORT_MODIFY("IN2")
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gwarb_rotary, (void*)1)
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,gwarb_rotary, (void*)1)
|
||||
|
||||
PORT_START("JOYSTICK_MODE")
|
||||
PORT_CONFNAME( 0x01, 0x00, "Joystick mode" )
|
||||
@ -3077,7 +3072,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( chopper )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* uses "Coin A" settings - code at 0x0849 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) /* reset */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
@ -3116,7 +3111,7 @@ static INPUT_PORTS_START( chopper )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Upright ) ) /* Single Controls */
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x04)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x04)
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:4")
|
||||
PORT_DIPSETTING( 0x08, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
@ -3142,7 +3137,7 @@ static INPUT_PORTS_START( chopper )
|
||||
PORT_DIPSETTING( 0x0c, "Demo Sounds On" )
|
||||
PORT_DIPSETTING( 0x00, "Freeze" )
|
||||
PORT_DIPSETTING( 0x04, "Infinite Lives (Cheat)")
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_bonus_r, (void *)0x30)
|
||||
PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_bonus_r, (void *)0x30)
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("DSW2:7")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
|
||||
@ -3198,7 +3193,7 @@ static INPUT_PORTS_START( tdfever )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) /* also reset - code at 0x074a */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* adds 1 credit - code at 0x1065 */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start Game A")
|
||||
@ -3339,7 +3334,7 @@ static INPUT_PORTS_START( fsoccer )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) /* same as the dip switch / also reset - code at 0x00cc */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* uses "Coin A" settings - code at 0x677f */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk_state,snk_sound_busy, 0)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start Game A")
|
||||
|
@ -319,16 +319,15 @@ static void sasuke_start_counter(running_machine &machine)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( snk6502_music0_r )
|
||||
CUSTOM_INPUT_MEMBER(snk6502_state::snk6502_music0_r)
|
||||
{
|
||||
return (snk6502_music0_playing(field.machine()) ? 0x01 : 0x00);
|
||||
return (snk6502_music0_playing(machine()) ? 0x01 : 0x00);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( sasuke_count_r )
|
||||
CUSTOM_INPUT_MEMBER(snk6502_state::sasuke_count_r)
|
||||
{
|
||||
snk6502_state *state = field.machine().driver_data<snk6502_state>();
|
||||
|
||||
return (state->m_sasuke_counter >> 4);
|
||||
return (m_sasuke_counter >> 4);
|
||||
}
|
||||
|
||||
|
||||
@ -518,12 +517,12 @@ static INPUT_PORTS_START( satansat )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_BIT( 0x7c, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk6502_music0_r, NULL) /* music0 playing */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk6502_state,snk6502_music0_r, NULL) /* music0 playing */
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) PORT_CHANGED(coin_inserted, 0)
|
||||
PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* NC */
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(sasuke_count_r, NULL) /* connected to a binary counter */
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk6502_state,sasuke_count_r, NULL) /* connected to a binary counter */
|
||||
|
||||
PORT_START("DSW")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:!1")
|
||||
@ -583,7 +582,7 @@ static INPUT_PORTS_START( vanguard )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* fire left */
|
||||
|
||||
PORT_MODIFY("IN2")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk6502_music0_r, NULL) /* music0 playing */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, snk6502_state,snk6502_music0_r, NULL) /* music0 playing */
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( fantasy )
|
||||
|
@ -17,30 +17,27 @@ Atari Sprint 4 driver
|
||||
#define PIXEL_CLOCK (MASTER_CLOCK / 2)
|
||||
|
||||
|
||||
static CUSTOM_INPUT( get_lever )
|
||||
CUSTOM_INPUT_MEMBER(sprint4_state::get_lever)
|
||||
{
|
||||
sprint4_state *state = field.machine().driver_data<sprint4_state>();
|
||||
int n = (FPTR) param;
|
||||
|
||||
return 4 * state->m_gear[n] > state->m_da_latch;
|
||||
return 4 * m_gear[n] > m_da_latch;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( get_wheel )
|
||||
CUSTOM_INPUT_MEMBER(sprint4_state::get_wheel)
|
||||
{
|
||||
sprint4_state *state = field.machine().driver_data<sprint4_state>();
|
||||
int n = (FPTR) param;
|
||||
|
||||
return 8 * state->m_steer_FF1[n] + 8 * state->m_steer_FF2[n] > state->m_da_latch;
|
||||
return 8 * m_steer_FF1[n] + 8 * m_steer_FF2[n] > m_da_latch;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( get_collision )
|
||||
CUSTOM_INPUT_MEMBER(sprint4_state::get_collision)
|
||||
{
|
||||
sprint4_state *state = field.machine().driver_data<sprint4_state>();
|
||||
int n = (FPTR) param;
|
||||
|
||||
return state->m_collision[n];
|
||||
return m_collision[n];
|
||||
}
|
||||
|
||||
|
||||
@ -269,13 +266,13 @@ static INPUT_PORTS_START( sprint4 )
|
||||
|
||||
PORT_START("COLLISION")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Player 1 Gas") PORT_PLAYER(1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_collision, (void *)0 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_collision, (void *)0 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Player 2 Gas") PORT_PLAYER(2)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_collision, (void *)1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_collision, (void *)1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Player 3 Gas") PORT_PLAYER(3)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_collision, (void *)2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_collision, (void *)2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Player 4 Gas") PORT_PLAYER(4)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_collision, (void *)3 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_collision, (void *)3 )
|
||||
|
||||
PORT_START("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -306,14 +303,14 @@ static INPUT_PORTS_START( sprint4 )
|
||||
PORT_DIPSETTING( 0xe0, "150 seconds" )
|
||||
|
||||
PORT_START("ANALOG")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_wheel, (void *)0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_lever, (void *)0)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_wheel, (void *)1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_lever, (void *)1)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_wheel, (void *)2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_lever, (void *)2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_wheel, (void *)3)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_lever, (void *)3)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_wheel, (void *)0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_lever, (void *)0)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_wheel, (void *)1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_lever, (void *)1)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_wheel, (void *)2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_lever, (void *)2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_wheel, (void *)3)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, sprint4_state, get_lever, (void *)3)
|
||||
|
||||
PORT_START("WHEEL1")
|
||||
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(16) PORT_PLAYER(1)
|
||||
|
@ -53,13 +53,12 @@ Verify Color PROM resistor values (Last 8 colors)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( get_motor_not_ready )
|
||||
CUSTOM_INPUT_MEMBER(stactics_state::get_motor_not_ready)
|
||||
{
|
||||
stactics_state *state = field.machine().driver_data<stactics_state>();
|
||||
|
||||
/* if the motor is self-centering, but not centered yet */
|
||||
return ((*state->m_motor_on & 0x01) == 0) &&
|
||||
((state->m_horiz_pos != 0) || (state->m_vert_pos != 0));
|
||||
return ((*m_motor_on & 0x01) == 0) &&
|
||||
((m_horiz_pos != 0) || (m_vert_pos != 0));
|
||||
}
|
||||
|
||||
|
||||
@ -125,10 +124,10 @@ static void move_motor(running_machine &machine, stactics_state *state)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( get_rng )
|
||||
CUSTOM_INPUT_MEMBER(stactics_state::get_rng)
|
||||
{
|
||||
/* this is a 555 timer, but cannot read one of the resistor values */
|
||||
return field.machine().rand() & 0x07;
|
||||
return machine().rand() & 0x07;
|
||||
}
|
||||
|
||||
|
||||
@ -216,7 +215,7 @@ static INPUT_PORTS_START( stactics )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_motor_not_ready, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, stactics_state,get_motor_not_ready, NULL)
|
||||
|
||||
PORT_START("IN1") /* IN1 */
|
||||
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_B ) )
|
||||
@ -245,7 +244,7 @@ static INPUT_PORTS_START( stactics )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN2") /* IN2 */
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(get_rng, NULL)
|
||||
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, stactics_state,get_rng, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, stactics_state,stactics_get_frame_count_d3, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
|
@ -64,24 +64,23 @@ WRITE8_MEMBER(starshp1_state::starshp1_collision_reset_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( starshp1_analog_r )
|
||||
CUSTOM_INPUT_MEMBER(starshp1_state::starshp1_analog_r)
|
||||
{
|
||||
starshp1_state *state = field.machine().driver_data<starshp1_state>();
|
||||
int val = 0;
|
||||
|
||||
switch (state->m_analog_in_select)
|
||||
switch (m_analog_in_select)
|
||||
{
|
||||
case 0:
|
||||
val = input_port_read(field.machine(), "STICKY");
|
||||
val = input_port_read(machine(), "STICKY");
|
||||
break;
|
||||
case 1:
|
||||
val = input_port_read(field.machine(), "STICKX");
|
||||
val = input_port_read(machine(), "STICKX");
|
||||
break;
|
||||
case 2:
|
||||
val = 0x20; /* DAC feedback, not used */
|
||||
break;
|
||||
case 3:
|
||||
val = input_port_read(field.machine(), "PLAYTIME");
|
||||
val = input_port_read(machine(), "PLAYTIME");
|
||||
break;
|
||||
}
|
||||
|
||||
@ -89,10 +88,9 @@ static CUSTOM_INPUT( starshp1_analog_r )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( collision_latch_r )
|
||||
CUSTOM_INPUT_MEMBER(starshp1_state::collision_latch_r)
|
||||
{
|
||||
starshp1_state *state = field.machine().driver_data<starshp1_state>();
|
||||
return state->m_collision_latch & 0x0f;
|
||||
return m_collision_latch & 0x0f;
|
||||
}
|
||||
|
||||
|
||||
@ -202,12 +200,12 @@ static INPUT_PORTS_START( starshp1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
|
||||
PORT_START("VBLANK")
|
||||
PORT_BIT( 0x3f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(starshp1_analog_r, NULL) /* analog in */
|
||||
PORT_BIT( 0x3f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, starshp1_state,starshp1_analog_r, NULL) /* analog in */
|
||||
PORT_SERVICE( 0x40, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
|
||||
PORT_START("COINAGE")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(collision_latch_r, NULL) /* collision latch */
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, starshp1_state,collision_latch_r, NULL) /* collision latch */
|
||||
PORT_DIPNAME( 0x70, 0x20, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_1C ) )
|
||||
|
@ -455,10 +455,10 @@ static TIMER_DEVICE_CALLBACK(skns_irq)
|
||||
|
||||
**********************************************************************************/
|
||||
|
||||
static CUSTOM_INPUT( paddle_r )
|
||||
CUSTOM_INPUT_MEMBER(skns_state::paddle_r)
|
||||
{
|
||||
const char *tag = (const char *)param;
|
||||
return input_port_read(field.machine(), tag);
|
||||
return input_port_read(machine(), tag);
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( skns ) /* 3 buttons, 2 players */
|
||||
@ -513,12 +513,12 @@ static INPUT_PORTS_START( skns ) /* 3 buttons, 2 players */
|
||||
PORT_DIPNAME( 0x00000080, 0x00000080, "Freeze" )
|
||||
PORT_DIPSETTING( 0x00000000, "Freezes the game")
|
||||
PORT_DIPSETTING( 0x00000080, "Right value")
|
||||
PORT_BIT( 0x0000ff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(paddle_r, "Paddle C")
|
||||
PORT_BIT( 0x00ff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(paddle_r, "Paddle B")
|
||||
PORT_BIT( 0xff000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(paddle_r, "Paddle A")
|
||||
PORT_BIT( 0x0000ff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, skns_state,paddle_r, "Paddle C")
|
||||
PORT_BIT( 0x00ff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, skns_state,paddle_r, "Paddle B")
|
||||
PORT_BIT( 0xff000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, skns_state,paddle_r, "Paddle A")
|
||||
|
||||
PORT_START("40000c")
|
||||
PORT_BIT( 0x000000ff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(paddle_r, "Paddle D")
|
||||
PORT_BIT( 0x000000ff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, skns_state,paddle_r, "Paddle D")
|
||||
PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("Paddle A")
|
||||
|
@ -224,15 +224,15 @@ ADDRESS_MAP_END
|
||||
#define SUPRRIDR_P1_CONTROL_PORT_TAG ("CONTP1")
|
||||
#define SUPRRIDR_P2_CONTROL_PORT_TAG ("CONTP2")
|
||||
|
||||
static CUSTOM_INPUT( suprridr_control_r )
|
||||
CUSTOM_INPUT_MEMBER(suprridr_state::suprridr_control_r)
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
/* screen flip multiplexes controls */
|
||||
if (suprridr_is_screen_flipped(field.machine()))
|
||||
ret = input_port_read(field.machine(), SUPRRIDR_P2_CONTROL_PORT_TAG);
|
||||
if (suprridr_is_screen_flipped(machine()))
|
||||
ret = input_port_read(machine(), SUPRRIDR_P2_CONTROL_PORT_TAG);
|
||||
else
|
||||
ret = input_port_read(field.machine(), SUPRRIDR_P1_CONTROL_PORT_TAG);
|
||||
ret = input_port_read(machine(), SUPRRIDR_P1_CONTROL_PORT_TAG);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -240,7 +240,7 @@ static CUSTOM_INPUT( suprridr_control_r )
|
||||
|
||||
static INPUT_PORTS_START( suprridr )
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(suprridr_control_r, NULL)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, suprridr_state,suprridr_control_r, NULL)
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
|
@ -439,19 +439,17 @@ WRITE8_MEMBER(system1_state::videomode_w)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static CUSTOM_INPUT( dakkochn_mux_data_r )
|
||||
CUSTOM_INPUT_MEMBER(system1_state::dakkochn_mux_data_r)
|
||||
{
|
||||
system1_state *state = field.machine().driver_data<system1_state>();
|
||||
static const char *const ports[] = { "KEY0", "KEY1", "KEY2", "KEY3", "KEY4", "KEY5", "KEY6" };
|
||||
return input_port_read(field.machine(), ports[state->m_dakkochn_mux_data]);
|
||||
return input_port_read(machine(), ports[m_dakkochn_mux_data]);
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( dakkochn_mux_status_r )
|
||||
CUSTOM_INPUT_MEMBER(system1_state::dakkochn_mux_status_r)
|
||||
{
|
||||
system1_state *state = field.machine().driver_data<system1_state>();
|
||||
/* reads from here indicate which mux port is selected */
|
||||
return 1 << (state->m_dakkochn_mux_data);
|
||||
return 1 << (m_dakkochn_mux_data);
|
||||
}
|
||||
|
||||
|
||||
@ -1955,10 +1953,10 @@ static INPUT_PORTS_START( dakkochn )
|
||||
PORT_INCLUDE( choplift )
|
||||
|
||||
PORT_MODIFY("P1")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dakkochn_mux_data_r, NULL)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, system1_state,dakkochn_mux_data_r, NULL)
|
||||
|
||||
PORT_MODIFY("P2")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(dakkochn_mux_status_r, NULL)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, system1_state,dakkochn_mux_status_r, NULL)
|
||||
|
||||
PORT_MODIFY("SYSTEM")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) /* start 1 & 2 not connected. */
|
||||
|
@ -41,21 +41,20 @@
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static CUSTOM_INPUT( f3_analog_r )
|
||||
CUSTOM_INPUT_MEMBER(taito_f3_state::f3_analog_r)
|
||||
{
|
||||
const char *tag = (const char *)param;
|
||||
UINT32 ipt = 0;
|
||||
|
||||
ipt = ((input_port_read(field.machine(), tag) & 0xf)<<12) | ((input_port_read(field.machine(), tag) & 0xff0)>>4);
|
||||
ipt = ((input_port_read(machine(), tag) & 0xf)<<12) | ((input_port_read(machine(), tag) & 0xff0)>>4);
|
||||
|
||||
return ipt;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( f3_coin_r )
|
||||
CUSTOM_INPUT_MEMBER(taito_f3_state::f3_coin_r)
|
||||
{
|
||||
taito_f3_state *state = field.machine().driver_data<taito_f3_state>();
|
||||
int num = (FPTR)param;
|
||||
return state->m_coin_word[num];
|
||||
return m_coin_word[num];
|
||||
}
|
||||
|
||||
READ32_MEMBER(taito_f3_state::f3_control_r)
|
||||
@ -244,7 +243,7 @@ static INPUT_PORTS_START( f3 )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0000ff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* These must be high */
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(f3_coin_r, (void *)0)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taito_f3_state,f3_coin_r, (void *)0)
|
||||
|
||||
/* Player 3 & 4 fire buttons (Player 2 top fire buttons in Kaiser Knuckle) */
|
||||
PORT_START("IN2")
|
||||
@ -270,16 +269,16 @@ static INPUT_PORTS_START( f3 )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
|
||||
PORT_BIT( 0x0000ff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(f3_coin_r, (void *)1)
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taito_f3_state,f3_coin_r, (void *)1)
|
||||
|
||||
/* Analog control 1 */
|
||||
PORT_START("AN0")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(f3_analog_r, "DIAL1")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taito_f3_state,f3_analog_r, "DIAL1")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
/* Analog control 2 */
|
||||
PORT_START("AN1")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(f3_analog_r, "DIAL2")
|
||||
PORT_BIT( 0x0000ffff, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taito_f3_state,f3_analog_r, "DIAL2")
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
/* These are not read directly, but through PORT_CUSTOMs above */
|
||||
|
@ -1163,10 +1163,10 @@ INPUT_PORTS_END
|
||||
|
||||
/* Mascon must always be in a defined state, Densha de Go 2 in particular returns black screen if the Mascon input is undefined
|
||||
We convert the 6 lever "shifter" into a fake analog port for now. */
|
||||
static CUSTOM_INPUT( mascon_state_r )
|
||||
CUSTOM_INPUT_MEMBER(taitojc_state::mascon_state_r)
|
||||
{
|
||||
static const UINT8 mascon_table[6] = { 0x01, 0x10, 0x02, 0x20, 0x04, 0x40 };
|
||||
UINT8 res = input_port_read(field.machine(), "MASCON");
|
||||
UINT8 res = input_port_read(machine(), "MASCON");
|
||||
int i;
|
||||
|
||||
//popmessage("%02x",res);
|
||||
@ -1205,7 +1205,7 @@ static INPUT_PORTS_START( dendego )
|
||||
PORT_START("BUTTONS")
|
||||
/* TODO: fix this */
|
||||
PORT_BIT( 0x88, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x77, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(mascon_state_r,NULL)
|
||||
PORT_BIT( 0x77, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitojc_state,mascon_state_r,NULL)
|
||||
// PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Mascon 5") // Mascon 5
|
||||
// PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Mascon 3") // Mascon 3
|
||||
// PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Mascon 1") // Mascon 1
|
||||
|
@ -190,10 +190,9 @@ static WRITE8_DEVICE_HANDLER( input_port_4_f0_w )
|
||||
state->m_input_port_4_f0 = data >> 4;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( input_port_4_f0_r )
|
||||
CUSTOM_INPUT_MEMBER(taitosj_state::input_port_4_f0_r)
|
||||
{
|
||||
taitosj_state *state = field.machine().driver_data<taitosj_state>();
|
||||
return state->m_input_port_4_f0;
|
||||
return m_input_port_4_f0;
|
||||
}
|
||||
|
||||
|
||||
@ -279,9 +278,8 @@ ADDRESS_MAP_END
|
||||
|
||||
/* seems the most logical way to do the gears */
|
||||
|
||||
static CUSTOM_INPUT( kikstart_gear_r )
|
||||
CUSTOM_INPUT_MEMBER(taitosj_state::kikstart_gear_r)
|
||||
{
|
||||
taitosj_state *state = field.machine().driver_data<taitosj_state>();
|
||||
const char *port_tag;
|
||||
|
||||
int player = (int)(FPTR)param;
|
||||
@ -292,11 +290,11 @@ static CUSTOM_INPUT( kikstart_gear_r )
|
||||
port_tag = "GEARP2";
|
||||
|
||||
/* gear MUST be 1, 2 or 3 */
|
||||
if (input_port_read(field.machine(), port_tag) & 0x01) state->m_kikstart_gears[player] = 0x02;
|
||||
if (input_port_read(field.machine(), port_tag) & 0x02) state->m_kikstart_gears[player] = 0x03;
|
||||
if (input_port_read(field.machine(), port_tag) & 0x04) state->m_kikstart_gears[player] = 0x01;
|
||||
if (input_port_read(machine(), port_tag) & 0x01) m_kikstart_gears[player] = 0x02;
|
||||
if (input_port_read(machine(), port_tag) & 0x02) m_kikstart_gears[player] = 0x03;
|
||||
if (input_port_read(machine(), port_tag) & 0x04) m_kikstart_gears[player] = 0x01;
|
||||
|
||||
return state->m_kikstart_gears[player];
|
||||
return m_kikstart_gears[player];
|
||||
}
|
||||
|
||||
|
||||
@ -491,7 +489,7 @@ static INPUT_PORTS_START( spaceskr )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||
@ -573,7 +571,7 @@ static INPUT_PORTS_START( spacecr )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||
@ -657,7 +655,7 @@ static INPUT_PORTS_START( junglek )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Finish Bonus" )
|
||||
@ -779,7 +777,7 @@ static INPUT_PORTS_START( alpine )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Jump Bonus" )
|
||||
@ -864,7 +862,7 @@ static INPUT_PORTS_START( alpinea )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Jump Bonus" )
|
||||
@ -942,7 +940,7 @@ static INPUT_PORTS_START( timetunl )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
|
||||
@ -1142,7 +1140,7 @@ static INPUT_PORTS_START( elevator )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
|
||||
@ -1225,7 +1223,7 @@ static INPUT_PORTS_START( tinstar )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Bonus Life?" )
|
||||
@ -1308,7 +1306,7 @@ static INPUT_PORTS_START( waterski )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||
@ -1397,7 +1395,7 @@ static INPUT_PORTS_START( bioatack )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1") /* d50a */
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
|
||||
@ -1464,7 +1462,7 @@ static INPUT_PORTS_START( sfposeid )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||
@ -1532,7 +1530,7 @@ static INPUT_PORTS_START( hwrace )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(input_port_4_f0_r, NULL) // from sound CPU
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,input_port_4_f0_r, NULL) // from sound CPU
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||
@ -1609,7 +1607,7 @@ static INPUT_PORTS_START( kikstart )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
|
||||
PORT_START("IN3") /* Service */
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(kikstart_gear_r, (void *)0)
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,kikstart_gear_r, (void *)0)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* needs to be 0, otherwise cannot shift */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
@ -1618,7 +1616,7 @@ static INPUT_PORTS_START( kikstart )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(kikstart_gear_r, (void *)1)
|
||||
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, taitosj_state,kikstart_gear_r, (void *)1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* needs to be 0, otherwise cannot shift */
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -252,10 +252,9 @@ WRITE16_MEMBER(tetrisp2_state::rocknms_main2sub_w)
|
||||
m_rocknms_main2sub = (data ^ 0xffff);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( rocknms_main2sub_status_r )
|
||||
CUSTOM_INPUT_MEMBER(tetrisp2_state::rocknms_main2sub_status_r)
|
||||
{
|
||||
tetrisp2_state *state = field.machine().driver_data<tetrisp2_state>();
|
||||
return state->m_rocknms_sub2main & 0x0003;
|
||||
return m_rocknms_sub2main & 0x0003;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(tetrisp2_state::rocknms_sub2main_w)
|
||||
@ -858,7 +857,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( rocknms )
|
||||
PORT_START("PLAYERS") // IN0 - $be0002.w
|
||||
PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(rocknms_main2sub_status_r, NULL) // MAIN -> SUB Communication
|
||||
PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, tetrisp2_state,rocknms_main2sub_status_r, NULL) // MAIN -> SUB Communication
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
|
@ -646,16 +646,15 @@ WRITE16_MEMBER(toaplan2_state::toaplan2_hd647180_cpu_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( c2map_r )
|
||||
CUSTOM_INPUT_MEMBER(toaplan2_state::c2map_r)
|
||||
{
|
||||
toaplan2_state *state = field.machine().driver_data<toaplan2_state>();
|
||||
|
||||
// For Teki Paki hardware
|
||||
// bit 4 high signifies secondary CPU is ready
|
||||
// bit 5 is tested low before V-Blank bit ???
|
||||
state->m_mcu_data = 0xff;
|
||||
m_mcu_data = 0xff;
|
||||
|
||||
return (state->m_mcu_data == 0xff) ? 0x01 : 0x00;
|
||||
return (m_mcu_data == 0xff) ? 0x01 : 0x00;
|
||||
}
|
||||
|
||||
|
||||
@ -1673,7 +1672,7 @@ static INPUT_PORTS_START( tekipaki )
|
||||
// PORT_DIPSETTING( 0x000d, DEF_STR( Japan ) )
|
||||
// PORT_DIPSETTING( 0x000e, DEF_STR( Japan ) )
|
||||
PORT_DIPSETTING( 0x000f, "Japan (Distributed by Tecmo)" )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(c2map_r, NULL)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, toaplan2_state,c2map_r, NULL)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -2019,7 +2018,7 @@ static INPUT_PORTS_START( whoopee )
|
||||
PORT_INCLUDE( pipibibs )
|
||||
|
||||
PORT_MODIFY("JMPR")
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(c2map_r, NULL) // bit 0x10 sound ready
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, toaplan2_state,c2map_r, NULL) // bit 0x10 sound ready
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -18,21 +18,19 @@ Atari Ultra Tank driver
|
||||
|
||||
|
||||
|
||||
static CUSTOM_INPUT( get_collision )
|
||||
CUSTOM_INPUT_MEMBER(ultratnk_state::get_collision)
|
||||
{
|
||||
ultratnk_state *state = field.machine().driver_data<ultratnk_state>();
|
||||
return state->m_collision[(FPTR) param];
|
||||
return m_collision[(FPTR) param];
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( get_joystick )
|
||||
CUSTOM_INPUT_MEMBER(ultratnk_state::get_joystick)
|
||||
{
|
||||
ultratnk_state *state = field.machine().driver_data<ultratnk_state>();
|
||||
UINT8 joy = input_port_read(field.machine(), (const char *)param) & 3;
|
||||
UINT8 joy = input_port_read(machine(), (const char *)param) & 3;
|
||||
|
||||
if (joy == 1)
|
||||
{
|
||||
return (state->m_da_latch < 8) ? 1 : 0;
|
||||
return (m_da_latch < 8) ? 1 : 0;
|
||||
}
|
||||
if (joy == 2)
|
||||
{
|
||||
@ -190,13 +188,13 @@ static INPUT_PORTS_START( ultratnk )
|
||||
|
||||
PORT_START("COLLISION")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_collision, (void *)0 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ultratnk_state, get_collision, (void *)0 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_collision, (void *)1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ultratnk_state, get_collision, (void *)1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) /* VCC */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_collision, (void *)2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ultratnk_state, get_collision, (void *)2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_TILT ) /* SLAM */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_collision, (void *)3 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ultratnk_state, get_collision, (void *)3 )
|
||||
|
||||
PORT_START("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -229,13 +227,13 @@ static INPUT_PORTS_START( ultratnk )
|
||||
|
||||
PORT_START("ANALOG")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_joystick, "JOY-W" )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ultratnk_state, get_joystick, "JOY-W" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_joystick, "JOY-Y" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ultratnk_state, get_joystick, "JOY-Y" )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_joystick, "JOY-X" )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ultratnk_state, get_joystick, "JOY-X" )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM( get_joystick, "JOY-Z" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, ultratnk_state, get_joystick, "JOY-Z" )
|
||||
|
||||
PORT_START("JOY-W")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_PLAYER(1)
|
||||
|
@ -251,10 +251,9 @@ static const eeprom_interface undrfire_eeprom_interface =
|
||||
GAME INPUTS
|
||||
**********************************************************/
|
||||
|
||||
static CUSTOM_INPUT(frame_counter_r)
|
||||
CUSTOM_INPUT_MEMBER(undrfire_state::frame_counter_r)
|
||||
{
|
||||
undrfire_state *state = field.machine().driver_data<undrfire_state>();
|
||||
return state->m_frame_counter;
|
||||
return m_frame_counter;
|
||||
}
|
||||
|
||||
READ32_MEMBER(undrfire_state::undrfire_input_r)
|
||||
@ -527,7 +526,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( undrfire )
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(frame_counter_r, NULL) /* Frame counter */
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, undrfire_state,frame_counter_r, NULL) /* Frame counter */
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -595,7 +594,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( cbombers )
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(frame_counter_r, NULL) /* Frame counter */
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, undrfire_state,frame_counter_r, NULL) /* Frame counter */
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -81,10 +81,9 @@ static void assert_coin_status(running_machine &machine)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( vicdual_read_coin_status )
|
||||
CUSTOM_INPUT_MEMBER(vicdual_state::vicdual_read_coin_status)
|
||||
{
|
||||
vicdual_state *state = field.machine().driver_data<vicdual_state>();
|
||||
return state->m_coin_status;
|
||||
return m_coin_status;
|
||||
}
|
||||
|
||||
|
||||
@ -135,28 +134,28 @@ static int get_vcounter(running_machine &machine)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( vicdual_get_64v )
|
||||
CUSTOM_INPUT_MEMBER(vicdual_state::vicdual_get_64v)
|
||||
{
|
||||
return (get_vcounter(field.machine()) >> 6) & 0x01;
|
||||
return (get_vcounter(machine()) >> 6) & 0x01;
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( vicdual_get_vblank_comp )
|
||||
CUSTOM_INPUT_MEMBER(vicdual_state::vicdual_get_vblank_comp)
|
||||
{
|
||||
return (get_vcounter(field.machine()) < VICDUAL_VBSTART);
|
||||
return (get_vcounter(machine()) < VICDUAL_VBSTART);
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( vicdual_get_composite_blank_comp )
|
||||
CUSTOM_INPUT_MEMBER(vicdual_state::vicdual_get_composite_blank_comp)
|
||||
{
|
||||
return (vicdual_get_vblank_comp(device, field, 0) && !field.machine().primary_screen->hblank());
|
||||
return (vicdual_get_vblank_comp(field, 0) && !machine().primary_screen->hblank());
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( vicdual_get_timer_value )
|
||||
CUSTOM_INPUT_MEMBER(vicdual_state::vicdual_get_timer_value)
|
||||
{
|
||||
/* return the state of the timer (old code claims "4MHz square wave", but it was toggled once every 2msec, or 500Hz) */
|
||||
return field.machine().time().as_ticks(500) & 1;
|
||||
return machine().time().as_ticks(500) & 1;
|
||||
}
|
||||
|
||||
|
||||
@ -279,9 +278,9 @@ static INPUT_PORTS_START( depthch )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_COIN
|
||||
INPUT_PORTS_END
|
||||
@ -361,7 +360,7 @@ static INPUT_PORTS_START( safari )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL)
|
||||
PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
|
||||
@ -369,7 +368,7 @@ static INPUT_PORTS_START( safari )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_COIN
|
||||
INPUT_PORTS_END
|
||||
@ -451,9 +450,9 @@ static INPUT_PORTS_START( frogs )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_COIN
|
||||
|
||||
@ -579,9 +578,9 @@ static INPUT_PORTS_START( headon )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_CABINET_COLOR_OR_BW
|
||||
|
||||
@ -609,12 +608,12 @@ static INPUT_PORTS_START( supcrash )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_DIPNAME( 0x04, 0x04, "Rom Test" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x7a, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_CABINET_COLOR_OR_BW
|
||||
|
||||
@ -656,9 +655,9 @@ static INPUT_PORTS_START( sspaceat )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_CABINET_COLOR_OR_BW
|
||||
|
||||
@ -803,12 +802,12 @@ static INPUT_PORTS_START( headon2 )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_COIN
|
||||
INPUT_PORTS_END
|
||||
@ -836,12 +835,12 @@ static INPUT_PORTS_START( car2 )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_COIN
|
||||
INPUT_PORTS_END
|
||||
@ -878,9 +877,9 @@ static INPUT_PORTS_START( digger )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_COIN
|
||||
INPUT_PORTS_END
|
||||
@ -1203,7 +1202,7 @@ static INPUT_PORTS_START( invho2 )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Head On Lives (2/2)" )
|
||||
PORT_DIPSETTING( 0x04, "+0" )
|
||||
PORT_DIPSETTING( 0x00, "+1" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1214,7 +1213,7 @@ static INPUT_PORTS_START( invho2 )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Invinco Lives" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPSETTING( 0x04, "6" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) /* probably unused */
|
||||
@ -1228,7 +1227,7 @@ static INPUT_PORTS_START( invho2 )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Game Select") PORT_TOGGLE
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1257,7 +1256,7 @@ static INPUT_PORTS_START( invds )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Invinco Lives (2/2)" )
|
||||
PORT_DIPSETTING( 0x00, "+0" )
|
||||
PORT_DIPSETTING( 0x04, "+2" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1268,7 +1267,7 @@ static INPUT_PORTS_START( invds )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Deep Scan Lives (1/2)" )
|
||||
PORT_DIPSETTING( 0x00, "+0" )
|
||||
PORT_DIPSETTING( 0x04, "+1" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1280,7 +1279,7 @@ static INPUT_PORTS_START( invds )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Deep Scan Lives (2/2)" )
|
||||
PORT_DIPSETTING( 0x04, "+0" )
|
||||
PORT_DIPSETTING( 0x00, "+2" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Game Select") PORT_TOGGLE
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1309,7 +1308,7 @@ static INPUT_PORTS_START( sspacaho )
|
||||
PORT_DIPNAME( 0x04, 0x00, "S.A. Lives (2/2)" )
|
||||
PORT_DIPSETTING( 0x00, "+0" )
|
||||
PORT_DIPSETTING( 0x04, "+2" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1320,7 +1319,7 @@ static INPUT_PORTS_START( sspacaho )
|
||||
PORT_DIPNAME( 0x04, 0x00, "S.A. Bonus Life" )
|
||||
PORT_DIPSETTING( 0x00, "10000" )
|
||||
PORT_DIPSETTING( 0x04, "15000" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1331,7 +1330,7 @@ static INPUT_PORTS_START( sspacaho )
|
||||
PORT_DIPNAME( 0x04, 0x00, "S.A. Bonus Life For Final UFO" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Game Select") PORT_TOGGLE
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1360,7 +1359,7 @@ static INPUT_PORTS_START( tranqgun )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_vblank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_vblank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1371,7 +1370,7 @@ static INPUT_PORTS_START( tranqgun )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1382,7 +1381,7 @@ static INPUT_PORTS_START( tranqgun )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1411,7 +1410,7 @@ static INPUT_PORTS_START( spacetrk )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) /* unknown, but used */
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1422,7 +1421,7 @@ static INPUT_PORTS_START( spacetrk )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1433,7 +1432,7 @@ static INPUT_PORTS_START( spacetrk )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1462,7 +1461,7 @@ static INPUT_PORTS_START( sptrekct )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) /* unknown, but used */
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1473,7 +1472,7 @@ static INPUT_PORTS_START( sptrekct )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1484,7 +1483,7 @@ static INPUT_PORTS_START( sptrekct )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1515,7 +1514,7 @@ static INPUT_PORTS_START( carnival )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1526,7 +1525,7 @@ static INPUT_PORTS_START( carnival )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1537,7 +1536,7 @@ static INPUT_PORTS_START( carnival )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1563,9 +1562,9 @@ static INPUT_PORTS_START( carnivalh )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_CABINET_COLOR_OR_BW
|
||||
|
||||
@ -1595,7 +1594,7 @@ static INPUT_PORTS_START( carnvckt )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1606,7 +1605,7 @@ static INPUT_PORTS_START( carnvckt )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1617,7 +1616,7 @@ static INPUT_PORTS_START( carnvckt )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1626,10 +1625,10 @@ static INPUT_PORTS_START( carnvckt )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* brdrline lives DIPs are spread across two input ports */
|
||||
static CUSTOM_INPUT( brdrline_lives )
|
||||
CUSTOM_INPUT_MEMBER(vicdual_state::brdrline_lives)
|
||||
{
|
||||
int bit_mask = (FPTR)param;
|
||||
return (input_port_read(field.machine(), "FAKE_LIVES") & bit_mask) ? 0x00 : 0x01;
|
||||
return (input_port_read(machine(), "FAKE_LIVES") & bit_mask) ? 0x00 : 0x01;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( brdrline )
|
||||
@ -1654,8 +1653,8 @@ static INPUT_PORTS_START( brdrline )
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(brdrline_lives, (void *)0x01)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_vblank_comp, NULL)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,brdrline_lives, (void *)0x01)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_vblank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1663,8 +1662,8 @@ static INPUT_PORTS_START( brdrline )
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(brdrline_lives, (void *)0x02)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL) /* yes, this is different */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,brdrline_lives, (void *)0x02)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL) /* yes, this is different */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1675,7 +1674,7 @@ static INPUT_PORTS_START( brdrline )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1711,8 +1710,8 @@ static INPUT_PORTS_START( starrkr )
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(brdrline_lives, (void *)0x01)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_vblank_comp, NULL)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,brdrline_lives, (void *)0x01)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_vblank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1720,8 +1719,8 @@ static INPUT_PORTS_START( starrkr )
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(brdrline_lives, (void *)0x02)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_64v, NULL) /* yes, this is different */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,brdrline_lives, (void *)0x02)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL) /* yes, this is different */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1732,7 +1731,7 @@ static INPUT_PORTS_START( starrkr )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1766,7 +1765,7 @@ static INPUT_PORTS_START( pulsar )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Lives (2/2)" )
|
||||
PORT_DIPSETTING( 0x04, "+0" )
|
||||
PORT_DIPSETTING( 0x00, "+1" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1777,7 +1776,7 @@ static INPUT_PORTS_START( pulsar )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1788,7 +1787,7 @@ static INPUT_PORTS_START( pulsar )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1817,7 +1816,7 @@ static INPUT_PORTS_START( heiankyo )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) /* bonus life? */
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1828,7 +1827,7 @@ static INPUT_PORTS_START( heiankyo )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) /* bonus life? */
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* has to be 0, protection? */
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) /* probably unused */
|
||||
@ -1839,7 +1838,7 @@ static INPUT_PORTS_START( heiankyo )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x04, "5" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1868,7 +1867,7 @@ static INPUT_PORTS_START( alphaho )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Alpha Fighter Lives (2/2)" )
|
||||
PORT_DIPSETTING( 0x00, "+0" )
|
||||
PORT_DIPSETTING( 0x04, "+2" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
@ -1877,7 +1876,7 @@ static INPUT_PORTS_START( alphaho )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
@ -1888,7 +1887,7 @@ static INPUT_PORTS_START( alphaho )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Alpha Fighter Unknown" ) // related to soccer frequency (code at 0x4950)
|
||||
PORT_DIPSETTING( 0x00, DEF_STR ( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR ( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Game Select") PORT_TOGGLE
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
@ -2047,15 +2046,14 @@ WRITE8_MEMBER(vicdual_state::samurai_protection_w)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( samurai_protection_r )
|
||||
CUSTOM_INPUT_MEMBER(vicdual_state::samurai_protection_r)
|
||||
{
|
||||
vicdual_state *state = field.machine().driver_data<vicdual_state>();
|
||||
int offset = (FPTR)param;
|
||||
UINT32 answer = 0;
|
||||
|
||||
if (state->m_samurai_protection_data == 0xab)
|
||||
if (m_samurai_protection_data == 0xab)
|
||||
answer = 0x02;
|
||||
else if (state->m_samurai_protection_data == 0x1d)
|
||||
else if (m_samurai_protection_data == 0x1d)
|
||||
answer = 0x0c;
|
||||
|
||||
return (answer >> offset) & 0x01;
|
||||
@ -2109,33 +2107,33 @@ static INPUT_PORTS_START( samurai )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(samurai_protection_r, (void *)1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,samurai_protection_r, (void *)1)
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) /* unknown, but used */
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(samurai_protection_r, (void *)2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,samurai_protection_r, (void *)2)
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(samurai_protection_r, (void *)3)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,samurai_protection_r, (void *)3)
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2214,7 +2212,7 @@ static INPUT_PORTS_START( nsub )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
@ -2233,7 +2231,7 @@ static INPUT_PORTS_START( nsub )
|
||||
PORT_DIPNAME(0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_COIN
|
||||
INPUT_PORTS_END
|
||||
@ -2330,9 +2328,9 @@ static INPUT_PORTS_START( invinco )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
|
||||
PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vicdual_read_coin_status, NULL)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
|
||||
|
||||
PORT_COIN
|
||||
INPUT_PORTS_END
|
||||
|
@ -339,10 +339,9 @@ WRITE16_MEMBER(welltris_state::sound_command_w)
|
||||
}
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( pending_sound_r )
|
||||
CUSTOM_INPUT_MEMBER(welltris_state::pending_sound_r)
|
||||
{
|
||||
welltris_state *state = field.machine().driver_data<welltris_state>();
|
||||
return state->m_pending_command ? 1 : 0;
|
||||
return m_pending_command ? 1 : 0;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(welltris_state::pending_command_clear_w)
|
||||
@ -399,7 +398,7 @@ static INPUT_PORTS_START( welltris )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) /* Test (used to go through tests in service mode) */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT ) /* Tested at start of irq 1 */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* Service (adds a coin) */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(pending_sound_r, NULL) /* pending sound command */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, welltris_state,pending_sound_r, NULL) /* pending sound command */
|
||||
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
|
@ -30,10 +30,10 @@ static MACHINE_RESET( wolfpack )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( wolfpack_dial_r )
|
||||
CUSTOM_INPUT_MEMBER(wolfpack_state::wolfpack_dial_r)
|
||||
{
|
||||
int bit = (FPTR)param;
|
||||
return ((input_port_read(field.machine(), "DIAL") + bit) / 2) & 0x01;
|
||||
return ((input_port_read(machine(), "DIAL") + bit) / 2) & 0x01;
|
||||
}
|
||||
|
||||
|
||||
@ -149,8 +149,8 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( wolfpack )
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(wolfpack_dial_r, (void *)0) /* dial connects here */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(wolfpack_dial_r, (void *)1) /* dial connects here */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, wolfpack_state,wolfpack_dial_r, (void *)0) /* dial connects here */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, wolfpack_state,wolfpack_dial_r, (void *)1) /* dial connects here */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_SERVICE( 0x10, IP_ACTIVE_HIGH )
|
||||
|
@ -271,11 +271,10 @@ static TIMER_DEVICE_CALLBACK( wwfsstar_scanline )
|
||||
}
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( wwfsstar_vblank_r )
|
||||
CUSTOM_INPUT_MEMBER(wwfsstar_state::wwfsstar_vblank_r)
|
||||
{
|
||||
wwfsstar_state *state = field.machine().driver_data<wwfsstar_state>();
|
||||
|
||||
return state->m_vblank;
|
||||
return m_vblank;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
@ -308,7 +307,7 @@ static INPUT_PORTS_START( wwfsstar )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME("Button B (1P VS 2P - Buy-in)")
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(wwfsstar_vblank_r, NULL) /* VBlank */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, wwfsstar_state,wwfsstar_vblank_r, NULL) /* VBlank */
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
|
@ -174,16 +174,16 @@ WRITE16_MEMBER(wwfwfest_state::wwfwfest_soundwrite)
|
||||
*******************************************************************************/
|
||||
|
||||
/* DIPs are spread across the other input ports */
|
||||
static CUSTOM_INPUT( dsw_3f_r )
|
||||
CUSTOM_INPUT_MEMBER(wwfwfest_state::dsw_3f_r)
|
||||
{
|
||||
const char *tag = (const char *)param;
|
||||
return input_port_read(field.machine(), tag) & 0x3f;
|
||||
return input_port_read(machine(), tag) & 0x3f;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( dsw_c0_r )
|
||||
CUSTOM_INPUT_MEMBER(wwfwfest_state::dsw_c0_r)
|
||||
{
|
||||
const char *tag = (const char *)param;
|
||||
return (input_port_read(field.machine(), tag) & 0xc0) >> 6;
|
||||
return (input_port_read(machine(), tag) & 0xc0) >> 6;
|
||||
}
|
||||
|
||||
|
||||
@ -201,7 +201,7 @@ static INPUT_PORTS_START( wwfwfest )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x3000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dsw_c0_r, "DSW2")
|
||||
PORT_BIT( 0x3000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, wwfwfest_state,dsw_c0_r, "DSW2")
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
@ -214,7 +214,7 @@ static INPUT_PORTS_START( wwfwfest )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x3f00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dsw_3f_r, "DSW2")
|
||||
PORT_BIT( 0x3f00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, wwfwfest_state,dsw_3f_r, "DSW2")
|
||||
|
||||
PORT_START("P3")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3)
|
||||
@ -225,7 +225,7 @@ static INPUT_PORTS_START( wwfwfest )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START3 )
|
||||
PORT_BIT( 0x3f00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dsw_3f_r, "DSW1")
|
||||
PORT_BIT( 0x3f00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, wwfwfest_state,dsw_3f_r, "DSW1")
|
||||
|
||||
PORT_START("P4")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4)
|
||||
@ -236,7 +236,7 @@ static INPUT_PORTS_START( wwfwfest )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START4 )
|
||||
PORT_BIT( 0x0300, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(dsw_c0_r, "DSW1")
|
||||
PORT_BIT( 0x0300, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, wwfwfest_state,dsw_c0_r, "DSW1")
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -271,10 +271,9 @@ WRITE8_MEMBER(xain_state::xain_68705_w)
|
||||
cputag_set_input_line(machine(), "mcu", 0, ASSERT_LINE);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( xain_vblank_r )
|
||||
CUSTOM_INPUT_MEMBER(xain_state::xain_vblank_r)
|
||||
{
|
||||
xain_state *state = field.machine().driver_data<xain_state>();
|
||||
return state->m_vblank;
|
||||
return m_vblank;
|
||||
}
|
||||
|
||||
|
||||
@ -354,16 +353,15 @@ WRITE8_MEMBER(xain_state::xain_68705_ddr_c_w)
|
||||
m_ddr_c = data;
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( mcu_status_r )
|
||||
CUSTOM_INPUT_MEMBER(xain_state::mcu_status_r)
|
||||
{
|
||||
xain_state *state = field.machine().driver_data<xain_state>();
|
||||
UINT8 res = 0;
|
||||
|
||||
if (field.machine().device("mcu") != NULL)
|
||||
if (machine().device("mcu") != NULL)
|
||||
{
|
||||
if (state->m_mcu_ready == 1)
|
||||
if (m_mcu_ready == 1)
|
||||
res |= 0x01;
|
||||
if (state->m_mcu_accept == 1)
|
||||
if (m_mcu_accept == 1)
|
||||
res |= 0x02;
|
||||
}
|
||||
else
|
||||
@ -516,8 +514,8 @@ static INPUT_PORTS_START( xsleena )
|
||||
PORT_START("VBLANK")
|
||||
PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
PORT_BIT( 0x18, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(mcu_status_r, NULL)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(xain_vblank_r, NULL) /* VBLANK */
|
||||
PORT_BIT( 0x18, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, xain_state,mcu_status_r, NULL)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xain_state,xain_vblank_r, NULL) /* VBLANK */
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
@ -254,10 +254,9 @@ static INPUT_PORTS_START( xmen2p )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static CUSTOM_INPUT( xmen_frame_r )
|
||||
CUSTOM_INPUT_MEMBER(xmen_state::xmen_frame_r)
|
||||
{
|
||||
//xmen_state *state = field.machine().driver_data<xmen_state>();
|
||||
return field.machine().primary_screen->frame_number() & 1;
|
||||
return machine().primary_screen->frame_number() & 1;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( xmen6p )
|
||||
@ -284,7 +283,7 @@ static INPUT_PORTS_START( xmen6p )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_START5 ) /* not verified */
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_START6 ) /* not verified */
|
||||
PORT_SERVICE_NO_TOGGLE( 0x4000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(xmen_frame_r, NULL) /* screen indicator? */
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xmen_state,xmen_frame_r, NULL) /* screen indicator? */
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
|
@ -19,11 +19,10 @@ WRITE8_MEMBER(xxmissio_state::xxmissio_bank_sel_w)
|
||||
memory_set_bank(machine(), "bank1", data & 7);
|
||||
}
|
||||
|
||||
static CUSTOM_INPUT( xxmissio_status_r )
|
||||
CUSTOM_INPUT_MEMBER(xxmissio_state::xxmissio_status_r)
|
||||
{
|
||||
xxmissio_state *state = field.machine().driver_data<xxmissio_state>();
|
||||
int bit_mask = (FPTR)param;
|
||||
return (state->m_status & bit_mask) ? 1 : 0;
|
||||
return (m_status & bit_mask) ? 1 : 0;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(xxmissio_state::xxmissio_status_m_w)
|
||||
@ -199,14 +198,14 @@ static INPUT_PORTS_START( xxmissio )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Shown as "Unused" in the manual */
|
||||
|
||||
PORT_START("STATUS")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(xxmissio_status_r, (void *)0x01)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xxmissio_state,xxmissio_status_r, (void *)0x01)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(xxmissio_status_r, (void *)0x04)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(xxmissio_status_r, (void *)0x08)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(xxmissio_status_r, (void *)0x10)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(xxmissio_status_r, (void *)0x20)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(xxmissio_status_r, (void *)0x40)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(xxmissio_status_r, (void *)0x80)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xxmissio_state,xxmissio_status_r, (void *)0x04)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xxmissio_state,xxmissio_status_r, (void *)0x08)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xxmissio_state,xxmissio_status_r, (void *)0x10)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xxmissio_state,xxmissio_status_r, (void *)0x20)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xxmissio_state,xxmissio_status_r, (void *)0x40)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, xxmissio_state,xxmissio_status_r, (void *)0x80)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/****************************************************************************/
|
||||
|
@ -338,10 +338,9 @@ static ADDRESS_MAP_START( sound_map_2, AS_PROGRAM, 8, zaccaria_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static CUSTOM_INPUT( acs_r )
|
||||
CUSTOM_INPUT_MEMBER(zaccaria_state::acs_r)
|
||||
{
|
||||
zaccaria_state *state = field.machine().driver_data<zaccaria_state>();
|
||||
return (state->m_acs & 0x08) ? 1 : 0;
|
||||
return (m_acs & 0x08) ? 1 : 0;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( monymony )
|
||||
@ -449,7 +448,7 @@ static INPUT_PORTS_START( monymony )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(acs_r, NULL) /* "ACS" - from pin 13 of a PIA on the sound board */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, zaccaria_state,acs_r, NULL) /* "ACS" - from pin 13 of a PIA on the sound board */
|
||||
/* other bits come from a protection device */
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
@ -350,26 +350,25 @@ READ8_MEMBER(zaxxon_state::razmataz_counter_r)
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( razmataz_dial_r )
|
||||
CUSTOM_INPUT_MEMBER(zaxxon_state::razmataz_dial_r)
|
||||
{
|
||||
zaxxon_state *state = field.machine().driver_data<zaxxon_state>();
|
||||
static const char *const dialname[2] = { "DIAL0", "DIAL1" };
|
||||
int num = (FPTR)param;
|
||||
int delta, res;
|
||||
|
||||
delta = input_port_read(field.machine(), dialname[num]);
|
||||
delta = input_port_read(machine(), dialname[num]);
|
||||
|
||||
if (delta < 0x80)
|
||||
{
|
||||
// right
|
||||
state->m_razmataz_dial_pos[num] -= delta;
|
||||
res = (state->m_razmataz_dial_pos[num] << 1) | 1;
|
||||
m_razmataz_dial_pos[num] -= delta;
|
||||
res = (m_razmataz_dial_pos[num] << 1) | 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// left
|
||||
state->m_razmataz_dial_pos[num] += delta;
|
||||
res = (state->m_razmataz_dial_pos[num] << 1);
|
||||
m_razmataz_dial_pos[num] += delta;
|
||||
res = (m_razmataz_dial_pos[num] << 1);
|
||||
}
|
||||
|
||||
return res;
|
||||
@ -411,11 +410,10 @@ static INPUT_CHANGED( zaxxon_coin_inserted )
|
||||
}
|
||||
|
||||
|
||||
static CUSTOM_INPUT( zaxxon_coin_r )
|
||||
CUSTOM_INPUT_MEMBER(zaxxon_state::zaxxon_coin_r)
|
||||
{
|
||||
zaxxon_state *state = field.machine().driver_data<zaxxon_state>();
|
||||
|
||||
return state->m_coin_status[(int)(FPTR)param];
|
||||
return m_coin_status[(int)(FPTR)param];
|
||||
}
|
||||
|
||||
|
||||
@ -514,9 +512,9 @@ static INPUT_PORTS_START( zaxxon )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(zaxxon_coin_r, (void *)0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(zaxxon_coin_r, (void *)1)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(zaxxon_coin_r, (void *)2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, zaxxon_state,zaxxon_coin_r, (void *)0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, zaxxon_state,zaxxon_coin_r, (void *)1)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, zaxxon_state,zaxxon_coin_r, (void *)2)
|
||||
|
||||
PORT_START("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED(zaxxon_coin_inserted, (void *)0)
|
||||
@ -675,7 +673,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( razmataz )
|
||||
PORT_START("SW00")
|
||||
PORT_BIT( 0xff, 0x00, IPT_SPECIAL) PORT_CUSTOM(razmataz_dial_r, (void *)0)
|
||||
PORT_BIT( 0xff, 0x00, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, zaxxon_state,razmataz_dial_r, (void *)0)
|
||||
|
||||
PORT_START("DIAL0")
|
||||
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_RESET PORT_PLAYER(1)
|
||||
@ -690,7 +688,7 @@ static INPUT_PORTS_START( razmataz )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("SW08")
|
||||
PORT_BIT( 0xff, 0x00, IPT_SPECIAL) PORT_CUSTOM(razmataz_dial_r, (void *)1)
|
||||
PORT_BIT( 0xff, 0x00, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, zaxxon_state,razmataz_dial_r, (void *)1)
|
||||
|
||||
PORT_START("DIAL1")
|
||||
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_RESET PORT_PLAYER(2)
|
||||
@ -703,9 +701,9 @@ static INPUT_PORTS_START( razmataz )
|
||||
|
||||
PORT_START("SW100")
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(zaxxon_coin_r, (void *)0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(zaxxon_coin_r, (void *)1)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(zaxxon_coin_r, (void *)2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, zaxxon_state,zaxxon_coin_r, (void *)0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, zaxxon_state,zaxxon_coin_r, (void *)1)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, zaxxon_state,zaxxon_coin_r, (void *)2)
|
||||
|
||||
PORT_START("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED(zaxxon_coin_inserted, (void *)0)
|
||||
@ -768,7 +766,7 @@ static INPUT_PORTS_START( ixion )
|
||||
PORT_INCLUDE(zaxxon)
|
||||
|
||||
PORT_MODIFY("SW00")
|
||||
PORT_BIT( 0xff, 0x00, IPT_SPECIAL) PORT_CUSTOM(razmataz_dial_r, (void *)0)
|
||||
PORT_BIT( 0xff, 0x00, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, zaxxon_state,razmataz_dial_r, (void *)0)
|
||||
|
||||
PORT_START("DIAL0")
|
||||
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(15) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_RESET
|
||||
|
@ -32,6 +32,7 @@ public:
|
||||
UINT8 m_screen_red;
|
||||
|
||||
device_t *m_speaker;
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(sflush_80_r);
|
||||
};
|
||||
|
||||
|
||||
|
@ -38,6 +38,7 @@ public:
|
||||
DECLARE_READ16_MEMBER(unk_r);
|
||||
DECLARE_READ16_MEMBER(artmagic_blitter_r);
|
||||
DECLARE_WRITE16_MEMBER(artmagic_blitter_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(prot_r);
|
||||
};
|
||||
|
||||
|
||||
|
@ -23,6 +23,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(asteroid_bank_switch_w);
|
||||
DECLARE_WRITE8_MEMBER(astdelux_bank_switch_w);
|
||||
DECLARE_WRITE8_MEMBER(astdelux_led_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(clock_r);
|
||||
};
|
||||
|
||||
|
||||
|
@ -100,6 +100,8 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(profpac_screenram_ctrl_w);
|
||||
DECLARE_READ8_MEMBER(profpac_videoram_r);
|
||||
DECLARE_WRITE8_MEMBER(profpac_videoram_w);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(ebases_trackball_r);
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(demndragn_joystick_r);
|
||||
};
|
||||
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user