summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess
diff options
context:
space:
mode:
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
commit2a7c3c168bbe18cfbe8ecf07192c2046e516baf7 (patch)
tree8d8e25a2de83fc7f1077d3cd52b34594cc6b9553 /src/mess
parentde0501d4599635c1fd37343595ed9986a5dbfa86 (diff)
(MESS) apple3: Preliminary reset key handling. [R. Belmont]
Diffstat (limited to 'src/mess')
-rw-r--r--src/mess/machine/apple3.c19
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)