public void WriteBytes(int address, byte[] bytes) { if ((address >= 0x08000000) && (address < 0x9FFFFFF)) { address -= 0x08000000; Array.Copy(bytes, 0, _mainMemory, address, bytes.Length); } else if ((address >= 0x00010000) && (address < 0x00013FFF)) { address -= 0x00010000; Array.Copy(bytes, 0, _scratchPad, address, bytes.Length); } else if ((address >= 0x04000000) && (address < 0x041FFFFF)) { if (_frameBuffer != null) { _frameBuffer.WriteBytes(address, bytes); } else { address -= 0x04000000; Array.Copy(bytes, 0, _frameBufferBytes, address, bytes.Length); } } else { Debugger.Break(); } }