diff options
author | R. Belmont <rb6502@users.noreply.github.com> | 2014-05-11 21:23:30 +0000 |
---|---|---|
committer | R. Belmont <rb6502@users.noreply.github.com> | 2014-05-11 21:23:30 +0000 |
commit | 2a7c3c168bbe18cfbe8ecf07192c2046e516baf7 (patch) | |
tree | 8d8e25a2de83fc7f1077d3cd52b34594cc6b9553 /src/mess | |
parent | de0501d4599635c1fd37343595ed9986a5dbfa86 (diff) |
(MESS) apple3: Preliminary reset key handling. [R. Belmont]
Diffstat (limited to 'src/mess')
-rw-r--r-- | src/mess/machine/apple3.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mess/machine/apple3.c b/src/mess/machine/apple3.c index 2637e632045..dd3b564ae9a 100644 --- a/src/mess/machine/apple3.c +++ b/src/mess/machine/apple3.c @@ -412,6 +412,25 @@ TIMER_DEVICE_CALLBACK_MEMBER(apple3_state::apple3_interrupt) { m_via_1->write_cb1(machine().first_screen()->vblank()); m_via_1->write_cb2(machine().first_screen()->vblank()); + + // check reset + if (m_kbspecial->read() & 0x80) // reset is pressed + { + // control-reset? + if (m_kbspecial->read() & 0x08) + { + m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); + m_maincpu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE); + } + else // plain reset is an NMI, if it's allowed + { + if (m_via_0_a & ENV_NMIENABLE) + { + m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); + m_maincpu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE); + } + } + } } UINT8 *apple3_state::apple3_bankaddr(UINT16 bank, offs_t offset) |