PCE: fix Main Memory domain in SGX mode. Add Cart Battery Ram domain (populous). change domain names in CDL to match memory domains.
This commit is contained in:
parent
f704786630
commit
bdbcf689d9
|
@ -29,22 +29,22 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
|||
|
||||
CDLMappingApplyRange(mm, "ROM", 0x00, RomLength);
|
||||
if (PopulousRAM != null)
|
||||
CDLMappingApplyRange(mm, "Populous RAM", 0x40, PopulousRAM.Length);
|
||||
CDLMappingApplyRange(mm, "Cart Battery RAM",, 0x40, PopulousRAM.Length);
|
||||
|
||||
if (SuperRam != null)
|
||||
CDLMappingApplyRange(mm, "Super RAM", 0x68, SuperRam.Length);
|
||||
CDLMappingApplyRange(mm, "Super System Card RAM", 0x68, SuperRam.Length);
|
||||
|
||||
if (CDRam != null)
|
||||
CDLMappingApplyRange(mm, "CD RAM", 0x80, CDRam.Length);
|
||||
CDLMappingApplyRange(mm, "TurboCD RAM", 0x80, CDRam.Length);
|
||||
|
||||
if (BRAM != null)
|
||||
CDLMappingApplyRange(mm, "BRAM", 0xf7, BRAM.Length);
|
||||
CDLMappingApplyRange(mm, "Battery RAM", 0xf7, BRAM.Length);
|
||||
|
||||
{
|
||||
var rammirrors = new HuC6280.MemMapping { Name = "RAM", Offs = 0 };
|
||||
var rammirrors = new HuC6280.MemMapping { Name = "Main Memory", Offs = 0 };
|
||||
mm[0xf9] = mm[0xfa] = mm[0xfb] = rammirrors;
|
||||
}
|
||||
CDLMappingApplyRange(mm, "RAM", 0xf8, Ram.Length);
|
||||
CDLMappingApplyRange(mm, "Main Memory", 0xf8, Ram.Length);
|
||||
|
||||
mm[0xff] = new HuC6280.MemMapping { Name = "MMIO", Offs = 0 };
|
||||
|
||||
|
|
|
@ -556,9 +556,10 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
|||
void SetupMemoryDomains()
|
||||
{
|
||||
var domains = new List<MemoryDomain>(10);
|
||||
int mainmemorymask = Ram.Length - 1;
|
||||
var MainMemoryDomain = new MemoryDomain("Main Memory", Ram.Length, MemoryDomain.Endian.Little,
|
||||
addr => Ram[addr & 0x1FFF],
|
||||
(addr, value) => Ram[addr & 0x1FFF] = value);
|
||||
addr => Ram[addr & mainmemorymask],
|
||||
(addr, value) => Ram[addr & mainmemorymask] = value);
|
||||
domains.Add(MainMemoryDomain);
|
||||
|
||||
var SystemBusDomain = new MemoryDomain("System Bus", 0x200000, MemoryDomain.Endian.Little,
|
||||
|
@ -609,6 +610,14 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
|||
domains.Add(ArcadeRamMemoryDomain);
|
||||
}
|
||||
|
||||
if (PopulousRAM != null)
|
||||
{
|
||||
var PopulusRAMDomain = new MemoryDomain("Cart Battery RAM", PopulousRAM.Length, MemoryDomain.Endian.Little,
|
||||
addr => PopulousRAM[addr & 0x7fff],
|
||||
(addr, value) => PopulousRAM[addr & 0x7fff] = value);
|
||||
domains.Add(PopulusRAMDomain);
|
||||
}
|
||||
|
||||
memoryDomains = new MemoryDomainList(domains);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue