diff options
author | 2008-12-31 02:36:09 +0000 | |
---|---|---|
committer | 2008-12-31 02:36:09 +0000 | |
commit | 200345b6da33ff8428f0ede0fa50e2c342aa9e60 (patch) | |
tree | 85dba69d4d56c23c947082025a8dc6f59ecaeebb /src/emu/cpu | |
parent | a08644c8ffabcd996214cda0c1e74ef3fdf44fe3 (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.h | 5 |
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 |