public void Reset() { var wasTurnedOn = _turnedOn; _turnedOn = false; Wait(); Cpu.Reset(); Mmu.Reset(); Gpu.Reset(); // Draw blank frame buffer OnDrawScreen?.Invoke(this, new DrawScreenEventArgs(Gpu.FrameBuffer)); _paused = false; if (wasTurnedOn) { PowerOn(); } }
public static Console Default() { var mmu = new Mmu(); var cpu = new Cpu(mmu); var gpu = new Gpu(mmu); var timer = new Timer(mmu); var controller = new Controller(mmu); return new Console(cpu, mmu, gpu, timer, controller); }