Exemple #1
0
        //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;
        }
Exemple #2
0
        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);
        }