68k, minor debug fix for fame
authorkub <derkub@gmail.com>
Sat, 15 Jun 2024 09:25:42 +0000 (09:25 +0000)
committerkub <derkub@gmail.com>
Sat, 15 Jun 2024 10:15:19 +0000 (10:15 +0000)
cpu/fame/famec.c

index 18839c7..b0ee0f0 100644 (file)
 #define ROR_33(A, C)    (LSR_32(A, C) | LSL_32(A, 33-(C)))\r
 \r
 #ifndef FAMEC_NO_GOTOS\r
-#define NEXT do {               \\r
+#define NEXT {               \\r
     FETCH_WORD(Opcode);         \\r
     goto *JumpTable[Opcode];    \\r
 }\r
@@ -799,6 +799,8 @@ int fm68k_emulate(M68K_CONTEXT *ctx, int cycles, fm68k_call_reason reason)
        case fm68k_reason_emulate:\r
                break;\r
        }\r
+       PC = ctx->PC;\r
+       BasePC = ctx->BasePC;\r
 #endif // FAMEC_NO_GOTOS\r
 \r
        // won't emulate double fault\r
@@ -932,6 +934,10 @@ famec_Exec:
 famec_End:\r
        ctx->sr = GET_SR;\r
        ctx->pc = GET_PC;\r
+#ifndef FAMEC_NO_GOTOS\r
+       ctx->PC = PC;\r
+       ctx->BasePC = BasePC;\r
+#endif\r
 \r
        ctx->execinfo &= ~M68K_RUNNING;\r
 \r