Example #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");
        }
Example #2
0
 public byte[] CloneSaveRam()
 {
     if (SaveRAM != null)
     {
         return((byte[])SaveRAM.Clone());
     }
     else
     {
         return(null);
     }
 }
Example #3
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);
        }
Example #4
0
 public byte[] CloneSaveRam()
 {
     return((byte[])SaveRAM?.Clone());
 }