MelonDS: fix system bus reporting itself as big endian when it isn't (and 4-byte read/write methods)
This commit is contained in:
parent
de0d0d19e2
commit
c218cf302f
|
@ -59,7 +59,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
|
||||||
Name = "System Bus";
|
Name = "System Bus";
|
||||||
Size = 0x0B00_0000;
|
Size = 0x0B00_0000;
|
||||||
WordSize = 4;
|
WordSize = 4;
|
||||||
EndianType = Endian.Big;
|
EndianType = Endian.Little;
|
||||||
Writable = true;
|
Writable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,14 +88,14 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
|
||||||
public override uint PeekUint(long addr, bool bigEndian)
|
public override uint PeekUint(long addr, bool bigEndian)
|
||||||
{
|
{
|
||||||
uint ret = ARM9Read32((uint)addr);
|
uint ret = ARM9Read32((uint)addr);
|
||||||
if (!bigEndian)
|
if (bigEndian)
|
||||||
ret = SwapEndianness(ret);
|
ret = SwapEndianness(ret);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
public override void PokeUint(long addr, uint val, bool bigEndian)
|
public override void PokeUint(long addr, uint val, bool bigEndian)
|
||||||
{
|
{
|
||||||
if (!bigEndian)
|
if (bigEndian)
|
||||||
val = SwapEndianness(val);
|
val = SwapEndianness(val);
|
||||||
ARM9Write32((uint)addr, val);
|
ARM9Write32((uint)addr, val);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue