Exemple #1
0
 private void cpuComboBox_SelectedIndexChanged(object sender, EventArgs e)
 {
     CpuDef.CpuType cpuType = CpuSelectionToCpuType(cpuComboBox.SelectedIndex);
     if (WorkProps.CpuType != cpuType)
     {
         WorkProps.CpuType = cpuType;
         mDirty            = true;
         UpdateControls();
     }
 }
Exemple #2
0
        public void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // Restore chart mode setting.
            CpuDef.CpuType type = (CpuDef.CpuType)AppSettings.Global.GetEnum(
                AppSettings.ASCCH_MODE, typeof(CpuDef.CpuType), (int)CpuDef.CpuType.Cpu6502);
            int index = 0;

            for (int i = 0; i < CpuItems.Length; i++)
            {
                if (CpuItems[i].Type == type)
                {
                    index = i;
                    break;
                }
            }
            cpuSelectionComboBox.SelectedIndex = index;
        }
Exemple #3
0
        public void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // Restore chart settings.
            CpuDef.CpuType type = (CpuDef.CpuType)AppSettings.Global.GetEnum(
                AppSettings.INSTCH_MODE, typeof(CpuDef.CpuType), (int)CpuDef.CpuType.Cpu6502);
            ShowUndocumented = AppSettings.Global.GetBool(AppSettings.INSTCH_SHOW_UNDOC, true);

            int index = 0;

            for (int i = 0; i < CpuItems.Length; i++)
            {
                if (CpuItems[i].Type == type)
                {
                    index = i;
                    break;
                }
            }
            cpuSelectionComboBox.SelectedIndex = index;
        }
Exemple #4
0
 public CpuItem(string name, CpuDef.CpuType type)
 {
     Name = name;
     Type = type;
 }
Exemple #5
0
        private DisasmProject InstantiateProject(string dataPathName,
                                                 out FileLoadReport projectLoadReport)
        {
            DisasmProject project = new DisasmProject();

            // always use AppDomain sandbox

            projectLoadReport = null;

            int testNum = GetTestNum(dataPathName);

            CpuDef.CpuType cpuType = GetCpuTypeFromNum(testNum);

            if (testNum < 20000)
            {
                // create new disasm project for data file
                byte[] fileData;
                try {
                    fileData = LoadDataFile(dataPathName);
                } catch (Exception ex) {
                    ReportErrMsg(ex.Message);
                    return(null);
                }

                project.Initialize(fileData.Length);
                project.ProjectProps.CpuType = cpuType;
                project.ProjectProps.IncludeUndocumentedInstr = true;
                project.ProjectProps.TwoByteBrk = false;
                project.UpdateCpuDef();
                project.PrepForNew(fileData, Path.GetFileName(dataPathName));
                // no platform symbols to load
            }
            else
            {
                // deserialize project file, failing if we can't find it
                string projectPathName = dataPathName + ProjectFile.FILENAME_EXT;
                if (!ProjectFile.DeserializeFromFile(projectPathName,
                                                     project, out projectLoadReport))
                {
                    ReportErrMsg(projectLoadReport.Format());
                    return(null);
                }

                byte[] fileData;
                try {
                    fileData = LoadDataFile(dataPathName);
                } catch (Exception ex) {
                    ReportErrMsg(ex.Message);
                    return(null);
                }

                FileLoadReport unused = new FileLoadReport("test");
                project.SetFileData(fileData, Path.GetFileName(dataPathName), ref unused);
                project.ProjectPathName = projectPathName;
                string extMsgs = project.LoadExternalFiles();
                if (!string.IsNullOrEmpty(extMsgs))
                {
                    ReportErrMsg(extMsgs);
                    // keep going
                }

                if (project.ProjectProps.CpuType != cpuType)
                {
                    ReportErrMsg("Mismatch CPU type for test " + testNum + ": project wants " +
                                 project.ProjectProps.CpuType);
                    // keep going
                }
            }

            TaskTimer genTimer = new TaskTimer();
            DebugLog  genLog   = new DebugLog();

            genLog.SetMinPriority(DebugLog.Priority.Silent);
            project.Analyze(UndoableChange.ReanalysisScope.CodeAndData, genLog, genTimer);

            return(project);
        }