Strict mode fix for page-crossings

This commit is contained in:
edmccard 2012-03-26 14:47:48 -04:00
parent e72624ba9e
commit 443b12f77e
1 changed files with 4 additions and 1 deletions

View File

@ -285,7 +285,10 @@ class Cpu(bool strict, bool cumulative) : CpuBase!(strict, cumulative)
final ushort tryShortcut(bool noShortcut, ushort goodAddress)
{
badAddress = (baseAddress & 0xFF00) | cast(ubyte)goodAddress;
if (noShortcut || (badAddress != goodAddress)) peek(*spuriousAddress);
if (badAddress != goodAddress)
peek(*spuriousAddress);
else if (noShortcut)
peek(goodAddress);
return goodAddress;
}