526c526,528
< CP0Event *cp0_event = new CP0Event(this, cpu, UpdateCP0);
---
> auto cp0_event = new EventFunctionWrapper(
> [this, cpu]{ processCP0Event(cpu, UpdateCP0); },
> "Coprocessor-0 event", true, Event::CPU_Tick_Pri);
560,563d561
< ISA::CP0Event::CP0Event(CP0 *_cp0, BaseCPU *_cpu, CP0EventType e_type)
< : Event(CPU_Tick_Pri), cp0(_cp0), cpu(_cpu), cp0EventType(e_type)
< { }
<
565c563
< ISA::CP0Event::process()
---
> ISA::processCP0Event(BaseCPU *cpu, CP0EventType cp0EventType)
570c568
< cp0->updateCPU(cpu);
---
> updateCPU(cpu);
575,578d572
< const char *
< ISA::CP0Event::description() const
< {
< return "Coprocessor-0 event";
581,595d574
< void
< ISA::CP0Event::scheduleEvent(Cycles delay)
< {
< cpu->reschedule(this, cpu->clockEdge(delay), true);
< }
<
< void
< ISA::CP0Event::unscheduleEvent()
< {
< if (scheduled())
< squash();
< }
<
< }
<