public Nes() { PpuRam = new PpuMemoryMap(); Ppu = new Ppu(PpuRam, Screen); Ram = new MemoryMap(Ppu); Cpu = new Cpu(Ram, programCounter: InitialProgramCounter, stackPointer: InitialStackPointer); var cpuSpeed = 21.477272 / 12; CpuCycleDurationMilliseconds = 1.0f / cpuSpeed; }
public Ppu(PpuMemoryMap ram, Bitmap screen) { Ram = ram; Screen = screen; // Initialise with a nice rainbow screen. for (var x = 0; x < 256; x++) { for (var y = 0; y < 240; y++) { Screen.SetPixel(x, y, Color.FromArgb(x, y, 128)); } } }