about summary refs log tree commit diff stats
path: root/src/emu/x64int3.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/x64int3.c')
-rw-r--r--src/emu/x64int3.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/emu/x64int3.c b/src/emu/x64int3.c
index dd1b439c..b0f452a2 100644
--- a/src/emu/x64int3.c
+++ b/src/emu/x64int3.c
@@ -88,6 +88,10 @@ static uint8_t Peek8(uintptr_t addr, uintptr_t offset)
 
 void x64Int3(x64emu_t* emu, uintptr_t* addr)
 {
+    if(box64_is32bits) {
+        x86Int3(emu,addr);
+        return;
+    }
     onebridge_t* bridge = (onebridge_t*)(*addr-1);
     if(Peek8(*addr, 0)=='S' && Peek8(*addr, 1)=='C') // Signature for "Out of x86 door"
     {
@@ -393,4 +397,12 @@ void print_cycle_log(int loglevel) {
             }
         }
     }
-}
\ No newline at end of file
+}
+
+#ifndef BOX32
+void x86Int3(x64emu_t* emu, uintptr_t* addr)
+{
+    printf_log(LOG_NONE, "Error: Calling 32bits wrapped function without box32 support built in\n");
+    abort();
+}
+#endif
\ No newline at end of file