68k, some fixes for musashi
authorkub <derkub@gmail.com>
Sun, 10 Mar 2024 01:26:06 +0000 (01:26 +0000)
committerkub <derkub@gmail.com>
Sun, 10 Mar 2024 01:26:06 +0000 (01:26 +0000)
cpu/cyclone
cpu/musashi/m68kcpu.c
cpu/musashi/m68kcpu.h
pico/pico_int.h
platform/common/common.mak

index ee45bb2..3ac7cf1 160000 (submodule)
@@ -1 +1 @@
-Subproject commit ee45bb2b10b3abf10a4335ea24fc029e3f61c10a
+Subproject commit 3ac7cf1bdeecb60e2414980e8dc72ff092f69769
index d729f2c..1415d0d 100644 (file)
@@ -787,12 +787,12 @@ void m68k_set_cpu_type(unsigned int cpu_type)
 /* ASG: removed per-instruction interrupt checks */\r
 int m68k_execute(int num_cycles)\r
 {\r
+       // notaz\r
+       m68ki_check_interrupts();\r
+\r
        /* Make sure we're not stopped */\r
        if(!CPU_STOPPED)\r
        {\r
-               // notaz\r
-               m68ki_check_interrupts();\r
-\r
                /* Set our pool of clock cycles available */\r
                SET_CYCLES(num_cycles);\r
                m68ki_initial_cycles = num_cycles;\r
index 6ab0ba0..3b40765 100644 (file)
@@ -71,8 +71,12 @@ typedef uint8_t  UINT8;
 #define uint32 unsigned int                    /* AWJ: changed from long to int */\r
 \r
 /* signed and unsigned int must be at least 32 bits wide */\r
-#define sint   signed   int\r
-#define uint   unsigned int\r
+//#define sint   signed   int\r
+//#define uint   unsigned int\r
+#define sint _sint\r
+#define uint _uint\r
+typedef signed int sint;\r
+typedef unsigned int uint;\r
 \r
 \r
 #if M68K_USE_64_BIT\r
@@ -1537,7 +1541,7 @@ INLINE void m68ki_set_sr_noint_nosp(uint value)
 INLINE void m68ki_set_sr(uint value)\r
 {\r
        m68ki_set_sr_noint(value);\r
-       if (GET_CYCLES() >= 0) // notaz\r
+       if (GET_CYCLES() > 0) // notaz\r
                m68ki_check_interrupts();\r
 }\r
 \r
index 80c00fb..5535e14 100644 (file)
@@ -91,6 +91,9 @@ extern M68K_CONTEXT PicoCpuFM68k, PicoCpuFS68k;
 \r
 #ifdef EMU_M68K\r
 #include <cpu/musashi/m68kcpu.h>\r
+#undef INLINE\r
+#undef USE_CYCLES\r
+#undef ADD_CYCLES\r
 extern m68ki_cpu_core PicoCpuMM68k, PicoCpuMS68k;\r
 #ifndef SekCyclesLeft\r
 #define SekCyclesLeft     PicoCpuMM68k.cyc_remaining_cycles\r
index 550de72..3605312 100644 (file)
@@ -207,6 +207,7 @@ $(FR)cpu/cyclone/Cyclone.s: $(FR)cpu/cyclone/*.cpp $(FR)cpu/cyclone/*.h
 
 $(FR)cpu/musashi/m68kops.c:
        @make -C $(R)cpu/musashi
+$(FR)cpu/musashi/m68kcpu.c: $(FR)cpu/musashi/m68kops.c
 
 deps_set = yes
 endif # deps_set