summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pc1512.cpp
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2016-09-02 13:33:03 +0300
committer Curt Coder <curtcoder@mail.com>2016-09-02 13:33:03 +0300
commitb96e5b1bddd910225e3414f96cfe0941b600d00e (patch)
tree270b303e68fe56a0945e8faf66ff49f89d4a4b85 /src/mame/drivers/pc1512.cpp
parent992ce0071e678994b34fd744cf4ae84d8820c54d (diff)
pc1512: Fixed keyboard reset behavior. [Curt Coder]
Diffstat (limited to 'src/mame/drivers/pc1512.cpp')
-rw-r--r--src/mame/drivers/pc1512.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/mame/drivers/pc1512.cpp b/src/mame/drivers/pc1512.cpp
index 598bd2b6aa7..968fee06f0b 100644
--- a/src/mame/drivers/pc1512.cpp
+++ b/src/mame/drivers/pc1512.cpp
@@ -200,6 +200,13 @@ WRITE8_MEMBER( pc1512_state::system_w )
update_speaker();
m_kb->clock_w(BIT(data, 6));
+
+ if (BIT(data, 7))
+ {
+ m_kb_bits = 0;
+ m_kb->data_w(1);
+ m_pic->ir1_w(CLEAR_LINE);
+ }
break;
case 4:
@@ -1134,7 +1141,6 @@ void pc1512_state::machine_reset()
{
m_nmi_enable = 0;
m_toggle = 0;
- m_kb_bits = 0;
m_pit2 = 1;
m_lpen = 0;
@@ -1147,7 +1153,9 @@ void pc1512_state::machine_reset()
m_vdu_plane = 0x0f;
m_vdu_border = 0;
- m_kb->clock_w(0);
+ m_kb_bits = 0;
+ m_kb->data_w(1);
+ m_pic->ir1_w(CLEAR_LINE);
}
@@ -1193,8 +1201,10 @@ void pc1640_state::machine_start()
void pc1640_state::machine_reset()
{
m_nmi_enable = 0;
+
m_kb_bits = 0;
- m_kb->clock_w(0);
+ m_kb->data_w(1);
+ m_pic->ir1_w(CLEAR_LINE);
}