Пример #1
0
 public void CpuWrite(UInt16 address, byte data)
 {
     if (InCpuRamRange(address))
     {
         cpuRam[MaskCpuRam(address)] = data;
     }
     else if (InPpuRange(address))
     {
         ppu.CpuWrite(MaskPpu(address), data);
     }
     else if (address == 0x4014)
     {
         dmaPage    = data;
         dmaAddress = 0x00;
         dmaStarted = true;
     }
     else if (InControllerRange(address))
     {
         int index = address & 0x0001;
         capturedController[index] = controllers[index].State;
     }
     else if (InCartridgeRange(address))
     {
         cartridge.CpuWrite(address, data);
     }
 }