From: Alan Cox Date: Wed, 16 May 2018 21:22:18 +0000 (+0100) Subject: trs80: fix IRQ handling logic X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=bd58a55eb6a3f3930d7ac75e08fa005bc461eebe;p=FUZIX.git trs80: fix IRQ handling logic --- diff --git a/Kernel/platform-trs80/main.c b/Kernel/platform-trs80/main.c index 013dd1d5..19799b8e 100644 --- a/Kernel/platform-trs80/main.c +++ b/Kernel/platform-trs80/main.c @@ -33,13 +33,15 @@ uint8_t platform_param(char *p) void platform_interrupt(void) { - uint8_t irq = irqstat; + uint8_t irq = ~irqstat; + uint8_t dummy; if (irq & 0x20) tty_interrupt(); - if (!(irq & 0x80)) - return; - kbd_interrupt(); - timer_interrupt(); + if (irq & 0x04) { + kbd_interrupt(); + timer_interrupt(); + dummy = irqack; + } } /*