summaryrefslogtreecommitdiff
path: root/plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i')
-rw-r--r--plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i9
1 files changed, 7 insertions, 2 deletions
diff --git a/plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i b/plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i
index 78d57ba6..22794e0f 100644
--- a/plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i
+++ b/plugins/sid/sidplay-libs/libsidplay/src/mos6510/cycle_based/mos6510c.i
@@ -168,10 +168,15 @@ const char _sidtune_CHRtab[256] = // CHR$ conversion table (0x01 = no output)
#define getFlagZ() (Register_z_Flag == 0)
#define getFlagC() (Register_c_Flag != 0)
+// c++ exception version
+//#define stealCycle() \
+// interrupts.delay++; \
+// throw((int_least8_t) -1);
+
+// longjmp version
#define stealCycle() \
interrupts.delay++; \
- throw((int_least8_t) -1);
-
+ longjmp (jmp_env, -1);
// Handle bus access signals
void MOS6510::aecSignal (bool state)