int HUC6280::run(int clock) { h6280_Regs *cpustate = (h6280_Regs *)opaque; if(clock == -1) { if(busreq) { // don't run cpu! return 1; } else { // run only one opcode return CPU_EXECUTE_CALL(h6280); } } else { icount += clock; int first_icount = icount; // run cpu while given clocks while(icount > 0 && !busreq) { icount -= CPU_EXECUTE_CALL(h6280); } // if busreq is raised, spin cpu while remained clock if(icount > 0 && busreq) { icount = 0; } return first_icount - icount; } }
int HUC6280::run(int icount) { h6280_Regs *cpustate = (h6280_Regs *)opaque; return CPU_EXECUTE_CALL(h6280); }
int I386::run(int cycles) { i386_state *cpustate = (i386_state *)opaque; return CPU_EXECUTE_CALL(i386); }