summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/vg5k.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/vg5k.cpp')
-rw-r--r--src/mame/drivers/vg5k.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mame/drivers/vg5k.cpp b/src/mame/drivers/vg5k.cpp
index 4ec747f2831..9aa760e8c35 100644
--- a/src/mame/drivers/vg5k.cpp
+++ b/src/mame/drivers/vg5k.cpp
@@ -82,6 +82,8 @@ public:
void init_vg5k();
+ DECLARE_INPUT_CHANGED_MEMBER(delta_button);
+
private:
required_device<z80_device> m_maincpu;
required_device<ef9345_device> m_ef9345;
@@ -306,6 +308,8 @@ static INPUT_PORTS_START( vg5k )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START("direct")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_END) PORT_NAME("DELTA") PORT_CHANGED_MEMBER(DEVICE_SELF, vg5k_state, delta_button, 0)
INPUT_PORTS_END
@@ -327,6 +331,14 @@ TIMER_DEVICE_CALLBACK_MEMBER(vg5k_state::vg5k_scanline)
m_ef9345->update_scanline((uint16_t)param);
}
+INPUT_CHANGED_MEMBER(vg5k_state::delta_button)
+{
+ // The yellow Delta key on the keyboard is wired so that it asserts directly the NMI line of the Z80.
+ if (!newval) {
+ m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
+ }
+}
+
void vg5k_state::machine_start()
{
@@ -338,6 +350,7 @@ void vg5k_state::machine_reset()
m_ef9345_offset = 0;
}
+
/* F4 Character Displayer */
static const gfx_layout vg5k_charlayout =
{