private IAddressSpace GetAddressSpace(int address) { if (_videoRam0.Accepts(address) /* && mode != Mode.PixelTransfer*/) { return(GetVideoRam()); } if (_oamRam.Accepts(address) && !_dma.IsOamBlocked() /* && mode != Mode.OamSearch && mode != Mode.PixelTransfer*/) { return(_oamRam); } if (_lcdc.Accepts(address)) { return(_lcdc); } if (_r.Accepts(address)) { return(_r); } if (_gbc && _bgPalette.Accepts(address)) { return(_bgPalette); } if (_gbc && _oamPalette.Accepts(address)) { return(_oamPalette); } return(null); }
public bool Accepts(int address) => _addressSpace.Accepts(address) || address == 0xff50;