From: Toni Wilen Date: Sat, 20 Feb 2021 16:46:32 +0000 (+0200) Subject: Log also refresh slot conflicts if programmed mode. X-Git-Tag: 4900~175 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=abfcb715c46411e3c9ac0ffd6e35ed302f83e468;p=francis%2Fwinuae.git Log also refresh slot conflicts if programmed mode. --- diff --git a/custom.cpp b/custom.cpp index 86502d96..090dd3b5 100644 --- a/custom.cpp +++ b/custom.cpp @@ -1517,17 +1517,21 @@ static int fetch_warn (int nr, int hpos) } add = refptr_val; } - bitplane_line_crossing = hpos; + if (beamcon0 & 0x80) { + add = fetchmode_bytes; + } else { + bitplane_line_crossing = hpos; #if 0 - line_cyclebased = vpos; - corrupt_offset = (vpos ^ (timeframes << 12)) & 0xff00; - for (int i = 0; i < bplcon0_planes_limit; i++) { - uae_u16 v; - v = bplpt[i] & 0xffff; - v += corrupt_offset; - bplpt[i] = (bplpt[i] & 0xffff0000) | v; - } + line_cyclebased = vpos; + corrupt_offset = (vpos ^ (timeframes << 12)) & 0xff00; + for (int i = 0; i < bplcon0_planes_limit; i++) { + uae_u16 v; + v = bplpt[i] & 0xffff; + v += corrupt_offset; + bplpt[i] = (bplpt[i] & 0xffff0000) | v; + } #endif + } return add; } @@ -1537,7 +1541,7 @@ static void fetch (int nr, int fm, bool modulo, int hpos) int add = fetchmode_bytes; // refresh conflict? - if ((hpos > maxhpos - HPOS_SHIFT || hpos == 1 || hpos == 3 || hpos == 5) && !(beamcon0 & 0x80)) { + if (hpos > maxhpos - 1 || hpos == 1 || hpos == 3 || hpos == 5) { add = fetch_warn (nr, hpos); }