Beispiel #1
0
        private void CPUDebugger_Load(object sender, EventArgs e)
        {
            //constract system componants
            RAM          ram         = new RAM();
            IORegisters  ioRegisters = new IORegisters();
            ExpansionROM eROM        = new ExpansionROM();
            SaveRAM      sRAM        = new SaveRAM();
            ROM          rom         = new ROM();

            MemoryAccessController memoryAccessControler = new MemoryAccessController(ram, ioRegisters, eROM, sRAM, rom);

            cpu = new CPU(memoryAccessControler);

            memeoryBuffer = memoryAccessControler.getInternalMemoryBuffer();

            //read rom data from file
            byte[] fileData = System.IO.File.ReadAllBytes("C:\\CPUTests\\nestest.nes");
            for (int i = 0; i < 16384; i++)
            {
                memeoryBuffer[i + 32768] = fileData[i + 16]; // bank one 0x8000
            }

            for (int i = 0; i < 16384; i++)
            {
                memeoryBuffer[i + 49152] = fileData[i + 16]; // bank tow 0xC000
            }

            //read log file
            logBuffer = System.IO.File.ReadAllLines("C:\\CPUTests\\nestest.log");
        }
Beispiel #2
0
        public void initialize()
        {
            //constract system componants
            RAM          ram         = new RAM();
            IORegisters  ioRegisters = new IORegisters();
            ExpansionROM eROM        = new ExpansionROM();
            SaveRAM      sRAM        = new SaveRAM();
            ROM          rom         = new ROM();

            MemoryAccessController memoryAccessControler = new MemoryAccessController(ram, ioRegisters, eROM, sRAM, rom);

            CPU cpu = new CPU(memoryAccessControler);
        }
Beispiel #3
0
        private void DockingManager_Loaded(object sender, RoutedEventArgs e)
        {
            List <LayoutAnchorable> docks = new List <LayoutAnchorable>();

            docks.Add(Background);
            docks.Add(Breakpoints);
            docks.Add(CPU);
            //docks.Add(DisplayTiming);
            docks.Add(Interrupts);
            docks.Add(InstructionHistogram);
            docks.Add(IORegisters);
            docks.Add(Memory);
            docks.Add(MemoryImage);
            //docks.Add(SoundChannelInternals);
            //docks.Add(Spectogram);
            docks.Add(SpriteLayer);
            //docks.Add(Sprites);
            docks.Add(SoundRecording);
            docks.Add(TileMap);
            docks.Add(Window);

            foreach (LayoutAnchorable dock in docks)
            {
                dock.AutoHideWidth = 500;
                dock.FloatingWidth = 500;
            }

            Background.ToggleAutoHide();
            Breakpoints.ToggleAutoHide();
            CPU.ToggleAutoHide();
            //DisplayTiming.ToggleAutoHide();
            Interrupts.ToggleAutoHide();
            InstructionHistogram.ToggleAutoHide();
            IORegisters.ToggleAutoHide();
            Memory.ToggleAutoHide();
            MemoryImage.ToggleAutoHide();
            //SoundChannelInternals.ToggleAutoHide();
            //Spectogram.ToggleAutoHide();
            SpriteLayer.ToggleAutoHide();
            //Sprites.ToggleAutoHide();
            SoundRecording.ToggleAutoHide();
            TileMap.ToggleAutoHide();
            Window.ToggleAutoHide();
        }