private void CmDissassembly_MouseClick(object sender, MouseEventArgs e) { int pc = LineToAddress[mouseOnLine]; executeing = true; while (pc != GameState.CPU.PC && executeing) { cycles += GameState.CPU.Execute(); if (cycles >= PPU.CyclesPerLine) { PPU.RenderLine(); if (PPU.Scanline == 241 && PPU.VblankNMIEnabled) { GameState.CPU.NMI(); } cycles = 0; } } executeing = false; Step(); }
private void RunOneLine() { while (cycles < PPU.CyclesPerLine) { cycles += GameState.CPU.Execute(); } if (PPU.Scanline == 241 && PPU.VblankNMIEnabled) { GameState.CPU.NMI(); } cycles = 0; PPU.RenderLine(); }
private void BtnStep_Click(object sender, EventArgs e) { cycles += GameState.CPU.Execute(); if (cycles >= PPU.CyclesPerLine) { PPU.RenderLine(); if (PPU.Scanline == 241 && PPU.VblankNMIEnabled) { GameState.CPU.NMI(); } cycles = 0; } Step(); }