summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-12-31 02:36:09 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-12-31 02:36:09 +0000
commit200345b6da33ff8428f0ede0fa50e2c342aa9e60 (patch)
tree85dba69d4d56c23c947082025a8dc6f59ecaeebb /src/emu/cpu
parenta08644c8ffabcd996214cda0c1e74ef3fdf44fe3 (diff)
02714: 3stooges: Speech works for a while, then starts going in and out of horrible noise and static
Interim fix, waiting until 0.129 is done before trying to sort out IRQ handling for real.
Diffstat (limited to 'src/emu/cpu')
-rw-r--r--src/emu/cpu/m6502/ops02.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/emu/cpu/m6502/ops02.h b/src/emu/cpu/m6502/ops02.h
index 22d17388c2e..1e7970ff988 100644
--- a/src/emu/cpu/m6502/ops02.h
+++ b/src/emu/cpu/m6502/ops02.h
@@ -71,6 +71,7 @@
* RDOP read an opcode
***************************************************************/
#define RDOP() memory_decrypted_read_byte(cpustate->space, PCW++); cpustate->icount -= 1
+#define PEEKOP() memory_decrypted_read_byte(cpustate->space, PCW)
/***************************************************************
* RDOPARG read an opcode argument
@@ -435,7 +436,9 @@
***************************************************************/
#define CLI \
if ((cpustate->irq_state != CLEAR_LINE) && (P & F_I)) { \
- cpustate->after_cli = 1; \
+ /* kludge for now until IRQ rewrite: ignore if RTI follows */ \
+ if (PEEKOP() != 0x40) \
+ cpustate->after_cli = 1; \
} \
P &= ~F_I