Example #1
0
        public MainWindow()
        {
            InitializeComponent();
            //install the error callback before we do anything in case something connects to VICE
            VICECOMManager vcom = VICECOMManager.getVICEComManager();

            vcom.setErrorCallback(new VICECOMManager.OneArgDelegate(SetSourceView), this.Dispatcher);
            vcom.setVICEmsgCallback(new VICECOMManager.OneArgDelegate(GotMsgFromVice));
            m_registerSet = new RegisterSet6510();
            m_memDump     = new C64MemDump();
            m_memDump.SetRegisterSet(m_registerSet);

            //this must be BEFORE we parse the PDB Data
            mAssertList = new ObservableCollection <AssertDataSource>();
            string[] commandLineArgs = Environment.GetCommandLineArgs();
            if (commandLineArgs.Length == 1)
            {
                m_readerAndDispaly = new AcmePDBRandD();
                //System.Environment.Exit(1);
            }
            else if (commandLineArgs[1].EndsWith(".json"))
            {
                m_readerAndDispaly = new FunctionJSONRAndD();
            }
            else
            {
                m_readerAndDispaly = new AcmePDBRandD();
            }
            m_readerAndDispaly.SetCodeWindowControl(mTextBox);
            m_readerAndDispaly.SetLabelsWindowControl(mLabelsBox);
            m_readerAndDispaly.SetRegisterSet(m_registerSet);
            m_readerAndDispaly.SetMemDump(m_memDump);

            mBreakPoints = new List <BreakPointDataSource>();
            mBreakPointDisplay.ItemsSource = mBreakPoints;

            VICIIRenderer.initRenderer(); //load charsets


            m_readerAndDispaly.CreatePDBFromARGS(commandLineArgs, this);

            //			mCommands.Add("r");
            //			mCommands.Add("m 0000 ffff");
            //			mCommands.Add("x");
            //			mCommands.Add("!s");
            //			mCommands.Add("!sm");

            dispatchCommand("!breaklist");

            HandleCodeView();

            /*AssertDataSource AD = new AssertDataSource();
             * AD.Enable = true;
             * AD.Address = 0x810;
             * AD.Label = "Test";
             * AD.Condition = "@io:$d020 != $00";
             * AD.Msg = "This is a test";
             * AD.Number = 1;
             * mAssertList.Add(AD);*/

            AssertDataGrid.ItemsSource = mAssertList;
        }