Old system has the Emulator object calling the run functions on CPUs manually. This PR has the scheduler manage the CPUs - this will make timing events easier, and it offers a slight optimization as the scheduler can just not run CPUs that are halted.
Old system has the Emulator object calling the run functions on CPUs manually. This PR has the scheduler manage the CPUs - this will make timing events easier, and it offers a slight optimization as the scheduler can just not run CPUs that are halted.