예제 #1
0
 public OamSearch(IAddressSpace oemRam, Lcdc lcdc, MemoryRegisters registers)
 {
     this._oemRam    = oemRam;
     this._registers = registers;
     this._lcdc      = lcdc;
     _sprites        = new SpritePosition[10];
 }
 public ColorPixelFifo(Lcdc lcdc, IDisplay display, ColorPalette bgPalette, ColorPalette oamPalette)
 {
     _lcdc       = lcdc;
     _display    = display;
     _bgPalette  = bgPalette;
     _oamPalette = oamPalette;
 }
예제 #3
0
        public PixelTransfer(IAddressSpace videoRam0, IAddressSpace videoRam1, IAddressSpace oemRam, IDisplay display,
                             Lcdc lcdc, MemoryRegisters r, bool gbc, ColorPalette bgPalette, ColorPalette oamPalette)
        {
            _r    = r;
            _lcdc = lcdc;
            _gbc  = gbc;

            _fifo = gbc
                ? (IPixelFifo) new ColorPixelFifo(lcdc, display, bgPalette, oamPalette)
                : new DmgPixelFifo(display, r);

            _fetcher = new Fetcher(_fifo, videoRam0, videoRam1, oemRam, lcdc, r, gbc);
        }