NES - small (probably unnoticeable) speedup to WriteMemory()
This commit is contained in:
parent
6473321100
commit
959e56b71a
|
@ -286,15 +286,34 @@ namespace BizHawk.Emulation.Consoles.Nintendo
|
||||||
|
|
||||||
public void WriteMemory(ushort addr, byte value)
|
public void WriteMemory(ushort addr, byte value)
|
||||||
{
|
{
|
||||||
if (addr < 0x0800) ram[addr] = value;
|
if (addr < 0x0800)
|
||||||
else if (addr < 0x1000) ram[addr - 0x0800] = value;
|
{
|
||||||
else if (addr < 0x1800) ram[addr - 0x1000] = value;
|
ram[addr] = value;
|
||||||
else if (addr < 0x2000) ram[addr - 0x1800] = value;
|
}
|
||||||
else if (addr < 0x4000) ppu.WriteReg(addr & 7, value);
|
else if (addr < 0x2000)
|
||||||
else if (addr < 0x4020) WriteReg(addr, value); //we're not rebasing the register just to keep register names canonical
|
{
|
||||||
else if (addr < 0x6000) board.WriteEXP(addr - 0x4000, value);
|
ram[addr & 0x7FF] = value;
|
||||||
else if (addr < 0x8000) board.WriteWRAM(addr - 0x6000, value);
|
}
|
||||||
else board.WritePRG(addr - 0x8000, value);
|
else if (addr < 0x4000)
|
||||||
|
{
|
||||||
|
ppu.WriteReg(addr & 7, value);
|
||||||
|
}
|
||||||
|
else if (addr < 0x4020)
|
||||||
|
{
|
||||||
|
WriteReg(addr, value); //we're not rebasing the register just to keep register names canonical
|
||||||
|
}
|
||||||
|
else if (addr < 0x6000)
|
||||||
|
{
|
||||||
|
board.WriteEXP(addr - 0x4000, value);
|
||||||
|
}
|
||||||
|
else if (addr < 0x8000)
|
||||||
|
{
|
||||||
|
board.WriteWRAM(addr - 0x6000, value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
board.WritePRG(addr - 0x8000, value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue