-static __inline void SekRunM68k(int cyc)\r
-{\r
- int cyc_do;\r
- SekCycleAim+=cyc;\r
- if ((cyc_do=SekCycleAim-SekCycleCnt) <= 0) return;\r
-#if defined(EMU_CORE_DEBUG)\r
- // this means we do run-compare\r
- SekCycleCnt+=CM_compareRun(cyc_do, 0);\r
-#elif defined(EMU_C68K)\r
- PicoCpuCM68k.cycles=cyc_do;\r
- CycloneRun(&PicoCpuCM68k);\r
- SekCycleCnt+=cyc_do-PicoCpuCM68k.cycles;\r
-#elif defined(EMU_M68K)\r
- SekCycleCnt+=m68k_execute(cyc_do);\r
-#elif defined(EMU_F68K)\r
- SekCycleCnt+=fm68k_emulate(cyc_do+1, 0, 0);\r
-#endif\r
-}\r
-\r
-\r
-// to be called on 224 or line_sample scanlines only\r
-static __inline void getSamples(int y)\r
-{\r
-#if SIMPLE_WRITE_SOUND\r
- if (y != 224) return;\r
- PsndRender(0, PsndLen);\r
- if (PicoWriteSound) PicoWriteSound(PsndLen);\r
- PsndClear();\r
-#else\r
- static int curr_pos = 0;\r
-\r
- if(y == 224) {\r
- if(emustatus & 2)\r
- curr_pos += PsndRender(curr_pos, PsndLen-PsndLen/2);\r
- else curr_pos = PsndRender(0, PsndLen);\r
- if (emustatus&1) emustatus|=2; else emustatus&=~2;\r
- if (PicoWriteSound) PicoWriteSound(curr_pos);\r
- // clear sound buffer\r
- PsndClear();\r
- }\r
- else if(emustatus & 3) {\r
- emustatus|= 2;\r
- emustatus&=~1;\r
- curr_pos = PsndRender(0, PsndLen/2);\r
- }\r
-#endif\r
-}\r
-\r