Fixed 128k and +2 memory paging bug

This commit is contained in:
Asnivor 2018-03-15 17:19:13 +00:00
parent 7a36f913ec
commit 760ae8edf0
2 changed files with 13 additions and 3 deletions

View File

@ -251,6 +251,8 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
ser.Sync("PagingDisabled", ref PagingDisabled);
ser.Sync("SpecialPagingMode", ref SpecialPagingMode);
ser.Sync("PagingConfiguration", ref PagingConfiguration);
//ser.Sync("ROMhigh", ref ROMhigh);
//ser.Sync("ROMlow", ref ROMlow);
RomData.SyncState(ser);
KeyboardDevice.SyncState(ser);

View File

@ -167,8 +167,8 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
// paging
if (port == 0x7ffd)
{
if (PagingDisabled)
return;
//if (PagingDisabled)
//return;
// Bits 0, 1, 2 select the RAM page
var rp = value & 0x07;
@ -178,6 +178,15 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
// bit 3 controls shadow screen
SHADOWPaged = bits[3];
if (SHADOWPaged == false)
{
}
else
{
}
// ROM page
if (bits[4])
{
@ -192,7 +201,6 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
// Bit 5 set signifies that paging is disabled until next reboot
PagingDisabled = bits[5];
return;
}
// Check whether the low bit is reset