//protected override void OnShown(EventArgs e) //{ // z80.ResetEventHandler -= Z80_ResetEventHandler; // z80.BeforeExecuteEventHandler -= Z80_BeforeExecuteEventHandler; // z80.AfterExecuteEventHandler -= Z80_AfterExecuteEventHandler; // z80.ResetEventHandler += Z80_ResetEventHandler; // z80.BeforeExecuteEventHandler += Z80_BeforeExecuteEventHandler; // z80.AfterExecuteEventHandler += Z80_AfterExecuteEventHandler; // ShowListing(); // base.OnShown(e); //} private void ScintillaZ80Monitor1_BreakpointsChanged(object sender, BreakpointsChangedEventArgs e) { ScintillaZ80Monitor MonitorWindow = sender as ScintillaZ80Monitor; int pc = MonitorWindow.LastBeakpointAddress; if (Disassembler.SourceLines[pc].Text == null) { e.SourceChanged = true; if (addresses == null) { addresses = new List <int>(); } addresses.Add(pc); Disassembler.Disassemble(z80.Memory); Disassembler.Disassemble(0, addresses, 0, 65535, z80.Memory, true, true, true); //MonitorWindow.ReadOnly = false; MonitorWindow.ForceText = Disassembler.Listing.ToString(); //MonitorWindow.ReadOnly = true; } else if (MonitorWindow.Text.Length == 0) { MonitorWindow.ForceText = Disassembler.Listing.ToString(); } breakpoints = MonitorWindow.Breakpoints; toolStripButton6.Text = "Clear Breakpoints"; toolStripButton6.Enabled = scintillaZ80Monitor1.CheckBreakpoints(); toolStripButton6.Visible = false; toolStripButton6.Visible = true; }
internal static bool Assemble(ScintillaZ80Monitor sourceDocument, string source) { currentFileName = sourceDocument.FileName; AssemblyStart?.Invoke(null, new AsseblyStartEventArgs()); EntryPoint = -1; SymbolTable.Reset(currentFileName); //LogError(currentFileName, null,"Begin compilation",-1); PassNo = 1; Cancelled = false; bool success = Pass(PassNo, source); if (success) { PassNo = 2; success = Pass(PassNo, source); } if (EntryPoint == -1) { success = false; LogError(currentFileName, null, "No Entry point set ", -1); } if (success) { LogError(currentFileName, null, "Compilation successful", -1); } else { LogError(currentFileName, null, "Compilation failed, Pass " + PassNo.ToString(), -1); } OnAssemblyComplete(null, new AsseblyCompleteEventArgs(success)); return(success); }