From 35c9b5330960ddcd50544a1f3fb03b8971ade1d3 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Wed, 14 Aug 2002 22:13:31 +0000 Subject: [PATCH] Extra empty buffer test. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@151 --- src/hardware/keyboard.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/hardware/keyboard.cpp b/src/hardware/keyboard.cpp index f29cc65e..cc9c85b3 100644 --- a/src/hardware/keyboard.cpp +++ b/src/hardware/keyboard.cpp @@ -63,10 +63,12 @@ static Bit8u read_p61(Bit32u port) { static void write_p61(Bit32u port,Bit8u val) { //TODO Enable spreaker through here :) if ((val&128)) { /* Keyboard acknowledge */ - kbuf_used--; - kbuf_pos++; - if (kbuf_pos>=KEYBUFSIZE) kbuf_pos=0; - if (kbuf_used>0) PIC_ActivateIRQ(1); + if (kbuf_used) { + kbuf_used--; + kbuf_pos++; + if (kbuf_pos>=KEYBUFSIZE) kbuf_pos=0; + if (kbuf_used) PIC_ActivateIRQ(1); + } } port_61_data=val; if ((val & 3)==3) {