// Run the z80 cpu for Cycles more cycles static INLINE void CpuRun(int Cycles) { int Done=0; CyclesLeft+=Cycles; CpuBase=CyclesLeft; #ifdef EMU_DOZE DozeRun(); #elif defined(EMU_Z80JB) Z80Execute(CpuBase); #elif defined(EMU_DRZ80) DrZ80Run(&drz80,Cycles); #endif Done=CpuMid(); // Find out number of cycles actually done CpuBase=CyclesLeft; // Reset CpuBase, so CpuMid() will return 0 FrameCyc+=Done; // Add cycles done to frame total VgmCycleDone(Done); // Add cycles done to VGM total }
//example of how to run DrZ80 static RunCPUExample() { // Simple call DrZ80Run, passing the address of the drz80 context and the number of cycles you want to run DrZ80Run(&drz80, 100); }