diff options
Diffstat (limited to 'src/devices/bus/nes_ctrl/joypad.cpp')
-rw-r--r-- | src/devices/bus/nes_ctrl/joypad.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/devices/bus/nes_ctrl/joypad.cpp b/src/devices/bus/nes_ctrl/joypad.cpp index 08849bb0af5..f8ae2c30e95 100644 --- a/src/devices/bus/nes_ctrl/joypad.cpp +++ b/src/devices/bus/nes_ctrl/joypad.cpp @@ -39,7 +39,8 @@ DEFINE_DEVICE_TYPE(NES_FCPAD_P2, nes_fcpad2_device, "nes_fcpad2", "Ninten DEFINE_DEVICE_TYPE(NES_CCPAD_LEFT, nes_ccpadl_device, "nes_ccpadl", "FC Crazy Climber Left Pad") DEFINE_DEVICE_TYPE(NES_CCPAD_RIGHT, nes_ccpadr_device, "nes_ccpadr", "FC Crazy Climber Right Pad") DEFINE_DEVICE_TYPE(NES_ARCSTICK, nes_arcstick_device, "nes_arcstick", "Nintendo Family Computer Arcade Stick") - +// for the standalone TV Plug and Play +DEFINE_DEVICE_TYPE(NES_VT_MAJESCO_DDR, nes_vt_majesco_ddr_device, "nes_ddr", "Majesco DDR Pad") static INPUT_PORTS_START( nes_joypad ) PORT_START("JOYPAD") @@ -77,6 +78,18 @@ static INPUT_PORTS_START( nes_ccpad_left ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY INPUT_PORTS_END +static INPUT_PORTS_START( nes_ddr ) + PORT_START("JOYPAD") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Up Arrow") // these can't be treated as a joystick as opposing directions are often required + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Down Arrow") + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Left Arrow") + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Right Arrow") +INPUT_PORTS_END + static INPUT_PORTS_START( nes_ccpad_right ) PORT_START("JOYPAD") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) @@ -142,6 +155,10 @@ ioport_constructor nes_arcstick_device::device_input_ports() const return INPUT_PORTS_NAME( nes_arcstick ); } +ioport_constructor nes_vt_majesco_ddr_device::device_input_ports() const +{ + return INPUT_PORTS_NAME( nes_ddr ); +} static void arcstick_daisy(device_slot_interface &device) @@ -196,6 +213,11 @@ nes_ccpadr_device::nes_ccpadr_device(const machine_config &mconfig, const char * { } +nes_vt_majesco_ddr_device::nes_vt_majesco_ddr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + nes_joypad_device(mconfig, NES_VT_MAJESCO_DDR, tag, owner, clock) +{ +} + nes_arcstick_device::nes_arcstick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : nes_joypad_device(mconfig, NES_ARCSTICK, tag, owner, clock), m_daisychain(*this, "subexp"), |