diff options
author | Aaron Giles <aaron@aarongiles.com> | 2008-02-28 05:48:21 +0000 |
---|---|---|
committer | Aaron Giles <aaron@aarongiles.com> | 2008-02-28 05:48:21 +0000 |
commit | 4741ad3a7e46eb169fa714a4b62814651878053c (patch) | |
tree | 372e5e64964e772cf36df9c03ee900c5d8e0c01f | |
parent | 061ea91358fb5594aa316664fe242f6e7ce7d6db (diff) |
From: Robert [mailto:pac0446@bigpond.net.au]
Subject: A fix for the z80pio
Hi there,
Here is a one-line fix for the z80pio.
At the moment when the interrupt control word is sent (with interrupts
enabled), an interrupt occurs. In reality, interrupts are disabled until
the interrupt mask byte is sent.
-rw-r--r-- | src/emu/machine/z80pio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/emu/machine/z80pio.c b/src/emu/machine/z80pio.c index 1a74dbac07d..ab9f43ba65a 100644 --- a/src/emu/machine/z80pio.c +++ b/src/emu/machine/z80pio.c @@ -109,7 +109,7 @@ static void update_irq_state(z80pio *pio, int ch) int old_state = pio->int_state[ch]; int irq = 0; int data; - if (pio->mode[ch] == 0x13) return; + if (pio->mode[ch] == 0x13 || (pio->enable[ch] & PIO_INT_MASK)) return; /* only check if interrupts are enabled */ if (pio->enable[ch] & PIO_INT_ENABLE) |