예제 #1
0
        public override void InitializeMemoryMap(PPU ppu)
        {
            ppu.MapReadHandler(0x0000, 0x1FFF, address =>
            {
                var bank = address / 0x1000;
                var ret  = _chrROM[_chrBankOffsets[bank, _latches[bank].AsByte()] + address % 0x1000];
                if ((address & 0x08) > 0)
                {
                    GetLatch(address, out uint latch, out bool?on);

                    if (on != null)
                    {
                        _latches[latch] = (bool)on;
                    }
                }
예제 #2
0
 public override void InitializeMemoryMap(PPU ppu)
 {
     ppu.MapReadHandler(0x0000, 0x1FFF, addr => _chrROM[_chrBankOffset + addr]);
 }
예제 #3
0
 public override void InitializeMemoryMap(PPU ppu)
 {
     ppu.MapReadHandler(0x0000, 0x1FFF, addr => _chrROM[_chrBankOffsets[addr / 0x1000] + addr % 0x1000]);
     ppu.MapWriteHandler(0x0000, 0x1FFF, (addr, val) => _chrROM[_chrBankOffsets[addr / 0x1000] + addr % 0x1000] = val);
 }
예제 #4
0
 public virtual void InitializeMemoryMap(PPU ppu)
 {
     ppu.MapReadHandler(0x0000, 0x1FFF, addr => _chrROM[addr]);
     ppu.MapWriteHandler(0x0000, 0x1FFF, (addr, val) => _chrROM[addr] = val);
 }
예제 #5
0
파일: DxROM.cs 프로젝트: ls9512/UNES
 public override void InitializeMemoryMap(PPU ppu)
 {
     ppu.MapReadHandler(0x0000, 0x1FFF, address => _chrROM[_chrBankOffsets[address / 0x400] + address % 0x400]);
 }