示例#1
0
// 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
}
示例#2
0
//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);
}